cs224笔记:Lecture 5 Dependency Parsing

Dependency Parsing

Linguistic Structure: Denpendency Parsing(依存句法分析)

1 Two views of linguistic structure: Constituency structure, Dependency structure

Parse trees(解析树,语法分析树) 用于分析句子的语法结构(syntactic structure) ,主要有两种结构:constituency structures,dependency structures。

1.1 Constituency Structure

Constituency = phrase structure grammar = context-free grammars (CFGs)

Constituency grammar使用短语结构语法(phrase structure grammar)把单词组织成镶嵌的结构,在下面的章节会详细讲述这种结构,这节课主要关注Denpendency Parsing。

N(Noun)名词,NP(Noun Phrase)名词短语,Det(Determiner)限定词,prep(Preposition)介词,PP(Prepositional Phrase)介词短语,Adj(Adjective)形容词,verb(动词),pronoun(代词)
NP → Det N e.g. the cat NP → Det (Adj) N e.g. the large cat NP → Det (Adj) N PP PP → prep NP e.g. the large cat by the door \begin{aligned} &\text{NP} \to \text{Det N} \\ &\qquad \text{e.g. the cat}\\ &\text{NP} \to \text{Det (Adj) N}\\ &\qquad \text{e.g. the large cat}\\ &\text{NP} \to \text{Det (Adj) N PP}\\ &\text{PP} \to \text{prep NP}\\ &\qquad \text{e.g. the large cat by the door} \end{aligned} NPDet Ne.g. the catNPDet (Adj) Ne.g. the large catNPDet (Adj) N PPPPprep NPe.g. the large cat by the door
例如下面的句子可以生成这样的结构,

the(Det) cat(N) by(prep) the(Det) large(Adj) crate(N)

'the cat by the large crate' NP
'the' Det
'cat' N
'by the large crate' PP
'by' prep
'the large crate' NP
'the' Det
'large' Adj
'crate' N

1.2 Dependency Structure

句子的依存结构(dependency structure)表示了一个单词如何依赖于(修饰)另外的单词,这种单词间二元的非对称的(binary asymmetric)关系叫做依赖(dependencies),使用箭头表示,通常这些依赖形成了一个树的结构。

在这里插入图片描述

2 Dependency Parsing

依存句法分析(dependency parsing)是指给定一个句子,分析它的语法依赖的机构,输出是一个依赖树(dependency tree)。

Dependency Grammar/Parsing的历史:

  • 公元前五世纪,Panini的语法研究
  • 20世纪,Constituency/context-free grammar,R.S. Wells(1947)然后是Chomsky
  • 现代的做法来自于L.Tesniere(1959)

评估方法:UAS/LAS

2.1 Transition-based Dependency Parsing

依赖一个状态机(state machine),定义从输入的句子到输出的依赖树的映射。

2.2 Greedy Deterministic Transition-based Dependency Parsing

来自Nivre[2003]的工作,转换依赖一个状态机(state machine),包括状态(states) 和状态间的转换(transition),模型包含从一系列从初始状态(initial state)到终结(terminal state)状态的转换。形式定义如下:

States:

对于任意句子 S = w 0 w 1 . . . w n S=w_0w_1...w_n S=w0w1...wn,一个状态可以用一个三元组表示 c = ( σ , β , A ) c=(\sigma, \beta,A) c=(σ,β,A)。其中 σ \sigma σ代表一个栈由 S S S中的单词组成, β \beta β代表一个缓冲区(buff)由 S S S中的单词组成, A A A代表一个表示依赖弧(dependency arc)的集合,形式如 ( w i , r , w j ) (w_i,r,w_j) (wi,r,wj) w i , w j w_i,w_j wi,wj来自 S S S r r r描述一个依赖关系。
对于句子 S S S而言,初始状态为 c 0 = ( [ w 0 ] σ , [ w 1 , . . . , w n ] β , ∅ ) c_0=([w_0]_\sigma,[w_1,...,w_n]_\beta,\varnothing) c0=([w0]σ,[w1,...,wn]β,),即只有ROOT在栈 σ \sigma σ中,其他的单词都在缓冲区 β \beta β中,并且目前没有选出任何的动作。结束状态为这样的形式 ( σ , [ ] β , A ) (\sigma,[]_\beta,A) (σ,[]β,A)

Transitions:

