Классификация текста с использованием пользовательского словаря в Python - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть список слов / лексики, и я хочу использовать их для классификации BOW. В sklearn можно использовать countvectorizer и tfidfvectorizer, в sklearn, два подхода строят словарный запас из обучающих данных. Но в моем случае я построил своего рода список слов (словарь), который можно использовать для различения классов для классификации текста.

Есть ли какая-либо библиотека или пакет, который я могу использовать в python?

Ответы [ 2 ]

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

Проверьте vocabulary параметр CountVectorizer здесь в документах .

from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import CountVectorizer
import pandas as pd

twenty_train = fetch_20newsgroups(subset='train', categories=['alt.atheism', 'soc.religion.christian', 'comp.graphics', 'sci.med'], shuffle=True, random_state=42)

my_vocabulary = ['aristotle',
 'arithmetic',
 'arizona',
 'arkansas'
]

count_vect = CountVectorizer(vocabulary=my_vocabulary)
X_train_counts = count_vect.fit_transform(twenty_train.data)
df = pd.DataFrame.sparse.from_spmatrix(X_train_counts)

И в выводе вы увидите только то, что только слова из вашего словаря используются:

Out[16]:
      0  1  2  3
0     0  0  0  0
1     0  0  0  0
2     0  0  0  0
3     0  0  0  0
4     0  0  0  0
...  .. .. .. ..
2252  0  0  0  0
2253  0  0  0  0
2254  0  0  0  0
2255  0  0  0  0
2256  0  0  0  0

[2257 rows x 4 columns]
0 голосов
/ 16 апреля 2020

В последнее время возникает много вопросов относительно классификации текста по нескольким классам. Пожалуйста, проверьте, помогает ли эта статья.

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