Что означает объект в контексте создания объекта CountVectorizer? - PullRequest
0 голосов
/ 01 апреля 2020

Я пытался понять некоторый код для обработки естественного языка, используя python. Здесь X - это датафрейм, содержащий все мои электронные письма (текстовые данные). Я написал несколько комментариев с кодом, но все еще не понимаю, что означают эти комментарии.

Пример. Что означает создание объекта CountVectorizer? И что делает третья строка и, наконец, четвертая строка, почему я не могу использовать print((X.get_feature_names())), чтобы увидеть названия функций?

from sklearn.feature_extraction.text import CountVectorizer
#import CountVectorizer
cv = CountVectorizer(stop_words=my_list) #create a countvectorizer object
X = cv.fit_transform(X) #Here the document term matrix is created
print((cv.get_feature_names()))

1 Ответ

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

CountVectorizer для подсчета частоты каждого слова в каждом предложении. В третьей строке создается объект CountVectorizer, и он не имеет никакой функции (он пуст). Объект обучает, какие слова есть в предложениях, кроме stop_words (my_list), методом fit, и преобразует предложение в матрицу word-document методом transform. Метод Fit_transform представляет собой комбинацию метода соответствия и преобразования.

Вот пример.

from sklearn.feature_extraction.text import CountVectorizer
my_list = ['to', 'is']
X = ['NLP is hard to understand', 'I study NLP']

cv = CountVectorizer(stop_words = my_list)
X = cv.fit_transform(X)

pd.DataFrame(X.toarray(), columns = cv.get_feature_names())

Поскольку большинство предложений содержат несколько слов, преобразование предложения в качестве типа массива неэффективно , Таким образом, используя X.toarray(), X можно преобразовать в массив.

cv содержит информацию о словах (методом подгонки), но X является просто результатом, и поэтому get_feature_names () не определена для X.

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