修复奇怪的引理的必要条件?

时间:2018-10-12 22:06:33

标签: python nltk text-analysis lemmatization

在jupyter notbook中执行)我正在对已标记化的文档应用词形化,但我不禁注意到“ us”一词每次都会被词形化为“ u”从清晰的角度来看,这是没有意义的,并且可能导致人们将其理解为其他事物。我是否错过了pos函数的条件?我该如何解决这个问题?

定义功能

from nltk import pos_tag

def penn2wordNet(treebank_tags):
    wordNet_tag = {'NN':'n', 'JJ':'a',
                  'VB':'v', 'RB':'r'}
    try:
        return wordNet_tag[penntag[:2]]
    except:
        return 'n'
paired_tags = []
for doc in wordTokens:
    paired_tags.append(pos_tag(doc))
    print(paired_tags)

snippet output of the code above

使令牌合法化

    from nltk.stem import WordNetLemmatizer
wnl = WordNetLemmatizer()

print(wordTokens[1])
lemmatized_wordTokens = []
for index in range(len(paired_tags)):
    lemmatized_wordTokens.append(([wnl.lemmatize(word, pos=penn2wordNet(tag)) for word, tag in paired_tags[index]]))
print(lemmatized_wordTokens[1])

output after lemmatization showing before and after

1 个答案:

答案 0 :(得分:1)

尽管penn2wordNet返回pos_tag(['us']),但是您的[('us', 'PRP')]函数将名词POS标签分配给“我们”。这使得WordNetLemmatizer将“我们”视为名词。您必须添加其他条件来处理人称代词。