Nlp 词法:获取给定英语单词的词根和后缀的工具

Nlp 词法:获取给定英语单词的词根和后缀的工具,nlp,nltk,wordnet,stemming,morphological-analysis,Nlp,Nltk,Wordnet,Stemming,Morphological Analysis,我试图在词性标注中进行词形分析 当我们通过传递一个英语单词作为参数来调用它时,是否有任何工具(我可以在python或java脚本中调用)可以返回根形式及其后缀 例如: 如果我给输入:'liked',我想得到输出:like,ed 为了获得给定英语单词的词根形式,我尝试使用porter词干分析器和snowball词干分析器(在python脚本中),但它并不总是给出有效的词根,因为它只是去掉了后缀 from nltk.stem.porter import * porter_stemmer = Port

我试图在词性标注中进行词形分析

当我们通过传递一个英语单词作为参数来调用它时,是否有任何工具(我可以在python或java脚本中调用)可以返回根形式及其后缀

例如: 如果我给输入:'liked',我想得到输出:like,ed

为了获得给定英语单词的词根形式,我尝试使用porter词干分析器和snowball词干分析器(在python脚本中),但它并不总是给出有效的词根,因为它只是去掉了后缀

from nltk.stem.porter import *
porter_stemmer = PorterStemmer()
print(porter_stemmer.stem("ladies"))
print(porter_stemmer.stem("went"))
输出 例如: 我以“女士”的身份提供了信息 但它以词根形式返回“ladi”,这甚至不是一个英语单词

有时词干分析器只返回输入单词的原样。 例如 我输入'go',这些词干分析器以根形式返回'go',而不是'go'

请建议我可以使用哪个工具来获取词根形式和后缀

from nltk.stem.wordnet import WordNetLemmatizer
WNL = WordNetLemmatizer()
WNL.lemmatize('ladies')
WNL.lemmatize('went')
(我想在这里找到一些其他的说法,但我认为代码是不言自明的?

你不需要“词干分析器”,你需要形态学分析。见例。
from nltk.stem.wordnet import WordNetLemmatizer
WNL = WordNetLemmatizer()
WNL.lemmatize('ladies')
WNL.lemmatize('went')