欢迎光临 x-algo
关注算法在工业界应用
Hi, 这是一个关注大数据算法在工业界应用的网站

Scalable Topical Phrase Mining from Text Corpora 原理介绍

原文地址:请戳我

传统的主题模型中,都是在词的粒度进行建模,一个词会有多个主题(例如LDA)。其实在给定的语境之下,一个词的主题基本是确定的。对于一个phrase,可以认为其内部的word的主题是相同的。和传统的LDA相比,就是对哪些词属于一个Topic进行了约束。

论文分两部分,phrase挖掘和主题模型改造。

前置知识

二项分布B(n,p)在n很大的情况下, 可以近似为正太分布N(np,np(1-p)),详情戳我。如下图:

800px-Binomial_Distribution.svg

图片来源:wiki

Phrase挖掘

phrase的挖掘需要用到两部分信息,一类是phrase本身的统计量,一类是phrase上下文信息。

phrase字典

这一部分直接使用频次作为过滤条件,生成所有的phrase候选。生成候选的过程中通过「剪枝策略」可以提升生成效率。

上下文信息

二项分布中n很大的时候可以使用正态分布近似,由于 \(p(P)\) 一般很小所有 \(p(P) = p(P)(1-p(P))\) ,所以样本方差 \(\sigma =Lp(1-p)=Lp\) .

这里构造了一个类似PMI的指标,用来衡量合并之后的得分。基本流程如下图:

QQ20170829-002306

所以就形成了一个自底向上的树形结构,配合阈值 \(\alpha\) 控制合并什么时候结束。

计算merge得分的公式为:

\(sig(P_1,P_2)=\frac{f(P_1 \bigoplus P_2)-u_0(P_1-P_2)}{\sqrt{f(P_1 \bigoplus P_2)}}\)

更好的理解上面公式,可以先看看t检验

其中 \(u_0(P_1,P_2)\) 表示的是 \(P_1\)\(P_2\) 同时出现次数的期望,具体计算方式为:

\(u_0(P_1,P_2)=L \frac{f(P_1)}{L} \frac{f(P_2)}{L}\)

上面更新得分的逻辑可以简单理解一下,如果 \(P_1\)\(P_2\) 无关得分接近于0,如果越相关这个数值将越大;如果:

\(f(P_1 \bigoplus P_2\bigoplus P_3)\approx f(P_1\bigoplus P_2)\)

可以发现随着合并:

\(sig(P_1,P_2,P_3)>\max( sig(P_1,P_2), sig(P_2,P_3) )\)

 

主题模型

论文中使用的是LDA,和原始的不同之处就在于为phrase添加的属于同一个topic的约束。具体对比如下图:

QQ20170829-092004

 

未经允许不得转载:大数据算法 » Scalable Topical Phrase Mining from Text Corpora 原理介绍

分享到:更多 ()

评论 抢沙发

*

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

关注大数据算法在工业界应用

本站的GitHub关于本站