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

2018 年 5 月 26 日 机器之心

选自Google AI Blog

作者: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 等资源有限的场景(如小型设备或浏览器)。


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


原文链接:https://ai.googleblog.com/2018/05/advances-in-semantic-textual-similarity.html



本文为机器之心编译,转载请联系本公众号获得授权

✄------------------------------------------------

加入机器之心(全职记者/实习生):hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com

登录查看更多
8

相关内容

【CVPR2020-CMU】无数据模型选择,一种深度框架潜力
专知会员服务
22+阅读 · 2020年4月12日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
BERT进展2019四篇必读论文
专知会员服务
66+阅读 · 2020年1月2日
【Google论文】ALBERT:自我监督学习语言表达的精简BERT
专知会员服务
23+阅读 · 2019年11月4日
ACL 2019 | 多语言BERT的语言表征探索
AI科技评论
20+阅读 · 2019年9月6日
中文版-BERT-预训练的深度双向Transformer语言模型-详细介绍
详解谷歌最强NLP模型BERT(理论+实战)
AI100
11+阅读 · 2019年1月18日
如何匹配两段文本的语义?
黑龙江大学自然语言处理实验室
7+阅读 · 2018年7月21日
论文解读 | 基于递归联合注意力的句子匹配模型
谷歌 AI:语义文本相似度研究进展
AI研习社
22+阅读 · 2018年6月13日
干货 | 谷歌 AI:语义文本相似度研究进展
AI科技评论
24+阅读 · 2018年6月12日
简述表征句子的3种无监督深度学习方法
数盟
4+阅读 · 2018年4月23日
Heterogeneous Graph Transformer
Arxiv
27+阅读 · 2020年3月3日
Question Generation by Transformers
Arxiv
5+阅读 · 2019年9月14日
Arxiv
11+阅读 · 2019年6月19日
Arxiv
12+阅读 · 2019年2月28日
Arxiv
10+阅读 · 2018年3月22日
VIP会员
相关资讯
ACL 2019 | 多语言BERT的语言表征探索
AI科技评论
20+阅读 · 2019年9月6日
中文版-BERT-预训练的深度双向Transformer语言模型-详细介绍
详解谷歌最强NLP模型BERT(理论+实战)
AI100
11+阅读 · 2019年1月18日
如何匹配两段文本的语义?
黑龙江大学自然语言处理实验室
7+阅读 · 2018年7月21日
论文解读 | 基于递归联合注意力的句子匹配模型
谷歌 AI:语义文本相似度研究进展
AI研习社
22+阅读 · 2018年6月13日
干货 | 谷歌 AI:语义文本相似度研究进展
AI科技评论
24+阅读 · 2018年6月12日
简述表征句子的3种无监督深度学习方法
数盟
4+阅读 · 2018年4月23日
Top
微信扫码咨询专知VIP会员