最近在用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