Как классифицировать и подсчитать количество слов в Python - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть набор комментариев из твиттера (например, 10 экземпляров). Я хочу классифицировать и посчитать похожие слова, используя Scikit-learn Python в качестве вывода, следующим образом:

**Dataset:** 
  comment_text 
 r u cmng or u not cmng   
I am fine, r u fine  
my frnd is gr8, wll dn.  
 we r nt going tday   
I have a fever.  

Это должно быть показано так:

 Words    Count

u         3
r         3
i         2
cmng      2
fine,     1
wll       1
have      1
fever.    1
not       1
tday      1
my        1
we        1
a         1
or        1
nt        1
going     1
fine      1
dn.       1
gr8,      1
frnd      1
am        1
is        1
dtype: int64

Я использую этот код, нопоказывает неправильный вывод

    text = train_dataset_male['comment_text']
    print(text)
    vectorizer = TfidfVectorizer()
    # tokenize and build vocab
    vectorizer.fit(text)
    # summarize
    print(vectorizer.vocabulary_)
    print(vectorizer.idf_)
    # encode document
    vector = vectorizer.transform([text[0]])
    # summarize encoded vector
    print(vector.shape)
    print(vector.toarray())

1 Ответ

0 голосов
/ 09 ноября 2019

Python имеет аккуратный модуль в стандартной библиотеке, называемый "коллекциями" для этого типа вещей. В нем вы можете использовать Счетчик, который в конечном итоге является словарем, который отслеживает отдельные элементы и подсчитывает, сколько раз они появляются в итерируемом (список, кортеж и т. Д.)

, так что ...

from collections import Counter

text_counter = Counter(dataset)
# to access the times the word "you" is seen
text_counter.get("you")
...