Анализатор, используемый CountVectorizer()
, похоже, плохо поддерживает некоторые кодировки. Вы можете определить собственный анализатор, чтобы определить, как разделить слова. Чтобы правильно разделить слова, вы можете использовать регулярное выражение:
import regex
def custom_analyzer(text):
words = regex.findall(r'\w{2,}', text) # extract words of at least 2 letters
for w in words:
yield w
test = []
test.append("हमें फिल्म बहुत अच्छी लगी ।")
test.append("फिल्म में कुछ बेहतरीन गाने हैं ।")
count_vect = CountVectorizer(analyzer = custom_analyzer)
xv = count_vect.fit_transform(test)
count_vect.get_feature_names()
Я использовал regex
модуль , потому что он поддерживает больше кодировок, чем модуль re
(Благодаря этому ответ для объяснения).