找回密码
 立即注册
搜索

谷歌推自然言语了解框架SLING,看文本即知语义|论文+代码

夏乙 编译自 Google Research Blog

量子位 出品 | 公众号 QbitAI

大多数自然言语了解(NLU)系统分析言语的过程是一条由分析步骤组成的流水线:先标注词性,再停止句法依存分析,然后为输入文本计算出语义表示。

谷歌打破了这条流水线上的一切步骤,把它们捏到了一同,推出了一步到位的自然言语了解系统:SLING

SLING可以直接分析自然言语文本,根据它的语义表示生成语义框架图示。与原有的大多数系统相比,它避免了自然言语了解流水线的一个严重缺陷:后面步骤中的错误解影响后续步骤的分析。

实践上,流水线式的自然言语了解系统有利于对言语了解的不同阶段停止模块化,但是,早期步骤中的错误解在后边的步骤里发生连锁反应,对最终的表示产生影响。

比如说,一个典型的流程能够会在早期步骤中停止句法依存分析,后来又需求共指消解。这种状况下,假如依存分析出现错误,共指消解的结果也会遭到影响。

而SLING这种直接从文本到语框架图示的方法中,输入的框架图示能直接捕捉到用户感兴味的语义标注,同时避开了流水线式系统所带来的圈套,还能防止出现不必要的计算。SLING运用一个公用的循环神经网络(RNN),经过框架图示上的增量编辑运算,来为输入文本计算输入表示。

而框架图示则足够灵敏,可以捕捉到很多易引发兴味的语义义务。

SLING分析器的训练只用到了输入词语,不需求依存分析等任何中间注释。

在推理阶段,SLING可以疾速停止分析,它提供了一个高效、可扩展的图示存储完成,以及一个生成高效代码来执行RNN的JIT编译器。虽然SLING如今还在实验阶段,但它在普通台式机CPU上的分析速度曾经超过了2500 token/秒。

框架语义分析

框架语义学将文本(例如一个句子)的意思表示为一组方式语句,每个方式语句成为一个“框架”,可以看作意义或者知识的一个单元,也包含和概念的交互,或者与之相关的其他框架。

SLING将一切语义框架组织成一些列插槽,每个插槽都有本人的名字(角色)和值,这个值可以是文字的,也可以是和另一个插槽之间的衔接。

比如说这句话:

Many people now claim to have predicted Black Monday.

SLING会从中认出提及的实体(例如人物、地点、事情)、测量值(例如工夫、间隔)以及其他概念(例如动词),然后将它们放置在与输入中动词相关的正确语义角色上。

比如说句中的“predict”,就表示为PREDICT-01框架。PREDICT-01和实施predict这个动作的主体有交互(插槽),经过ARG0插槽表示,ARG0与表示“people”的PERSON框架相衔接;PREDICT-01还和被预测的客体有交互,表示为ARG1插槽,和表示“Black Monday”的EVENT框架衔接。

如下图所示:

框架语义分析的义务就是直接生成一幅图示,包含像上图这样经过插槽互相衔接的框架。

下面只是一个简单的例子,框架图示很弱小,适用于各种复杂的语义标注义务。对于初学者来说,框架是一种将言语外部和外部信息结合起来的方式。然后,这就可以用来处理复杂的言语了解成绩,比如指代、隐喻、借代等。这些义务的语义框架图示只在用到的框架类型、角色、衔接限制上有所不同。

SLING

SLING经过为易引发兴味的语义框架停止优化,训练了一个RNN。网络隐藏层中曾经学习到的表示取代了流水线系统中手工调整的特征组合和中间表示。

在外部,SLING运用编码器-解码器架构,其中运用诸如原始单词,其后缀,标点符号等简单词汇特征将每个输入词编码成向量。而解码器用这种表示和本人历史中的循环特征,来计算更新框架图示以获得输入句子的预期框架语义表示所需的转换序列。

在训练模型时,SLING运用了TensorFlow和DRAGNN。

下面的动画展现了如何用一次转换将框架和角色增量添加到框架图中。

正如后面用简单例句所阐明的那样,SLING运用ARG1这一角色来衔接VERB和EVENT框架,EVOKE转换从文本中接上去的几个token中唤起指定类型的框架。异样,CONNECT转换将两个现有框架和一个特定角色衔接起来。当输入耗尽,最后一个转换(STOP)执行完成,框架图示被视为已完成,并前往给用户,用户可以查看图示,得到句子背后的语义。

这个转换系统中有一个关键方面,就是会出现一个固定大小的框架留意力缓冲区,代表最近被唤醒或修正过的框架,如上图的橙色框所示。这个缓冲区捕捉了我们倾向于想起最近唤醒、提及、加强过的知识。假如框架不再运用,随着新框架的进入,它最终会被刷新出缓冲区。这个简单的机制在捕捉大部分框架间衔接上都非常有效。

相关资源

SLING是用C++写成的,开源代码地址:

https://github.com/google/sling

相关论文SLING: A framework for frame semantic parsing

地址:https://arxiv.org/abs/1710.07032

— 完 —

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。等待有才气、有热情的同窗加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评5

跳舞的剪刀 2018-12-14 13:18:27 显示全部楼层
看看,多谢
回复

使用道具 举报

哈了少1 2018-12-14 14:42:21 显示全部楼层
不明觉厉
回复

使用道具 举报

祈Inory 2018-12-14 16:04:03 显示全部楼层
分享了
回复

使用道具 举报

我爱天思 2018-12-14 21:30:19 显示全部楼层
珍爱生命,果断回帖。
回复

使用道具 举报

1楚河汉界1 2018-12-15 07:03:22 显示全部楼层
专业抢沙发的!哈哈
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies