📅  最后修改于: 2023-12-03 15:10:18.720000             🧑  作者: Mango
数据挖掘是指借助计算机技术和数据工具,对大量数据进行分析、挖掘、提取知识的过程。而文本数据是其中最为常见的一种数据形式,对其进行挖掘可以探索用户行为、情感分析等等。
文本数据往往是无结构、无规律的,因此需要将文本数据进行分词,即将一整段文本拆分为一个一个的词语。常用的中文分词工具有jieba、pkuseg等等。
import jieba
text = "中国有五千年的历史,是一个文化古国。"
seg_list = jieba.cut(text, cut_all=False)
print(" ".join(seg_list))
# 输出:中国 有 五千年 的 历史 , 是 一个 文化古国 。
在分词后得到的结果中,会包含大量的停用词,如“的”、“是”等等,并没有太多的实际意义,因此需要去掉。常用的停用词库有哈工大停用词表、百度停用词表等等。
def remove_stopwords(seg_list):
stopwords = []
with open("stopwords.txt", "r", encoding="utf-8") as f:
for line in f:
stopwords.append(line.strip())
new_list = []
for word in seg_list:
if word not in stopwords:
new_list.append(word)
return new_list
text = "中国有五千年的历史,是一个文化古国。"
seg_list = jieba.cut(text, cut_all=False)
new_list = remove_stopwords(seg_list)
print(" ".join(new_list))
# 输出:中国 五千年 历史 文化古国
情感分析是对文本数据进行情感的分类,一般分为正向情感、负向情感、中性情感三类。常用的情感分析工具有SnowNLP、TextBlob等等。
from textblob import TextBlob
text = "这本书真好看!"
blob = TextBlob(text)
if blob.sentiment.polarity > 0:
print("这是一个正向的评论")
elif blob.sentiment.polarity < 0:
print("这是一个负向的评论")
else:
print("这是一个中性的评论")
# 输出:这是一个正向的评论
本文介绍了挖掘文本数据的常用技术,包括分词、去停用词、情感分析等等。这些技术可以应用于各个领域中,打造出更好的应用。