华为诺亚方舟实验室主任李航:自然语言处理的未来趋势

编者按:12月18日,腾讯大数据峰会暨KDD China技术峰会在深圳举行,华为诺亚方舟实验室主任李航博士在会上做了题为《自然语言处理中的深度学习:过去、现在和未来》的演讲,AI科技评论根据现场演讲整理成本文。

深度学习在自然语言处理中的应用,大概可以分成两个阶段。

  • 第一个阶段,主要是完全用深度学习的技术去做自然语言处理,是端到端的一个过程。
  • 第二个阶段,因为大家看到了深度学习在做自然语言处理的优势和不足, 从而看到了新的机会,把神经处理和符号处理结合起来。

现在第一阶段已经基本结束,开始进入第二个阶段。所以,未来自然语言处理深度学习的发展趋势应该是一个神经处理和符号处理结合的混合模式。

我在阐述这个观点的过程当中,也会介绍一下华为诺亚方舟实验室做的一些工作。华为诺亚方舟实验室,在整个华为的战略里,是肩负着人工智能、机器学习和数据挖掘方面的研究任务,既有偏长期的工作,也有偏短期的、产品化的工作,那么我今天主要是讲一讲,我们已经进行的基础性长期性的工作。主要包括在自动问答、图片检索、机器翻译、自然语言对话领域里,我们做了哪些模型,取得了什么样的效果。

| 自动问答系统

如今的自动问答系统最简单的实现方式就是检索。

假设我们有一个问答库,问答库充满了FAQ(常见问题),我们可以把它索引起来构建一个检索系统。那么如果来了一个新问题,我们可以用检索的技术,针对问题找到一系列答案候选,把候选答案与问题做匹配并做一个排序(把最相关的答案排在前面),最后把最合适的答案反馈给用户。

这里面有两个很重要的技术,一个是匹配(Matching),一个就是排序(Ranking)。匹配和排序,往往是通过离线学习来完成的,其中要构建很好的匹配模型和排序模型。

我们提出了这样的一个匹配模型“Deep Match Model CNN”,在业界一定程度上被广泛使用。其中最基本的想法就是,用卷积神经网络来去判断,一个问句和一个答句二者是否可以匹配得很好。

这是一个二维模型(一个问句和一个答句),我们把每一句话看做是词的序列,每个词用向量来表示,那么每句话是“向量序列”。我们这个模型可以通过卷积和最大池化从两个“向量序列”里抽取特征,从而根据特征来匹配。

| 图片检索

图片检索,指的就是把图片和文本相匹配,即给定一张图片,对应找到一个自然语言描述;或者反过来,给定一个自然语言描述,找到一张相关图片。

在深度学习出来之前,类似“图片检索”这样的事往往是不能做的。现在我们可以用卷积神经网络来做图片和文本的匹配。我们这里有两个CNN,左边的CNN抽取图片的特征,右边的CNN抽取文本的特征,二者的特征做匹配。我们基于大量的这种“成对”的数据来训练模型。

下面我给大家做一个演示,这是我们基于30万对的文本和图片,训练得到的一个匹配模型。比如,你输入一个自然语言描述“跟朋友公园玩耍的照片”,便得到如下图片检索结果。

我们把从网上爬来的每张照片里,人为标注了两三句话的描述,有了这样的标注数据之后,我们构建了刚才所讲的匹配模型。除此之外,没有对图片和自然语言做任何其他的处理。我们在检索结果里可以看到,头10张图片里往往都有两三张非常相关的图片,准确率是相当高了。

| 机器翻译

现在用神经网络去做机器翻译的话,最典型的模型是基于循环神经网络RNN模型,也叫做“序列对序列学习”(Sequence to Sequence Learning)。如果现在我们把中文翻译为英文,那么中文就是“源语言”,英文就是“目标语言”。

前面我们提到,可以把自然语言描述转变成“向量序列”。机器翻译,实际上就是把中文(源语言)表示的“向量序列”转换成英文(目标语言)的"向量序列",然后进行这种翻译。

这个当中有一个重要的机制,叫做Attention,将源语言序列和目标语言序列动态对应在一起。比如现在要生成“Sitting”这个单词,那么我们就要通过Attention机制,反向从源语言中找到跟“Sitting”最相关的单词“坐”。

我们在已有的模型基础上做了一个比较大的改进,在其中加入了一个覆盖向量机制(Coverage Vetor)。为什么要引入这个机制呢?传统的神经翻译机器模型,会产生过翻译(重复翻译)或少翻译的现象,那么Coverage Vetor机制,就用来记忆到目前为止,我们到底翻译了多少内容,并据此动态地去调整Attention机制。

