干货 | 谷歌 AI:语义文本相似度研究进展

本文为雷锋字幕组编译的技术博客,原标题 Advances in Semantic Textual Similarity。

本文为雷锋字幕组编译的技术博客,原标题 Advances in Semantic Textual Similarity,作者为 Google AI 的软件工程师与技术主管 Yinfei Yang。

翻译 | 张韵晨 马力群 整理 | 凡江

插播一则小广告:NLP领域的C位课程,斯坦福CS224n正在AI慕课学院持续更新中,无限次免费观看!

最近基于神经网络的自然语言理解的研究的迅速发展,尤其是关于学习文本语义表示的研究,使一些十分新奇的产品得到了实现,比如智能写作与可对话书籍。这些研究还可以提高许多只有有限的训练数据的自然语言处理任务的效果,比如只利用 100 个标注的数据搭建一个可靠的文本分类器。

接下来,我们将讨论两篇最近由谷歌发表的关于语义表示研究的论文,这两个新的模型可以从 TensorFlow Hub (https://www.tensorflow.org/hub/)上下载,我们期待开发者可以利用他们搭建新的令人激动的应用程序。

语义文本相似度

Learning Semantic Textual Similarity from Conversations (https://arxiv.org/abs/1804.07754)这篇论文中,我们提出了一个新的方法来学习用来计算语义文本相似度的句子表示方法。从直觉上来说,如果两个句子有相近的关于回复信息的分布,那么它们的语义是相近的。例如,「你多大了?」与「你的年龄是多少?」都是关于年龄的问题,都有相近的回答,比如「我 20 岁了」。与此相反,「你最近怎么样?」(How are you?)与「你的多大了?」(How old are you?)包含了几乎相同的单词,但它们有不同的含义以及会引导出不同的回答。

如果多个句子有相同的回答,那么他们在语义上是相近的。否则,他们在语义上是不同的。

在这一工作中,我们的目标是通过一个回答分类任务来学习语义相似度: 给定一轮对话作为输入,我们希望从一批随机选择的回答中挑选出正确的回答。但是,我们最终的目标是学习一个可以返回表示各种自然语言间关系的编码的模型,这些自然语言间的关系包括相似度与关联性。通过加入另一个预测任务(在这一任务中,采用 SNLI entailment 数据集)与利用共享的编码层增强两者,我们在相似度衡量任务上得到了十分不错的表现,比如 STSBenchmark(一个句子相似度衡量的基准)与 CQA task B(一个问题与问题间相似度衡量的任务)。这是因为逻辑上的蕴含与简单的等价关系完全不同,而且逻辑上的蕴含提供了更多用来学习复杂的语义表示的信息。

对于给定的输入,分类被认为是一个针对潜在选择的排名问题。

通用的句子编码器

在 Universal Sentence Encoder (https://arxiv.org/abs/1803.11175)这篇论文中,我们提出了一个模型,这个模型通过添加更多的任务来扩展上述的多任务训练,采用类似于 skip 思想的预测给定的文本选项周围的句子的模型共同训练这些任务。然而,我们采用了一个只有编码器的结构来代替原来的 skip 思想中编码器-解码器的结构,我们的结构通过一个共享的编码器来驱动预测任务。采用这种方法,训练时间显著减少的同时仍保留了在各种迁移任务上的表现,包括情感与语义相似度分类。模型的目标是提供一个单独的编码器,它可以尽可能广泛地支持各种应用,包括改写检测、关联性、聚类以及自定义文本分类。

通过 TensorFlow Hub 上的通用句子编码器的输出进行句对语义相似度比较。

正如我们在这篇论文中所表述的,一个版本的通用句子编码器模型使用了深度均值网络( DAN )编码器。而第二个版本则使用了一个更为复杂的自主网络结构——转换器。

正如《通用句子编码器》论文中所表述的多任务训练,各种任务以及任务结构通过共享编码器层/参数而结合(如上图中灰色框)。

通过使用更加复杂的结构,模型与结构更简单的深度均值网络模型相比在各种情感和相似度分类任务上表现更好,而在短句子的表现上仅仅是表现的稍微慢一些。然而,随着句子长度的增加,使用转换器模型的计算时间显著增加,而深度均值网络( DAN )编码器模型的计算时间几乎保持不变。

新模型

除了上述的通用句子编码器模型之外,我们还在 TensorFlow Hub 上共享了两个新模型:大型通用句子编码器以及精简版通用句子编码器。 这些是预训练的 Tensorflow 模型,可以返回可变长度文本输入的语义编码。 这些编码可用于语义相似性度量,相关性,分类或自然语言文本的聚类。

  • 大型通用句子编码器使用我们第二篇论文中介绍的转换器编码器进行训练。 它针对需要高精度语义表示的场景以及以牺牲速度和大小为代价获取最佳性能的模型。
  • 小模型使用句子片段而不是单词进行训练,这样大幅度降低了词汇的大小,这是模型大小的主要决定因素。它针对内存和CPU等资源有限的场景,例如基于手持设备或基于浏览器的实现。

我们很高兴与社区分享这项研究和这些模型。我们相信我们在这里展示的只是一个开始,况且还有重要的研究问题需要解决。例如将这一技术扩展到更多语言(上述模型目前支持英语)。我们也希望进一步开发这种技术,以便能够理解段落甚至文档级别的文本。在实现这些任务时,可能会制作出真正”通用”的编码器。 致谢

感谢Daniel Cer、Mario Guajardo-Cespedes、 Sheng-Yi Kong、Noah Constant 进行了模型训练,Nan Hua、Nicole Limtiaco、Rhomni St. John 进行了任务迁移, Steve Yuan、Yunhsuan Sung、Brian Strope、Ray Kurzweil 参加了模型结构的讨论。特别对 Sheng-Yi Kong 和 Noah Constant 训练小模型所做的工作进行感谢。

博客原址:https://ai.googleblog.com/2018/05/advances-in-semantic-textual-similarity.html

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2018-06-12

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云时之间

NLP入门之N元语法模型

在上边我们知道其实当今的自然语言处理的主流趋势是统计自然语言处理,而统计自然语言处理的基本目的就是结合语料库中的一些数据对于某些未知的数据进行处理,从而根据这些...

35040
来自专栏企鹅号快讯

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

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

28170
来自专栏机器之心

深度 | 利用进化方法自动生成神经网络:深度进化网络DENSER

35950
来自专栏小石不识月

文本的词嵌入是什么?

词嵌入(Word embeddings)是一种单词的表示形式,它允许意义相似的单词具有类似的表示形式。

1.8K100
来自专栏人工智能头条

深度学习在自然语言处理中的应用

24840
来自专栏数据科学与人工智能

【陆勤阅读】深度学习、自然语言处理和表征方法

简介 过去几年,深度神经网络在模式识别中占绝对主流。它们在许多计算机视觉任务中完爆之前的顶尖算法。在语音识别上也有这个趋势了。 虽然结果好,我们也必须思考……它...

319100
来自专栏机器之心

资源 | 百万级字符:清华大学提出中文自然文本数据集CTW

选自arXiv 作者:Tailing Yuan等 机器之心编译 参与:刘晓坤、李泽南 文字识别一直是图像处理领域中的重要任务。近日,清华大学与腾讯共同推出了中文...

61340
来自专栏AI研习社

Quora Question Pairs 竞赛冠军经验分享:采用 4 层堆叠,经典模型比较给力

AI 研习社按:今天要介绍的比赛是 Quora Question Pairs,该比赛的目的是将具有相同意图的问题正确配对。最近本次竞赛的冠军在 Kaggle 社...

498110
来自专栏绿巨人专栏

强化学习总结

38670
来自专栏机器之心

可视化语音分析:深度对比Wavenet、t-SNE和PCA等算法

选自Medium 作者:Leon Fedden 机器之心编译 参与:Nurhachu Null、刘晓坤 这篇文章基于 GitHub 中探索音频数据集的项目。本文...

864130

扫码关注云+社区

领取腾讯云代金券