10月27日,百度在京举办主题为《机器人重塑未来生活》第五期The BIG talk活动,百度技术副总裁王海峰、康奈尔大学创意机器人实验室主任胡迪·利普森以及MIT电脑与人工智能中心主任丹妮拉·鲁斯三位嘉宾现场就人工智能机器人发展进行了探讨。
在此次论坛上,百度技术副总裁王海峰向外界解析了百度在人工智能发展方面的思考。他认为,机器人首先要理解人类的语言,其次要理解人类的知识体系,此外还要理解人本身,这些条件得到满足之后,就会获得综合思考能力。
王海峰演讲全文如下:
王海峰:大家下午好!很高兴来到百度百家的the BIG Talk现场,与大家分享我们在智能机器人方面的一些工作和思考。大家提机器人,每个人的脑子里会出现很多机器人形象,有的在生产线上做工,有的在家里帮助人们做家务,甚至有的会在足球尝战场上出现。应该说机器人的这些机械技术和控制技术,已经取得了非常多的成果,如何能让一个机器人更像人呢?我们需要让它有像人一样的智能,大家刚才看到的小度机器人,甚至可以答出很多我们很多人答不出来的问题,应该说它已经有了很高的智能。
机器人具备了什么样的能力,就具备了人的能力呢?大家知道人的能力体现在很多方面,听、说、看、行、学习,还有很重要的一点就是思考。比如说一个动物他也会有眼睛可以看,耳朵可以听,也可以去行动,甚至它也可以训练出它一些能力,比如说看见一个什么场景会采取什么动作,这些条件反射的能力。而人最重要的能力是思考,这是人特有的能力。人如何进行思考,我们如何让机器人进行思考呢?我认为需要有三方面的能力,第一个是对语言的理解,大家知道语言是人特有的一种高级的智力活动,仅仅有语言,仅仅可以说话还不够,我们还需要知道该说什么,这就是背后需要有知识的支撑,需要对知识的掌握,知识的运用,以及知识的推理等等。另一方面,人生活在一个社会里,除了跟这些客观知识打交道以外,还需要和人打交道。我们同一句话说给不同的人听的时候,他的感受是不一样的,反应不一样,这就需要机器人能够对不同的人进行建模。
我讲一个故事给大家,大家知道间谍是一群很神秘拥有很强的能力人,非常善于伪装自己,打入敌人内部让敌人发现不了。曾经有一个故事讲的是一个女特工,她能力非常强,工作做得非常好,但是她最后暴露了身份,原因是什么?是她在分娩的时候,不由自主地喊出了母语,被人发现了。这个故事说明了什么呢?语言是人思维的一个基本载体,拥有不同母语、不同语言的人,语言的特点会影响她的思维活动。我们学英语,学到比较高的境界就需要用英语思考,用英语思考相当于你的思维模式发生变化。同样一句话用中文说和英文说是不同的,例如屏幕上显示的这些,用中文和英文语序、用词、肯定和否定不一样,这说明语言本身会影响人的思维。当一个人需要和机器交流的时候,比如说问它一些问题,问它天气怎么样,或者说跟它聊天等等这些呢,其实都是用语言来进行交互的。
我们如何让机器理解语言呢?大家知道语言是人类发展了很多年发展出来的,它充分的承载了人类知识、思维、情感方方面面的积累。语言本身是很复杂的,用我们都熟悉的中文举例来说。大家知道中文词与词之间没有空格的,所以说中文面临第一个任务就是分词。请看屏幕上,“刘清楚楚动人”,大家看到这样六个字可以很容易知道这个词是什么,前面是一个人名刘清,后面是楚楚动人。同样类似的我们增加了一个字,“刘华清楚这件事”,这里便不是“刘清”了,而应该是“刘华”。再改一点,“刘华清楚地重游”,又是另一种分词结果又加一个字,“刘华清楚地记得”,又变成了刘华。下面这个例子也很有意思的,“你老张着什么急啊”,是说“老张别着急”。但再看下一句话,“你老张着什么急啊”,又不同了。上面的那些应该说还是有一个基本的分法可以分出来的,但是这句话大家看,“乒乓球拍卖完了”,到底是“乒乓球拍”卖完了,还是“乒乓球”“拍卖”完了呢?这两种说法都是对的,这就是语言的复杂性,也正是它的魅力所在,中文是一个非常有魅力的语言。下面看在百度的搜索里一个真实的例子,如果大家在百度搜索框里搜索这个是身高1.80以上的自由泳运动员,我们会直接给出这些答案,这么复杂的一个搜索,我们想把它理解好,可以找到相应的答案。左边这棵树,就是我们自然语言处理技术的基础:语义语法分析,我们可以分析出来词与词之间的关系,从而知道更准确的理解用户到底找什么。配合后台知识库里面存大量的知识检索出来,最后得到了这样的一个答案。
大家看其实“谢霆锋的儿子是谁”和“谢霆锋是谁的儿子”,这两句话的字是一样,但是顺序不一样。如果说用传统的搜索技术,我们会对其分词,算term重要性等等,由算出来的相关性找到的东西是一样的。显然这两句话问题是不一样的,我们怎么可以做到这一点呢?需要对语言有很深入的分析,对语义理解,从而知道他们要找的答案是不一样。大家上百度就可以看到,“谢霆锋的儿子是谁”,可以给“谢振轩”和“谢振南”,这是基于很深刻的语言的分析、理解技术。
再说一种就是和上下文相关的理解,比如说我们问“北京的今天天气如何”,然后给一个答案。然后又问“上海呢?”这个时候问上海呢,就三个字,如果说仅看这一句话不知道问的是什么,但是上下文相关就会知道问的就是上海的天气,而且是今天的天气。
下面一个例子也是类似的,“我计划周日北京飞杭州,帮我订票”。这个时候用户给了很多的信息,哪一天哪到哪,接下来说“请帮我预定酒店”,知道是到目的地酒店,哪一天的也知道,这是基于上下文的理解,才能做到这一点。
句和句之间的上下文不够,还可以用篇章级的上下文。比如说我们问天空为什么是蓝的,如果我们就是给出一个经典搜索的结果,百度知道里找到一个结果,就像左边的结果。但是大家看到直接拿出来的这一句话,不是真正解释天空为什么是蓝的,展开后才能看完整的解释。在很长的一大段话里,我把真正最相关的答案这一部分找出来,摘要就会是一个更好的答案。如果我们做到更好,可以给出非常明确的解答。
篇章级分析应该说比句子级更放大,对一个事件持续很长时间,几个月,甚至是几年的时间,其中有一些关键的时间点出现了一些里程碑的事件,我们也可以分析。在更长的时间段里,更多的数据里把这些关键的时间点发生的关键事件提取出来,这就是我们说的事件脉络。我给这个例子也是在百度搜索可以看到的,比如说在百度搜索棱镜门和斯诺登,右侧会给过去一段时间跟棱镜门相关的重要事件。
刚才我讲的所有例子都是中文相关的。其实人类的语言,就像刚才我也讲了间谍的故事,还会涉及到其它的语言,除了我们母语以外的其它语言。例如去国外旅游,到欧洲旅游但我不懂当地语言,有一个翻译器帮我点菜和当地人交流,这是对大家有帮助的。我们针对这种语言的理解,开发了多语言翻译系统,现在已经覆盖14个语种,36个翻译方向。既可以在网页和PC打一段文字给你翻译,包括在手机可以拿着它直接和人对话,甚至你看到一个外文菜单不懂,拿着手机摄象头一照,百度翻译就会自动为你把菜单翻译成中文的,这相当于你看到的就是一个中文菜单而不是用其它语言的菜单了。还有一个更高的境界,我们拥有语言能力,除了基本的交流和对话等等,我们发展出一些文学形式。比如说中国语言发展的非常好的诗歌,我们基于我们语言翻译技术,开发了这样的一个写诗的系统。我给系统输进去照片,自动就会做出一首诗,这是完全自动做出来的。比如说这首诗就是“日出日落一天天,人去人生几十年,人水无声情不断,水天一色韵相连。”
我接下来讲知识挖掘,对应人对知识的学习,可以从书本上学,老师家长朋友等等很多不同渠道来学。学到这些知识以后,我们构建了一个非常庞大的知识图谱,这样一个知识图谱我们有上亿级别的实体,比如说桌子一个实体,椅子是,摄像机都也是。每一个实体有很多的属性。这个凳子是白色的,是什么材质的,有很多的属性,这些属性已经有上百亿级别。而无论是实体还是属性,其增长都是线性,更多的会是什么呢?实体之间的关系,实体之间组合起来,量就会急剧增加。一个实体可以跟很多实体有不同的关系,例如一个人可能跟很多不同的人有关系,同学关系、朋友关系等等。这时候会构建更复杂的网络,这个知识图谱描述能力更强,现在我们已挖掘了千亿级别的关系在我们的知识图谱里。这些一方面从网页里挖掘,网页里有很多信息,除了本身文字信息,图片信息,还有它的排版信息,它的字号信息,它的连接等等,构成了网页非常丰富的信息,可以挖掘很多基本的知识出来。
还有文字,又回到我最开始说的语言上来了,语言文字里面蕴含很多信息。这样一句话“奢侈品牌路易威登1854年成立法国巴黎”,我们分析清楚知道里面的语法和语义关系,我们可以提取很多有用的知识来。比如说路易威登成立的时间,成立在哪儿,这是一个奢侈品牌。包括巴黎是法国的,这些都可以从这样简单的一句话里抽取出来,所以说大家看到我们可以抽取到的知识其实是非常多。抽取这些知识以后就涉及到知识的存储、检索和管理,我们把这些知识大量存在知识图谱里,要对知识相互之间的关系进行计算。“谢霆锋的儿子是谁”,问题理解了是第一步,需要在庞大的库里找到答案,这就是做相应的检索。这里包括了线下做很多的数据处理,以及线上实时地去响应用户需求。
知识推理。讲到推理其实是很复杂的一件事,比如说破案的时候有非常复杂的推理,甚至还有一些直觉在推理里面。我讲一个非常简单的例子,我们知识库里知道很多人的生日。我这里举了两个例子,一个是刘德华,一个是李彦宏先生。他们两个人的生日我们都能知道,如果问年龄,大家知道年龄是一个动态的,今年问和明年问,这个月问和下个月问,其实是不一样的。这时候不能简单说把一条某某人的年龄存在那儿,静态的放在那儿。而随着时间的迁移答案就不对,所以要计算。这种计算人看来并不复杂,但是要让机器知道年龄这样一件事应该怎么算,这个技术本身让机器如何知道,是一个我们需要做的技术。大家看到比如说刘德华是9月份生日,所以现在用今年2014年减去61年现在是53岁。李彦宏是11月份生的,现在没有到过生日的时候,所以用今年2014减生日1968应该是46,但是因为没有过生日就是45,这个是真正实时算出来的。
我们有了庞大的知识库以后,我们希望通过扩充联想不断丰富知识库,让它有越来越强大的能力。举这样一个例子,上面的这行字“谢霆锋儿子的母亲的前夫的父亲”,这句话听起来拗口,但是实际上我们把这一个一个的关系分析出来,之后得到这是谢贤,这就是联想推理过程。
我们把一些实体放在库里以后,怎么解答一些问题呢?比如说我们要找观赏鱼,我们可以先进行细分类,因为一个用户来找观赏鱼的时候,可能是对观赏鱼的某个小类更感兴趣。里面分很多小的不同的分类,我们如果把它分清楚,可能对某一类更加有兴趣,这时要在后台要做知识分类的工作。包括右边举了狗品种的例子,美食和小说,这都是在百度真实实现的。
还有一类知识,比如我们现在百度一个搜索结果,在左侧有很多自然的结果出来,同时我们在右侧会有一些相关的推荐。张飞右侧会推跟他相关的一些赵云、关羽、诸葛亮等等。例如赵云,下面还有灰色的字,给的是推荐理由。推荐理由也是我们通过自动的知识挖掘把它相关的,就是张飞和赵云是什么关系。我们这里给了,大家可以看到写的是“同事”,这个同事不是我们人编的,真的是在网上大量的挖掘,挖掘出来最后发现他们是同事关系。按道理张飞和赵云在三国时代没有同事概念,这就是互联网的能力。网友把他来的关系写成“同事”被我们挖掘出来了,关系比较贴切。点了关羽,进了关羽的搜索页,推荐了很多人出来,有一个是貂蝉,貂蝉下面给的理由就是同乡。我看过三国,听过三国的评书,看过电视剧,了解很多三国相关的知识,但是之前真的不知道他们两个是同乡。看到这个结果以后,我想知道是对是错,我在网上做了些调研,发现真是说他们两个是同乡,机器可以挖掘出来很多普通人不了解的知识。
同一个名字“李娜”,很多人都叫李娜,这个时候推荐哪一个李娜出来,这是一个问题。比如我的Query是小威,可能就是网球员李娜,给的标签就是“小威的对手”。但是如果搜的就是一首歌呢,我推荐的就是歌手李娜。人的脑袋里也是,你有好几个同学都是同一个名字,突然说这个名字,你反应出哪一个人,有和他相关的一些事情限定:这是中学同学,那是大学同学等等。
除了我刚才讲的这些大家比较直观的看到这些知识以外,还有一类也是人的高级智力活动。很多人喜欢下棋,有的下围棋,有的下象棋。国际象棋,很多年以前国际象棋,计算机已经战胜人类,围棋复杂度高很多,所以我们让我们的机器具备了一些下更难的围棋的能力。我们现在已经做到9×9围棋达到了职业选手水平,19×19也可以达到业余段位棋手水平。
刚才讲了对语言的理解,对知识的掌握和运用,还有刚才我要说就是对人的理解。人可以是对某一个个人,即使是两个亲兄弟,两个同学,他们都是不一样,但是他们有共性。真是兄弟俩一定有很多的共性,如果是同学两个人,也有很多的相似性。所以我们既要对个体建模,也要对群体建模。比如咱们今天在会场的这些人,一定是对“科技改变世界”会有兴趣,我们有一些共同的兴趣。还有社会整体趋势,现在越来越多的人开始使用智能手机,整个社会整体在发生变化。
我举一个简单的例子,这是我们真实的从百度搜索用户需求角度,我们做了一些分析,这一分析利用很多我们数据挖掘技术,自动分析出来的。用户对一些不同类别的需求,工作时间和业余时间的不同。大家可以看第三到七列是跟游戏相关,蓝色是工作时间,黄色是业余时间。按道理,打游戏应该都是业余时间的事,但我们看到这张图,大家可以发现这很有意思,这种大型游戏工作时间玩的人不多,但是也有。但是业余时间玩的人很多,但大家看网页游戏,反倒是工作时间玩的人很多,这个很有意思,我们一推理可能也一定,就是很多人工作时间忍不住想玩一下,但是玩大型网游肯定不方便,小游戏一打开玩两下,网页游戏很方便,这看上去符合人的直觉,这也是一种建模。这是另一个模型,我们每天要一日三餐,考虑吃什么,吃川菜,粤菜,做了全国各地不同地区对不同菜系感兴趣的模型,川菜受欢迎的程度很高,除了广州大家最感兴趣的还是粤菜,全国各地很多地方对川菜感兴趣。
这是个性化的例子,这怎么看?如果不同的用户,一个用户是对动漫感兴趣,一个是对快递感兴趣。我们搜SF这两个字母的时候,用户找的东西是不一样,如果对动漫感兴趣的可能是找跟动漫相关的,快递的用户找的就是顺丰速递,我们根据个人不同兴趣进行推荐,会推荐不同的东西出来。
刚才讲了三方面,语言、知识、对人的理解,我们结合起来会有综合的思考能力,综合的思考能力可以从很多方面来展现。大家看了小度机器人,这样一个小度机器人可以听人的问题,可以去回答。背后是什么,背后就是对语言的理解,对知识的掌握,从而形成我们叫“深度问答技术”。除了小度机器人,这些技术应用在百度的产品,我们问濒临灭绝的动物是什么,或者问某一个片子的片尾曲,百度都可以给出答案。“孕妇可以吃荔枝吗”,在座的朋友有多少可以回答这个问题,其实这类的问题不同人可能会有不同的回答,该怎么办?百度会告诉你,有多少人认为能吃,还会告诉你相应的能吃的原因是什么,认为不能吃的原因是什么。包括问“宝宝打嗝怎么办”,百度会告诉你怎么办,会把这些答案精炼提取出来。
说智能交互,交互有很多形式,刚才我说的问答也是一种交互,对话也是一种交互。我们的机器不仅具备了语言交互能力,可以识别声音,可以识别图像,这就是我们所说的我们可以做“多通道、多轮对话的智能交互”。我给大家看这样一幅图片,问大家这是什么花?有可能有人会觉得是樱花或者是梅花,看上去有一点像。图片相对花的部分比较小,所以机器这个时候可以很智能的提示用户说,我看不清楚,照一个花的特写。有了特写以后,因为现场照的,我们可以结合很多信息,我知道现在是什么时间照的,通过定位信息知道什么地方照的,春天的时候在玉渊潭照的很有可能就是樱花,我们结合这样的背景信息可以猜到答案是什么。如果没有这些信息后台我们会挖掘很多知识,大家记得我们会挖掘很多知识,知识会知道樱花和梅花之间的区别,花柄会有不同。我问用户有没有花柄,用户不知道,我有一个花柄的特写,他一看这就是花柄,他说那是有的。实际我们就知道它是什么花了。刚才举的是一个形象的例子,这在百度的产品里已经实现了,大家如果拿手机就可以拍一个花,有一个交互的过程就知道这个花是什么了。
还有一个涉及到交互的例子—订飞机票。屏幕中的图片是手机的一款应用,而应用的背后承载着百度的智能交互技术,通过对文字及语音的解析和理解,从而调用后台知识库里的知识,全自动地完成订票。应用的后台具有强大的处理能力,模拟出呼叫中心的业务人员在与用户交流的场景,而实际上,用户一直在与机器进行互动。
开场的时候我提到了人是有情感的,我们要对人的情感进行分析。当我们问“玉龙雪山怎么样”时,百度搜索会根据网上的评论信息,汇总统计好评、中评、差评的数量,综合出一个打分。同理,当用户搜索上海怎么样时,百度搜索会整合出用户对上海这座城市的评价。当用户搜某一个型号的汽车时,就不能简单地列举出这款汽车好或不好,因为不同用户的关注点不一样,有的用户关心动力,有的用户关心操控性,有的用户关心内饰……百度搜索可以将不同维度下大家对车的评价进行提炼,综合的对这款车进行评价。
最后说到就是计算机领域和人工智能领域非常经典的话题,“图灵测试”,这是人工智能的终极目标之一。大家知道图灵测试的过程就是让一个人和一个机器同时同样的问题,如果测试人不能确认被测试者30%的答复哪个是人、哪个是机器的回答,那么我们就认为这台机器就通过了图灵测试。
“昆明在哪个省——云南”,人和机器都能回答出。“写出一些有关‘送别’主题的唐诗”,人可能会想到,机器因为有知识库的支撑,所以也可以做到。对两个非常复杂的数字进行四则运算,机器比人快,但是如果机器瞬间给出答案,反倒让测试人发现给出答案的不是人而是机器。所以,在这个时候,机器会停顿一会,再给出答案。下面的例子就是下棋,目前围棋已经做得非常好。大家看到,如果通过这样一个图灵测试,很多的任务场景和前面我提到的内容具有很强的相关性。
如果我们把语言理解能力做得越来越好,把对知识的掌握和运用的能力做得越来越好,同时加上我们对人的理解能力,机器可以真的像人一样思考。