Возникла проблема с подсчетом векторизации для текста на хинди - PullRequest
0 голосов
/ 19 марта 2020

При выполнении векторизации счетчика на хинди имена элементов автоматически останавливаются.

from sklearn.feature_extraction.text import CountVectorizer
test = []
test.append("हमें फिल्म बहुत अच्छी लगी ।")
test.append("फिल्म में कुछ बेहतरीन गाने हैं ।")
cv = CountVectorizer().fit(test)
print(cv.get_feature_names())

вывод: ['अच', 'बह', 'लग', 'हतर', 'हम']

1 Ответ

0 голосов
/ 25 апреля 2020

Анализатор, используемый 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 (Благодаря этому ответ для объяснения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...