plus bas que je suis en train de courir et instancier CountVectorizer() sur NLTK Film Critiques corpus, en utilisant le code suivant:CountVectorizer(): StreamBackedCorpusView » objet n'a pas d'attribut « »
>>>import nltk
>>>import nltk.corpus
>>>from sklearn.feature_extraction.text import CountVectorizer
>>>from nltk.corpus import movie_reviews
>>>neg_rev = movie_reviews.fileids('neg')
>>>pos_rev = movie_reviews.fileids('pos')
>>>rev_list = [] # Empty List
>>>for rev in neg_rev:
rev_list.append(nltk.corpus.movie_reviews.words(rev))
>>>for rev_pos in pos_rev:
rev_list.append(nltk.corpus.movie_reviews.words(rev_pos))
>>>count_vect = CountVectorizer()
>>>X_count_vect = count_vect.fit_transform(rev_list)
Je reçois l'erreur suivante :
AttributeError Traceback (most recent call last)
<ipython-input-37-00e9047daa67> in <module>()
----> 1 X_count_vect = count_vect.fit_transform(rev_list)
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\feature_extraction\text.py in fit_transform(self, raw_documents, y)
837
838 vocabulary, X = self._count_vocab(raw_documents,
--> 839 self.fixed_vocabulary_)
840
841 if self.binary:
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\feature_extraction\text.py in _count_vocab(self, raw_documents, fixed_vocab)
760 for doc in raw_documents:
761 feature_counter = {}
--> 762 for feature in analyze(doc):
763 try:
764 feature_idx = vocabulary[feature]
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\feature_extraction\text.py in <lambda>(doc)
239
240 return lambda doc: self._word_ngrams(
--> 241 tokenize(preprocess(self.decode(doc))), stop_words)
242
243 else:
C:\ProgramData\Anaconda3\lib\site-packages\sklearn\feature_extraction\text.py in <lambda>(x)
205
206 if self.lowercase:
--> 207 return lambda x: strip_accents(x.lower())
208 else:
209 return strip_accents
AttributeError: 'StreamBackedCorpusView' object has no attribute 'lower'
nltk.corpus.movie_reviews.words(rev_pos)
a tokenizés phrases .... telles que:
['films', 'adapted', 'from', 'comic', 'books', 'have', ...]
Quelqu'un peut-il s'il vous plaît dites-moi ce que je fais mal? Je suppose que je suis en train de miising quelques tstep dans la création de la liste des critiques de films (rev_list)
.
TIA
Vous devriez vérifier le type 'nltk.corpus.movie_reviews.words (rev_pos)' que vous apposent à la liste. Ce devrait être une chaîne à traiter par CountVectorizer, ce que je ne pense pas qu'il est actuellement. –