ICTCLA中科院分詞工具用法(java)


摘要:為解決中文搜索的問題,最開始使用PHP版開源的SCWS,但是處理人名和地名時,會出現截斷人名地名出現錯誤。開始使用NLPIR分詞,在分詞准確性上效果要比SCWS好。本文介紹如何在windows系統下編譯JAVA ,生成可以執行的jar文件。

 

NLPIR的下載地址:

http://ictclas.nlpir.org/downloads

GitHub的地址:

https://github.com/NLPIR-team/NLPIR

 

兩個版本有一些不同,本文將分別講解如何利用Eclipse建立工程。

一、NLPIR官方版本

下載后文件夾中bin目錄,如下圖所示,其中NLPIR_WinDemo.exe是一個NLPIR的演示程序,可以嘗試運行,了解NLPIR的功能。

 

工程源碼在sample目錄下,包含C、C++、Hadoop、JAVA、Python等語言示例。

用Eclipse新建一個工程導入JAVA工程目錄JnaTest_NLPIR,

(1)Eclipse -> File->import

 

(2)選擇JnaTest_NLPIR所在的路徑,點擊Finish

 

(3)查看Eclipse工程

 

(4)NlpirTest.java文件中包含main函數,下面的語句初始化NLPIR需要的庫文件

 

CLibrery類是包含在NlpirTest.java文件中,

CLibrary Instance = (CLibrary) Native.loadLibrary("H:\\workspace\\ictclas\\1\\ICTCLAS2015\\lib\\win64\\NLPIR", CLibrary.class);

函數loadLibrary需要傳遞庫文件位置,源碼提供了多種語言類庫,我們的工程需要加載win64類庫,該文件夾內容如下,

(5)加載分詞數據Data文件夾路徑

String argu = "H:\\workspace\\ictclas\\1\\ICTCLAS2015";
String system_charset = "UTF-8";
int charset_type = 1;
int init_flag = CLibrary.Instance.NLPIR_Init(argu, charset_type, "0");

H:\\workspace\\ictclas\\1\\ICTCLAS2015是Data文件夾的父文件夾。

這步驟完成后,你就可以調試代碼了。有關API可以閱讀手冊。

二、github上下載的代碼

目錄中包含了NLPIR SDK目錄,每一個目錄是NLPIR提供的一個組件。NLPIR-ICTCLAS目錄包含NLPIR組件的代碼。

在Eclipse中導入ICTCLAS_java工程,工程目錄如下圖

 

工程中沒有填寫main函數,可以在NlpirTest.java文件中,加入main函數

 

復制代碼
public class NlpirTest {
public static void main(String[] args) throws Exception{
NlpirTest t = new NlpirTest();
      t.testParticiple();
}

public void testParticiple() throws IOException {
.....

    }
.......
}
復制代碼

 和官方網站不同,加載庫文件可以自動判斷系統類型,在工程當前目錄下查找庫文件。“工程當前目錄”的win32、win64、linux32、linux64都是包含庫文件的文件夾。

同時會自動加載“工程當前目錄“下Data問佳佳為分詞數據目錄。這些目錄設置好,就可以進行調試工作了。

三、在github中"查找關鍵字"的組件Key_Extract

工程目錄如下,

 

project中提供java版本的示例代碼,利用Eclipse導入工程

 

同樣在KeyExtractor.java文件中添加main函數。KeyExtract_GetKeyWords的第一個參數是需要提取關鍵字的文本,第二參數是關鍵字的個數。

 

public static void main(String[] args) {
String keyWordsStr = CLibraryKeyExtractor.instance.KeyExtract_GetKeyWords(args[0], 10, true);
System.out.println(keyWordsStr);
CLibraryKeyExtractor.instance.KeyExtract_Exit();
}

在工程的當前文件夾下,有一個Data目錄,是分詞和提取關鍵詞需要用到的分詞數據。需要將需要的license考入到這個文件夾。你可以不用區分用到哪一個user文件,建議把全部文件都考到當前工程目錄Data文件夾中。

 

這些設置完成,在Eclipse中傳入參數,菜單項run-->run configure。

 

四、導出jar

Eclipse工程目錄上,右鍵選擇Export

 

選擇runnablejar,生成jar文件

 

之后就可以利用cmd執行,傳遞參數,效果如下

 

 

轉自:http://www.cnblogs.com/jbexploit/p/4572791.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM