前沿 | 通用句子语义编码器,谷歌在语义文本相似性上的探索

作者:Yinfei Yang

机器之心编译

参与:Pedro、蒋思源

近年来,基于神经网络的自然语言理解研究取得了快速发展(尤其是学习语义文本表示),这些深度方法给人们带来了全新的应用,且还可以帮助提高各种小数据集自然语言任务的性能。本文讨论了两篇关于谷歌语义表示最新进展的论文,以及两种可在 TensorFlow Hub 上下载的新模型。

语义文本相似度

在「Learning Semantic Textual Similarity from Conversations」这篇论文中,我们引入一种新的方式来学习语义文本相似的句子表示。直观的说,如果句子的回答分布相似,则它们在语义上是相似的。例如,「你多大了?」以及「你的年龄是多少?」都是关于年龄的问题,可以通过类似的回答,例如「我 20 岁」来回答。相比之下,虽然「你好吗?」和「你多大了?」包含的单词几乎相同,但它们的含义却大相径庭,所以对应的回答也相去甚远。

论文地址:https://arxiv.org/abs/1804.07754

如果句子可以通过相同的答案来回答,那么句子在语义上是相似的。否则,它们在语义上是不同的。

这项工作中,我们希望通过给回答分类的方式学习语义相似性:给定一个对话输入,我们希望从一批随机选择的回复中分类得到正确的答案。但是,任务的最终目标是学习一个可以返回表示各种自然语言关系(包括相似性和相关性)的编码模型。我们提出了另一预测任务(此处是指 SNLI 蕴含数据集),并通过共享的编码层同时推进两项任务。利用这种方式,我们在 STSBenchmark 和 CQA task B 等相似度度量标准上取得了更好的表现,究其原因,是简单等价关系与逻辑蕴含之间存在巨大不同,后者为学习复杂语义表示提供了更多可供使用的信息。

对于给定的输入,分类可以认为是一种对所有可能候选答案的排序问题。

通用句子编码器

「Universal Sentence Encoder」这篇论文介绍了一种模型,它通过增加更多任务来扩展上述的多任务训练,并与一个类似 skip-thought 的模型联合训练,从而在给定文本片段下预测句子上下文。然而,我们不使用原 skip-thought 模型中的编码器 - 解码器架构,而是使用一种只有编码器的模型,并通过共享编码器来推进预测任务。利用这种方式,模型训练时间大大减少,同时还能保证各类迁移学习任务(包括情感和语义相似度分类)的性能。这种模型的目的是为尽可能多的应用(释义检测、相关性、聚类和自定义文本分类)提供一种通用的编码器。

论文地址:https://arxiv.org/abs/1803.11175

成对语义相似性比较,结果为 TensorFlow Hub 通用句子编码器模型的输出。

正如文中所说,通用句子编码器模型的一个变体使用了深度平均网络(DAN)编码器,而另一个变体使用了更加复杂的自注意力网络架构 Transformer。

「Universal Sentence Encoder」一文中提到的多任务训练。各类任务及结构通过共享的编码层/参数(灰色框)进行连接。

随着其体系结构的复杂化,Transformer 模型在各种情感和相似度分类任务上的表现都优于简单的 DAN 模型,且在处理短句子时只稍慢一些。然而,随着句子长度的增加,使用 Transformer 的计算时间明显增加,但是 DAN 模型的计算耗时却几乎保持不变。

新模型

除了上述的通用句子编码器模型之外,我们还在 TensorFlow Hub 上共享了两个新模型:大型通用句型编码器通和精简版通用句型编码器。

  • 大型:https://www.tensorflow.org/hub/modules/google/universal-sentence-encoder-large/1
  • 精简:https://www.tensorflow.org/hub/modules/google/universal-sentence-encoder-lite/1

这些都是预训练好的 Tensorflow 模型,给定长度不定的文本输入,返回一个语义编码。这些编码可用于语义相似性度量、相关性度量、分类或自然语言文本的聚类。

大型通用句型编码器模型是用我们介绍的第二篇文章中提到的 Transformer 编码器训练的。它针对需要高精度语义表示的场景,牺牲了速度和体积来获得最佳的性能。

精简版模型使用 Sentence Piece 词汇库而非单词进行训练,这使得模型大小显著减小。它针对内存和 CPU 等资源有限的场景(如小型设备或浏览器)。

我们很高兴与大家分享这项研究以及这些模型。这只是一个开始,并且仍然还有很多问题亟待解决,如将技术扩展到更多语言上(上述模型目前仅支持英语)。我们也希望进一步地开发这种技术,使其能够理解段落甚至整个文档。在实现这些目标的过程中,很有可能会产生出真正的「通用」编码器。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2018-05-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

前沿 | 循环神经网络不需要训练?复现「世界模型」的新发现

作者:Corentin Tallec、Léonard Blier、Diviyan Kalainathan

954
来自专栏一名叫大蕉的程序员

卷积神经网络CNN的各个层做的事情No.30

我是小蕉。 今天跟大家聊聊卷积神经网络各个层实际做的事情以及原理。 马老大在一个峰会说:"我们之前做了很多算法的优化,但是现在有了深度学习,可能用一个算法,不断...

23210
来自专栏AI研习社

分享总结 | 叶志豪:介绍强化学习及其在 NLP 上的应用

雷锋网 AI 研习社按:当 AlphaGO 横扫之后,越来越多的学者意识到强化学习在人工智能领域所扮演的重要角色。同时随着深度学习的发展,应用深度学习,很多自然...

1013
来自专栏AI研习社

文本嵌入的经典模型与最新进展

AI 研习社按:这篇文章来自自然语言处理以及机器学习专家、Huggingface 的技术负责人 Thomas Wolf,介绍了文本嵌入的重点知识和最新趋势。 A...

881
来自专栏ATYUN订阅号

Google语义文本相似性研究的进步,可为智能产品提供必要的技术

最近,基于神经网络的自然语言理解研究的快速发展,特别是学习语义文本表征,为全新产品提供必要的技术,如Smart Compose和Talk to Books。它还...

1174
来自专栏数据派THU

卷积神经网络失陷,CoordConv来填坑(附代码&视频)

本文讲述了卷积神经网络在涉及坐标建模等方面的缺陷,但是提出了CoordConv 作为解决方案。

592
来自专栏磐创AI技术团队的专栏

干货 | 图像数据增强实战

【磐创AI导读】:本文讲解了图像数据增强实战。想要获取更多的机器学习、深度学习资源,欢迎大家点击上方蓝字关注我们的公众号:磐创AI。

864
来自专栏SIGAI学习与实践平台

三维深度学习中的目标分类与语义分割

在过去的几年中,基于RGB的深度学习已经在目标分类与语义分割方面取得了非常好的效果,也促进了很多技术的发展,深度学习在现实生活中的应用也越来越多。但是在很多实际...

1274
来自专栏华章科技

一层一层剥开黑匣子:深度卷积网络的可视化

导读:由于深度卷积网络的架构复杂,参数量巨大,许多朋友会感觉它就像一个神秘的黑匣子。但其实我们已有许多手段探查深度卷积网络的具体运作,并了解其决策的原因。在此我...

663
来自专栏机器之心

学界 | MIT 提出两种新型分布式对抗网络,性能表现超越传统单点采样相关方法

选自arXiv 机器之心编译 参与:Smith 麻省理工的 Chengtao Li 等研究人员最近提出了新型的分布式对抗网络。与传统的单点采样的 GAN 方法不...

2735

扫码关注云+社区