Что означает эта ошибка?
у меня есть код
и у меня есть эта ошибка:
ValueError: пустой словарь:возможно, документ содержит только стоп-слова.
на этом пока остановлюсь words.txt:
а то как в если
Что я уже пробовал:
#Created on Sat May 07 21:12:41 2016 from sklearn import cross_validation from sklearn.datasets import load_files from sklearn.feature_extraction.text import CountVectorizer from sklearn.feature_extraction.text import TfidfTransformer from sklearn.naive_bayes import MultinomialNB from nltk import wordpunct_tokenize, PorterStemmer, LancasterStemmer import os import nltk, os.path ,sklearn #path = os.path.abspath(D:\\IR\\train) #fi = load(path) count_vect = CountVectorizer() tfidf_transformer = TfidfTransformer() clf= MultinomialNB() data = load_files(container_path='D:\\train') stopWordsFile = open('D:\\IR\\IR-Project\\StopWord.txt','r') stopWords = stopWordsFile.read().split(' ') porter = PorterStemmer() #min_df=1 def train(): print ("training") for index in xrange(len(data.data)): tempData = data.data[index] tokens = wordpunct_tokenize(tempData) #stopWordsRemoved = [unicode(token, 'utf-8') for token in tokens if token not in stopWords] stopWordsRemoved = [token.decode("windows-1252") for token in tokens if token not in stopWords] stems = [porter.stem(word) for word in stopWordsRemoved] data.data[index] = str(stems) trainSpars = count_vect.fit_transform(data.data) trainTfidf = tfidf_transformer.fit_transform(trainSpars) print (trainTfidf.shape) clf.fit(trainTfidf,data.target) def evaluate(testSentence): print ("evaluating") tokens = wordpunct_tokenize(testSentence) stopWordsRemoved = [token.decode("windows-1252") for token in tokens if token not in stopWords] stems = [porter.stem(word) for word in stopWordsRemoved] st = ' ' result = st.join(stems) result = [result] print (result) spars=count_vect.transform(result) tfidf=tfidf_transformer.transform(spars) print (tfidf.shape) predicted=clf.predict(tfidf) predict_ranking = clf.predict_proba(tfidf) print ("choosen class " ,predicted.item()) print ("ranking probability ", predict_ranking) return predicted , clf , tfidf train() my_str = input("Please inter desired sentence") print (my_str) testSentence = my_str predict , clf ,tfidf = evaluate (testSentence)
<pre lang="Python">
Richard MacCutchan
Где происходит ошибка?
Akbar Fardi
когда я запускаю код .эта ошибка возникает в консоли
Richard MacCutchan
Где в коде это происходит?