机器之心独家对话百度副总裁王海峰:NLP 的路还很长

2017年03月03日前后,机器之心独家对话百度副总裁王海峰博士,针对时下的 NLP 热点、百度相关的技术情况及其个人经历展开讨论。

同时,机器之心与百度联合推出技术专栏,探讨百度在自然语言处理领域的研究成果、实践经验与心得。

王海峰博士也表示,「理解语言、拥有智能、改变世界,希望我们的专栏能一起朝这个方向努力」。此篇专访作为合作专栏的开篇,希望读者能从中有所获益。

根据专访情况将内容分为上、下两篇:

《上篇:产品与技术》,谈百度翻译系统、信息流、知识图谱的特点与技术,以及对数据、知识、记忆等解决 NLP 问题关键点的看法;

《下篇:过去与现在》,谈王海峰博士自 1993 年来专注研究机器翻译与自然语言处理的过程,以及发展百度自然语言处理相关技术过程中的经历与思考。

上篇:产品与技术

机器之心:首先请您介绍一下,目前所负责的研究和关注的重点有哪些?

王海峰:从整体上,我在百度负责搜索、信息流、手机百度,百度新闻、百度翻译、手机浏览器、自然语言处理、知识图谱等业务,既包括技术和产品,也包括运营等。我们的很多产品如搜索、信息流等,都是技术驱动的,既有工程上的架构、策略,也有很多人工智能技术,如机器学习、数据挖掘、知识图谱、自然语言处理和语音图像技术等等。

自然语言处理一直是这些业务中非常重要的基础技术。从做搜索引擎诞生的第一天开始,最基本的 query 分析,网页内容分析,文本匹配等,都需要自然语言处理。近些年来大家都很关注人工智能,随着深度学习的应用,语音图像很多问题已解决得比较好,但自然语言处理仍然面临很多难题,也是现在人工智能的重点和热点。

十几年来,自然语言处理工作在百度一直很重要,并已有很多积累。2010 年初我加入百度后,建立了独立的自然语言处理部门。既致力于支持百度最核心的搜索和广告等业务,也对自然语言处理技术进行了完整布局。不管是偏基础的分析理解、生成,还是各种应用系统,像机器翻译、问答系统、对话系统都在开展。

百度自然语言处理技术的开展,一方面依托百度强大的数据和计算能力,另一方面将自然语言处理技术实际应用于产品也产生了更多数据。每天有非常多的用户使用搜索,而背后又有万亿量级的网页数据,绝大多数都用语言文字表示,蕴含了非常多可以挖掘的、有价值的信息和知识。这些既为自然语言处理的研究提供了非常好的基础,同时提供了非常重要的应用场景。

机器之心:您在 AAAI 上的演讲中提到百度会在 query 中用到 BOW、CNN、RNN 等技术,这些不同的技术在语义理解上有什么样的作用?怎么去应用这些技术?

王海峰:Query 理解是一个研究了很多年的方向。Query 理解分很多层,比如最基础的中文 query 理解,要做分词、命名实体识别、短语结构分析等等。在应用深度学习之前百度就达到了很好的效果,在这过程中也积累了非常丰富的用户数据。这些数据的积累又为后来应用深度学习提供了基础。

百度是世界上最早将深度学习技术应用在搜索引擎中的公司。深度学习本身具有很强的表示能力及大数据学习能力,基于百度积累的海量数据以及强大的计算资源,我们设计研发的针对性的新模型,展现出非常好的学习效果。

学习出来的是什么?更多是语义层面的匹配。用户在 query 中用的是一种表达方式,网页中对应的可能是另外一种。在用户的使用过程中,他的点击数据、行为数据隐藏着不同表达方式之间的关联,机器学习、深度学习就能学到这种关联。本质上,还是更好地利用更多的数据学到了更多东西。BOW(Bag-of-Words,词袋)就是对这些词的语义表示做简单的组合,我们用了更复杂的网络如 CNN、RNN,CNN 能更好自动捕捉一些局部结构信息,RNN及其变体在序列建模中更能体现句篇的长距离依赖特性,它们的表示能力、学习能力就会进一步增强。

