【计算机毕设选题】基于机器学习的文本聚类 - 可用于舆情分析

本文介绍了使用TF-IDF和word2vec作为特征,结合k-means和DBSCAN聚类算法对旅游游记文本进行分类的项目。作者详细描述了预处理、特征提取和聚类算法的选择与实现过程,展示了聚类结果和初步的评估。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0 简介

今天学长向大家介绍一个毕设项目,中文文本分类技术

中文文本分类 ( 机器学习 和 深度学习 ) - 新闻分类 情感分类 垃圾邮件分类

1 项目介绍

由于项目需要,需要对旅游游记文本进行聚类,为打标签做指导,所以调研了主流的短文本聚类方法,文本聚类主要还是分成两个方面。

1.1 提取文本特征

在《数学之美》前几章中,详细讲了为何要将文本这个自然语言领域的事物,转换成数学领域能处理的向量、矩阵。为了分析一段文本,我们需要首先得到这段文本的表示向量,这个向量就可以作为文本的特征输入决策器中进行判决。

1.2 聚类算法选择

这里的聚类算法就是上面说的决策器。聚类算法主要分成两大类,一类是基于距离的迭代算法,比如k-means,还有一类是基于密度的流式聚类算法,比如DBSCAN。他们各有优劣,通常由于我们并不清楚聚类的簇数量,并且由于海量文本迭代的效率比较低,真实应用场景中,我们在聚类算法的选择上,更加倾向选DBSCAN这类的算法。

这里学长做了几组对照实验,分别使用tf-idf或word2vec作为文本的特征,采用k-means或者DBSCAN进行聚类分析。实验流程如下:

2 代码实现

2.1 中文文本预处理

将清洗过的数据进行分词、去停用词。其中分词的时候,载入预先设置好的自定义词典,提高分词精度。笔者自己写了一个分词的类,提高代码复用率。

from tools.tokenizer.wordCut import WordCut


mydict = ["mysenicdict.txt", "myfooddict.txt"]
file_path = '/home/zcy/haiNan/texttravelgen/data/clean_comments.txt'
# 默认是精确模式
test = WordCut()
test.addDictionary(mydict) # 加载自定义词典
 # 分词,去停用词(集成在类中了),不显示在console,保存分词后的文件到file_path目录
test.seg_file(file_path, show=False, write=True)

2.2 特征提取

2.2.1 Tf-idf

# 词频矩阵:矩阵元素a[i][j] 表示j词在i类文本下的词频 
vectorizer = CountVectorizer()
# 统计每个词语的tf-idf权值
transformer = TfidfTransformer() 
freq_word_matrix = vectorizer.fit_transform(corpus)
#获取词袋模型中的所有词语
word = vectorizer.get_feature_names()
tfidf = transformer.fit_transform
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值