使用DTM ( Dynamic Topic Models )进行主题演化实验

本文记录了使用C++实现Dynamic Topic Models (DTM)的实验过程,包括系统安装、编译文件和运行示例。作者在CentOS 5.5环境下进行,遵循readme文件指导,强调理解输入文件格式的重要性,如foo-mult.dat和foo-deq.dat。此外,还提到了可选的词典和文档信息文件,以及使用text2ldac工具生成输入文件。最后,运行程序并讨论了输出结果,如topic-???-var-e-log-prob.dat和gam.dat。
摘要由CSDN通过智能技术生成

 

最近想研究下Dynamic Topic Models(DTM),论文看了看,文科生的水平确实是看不懂,那就实验一下吧,正好Blei的主页上也提供了相应的C++工具, http://www.cs.princeton.edu/~blei/topicmodeling.html,dtm这个代码放在google code中,下载需要fq。

下载了之后看了看,C++确实是不懂,但是在github上搜了一遭,也没找到完美的java版本,所以只能硬着头皮用C++了。

同时也去网上找找看看有没有人做过类似的工作,一搜确实是有,但是不多:

1、一哥们的实验,在linux下,http://www.jgoodwin.net/experimenting-with-dynamic-topic-models/

2、一些人的疑问,有没有python版本,答案是没有。http://stackoverflow.com/questions/22469506/are-there-any-efficient-python-libraries-for-dynamic-topic-models-preferably-ex

3、邮件列表 https://lists.cs.princeton.edu/pipermail/topic-models/

 

看了这么多,也没看明白是什么意思,还是自己慢慢搞吧。

 

第1步:安装系统

  下载个centos5.5,这个在readme文件中有说明,作者就是这个版本编译的,我安装到了VMware中,当然还有另外的两个版本可以用。

第2步:编译文件

  这个在readme文件中也有说明,把文件放到相应目录,make一下就行了。

第3步:作者建议先用他的文件里面带的一个小例子试验一下。

  在dtm/sample.sh文件中有说明。

   (1)输入文件。

  两个输入文件是必须的,这些文件在dtm/example文件夹下面可以看到,是test-mult.dat和test-seq.dat。

 

     a:foo-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次,这些词是所有文档中统一编号的。

         需要注意的一点是:该文件中文档是按时间顺序排列的,时间最早的在最上面,时间最晚的在最下面。

 

  b:foo-deq.dat ,这文件是用来划分时间窗的。

    文件格式如下:

        Number_Timestamps(时间窗总数)
        number_docs_time_1(第一个时间窗的文档数,就是从第一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值