神经网络不是近几年才出现的。20 多年前我读博士的时候,博士论文也用了 RNN,但那时候的数据量要小很多,计算机的计算能力甚至跟现在的手机都没法比。那时只能用很小的数据去跑模型,能跑出来、也有效果,但远远达不到今天的效果。深度学习很多基础理论也并不是近几年才产生的,但是近几年爆发式的在应用中取得了非常多的成果,大数据和强大的计算能力起到了至关重要的支撑作用。

机器之心:百度在前几年就上线了机器翻译系统,我们知道机器翻译系统可能用到神经网络、基于规则方法、基于实例的方法,还有基于统计的。这些不同的方法,如何在一个翻译系统中结合?

王海峰:我们在世界上最早把深度学习应用到大规模线上翻译系统,2015 年 5 月系统正式上线。但上线的同时,并没有把原来的方法直接替换掉。我们发现多个模型融合使用的效果是最好的,因为深度学习有些问题解决的并不好,每一种方法都有它擅长的地方。

在应用深度学习之前,基于统计的、规则的、实例的方法我们都用了。比如规则方法,擅长抽象语言知识并显式地表示出来,比如语法知识、局部的规则等。

从一种语言到另一种语言并不是完全依靠规则的,如果有限的语法能覆盖所有语言现象,翻译这件事就会变得非常简单。现实中语言是非常复杂的,表示很灵活,很多时候并不是从语法演绎出来,而是约定俗成就这么说,这时候基于实例的方法就会效果更好、效率更高。就像我们学英语时,很多时候不需要去分析,一听到中文,相应的英文就会脱口而出。

统计机器翻译方法和神经网络机器翻译有一些相似的优点,同样可以从非常庞大的语料库中学习。因为它基于参数和模型,鲁棒性也更好。统计方法需要从词,到短语,到句子一层一层去做对齐、抽取、重排序等等;而神经网络翻译模型则可以是端到端的系统,用足够的语料去训练,就可以得到不错的结果。从这个角度看,机器翻译入门的门槛变低了,但想做到特别好仍然非常难。

这几种方法,我们现在更多是在结果级进行融合。

机器之心:我们现在的知识图谱包含 3 种:实体图谱、意图图谱、关注点图谱,我们为什么要做这些不同的知识图谱,它们的情况和应用是怎么样的?

王海峰:做不同的图谱,其实是应用驱动的。基于实体的知识图谱,就是通常意义上的知识图谱。基本节点是实体,实体的属性、实体和实体之间的关系,一个基本的实体知识图谱就是这样。

为什么做关注点图谱?因为我们现在在做信息流,用户关注的不一定是实体。它可以是一个实体或者概念,比如关注人工智能、机器翻译;但也可以是一个事件,比如 AAAI 会议在旧金山召开,这不是实体或概念,而是一个事件,在实体图谱里是没有表示这样的事件的节点的。这时就需要关注点图谱。

意图图谱我们在内部也称为需求图谱,用户对话的过程中提出了一个需求,下一个需求会是什么?比如「阿拉斯加」,用户关注的是城市还是宠物?如果关注宠物那么接下来关注的是喂养、习性还是其它?这既不是一个实体,也不是一个事件关注点。所以每一种知识图谱都是由不同的应用驱动的。

机器之心:包括 UC、今日头条等等大家都在做信息流,百度在技术上有哪些不同之处?

王海峰:信息流从基本原理上讲,一端是对用户的理解,一端是对内容的理解,然后对它们进行匹配。从这个最基本点看,大家都在做类似的事,但我们可以对内容、对用户理解得更好、更充分。这背后既有数据的优势,也有技术的优势。

数据方面,通过信息流中的用户行为可以分析用户的一些兴趣点,但不限于此,比如用户搜索的 query,明确表达了用户的需求,而这些需求与用户兴趣爱好或者个体属性等是相关的。再比如用户关注了某个贴吧,这是一个非常强的信号,意味着他对这个东西很感兴趣。

所以我们做信息流不是孤立的,而是基于百度整体的各种产品,综合起来会对用户有更好的理解。

