话题分析(NMF模型和LDA模型)软件的安装和使用方法

2024-12-31 16:24| 发布者: Fuller| 查看: 186| 评论: 0

摘要: 提供一种尽量便利的手段,让用户能够分别利用LDA模型和NMF模型,对文本进行话题分析、可视化观察、对比在多种情况下的话题分析效果。

1. 目的和作用

发布这个功能的目的是:提供一种尽量便利的手段,让用户能够分别利用LDA模型和NMF模型,对文本进行话题分析、可视化观察、对比在多种情况下的话题分析效果。

注意:话题分析模型不只有NMF和LDA,还有很多模型,他们各有千秋。这两个是代表性的,分析结果实际上会有比较明显的差别,可以对比选择。

用户导入指定格式的数据(原始数据表或者由GooSeeker分词软件生成的选词匹配表),选择使用的话题分析模型,选择目标话题数,即可启动话题分析。待完成后,可看到每条文本所属的最显著的话题是哪个。可以分别选择每个话题,看看得分最高的文本有哪些。

跟文本聚类不同,话题分析并没有将每一条文本划归某个类别,而是为每个话题打分。导出 文本-话题矩阵表 并进行观察,如果采用LDA模型,可以很明显看到每条文本在各个话题上的打分加在一起等于1,因为话题的概率分布被认为是Dirichlet distribution。

还可以导出 话题-特征词矩阵表,表示每个话题是由哪些词组成的。也可以在界面上直观观察话题的组成,如上图。

为了探索和认识某个话题的语义,GooSeeker话题分析模块提供了可视化探索图,该图可以下载下来独立使用。

2. 用法说明

2.1 功能入口

  • 话题分析功能只能在集搜客数据管家软件的浏览器中使用,其他浏览器无法使用该功能
  • 点击数据管家左栏菜单“词”,进入集搜客分词和情感分析软件(如上图)
  • 点击分词软件的左栏菜单“更多计算”(如上图),进入扩展功能说明页。【注意】请阅读该网页内容,需要把扩展程序下载到本地电脑的硬盘上。
  • 点击左栏菜单“LDA分析”,即可进入。(如下图)
  • 进入以后会提示安装扩展程序,需要在对话框中选中前一步下载的扩展程序,即可完成安装。(如下图)
  • 【注意】聚类功能和话题分析功能是合在一个软件模块中的。如果此前装过聚类模块,而且也是最新的2.x.x版本,那么点击LDA分析就不会提示安装。如果以前装的聚类模块是1.x.x版本,会提示安装新版本。

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 缺省参数

所用的函数和缺省参数如下:

  • 特征提取:sklearn的TfidfVectorizer
    • max_df: 0.5:如果目标话题数比较多,这个值应该相应调低
    • min_df: 0.005
    • max_features: 100:当采用LDA模型的时候,这个值不能太大,否则会影响准确性
  • NMF模型:具体参看官网的NMF的API
    • l1_ratio: 0.3
  • LDA模型:具体参看官网的LDA的API
  • 分词:
    • 针对原始数据表,采用jieba分词
    • 针对选词匹配表,采用n-grams(2,4)切词。【注意】如果在集搜客分词工具中,选词时手工添加了自定义词的话,如果添加的词长超过4个字,将被漏掉,参与不到聚类计算中。

4.2 手工调整参数

从聚类和话题分析模块V2.0.0开始,不需要手工编辑参数文件了,如上图,在界面上有“调参”按钮,每一种话题分析组合(数据源、所选模型、目标话题数)都能分别设置话题分析参数。

可以分别改变max_df, min_df, max_features,l1_ratio的值,前三个参数是控制特征词数量的,第四个参数用来决定采用多大的比例配比1范数和2范数,来构成regulation function(规制函数)。其中max_features对结果影响很大。具体含义参看sklearn官网


鲜花

握手

雷人

路过

鸡蛋

最新评论

GMT+8, 2025-1-13 21:11