需要一个python模块来阻止文本文档
nlp
python
5
0

在预处理阶段,我需要一个很好的python模块来阻止文本文档。

我找到了这个

http://pypi.python.org/pypi/PyStemmer/1.0.1

但我找不到提供链接的文档。

我谁知道在哪里可以找到文档或任何其他好的词干算法,请提供帮助。

参考资料:
Stack Overflow
收藏
评论
共 4 个回答
高赞 时间 活跃

您可能要尝试NLTK

>>> from nltk import PorterStemmer
>>> PorterStemmer().stem('complications')
收藏
评论

用于主题建模的gensim软件包附带了Porter Stemmer算法:

>>> from gensim import parsing
>>> gensim.parsing.stem_text("trying writing nonsense")
'try write nonsens'

该PorterStemmer是唯一实现的词干选项gensim

附带说明:我可以想象(没有其他参考资料),大多数与文本挖掘相关的模块都有自己的实现,这些实现可以用于简单的预处理程序,例如Porter的词干,空格删除和停用词删除。

收藏
评论

这里讨论的所有这些词干分析器都是算法词干分析器,因此它们总是可以产生意想不到的结果,例如

In [3]: from nltk.stem.porter import *

In [4]: stemmer = PorterStemmer()

In [5]: stemmer.stem('identified')
Out[5]: u'identifi'

In [6]: stemmer.stem('nonsensical')
Out[6]: u'nonsens'

为了正确地取得词根,需要一个基于字典的词干器(如Hunspell Stemmer)。这是下面链接中的python实现。示例代码在这里

>>> import hunspell
>>> hobj = hunspell.HunSpell('/usr/share/myspell/en_US.dic', '/usr/share/myspell/en_US.aff')
>>> hobj.spell('spookie')
False
>>> hobj.suggest('spookie')
['spookier', 'spookiness', 'spooky', 'spook', 'spoonbill']
>>> hobj.spell('spooky')
True
>>> hobj.analyze('linked')
[' st:link fl:D']
>>> hobj.stem('linked')
['link']
收藏
评论

Python词干提取模块具有Porter,Porter2,Paice-Husk和Lovins等各种词干提取算法的实现。 http://pypi.python.org/pypi/stemming/1.0

    >> from stemming.porter2 import stem
    >> stem("factionally")
    faction
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号