# 学校舆论分析-词云图绘制 **Repository Path**: yrt19/wordcloud ## Basic Information - **Project Name**: 学校舆论分析-词云图绘制 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-17 - **Last Updated**: 2023-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 词云图绘制代码 ## 运行方式 1. 确定使用环境为`python3.10`及以上版本。 2. 确定已经安装`tqdm`、`jieba`、`wordcloud`库。 3. 修改脚本: - `count_chi.py`14行`INPUT_FILE = ...`,修改为需要统计信息绘制词云图的文件路径(这个文件最好放在一个空文件夹下面,因为统计过程中会在其所在文件夹存放一些中间数据)。 - `count_chi.py`44行`def getClass(...):`,按需要修改该函数。该函数会接受每一行读入得到的`JSON`数据,需要返回一个`str`表示该行数据所属的类别。 - `draw.py`115行`classes = ...`,这个变量表示所有需要绘制词云图的类别对应的`str`组成的集合,需要参照`getClass`函数的结果和需要绘制的部分进行修改。 4. 运行`python3 count_chi.py`,以统计计算卡方区分度需要的信息。 5. 运行`python3 split.py`,以根据`getClass`函数将数据划分为不同的类别。 6. 运行`python3 count.py`,以统计划分得到的不同类别的数据各自的词频信息。 7. 运行`python3 list-words.py`,以根据统计得到的相关信息进行卡方检验,确定每个类别词云图应该展示的词语排序。 8. 运行`python3 draw.py`,以根据每个类别的词频信息和展示词排序绘制各自的词云图。运行后可以在`INPUT_FILE`路径同级的`pngs`文件夹看到绘制得到的各个词云图。 ## 算法原理 简单来说,确定每个类别应该展示的词语时,对每个词语依次针对是否绑定该类别使用列联表检验,该统计量服从卡方分布。对每个词语绑定该类别的概率进行排序即得到该类别应该展示的词语列表。 具体的计算公式可见`list-words.py`文件开头的docstring。