人工智能时代前沿技术社区

首页 > 热点

5.31NLP的未来——语义落地(semantic Grounding)

目前基于深度学习的NLP技术已经在翻译、分类等任务上有了卓越的表现。然而在不断调参、穷举模型、增加数据的背后,是否能有另一条路可以让

作者:时风 | 2018-06-01 13:32:01


目前基于深度学习的NLP技术已经在翻译、分类等任务上有了卓越的表现。然而在不断调参、穷举模型、增加数据的背后,是否能有另一条路可以让我们让机器获得真正理解语言的能力。飞马网于531日晚,邀请到法狗狗法律人工智能技术总监庞雨秾老师为大家分享该领域的内容。

 

以下是这次分享的实录:

1527831378854912.jpg


今天直播的主题NLP的未来——语义落地,关于语义落地四个字,我会在后面的部分详细的介绍。


一、如何制造一台理解人类语言的机器

1527836938715188.jpg

第一个部分主要是探讨我们到底如何能够制造一台理解人类语言的机器,在机器学习和人工智能大热的今天,许多问题,如人脸识别、医疗诊断等都可以通过深度学习来得到很好的优化,同时在自然语言的处理,深度学习的出现也让原本无法处理的任务达到了一个很高的水准,比如说我们现在使用的深度学习对诈骗短信的识别,就是说比如把一个诈骗短信放到机器模型里面去识别到底这个是不是诈骗短信,这个准确性已经突破了95%,这个已经高于人类对诈骗短信的识别能力。

那我们是否能说机器对语言产生了理解呢?

1527836973593236.jpg

不只是说我们主要是探讨一个问题,机器是否真正有一天能够去理解自然语言,我今天更多从一个认知科学的角度来分析这个问题,所以在讨论这个问题之前,我们可以先内省一下自己,我们是如何理解和学习自己母语的,大漠孤烟直,长河落日圆,这么简单的一句话,一句诗描绘了一片苍茫的大漠晚霞的场景,引起了人们对于社会、国家、民族的无限遐想,所以我们问,语言到底是什么,为什么这么简短的一句话却能表达这么多内容。许多动物和生物都会使用自己的身体语言,包括行为、声音、光来向第三方来表达自己的认知,一头狼在发现猎物的时候就会采用嚎叫的方式来呼叫自己的同伴,而一条狗在看到主人归来的时候,就会欢快的摇摆尾巴表达内心的兴奋,蚂蚁和蜜蜂也有一套精密的沟通方式,来获得食物的所在地,一些近似于人类的动物,比如说青猴,也会使用类似的方式来提醒有老鹰还是有狮子来袭击。这些都动物似乎都在一定程度上拥有自己的交流能力,但是人类的语言有别于动物的,因为人类的语言能够更高效、灵活、精确的表达认知,人类的语言能够自由的组合,精确的描述某一种状态,比如说门前的大桥的桥洞下面有十只鸭子,这个表示的是一群鸭子游过门前桥洞的一种场景,像这种描述场景的能力,在其他动物身上是很难具备的。所以在讨论机器是否能够真正理解人类的语言之前,先讨论世上是否存在人类之外的另一种生物来理解人类的语言。


1527837020585920.jpg

1527837021272950.jpg

如果有人去过罗马,就会知道在罗马广场有一座著名的雕像,描述的是一个传说,就是有两个孪生兄弟被他们残暴的国王叔叔下令让仆人将他们扔到河里杀死,而仆人把他们挂到河边的树上就跑掉了,在这个过程中被一只母狼救下了,这只母狼用它们的奶喂养长大,最后这两兄弟被一个牧人发现带回了家,最后成长之后复仇并建立了自己的国家,而这就是罗马这个城市的来由。其实这两兄弟是非常幸运,在和狼群生活之后,仍然能回归人类文明并且能够习得人类语言,这其实是非常困难的一件事情,但实际上并非是所有的狼孩像这两兄弟幸运,许多被发现的狼孩在很小的时候和狼一起生活之后,在长大之后就无法习得人类的语言,也没办法在习惯人类的社会,比如说有一个著名的在美国的儿童,叫做吉米,而这个吉米在出生的第二个月就被父亲囚禁起来,与世隔绝,而这个吉米在十三岁的时候被人就出来,重新学习英语,但是至今仍未完全掌握。这说明了即使拥有完全一样的生理条件,但是后天的额学习和不能及时的学习,都会导致人类再也没有办法学会人类的语言,所以我们人类的基因里面只有学习语言的能力,但是并不会包含任何具体语言的内容,所以每个人生下来其实是一样的,都需要重新去学习语言,但反过来思考,只要我们具备合适的条件和恰当的学习,那么是不是任何一个生命体都有理解语言的可能呢?

1527832037120161.jpg

