Нужен модуль python для прохождения текстовых документов
Мне нужен хороший модуль Python для создания текстовых документов на этапе предварительной обработки.
Я нашел этот
http://pypi.python.org/pypi/PyStemmer/1.0.1
но я не могу найти документацию по предоставленной ссылке.
Если кто-нибудь знает, где можно найти документацию или любой другой хороший алгоритм, пожалуйста, помогите.
5 ответов
Вы можете попробовать NLTK
>>> from nltk import PorterStemmer
>>> PorterStemmer().stem('complications')
Все эти стеммеры, которые обсуждались здесь, являются алгоритмическими стеммерами, поэтому они всегда могут дать неожиданные результаты, такие как
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
gensim
Пакет для моделирования темы поставляется с алгоритмом Портера Стеммера:
>>> from gensim import parsing
>>> gensim.parsing.stem_text("trying writing nonsense")
'try write nonsens'
Porter Stemmer - единственная опция стемминга, реализованная в gensim
,
Еще одно замечание: я могу себе представить (без дальнейших ссылок), что большинство модулей, связанных с анализом текста, имеют свои собственные реализации для простых процедур предварительной обработки, таких как определение портера, удаление пробелов и удаление стоп-слов.
PyStemmer - это интерфейс Python для библиотеки стволов Snowball.
Документацию можно найти здесь: https://github.com/snowballstem/pystemmer/blob/master/docs/quickstart.txt https://github.com/snowballstem/pystemmer/blob/master/docs/quickstart_python3.txt