0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是Transition-based基于转移的框架?

电子工程师 来源:lp 2019-03-19 13:40 次阅读

什么是依存句法树

依存句法树就是表示一个句子中词与词之间的依存关系,如下图

其中两个词之前的弧表示这两个词有依存关系,弧上的标签为二者的关系,弧的始发点为父亲节点,箭头指向为孩子节点。比如The 和 fox 是冠词+名词(det)的名词短语。

除了一个词,即根节点(这里为jumped)外,其他词都有词作为父亲节点,而该根节点(jumped)的父亲节点为root。

但是注意,依存句法树是不允许弧之间有交叉或者回路!

依存句法树数据表示

依存句法树的文本表示格式为conll格式,如表

根据该表的父亲节点索引和对应的弧上关系就能还原该依存句法树。其中-1表示根节点。

依存句法树的用途

我们通常将依存句法的特征融入到其他任务模型里,比如机器翻译、意见挖掘、语篇分析等,一般能得到更好的性能。

那怎么得到依存句法特征呢?通常有两种方法:

将依存句法树喂给递归神经网络,得到的隐层表示可以作为该依存句法的特征表示。

将依存句法树交给特征模板,从而得到该依存句法的特征表示。

什么是Transition-based基于转移的框架?

这个框架由状态和动作两部分构成,其中状态用来记录不完整的预测结果,动作则用来控制状态之间的转移。

用在生成依存句法树上,则具体表示为从空状态开始,通过动作转移到下一个状态,一步一步生成依存句法树,最后的状态保存了一个完整的依存树。依存分析就是用来预测词与词之间的关系,现在转为预测动作序列。在基于转移的框架中,我们定义了4种动作(栈顶的元素越小表示离栈顶越近):

移进(shift):队列首元素出栈,压入栈成为

左规约(arc_left_l):栈顶2个元素规约,下沉成为的左孩子节点,l为弧上关系。

右规约(arc_right_l):栈顶2个元素规约,下沉成为的右孩子节点,l为弧上关系。

根出栈(pop_root):根节点出栈,分析完毕。

ps:下沉的意思

0下沉,视觉效果能看出是1的孩子

所以,我们基于转移的依存句法分析器就由预测树结构问题转为预测动作序列问题。使得问题简单了不少。

Transition-based基于转移的具体例子

还是以上面的依存树为例:

一整套依存分析的动作序列(金标,训练数据)就变为:

详细解释下:

初始状态

栈为空,队列为整个文本的数字序列。这个时候只能进行移进shift操作:

因为左边栈对一个元素0,还是只能进行移进shift操作:

这个时候栈中有2个元素,我们此时看依存树

0、1之间并没有弧,不能进行规约,所以还是只能shift:

此时看栈顶两元素,发现依存树中1、2之间有依存关系

而且1为2的孩子,所以此时的动作为左规约arc_left,1下沉,为2的孩子(此时实际操作为1被踢出栈,栈里剩为0、2,踢出是因为最后能根据动作序列还原整个依存树,当然也为了接下来的操作方便),此时标签为amod:

此时栈里为0、2,再次查看依存树

发现0、2之间有依存关系,其中0为2的孩子,所以此时操作为左规约,此时标签为det

...

中间略过一些步骤,因为都是同理,这次说下第9步:

此时栈中为3、4,查看依存树

按照正常操作,此时应该arc_right右规约,但是如果真的4就下沉,就没了。而一会5要入栈,再查看依存树发现4是自己的爸爸,天呐,5的爸爸没了,找不到了,消失了,其他词都有爸爸,就5没有,还有比这个更惨的吗?这就没发再进行操作了!所以,还有一个潜规则如果操作为栈顶元素要进行arc_right时,不执行该操作,而选择shift。

而你可能会问arc_left会有这样的问题吗?不会啦,比如3、4进行arc_left操作,3下沉,如果右边的队列中有父亲节点是3,那么就表示该依存树有交叉或者回路!这种是不可能发生的,因为依存树不允许有交叉或者回路!(不信的话,你自己画画试试)

最后说下,pop_root根弹出操作,只能发生在最后

右下角的数据为词与词之间的关系,这个就是根据动作序列生成的依存关系(父亲,孩子,关系),根据该关系,就能还原成原来的依存树。

神经网络模型

我们用神经网络来进行特征抽取,该网络共分为2部分:

编码端:用来负责计算词的隐层向量表示

解码端:用来解码计算当前状态的所有动作得分

编码端

我们用Bi-LSTM来编码一个句子

,计算对应的隐层表示

。公式表示为:

其中,为词向量,为词性向量,为向量拼接。

具体解释:

就是咱们平时用的词的embedding

就是词性,比如是NN,VV,VP等。将它当成词的操作一样,用它自己的embedding(和词的embedding不是一个!)表示。

