首页 > 解决方案 > Python中如何对单词进行分类和统计

问题描述

我有一个来自 twitter 的评论数据集(例如 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())

标签: pythonmachine-learningscikit-learn

解决方案


Python 在标准库中有一个简洁的模块,称为“集合”,用于此类事物。在其中,您可以使用 Counter 最终成为一个字典,该字典跟踪单个项目并计算它们在可迭代(列表、元组等)中出现的次数

所以...

from collections import Counter

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

推荐阅读