King_K

导航

stanford-parser使用说明

主意:本说明文档针对stanford-parser-full-2014-06-16。不同版本的parser,其功能和表示形式可能会略有不同。但总体不会有太大差异

 

  Stanford parser是一款较为强大的句法解析工具,他的最初版本是java编写的,所以JDK是必须的,这玩意怎么弄就不用我说了吧。Stanford parser支持多国语言,并且还在不断扩张中。幸运的是,由于天朝的强大,中文也早早地加入其中,下面是树状图效果展示:

 

 

数据图是较为直观的效果展示,当然,他还有其他展示方式:

  Oneline:成分句法分析输出文件的格式为每行一句的广义表形式的树结构。上面那句话的结果:(ROOT (CP (IP (NP (DNP (NP (NP (NR 成都)) (NP (NN 小吃街))) (DEG 的)) (NP (NN 美食))) (VP (ADVP (AD 真的)) (ADVP (AD 太)) (VP (VA 好吃)))) (SP 了) (PU !)))

  Penn:成分句法分析输出文件的格式为层次化树的形式。默认选项为penn。上面那句结果: 

(ROOT

  (CP

    (IP

      (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 (振兴,的)

 

  这里面其实很多中文是用不上的,一些关系多跑一些语料自己也能归纳总结到,这里列举出来供大家查询用。

 

posted on 2015-04-29 14:41  King_K  阅读(5787)  评论(0编辑  收藏  举报