Syn*_*ter 7 python nltk pos-tagger
我只是在学习使用Python的nltk.我试着在各种句子上做pos_tag.但获得的结果并不准确.我如何即兴表达结果?
broke = NN
flimsy = NN
crap = NN
Run Code Online (Sandbox Code Playgroud)
此外,我还有很多额外的词被归类为NN.如何过滤这些以获得更好的结果.
Max*_* Li 10
给出上下文,您获得了这些结果.就像例子一样,我在上下文短语"他们打破了攀爬废话"中使用pos_tag获得了其他结果:
import nltk
text=nltk.word_tokenize("They broke flimsy crap")
nltk.pos_tag(text)
Run Code Online (Sandbox Code Playgroud)
[('他们','PRP'),('破碎','VBP'),('脆弱','JJ'),('废话','NN')]
无论如何,如果您认为在您看来很多词被错误地组织为'NN',您可以特别应用其他技术来标记为'NN'.例如,您可以使用一些适当的标记语料库并使用trigram标记器对其进行分类.(实际上,作者在http://nltk.googlecode.com/svn/trunk/doc/book/ch05.html上用bigrams做同样的事情).
像这样的东西:
pos_tag_results=nltk.pos_tag(your_text) #tagged sentences with pos_tag
trigram_tagger=nltk.TrigramTagger(tagged_corpora) #build trigram tagger based on your tagged_corpora
trigram_tag_results=trigram_tagger(your_text) #tagged sentences with trigram tagger
for i in range(0,len(pos_tag_results)):
if pos_tag_results[i][1]=='NN':
pos_tag_results[i][1]=trigram_tag_results[i][1]#for 'NN' take trigram_tagger instead
Run Code Online (Sandbox Code Playgroud)
如果它能改善您的结果,请告诉我.