作为人类最好的朋友,狗一只是以具有灵性著称,特别是那些从小就和主人一起长大的小狗,尤其聪明伶俐,对于主人的指令和动作都能理解的非常到位,但这是不是真实的呢?这种理解到底是不是真实的,这种怀疑的的产生是因为心理学上有一匹著名的马,叫做汉斯,这匹马能够通过训练后计算十以内的加减法,但是在后面的研究中发现,汉斯其实并不会真正的算术,而是主人通过一些暗示让它知道答案。但其实狗是很聪明的动物,而且有别于其他动物。有一条狗叫做Rico,这其实也是一条很著名的狗,这条狗可以懂得两百多个单词的名字,包括颜色、形状这种词汇,而且实验表明,Rico真正能听懂这些单词,并且能够通过这些已经学会的单词来去推测并且学习其他新的单词。Rico有一个非常厉害的地方,就是Rico虽然不知道一个词什么意思,但是能通过推测来获知词的意思,比如说把一个黄色的球和一个红色的球放在一起,然后对Rico说把黄色的球拿过来,虽然它不知道黄色的球是什么意思,但是知道红色的是什么意思,那么它就会推断出剩下的球是黄色的,所以Rico可以实现语义的推断,并且准确的把黄色的球叼出来。为什么说狗有别于其他动物呢,这是因为狗在很早以前就已经开始被人类驯化,在驯化过程中,它们的生活环境,饮食都与人类有非常相近的地方,而且小狗在很小的时候就已经跟人进行交互,所以狗的认知体系在很大程度上与人有重合。在这种情况下,狗做出的行为很容易被人理解,而人的行为也容易被狗所理解,所以狗的语言学习能力,在众多的动物中,是一种独特的存在。所以狗的例子就说明了如果要理解人类的语言,不仅仅需要强大的脑子,你不能只在森林里奔跑,你需要去融入到人类的社会里面去,与人类有直接的、强烈的交互,最后才能产生和人类一样的认知能力,最后才能理解人类的语言。

1527837083351612.jpg

不知道有没有人看过这部电影,叫做《降临》,这部电影讲的是一群外星人来到地球,想给地球人送来一份礼物,但是却无法沟通,在沟通的过程中把礼物表达成了武器,这种情况下与人类产生很大误会,差点毁掉人类的未来。外星人有没有可能理解人类语言呢,在物理条件极端不同的情况下,两个物种间产生的语言差别是很大的,所以,就像电影描述的,外星人使用的语言,是一种陌知的语言,这种语言跟人类的象形文字是有很大区别的,但是我觉得外星人却是一种很有可能理解人类语言的个体,因为在他们的脑海中,已经对物理有了一个基本的认知。假如大家对这个物理事件有一个认知体系的话,我们只需要将这两个认知体系划上一个等号,就有可能实现一个沟通。这也表明,我们在沟通的情况下,要尽量的抓住一些共识,比如说我们和外星人沟通的时候,我们就应该抓住一些宇宙间的共识,比如说宇宙中的这些生命都需要能量,而生命都需要生存,我们抓住这些共识和特点之后,就可以进行沟通和交流,这就像来自不同地区的人类,想要互相理解对方的话也应该从对方的认知体系进行入手,所以我们要跟一个人聊天的时候,尽可能从双方共识地方入手。比如说要跟一个四川人聊天的时候,就会聊到火锅、辣椒这些事情。


说了这么多,那么我们的计算机能不能理解人类的语言呢?

1527832275837742.jpg

在我们讨论计算机之前,可以在聊一下到底什么是理解。

1527837143680676.jpg

说到理解,可能每个人都有自己的认识,但是对于脑科学来说,理解是两个或两个以上的人对同一个事物产生共识,比如说有一张上面是小猫的照片,一个人认为它是小猫,另一人也认为它是小猫,那么就可以说两个人都理解这张照片的内容。如果从大脑的FMI图上来看,假设两个人都能理解一个东西的话,意味着在脑中激活的活跃区域是相似的,比如说这张图片里面,两人同时看到了同一个物体。人类的共识可以通过脑部的这个FMI图来进行比较,但是假如我们与其他生物,或者与计算机,怎么去判断,不同的生物之间是不是产生了理解,或者说是产生了共识。

1527837143108392.jpg

比如说上图里面,人看到这只篮球之后,会产生一个脑部的激活图像,而狗也会产生一个图像,但是这两个激活的区域到底意味着什么,我们很难知道。比如说我们使用的电脑的这个深度学习技术,将篮球的图像变成一个向量,这个向量可能有n个维度,这些维度到底意味着什么,是不是和人一样都能认识到这只篮球是可以弹跳、可以被拍打的一只球体。其实我们很难去验证这些激活的图像和这些向量是不是具有相等的等同性。

1527837143131776.jpg

