3.jpg

Step 1: 請到下列的網址

http://nlp.stanford.edu/software/lex-parser.shtml#Download

之後會來到這個頁面:

選擇最新的版本,我在這邊要試著使用 Chinese 的,所以點擊下載 chinese

1.jpg

 

Step 2: 下載並且 import 到自己的 project 中。

Import parser.jar model.jar 即可。

2.jpg

 

Step 3:

打開 sample codesample code 在哪裡呢,它其實就在你剛剛抓下來的 Stanford parser 裡面,有兩個檔案:

ParserDemo.java

ParserDemo2.java

懶得開,就看我下方簡易的 sample code,應該就很夠用了,我下方提供的 sample code 是使用 Stanford parser的方法,注意到,這邊是提供完整的斷詞結果。

import java.util.List;
import edu.stanford.nlp.ling.CoreLabel;
import edu.stanford.nlp.ling.Sentence;
import edu.stanford.nlp.trees.*;
import edu.stanford.nlp.parser.lexparser.LexicalizedParser;
public class stanfordParserUtility {
	public static void main(String args[]){
		//model路徑
	    String parserModel = "edu/stanford/nlp/models/lexparser/chinesePCFG.ser.gz";
	    //讀取model
	    LexicalizedParser lp = LexicalizedParser.loadModel(parserModel);
	    demoAPI(lp);
	}
	public static void demoAPI(LexicalizedParser lp) {
	    String[] sent = { "我", "喜歡", "吃", "蘋果", "。" };
	    List rawWords = Sentence.toCoreLabelList(sent);
	    Tree parse = lp.apply(rawWords);
	    parse.pennPrint();
	    System.out.println();
	}
}

 

上述程式碼輸出的結果如下:

3.jpg

這是一個樹狀圖,每個節點是具有詞性的,換句話說,如果使用此 parser,那就可以捨去不用 POS parser 了。

大家一定很好奇,我怎麼選擇 model 檔的,model 檔到底有哪些,請把 model.jar 解壓縮就會知道了。

 

如果想知道每個節點上面的縮寫英文的意思,可以看下列的網址:

https://gist.github.com/nlothian/9240750

arrow
arrow
    全站熱搜

    葛瑞斯肯 發表在 痞客邦 留言(0) 人氣()