1. 程式人生 > >中文分詞系統NLPIR(2015版)的Java介面使用學習

中文分詞系統NLPIR(2015版)的Java介面使用學習

前言:

        這幾天資料探勘的大作業又用到分詞了,首先想到的肯定是中科院的分詞系統NLPIR,但是之前用的事2013版的,2015版的有了新的變化。增加了函式和效率自是不必說,由於我是用的java,所以必須使用NLPIR的java介面,NLPIR提供了一個jna的jar包,其實確切來說是打包成了一個bundle,可見NLPIR非常有雄心,以後也必定有更多的功能bundle。此外,新版的NLPIR使用了配置檔案,瞬間高大上了有木有。利用.properties屬性檔案尋找NLPIR.dll的動態連結庫檔案和Data目錄。還有NLPIR的線上演示真的吊炸天了!

        下面給出NLPIR下載的連結地址,

我用的版本是2015版

使用:

           一、首先新建一個Java project 名叫Test,在Java Setting下的Libraries tag下,點選Add External Jars,匯入jna-4.0.0.jar。這個jar包在我這的路徑是E:\ICTCLAS2015\sample\JnaTest_NLPIR\lib。如圖

                                                                        

          二、可以看到在E:\ICTCLAS2015目錄下有個Data目錄,將其拖進Test的根目錄下;

      三、在E:\ICTCLAS2015\sample\JnaTest_NLPIR目錄下有一個nlpir.properties屬性檔案,將其拖進Test的根目錄下,這兩步的結果如下圖;

                                                                                    

              四、開啟nlpir.properties屬性檔案,修改data_dir_parent_path和dll_or_so_path,其實data_dir_parent_path也可以不改,預設是".",這指明Data的路徑是相對路徑,即Test下根目錄,當然也可以改成絕對路徑。dll_or_so_path亦然,對於windows來說是匯入.dll檔案,對於linux是匯入.so檔案,我的nlpir.dll檔案的路徑是E:\\ICTCLAS2015\\lib\\win64\\NLPIR.dll;結果如下圖所示:

                                               

          五、我們可以新建一個class了此處名為NlpirTest,參考E:\ICTCLAS2015\doc下的開發文件有JNA介面的使用說明。將示例中的程式碼貼上進NlpirTest,修改CLibrary Instance = (CLibrary) Native.loadLibrary(
    "E:\\ICTCLAS2015\\lib\\win64\\NLPIR", CLibrary.class);
中綠色的路徑為你的NLPIR.dll的路徑;結果如下圖

                                           

            六、最後我們就可以執行例項了;如圖!SUCCESS!

NOTE

          1.  如果結果顯示License過期,可以重新下載最新版,然後替換掉Data就可以了;

          2.  NLPIR推薦使用絕對路徑,只要涉及到路徑的地方都可以使用絕對路徑。