所以在这种情况下,我们很难从系统的内部状态来判断这两个系统是否产生了共识,也就是说是否产生了理解。这种情况下我们只能通过外部的手段,通过观察外部的表现来判断系统是不是产生了理解。比如说我们之前了解的图灵测试,就是说一台电脑是不是产生智能,怎么去判断这个事情?并不是判断某一块芯片是不是产生了电流,这是看不到的,我们应该使用一个外部的测试,找n个测试者,这些测试者坐在一起,跟电脑聊天。假如这些测试者都没办法判断出这个电脑是不是人的情况下,我们就可以说,这个电脑具有人类的智能。假如我们很难从一个系统内部来判断一个系统是不是产生了真正理解,那我们只能通过外部的现象来判断,有一篇发表的文章,就是使用了认知科学的方法来探究神经网络的黑箱。首先它使用了三类图像,第一种图像叫做颜色匹配;第二种图像叫做形状匹配;第三类图像叫做探测物图像。这篇文章的主要目的使用一个叫探侦图像的东西来探测神经网络或是深度学习这个网络它们用哪些特征去是被识别一个物体的,最后得出的结论是深度神经网络更倾向于使用形状的方式来识别物体。所以来说还是存在一种外部的方法来探测系统内部是不是真正产生了理解。

1527832374140244.jpg

所以说了这么多,到底什么是语义落地呢?

1527832374124039.jpg

所谓的落地,就是讲语义映射到真实的场景当中。比如说有一个例子,我把绿色的木块放到棕色的木块上面,然后我再把黄色的木块放在红色木块上面,那么什么木块在黄色的木块下面。对于这种问题,自然语言处理系统是很难去解答的,因为我们目前的机器很那建立一个像物理空间一样的世界去进行推理和解答,所以我们要将语义落实到真正的事件里面,来产生一个理解和推理。


二、语义落地方法论

1527837143131862.jpg

接下里介绍一些语义落地的方法论,主要三个方面。一个是纯人工的方法论,一个是机器与人交互产生理解,最后是如何用机器来完全的产生理解和落地。

1527837316127356.jpg

使用人工的方法来实现语义落地,其实很简单。我们要用人工的方法来赋予语言知识,然后通过机器的方法来做一个映射,这种情况下,机器并不需要去真正构建一个知识体系,而是由人去把这个知识体系去构建起来。最后机器只需要相对应的情况映射到知识体系就可以了。

1527832856358971.jpg

比较出名的一个就是Wordnet,这个网络主要是将词语的一些解释汇总起来,但这种情况下并不能很好的解决问题。

1527832856399464.jpg

Hownet也叫知网,假如有研究自然语言处理的同学应该知道,知网其实一个知识网络,在这个网络里,分为三个部分,动词、名词、形容词,比如说形容词就是会建立起一个树形的结构,在这个树形的结构里,它会将每一个词不断分解,如,可以分解成很多层意思,人可以是一个动物、生命、物质、实体,可以不断将一个名词的概念做分解,他们提出一个方案叫义元,每一个词语分解成一些yiyuan,所有的词语由yiyuan构成。所以在这个知网体系中,就可以映射到人类已知的维度上面。

1527832856476318.jpg

包括动词,一样可以被落地成动词模型,如架子,分解成一个包括主谓宾的动词结构模

词模型里面。所以人工建构的知识体系,映射到人类已经知道的维度空间里面去。这种维度空间,即可以用计算机处理,也可以用机器去处理,这种情况下我们可以做一个人工的语义落地。

1527832856680891.jpg

这种语义落地其实是一种比较好的方案,比如说削苹果的皮和削苹果的刀,他们之间只差一个字,但是是两个完全不同的句子,前一句中削是一个动词,而后一句表达的是一个名词。假如使用知网的这个分析器的话,我们可以知道这两句话存在很大的差异,相似度非常低;但是假如使用百度的深度神经网络的解析器,他们只相差一个字,被分析出来的结果也是一样的,相似的可能性就非常大,达到86%,这是不对的。但是我们可以发现,削苹果的皮和苹果之间存在从属关系,皮是苹果的一部分,但是这个刀并不是,这一方面的知识必须是由人工去赋予,在这种情况下,我们说深度学习不能解决这类问题,是因为不存在这方面的信息和数据让他们去推理。像刚才这个例子,我们可以看到,我们可以用人工的方式,去构建这种落地体系,刚才的例子里面人工已经赋予了意思,我们只要将这些词语映射到人工已经定义好的维度上面,然后我们就可以对这些词语进行推理和分析。

1527837367140985.jpg