比如在英文里面我们要产生"The"这样虚词的时候,它受到源语言的影响比较少,因为这是英文自己的语言特性决定要用“The”这样的词,所以这时就需要我们的Attention弱一些。所以我们需要动态地去调整Attention机制,从而大幅度提高机器翻译的准确率。

下面看一看我们的模型运行的效果。比如,我们到互联网上随便找一句话:

“据韩国媒体报道,因为大量中国游客取消预约,正在韩国大邱居心搞得‘炸鸡啤酒节’一项核心活动告吹。”

以下分别是诺亚方舟的神经模型和网上某个在线翻译系统给出的结果,大家可以对比来看。

需要提到的一点是,我们的这个模型是最基本的状态,并没有做其它工程上的事情。粗略来看的话,我们用这个深度学习做出的翻译结果更加流畅,当然也有一些问题,就是有些词它还没有翻译出来。

那么我们这个系统跟其他业界相比,是个什么水平呢?

在同一个测试题上,我们跟谷歌的NMT神经系统相比,还是有点差距(大约差3-4个百分点),因为他们有更大的训练库和更强的计算架构。但我们这个非常初级的模型,相比于互联网的一般的搜索引擎里面提供的机器翻译功能,效果已经好很多了。

| 自然语言对话

在自然语言对话这块,我们提出了一个叫做“Neural Responding Machine”的模型,这是业界第一个完全基于深度学习的模型去做的单轮对话系统。

刚才我们谈到的几点,包括自动问答、机器翻译,都是基于“检索”的,那么对话系统的特点,就是基于“生成”的。

当你输入一句话到这个系统里,这个系统会自动产生一个回复,这个模型是通过大量的数据训练出来的,也是一个“序列对序列学习”的模型。那么下面,我们可以看一下演示。

这个系统是我们根据微博400万份数据训练而成的,比如当你输入“我想买一部三星手机”,系统会自动生成回答“还是支持一下国产吧”。

这句生成的话,不是我们教它说的,而是它自己产生出来。我们来看第二个例子。

问:华为手机怎么样? 答:用了都说好。

第二个例子实际上是开玩笑的了,如果多次让系统看到这样的对话,它就会这样去说了。

所以这个模型是有记忆功能的,但却不是死记。在经过大量数据训练之后,它能够在96%的情况下产生自然的回复,这个是非常令人吃惊的。并且在76%的情况下,可以形成一个单轮的对话。其实自然语言对话还是非常难的,刚才看到这样的简单机制还是很难帮我们真正地去实现自然语言对话系统,这是需要大概上亿参数、几百万的神经元,把对话的模式(Pattern)记忆下来,从而产生回复。

| 神经处理与符号处理结合

刚刚的几个例子里,用大数据、深度模型完成一些端到端的任务,而且准确率还不错。特别是图片搜索和机器翻译方面,有的甚至可以接近和达到实用水平。同时,我们也明显看到深度学习在自然语言处理方面的一些局限,它针对长尾现象比较弱,很难结合人类的知识。在实际应用中,我们希望将类似人类的一般知识放到机器系统里,让这个系统能够跟我们人一样,使用这些知识。如果纯粹使用神经网络模型往往是比较困难的,所以未来的自然语言处理的发展方向,应该是深度学习(神经处理)与符号处理的结合。

所以我们面临很多挑战性的任务,但我们已经开始在这方面做一些尝试。

下面介绍几个例子,一个是在自动问答领域,我们提出一个名为“Neural Enquirer”的模型,当然我们现在还在不断改进这个模型。这个模型最基本的想法就是结合符号处理和神经处理。比如,我们有一个包含大量“奥林匹克运动会”问答关系的数据库。来了一个问询语句,比如:

Which city hosted the longest Olympic game before the game in Beijing?

这样一个长句对应着一个非常复杂的命令,我们用神经网络将其转换成向量表示,与数据库里的向量表示做匹配,经过多次匹配来真正找到复杂的逻辑关系,最后找到答案。

我们另外在做的一个事情,也是问答系统,跟刚才所讲到的相似但不完全一样。我们用到了一个包含知识图谱的知识库,包括“三元组”(图中所示为 Learning System、Knowledge Graph和Question Answering System),据此提出了一个名为“GenQA”的模型,它可以结合符号处理和神经处理,既用符号又用分布式表达做检索,通过神经网络产生答案。因为时间关系,这个模型的具体细节我不详细介绍了。

| 神经机器翻译与统计机器翻译结合

我们还在做的一件事情,就是将神经机器翻译(NMT)和统计机器翻译(SMT)结合起来。其基本想法就是,传统的统计机器翻译有很多优势,那么当我们在使用神经机器翻译的时候,用统计机器翻译来辅助。因为NMT严重依赖于大数据,如果数据不足,往往还不如你用传统的SMT方法来的好。这种结合,能够提升解决实际问题的能力,比如翻译不当或对于未登入词的翻译问题。