另一方面是技术。百度在人工智能的方方面面都有着非常深厚的技术积累,我们会综合利用各种技术。刚才谈到不少深度学习技术模型在百度产品中已得到很多应用,而在真正的产品应用中,其它各种机器学习方法,比如 SVM 、CRF、GBDT 等也都会用。技术的选型,是基于对应用需求的充分理解及对数据的深入分析进行的。

对内容理解这部分,则更多依赖自然语言理解。在搜索中,虽然也用到大量的自然语言处理技术,例如 query 的理解、改写等,但搜索系统的基础是关键词与文本的匹配,使用的理解技术相对简单。而对于信息流推荐系统,则需要先对一篇完整的文章有深度的分析理解,比如打上合适且丰富的标签,需要的分析理解程度会更深。

机器之心:目前我们的信息流里也有机器生成的文章,没有语病、读起来非常通顺,但会缺少所谓的「意图」。对于自动写作的意图和创造这件事,您是怎么看的?

王海峰:目前有相对做得比较好的一面,也有局限性。

写稿子、甚至写诗时,机器是在做什么?一方面是基于系统里的结构化数据,把数据组织成语句或者文章。比如我们做篮球解说,首先是拿到比赛赛况的实时数据,基于这些数据模拟解说,学习解说员的常用语言,也做一些简单的推理。再比如写诗也是首先明确诗的主题,比如「桃花」还是「月亮」?然后去规划诗的内容。其背后是基于一个大规模诗集训练得到的生成模型,基于确定好的主题和规划的内容,最后生成的很多诗歌的确看上去让人觉得很惊艳。

机器能做到上面这些,也并不意味着机器具备了真正的深层次的理解。比如桃花开了,每个人的感受不一样,联想的东西也不一样。机器并没有像人一样真正去具备这些情感,更多的是模仿已有数据。

机器相对人来说有很多更擅长的能力,但也有一些远不如人的方面。例如,让搜索匹配到合适的网页,但深层的基于背景知识进行深层次的理解及联想则比较困难。还有,比较个大小长短的,对机器来说易如反掌,但要真正去推理则很困难。再比如,机器可以模仿人来写诗,但让机器真正有感而发去搞艺术创作则很难。总结一下,机器很善于匹配、比较、模仿,但要具备像人一样的理解、推理、创造能力,则还有很长的路要走。

机器之心:对于这个问题,常识和记忆是解决的方法吗?

王海峰:知识很重要,所以我们现在很重视建设知识图谱。知识图谱的建设已经是非常浩大的工作,而如何利用这些知识进行理解、推理,是更复杂的事。

简单的推理相对容易,比如在搜索里询问名人的年龄,这不是匹配可以得到的,因为答案和当下的时间有关。静态的知识是这个名人的生日,有了生日和当前时间,做个减法就能得到年龄。这是一个简单的推理过程。

再说记忆,首先是记什么,然后是怎么用。机器可以记住网页,可以记用户日志,也可以把经过分析提取后结构化的数据和知识记住。记住了这么多,接下来就是利用这些数据和知识,去分析、去推理、去解决实际问题。

机器之心:大家都在研究用无监督学习或少量数据代替大量的标注数据,来达到同样的训练效果,在 NLP 领域我们有相关的研究或者进程吗?

王海峰:具体还是要看问题的目标是什么。如果目标是最终的结果,比如在机器翻译中使用双语语料达到源语言输入、经过翻译之后目标语言输出的目的,就可以用端到端深度学习,训练一个模型找到结果。怎么标注数据,甚至是不是真正有对词、对短语的理解就不那么重要。如果目标是做一个 Parser,得到一棵符合人的认知、人对语法理解的句法树,那就一定需要标注数据,在此基础上加入某些特定的无标注数据也可以进一步提升效果。

关于少还是多的问题,可以首先用较少的数据作为原始标注数据训练一个模型,然后设法全自动或半自动的得到更多数据。

再举一个更基本的例子,分词。有些任务涉及到理解就需要分成符合语言学定义的词,有些任务就不太关心片段是不是真正的词。有时候做信息检索是一些片段放在一起,分析 query、分析网页时是同样的片段,两个片段只要能匹配上就可以了。这时候分词的粒度是什么、分出的词是不是符合语言学定义就不那么重要了。

机器之心:现在生成对抗网络比较热门,在计算机视觉领域得到很多应用。那么生成对抗网络可以在 NLP 中应用吗?

