다른 태그를 사용하여 텍스트에 태그를 지정하고 있습니다. 기본, unigram, bigram 및 trigram.Python에서 4 가지 함수의 다른 순열을 반복합니다.
나는이 4 개의 taggers 중 3 개의 조합이 가장 정확한지 확인해야합니다. 정확도 ('default_tagger', 'bigram_tagger', 'trigram_tagger')
: 각각의 요소는, 예를 들면 같은 세 tagmethods 터플은
permutaties = list(itertools.permutations(['default_tagger','unigram_tagger',
'bigram_tagger','trigram_tagger'],3))
resultaten = []
for element in permutaties:
resultaten.append(accuracy(element))
:
내가 이렇게 할 모든 가능한 조합을 통해 루프 것을해야 할 function 이제 각 tagger의 3 가지 방법을 동적으로 호출해야합니다. 문제는 다음과 같습니다. 어떻게 해야할지 모르겠습니다. 는unigram_tagger = nltk.UnigramTagger(brown_train, backoff=backofff)
bigram_tagger = nltk.BigramTagger(brown_train, backoff=backofff)
trigram_tagger = nltk.TrigramTagger(brown_train, backoff=backofff)
default_tagger = nltk.DefaultTagger('NN')
은 그래서 예를 들어 코드가되어야 :
그래서 본질적으로 문제는 그 목록의 모든 24 개 조합을 통해 반복하는 방법이다t0 = nltk.DefaultTagger('NN')
t1 = nltk.BigramTagger(brown_train, backoff=t0)
t2 = nltk.TrigramTagger(brown_train, backoff=t1)
t2.evaluate(brown_test)
다음과 같이
태그 지정자 기능
은 4 가지 기능 중저를 도울 수있는 파이썬 마스터가 있습니까? 나는 당신이 필요로 이해하면
은 예 '('defaultTagger '해야하지 않을까 싶네요 백 오프 인자로 평가를 다시 사용하려는 생각,'bigramTag ','trigramTag ')'? – Rod
파이썬 마스터가 나타나면 첫 번째 스 니펫은 다음과 같이 작성 될 수 있습니다 : itertools.permutations ([ 'defaultTagger', 'unigramTag', 'bigramTag', 'trigramTag' '], 3)] – tokland
@Rod 사실, 더 이해하기 쉽도록 편집했지만 나머지는 편집하는 것을 잊어 버렸습니다. 이제 수정했습니다. @ tokland, 읽기 쉽도록 제안 해 주셔서 감사합니다 !! 함수 문제에 대한 아이디어가 있습니까? – Javaaaa