我们刚才谈到“序列对序列学习”可以帮助我们去做机器翻译,也就是说NMT靠自己来决定产生哪些词,那么在新模型里,SMT也会对词的产生造成影响,这两者结合起来,判断最终应该产生什么样的词。这样可以在一定程度上,提升翻译的准确度。

| CopyNet模型

刚刚我们提到单轮对话做到了76%的准确率,我们希望能够把准确率再进一步提升。不知大家有没有观察到这么一个现象,那就是我们在跟别人聊天的时候,往往会去重复一些对方已经说过的词组。比如说会发生这样的对话:

-My Name is Harry Potter. -Hi, Harry Potter.

这样的一个对话是蛮自然的。所以一个可能重要的机制就是,把问句里的一部分复制到我们答句里,使得单轮对话的效果更好、更顺畅。我们可以考虑这样的一个叫做“CopyNet”的模型,其效果是非常好的。前面我们提到,单轮对话也是“序列对序列学习”,那么当我们产生组成答句的各个词汇时,就需要决定在某个位置产生特定的词,所以每个位置都面临一个动态的选择:是生成新的词,还是从输入语句里复制一些词过来。

以上就是我们华为诺亚方舟实验室进行的一些工作,总的来说就是:深度学习确实给自然语言处理带来了一些突破性进展,主要体现在能够端到端地训练模型以完成不同的任务,包括自动问答、机器翻译和图片检索等,但是它仍然有一定的局限性。当自然语言处理涉及到更高层次的推理、知识等方面内容时,这种局限性就很容易凸显出来。所以我们现在采取的方法就是将深度学习和符号处理结合起来,这也就是自然语言处理未来的发展方向。

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

原文发表时间:2016-12-26

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

前沿 | 谷歌AI脑神经元绘制法登上Nature子刊:速度提升一个数量级

连接组学旨在综合描绘在神经系统中发现的神经网络结构,以更好地理解大脑的运作模式。这一过程需要对大脑组织进行纳米级的 3D 成像(通常使用电子显微镜),然后分析成...

672
来自专栏专知

【干货】不止准确率:为分类任务选择正确的机器学习度量指标(附代码实现)

【导读】本文是数据科学研究者William Koehrsen撰写的技术博文,介绍了在分类模型中需要用到的度量标准。我们知道,准确率是我们在分类任务中最常用到的度...

2787
来自专栏CreateAMind

使用模仿学习攻克Atari最难游戏!DeepMind新论文解读

663
来自专栏专知

一文看全ACL 2018亮点:表示学习和更具挑战性环境下的模型评价

【导读】第56届ACL大会于2018年7月15日至20日在澳大利亚墨尔本举行,Sebastian Ruder参加了会议并发表了三篇论文,并分享了他的参会感想,点...

810
来自专栏AI科技评论

大会 | 阿里巴巴ICLR论文解读:基于交替方向法的循环神经网络多比特量化

AI 科技评论按:4 月 30 日至 5 月 3 日,被学术界广泛认可为「深度学习的顶级会议」的 ICLR 2018 在加拿大温哥华举办。阿里巴巴与北大合作的一...

1192
来自专栏机器学习算法与Python学习

深度学习(deep learning)发展史

源 | 小象 本文节选自人民邮电出版社最新出版的 AI 圣经《深度学习DEEP LEARNING[1]》。《深度学习DEEP LEARNING[2]》英文版由美...

3348
来自专栏PPV课数据科学社区

Deep Learning模型最近若干年的重要进展

来自微博@唐杰THU 一个学生帮忙整理的DeepLearning模型最近若干年的重要进展。有4条脉络,整理很不错。分享一下。 Track1 cv/tens...

2818
来自专栏AI科技评论

开发 | 这六段代码隐藏着深度学习的前世今生!

AI科技评论按:本文作者Emil Wallner用六段代码解释了深度学习的前世今生,这六段代码覆盖了深度学习几十年来的重大创新和突破,作者将所有代码示例都上传了...

3297
来自专栏机器之心

演讲 | 今日头条AI技术沙龙马毅:低维模型与深度模型的殊途同归

机器之心原创 作者:邱陆陆 上周,今日头条人工智能实验室在清华大学举办了第二期 AI 技术沙龙,邀请到上海科技大学信息科学与技术学院的马毅教授带来题为「高维数据...

5207
来自专栏腾讯大讲堂的专栏

深度学习及并行化实现概述

摘要: 深度学习可以完成需要高度抽象特征的人工智能任务,如语音识别、图像识别和检索、自然语言理解等。深层模型是包含多个隐藏层的人工神经网络,多层非线性结构使其具...

2128

扫描关注云+社区