Нужен модуль 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

Другие вопросы по тегам