LDA进阶(Dynamic Topic Models)
转自:http://blog.csdn.net/hxxiaopei/article/details/8034308
http://blog.csdn.net/huagong_adu/article/details/7937616
LDA浅析
http://www.slideshare.net/aurora1625/topic-model-lda-and-all-that
Topic model, LDA and all that
LDA漫游指南
http://yuedu.baidu.com/ebook/d0b441a8ccbff121dd36839a?pn=5&pa=44
LDA相关文章
http://blog.csdn.net/pirage/article/details/9467547
http://blog.csdn.net/yangliuy/article/details/8457329
yangliuy实现的代码
第一篇:PLSA及EM算法
第三篇:LDA变形模型-Twitter LDA,TimeUserLDA,ATM,Labeled-LDA,MaxEnt-LDA等
第四篇:基于变形LDA的paper分类总结(bibliography)
第五篇:LDA Gibbs Sampling 的JAVA实现
DTM(Dynamic Topic Models)进行主题演化实验
---------------------------------------------------------------------------------------------------------
在自己机器上(ubuntu12.04),运行Blei(http://www.cs.princeton.edu/~blei/topicmodeling.html)的代码过程中,能正常编译,
但是运行却遇到 段错误的问题。
在网上找了很多blog和资料都没有解决
最后决定自己调试错误,用了用gdb调试工具,
最后在实验室罗师兄的帮助下,解决了这个困扰了很久的问题。
main 文件39行:

代码问题终于得以解决。。。。。。
--------------------------------------------------------------------------------------------------------------------------------------
以下参考自:http://www.cnblogs.com/todoit/p/4057619.html
程序中dtm/sample.sh文件说明
运行例子试验
(1)输入文件(如dtm/example文件夹所示)test-mult.dat和test-seq.dat
a:foo-mult.dat,(相当于例子中test-mult.dat)用来表示文档和词的关系
每个文档一行,每一行形式是: unique_word_count index1:count1 index2:count2 ... indexn:counnt
该文章的总词数(不重复) 词1编号(用数字表示编号):词1频次 词2编号:词2频次 词n编号:词n频次
例如:11 288:1 1248:1 5:1 1063:2 269:1 654:1 656:2 532:1 373:1 1247:1 543:1
表示这篇一共有11个不重复的词,第228个词出现1次,1248个词出现1次,这些词是所有文档中统一编号的。
需要注意的一点是:该文件中文档是按时间顺序排列的,时间最早的在最上面,时间最晚的在最下面。

文件格式如下:
Number_Timestamps(时间窗总数)
number_docs_time_1(第一个时间窗的文档数,就是从第一个到第几个文档划分到第一个时间窗,我们如果按年来划分,就把每年的文档数写到这里就行)
...
number_docs_time_i
...
number_docs_time_NumberTimestamps
作者提供的例子,第一行表示分为10个时间窗,第二行表示第一个时间窗有25个文档。(看样子估计也是按年划分的):
10
25
50
75
100
100
100
100
125
150
175
当上面两个文件搞定后。作者说还有两个文件虽然不是必须的,但是也是很有用的。
C: 词典文件
文档集合中涉及的所有的词,按照上面的词的序号排列。
d:文档信息文件
每行表示一个文档的基本信息,按照文档a中的顺序排列。
上述文件都可以用text2ldac生成,在https://github.com/JoKnopp/text2ldac下载,用python打开。
使用方法,在命令行中,找到text2ldac.py目录,运行 python text2ldac.py -o ./out -e txt ./in
out文件夹为输出文件位置,in文件夹为输入文件位置。 txt为仅处理txt文件
(2)运行程序
作者在readme文件中说,通过运行./main --help命令可以查看所有选项和解释
输入下面的命令(后面的注释是自己加的,。如果影响运行请去掉)
./main \ /*main函数*/
--ntopics=20 \ /*每个时间窗生成20个主题*/
--mode=fit \ /*这个应该有dim和fit两个选项*/
--rng_seed=0 \
--initialize_lda=true \
--corpus_prefix=example/test \
--outname=example/model_run \
--top_chain_var=0.005 \
--alpha=0.01 \
--lda_sequence_min_iter=6 \
--lda_sequence_max_iter=20 \
--lda_max_em_iter=10
(2)输出结果。 上面文件完成之后,通过运行程序生成下面的文件,并且可以通过R查看结果,我们就可以用这个结果进行分析。
a topic-???-var-e-log-prob.dat:
主要是 e-betas(词在每个主题内每个时间段的分布),一行是一个词。
从文件中,我们看以看到每行只有一个数字。
由输入可知:
有4824个单词的词典。
有10个时间戳
生成20个主题
a = "topic-002-var-e-log-prob.dat"
b = matrix(a, ncol = 10 byrow=TRUE)
10列,按行排(本例中表示4824行,10列的矩阵)
The probability of term 100 in topic 2 at time 3:
exp(b[100,3])
可以在dtm\example\model_run\lda-seq中看到例子,有48240行,有4824个词,每个时间窗内有4824个词。
作者同时给出了在R中查看这些矩阵的方法。比如查看某个词在某个主题的某一个时间段的概率。
b gam.dat
gammas数据。表示文档与主题的关联。
http://www.cnblogs.com/todoit/p/3753871.html
《Dynamic Topic Detection and Tracking: A Comparison of HDP, C-Word, and Cocitation Methods》笔记
XR0%~K4OXPNCD.png)
LDA进阶(Dynamic Topic Models)的更多相关文章
- 使用DTM ( Dynamic Topic Models )进行主题演化实验
最近想研究下Dynamic Topic Models(DTM),论文看了看,文科生的水平确实是看不懂,那就实验一下吧,正好Blei的主页上也提供了相应的C++工具, http://www.cs.pri ...
- 概率主题模型简介 Introduction to Probabilistic Topic Models
此文为David M. Blei所写的<Introduction to Probabilistic Topic Models>的译文,供大家参考. 摘要:概率主题模型是一系列旨在发现隐藏在 ...
- 转:概率主题模型简介 --- ---David M. Blei所写的《Introduction to Probabilistic Topic Models》的译文
概率主题模型简介 Introduction to Probabilistic Topic Models 转:http://www.cnblogs.com/siegfang/archive/2 ...
- 《Dynamic Topic Detection and Tracking: A Comparison of HDP, C-Word, and Cocitation Methods》笔记
原文地址:http://onlinelibrary.wiley.com/doi/10.1002/asi.23134/abstract 黄色背景是我认为比较重要的,红色字体是我自己的话. 动态主题监测与 ...
- lda 主题模型--TOPIC MODEL--Gibbslda++结果分析
在之前的博客中已经详细介绍了如何用Gibbs做LDA抽样.(http://www.cnblogs.com/nlp-yekai/p/3711384.html) 这里,我们讨论一下实验结果: 结果文件包括 ...
- 【转】基于LDA的Topic Model变形
转载自wentingtu 基于LDA的Topic Model变形最近几年来,随着LDA的产生和发展,涌现出了一批搞Topic Model的牛人.我主要关注了下面这位大牛和他的学生:David M. B ...
- 基于LDA的Topic Model变形
转载于: 转:基于LDA的Topic Model变形 最近有想用LDA理论的变形来解决问题,调研中.... 基于LDA的Topic Model变形 基于LDA的Topic Model变形最近几年来,随 ...
- [IR] Concept Search and LDA
重要的是通过实践更深入地了解贝叶斯思想,先浅浅地了解下LDA. From: http://blog.csdn.net/huagong_adu/article/details/7937616/ 传统方法 ...
- LDA汇总
1.Blei的LDA代码(C):http://www.cs.princeton.edu/~blei/lda-c/index.html2.D.Bei的主页:http://www.cs.princeton ...
随机推荐
- avalon.js实现一个简易日历
使用MVVM框架avalon.js实现一个简易日历 最近在做公司内部的运营管理系统,因为与日历密切相关,同时无需触发条件直接显示在页面上,所以针对这样的功能场景,我就用avalon快速实现了一个简 ...
- javascript 学习总结(一)
1.字符转换 var s1 = "01"; var s2 = "1.1"; var s3 = "z";//字母'z'无法转换为数字,所以或返 ...
- Grunt使用入门
Grunt使用入门 (by vczero) 一.前言 项目中一直在使用Grunt,只是对Grunt的基本使用,却未系统的总结过.为什么要构建工具?一句话:自动化.对于需要反复重复的任务,例如压缩(mi ...
- JS判断鼠标向上滚动还是向下滚动
js如何判断滚轮的上下滚动,我们应该都见到过这种效果,用鼠标滚轮实现某个表单内的数字向上滚动就增加,向下滚动就减少的操作,这种效果是通过js对鼠标滚轮的事件监听来实现的.今天简单的研究了一下如何使用j ...
- 【转载】Android中ListView下拉刷新的实现
在网上看到一个下拉刷新的例子,很的很棒,转载和更多的人分享学习 原文:http://blog.csdn.net/loongggdroid/article/details/9385535 ListVie ...
- 【AngularJS】 2.0 版本发布
[AngularJS] 2.0 版本发布 w5cValidator[AngularJS] 2.0 版本发布 w5cValidator 插件基于angular原有的表单验证,在原有的基础上扩展了一些 ...
- [转载+实践理解]Android动画---如何正确使用平移动画(关于fillBefore和fillAfter的一点说明)(转载)
红色部分为自己的实践理解 如何实现将View向上平移自身高度一半的距离? TranslateAnimation translate = new TranslateAnimation( Animatio ...
- 基于A2DFramework的事件机制实现
随笔- 102 文章- 3 评论- 476 发布订阅 - 基于A2DFramework的事件机制实现 SUMMARY 能做什么 DEMO 原理图 应用场景 能做什么 A2DFramework ...
- angularjs + seajs构建Web Form3
angularjs + seajs构建Web Form前端(三) -- 兼容easyui 回顾 在上一章中使用了angular实现了ajax form和树形结构,经过以上两章对于angular的大致使 ...
- 网络地址到物理地址的映射(ARP)
网络的互连首先要解决的问题就是网络地址到物理地址的映射,以太网接口分配的是一个48位的物理地址,而IP地址却只有32位,因此无法将它编码到IP地址中.有人建议可以构建一个中央数据库存储所有网络中的网络 ...