3 votes

Utilisation de spacy et textacy. J'ai besoin de trouver le score tf-idf à travers un corpus de tweets originaux mais je ne peux pas importer le vectoriseur textacy.

Je suis nouveau dans ces cadres ainsi que dans la PNL. Je suis un exemple qui me donne l'extrait de code suivant pour calculer le score tf-idf de tous les tokens dans les tweets. Cependant, je continue à obtenir des erreurs d'importation ou Vectorizer undefined.

Code :

import spacy
 from textacy.vsm import Vectorizer
 import textacy.vsm
 vectorizer = Vectorizer(weighting = 'tfidf')
 term_matrix = vectorizer.fit_transform([tok.lemma_ for tok in doc] for doc 
 in spacy_tweets)

Erreurs reçues :

from textacy.vsm import Vectorizer
ImportError: cannot import name 'Vectorizer
//
import textacy
vectorizer = textacy.Vectorizer(weighting='tfidf')
AttributeError: module 'textacy' has no attribute 'Vectorizer'

//
   import textacy
   vectorizer = Vectorizer(weighting='tfidf')
   NameError: name 'Vectorizer' is not defined

Mon environnement

operating system: windows 10 64bit
python version: Python 3.6.4 :: Anaconda, Inc.
spacy version: 1.9.0-np111py36_vc14_1 installed
spacy models: en_core_web_sm 
textacy version: 0.3.4-py36_0

Quelle est l'instruction d'importation correcte pour accéder à la classe vectorielle de textacy ?

3voto

aldmarj Points 61

Lorsque vous utilisez conda, la version 0.3.4 de textacy est installée. Cette version ne possède pas le vectoriseur. Installez-le plutôt via le projet PyPi.

https://pypi.org/project/textacy/

Pour vérifier si vous avez le vectoriseur, vous pouvez faire ce qui suit :

In [1]: import textacy

In [2]: dir(textacy)
Out[2]:
['Corpus',
'Doc',
'TextStats',
'TopicModel',
'Vectorizer',
'__builtins__',
'__cached__',
'__doc__',
'__file__',
'__loader__',
'__name__',
'__package__',
'__path__',
'__spec__',
'__version__',
'about',
'absolute_import',
'cache',
'compat',
'constants',
'corpus',
'data_dir',
'doc',
'extract',
'io',
'load_spacy',
'logger',
'logging',
'network',
'os',
'preprocess',
'preprocess_text',
'spacy_utils',
'text_stats',
'text_utils',
'tm',
'utils',
'viz',
'vsm']

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X