【发布时间】:2015-02-23 21:17:01
【问题描述】:
为什么波特词干算法在网上
http://text-processing.com/demo/stem/
将fried 转为fri 而不是fry?
我不记得有任何以ied 结尾的英语过去时,其主格以i 结尾。
这是一个错误吗?
【问题讨论】:
标签: nlp nltk stemming porter-stemmer
为什么波特词干算法在网上
http://text-processing.com/demo/stem/
将fried 转为fri 而不是fry?
我不记得有任何以ied 结尾的英语过去时,其主格以i 结尾。
这是一个错误吗?
【问题讨论】:
标签: nlp nltk stemming porter-stemmer
首先,词干分析器不是词形还原器,另见Stemmers vs Lemmatizers:
>>> from nltk.stem import PorterStemmer, WordNetLemmatizer
>>> porter = PorterStemmer()
>>> wnl = WordNetLemmatizer()
>>> fried = 'fried'
>>> porter.stem(fried)
u'fri'
>>> wnl.lemmatize(fried)
'fried'
接下来,词形还原器对词性 (POS) 敏感:
>>> wnl.lemmatize(fried, pos='v')
u'fry'
【讨论】:
Porter Stemmer 返回的词干不一定是动词的基本形式,也不一定是有效词。如果你正在寻找那个,你需要寻找一个词形还原器。
【讨论】:
friedness 转换为fry? lemmatizer 是否总是对词干算法的输出进行操作,还是需要单词的原始版本和词干版本?