1. 程式人生 > >NLPIR(ICTCLAS2015)分詞工具Java開發簡介

NLPIR(ICTCLAS2015)分詞工具Java開發簡介

分詞往往是自然語言處理的第一步。在分詞的基礎上,我們可以進行關鍵字的提取、搜尋、糾錯等應用。在理論上,分詞可以採用的方法有很多,最經典的辦法莫過於HMM模型、CRF及其它語言模型如Bigram、Trigram等。NLPIR(又名:ICTCLAS2015)是由中科院張華平博士研發的,基於HMM模型免費分詞軟體。早期的版本名為ICTCLAS+年份。由於分詞的核心是由C語言寫成的,因此對於Java的開發人員不是十分地方便。不過好在Java的本地介面技術可以幫助我們應付簡單的開發和測試。下面就是本人用NLPIR建立的Java工程環境。經過測試,可以正常執行和分詞。在這裡結合C介面說明文件進行解釋(該文字可以從下載的NLPIR壓縮包中獲得)。


圖1.工程效果圖

0.初始化函式: NLPIR_Init(String sDataPath, int encoding, String sLicenceCode)

想要正確地執行NLPIR(無論在C環境還是Java環境),都必須具備兩個東西:Data資料夾和動態連結庫NLPIR.dll。它們均可以從下載的壓縮包中獲得。在圖1中也可以看到。


1.對記憶體中的字串進行分詞:NLPIR_ParagraphProcess(String sSrc, int bPOSTagged)



2.對外存中的字串進行分詞:NLPIR_FileProcess(String sSourceFilename,String sResultFilename,int bPOStagged)



3.新增或者刪除使用者自己的詞彙:NLPIR_AddUserWord(String sWord), NLPIR_DelUsrWord(String sWord)



在瞭解了上述的一些介面函式後,我們就可以對做一些基本的分詞工作了。例如圖2就是一個分詞的簡單事例。


圖2.分詞程式的例子

分詞的結果為(其中最後一個分詞結果是添加了詞性標註):