依存句法分析


语法分析(syntactic parsing )是自然语言处理中一个重要的任务,其目标是分析句子的语法结构并将其表示为容易理解的结构(通常是树形结构)。同时,语法分析也是所有工具性NLP任务中较为高级、较为复杂的一种任务。 通过掌握语法分析的原理、实现和应用,我们将在NLP工程师之路上跨越一道分水岭。本章将会介绍短语结构树依存句法树两种语法形式,并且着重介绍依存句法分析的原理和实现。

短语结构树

语言其实具备自顶而下的层级关系,固定数量的语法结构能够生成无数句子。比如,仅仅利用下列两个语法规律,我们就能够生成所有名词短语。

  • 名词短语可以由名词和名词短语组成。
  • 名词短语还可以由名词和名词组成。

例如,“上海+浦东+机场+航站楼”,所以,汉语中大部分句子都可以通过这样的语法来生成。

在语言学中,这样的语法被称为上下文无关文法,它由如下组件构成:

  • 终结符结合 Σ,比如汉语的一个词表。
  • 非终结符集合 V,比如“名词短语”“动词短语”等短语结构组成的集合。V 中至少包含一个特殊的非终结符,即句子符或初始符,计作 S。
  • 推到规则 R,即推到非终结符的一系列规则: V -> V U Σ。

基于上下文无关文法理论,我们可以从 S 出发,逐步推导非终结符。一个非终结符至少产生一个下级符号,如此一层一层地递推下去,我们就得到了一棵语法树。但在NLP中,我们称其为短语结构树。也就是说,计算机科学中的术语“上下文无关文法”在语言学中被称作“短语结构语法”。

短语结构树

短语结构语法描述了如何自顶而下的生成一个句子,反过来,句子也可以用短语结构语法来递归的分解。层级结构其实是一种树形结构,例如这句话“上海 浦东 开发 与 法制 建设 同步”,分解成如下图的短语结构树:

这样的树形结构称为短语结构树,相应的语法称为短语结构语法上下文无关文法。至于树中的字母下面开始介绍。

宾州树库和中文树库

语言学家制定短语结构语法规范,将大量句子人工分解为树形结构,形成了一种语料库,称为树库( treebank )。常见的英文树库有宾州树库,相应地,中文领域有CTB。上图中叶子节点(词语)的上级节点为词性,词性是非终结符的一种,满足“词性生成词语”的推导规则。

常见的标记如下:

但是由于短语结构语法比较复杂,相应句法分析器的准确率并不高,现在研究者绝大部分转向了另一种语法形式。

依存句法树🌲🌲🌲🌲🌲

不同于短语结构树,依存句法树并不关注如何生成句子这种宏大的命题。依存句法树关注的是句子中词语之间的语法联系,并且将其约束为树形结构。

依存句法理论

依存句法理论认为词与词之间存在主从关系,这是一种二元不等价的关系。在句子中,如果一个词修饰另一个词,则称修饰词为从属词( dependent ),被修饰的词语称为支配词(head),两者之间的语法关系称为**依存关系( dependency relation)**。比如句子“大梦想”中形容词“大”与名词“梦想”之间的依存关系如图所示:7

图中的箭头方向由支配词指向从属词,这是可视化时的习惯。将一个句子中所有词语的依存关系以有向边的形式表示出来,就会得到一棵树,称为依存句法树( dependency parse tree)。比如句子“弱小的我也有大梦想”的依存句法树如图所示。

现代依存语法中,语言学家 Robinson 对依存句法树提了 4 个约束性的公理。

  • 有且只有一个词语(ROOT,虚拟根节点,简称虚根)不依存于其他词语。
  • 除此之外所有单词必须依存于其他单词。
  • 每个单词不能依存于多个单词。
  • 如果单词 A 依存于 B,那么位置处于 A 和 B 之间的单词 C 只能依存于 A、B 或 AB 之间的单词。

这 4 条公理分别约束了依存句法树(图的特例)的根节点唯一性、 连通、无环和投射性( projective )。这些约束对语料库的标注以及依存句法分析器的设计奠定了基础。

中文依存句法树库

目前最有名的开源自由的依存树库当属UD ( Universal Dependencies),它以“署名-非商业性使用-相同方式共享4.0”等类似协议免费向公众授权。UD是个跨语种的语法标注项目,一共有 200 多名贡献者为 70 多种语言标注了 100 多个树库。具体到中文,存在4个不同领域的树库。本章选取其中规模最大的 UD_ Chinese GSD 作为示例。该树库的语种为繁体中文,将其转换为简体中文后,供大家下载使用。

http://file.hankcs.com/corpus/chs-gsd-ud.zip

该树库的格式为 CoNLL-U,这是一种以制表符分隔的表格格式。CoNLL-U 文件有10列,每行都是一个单词, 空白行表示句子结束。单元中的下划线 _ 表示空白, 结合其中一句样例,解释如表所示。

词性标注集合依存关系标注集请参考 UD 的官方网站:

http://niversaldependencies.org/guidelines.html

另一份著名的语料库依然是 CTB,只不过需要额外利用一些工具将短语结构树转换为依存句法树。读者可以直接下载转换后的 CTB 依存句法树库,其格式是类似于 CoNLl-U 的 CoNLL。

下面是对分析的结果中一些符号的解释:

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 掌控者

中心语为谓词

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

参考资料

  1. 《自然语言处理入门》12.依存句法分析–提取用户评论
  2. Stanford-parser依存句法关系解释

文章作者: CarlYoung
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 CarlYoung !
  目录