那么人和机器之间存不存在一种交互的可能,通过这种交互的方式产生共识和理解呢?在斯坦福大学的这篇论文里面,他们设计了一种游戏,这个游戏就是在机器完全不知道红色方块/蓝色人方块/棕色方块的前提下,我们可以通过交互的方式,比如你告诉它将棕色的方块放在橘黄色的方块上面,这种情况下,假如它做对了,你就告诉它做对了,它会通过这种交互的方式,慢慢学会理解什么是红色的方块,什么是放在下面或者旁边,它会慢慢理解这些概念。而这种情况下,人类并没有初始的定义这些红色、棕色或者这种颜色,包括多少个这种数量的名词,而是通过人类与机器的交互的过程中,机器慢慢的习得这些定义,所以这种方式可以称之为人机交互的落地方法。

1527837367436772.jpg

那么机器有没有可能自己通过学习来认识环境中的情况,并形成自己的体系?同样有一个实验,建立了一个虚拟的环境,在这个环境里,作者构建了一个神经网络,用于识别语言,在这个环境里面,有一个问问题的机器人,称为Q,另一个回答问题的称为A,这个A能看到各种形状各种颜色的物体,Q什么也看不见,那么Q只能通过问A问题,然后A回答Q到底看到了什么

1527837367453942.jpg

可以看到实验最后,计算机两个神经网络在交互过程中,产生了自己的语言,他们具有一定的组合性,比如说它没有看到过红色的三角形,但是看到过黄的三角形,得到三角形这么一个形状的表述。这就是说机器人在神经网络的学习中,慢慢习得人类语言的可组合性,所以我们可以看到机器可以通过深度学习和强化学习的方法,慢慢形成一套他们自己的语言,并且具有人类语言的特性。而这个过程完全不需要人类的参与,称为机器落地。

1527837446126022.jpg


所以以上介绍了一些如何使用机器将一些现实中的语义符号映射到现实中的一些方法。这个过程就像是两个原始人还未产生语言,一个掉到坑里,但是他们之间没有产生语言,只能通过咿呀来告诉外面的的人他想吃东西,外面的人就会根据这个意思给他水果,比如苹果,猛烈摇头表示不是,这种情况下,再扔一个香蕉,如果对了的话就会食用,在交互过程中,就产生了对物品的理解,也就是说这两个原始人之间产生了新的语言。

三、未来

1527837367453942.jpg

从上面这些说明可以看到,不管是人类还是机器,我们在学习语言都是一个不断尝试,双方共同进化的过程。所以语言存在的意义是交流。其实可以发现,机器人能够理解红色黄色方块的概念,但是对于我们人类社会存在的一些概念还是非常难以理解的。比如说什么家庭,什么是拉肚子,什么是思考。这种很难去构建虚拟世界,并且让机器人去这个虚拟世界中去学习。那么如果想让机器人去学习这个世界,必须给机器提供一个完整的没有差别的虚拟世界,并且让机器人像人类一样去交互,只有交互才有可能让机器去理解到底什么是人类的社会。我们也需要在机器的虚拟世界中构建一个物理世界,比如说什么是上面下面,什么是速度时间,因为假如没有这些概念,就有很多问题就都没办法找到答案。

最后介绍一下对于法律领域的这些问题。法律领域额文本其实概念都是非常大的,什么是社会,什么是国家,什么是人类,什么是犯罪,很难再虚拟的计算机世界去构建。我们采用的是半人工的落地方式,将一些法律法规变成一些可以推理的符号逻辑。用户在问了一些关于法律问题的情况下,我们就可以对用户问的这些概念进行操作,通过操作就可以产生初步的推理,而这种推理很多时候,很那用深度学习活无监督学习的学习方法来学习到,所以目前只能用半人工的方式来进行语义落地。只有通过人类对物理世界和人类社会进行不断建模,才能可能真正的将机器变成能够理解人类的东西。

 

这三大部分就是今天的内容讲说。下面我们一起来看看在最后的答疑过程中,都有哪些问题呢?


1、老师能否介绍一下如何进行语料的收集与加工?


庞老师:如果你是学生的话,最好的方法就是借助学校和老师、实验室的力量去获得数据。每个公司,都会有一些公开和私有的数据,这些数据可以帮助到你进行研究,这就是为什么很多大牛都会选择进入公司的原因。公司的内部数据会完全开放给你做研究。这是其他地方得不到的。


2、老师,我是NLP方向的学生,想咨询一下有什么发SCI的好方法?


庞老师:有了数据以后,你只要定好主题。发论文并不是什么难事,发好的论文最好能在一个研究路径上面,持续地做研究,但我觉得,深度学习方向的文章太多了,你可以往这种认知科学的角度看一看。像上面那篇文章就是ACL Best Paper。


以上就是本次线上直播的主要内容,相信你对语义落地有了一定的了解。想要知道更多详细内容的小伙伴们,可以关注服务号:FMI飞马网,点击菜单栏飞马直播,即可进行学习。

微信图片_20180530151141.jpg