IMdandelion的个人博客分享 http://blog.sciencenet.cn/u/IMdandelion

博文

ubuntu系统下LDA模型使用教程

已有 4319 次阅读 2015-1-16 21:31 |个人分类:软件安装|系统分类:科研笔记| ubuntu, 教程


  1. 下载GibbsLDA++0.2

  2. 把下载的文件放到一个文件夹。对于没接触过Linux的同学来说,你可以放到,比如说/home/user(你的用户名)下面。

                 

 3. 解压缩及安装。在Terminal里面输入

    $ cd /home/user

    进入刚刚下载的文件所在的目录,然后解压缩,输入

    $ gunzip GibbsLDA++-0.2.tar.gz(这个gunzip后面是你刚下载的文件的文件名,我下的是    

     (GibbsLDA++-0.2)

    $ tar -xf GibbsLDA++-0.2.tar

    解压成功,如图所示:

         

    然后进到你刚解压出来的那个文件夹(假设你现在还是在/home/user/下面)。输入

    $ cd \GibbsLDA++-0.2

    现在,你已经在/home/user/LDA/GibbsLDA++-0.2/ 这个文件夹下面了已然后安装GibsLDA。输入

    $ make clean

    $ make all

    到目前为止,你已经大功告成了。安装完成。

    4. 准备你要让计算机去做Topic Modeling的文件。在C++的环境里,Topic Modeling需要这样的一个文

       件。文件格式是dat。这是最原始的txt文件。你也可以用任何软件存成txt文件之后,直接把后缀改

       成dat就行。比如,你的文件包含1,000篇文章。那你的文件就是这样的

      第1行是你总共的文章篇数,在我们的例子里面是1000

      第2行到第1001行就是你的那些文章,每篇文章占一行。对于英文来说,每个词之间已经用空格分开

      了,但是中文不行,所以你要先对文章进行切词。切词这事儿,就不归我这篇小臭长文管了。

    5.运行GibbsLDA++,得到你要的结果。

      将你要跑的文件,比如就叫test.dat吧。将文件放到/home/user/LDA/ 下面,也就是/home/user/LDA/test.dat

      然后进入到你装了GibbsLDA++的文件夹,也就是/home/user/LDA/GibbsLDA++-0.2/,然后运行指令。

      其实就是在Terminal里面输入

      $ cd /home/user/LDA/GibbsLDA++-0.2/    

$ lda -est [-alpha <double>] [-beta <double>] [-ntopics <int>] [-niters <int>] [-savestep <int>] [-twords <int>] -dfile <string>

上个语句里面其实是GibbsLDA进行估算的各种参数设计,你实际输入的指令可能是:

$ src/lda -est -alpha 0.5 -beta 0.1 -ntopics 100 -niters 1000 -savestep 100 -twords 20 -dfile /home/huahua/LDA/test.dat

这意思是,参数alpha是0.5(这个可以先不管),参数beta是0.1(这个也可以先不管),产生100个topic,运算迭代1000次,每迭代100次之后的结果都保存出来,每个topic包含20个词,要运算的文件是/home/huahua/LDA/test.dat


  6. 看结果。

   如果你顺利走到这一步,就去看结果吧。结果文件存在你的测试文件所在的目录。在这个案例中,就是/home/huahua/LDA/ 下面。

会产生类似这样的文件,不同的后缀表示不同的结果。所有这些文件都可以用记事本打开。newdocs.dat.others
newdocs.dat.phi
newdocs.dat.tassign
newdocs.dat.theta
newdocs.dat.twords

其中最直接的是.twords文件。这个文件里面就是你要的n个topic,以及每个topic下面包含的具体的字词。

.others里面是各种你设置的参数

.theta里面是每篇文章对应你设置的n个topic的“因子载荷”(factor loading)

.phi里面是每个topic对应每篇文章的“因子载荷”(factor loading)

.theta 和 .phi 里面的数据其实是一回事,互为转置罢(transpose)了。


在操作过程中可能会碰到的问题

解决方案


参考链接:GibbsLDA做Topic Modeling

        GibbsLDA++ 使用记录




https://blog.sciencenet.cn/blog-808890-860097.html

上一篇:ubuntu12.04系统安装
收藏 IP: 117.89.118.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-24 17:22

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部