script otro modulos lista leer incluir importar gestion funciones documentos crear con clases archivos archivo python module preprocessor nlp stemming

otro - Necesita un módulo de python para generar documentos de texto



leer pdf en python (5)

El paquete gensim para modelado de temas viene con un algoritmo de Porter Stemmer:

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

El PorterStemmer es la única opción derivada implementada en gensim .

Una nota al margen: puedo imaginar (sin más referencias) que la mayoría de los módulos relacionados con la extracción de texto tienen sus propias implementaciones para procedimientos simples de preprocesamiento como la eliminación de espacios en blanco y la eliminación de espacios en blanco de Porter.

Necesito un buen módulo de Python para generar documentos de texto en la etapa de preprocesamiento.

Encontré este

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

pero no puedo encontrar la documentación int el enlace proporcionado.

Alguien sabe dónde encontrar la documentación o cualquier otro buen algoritmo de derivación, por favor, ayuda.


El módulo de derivación de Python tiene implementaciones de varios algoritmos de derivación como Porter, Porter2, Paice-Husk y Lovins. http://pypi.python.org/pypi/stemming/1.0

>> from stemming.porter2 import stem >> stem("factionally") faction


Es posible que desee probar NLTK

>>> from nltk import PorterStemmer >>> PorterStemmer().stem(''complications'')



Todos estos analizadores analizados aquí son generadores algorítmicos, por lo tanto, siempre pueden producir resultados inesperados, como

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''

Para obtener correctamente las palabras raíz, se necesita un diccionario basado en stemmer como Hunspell Stemmer. Aquí hay una implementación de Python en el siguiente link . Código de ejemplo está aquí

>>> 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'']