词汇化的目标也是将词语减少到基本形式, 但这是一种比较(comparative)的方法, 在前面的食谱中, 我们看到我们使用词干学习者获得的基础词语没有什么意义, 例如"wolves"被简化为"wolv",这不是一个真正的词, 通过使用词汇和词形态分析来处理这个问题, 免除了"ing"或"ed"等词汇结尾, 并返回这个基本形式被称为引理, 如果你把"walves"这个词缩小, 你会得到"wolf"作为输出, 这取决于令牌是动词还是名词让我们 看看在这个食谱如何做到这一点.
怎么做...?
- 创建文件并导入需要的包:
from nltk.stem import WordNetLemmatizer
- 我们来定义我们在词根期间使用的相同的单词集:
words = ['table', 'probably', 'wolves', 'playing', 'is',
'dog', 'the', 'beaches', 'grounded', 'dreamt', 'envision']
- 我们将比较两种词形归并, 即NOUN和VERB词形归并. 我们列举如下:
# Compare different lemmatizers
lemmatizers = ['NOUN LEMMATIZER', 'VERB LEMMATIZER']
- 创建对象:
lemmatizer_wordnet = WordNetLemmatizer()
- 为了以表格形式打印输出,我们需要对输出格式化:
formatted_row = '{:>24}' * (len(lemmatizers) + 1)
print (formatted_row.format('WORD', *lemmatizers))
- 最后, 输出结果:
for word in words:
lemmatized_words = [
lemmatizer_wordnet.lemmatize(word, pos='n'),
lemmatizer_wordnet.lemmatize(word, pos='v')
]
print (formatted_row.format(word, *lemmatized_words))
- 最后的结果如下: