stanford-parser使用說明

主意:本說明文檔針對stanford-parser-full-2014-06-16。不一樣版本的parser,其功能和表示形式可能會略有不一樣。但整體不會有太大差別html

 

  Stanford parser是一款較爲強大的句法解析工具,他的最第一版本是java編寫的,因此JDK是必須的,這玩意怎麼弄就不用我說了吧。Stanford parser支持多國語言,而且還在不斷擴張中。幸運的是,因爲天朝的強大,中文也早早地加入其中,下面是樹狀圖效果展現:java

 

 

數據圖是較爲直觀的效果展現,固然,他還有其餘展現方式:express

  Oneline:成分句法分析輸出文件的格式爲每行一句的廣義表形式的樹結構。上面那句話的結果:(ROOT (CP (IP (NP (DNP (NP (NP (NR 成都)) (NP (NN 小吃街))) (DEG 的)) (NP (NN 美食))) (VP (ADVP (AD 真的)) (ADVP (AD 太)) (VP (VA 好吃)))) (SP 了) (PU !)))session

  Penn:成分句法分析輸出文件的格式爲層次化樹的形式。默認選項爲penn。上面那句結果: app

(ROOT工具

  (CPui

    (IPspa

      (NP命令行

        (DNP代理

          (NP

            (NP (NR 成都))

            (NP (NN 小吃街)))

          (DEG 的))

        (NP (NN 美食)))

      (VP

        (ADVP (AD 真的))

        (ADVP (AD 太))

        (VP (VA 好吃))))

    (SP 了) (PU !)))

latexTree:格式相似於penn Words:只給出分詞格式。

wordsAndTags:給出分詞文本和詞性標註。

rootSymbolOnly:只給出ROOT結點。 

typedDependencies:給出依存句法分析結果。如:

  nn(小吃街-2, 成都-1)

  assmod(美食-4, 小吃街-2)

  assm(小吃街-2, 的-3)

  nsubj(好吃-7, 美食-4)

  advmod(好吃-7, 真的-5)

  advmod(好吃-7, 太-6)

  root(ROOT-0, 好吃-7)

  dep(好吃-7, 了-8)

conllStyleDependencies、conll2007:conll格式(每行一詞,每詞4項)以下:

  1 成都 NR 2

  2 小吃街 NN 3

  3 的 DEG 4

  4 美食 NN 7

  5 真的 AD 7

  6 太 AD 7

  7 好吃 VA 8

  8 了 SP 0

  9 ! PU 8

  還有其餘幾種表示方式words,wordsAndTags, dependencies,typedDependenciesCollapsed,latex,Tree, xmlTree, collocations, semanticGraph, conllStyleDependencies。讀者可自行嘗試。

由於咱們想要的是詞與詞之間的修飾關係,咱們通常用到的就是typedDependencies,這是句法依存最直觀的一種輸出方式。下面給出命令行下的運行方式,由於文件夾下有個lexparser.bat文件,內容以下:

@echo off

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

:: usage: lexparser fileToparse

java -mx1024m -cp "*;" edu.stanford.nlp.parser.lexparser.LexicalizedParser -outputFormat typedDependencies du/stanford/nlp/models/lexparser/chineseFactored.ser.gz %1

咱們就看最後一行,-mx也是一個參數後面直接跟分配的虛擬內存(不用空格),由於parser要求的內存比較大,小了可能運行不了。-cp是爲了加載後面的類,再後面就是咱們的輸出方式,最後一個比較重要,是咱們要加載的parser模型。固然毫不僅僅這幾個參數,還有其餘參數可自行調節。包括:

-maxLength:指定句子單詞長度最大;

-escaper:字符的標準化;

-sentences:指定句子之間的邊界,通常爲newline,即一行爲一個句子,換行從新開始。

-encoding:指定輸入輸出文件的字符集。

-outputFormatOptions:進一步控制各類–outputFormat選項的輸出行爲(能夠說是–outputFormat的附加選項)。 當–outputFormat 爲typedDependencies時,-outputFormatOptions可有以下選項(默認選項爲collapsed dependencyies): basicDependencies:基本格式 treeDependencies:以樹結構保存的壓縮依存關係(去除依存圖中一些邊構成樹)。 collapsedDependencies:壓縮依存(不必定爲樹結構) cc(makes-11, and-12) conj(makes-11, distributes-13) 轉化爲: Conj_and(makes-11, distributes-13) CCPropagatedDependencies:帶有連詞依存傳播的壓縮依存。

-writeOutputFiles:產生對應於輸入文件的輸出文件,輸出文件名同輸入文件,只是增長了」.stp」的後綴。-outputFilesExtension:指定輸出文件擴展名,默認爲」.stp」。

 -outputFilesDirectory :指定輸出文件目錄,默認爲當前目錄。

