转自: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及Gibbs Samping

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

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

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

    文件格式如下:

        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》笔记

LDA进阶(Dynamic Topic Models)的更多相关文章

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

    最近想研究下Dynamic Topic Models(DTM),论文看了看,文科生的水平确实是看不懂,那就实验一下吧,正好Blei的主页上也提供了相应的C++工具, http://www.cs.pri ...

  2. 概率主题模型简介 Introduction to Probabilistic Topic Models

    此文为David M. Blei所写的<Introduction to Probabilistic Topic Models>的译文,供大家参考. 摘要:概率主题模型是一系列旨在发现隐藏在 ...

  3. 转:概率主题模型简介 --- ---David M. Blei所写的《Introduction to Probabilistic Topic Models》的译文

    概率主题模型简介 Introduction to Probabilistic Topic Models      转:http://www.cnblogs.com/siegfang/archive/2 ...

  4. 《Dynamic Topic Detection and Tracking: A Comparison of HDP, C-Word, and Cocitation Methods》笔记

    原文地址:http://onlinelibrary.wiley.com/doi/10.1002/asi.23134/abstract 黄色背景是我认为比较重要的,红色字体是我自己的话. 动态主题监测与 ...

  5. lda 主题模型--TOPIC MODEL--Gibbslda++结果分析

    在之前的博客中已经详细介绍了如何用Gibbs做LDA抽样.(http://www.cnblogs.com/nlp-yekai/p/3711384.html) 这里,我们讨论一下实验结果: 结果文件包括 ...

  6. 【转】基于LDA的Topic Model变形

    转载自wentingtu 基于LDA的Topic Model变形最近几年来,随着LDA的产生和发展,涌现出了一批搞Topic Model的牛人.我主要关注了下面这位大牛和他的学生:David M. B ...

  7. 基于LDA的Topic Model变形

    转载于: 转:基于LDA的Topic Model变形 最近有想用LDA理论的变形来解决问题,调研中.... 基于LDA的Topic Model变形 基于LDA的Topic Model变形最近几年来,随 ...

  8. [IR] Concept Search and LDA

    重要的是通过实践更深入地了解贝叶斯思想,先浅浅地了解下LDA. From: http://blog.csdn.net/huagong_adu/article/details/7937616/ 传统方法 ...

  9. LDA汇总

    1.Blei的LDA代码(C):http://www.cs.princeton.edu/~blei/lda-c/index.html2.D.Bei的主页:http://www.cs.princeton ...

随机推荐

  1. NCache实现Oracle数据与分布式缓存数据同步的3个步骤

    多层次结构的应用程序是目前发展的趋势,这种程序都需要庞大的数据库支持.而数据传输的能力直接影响程序性能,成为程序可扩展性的瓶颈.因此很多开发者开始在程序中使用内存分布式缓存来提高程序性能. 同时,内存 ...

  2. 我的Android 4 学习系列之开始入手:配置开发环境与理解Hello World!

    目录 如何安装Android SDK.创建开发环境和调试项目 移动设计中一些注意事项 使用Android虚拟设备.模拟器和其他开发工具 如何安装Android SDK.创建开发环境和调试项目 下载和安 ...

  3. 在Android中自动实现横竖屏切换的问题

    http://developer.android.com/training/basics/supporting-devices/screens.html参照Google推荐的做法 在你项目的res 文 ...

  4. jsonp总结

    由于“同源策略”的限制,ajax不能做跨域请求,jsonp是当下解决跨域请求最流行的方案,来个例子(index.html): <!doctype html> <html lang=& ...

  5. asp.net mvc请求响应模型原理回顾

    根据讲师所讲总结了一下(可能存在些描述错误) -------------mvc进入asp.net管道原理: (在执行httpapplication管道之前mvc和asp.net是相同的,不同之处在于管 ...

  6. EF codefirst+mvc4+bootstrap+autofac+ddd 系统共享 祝大家新年开心搬砖

    博客园的博友新年好,小弟在此给大伙拜了晚年,感谢一直以来的支持. 在过去的一年,从博客园有400多ASP.NET MVC爱好者加入本人的群,本人在此很感激,并勉励大家一起学习奋斗. 希望在新的一年,继 ...

  7. Linq无聊练习系列3--聚合函数练习

    /**************聚合函数 练习*******************/            //求学生的总数量            var list = ctx.T_Student. ...

  8. 解决Timer回调方法重复调用的问题

    如果Timer的回调方法的执行时间很长,计时器可能在上个回调方法还没有完成的时候再次触发,如果我们只是想让一个回调方法执行完后再执行下一个回调方法,可以这样: private static Timer ...

  9. Cassandra

    NoSQL之Cassandra   9月初听了一个讲座,演讲者是张月同学,他给我们分享了Cassandra nosql数据库,讲得很精彩,听完之后收益良多. Cassandra是一个noSQL数据库, ...

  10. ubuntu 学习笔记3--shell入门-if空格问题

    对于if语句是shell编程的基础,但是按照教程写出的就会出错 ./bash1.sh: : ./bash1.sh: if[: not found true ./bash1.sh: : ./bash1. ...