Я пытаюсь запустить код Python, который подсчитывает частоту определенных предопределенных ключевых слов в тексте.Тем не менее, я получаю нули только при запуске скрипта, размещенного ниже (, т.е. скрипт не учитывает вхождение ключевого слова в целевой текст ).
Кажется, что ошибказастрял в строке "X = vectorizer.fit_transform (text)" , поскольку он всегда возвращает пустую переменную X.
Что я пытаюсь получить в результате в этомВ качестве краткого примера можно привести таблицу, в которой перечислены отдельные вкусы мороженого в отдельном столбце, после чего следует сумма отдельных подсчетов.
import pandas as pd
from collections import Counter
from sklearn.feature_extraction.text import CountVectorizer
icecream = ['Vanilla', 'Strawberry', 'Chocolate', 'Peach']
vectorizer = CountVectorizer(vocabulary=icecream, encoding='utf8', lowercase=True, analyzer='word', decode_error='ignore', ngram_range=(1, 1))
dq = pd.DataFrame(columns=icecream)
vendor = 'Franks Store'
text = ['We offer Vanilla with Hazelnut, Vanilla with Coconut, Chocolate and Strawberry']
X = vectorizer.fit_transform(text)
vocab = vectorizer.get_feature_names()
counts = X.sum(axis=0).A1
freq_distribution = Counter(dict(zip(vocab, counts)))
allwords = dict(freq_distribution)
totalnum = sum(allwords.values())
allwords.update({'totalnum': totalnum})
dy = pd.DataFrame.from_dict(allwords, orient='index')
dy.columns = [vendor]
dy = dy.transpose()
dq = dy.append(dq, sort=False)
print(dq)
Если у вас есть представление о том, что может быть не так с этим кодом,Я был бы очень рад, если бы вы поделились этим со мной.Спасибо!