主意:本说明文档针对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 (振兴,的)

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

stanford-parser使用说明的更多相关文章

  1. Stanford parser:入门使用

    一.stanford parser是什么? stanford parser是stanford nlp小组提供的一系列工具之一,能够用来完成语法分析任务.支持英文.中文.德文.法文.阿拉伯文等多种语言. ...

  2. 同时使用Twitter nlp 和stanford parser的解决方法

    因为Twitter nlp中使用了较老版本的stanford parser,导致不能同时使用 解决方法是使用未集成其它jar包的Twitter nlp,关于这点Stanford FAQ中也有说明(在F ...

  3. Stanford Parser学习入门(3)-标记

    以下是Stanford parser中的标记中文释义供参考. probabilistic context-free grammar(PCFG)     ROOT:要处理文本的语句 IP:简单从句 NP ...

  4. Stanford Parser学习入门(2)-命令行运行

    在Stanford parser目录中已经定义了一部分命令行工具以及图形界面,本文将介绍如何在windows使用这些工具进行语法分析,Linux下也有shell可以使用. 关于如何搭建环境请参考上一篇 ...

  5. Stanford Parser学习入门(1)-Eclipse中配置

    Stanford Parser是斯坦福大学研发的用于语法分析的工具,属于stanford nlp系列工具之一.本文主要介绍Standfor Parser的入门用法. 在Stanford官方网站下载最新 ...

  6. 使用Stanford Parser进行句法分析

    一.句法分析 1.定义 句法分析判断输入的单词序列(一般为句子)的构成是否合乎给定的语法,并通过构造句法树来确定句子的结构以及各层次句法成分之间的关系,即确定一个句子中的哪些词构成一个短语,哪些词是动 ...

  7. Stanford parser学习:LexicalizedParser类分析

    上次(http://www.cnblogs.com/stGeekpower/p/3457746.html)主要是对应于javadoc写了下LexicalizedParser类main函数的功能,这次看 ...

  8. python 第三方库 dateutil.parser 使用说明

    dateutil.parser 顾名思意 就是与日期相关库里的一个日期解析器 能够将字符串 转换为日期格式 我们来看看具体的用法 首先 需要在线安装 pip install python-dateut ...

  9. 在 NLTK 中使用 Stanford NLP 工具包

    转载自:http://www.zmonster.me/2016/06/08/use-stanford-nlp-package-in-nltk.html 目录 NLTK 与 Stanford NLP 安 ...

随机推荐

  1. python-mysqldb安装

    出现错误  command 'gcc' failed with exit status 1 解决办法: yum install python-devel mysql-devel zlib-devel ...

  2. (转)java缓存技术,记录

    http://blog.csdn.net/madun/article/details/8569860 最近再ITEYE上看到关于讨论JAVA缓存技术的帖子比较多,自己不懂,所以上网大概搜了下,找到一篇 ...

  3. 实现type函数用于识别标准类型和内置对象类型

    function type(obj){ return Object.prototype.toString.call(obj).slice(8,-1); } var t=type(new Number( ...

  4. hdu 5876 (补图BFS) Sparse Graph

    题目:这里 题意: 相当于一开始给一个初始好了的无向完全图给你,然后给让你删除m条边,再给你一个点v,最后问你在剩下的图里从这个点v出发能到达所有边点的最小路径是多少? 一看是所有点的最小路径,一看就 ...

  5. CR LF的由来

    学习Esperanto时用到一款叫做Kajero的软件,支持世界语特殊字符编辑. 在Option菜单中有个选项,End of line 列出了四种换行方式 这四种都是由基本CR和LF组成.那么CR和L ...

  6. Neutron Kilo-Liberty-Mitaka各版本区别

    http://blog.csdn.net/bc_vnetwork/article/details/51848623

  7. Linux(Ubuntu 14.0)

    开始了Mono的学习.学习了Mono for Android之后,编译一些小的APK,总发现这些APK文件很大,额,真心不知道为什么,那么,就让我们从头开始学期了,Android是基于Linux的,那 ...

  8. 不一样的角度 解读微信小程序

    不一样的角度 解读微信小程序 七月在夏天· 2 天前 前段时间看完了雨果奖中短篇获奖小说<北京折叠>.很有意思的是,张小龙最近也要把应用折叠到微信里,这些应用被他称为:小程序. 含着金钥匙 ...

  9. echarts绘制甘特图

      在setoption之后添加这段代码: window.addEventListener('resize', function () { myChart.resize();   }); 图表就能随着 ...

  10. ZOJ3795_Grouping

    告诉你某些人的年龄大小关系,问你把所有的人分成若干个组,最少需要多少组,使得组内任意两个人的年龄不可比. 首先考虑特殊情况,如果所有年龄关系构成了一个环,那么这个环中所有人的年龄都是相等,也就是可比的 ...