王海峰:现在在 NLP 领域是有人在研究,但是还没有特别显著的突破。

不止是生成对抗网络,近年来深度学习在语音图像等领域的应用很成功,在 NLP 领域也出现大量研究成果,但是这些研究成果真正对应用带来质的飞跃还不多。语言的复杂性在于,语言不仅仅是表面的字符串,语言的内涵太丰富了,语言实际上是人对整个客观及主观世界的认知、描述和表达。

机器之心:那 NLP 领域,接下来需要着重解决的是哪些问题?

王海峰:根本问题还是语言的分析理解,语言的生成,以及知识的掌握和运用。

真正要让先进的 NLP 技术实现大规模应用,我认为更重要的是更好地利用大数据,尤其是实际产品应用中产生的数据。数据是动态增长的,用户会不断产生和反馈新数据。在这个动态过程中,技术会越来越完善。积累到一定程度我相信会带来质变。

 

下篇:过去与现在

机器之心:您 1993 年读大四的时候,为什么选择智能翻译作为本科毕业设计题目?

王海峰:这其中有我个人兴趣的因素,当时我觉得能让计算机来做翻译很神奇,特别有兴趣。另一方面也有机缘的因素,学校把我分配到了李生老师的课题组做毕业设计。

(注:李生,哈尔滨工业大学教授,自然语言处理领域专家,ACL 终身成就奖得主)

机器之心:当时所谓的「智能翻译」是怎样的状况?

王海峰:那时统计机器翻译方法刚刚出现,Peter Brown 那篇最经典的文章就是在 1993 年发表的(注 1)。1993 年初我做毕业设计时,还不知道那篇文章,当时最主流的还是基于规则的方法。我做毕业设计用的是基于规则的方法,这些规则都是人工写的。因为我本科是计算机学科,比较擅长把它们用程序、代码实现出来,当时还有外语系同学和我一起工作,专门负责写语言规则。

(注 1:Peter Brown et al. The Mathematics of Machine Translation: Parameter Estimation, In Computational Linguistics, 1993.)

机器之心:您硕士期间,仅用了一年就开发出了当时 863 测评第一的机器翻译系统,能和我们分享一下这段经历吗?

王海峰:刚上硕士时,我用的还是基于规则的方法。当时我写了一个很复杂的规则系统,也有小伙伴一起写语言规则、词典。那时候和现在的互联网方法相似,也是不断快速的迭代。我们会不断进行大量测试,发现翻译得不好的地方,就迅速分析解决。需要改代码,我就马上改代码;需要调规则,外语系的小伙伴就立刻调规则。有时候午饭前发现了一个修改的地方,我就直接不去吃午饭。趁小伙伴们去午饭的时间,我的代码就改好了。等他们回来,就可以继续写规则了。

那时非常有干劲儿,几乎每天都是实验楼一开门我就进实验室了,一直到晚上熄灯。当然,现在我也仍然每天很早就到办公室(笑)。

机器之心:您当年的同学们可能已经转到其他的方向,您为什么 20 多年来一直在坚持机器翻译、NLP 的研究?

王海峰:可以说很幸运,这些年一直有需要我的专业能力的工作。但也和个人性格有关,我做事比较坚持,选择了做一件事,就要负责到底,持之以恒不断地做得更好。我已经坚持了 20 多年,相信还会坚持下去,因为自然语言处理的路还很长。

机器之心:从您开始研究机器翻译,到现在机器翻译都有哪些比较重要的变化?

王海峰:之前说过的四种方法,基于规则的、实例的、统计的、神经网络的,每种方法我都经历过,每个方法都是一个很大的变化。

从根本上,我认为还是我们所拥有的基础在变。比如数据的基础,我记得刚来百度的时候,那时候特别开心,因为原来我们用统计方法找一些语料非常困难,几十万句对语料就觉得很好了。然而在百度,通过互联网挖掘到的语料要远远比这个数字大,所以百度翻译效果迅速地就上去了。

不只是机器翻译,人工智能这些年很多突破都跟数据有关,语音也是,相比早些年,语音数据获取速度在变快,成本则在降低。

机器之心:2010 年时您为什么加入百度?