就是向量拼接,咋拼接都行,cat呀,add呀都行的。自己尝试哪个效果好用哪个,没有死规定。而我们这里用的是cat。

解码端

解码端就需要对每一个状态打出所有动作的得分。根据经验,认为栈顶三元素和队列首元素为动作预测关键特征,于是将栈顶三元素(下标越小离栈顶越近)和队列首元素进行拼接。然后用线性变换计算每一个动作的分数:

模型预测

对每一个动作的分数进行Softmax概率化,然后输入到交叉熵中,作为目标函数。然后再用Adam来进行更新模型参数,最小化目标函数:

其中为金标动作序列的概率,为模型参数。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4538

    浏览量

    98424
  • 框架
    +关注

    关注

    0

    文章

    293

    浏览量

    17035
  • 机器翻译
    +关注

    关注

    0

    文章

    138

    浏览量

    14792

原文标题:详解Transition-based Dependency parser基于转移的依存句法解析器

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Slew time和Transition time是否一样?

    Slew从名称上讲和transition并没有多大区别,但是两者的time值可能并不相同。因为如果两者完全相同的话,那为什么.lib里面slew和transition要用两个词而不用一个词呢?所以两者是有区别的。
    的头像 发表于 09-14 10:00 1159次阅读
    Slew time和<b class='flag-5'>Transition</b> time是否一样?

    图像转移基础流程

    图像转移基础流程 下料→板面清洁处理→涂湿膜→曝光→显影(贴干膜→曝光→显影)→蚀刻→去膜→进入下工序   什么是图像转移 
    发表于 03-09 16:22

    Serial Communication based on Modbus Protocol

    This is my program about Serial Communication based on Modbus Protocol.And there is no errors
    发表于 11-01 09:27

    关于EBD和NBD

    1. 状态转移图STG(State Transition Graphics),通过状态转移过程,描述复制逻辑信号之间的因果关系,和次序。2. 设计STG,或者是站在状态角度考虑问题(信号之间的因果
    发表于 03-03 10:25

    写约束时set_max_transition是不是在库元件的允许范围内,设置比较大的值比较合适?

    [td]写约束时,set_max_transition 是不是在库元件的允许范围内,设置比较大的值比较合适?这张图里面用max_transition的一半做保守估计,是不是有点画蛇添足了?
    发表于 06-23 13:46

    HOOFR-SLAM的系统框架及其特征提取

    HOOFR SLAM System: An Embedded Vision SLAM Algorithm and Its Hardware-Software Mapping-Based
    发表于 12-21 06:35

    转移指令的原理是什么?

    转移指令的原理是什么?
    发表于 01-20 06:16

    Gowin RAM Based Shift Register IP参考设计

    Gowin RAM Based Shift Register IP参考设计主要内容包括端口描述、配置调用、参考设计等。主要用于帮助用户快速了解 Gowin RAM Based ShiftRegister IP 的产品特性、特点及使用方法。
    发表于 10-08 07:40

    Transition Mode PFC Controller

    The LD7591 is a voltage mode PFC controller operating on transition mode, integrated several
    发表于 12-03 13:01 118次下载

    以PC Based Controller设计Modbus通信

    以PC Based Controller设计Modbus通信程序 一般使用PC Based Controller都是当作现场设备的一种,也就是要接受主系统的命令,做一些操作控制。以Modbus来看属于Slave的角
    发表于 04-01 14:37 18次下载

    Architecture of a DSP Based Du

    After the transitionperiod, the NTSC signal will be discontinued. In somecases, at the end of the transition period, the ATSC
    发表于 07-01 14:54 16次下载

    Model Based Design with VisSim EMBEDDED

    Model Based Design with VisSim EMBEDDED
    发表于 09-20 09:43 3次下载
    Model <b class='flag-5'>Based</b> Design with VisSim EMBEDDED

    RFID标签所有权转移协议

    随着物品所有权的转移,其上附着的RFID标签的所有权也需要转移。安全和隐私问题是标签所有权转移过程中需要研究的重点问题。在通用可组合框架下,形式化定义了RFID标签所有权
    发表于 03-09 14:25 2次下载

    如何来手动修复max transition和max capacitance

    对于这种情况,我们可以选择在该instance的右边插入一个buffer,由于buffer的驱动较强,所以让它来驱动右边的10几个instance,这样就能显著降低fanout的数目,修复max transition的violation。如下图所示:原来的instance的fanout由15个变成了4个。
    的头像 发表于 11-02 17:06 2w次阅读
    如何来手动修复max <b class='flag-5'>transition</b>和max capacitance

    时序分析Slew/Transition基本概念介绍

    今天要介绍的时序分析基本概念是Slew,信号转换时间,也被称为transition time。
    的头像 发表于 07-05 14:50 1561次阅读
    时序分析Slew/<b class='flag-5'>Transition</b>基本概念介绍