最近在用LAD做词语间相似度的计算,之前一直用GibbsLDA(C++版本)在linux服务器上运行,后来发现有个java版本的,于是转用java版本。下面首先介绍一下使用方法,然后说一说使用过程中遇到的问题。
(1)导入工程
首先从http://sourceforge.net/projects/jgibblda/下载GibbsLDA工程,然后解压缩在Eclipse的工作空间下。在file下点击import
选择已有的工程,点击next。
点击browse,弹出对话框,选择刚刚LDA工程解压缩的地方,点击“确定”,然后finish。这样工程的导入就完成了。
(2)运行LDA
运行LAD前要准备好数据,并以LAD的输入格式保存。第一行为文档数,下面的每一行为一篇文档,词语词之间用空格间隔。如果是处理中文文档,要事先做好分词。
之后还需要配置参数,点击“run”--->“run configurations”
在Argument处输入“-est -alpha 0.2 -beta 0.1 -ntopics 10 -niters 1000 -savestep 100 -twords 5 -dir models\casestudy -dfile "new.txt"”,参数的具体含义看官方说明:http://jgibblda.sourceforge.net/。点击 apply---->run。
出现下图就是运行成功
(3)运行时出现的问题
最后讲一下我在整个使用过程中遇到的问题
1、参数配置时没写“dir models\casestudy”,只写“-dfile models\casestudy\new.txt 会报找不到文件,如果改为new.txt的绝对路径,虽然不报错 了,但是不知道他的输出结果保存在哪里。所以这个“dir models\casestudy”用处还是挺大的,输出结果直接保存在该文件夹底下
2、中文乱码。由于之前直接使用java代码生成new.txt,没有设置编码,默认是ANSI,导致LDA的输出结果是乱码。
解决办法:保存为UTF-8