web-dev-qa-db-fra.com

Besoin d'un module python pour la création de fichiers texte

J'ai besoin d'un bon module python pour lier les documents texte au stade du pré-traitement.

J'ai trouvé celui-ci 

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

mais je ne trouve pas la documentation dans le lien fourni. 

Tout le monde sait où trouver la documentation ou tout autre bon algorithme d'extraction, aidez-nous.

18
kairav

Vous voudrez peut-être essayer NLTK

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

Le module stemming de Python a implémenté divers algorithmes de stemming tels que Porter, Porter2, Paice-Husk et Lovins. http://pypi.python.org/pypi/stemming/1.0

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

Tous ces stemmers qui ont été discutés ici sont des stemmer algorithmiques, ils peuvent donc toujours produire des résultats inattendus tels que

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'

Pour obtenir correctement les mots racines, vous avez besoin d'un stemmer basé sur un dictionnaire, tel que Hunspell Stemmer. Voici une implémentation python de celui-ci dans le link . Exemple de code est ici

>>> 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']
5
0xF

Le package gensim for topic est livré avec un algorithme de Porter Stemmer:

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

PorterStemmer est la seule option de remplacement mise en œuvre dans gensim

Remarque secondaire: je peux imaginer (sans plus de références) que la plupart des modules liés à l'exploration de texte possèdent leurs propres implémentations pour des procédures de prétraitement simples, telles que la suppression de la suppression des espaces blancs et du stop-Word de Porter.

2
KenHBS

PyStemmer est une interface Python avec la bibliothèque dérivée de Snowball.

La documentation peut être trouvée ici: https://github.com/snowballstem/pystemmer/blob/master/docs/quickstart.txthttps://github.com /snowballstem/pystemmer/blob/master/docs/quickstart_python3.txt

0
Brice M. Dempsey