文档章节

LDA主题抽取浅析

Harry_sir
 Harry_sir
发布于 2017/06/30 09:23
字数 867
阅读 204
收藏 0

最近在搞文本主题相关的东西,所以花了很多时间研究LDA主题模型。个人感觉这个模型应用广泛,但是数学原理相对复杂,涉及到的数学公式比较多。下面总结一下。

传统判断两个文档相似性的方法是通过查看两个文档共同出现的单词的多少,如TF-IDF等,这种方法没有考虑到文字背后的语义关联,可能在两个文档共同出现的单词很少甚至没有,但两个文档是相似的。

相对于文本相似,文本相似主要是根据字符串的匹配程度进行判断的,并没有加入语义的成分。而LDA主题模型,依据文档-主题,主题-词项,文档-词项的相对分布,实现了浅析语义的主题模型。

        举个例子,有两个句子分别如下:

                “乔布斯离我们而去了。”

                “苹果价格会不会降?”

        可以看到上面这两个句子没有共同出现的单词,但这两个句子是相似的,如果按传统的方法判断这两个句子肯定不相似,所以在判断文档相关性的时候需要考虑到文档的语义,而语义挖掘的利器是主题模型,LDA就是其中一种比较有效的模型。

        在主题模型中,主题表示一个概念、一个方面,表现为一系列相关的单词,是这些单词的条件概率。形象来说,主题就是一个桶,里面装了出现概率较高的单词,这些单词与这个主题有很强的相关性。

        怎样才能生成主题?对文章的主题应该怎么分析?这是主题模型要解决的问题。

        首先,可以用生成模型来看文档和主题这两件事。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到的。那么,如果我们要生成一篇文档,它里面的每个词语出现的概率为:

 这个概率公式可以用矩阵表示:

 其中”文档-词语”矩阵表示每个文档中每个单词的词频,即出现的概率;”主题-词语”矩阵表示每个主题中每个单词的出现概率;”文档-主题”矩阵表示每个文档中每个主题出现的概率。

根据数据实时传输的需要,我们无法依据训练数据,得到模型,然后依据获得主题模型,做聚类分析。

因此,我们将语料库中的每篇文档依次作为LDA 的输入,分别输出每篇文档主题。然后根据不同文档的主题之间的相似度计算不同文本是否相关。

当然在这个过程中,为了提高正例样本之间的相似度,拉开与干扰样本之间的相似度值。我们分别尝试使用文本关键词提取、文本摘要抽取、等方法。根据最终数据分析,准确率和召回率可以得到有效提升。

implementation of Gibbs Sampling of LDA Java代码,参考:

https://github.com/yangliuy/LDAGibbsSampling

 

© 著作权归作者所有

Harry_sir
粉丝 16
博文 80
码字总数 48004
作品 0
朝阳
其他
私信 提问
NLP系列(二)LDA主题模型

LDA模型是NLP中很基础也是大家广为熟知的模型,在面试过程也经常遇到。本文简单讲述下其大致流程。 1 LDA 简介 首先,我们来感受下LDA是什么, 看来,不同人在不同场景下对LDA的认识,那我们...

致Great
06/23
0
0
【文智背后的奥秘】系列篇——关键词智能提取

版权声明:本文由文智原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/130 来源:腾云阁 https://www.qcloud.com/community 一.关键词自动标注简介 1.关...

偶素浅小浅
2016/11/04
34
0
Latent Dirichlet Allocation(隐狄利克雷分配模型)——论文翻译与分析

本文是经典论文《Latent Dirichlet Allocation》的翻译及注解。 Blei D M, Ng A Y, Jordan M I. Latent dirichlet allocation[J]. J Machine Learning Research Archive, 2003, 3:993-1022.......

话巴
2018/07/17
0
0
Python文本挖掘-PDF和脚本见附件

课程要点 •分词以及词权重 •文本分类算法 •文本检索和LDA 常国珍《Python数据科学:全栈技术详解》 3 课程大纲 1)文本挖掘介绍 2)中文分词 3)文本特征提取与相关性的度量 4)文本分类 5)主...

Ben_Chang
2018/05/01
0
0
贝叶斯案例3:文本关键词提取、新闻分类(python实现)

文本分析的基本概念: 1、停用词表: 在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words(停用词...

pbgc396dwxjb77f2je
2017/12/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java快递电子面单打印接口对接demo

之前的后天管理系统的电子面单打印使用的是灵通打单。 使用相对比较麻烦,需要到处Excel之后再导入,麻烦。 快递鸟有电子面单api,后台系统直接对接很是方便,不过也遇到了好些问题。 不难是...

程序的小猿
28分钟前
4
0
fasjtjson文档

https://github.com/alibaba/fastjson/wiki/JSONField

jirak
29分钟前
4
0
Mybatis中插入多条记录

Oracle数据库 实现方法 <insert id="saveWithdrawLog"> INSERT ALL INTO OSM_TRADE_DETAIL(SID,MBR_ID,USR_ID,TRADE_MONEY,TRADE_TYPE,TRADE_TIME,TRADE_WAY,PAY_ID) VALUES(#{si......

豫华商
29分钟前
5
0
Flink on YARN(下):常见问题与排查思路

作者:杨弢(搏远) Flink 支持 Standalone 独立部署和 YARN、Kubernetes、Mesos 等集群部署模式,其中 YARN 集群部署模式在国内的应用越来越广泛。Flink 社区将推出 Flink on YARN 应用解读...

开源中国小二
31分钟前
4
0
技术沙龙|京东云端到端多媒体关键技术揭秘

编者按:从带来更高编码效率、更好的用户体验的京享高清,到直播架构与网络演进优化,从而为用户带来更流畅的观看体验,以及运维系统的异常自动修复和高弹性的多媒体存储架构,一层一层展示出...

京东云技术新知
31分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部