Dependency Parsing
句子的依赖结构表现在哪些单词依赖哪些单词。单词之间的这种关系及可以表示为优先级之间的关系等。
Dependency Parsing
通常情况下,对于一个输入句子:\(S=w_{0} w_{1} \dots w_{n}\)。 我们用 \(w_{0}\) 来表示 ROOT,我们将这个句子转换成一个图 G。
依赖性解析通常分为训练与预测两步:
- 使用已经解析的注释库训练模型 M
- 得到模型 M之后,对于句子 S,通过模型解析出图 G。
基于转换的依赖性解析
该方法就是通过训练数据训练一个状态机,通过状态机转换对源语句进行解析。
基于贪心确定性过渡的解析
这个转换的系统本质也是一个状态机,但是不同的是,对于一个初始状态,会有多个终止状态。
对于每一个源语句 \(S=w_{0} w_{1} \dots w_{n}\) 每个状态可以表示成三部分 \(c=(\sigma, \beta, A)\) 。
- 第一部分 \(\sigma\) 用来存储来自 S 的 \(w_i\) ,使用栈存储
- \(\beta\) 表示一个来自 S 的缓冲
- A 表示 \(\left(w_{i}, r, w_{j}\right)\) 的集合,其中 \(w_{i}, w_{j}\) 来自 S,然后 r 表示 \(w_{i}, w_{j}\)之间的关系。
状态初始化:
- 初始状态是 \(C_0\) 可以表示为 \(\left[w_{0}\right]_{\sigma},\left[w_{1}, \ldots, w_{n}\right]_{\beta}, \varnothing\)。可以看到只有 \(w_0\) 在 \(\sigma\) 中,其它的 \(w_i\) 都在 \(\beta\) 中。还没有任何关系。
- 终止状态就是 \(\sigma,[ ]_{\beta}, A\) 形式。
状态转换的方法:
- 从缓存中移除一个单词兵放在 \(\sigma\) 栈顶,
- \(\mathrm{L} \mathrm{EFT}-\mathrm{A} \mathrm{RC}_{r}(l)\):将 \(\left(w_{j}, r, w_{i}\right)\) 添加至集合 A,\(w_{i}\) 是栈 \(\sigma\) 的第二个数据,\(w_{j}\) 是栈顶的单词,将 \(w_{i}\) 从栈中移除,这个 ARC 关系用 \(l\) 表示。
- \(\mathrm{RIGHT}-\mathrm{ARC}_{r}(l)\):将 \(\left(w_{i}, r, w_{j}\right)\) 添加到集合 A, \(w_{i}\)是栈的第二个单词,
神经依赖性解析
神经以来解析的效果要好于传统的方法。主要区别是神经依赖解析的特征表示。
我们描述的模型使用 arc 系统作为变换,我们的目的就是将原序列变成一个目的序列。就是完成解析树。这个过程可以看作是一个 encode 的过程。
Feature Selection:
第一步就是要进行特征的选择,对于神经网络的输入,我们需要定义一些特征,一般有以下这些:
\(S_{w o r d}\):S 中一些单词的向量表示
\(S_{\text {tag}}\):S 中一些单词的 Part-of-Speech (POS) 标签,POS 标签包含一个小的离散的集合:\(\mathcal{P}=\{N N, N N P, N N S, D T, J J, \dots\}\)
\(S_{l a b el}\):S 中一些单词的 arc-labels ,这个标签包含一个小的离散集合,描述依赖关系:\(\mathcal{L}=\{\) $amod, tmod $, \(n s u b j, c s u b j, d o b j\), \(\ldots\}\)
在神经网络中,我们还是首先会对这个输入处理,将这些编码从 one-hot 编码变成稠密的向量编码
对于单词的表示我们使用 \(e_{i}^{w} \in \mathbb{R}^{d}\)。使用的转换矩阵就是 \(E^{w} \in \mathbb{R}^{d \times N_{w}}\)。其中 \(N_w\) 表示字典的大小。\(e_{i}^{t}, e_{j}^{l} \in \mathbb{R}^{d}\) 分别表示第 \(i\) 个POS标签与第 \(j\) 个ARC 标签。对应的矩阵就是 \(E^{t} \in \mathbb{R}^{d \times N_{t}}\) and \(E^{l} \in \mathbb{R}^{d \times N_{l}}\)。其中 \(N_t\) 和 \(N_L\) 分别表示所有的 POS标签 与 ARC标签的个数。我们用 \(S^{w}, S^{t}, S^{l}\) 来表示 word, POS,ARC 的信息。
例如对于上面的这个图:
\(S_{tag}= \left\{l c_{1}\left(s_{2}\right) . t, s_{2} .t, r c_{1}\left(s_{2}\right) . t, s_{1} .t\right\}\)。然后我们将这些信息变成输入层的向量,比如对于单词来说,\(x^{w}=\left[e_{w_{1}}^{w} ; e_{w_{2}}^{w} ; \ldots e_{w_{n} w}^{w}\right]\)。其中 \(S_{word}=\left\{w_{1}, \ldots, w_{n_w}\right\}\),表示输入层的信息。同样的方式,我们可以获取到 \(x^t\) 与 \(x^l\)。然后我们经过一个隐含层,这个比较好理解:
\[
h=\left(W_{1}^{w} x^{w}+W_{1}^{t} x^{t}+W_{1}^{l} x^{l}+b_{1}\right)^{3}
\]
然后再经过一个 \(softmax\) 的输出层 \(p=\operatorname{softmax}\left(W_{2} h\right)\), 其中 \(W_2\) 是一个输出的矩阵,\(W_{2} \in \mathbb{R}|\mathcal{T}| \times d_{h}\)。
POS and label embeddings
就像单词的词典一样,我们对 POS 与 ARC 也有一个集合,其中 \(\mathcal{P}=\{\mathrm{NN}, \mathrm{NNP} ,\mathrm{NNS}, \mathrm{DT}, J J, \ldots \}\) 表示单词的一些性质, 例如 \(NN\) 表示单数名词。对于 \(\mathcal{L}=\{\)$ amod, tmod, nsubj, csubj, dobj$, \(\ldots\}\)表示单词间的关系。
Dependency Parsing的更多相关文章
- Dependency Parsing -13 chapter(Speech and Language Processing)
https://web.stanford.edu/~jurafsky/slp3/13.pdf constituent-based 基于成分的phrasal constituents and phras ...
- 依存分析 Dependency Parsing
依存分析 Dependency Parsing 句子成分依存分析主要分为两种:句法级别的和语义级别的 依存句法分析 syntactic dependency parsing 语义依存分词 semant ...
- 【神经网络】Dependency Parsing的两种解决方案
一.Transition-based的依存解析方法 解析过程:首先设计一系列action, 其就是有方向带类型的边,接着从左向右依次解析句子中的每一个词,解析词的同时通过选择某一个action开始增量 ...
- Transaction Replication6:Transaction cleanup
distribution中暂存的Transactions和Commands必须及时cleanup,否则,distribution size会一直增长,最终导致数据更新耗时增加,影响replicatio ...
- ZH奶酪:自然语言处理工具LTP语言云调用方法
前言 LTP语言云平台 不支持离线调用: 支持分词.词性标注.命名实体识别.依存句法分析.语义角色标注: 不支持自定义词表,但是你可以先用其他支持自定义分词的工具(例如中科院的NLPIR)把文本进行分 ...
- (转) The major advancements in Deep Learning in 2016
The major advancements in Deep Learning in 2016 Pablo Tue, Dec 6, 2016 in MACHINE LEARNING DEEP LEAR ...
- RNN and LSTM saliency Predection Scene Label
http://handong1587.github.io/deep_learning/2015/10/09/rnn-and-lstm.html //RNN and LSTM http://hando ...
- 我和NLP的故事(转载)
正值ACL录用结果发布,国内的老师和同学们又是一次大丰收,在这里再次恭喜所有论文被录用的老师和同学们!我人品爆发,也收获了自己硕士阶段的第二篇ACL论文.本来只是想单纯分享下自己中论文的喜悦,但没成想 ...
- awesome-nlp
awesome-nlp A curated list of resources dedicated to Natural Language Processing Maintainers - Keon ...
随机推荐
- php xml解析
XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument. ...
- vue从零开始(二)指令
一.v-text和v-html <span v-text="msg"></span> <div v-html="html"> ...
- 【转】【Salesforce】salesforce 零基础学习(十七)Trigger用法
看本篇之前可以相应阅读以下Trigger相关文章: 1.https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigge ...
- OSX - Mac OS 10.12后Caps lock(大写键)无法使用的解决办法
我在OSX的虚拟机中安装了windows 7 操作系统,但是发现在win7下,大写键不起作用,通过下面方面搞定了! ▲打开设置中的键盘选项,并切换至输入源选项标签, ▲取消勾选“使用大写锁定键来回切换 ...
- Hybris订单价格的折扣维护
backoffice里创建一个新订单,维护一个行项目,添加一个产品: 在行项目的SubTotal界面,维护Base Price,在Discount values字段里,输入折扣信息:discount: ...
- VMware15.5版本通过挂载系统光盘搭建yum仓库
VMware15.5版本通过挂载系统光盘搭建yum仓库一.1.打开CentOS 7虚拟机. 2.登录虚拟机,选择未列出 用户名:root 密码:输入自己设置的密码 点击登录. 3.右键单击打开终端. ...
- SQL进阶系列之10HAVING子句又回来了
写在前面 HAVING子句的处理对象是集合而不是记录 各队,全队点名 --各队,全体点名! CREATE TABLE Teams (member CHAR(12) NOT NULL PRIMARY K ...
- Linux入侵类问题排查思路
深入分析,查找入侵原因 一.检查隐藏帐户及弱口令 检查服务器系统及应用帐户是否存在 弱口令: 检查说明:检查管理员帐户.数据库帐户.MySQL 帐户.tomcat 帐户.网站后台管理员帐户等密码设置是 ...
- webpack-dev-server 本地代理proxy
proxy: [ { context: ['/user', '/rights', '/resource/getAdNotice'], target: 'https://plus.m.jd.com', ...
- Codeforces 1251E Voting
E2. Voting (Hard Version) 题意: 有n个人, 你想让他们都给你投票. 你可以选择花费pi收买第i个人, 或者如果有mi个人已经给你投票了, 那么第i个人会自动给你投票. 不妨 ...