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

作者: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 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

微软IJCAI演讲PPT Part II:深度学习在统计机器翻译和对话上的应用

前天我们翻译了微软关于NLP(自然语言处理)的PPT的概览部分,今天我们为大家带来了这份PPT的第二部分:同上次一样,我们将翻译内容放在图里的同时也写在了下面,...

3456
来自专栏企鹅号快讯

一文读懂机器学习概率图模型

来源:机器之心 本文长度为10085字,建议阅读15分钟 本文结合基础应用示例系统性的为你讲解概率图模型。 概率图模型是人工智能领域内一大主要研究方向。近日,数...

2657
来自专栏机器之心

读懂概率图模型:你需要从基本概念和参数估计开始

选自statsbot 作者:Prasoon Goyal 机器之心编译 参与:Panda 概率图模型是人工智能领域内一大主要研究方向。近日,Statsbot 团...

37311
来自专栏LhWorld哥陪你聊算法

【机器学习】--xgboost从初识到应用

在 Kaggle 的很多比赛中,我们可以看到很多 winner 喜欢用 xgboost,而且获得非常好的表现,今天就来看看 xgboost 到底是什么以及如何应...

1222
来自专栏机器之心

学界 | 对比对齐模型:神经机器翻译中的注意力到底在注意什么

4195
来自专栏AI科技评论

深度学习鼻祖Geoffrey Hinton带你入门机器学习(36页干货PPT)

雷锋网注:Geoffrey Everest Hinton(杰弗里·埃弗里斯特·辛顿 )是一位英国出生的计算机学家和心理学家,以其在神经网络方面的贡献闻名。辛顿是...

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

学好机器学习需要哪些数学知识?

“ 随机过程,实分析。机器学习往深里做肯定需要用这种,高级的数学语言去对问题进行描述。我本人对随机和实分析,其实目前也还只是略懂,很难说,真正的彻底掌握这两门十...

1783
来自专栏IT派

读懂概率图模型:你需要从基本概念和参数估计开始

概率图模型是人工智能领域内一大主要研究方向。近日,Statsbot 团队邀请数据科学家 Prasoon Goyal 在其博客上分两部分发表了一篇有关概率图模型的...

4224
来自专栏绿巨人专栏

强化学习读书笔记 - 08 - 规划式方法和学习式方法

41110
来自专栏新智元

NLP重磅!谷歌、Facebook新研究:2.26亿合成数据训练神经机器翻译创最优!

机器翻译依赖于大型平行语料库,即源语和目的语中成对句子的数据集。但是,双语语料是十分有限的,而单语语料更容易获得。传统上,单语语料被用于训练语言模型,大大提高了...

1812

扫码关注云+社区

领取腾讯云代金券