텍스트 파일을 입력으로 사용하여 NLTK에서 다른 POS 태그를 평가하고 싶습니다.NLTK에서 POS 타거 평가
예를 들어, Unigram tagger를 사용합니다. 나는 갈색 자료를 사용하여 Unigram 태그를 평가하는 방법을 찾았습니다.
from nltk.corpus import brown
import nltk
brown_tagged_sents = brown.tagged_sents(categories='news')
brown_sents = brown.sents(categories='news')
# We train a UnigramTagger by specifying tagged sentence data as a parameter
# when we initialize the tagger.
unigram_tagger = nltk.UnigramTagger(brown_tagged_sents)
print(unigram_tagger.tag(brown_sents[2007]))
print(unigram_tagger.evaluate(brown_tagged_sents))
아래와 같이 출력됩니다.
[('Various', 'JJ'), ('of', 'IN'), ('the', 'AT'), ('apartments', 'NNS'), ('are', 'BER'), ('of', 'IN'), ('the', 'AT'), ('terrace', 'NN'), ('type', 'NN'), (',', ','), ('being', 'BEG'), ('on', 'IN'), ('the', 'AT'), ('ground', 'NN'), ('floor', 'NN'), ('so', 'QL'), ('that', 'CS'), ('entrance', 'NN'), ('is', 'BEZ'), ('direct', 'JJ'), ('.', '.')]
0.9349006503968017
비슷한 방식으로 텍스트 파일에서 텍스트를 읽고 다른 POS 태그 태그의 정확성을 평가하고 싶습니다.
텍스트 파일을 읽는 방법과 토큰에 pos 태그를 적용하는 방법을 알아 냈습니다. 내가하고 싶었 무엇
import nltk
from nltk.corpus import brown
from nltk.corpus import state_union
brown_tagged_sents = brown.tagged_sents(categories='news')
sample_text = state_union.raw(
r"C:\pythonprojects\tagger_nlt\new-testing.txt")
tokens = nltk.word_tokenize(sample_text)
default_tagger = nltk.UnigramTagger(brown_tagged_sents)
default_tagger.tag(tokens)
print(default_tagger.tag(tokens))
[('Honestly', None), ('last', 'AP'), ('seven', 'CD'), ('lectures', None), ('are', 'BER'), ('good', 'JJ'), ('.', '.'), ('Lectures', None), ('are', 'BER'), ('understandable', 'JJ')
이다 default_tagger.evaluate 같은 점수(), 나는 주어진 파일에 가장 적합한 POS 술래를 식별하기 위해 동일한 입력 파일을 사용하여 NLTK에서 다른 POS 얇은 생철을 비교할 수 있도록 .
도움이 될 것입니다.
테스트 문장에 지상 진실 태그가 필요합니다. 기존 문장 세트 (예 : 첫 번째 예제에서 사용 된 Brown corpus)를 사용하거나 수동으로 문장에 태그를 추가하려는 영어에 대한 지식이있는 언어 학자를 찾으십시오. – lenz
@Yash 지금하고있는 것과는 다른 것을하려고합니다. 'default_tagger.tag (토큰)'명령을 전달하면 원시 토큰에 태그를 붙입니다. 태그 지정자를 평가하려면 수동으로 태그 된 데이터를 제공해야합니다. – Mohammed