我是 python 的新手,正在通过书中的示例进行练习。
任何人都可以解释为什么当我试图用这段代码阻止一些例子时没有任何改变吗?
>>> from nltk.stem import PorterStemmer
>>> stemmer=PorterStemmer()
>>> stemmer.stem('numpang wifi stop gadget shopping')
'numpang wifi stop gadget shopping'
但是当我这样做的时候它起作用了
>>> stemmer.stem('shopping')
'shop'
最佳答案
试试这个:
res = ",".join([ stemmer.stem(kw) for kw in 'numpang wifi stop gadget shopping'.split(" ")])
问题在于,词干分析器可能只对单个词起作用。你的字符串没有“根”字,而“购物”这个词有根“商店”。所以你必须单独计算词干
编辑:
来自他们的源代码 ->
Stemming algorithms attempt to automatically remove suffixes (and in some
cases prefixes) in order to find the "root word" or stem of a given word. This
is useful in various natural language processing scenarios, such as search.
所以我猜你确实被迫自己拆分你的字符串
关于python - PorterStemmer 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12974045/