Stanford Word Segmenter使用

Stanford Word Segmenter是斯坦福大學NLP group研發的一套基於CRF的開源中文分詞系統,採用CRF(Conditional Random Fields)算法。下面將下載Stangford Word Segmenter 軟件包,在Eclipse上調試成功,並進一步分析源碼。


1,下載 Stanford Word Segmenter軟件包;

Download Stanford Word Segmenter version 2014-06-16

2,在eclipse上建立一個Project  StanfordSegmenter。解壓Stanford Word Segmenter軟件包,將其中的data,arabic,test.sipe.utf8文件夾複製到項目下。

3,添加需要的jar包,seg.jar  ,  stanford-segmenter-3.4-javadoc.jar , stanford-segmenter-3.4-sources.jar.

  步驟:點擊Project->Properties->Java Bulid Path->Libraries->Add External Jars

 

4,在項目下,建一個com.Seg包,在包下建立一個SegDemo.java,將解壓出來的SegDemo的內容複製進去。

5,設置運行環境。

運行SegDemo,Run As-> Run Configurations,運行需要傳入參數,test.simp.utf8.

由於Stanford-Sementer佔用的內存比較大,所以需要設置VM arguments,不然就會超內存。

如果機子是64bit的可以設爲,-mx2g。查看解壓出來的segment.sh 文件, 可以看到JAVACMD語句的參數設置。

6,運行結果如下,可以看出分詞的效果。

7,關聯源碼,進一步查看分詞建模的細節。單步運行觀察各個函數的功能。

  7.1 對loadClassifierNoExceptions(也可以其他函數)點擊 ctrl+右鍵觀察源碼。結果顯示Source  not Found.

  

  7.2 關聯源碼,Attach Source->Extenal File->然後將最開始解壓包中的stanford-segmenter-3.4-sources.jar包加進去。

  7.3再次點擊,就可以看得源碼。

  

8,如果是中文版的eclipse 需要改成英文版的。中文版的沒有Attach Source提醒。改變步驟如下:

  8.1在eclipse的安裝目錄裏找到eclipse.ini文件,編輯打開,在文件的後面加上 -Duser.language=en這句話,elipse就變成英文版的了

      

  

 9,Stanford NLP 地址

http://nlp.stanford.edu/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章