王海峰:这个因素就比较多了。

首先根本的来说是整体的发展趋势。我毕业时是在外企,那时中国的 IT 公司还比较弱小,也不需要那么多特别深入的技术。随着近些年的发展,像百度这样的公司越来越强大,对 NLP 等技术的需求越来越强。到了 2010 年前后,更多的人都开始选择中国自己的企业。

比较直接的契机是 2009 年 8 月,Robin 在百度世界大会上发布框计算。我对此很关注,在我看来如果要做框计算,背后需要大量的自然语言处理的技术。所以当时就感觉到,百度要做框计算,那就该有我的用武之地了。

通过与百度人的接触,发现除了业务本身以外,大家的价值观、做事的方式等也特别匹配,所以聊过之后我很快就决定过来了。

机器之心:NLP 在百度是从您开始建设的,这个过程是怎样的?

王海峰:确切地说,自然语言处理部这个部门是我建设的,而百度自然语言处理技术的研发则在我加入百度之前就有了,当时大搜索有一个小组在做这个。我来了以后,从十几个人开始,正式成立了自然语言处理部,致力于直接满足搜索等业务需求的同时,也规划了更完整的布局及长期发展路线图。这个路线图中,既包括技术发展路线,也包括团队成员的个人成长路线。团队和业务都增长得很快,第一年团队规模就翻了好几倍,做的事情也多了很多。

机器之心:您现在主管包括搜索、手机百度、信息流等业务,在这些业务之间您如何平衡自己的精力?在学者和管理者之间又该怎样平衡?

王海峰:团队不是只有我一个人,很多人都很优秀,大家会各自有分工。这些业务在一起也有非常多的协同。

对于我来说,更重要的是把整体的目标和方向定好,并组建最适合达成这些目标的团队,然后就是带领大家高效执行及协同。因为我本人是技术背景,在全面带业务的同时,我的确也会在技术角度投入较多,会看技术发展方向和趋势,也会和大家一起去分析解决具体技术问题。

对于一个大型团队,大到你已经不可能认识每一个人,这时候更重要的是建立机制和形成文化。百度的大搜团队,有着原汁原味的简单可依赖的工程师文化。

机器之心:您最近比较关注的技术点是哪些?

王海峰:更多是希望能把人工智能的能力在各种业务充分发挥出来,比如搜索、信息流、手机百度等等。

如果人工智能再向前走,真正做到像人一样思考,除了对语言的理解还要有对知识的掌握和对人的理解。这些都要有一定的应用场景支撑,搜索就是可以支撑这件事的最大平台。到目前为止,搜索引擎拥有最多的数据和知识,它的背后是整个互联网,人类的大量知识都蕴含其中。搜索引擎有条件更快地积累需要的数据。

机器之心:在此前的采访中您提到过,「希望 NLP 的技术能更好地触及每一个人」。那接下来 NLP 触及每个人的方式,应用也好、呈现方式也好,具体会是怎样的?

王海峰:事实上 NLP 已经在触达几乎每一个人,因为它用在各种产品里。

百度绝大多数产品背后都有 NLP,2013 年我们做平台化时,NLP 的平台化也是其中一部分。当时 NLP 做了两个平台,一个是 NLPC(NLP Cloud),另一个是机器学习平台 Malloc。这两个平台当时的应用量都排在前几名,NLPC 平台现在每天调用量已经有上千亿。现在不只是百度,很多公司都很重视 NLP,应该说 NLP 已经在触达每一个人。

说到具体产品,获取信息是人的基本需求之一,在没有计算机的时代,甚至人类还没有文字的时代,始终都需要信息。获取信息最重要方式:一种是有明确需求,输入 query 去找信息;另一种是用户没有主动表达需求,但系统能个性化地猜到用户所需并推荐给用户。这就分别对应着搜索和信息流,一个是人找信息,一个是信息找人。这两种都应用了大量的自然语言处理技术。

人们每天通过搜索或信息流获取知识的同时,机器也可以不断沉淀数据和知识,不断变得更强。

面向未来看,自然语言对话会成为未来最自然的人机交互方式,这将会改变每个人使用手机及其它设备的方式,会更加直接地触达每个人。

相关领域
商业