新智元编译
来源:ai.googleblog.com
翻译:小潘
【新智元导读】自然语言理解研究的快速发展,特别是在学习语义文本表示方面的发展可以促进一些新颖的产品,如自动写作和“Talk to Books”搜索等。本文介绍了谷歌在语义文本表示方面的最新进展,以及开源的两个新模型。
基于神经网络的自然语言理解研究的快速发展,它还可以帮助提高数据量有限的各种自然语言任务的性能,比如基于仅有的几百个标签样例来构建强大的文本。
下面,我们将讨论两篇关于Google语义表示最新进展的论文,以及在TensorFlow Hub上可以下载使用的两个新模型,我们希望开发者能够使用这些模型来构建新的、令人兴奋的应用程序。
语义文本相似度
在“从对话中学习语义文本相似性(Learning Semantic Textual Similarity from Conversations)”这篇论文中,我们引入了一种新的方法来学习语义文本相似性的句子表示。基于的想法是:如果句子有相似的反应分布,那么它们在语义上是相似的。例如,“你多大了?”和“你的年龄是多少?”这两个问题都是关于年龄的问题,可以用类似的回答作为响应,比如“我20岁”。相比之下,“你好吗?”和“你多大了?”"包含几乎相同的单词,它们有非常不同的含义并会对应不同的响应。
在这项工作中,我们的目标是通过一种响应式的分类任务来学习语义相似性,具体方法如下:给定一个对话输入,我们希望从一组随机选择的响应中对正确的响应进行分类。但是,最终的目标是学习一种能够返回表示各种自然语言关系编码的模型,包括相似性和关联性。通过添加另一个预测任务(在本例中是SNLI entailment数据集),并通过共享编码层强制执行,我们在相似度量方面获得了更好的性能,相似度的衡量指标有很多,例如用于句子相似性基准性度量的STSBenchmark和用于衡量一个问题/问题相似任务的CQA task B指标。这是因为逻辑推理与简单的等价性有很大的不同,并且为学习复杂的语义表示提供了更多的借鉴意义。
通用句子编码器
在“通用句子编码器(Universal Sentence Encoder)”中,我们引入了一个模型,它对上面描述的多任务训练进行了扩展,并增加了更多的任务,并使用一个类似于skip-thought的模型来训练它们,它可以在给定的文本范围内来预测句子。
然而,最初的skip-thought模型,是一种只使用编码器的体系结构,而非在最初的skip-thought模型中使用编码-解码体系结构来驱动预测任务的模型。通过这种方式可以大大减少训练时间,同时保留各种传递任务的性能,包括情感和语义相似的关系。其目的是提供一个单一的编码器,它可以支持尽可能广泛的应用程序,包括解释检测、关联、集群和自定义文本分类。
正如我们的论文中所描述的,通用句子编码器模型的一个版本使用了一个深度平均网络(DAN)编码器,而第二个版本使用了更复杂的自我参与的网络架构:变压器(Transformer)。
基于更复杂的体系结构的模型比简单的DAN模型在各种情绪和相似的处理任务上表现得更好,而对于短句来说它只是反应的稍微慢一些。然而,随着句子长度的增加,使用Transformer的模型的计算时间会显著增加,而DAN模型的计算时间则保持不变。
新模型
除了上面描述的通用句子编码器模型之外,我们还在TensorFlow Hub上共享两个新模型:通用句子编码器-large版(Universal Sentence Encoder - Large)和通用句子编码器-Lite版(Universal Sentence Encoder - Lite)。这些都是预先训练的张量模型,它的返回值是可变长度文本输入的语义编码。这些编码可用于语义相似度测量、相似性关系检测、分类或自然语言文本的聚类。
在我们的第二篇论文中描述了这个Large模型。它针对需要高精度语义表示的场景,以及以速度和大小为代价的最佳模型性能。
Lite模型是通过一个句子的词汇表而不是单词来训练的,这样就可以减少词汇的大小,这是模型大小的主要贡献者。它针对的是内存和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 训练了Lite模型。