Targeted Topic Modeling for Focused Analysis(TTM的理解)

来源:互联网 发布:阿里云服务器的优势 编辑:程序博客网 时间:2024/06/10 23:26

  • 问题描述
  • 问题定义
  • 最简单的实现方法
  • 作者提出的模型
  • 代码

本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流。
未经本人,允许禁止转载。

我给原文作者发了几封邮件,询问一些程序及推理方面的疑问,原文作者都悉心回答了,再次表示衷心感谢。

问题描述

这篇文章发表在16年ACM会议上,主要是对主题模型的改进。从文章的题目可以看出,该模型可以用来对关注点进行分析。Wang S, Chen Z, Fei G, et al. Targeted topic modeling for focused analysis[C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2016: 1235-1244.

文本分析的首要任务是挖掘人们到底都谈论了哪些内容(主题),当然这里的挖掘是基于机器学习方面的算法。而主题模型是现在比较流行的一种挖掘用户关注主题的方法。利用主题模型,可以获得用户文档的主题分布以及每个主题对应的词分布。

但现有的主题模型,却存在以下问题:
(1)现有的主题模型都是针对整个数据集然后来发掘所有的主题(full analysis on the entire corpus to discover all topics)。
(2)利用整个语料发掘所有主题必然带来主题粗糙,难以理解的问题,并且很多主题并不是我们的目标(generated topics are often too coarse and may not even be on target)。

举个例子(如下图所示):有一个关于电子烟的tweets语料,基于该语料,利用主题模型,可以训练得到许多方面的主题。例如,获得若干关于健康的主题,获得若干个关于电子烟构造的主题,若干个关于电子烟监管的主题。然而,这些主题可能都不是我所真正关心的方面,我真正关心的是哪些主题是描述儿童的,即本文所说的targeted aspect。
这便是该篇文章最大的创新点,寻找指定方面的关注,也可以说是用户关注的主题。

这里写图片描述

问题定义

这篇文章的问题定义如下:
模型的输入是:文本语料C,关注的目标领域(这里用一系列的用户关注的关键词表示)。例如,上图中目标领域是children,那么对应的关键词可以包括{“children“kid”}。这里与普通LDA的输入部分,只是多了targeted aspect这部分内容。
模型的输出:与用户感兴趣部分有关的主题(不相关的都会过滤掉,与LDA最大的区别)。如下面的excel表格所示。

这里写图片描述
这里写图片描述

最简单的实现方法

寻找用户关注部分相关的主题,能想到的最简单的办法是什么呢?
使用基本的LDA模型,寻找所有的主题对应的词分布,排序一下,获取高概率的词汇,然后再去找包含我们定义key word的主题。然而,这种结果并不令人满意。

其原因如下:
(1)用户并不知道所有的关键词,表示该主题。举个例子,如上面中的minors(未成年人)可能就不包含在用户自定义的关键词中。
(2)用户可能找不到相关主题。比如说,targeted aspect is weight represented by the keyword “weight” in camera reviews.”weight” 很少被人提及,但是“the lens is so heavy” or ”its battery is light”。所以,可能找不到weight的相关主题。
(3)尽管关键词经常出现,用户可能业没办法获取比较好的相关主题。原因是:(a)主题抑制。所关注的仅仅只是众多方面的一个方面。例如,所关注的是children这个方面,主题词像“children”,”kids”, “young” 都表现的信息量很少(2)词的入侵。关注的主题中,经常会出现非关注的主题词,使得关注的主题理解起来比较困难。

作者提出的模型

这里写图片描述
作者提出的模型如上图所示。其生成过程可以描述如下:
这里写图片描述
其中,这里标红的部分是稀疏LDA的内容,如果感兴趣的话,可以关注一下两篇文章:
(a)T. Lin, W. Tian, Q. Mei, and H. Cheng. The dual-sparse topic model: mining focused topics and focused terms in short text. In WWW, pages 539{550. ACM, 2014.
(b)C. Wang and D. M. Blei. Decoupling sparsity and smoothness in the discrete hierarchical dirichlet process. In NIPS, pages 1982{1989, 2009. [30] H. Wang, Y. Lu, and C. Zhai. Latent aspect

这两篇文章都是使用spike-and-slab prior来控制稀疏性。那么为什么要控制稀疏性呢?这也是该篇文章的一个很重要的创新点。
文章的一大亮点是通过引入relevance变量r来表示跟一片文档是否与指定方面相关(targeted aspects)。存在r=0,r=1两种情况,来判断文档是否与指定的方面相关。r=0表示文档与指定方面不相关,则由一个不相关的主题产生,这个不相关的主题对应的词几乎包含所有的词。r=1表示文档与指定方面相关,则这里的单词通过稀疏性产生,其每个主题包含的单词并不是全局单词。即该篇文章认为能够区分targeted aspect和non-targeted aspects的重要词汇是非常少的。

关于模型的推理部分,本文还没有完全会推理。如果对推理感兴趣,可以去看原文。

代码

该代码有作者提供,url链接为:https://github.com/shuaiwanghk/TTM

0 0