在状态间定义了三种transitions
1 S H I F T SHIFT SHIFT: 移除buffer β \beta β中的第一个单词,把它压到栈 σ \sigma σ的顶部(buffer β \beta β非空)
2 L E F T − A R C r LEFT-ARC_r LEFTARCr: 把一个依赖弧 ( w j , r , w i ) (w_j,r,w_i) (wj,r,wi)添加到集合 A A A中,其中 w i w_i wi是栈顶第二个单词, w j w_j wj是栈顶的单词,然后把 w i w_i wi从栈中移除。(栈 σ \sigma σ至少要包含两个单词, w i w_i wi不可以是ROOT)
3 R I G H T − A R C r RIGHT-ARC_r RIGHTARCr: 把一个依赖弧 ( w i , r , w j ) (w_i,r,w_j) (wi,r,wj)添加到集合 A A A中,其中 w i w_i wi是栈顶第二个单词, w j w_j wj是栈顶的单词,然后把 w j w_j wj从栈中移除。(栈 σ \sigma σ至少要包含两个单词)

形式定义如下:
1.  S H I F T σ , w i ∣ β , A → σ ∣ w i , β , A 2.  L E F T − A R C r σ ∣ w i ∣ w j , β , A → σ ∣ w j , β , A ∪ { r ( w j , w i ) } 3.  R I G H T − A R C r σ ∣ w i ∣ w j , β , A → σ ∣ w i , β , A ∪ { r ( w i , w j ) } \begin{aligned} &\text{1. } SHIFT \qquad & \sigma,w_i|\beta,A \to \sigma|w_i,\beta,A \\ &\text{2. } LEFT-ARC_r \qquad & \sigma|w_i|w_j,\beta,A \to \sigma|w_j,\beta,A\cup\{r(w_j,w_i) \}\\ &\text{3. } RIGHT-ARC_r \qquad &\sigma|w_i|w_j,\beta,A \to \sigma|w_i,\beta,A\cup\{r(w_i,w_j) \} \end{aligned} 1. SHIFT2. LEFTARCr3. RIGHTARCrσ,wiβ,Aσwi,β,Aσwiwj,β,Aσwj,β,A{r(wj,wi)}σwiwj,β,Aσwi,β,A{r(wi,wj)}

2.3 Neural Dependency Parsing

这种模型性能和效率都要优于传统的方法,和先前的模型最大的区别就是它依赖于稠密(dense的特征表达而不是稀疏的(sparse),

Feature Selection:

针对模型的复杂性,可以灵活的选取神经网络的输入特征,给定一个句子S,可供选择的特征类型如下:
S w o r d S_{word} Sword: 句子S中一些单词的向量表示(vector representations)
S t a g S_{tag} Stag: 句子S中一些单词的Part-Of-Speech(POS)标签
S l a b e l S_{label} Slabel: 句子S中一些单词的arc-label,这些arc-label用于描述依赖关系

对于任意一个特征类型都有相应的嵌入矩阵(Embedding Matrix),用于把one-hot的编码映射成d维稠密向量表示(d-dimentional dense vector representations)。 对应 S w o r d S_{word} Sword的嵌入矩阵为 E w ∈ R d × N w E^w\in \mathbb{R}^{d\times N_w} EwRd×Nw,其中 N w N_w Nw代表词典(vocabulary)的大小,相应 S t a g S_{tag} Stag的为 E t ∈ R d × N t E^t\in \mathbb{R}^{d\times N_t} EtRd×Nt,相应 S l a b e l S_{label} Slabel的为 E l ∈ R d × N l E^l\in \mathbb{R}^{d\times N_l} ElRd×Nl,其中 N t N_t Nt代表不同POS标签的个数, N l N_l Nl代表不同arc-label的个数。

Feedforward Neural Network Model:

网络比较简单,包含一个输入层 [ x w , x t , x l ] [x^w,x^t,x^l] [xw,xt,xl],一个隐藏层,最后带有互熵损失(cross-entropy loss)的softmax层。隐藏层对应不同的输入特征有三个矩阵 [ W 1 w , W 1 t , W 1 l ] [W_1^w,W_1^t,W_1^l] [W1w,W1t,W1l],其中隐藏层非线性函数使用的是 f ( x ) = x 3 f(x)=x^3 f(x)=x3

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>