parser裏面有不少模型:

 

  咱們通常用通用的chineseFactored,這個模型比較大,若是準確性要求不是很高,卻對速度要求比較高的話,能夠用chinsesPCFG。運行方式:咱們cd切換到parser根目錄,輸入:lexparser.bat input.txt>output.txt doc界面下可能輸出的是亂碼,能夠無視,咱們直接看output.txt就能夠了,就是最後的結果。若是要獲得語法樹或者依存關係的話,須要強調一下的是,input文件中必須是已經分好詞的語句,用空格分隔。

  此外,還有個圖形界面能夠給咱們嘗試,可是由於有些模型太大,會致使虛擬內存不足,因此提供了一個批處理文件lexparser-gui.bat。內容跟命令行差很少,主要是方便設置虛擬內存大小,直接雙擊該文件,就會出現命令行,選擇「Load parser」,而後打開XX-models.jar,選擇要導入的包便可。一樣,這裏輸入的句子,也是要分好詞的。

  最後,咱們就獲得了依存關係的結果,結果中有許多縮寫,這裏參考(http://www.hankcs.com/nlp/chinese-sentences-svo-java-extraction.html)解釋一下,可能不一樣版本會有更改,請自行查閱補充。

ROOT:相似於一個關鍵詞的存在
IP:簡單從句
NP:名詞短語
VP:動詞短語
PU:斷句符,一般是句號、問號、感嘆號等標點符號
LCP:方位詞短語
PP:介詞短語
CP:由‘的’構成的表示修飾性關係的短語
DNP:由‘的’構成的表示所屬關係的短語
ADVP:副詞短語
ADJP:形容詞短語
DP:限定詞短語
QP:量詞短語
NN:經常使用名詞
NR:固有名詞
NT:時間名詞
PN:代詞
VV:動詞
VC:是
CC:表示連詞
VE:有
VA:表語形容詞
AS:內容標記(如:了)
VRD:動補複合詞
CD: 表示基數詞
DT: determiner 表示限定詞
EX: existential there 存在句
FW: foreign word 外來詞
IN: preposition or conjunction, subordinating 介詞或從屬連詞
JJ: adjective or numeral, ordinal 形容詞或序數詞
JJR: adjective, comparative 形容詞比較級
JJS: adjective, superlative 形容詞最高級
LS: list item marker 列表標識
MD: modal auxiliary 情態助動詞
PDT: pre-determiner 前位限定詞
POS: genitive marker 全部格標記
PRP: pronoun, personal 人稱代詞
RB: adverb 副詞
RBR: adverb, comparative 副詞比較級
RBS: adverb, superlative 副詞最高級
RP: particle 小品詞 
SYM: symbol 符號
TO:」to」 as preposition or infinitive marker 做爲介詞或不定式標記 
WDT: WH-determiner WH限定詞
WP: WH-pronoun WH代詞
WP$: WH-pronoun, possessive WH全部格代詞
WRB:Wh-adverb WH副詞
 
關係表示
abbrev: abbreviation modifier,縮寫
acomp: adjectival complement,形容詞的補充;
advcl : adverbial clause modifier,狀語從句修飾詞
advmod: adverbial modifier狀語
agent: agent,代理,通常有by的時候會出現這個
amod: adjectival modifier形容詞
appos: appositional modifier,同位語
attr: attributive,屬性
aux: auxiliary,助動詞,如BE,HAVE SHOULD/COULD等到
auxpass: passive auxiliary 被動詞
cc: coordination,並列關係,通常取第一個詞
ccomp: clausal complement從句補充
complm: complementizer,引導從句的詞好重聚中的主要動詞
conj : conjunct,鏈接兩個並列的詞。
cop: copula。系動詞(如be,seem,appear等),(命題主詞與謂詞間的)連繫
csubj : clausal subject,從主關係
csubjpass: clausal passive subject 主從被動關係
dep: dependent依賴關係
det: determiner決定詞,如冠詞等

Discourse:discourse element
dobj : direct object直接賓語
expl: expletive,主要是抓取there

Goeswith:go with 主要是用來把本該連起來的詞分開的狀況,如‘with out’:gowith(with,out)
infmod: infinitival modifier,動詞不定式
iobj : indirect object,非直接賓語,也就是因此的間接賓語;
mark: marker,主要出如今有「that」 or 「whether」「because」, 「when」,
mwe: multi-word expression,多個詞的表示,相似詞組
neg: negation modifier否認詞
nn: noun compound modifier名詞組合形式
npadvmod: noun phrase as adverbial modifier名詞做狀語
nsubj : nominal subject,名詞主語
nsubjpass: passive nominal subject,被動的名詞主語
num: numeric modifier,數值修飾
number: element of compound number,組合數字
parataxis: parataxis: parataxis,並列關係
partmod: participial modifier動詞形式的修飾
pcomp: prepositional complement,介詞補充
pobj : object of a preposition,介詞的賓語
poss: possession modifier,全部形式,全部格,所屬
possessive: possessive modifier,這個表示全部者和那個’S的關係
preconj : preconjunct,經常是出如今 「either」, 「both」, 「neither」的狀況下
predet: predeterminer,前綴決定,經常是表示全部
prep: prepositional modifier  前置詞
prepc: prepositional clausal modifier 
prt: phrasal verb particle,動詞短語
punct: punctuation

purpcl : purpose clause modifier,目的從句
quantmod: quantifier phrase modifier,數量短語
rcmod: relative clause modifier相關關係
ref : referent,指示物,指代
rel : relative
root: root,最重要的詞,從它開始,根節點
tmod: temporal modifier 時間修飾語 
xcomp: open clausal complement 能夠當作是主謂賓中缺了主語,構成的謂賓關係。
xsubj : controlling subject 掌控者

中心語爲謂詞
  subj — 主語
 nsubj — 名詞性主語(nominal subject) (同步,建設)
   top — 主題(topic) (是,建築)
npsubj — 被動型主語(nominal passive subject),專指由「被」引導的被動句中的主語,通常是謂詞語義上的受事 (稱做,鎳)
 csubj — 從句主語(clausal subject),中文不存在
 xsubj — x主語,通常是一個主語下面含多個從句 (完善,有些)

中心語爲謂詞或介詞   
   obj — 賓語
  dobj — 直接賓語 (頒佈,文件)
  iobj — 間接賓語(indirect object),基本不存在
 range — 間接賓語爲數量詞,又稱爲與格 (成交,元)
  pobj — 介詞賓語 (根據,要求)
  lobj — 時間介詞 (來,近年)

中心語爲謂詞
  comp — 補語
 ccomp — 從句補語,通常由兩個動詞構成,中心語引導後一個動詞所在的從句(IP) (出現,歸入)
 xcomp — x從句補語(xclausal complement),不存在   
 acomp — 形容詞補語(adjectival complement)
 tcomp — 時間補語(temporal complement) (遇到,之前)
lccomp — 位置補語(localizer complement) (佔,以上)
       — 結果補語(resultative complement)

中心語爲名詞
   mod — 修飾語(modifier)
  pass — 被動修飾(passive)
  tmod — 時間修飾(temporal modifier)
 rcmod — 關係從句修飾(relative clause modifier) (問題,遇到)
 numod — 數量修飾(numeric modifier) (規定,若干)
ornmod — 序數修飾(numeric modifier)
   clf — 類別修飾(classifier modifier) (文件,件)
  nmod — 複合名詞修飾(noun compound modifier) (浦東,上海)
  amod — 形容詞修飾(adjetive modifier) (狀況,新)
advmod — 副詞修飾(adverbial modifier) (作到,基本)
  vmod — 動詞修飾(verb modifier,participle modifier)
prnmod — 插入詞修飾(parenthetical modifier)
   neg — 不定修飾(negative modifier) (遇到,不)
   det — 限定詞修飾(determiner modifier) (活動,這些)
 possm — 所屬標記(possessive marker),NP
  poss — 所屬修飾(possessive modifier),NP
  dvpm — DVP標記(dvp marker),DVP (簡單,的)
dvpmod — DVP修飾(dvp modifier),DVP (採起,簡單)
  assm — 關聯標記(associative marker),DNP (開發,的)
assmod — 關聯修飾(associative modifier),NP|QP (教訓,特區)
  prep — 介詞修飾(prepositional modifier) NP|VP|IP(採起,對)
 clmod — 從句修飾(clause modifier) (由於,開始)
 plmod — 介詞性地點修飾(prepositional localizer modifier) (在,上)
   asp — 時態標詞(aspect marker) (作到,了)
partmod– 分詞修飾(participial modifier) 不存在
   etc — 等關係(etc) (辦法,等)

中心語爲實詞
  conj — 聯合(conjunct)
   cop — 系動(copula) 雙指助動詞????
    cc — 鏈接(coordination),指中心詞與連詞 (開發,與)

其它
  attr — 屬性關係 (是,工程)
cordmod– 並列聯合動詞(coordinated verb compound) (頒佈,實行)
  mmod — 情態動詞(modal verb) (獲得,能)
    ba — 把字關係
tclaus — 時間從句 (之後,積累)
       — semantic dependent
   cpm — 補語化成分(complementizer),通常指「的」引導的CP (振興,的)

 

  這裏面其實不少中文是用不上的,一些關係多跑一些語料本身也能概括總結到,這裏列舉出來供你們查詢用。

相關文章
相關標籤/搜索