nltk lemmatizer不知道如何处理美国人这个词

Mau*_*aus 2 python nltk lemmatization

如下:

from nltk import WordNetLemmatizer as wnl
wnl().lemmatize("American")
wnl().lemmatize("Americans")
Run Code Online (Sandbox Code Playgroud)

两者都只是回归他们的论点.我希望美国人减少到美国.任何人都知道如何实现这一目标?

我假设我必须修改lemmatizer使用的任何内部字典.它是否正确?谁知道更好的方法?

谢谢!

Jac*_*cob 5

显然,案例对WordNet很重要,但您也可以使用PorterStemmer.

>>> wnl().lemmatize('americans')
'american'
>>> from nltk.stem import PorterStemmer as ps
>>> ps().stem('Americans')
'American'
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的回复.我不想使用词干分析器,因为我需要这些词典大部分都是可呈现的词典单词(美国语在一段文本中).我认为问题在于,美国人可以是形容词或名词 - 例如"美国人去市场"而不是"他去了美国市场".我想我说我认为他们不再是同一个词汇的一部分了. (2认同)