# 主程序解决
## 运行环境
+ ubuntu16.04 或ubuntu20.04 (其他版本也可以,建议使用LTS版本)
+ CPU:Intel Corei7-6700HQ CPU
+ Memory:8GB
## 下载数据
在官网上下载对应的数据,将数据放在文件夹`./Data`下面
## 创建虚拟环境
```bash
python -m venv mathmodelenv
source mathmodelenv/bin/activate
```
## 安装对应的包
```bash
pip install -r requirements.txt
```
## 运行方法
首先对数据进行预处理,将数据转化为json文件,数据集的预处理的命令如下所示
```bash
python run.py --do-pre \
--raw-path "./Data" \
--processed-path "./processed"
```
在文件夹中会生成预处理好的文件:
+ `./processed/NLP_Corpus.json`
+ `./processed/NLP_Corpus.csv`
+ `./processed/NLP_Corpus.xlsx`
+ `./processed/NLP_Corpus.txt`
## 主要问题求解
### 问题一求解
```bash
python run.py --do-first \
--model-name lda \
--num-words 6 \
--num-topics 50 \
--alpha 0.25 \
--beta 0.1 \
--batch-size 50 \
--raw-path "./Data" \
--length-size 30 \
--processed-path "./processed" \
--stop-words "./stopwords.txt" \
--log-path "./log"
```
在文件夹中会生成对应的预处理结果:`./processed/NLP_Corpus_Filter.json`,然后生成对应的结果文件,文件有以下的几个
问题结果文件
+ 对应的主题最大概率词语(10个,最终结果):`./log/first/lda/topics_results.csv`
+ 文章对应的主题概率:`./log/first/lda/document_topics_results.csv`
+ 文章对应的最大主题概率(最终结果):`./log/first/lda/document_max_topics_results.csv`
+ 主题分布统计图:`./log/first/lda/pic_lda_first_<num_topics>.png`
+ 主题饼图:`./log/first/lda/pie_pictures.png`
+ 问题一结果表:`./log/first/lda/first_result.xlsx`
LDA 模型文件
+ `./log/first/lda/NLP_Corpus_lda.mdl`
+ `./log/first/lda/NLP_Corpus_lda.mdl.expElogbeta.npy`
+ `./log/first/lda/NLP_Corpus_lda.mdl.state`
### 问题二求解
```bash
python run.py --do-second \
--model-name bm25hf \
--num_topics 50 \
--num-words 6 \
--max-iter 350 \
--raw-path "./Data" \
--processed-path "./processed" \
--stop-words "./stopwords.txt" \
--log-path "./log"
```
在文件夹中会生成对应的预处理结果:`./processed/NLP_Corpus_Person.json`,然后生成对应的结果文件,文件有以下的几个问题结果文件
+ 对应的主题最大概率词语(10个,最终结果):`./log/second/bm25hf/topics_results.csv`
+ 用户人物`person_id`对应的最大主题概率(最终结果):`./log/second/lda/lda_document_max_topics_results.csv`
+ 主题分布统计图:`./log/second/bm25hf/pic_lda_second_<num_topics>.png`
+ 主题饼图:`./log/first/lda/pie_pictures.png`
LDA 模型文件
+ `./log/second/lda/NLP_Corpus_lda.mdl`
+ `./log/second/lda/NLP_Corpus_lda.mdl.expElogbeta.npy`
+ `./log/second/lda/NLP_Corpus_lda.mdl.state`
### 问题三求解
```bash
python run.py --do-third \
--model-name lda \
--batch-size 200 \
--raw-path "./Data" \
--processed-path "./processed" \
--log-path "./log"
```
生成以下文件
+ 主题数量随着时间变化数据文件:`./log/first/topics/topic_num_dict.json`
+ 主题数量随着时间变化图(选取了每天讨论最多的话题):`./log/first/<first>/pic_time_topics_first_<number>.png`
+ 主题数量随着时间变化数据文件:`./log/second/bm25hf/topics/topic_num_dict.json`
+ 主题数量随着时间变化图(选取了每天讨论最多的话题):`./log/second/bm25hf/pic_time_topics_second_<number>.png`
+ 文章转发数量变化图:`./log/transmit`
+ 文章讨论数量变化图:`./log/comments`
+ 文章评论数量变化图:`./log/discuss`
## 其他数据生成
生成对应的词频分布图、词云图以及词频文件
```bash
python anaysis.py --do-words-freq \
--processed-path "./processed" \
--log-path "./log" \
--max-words 250 \
--font-path "./YaHei.ttf" \
--top-num 15
```
会生成以下的几个文件:
+ 已排序的文件:`./log/frequency.txt`
+ 词云图:`./log/wordcloud.png`
+ 词频统计图:`./log/wordsfrequency.png`
生成对应评论来源图
```bash
python anaysis.py --do-origin \
--processed-path "./processed" \
--log-path "./log"
```
生成以下的文件:
+ 排好序的来源统计文件:`./log/origin.txt`
+ 生成图:`./log/origin.png`
生成用户评论数目文件以及用户数目图
```bash
python anaysis.py --do-person \
--processed-path "./processed" \
--log-path "./log" \
--top-num 15
```
生成以下的文件:
+ 用户评论数量统计文件:`./log/person_freq.txt`
+ 用户评论数量统计图:`./log/person_freq.png`
生成评论(transmit)和讨论(discuss)数量统计图
```bash
python anaysis.py --do-discuss --do-transmit \
--processed-path "./processed" \
--log-path "./log"
```
生成以下的文件:
+ `/log/transmit_freq_discuss.csv`
+ `/log/transmit_freq_discuss.png`
+ `/log/transmit_freq_distribution_discuss.png`
+ `/log/transmit_freq_distribution_transmit.png`
+ `/log/transmit_freq_transmit.csv`
+ `/log/transmit_freq_transmit.png`
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
教育部认可的大学生竞赛备赛资料代码,源码,竞赛总结,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通 数学建模、全国电子设计大赛、全国大学生智能汽车竞赛、蓝桥杯、集成电路创新创业大赛、光电设计竞赛、挑战杯、大创项目、互联网+、三创赛、计算机设计竞赛、创新创业大赛、ACM-ICPC国际大学生程序设计竞赛、全国大学生数学建模竞赛、全国大学生电子商务“创新、创意及创业”挑战赛、全国大学生节能减排社会实践与科技竞赛、全国大学生工程训练综合能力竞赛、全国大学生机器人大赛-RoboMaster、RoboCon、“西门子杯”中国智能制造挑战赛、中国大学生计算机设计大赛、世界技能大赛、中国高校计算机大赛-大数据挑战赛、团体程序设计天梯赛、移动应用创新赛、网络技术挑战赛、全国大学生信息安全竞赛、“中国软件杯”大学生软件设计大赛、全国大学生光电设计竞赛、中国机器人及人工智能大赛、“大唐杯”全国大学生移动通信5G技术大赛、华为ICT大赛、全国大学生嵌入式芯片与系统设计竞赛、中国高校智能机器人创意大赛
资源推荐
资源详情
资源评论
收起资源包目录
校级数学建模竞赛项目.zip (71个子文件)
资料总结
markov
topic_words.txt 698B
preprocess.py 5KB
draw.py 2KB
main.py 4KB
data.py 5KB
log.py 820B
requirements.txt 81B
README.md 1KB
att-gru
main.py 8KB
src
__init__.py 15B
data
__init__.py 266B
vetorize.py 3KB
data.py 5KB
log.py 820B
utils
__init__.py 448B
zh_wiki.py 140KB
preprocess.py 7KB
embeddings.py 45B
langconv.py 6KB
evalute.py 3KB
build.py 4KB
filter.py 2KB
model
__init__.py 142B
model.py 2KB
bm25hf.py 6KB
requirements.txt 110B
README.md 1003B
stopwords.txt 9KB
.gitignore 2KB
Data.7z 15.35MB
main
YaHei.ttf 14.35MB
anaysis.py 7KB
src
__init__.py 15B
data
__init__.py 205B
times.py 6KB
vocab.py 2KB
log.py 820B
dataloader.py 1003B
model
__init__.py 203B
lda.py 3KB
model.py 2KB
GaussianLDA.py 8KB
kmeans.py 5KB
bm25hf.py 8KB
util
__init__.py 2KB
topics.py 3KB
preprocess.py 6KB
lang
__init__.py 64B
zh_wiki.py 140KB
langconv.py 6KB
times
time_utils.py 2KB
sentiments.py 1KB
__init__.py 537B
topics.py 3KB
comments.py 2KB
transmits.py 2KB
source
__init__.py 736B
transmit.py 4KB
person.py 4KB
draw.py 767B
length.py 3KB
origin.py 1KB
history.py 3KB
saves.py 1KB
words.py 3KB
filter.py 2KB
run.py 12KB
requirements.txt 171B
README.md 5KB
stopwords.txt 9KB
README.md 2KB
共 71 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Swift语言教程:从基础语法到高级特性的全面讲解
- 常用工具合集(包括汉字转拼音工具、常用数据格式相互转换工具、尺寸相关的工具类).zip
- Delphi编程教程:从入门到精通Windows应用程序开发
- 视觉化编程入门指南:Visual Basic语言教程及其应用领域
- 纯代码实现的3d爱心.zip学习资料语言
- 儿童编程教育中Scratch语言的基础教学及实战示例
- 批量文件编码格式转换工具.zip学习资料
- 在不同操作系统下编译Android源码需要更改一些Android源码的配置项,脚本用于自动化更改配置项.zip
- 基于vue3的春节烟花许愿代码.zip学习资料
- Apache Kafka 的 Python 客户端.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功