1. 目的和作用 发布这个功能的目的是:提供一种尽量便利的手段,让用户能够分别利用LDA模型和NMF模型,对文本进行话题分析、可视化观察、对比在多种情况下的话题分析效果。 注意:话题分析模型不只有NMF和LDA,还有很多模型,他们各有千秋。这两个是代表性的,分析结果实际上会有比较明显的差别,可以对比选择。 用户导入指定格式的数据(原始数据表或者由GooSeeker分词软件生成的选词匹配表),选择使用的话题分析模型,选择目标话题数,即可启动话题分析。待完成后,可看到每条文本所属的最显著的话题是哪个。可以分别选择每个话题,看看得分最高的文本有哪些。 跟文本聚类不同,话题分析并没有将每一条文本划归某个类别,而是为每个话题打分。导出 文本-话题矩阵表 并进行观察,如果采用LDA模型,可以很明显看到每条文本在各个话题上的打分加在一起等于1,因为话题的概率分布被认为是Dirichlet distribution。 还可以导出 话题-特征词矩阵表,表示每个话题是由哪些词组成的。也可以在界面上直观观察话题的组成,如上图。 为了探索和认识某个话题的语义,GooSeeker话题分析模块提供了可视化探索图,该图可以下载下来独立使用。 2. 用法说明 2.1 功能入口
2.2 两种数据源 可导入的数据表有两种,都是excel格式,他们各自有不同的表头,一定要严格按照界面上的提示设置表头,否则无法导入。可以只导入一种数据源,也可以都导入,他们是分别进行话题分析计算的。也可以追加导入更多的数据。 2.2.1 原始数据表 表头字段至少有两个:序号、正文。正文就是用来聚类的文字。这个格式也是集搜客分词和情感分析软件所要求的。 2.2.2 选词匹配表 表头字段至少有三个:序号、原数据、打标词。该表是从集搜客分词和情感分析软件导出的,是在人工选词以后导出的。通过人工选词,规定了话题分析计算所用的词典。如果选的词很合理,会大幅度提高话题分析的效果。同时,根据话题分析效果,可以反过来评估在分词工具中选的词是否合适,是否对文本的语义具有最好的体现。 2.3 多个观察角度 2.3.1 话题分析结果 如上图,缺省情况下,为每个正文显示权重最大的那个话题,可以人工阅读原文,检验是否合适。但是一定要注意,话题分析的目的并不是将某条正文归属到某个话题类别中,这跟聚类的目的是不一样的。话题分析的核心目的是为了得到由特征词组成的一个个话题(特征词向量),去理解这几个话题的语义。而每条正文在每个话题上的打分代表一个配比,通过这个配比,将所有话题的特征词向量组合成这条正文。所以,在导出的用LDA模型生成的 正文-话题矩阵表中,一条正文的所有话题的打分加在一起应该是1。如下图 根据以上说明,我们就会理解为什么把话题分析模型成为生成式模型。这是因为要计算得到一组 话题-特征词 向量,用他们根据 正文-话题 矩阵中的配比,以尽量小的误差生成原始的正文。 基于上述分析,下图对话题打分值进行排序,就正文间在某个话题上打分的大小对比没有太大意义(就其数值大小而言),但是,可以观察排在前面的正文,看看正文的语义是否更倾向于这个话题。如下图,选择某个话题的时候,右栏的柱状图也切换到这个话题。 2.3.2 话题-特征词 话题-特征词 矩阵才是话题分析的核心目的,一个话题是由一组特征词构成的,这表示一个代表这个话题的正文(可以想象成用这些词造一篇正文)。如上图,鼠标悬浮在每个词上的时候会显示这个词的权重。还可以输入一个小的数量,专门观察最前面的几个词。 2.3.3 话题-特征词分布图 我们只选择前20个特征词画图 2.3.4 可视化探索图 在界面上介绍了这个图的原理和使用方法,这个图可以点击“下载结果”按钮下载下来单独使用,是一个html文件,各种浏览器都能打开。但是一定要确保网络畅通才能显示出来。 3. 安装说明 话题分析功能和文本聚类功能是在一个合一软件模块中实现的,在此不做详细说明,具体参看《文本聚类分析软件的安装和使用方法》。但是要注意下载最新版本的软件模块,V1.x.x版本只实现了文本聚类功能,V2.x.x版本才进一步实现了话题分析功能。 4. 技术原理和参数 4.1 缺省参数 所用的函数和缺省参数如下:
4.2 手工调整参数 从聚类和话题分析模块V2.0.0开始,不需要手工编辑参数文件了,如上图,在界面上有“调参”按钮,每一种话题分析组合(数据源、所选模型、目标话题数)都能分别设置话题分析参数。 可以分别改变max_df, min_df, max_features,l1_ratio的值,前三个参数是控制特征词数量的,第四个参数用来决定采用多大的比例配比1范数和2范数,来构成regulation function(规制函数)。其中max_features对结果影响很大。具体含义参看sklearn官网 |