1. 程式人生 > >Stanford Parser中文句法分析器的使用

Stanford Parser中文句法分析器的使用

Contents

一、使用時注意兩點

二、stanford parser 命令列使用

1  處理一箇中文的句子

2  詞性標註 和 生成 依存關係

3  圖形工具介面

三、句法分析樹標註集

一、使用時注意兩點:

1。 中文記憶體大小設定:在執行--執行配置--自變數--vm引數中-加入:--Xmx1024m

2。 Tokenize指的是是否分詞。一定選Tokenized並且檔案是utf-8格式,並以空格分隔每個詞。

二、stanford parser 命令列使用

Stanford Parser

Stanford parser基本上是一個詞彙化的概率上下文無關語法分析器,同時也使用了依存分析。根據不同的語法觀點可以輸出不同的的分析結果。所以,可以認為是一個使用混合分析方法的剖析器。

需要用到的jar包:

stanford-parser.jar

stanford-parser-3.5.2-models.jar

stanford-posttagger-3.5.2.jar

1         處理一箇中文的句子

例如:一些盜版製品經營者為了應付和躲避打擊,經營手法更為隱蔽。

首先, 使用Chinese segment  進行詞語的切分。

呼叫的命令:

G:\chinesesegmenter>segment.bat pk input.txt gb18030 > out.txt

其中 pk 是詞典 還有一個詞典是ctb (沒有比較過兩個詞典的優劣)

input.txt 是輸入檔案.裡面包含該句子

gb18030 是檔案編碼 還支援GB utf-8

out.txt 是輸出的檔案

結果:一些 盜版 製品 經營者 為了 應付 和 躲避 打擊 , 經營 手法 更為 隱蔽 。

2         詞性標註 和 生成 依存關係

這裡為方便生成一個批處理檔案:lexparserCh.bat

檔案內容:

@echo off

:: Runs the Chinese PCFG parser on one or more files, printing trees only

:: usage: lexparser fileToparse

java -server -mx800m -cp "stanford-parser.jar;" edu.stanford.nlp.parser.lexparser.LexicalizedParser -outputFormat "penn,typedDependenciesCollapsed" chineseFactored.ser.gz %1

---------------------------------------------------------------------------------------------------------------------------

呼叫的命令:

G:\stanfordparser>lexparserCh.bat input.txt>outputch.txt

Loading parser from serialized file chineseFactored.ser.gz ... done [30.2 sec].

Parsing file: input.txt with 1 sentences.

Parsing [sent. 1 len. 15]: 一些 盜版 製品 經營者 為了 應付 和 躲避 打擊 , 經營

手法 更為 隱蔽 。

Parsed file: input.txt [1 sentences].

Parsed 15 words in 1 sentences (3.35 wds/sec; 0.22 sents/sec).

其中,chineseFactored.ser.gz 是用於中文的parser。

結果:outputch.txt 檔案

ROOT

  (IP

    (NP

      (NP

        (QP (CD 一些))

        (NP (NN 盜版) (NN 製品)))

      (NP (NN 經營者)))

    (PP (P 為了)

      (IP

        (VP

          (VP (VV 應付))

          (CC 和)

          (VP (VV 躲避)

            (NP (NN 打擊))))))

    (PU ,)

    (NP (NN 經營) (NN 手法))

    (VP

      (ADVP (AD 更為))

      (VP (VV 隱蔽)))

    (PU 。)))

numod(製品-3, 一些-1)

nmod(製品-3, 盜版-2)

nmod(經營者-4, 製品-3)

nsubj(隱蔽-14, 經營者-4)

prep(隱蔽-14, 為了-5)

clmpd(為了-5, 應付-6)

cc(應付-6, 和-7)

ccomp(應付-6, 躲避-8)

dobj(躲避-8, 打擊-9)

nmod(手法-12, 經營-11)

nsubj(隱蔽-14, 手法-12)

advmod(隱蔽-14, 更為-13)

3、圖形工具介面

執行命令:lexparser-gui.bat

首先load parser

然後選擇檔案,必須是utf-8編碼的,而且是分詞過後的。

Language 選擇中文。

最後 parser 得到結果的樹形表示。


三、句法分析樹標註集

ROOT:要處理文字的語句

IP:簡單從句

NP:名詞短語

VP:動詞短語

PU:斷句符,通常是句號、問號、感嘆號等標點符號

LCP:方位詞短語

PP:介詞短語

CP:由‘的’構成的表示修飾性關係的短語

DNP:由‘的’構成的表示所屬關係的短語

ADVP:副詞短語

ADJP:形容詞短語

DP:限定詞短語

QP:量詞短語

NN:常用名詞

NR:固有名詞

NT:時間名詞

PN:代詞

VV:動詞

VC:是

CC:不是(應該是吧!!不太確定)

VE:有

VA:表語形容詞

AS:內容標記(如:了)

VRD:動補複合詞