python - 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())
解决方案
Python 在标准库中有一个简洁的模块,称为“集合”,用于此类事物。在其中,您可以使用 Counter 最终成为一个字典,该字典跟踪单个项目并计算它们在可迭代(列表、元组等)中出现的次数
所以...
from collections import Counter
text_counter = Counter(dataset)
# to access the times the word "you" is seen
text_counter.get("you")
推荐阅读
- javascript - [Vue 警告]:未知的自定义元素:
- json - 有没有办法根据查询参数在响应中包含多个 json 文件?
- android - 如何在kodein中使用带有两个参数的工厂绑定来恢复对象?
- c++ - 迭代器执行时对迭代器对象的引用发生变化
- vbscript - 经典 ASP 应用程序的 iis 日志中记录了 500 错误
- python - 在地理坐标处查找平均值
- nginx - NGINX 多个 SSL 证书,具有一个 ip、不同的根和域
- spring - ThreadPoolExecutor 和 Spring Async
- java - 如何在属性文件中定义对象数组并从 Java 程序中读取
- kubernetes - Pod 安全上下文和 NFS 挂载