1、首先需要構建自然語言處理的LTP的框架
(1)需要下載LTP的源碼包即c++程序(https://github.com/HIT-SCIR/ltp)下載完解壓縮之后的文件為ltp-master
(2)需要下載LTP4j的封裝包(https://github.com/HIT-SCIR/ltp4j),下載完解壓縮之后的文件為ltp4j-master
(3)需要下載cmake並且安裝
(4)需要下載ant用來編譯LTP4j,將LTP4j文件編譯成ltp.jar文件,最后在myeclipse中引用它
2、首先編譯ltp4j-master
直接進入ltp4j-master的文件夾中,運行ant命令,然后就會生成一個

output的文件夾,里邊是

jar包就在jar文件夾下。
3、編譯ltp-master的c++文件源碼
這個不會編譯實在太復雜了,所以直接上網找了個編譯好的,下了下來。大家可以上以下這個地址中去找去,下載64位已經編譯好的動態鏈接庫
http://download.csdn.net/index.php/mobile/source/download/sv2008337/9471357
4、構建java項目,然后進行分詞測試

構建的java項目如上圖所示,ltp4j.jar文件就是第2步中編譯出來的jar包。
edu.hit.ir.ltp4j是從ltp4j-master文件夾中直接拷過來的。
ltp_data文件是分詞的詞庫,據我們經理說現在都是用字典分詞來着,所以肯定要有詞庫的,這個詞庫在這里是從下邊這里拷進來的。
好吧是我從網上下的,這里騙了大家了。
下面來說卡了我時間最長的一步,就是通過jni來調用dlll動態鏈接庫,因為這需要引入動態鏈接庫的library
就是下邊這樣,在這里配置你的dlll文件庫在哪里,在我的電腦中是在,下下張圖上邊


上面這張圖也就是我從第3步中從網上下下來的dlll庫,直接在java文件中配置就可以了
5、分詞測試
經過了上面的准備工作我們就真的可以開始進行分詞測試了
(1)分詞功能測試
/** * 1,分詞功能測試 */ @Test public void test1(){ if(Segmentor.create("ltp_data/cws.model")<0){ System.err.println("load failed"); return; } String sent = "我是中國人"; List<String> words = new ArrayList<String>(); int size = Segmentor.segment(sent,words); for(int i = 0; i<size; i++) { System.out.print(words.get(i)); if(i==size-1) { System.out.println(); } else{ System.out.print("\t"); } } Segmentor.release(); }
結果如下所示:

(2)詞性標注功能測試
/** * 詞性標注功能測試 */ @Test public void testPosTag(){ if(Postagger.create("ltp_data//pos.model")<0){ System.err.println("加載失敗!"); return; } List<String> words = new ArrayList<String>(); words.add("我"); words.add("從事"); words.add("自然"); words.add("語言"); words.add("處理"); words.add("方面"); words.add("的"); words.add("工作"); words.add("!"); List<String> postags = new ArrayList<String>(); int size = Postagger.postag(words, postags); for (int i = 0; i < size; i++) { System.out.println(words.get(i)+"_"+postags.get(i)); if(i==size-1){ System.out.println(); }else{ System.out.println("|"); } } Postagger.release(); }
結果如下所示:

