python - 从词干词中获取最接近的名词

标签 python nltk wordnet stemming pos-tagger

简短版本:
如果我有一个词干词:
说“计算”表示“计算”,或者说“糖”表示“糖”
有没有办法构造它最接近的名词形式?
分别是“计算机”或“糖”

<小时/>

更长的版本:
我正在使用 python 和 NLTK、Wordnet 对一堆单词执行一些语义相似性任务。
我注意到大多数 sem-sim 分数仅适用于名词,而形容词和动词则没有给出任何结果。
了解所涉及的不准确之处后,我想将单词从动词/形容词形式转换为名词形式,这样我就可以估计它们的相似性(而不是通常与形容词一起返回的“NONE”)。

我认为做到这一点的一种方法是使用词干分析器来获取词根,然后尝试构建该词根最接近的名词形式。
George-Bogdan Ivanov 的算法来自 here效果很好。我想尝试其他方法。有没有更好的方法将单词从形容词/动词形式转换为名词形式?

最佳答案

您可能想看看这个示例:

>>> from nltk.stem.wordnet import WordNetLemmatizer
>>> WordNetLemmatizer().lemmatize('having','v')
'have'

(来自 this SO answer )看看它是否将您引向正确的方向。

关于python - 从词干词中获取最接近的名词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17083442/

相关文章:

python - 从 NLTK for Python 中的同义词集列表中提取单词

python - 使用 TextBlob : every instance predicted as negative when adding more sample size 的朴素贝叶斯文本分类

nlp - 使用查询访问 Wordnet

python - headless webdriver 返回错误但非 headless 工作

python - 如何将结果保存到文件中?

python - brew install python 安装 python2

python - 在 Python 中训练 NGramModel

java - 如何使用 WordNet 或与 wordnet 相关的实现基于类别的文本标记?

python - 与最近邻居的最大差异

python - 如何使用 sympy 找出定积分近似值的误差?