Stanford Parser的使用——进行词法语法分析

时间:2022-05-14 16:43:57

http://blog.csdn.net/pipisorry/article/details/42976457

词性标注介绍

POS tagging:part-of-speech tagging, or word classes or lexical categories. 说法很多其实就是词性标注。

Stanford Parser在线的解释效果示例


stanford-parser的使用

1、到斯坦福官方网站http://nlp.stanford.edu/software/lex-parser.shtml下载软件包,解压。

2、在eclipse中新建一个java project,把解压得到根目录下的stanford-parser.jar和stanford-parser-3.*.*-models.jar两个包导入项目到项目引用包中,

然后把解压得到根目录下的ParserDemo.java文件拷贝到项目的src中


DEMO的使用

 一、直接运行该实例程序(英文语法解析):

1.直接点击run就可以运行

2.如果要String[] sent从文本输入:

eclipse > run > run configuration > arguments > program arguments:

输入: edu/stanford/nlp/models/lexparser/englishPCFG.ser.gzC:\Users\minglan\Desktop\test2.txt

test2.txt:

The screen is really big, but the price is too expensive!
The price is expensive, students don't buy it usually.
The screen is beautiful, but the price is not!
The screen is big and beautiful!

3.如果要测试中文的话,要如下修改:

(1)按需要把输入改成要测试中文:

String[] sent = {  "这", "是", "第一个", "测试", "句子", "。" };

(2)导入中文的解析模型文件:

Stringgrammar = args.length > 0 ? args[0] : "edu/stanford/nlp/models/lexparser/chinesePCFG.ser.gz";

(3)修改源文件中的部分代码:

TreebankLanguagePacktlp = new ChineseTreebankLanguagePack();//PennTreebankLanguagePack(); 

如果报错没有retainTmpSubcategories参数,在源文件中注释掉该参数:

String[] options = {"-maxLength", "80"};//, "-retainTmpSubcategories" }; 

 

二、Stanford Parser自带图形化操作界面

在windows操作系统下只要双击运行软件根目录下的lexparser-gui.bat文件(linux下为lexparser-gui.sh文件)

点击“Load File”导入需要解析文件也可以直接在上面大的输入框中输入要解析内容,

在“Language”选项中选择对应解析的语言。

点击“Load Parser”载入模型文件,稍等片刻(载入模型文件可能需要几秒钟)进度条完成载入后“Parser”按钮变成可用状态,点击即可解上输入框中高亮的内容,解析得到的树形结果在下框中显示,

可以把结果输出另存为文件。


三、Stanford Parser还提供了命令行的方式lexparser-gui.bat(win)和lexparser.sh(linux)

具体使用见官方文档:Stanford Parser FAQ


四、Stanford Parser有个在线的解释效果示例

http://nlp.stanford.edu:8080/parser/index.jsp

http://blog.csdn.net/pipisorry/article/details/42976457


相关设置

Stanford parser句法树分析时候占用内存可能较大,所以要调整eclipse虚拟内存空间,方法是在“运行—运行—自变量—VM自变量中填上-Xms256M -Xmx800M”,大小就要看实际情况和机子性能。

当句子较长时会出现报“FactoredParser: exceeded MAX_ITEMS work limit [200000 items]; aborting.”错误...

在options中把MAX_ITEMS设为一个更大的书,如下例子中为500000

[java] view plaincopy
  1. String[] options = { "-maxLength", "140", "-MAX_ITEMS","500000"};  
[java] view plaincopy
  1. lp = LexicalizedParser.loadModel("edu/stanford/nlp/models/lexparser/", options);  

解决办法参考:http://blog.amelielee.com/archives/140

http://blog.csdn.net/pipisorry/article/details/42976457


常用解释

词性解释

CC: conjunction, coordinatin 表示连词
CD: numeral, cardinal 表示基数词
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 情态助动词
NN: noun, common, singular or mass
NNS: noun, common, plural
NNP: noun, proper, singular
NNPS: noun, proper, plural
PDT: pre-determiner 前位限定词
POS: genitive marker 所有格标记
PRP: pronoun, personal 人称代词
PRP$: pronoun, possessive 所有格代词
RB: adverb 副词
RBR: adverb, comparative 副词比较级
RBS: adverb, superlative 副词*
RP: particle 小品词
SYM: symbol 符号
TO:"to" as preposition or infinitive marker 作为介词或不定式标记
UH: interjection 插入语
VB: verb, base form
VBD: verb, past tense
VBG: verb, present participle or gerund
VBN: verb, past participle
VBP: verb, present tense, not 3rd person singular
VBZ: verb, present tense,3rd person singular
WDT: WH-determiner WH限定词
WP: WH-pronoun WH代词
WP$: WH-pronoun, possessive WH所有格代词
WRB:Wh-adverb WH副词

句法分析(句法树)

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决定词,如冠词等
dobj : direct object直接宾语
expl: expletive,主要是抓取there
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 掌控者

[ Stanford Parser 标记含义]

[POS Tagging]

具体解释:Stanford Dependence Relations


PS:

Stanford CoreNLP API Documentation

from:http://blog.csdn.net/pipisorry/article/details/42976457

ref:http://www.verydemo.com/demo_c173_i1328.html