Berkely parser文本分析器使用方法(自己訓練模型)
1. 簡介
Berkeley Parser 是加州大學伯克利分校 NLP 實驗室開發的一種基于概率上下文無關文法(PCFG)的成分句法分析器,支持英語,漢語,德語等多個語種,它具有較高的句法分析性能,準確率較高,可選參 數較多,運行速度快遞優點,在 ACL,NAACL 等主流國際會議的論文中得到廣泛使用。
想了解 Berkeley Parser 可以參考這篇論文”Learning Accurate, Compact, and Interpretable Tree Annotation“,這篇論文是句法分析領域的一篇經典之作。
2. 使用
從 http://code.google.com/p/berkeleyparser/ 下載或者github上下載
下載之后,我上網搜了好長時間Berkely parser的教程,可是并沒有。
其實就在我們下載的文件夾內,一個叫README的東東。
我們主要介紹模型自己訓練的方法。
耐心閱讀以下文本, 這里介紹如何訓練模型 。
準備一個訓練語料,是樹型的
準備測試語料
注意是要分好詞的,其次測試語料的輸入的特征需要在訓練語料中出現。。。。。。
1.進入到你的目錄下,輸入這個命令
java -cp berkeleyParser.jar edu.berkeley.nlp.PCFGLA.GrammarTrainer </home/phoebe/parser/berkeleyparser/data/train.txt -out bpmodel -treebank SINGLEFILE
解釋:java后面跟著的文件名稱就是運行這個程序 在這里就是運行 可執行的jar包berkelyParse.jar(這個jar包你下載之后可能名字不同,但是我覺得都只要是jar包都一樣)
-cp 應該是找到這個jar包
berkeleyParser.jar edu.berkeley.nlp.PCFGLA.GrammarTrainer 是主函數 你要制定主函數的入口
< 的意思是-path(但是我輸入-path就報錯)后面跟著訓練文本的位置,我這里是單源文件,所以最后指定- treebank SINGLEFIL
-out bpmodel是輸出搜生成的模型 ,你可以指定它的位置,沒有指定就是在berkelyParser這個文件夾下
你可以看到這樣的東西(沒截全)。。。有用的就是左上角的
>是輸出
然后你可以看到很多迭代的結果,當然你也可以把這些結果輸出到一個文本
java -cp berkeleyParser.jar edu.berkeley.nlp.PCFGLA.GrammarTrainer </home/phoebe/parser/berkeleyparser/data/train.txt -out bpmodel -treebank SINGLEFILE > test.log 2>&1 &
2.測試模型
$java -jar berkeleyParser.jar -gr bpmodel -inputFile ./data/test.in -outputFile ./data/test.out3 或者java -jar berkeleyParser.jar -gr bpmodel < ./data/test.in > ./data/test.out3
大功告成~~~~~~~~~