A280-基于动态主题模型的中文评论分析项目
导出时间:2025/11/24 16:19:41
【购买前必看】
1、关于我们
深度学习乐园是由python哥全职技术团队组建运营【团队成员为:复旦大学博士、华东理工爱丁堡博士、格拉斯哥博士、纽约大学硕士、浙江大学硕士】。
我们只做python业务,精通sklearn机器学习/torch深度学习/django/flask/vue全栈开发。
2、关于项目
我们从2018年开始,就专注于深度学习sci、ei、ccf、kaggle等,至今已有7年,共发表过10多篇顶刊顶会。
官网累积了数百个项目,已有3000多学员付费购买,圈子内有口皆碑:www.zzgcz.com (更多高级私密项目无法对外,联系微信定制:zzgcz_com)
3、售后承诺
包远程安装调试,所有项目均在本地运行通过,大部分都有截图和录屏。
支持二次修改,所有项目都是我们自己写的,改起来也非常容易。
加急定制1-2天可完成,这就是实力证明,远程验收满意后再付全款!
所有客户终身售后。兼职的人家都有主业,谁愿意持续服务你?
数据预处理
- 读取文件:使用
pandas读取 Excel 文件DTMdata.xlsx和 CSV 文件dtm政策文本清洗后.csv,分别存储在papers和data变量中。 - 列重命名:将
papers数据框中的text列重命名为text,time列重命名为Time。 - 数据预处理:
- 使用正则表达式
r1删除文本中的标点符号,正则表达式r2删除英文和数字。 - 将处理后的文本保存在
papers['text']中。
- 使用正则表达式
- 读取停用词:从文件
stopwords.txt中读取停用词,存储在集合stopwords中,并添加一些额外的停用词。 - 加载自定义词典:使用
jieba加载自定义词典文件dict.txt。 - 分词预处理函数:定义函数
get_cut_content,对文本进行分词处理,去除停用词和数字。 - 处理文本:对
data['text']进行分词处理,并将结果存储在text变量中。 - 删除一个字的词:过滤掉分词结果中长度为1的词。
- 保存预处理结果:将分词结果保存为 Excel 文件
ldall分词.xlsx和 CSV 文件lda代做14分词.csv。 - 将分词结果添加为新列:将分词结果添加到
data数据框中,并保存为带分词结果的 Excel 文件ldallwith_cut.xlsx和 CSV 文件ldallwith_cut.csv。
文本分析
- 读取数据集:使用
pandas读取 Excel 文件ldallwith_cut.xlsx,存储在data变量中。 - 分词:将
data['text_cut']中的文本进行分词处理,并存储在text_cut列表中。 - 生成词云:使用
WordCloud生成词云图,并显示出来。 - 统计词频:统计词频,并打印前50个高频词。
- 构建词频矩阵:构建一个词频矩阵,用于后续分析。
主题建模
- 构建词典和语料库:使用
gensim的Dictionary和doc2bow方法构建词典和语料库。 - TF-IDF计算:使用
gensim的TfidfModel对语料库进行TF-IDF计算。 - DTM建模:使用
gensim的LdaSeqModel进行动态主题模型(DTM)建模,设置时间切片time_slice和主题数量num_topics。 - 打印模型信息:打印模型的基本信息,包括文档数量、主题数量和时间切片数量。
- 文档主题分布:查看指定文档的主题分布,并计算主题分布的熵。
- 主题分布统计:统计各主题的文档数量,并计算平均主题概率。
- 主题分配确定性:计算文档-主题分配的确定性(熵)。
主题相似度计算
- 文档主题概率识别:获取文档的主题概率矩阵,并识别最大主题支持度和文档所属主题。
- 划分时间阶段:根据时间切片将文档划分为不同的时间阶段。
- 计算主题相似度:计算不同时间阶段的主题相似度,用于制作桑基图。