雷锋网按:6月1日,在微软大厦举行的自然语言处理前沿技术分享会活动上,微软亚洲研究院(MSRA)副院长周明博士《自然语言处理前沿技术》为主题,分享了微软对神经网络翻译、聊天机器人等领域的思考,并接受了雷锋网(公众号:雷锋网)等媒体的采访。
周明博士认为,语言智能是人工智能皇冠上的明珠,如果语言智能能实现突破,跟它同属认知智能的知识和推理就会得到长足的发展,就能推动整个人工智能体系,有更多的场景可以落地。
周明博士,微软亚洲研究院副院长、国际计算语言学协会(ACL)候任主席、中国计算机学会理事、中文信息技术专委会主任、术语工作委员会主任、中国中文信息学会常务理事、哈尔滨工业大学、天津大学、南开大学、山东大学等多所学校博士导师。
以下是周明博士的现场演讲和采访,雷锋网做了不改变原意的编辑。
人工智能和人类智能
人工智能是用电脑来模拟和实现人类的智能,而人类的智能大概分如下几个层次:
第一是运算智能,记忆、计算的能力,这一点机器早已经超过人类。
第二是感知智能,包括听觉、视觉、触觉;最近两年,随着深度学习的引入,大幅度提高语音识别和图像识别的识别率,所以计算机在感知智能层面已经做得相当不错了,在一些典型的测试题下,达到或者超过了人类的平均水平。
第三认知智能,包括理解、运用语言的能力,掌握知识、运用知识的能力,以及在语言和知识基础上的推理能力。过去认知智能主要集中在语言智能这块,即自然语言处理,它简单理解了句子、篇章,实现了帮助搜索引擎、仿照系统提供一些基本的功能、提供一些简单的对话翻译。我认为语言智能是人工智能皇冠上的明珠,如果语言智能能实现突破,跟它同属认知智能的知识和推理就会得到长足的发展,就能推动整个人工智能体系,有更多的场景可以落地。
最高一层是创造智能,人们利用已有的条件,利用一些想象力甚至有一些是臆断、梦想,想象一些不存在的事情包括理论、方法、技术,通过实验加以验证,然后提出新的理论,指导更多实践,最后产生很好的作品或产品。
自然语言处理的基础技术和核心技术
我介绍一下语言在认知智能的作用,在整个人工智能体系下的作用。自然语言处理就是体现语言智能重要的技术,它是人工智能一个重要的分支,帮助分析、理解或者生成自然语言,实现人与机器的自然交流,同时也帮助人与人之间的交流。我认为自然语言处理包括以下几方面内容,第一是NLP的基础技术,围绕不同层次的自然语言处理,比如说分词、词性标注、语义分析做一些加工。后面做任何其他新的技术或者应用都必须要用到基础技术。
中间这块是NLP核心技术,包括词汇、短语、句子、篇章的表示,大家所说的Word Embedding就是在研究不同的语言单位的表示方法。它也包括机器翻译、提问和回答、信息检索、信息抽取、聊天和对话、知识工程、语言生成、推荐系统。
最后是“NLP+”,仿照“人工智能+”或“互联网+”的概念,实际上就是把自然语言处理技术深入到各个应用系统和垂直领域中。比较有名的是搜索引擎、智能客服、商业智能和语音助手,还有更多在垂直领域——法律、医疗、教育等各个方面的应用。
正如其他人工智能学科,自然语言处理也要有很多支撑技术、数据,包括用户画像,以提供个性化的服务,包括用来做训练之用的大数据,包括云计算提供、实施、训练的基础设施,包括机器学习和深度学习提供训练的技能。它一定要有各种知识支撑,比如领域知识还有常识知识。
微软对神经网络机器翻译的思考
这张图概括了神经网络机器翻译,简要的说,就是对源语言的句子进行编码,一般都是用的长短时记忆LSTM,方向进行编码。编码的结果就是有很多隐节点,每个隐节点代表从句首到当前词汇为止,与句子的语义信息。基于这些隐节点,通过一个注意力的模型来体现不同隐节点对于翻译目标词的作用。通过这样的一个模式对目标语言可以逐词进行生成,直到生成句尾。中间在某一阶段可能会有多个翻译,我们会保留最佳的翻译,从左到右持续。
这里最重要的技术是对于源语言的编码,还有体现不同词汇翻译的,不同作用的注意力模型。我们又持续做了一些工作,引入了语言知识。因为在编码的时候是仅把源语言和目标语言看成字符串,没有体会内在的词汇和词汇之间的修饰关系。我们把句法知识引入到神经网络编码、解码之中,这是传统的长短时记忆LSTM,这是模型,我们引入了句法,得到了更佳的翻译,这使大家看到的指标有了很大程度的提升。
此外,我们还考虑到在很多领域是有知识图谱的,我们想把知识图谱纳入到传统的神经网络机器翻译当中,来规划语言理解的过程。我们的一个假设就是虽然大家的语言可能不一样,但是体现在知识图谱的领域上可能是一致的,就用知识图谱增强编码、解码。具体来讲,就是对于输入句子,先映射到知识图谱,然后再基于知识图谱增强解码过程,使得译文得到进一步改善。
聊天机器人是下一个平台?
下一个方向就是“对话即平台”,英文叫做“Conversation as a Platform (CaaP)”。2016年,微软首席执行官萨提亚在大会上提出了CaaP这个概念,他认为继有图形界面的下一代就是对话,它会对整个人工智能、计算机设备带来一场新的革命。
为什么要提到这个概念呢?我个人认为,有两个原因。
第一个原因,源于大家都已经习惯用社交手段,如微信、Facebook与他人聊天的过程。我们希望将这种通过自然的语言交流的过程呈现在当今的人机交互中,而语音交流的背后就是对话平台。第二个原因则在于,现在大家面对的设备有的屏幕很小,有的甚至没有屏幕,所以通过语音的交互,更为自然直观的。因此,我们是需要对话式的自然语言交流的,通过语音助手来帮忙完成。
而语音助手又可以调用很多Bot,来完成一些具体的功能,比如说定杯咖啡,买一个车票等等。芸芸众生,有很多很多需求,每个需求都有可能是一个小Bot,必须有人去做这个Bot。对于微软而言,我们作为一个平台公司,希望把自己的能力释放出来,让全世界的开发者,甚至普通的学生就能开发出自己喜欢的Bot,形成一个生态的平台,生态的环境。
如何从人出发,通过智能助理,再通过Bot体现这一生态呢?微软在做CaaP的时候,实际上有两个主要的产品策略。
第一个是小娜,通过手机和智能设备介入,让人与电脑进行交流:人发布命令,小娜理解并执行任务。同时,小娜作为你的贴身处理,也理解你的性格特点、喜好、习惯,然后主动给你一些贴心提示。第二个就是小冰,主要负责闲聊。
无论是小冰这种闲聊,还是小娜这种注重任务执行的技术,其实背后单元处理引擎无外乎就三层技术。
第一层:通用聊天,需要掌握沟通技巧、通用聊天数据、主题聊天数据,还要知道用户画像,投其所好。
第二层:信息服务和问答,需要搜索的能力,问答的能力,还需要对常见问题表进行收集、整理和搜索,从知识图表、文档和图表中找出相应信息,并且回答问题,我们统称为Info Bot。
第三层:面向特定任务的对话能力,例如定咖啡、定花、买火车票,这个任务是固定的,状态也是固定的,状态转移也是清晰的,那么就可以用Bot一个一个实现。你有一个调度系统,你知道用户的意图就调用相应的Bot 执行相应的任务。它用到的技术就是对用户意图的理解,对话的管理,领域知识,对话图谱等等。
微软有一个叫Bot Framework的工具、平台。任何一个开发者只用几行代码就可以完成自己所需要的Bot。
这里面有很多关键技术。微软有一个叫做LUIS(Language Understanding Intelligent Service)的平台,提供了用户的意图理解能力、实体识别能力、对话的管理能力等等。比如说这句话“read me the headlines”,我们识别的结果是他想做朗读,内容就是今天的头条新闻。再比如说“Pause for 5 minutes”,我们理解它的意思是暂停,暂停多长时间?有一个参数:5分钟。所以,通过LUIS,我们可以把意图和重要的信息抽取出来,让后面Bot来读取。
自然语言处理还需要解决的问题
第一,通过用户画像实现个性化服务。现在自然语言处理基本上用户画像用得非常非常少。其实人与人的对话,其实是对不同的人说不同的话,因为我们知道对话的人的性格、特点、知识层次,我了解了这个用户,知道用户的画像,那么在对话的时候就会有所调整。目前来讲,我们还远远不能做到这一点。
第二,通过可解释的学习洞察人工智能机理。现在自然语言处理跟其他的人工智能一样,都是通过一个端对端的训练,而其实里面是一个黑箱,你也不知道发生了什么。目前还没有针对这个问题很好的解决方案,尽管有一些视觉化的工作,但是都比较粗浅,还没有达到最精准的判定和跟踪。
第三,通过知识与深度学习的结合提升效率。所谓知识和深度学习的结合,有可能很多情况下是需要有人类知识的。比如说客服,是有一些常见处理过程的。
第四,通过迁移学习实现领域自适应。如果们想翻某一个专业领域,比如说计算机领域,可能现有的翻译工具翻得不好。所以大家都在研究,有没有一种办法,能够帮助机器进行迁移学习,能够更好的运用到语音自适应上。
第五,通过强化学习实现自我演化。这就是说我们自然语言系统上线之后有很多人用,得到了有很多人的反馈,包括显式的反馈、隐式的反馈,然后通过强化学习不断的提升系统。这就是系统的自我演化。
最后,我认为也是非常关键的,通过无监督学习充分利用未标注数据。
自然语言处理未来的发展方向
第一,我认为,随着大数据、深度学习、云计算这三大要素推动,所谓认知智能,尤其是语言智能跟感知智能一样会有长足的发展。你也可以说,自然语言处理迎来了60余年发展历史上最好的一个时期。
第二,自然语言的会话、聊天、问答、对话达到实用程度。
第三,智能客服加上人工客服完美的结合,一定会大大提高客服的效率。
第四,自动写对联、写诗、写新闻稿和歌曲等等,比如说写新闻稿,给你一些数据,这个新闻稿草稿马上就写出来,你要做的就是纠正,添加内容,供不同的媒体使用等。
第五,在会话方面,语音助手、物联网、智能硬件、智能家居等等,凡是用到人机交互的,我认为基本上都可以得到应用,而且促进以上的一些产品推广。
最后,认知智能、感知智能一起努力,在很多场景下,比如说法律、医疗诊断、医疗咨询、法律顾问、投融资等等,这些方面自然语言会得到广泛的应用。
Q&A
问:微软在机器翻译这块做得怎么样,跟谷歌相比如何?微软怎样看待谷歌的神经网络翻译系统?
周明:第一,我刚才介绍了,微软原来是着眼于统计,而现在做神经网络,然后逐渐加入语言知识、领域知识。我认为我们这一条路是非常清晰的。有的公司观念跟我们有不一样,可能一直强调数据驱动,但是也做得很好。我们也不排斥他们做得好。我们认为人类的知识和数据应该好好的结合,这也是我们时刻想体现在微软机器翻译系统里面。
第二,由于微软在中国设立了研究院,我们对中文、日文,亚洲语言的理解可能有自己的长处。因为中文和日文这类的语言,其实要是做大一统的训练,推到极高的水平,其实很难,因为这里面其实有很多跟语言学有关的内容和语言知识。比如说日语有片假名、平假名,中文有成语,都要求我们做很多独特的处理。由于我们长期在进行与中国和中文相关的研究,在这方面有经验,所以能很快加入到微软机器翻译系统之中,使得相关的语言翻译质量得到保证。目前来讲,在这方面,我们在世界上是居于领先的位置。
问:微软在英文和日文这块的机器翻译做得比谷歌好一点?
周明:我并不太清楚我们跟谷歌的比较,但是我自己自信的说,由于我们在这方面所做的努力,我相信在涉及到特定语言的方面我们有独到的优势。
问:汉译英和英译汉有什么不同?哪个更难一点?
周明:中翻英是要做什么呢?首先,我们要把中文分好词,中文不像英文或者日文会有非常完全和清晰的表达。比如日文有隔助词,帮助你理解知道哪个词有什么语法作用。英文则有各种时态,体现出时间的信息。在中文里,这些信息是很模糊的,所以需要额外进行处理去帮助断定。第二,中文词序来回颠倒不影响大家理解相关的意思。但是英文是颠倒之后,会产生很大的歧义。所以,随意型的语言翻译又需要有新的技巧。
过去,中翻英要比英翻中在这方面,在形态翻译上区别非常大。可是现在有了深度学习了,这个差异就变得很小了。通过神经网络编码和解码,中翻英和英翻中,说不清楚谁更难。可以说都难,但也都可以用一套方式得到解决。我觉得,如果非要说的话,还是翻译中文难,因为中文中的成语搭配用现在的神经网络翻译起来会有很多问题。这是中翻英的一个难点。当然,英翻中也有自己的难点,因为英翻中里一词多译现象比中文要严重。所以,英翻中词义的断定和翻译可能仍面临一些困难。
问:中英夹杂的识别以及翻译难点在哪?
周明:其实这是语音识别带来的问题。中文夹英文,英文夹中文,在经历语言模型的时候,没有专门训练,就会出现错误,从而也会对后面的理解和翻译造成影响。
这件事本身是语音识别的一个难点,就跟远场识别一样,中英文混杂识别,还有新词都是语音识别目前的难点。如果识别对了,到自然语言这块来说相对就不是那么难了。因为自然语言知道这块是中文,那块是英文,处理完了之后走同样的编码、解码过去,是没有问题的。
问:现在机器能做到实时翻译吗?
周明:刚开始说话译者就开始翻了,你说完了,几乎瞬间我也听完了,这才是同声传译。这点确实有点难,包括语音识别,包括预测能力,包括两种语言词序大调整的时候,怎么巧妙的调回来,这个还是有点难。
问:机器取代同声传译的难点?
周明:什么叫做同声传译,就是讲者说话的同时,译者就翻译。其中的一个难点就在于,译者要预测你下面要说什么,保证跟你同步。机器要做到同样的预测比较难,而且一旦预测错了再回来就更困难了。
另外一个难点在于,现场远场识别会给语言带来了很多噪音,从而使识别经常会出错。因为演示的环境是经过训练的,机器适应这种语言环境。但是让大家随意在任何地方使用的话,往往不能达到很好的效果,就是因为这个环境影响因素太多,噪音太多。这都是属于我刚才说的最后一公里的问题。
问:远场降噪呢?
周明:远场降噪我们也做了很多研究工作。我觉得五到十年远场识别没有太大的问题。我觉得五到十年说彻底解决同声翻译的挑战,我不敢做这种预期,但是一定会比现在好很多。
问:关于GAN和对偶学习,微软有什么意图吗?还是都只是单纯用来减少标注性数据使用?
周明:对偶学习是我们机器学习组的研究项目,他们在最近一年内提出了新的方法,起到了很好的反响。他的思路是,在没有任何标注语料的时候,中翻英,然后再翻译回来,跟原来的句子相比较从而调整系统,使这两个系统都能够得到相应的改进。
我认为GAN的系统跟对偶学习不完全一样。GAN初衷也不是非要解决无标注数据的问题。GAN其实是想把两方通过一个对看的过程,使得它俩都得到提升。所以它们在初衷上有不同的地方。所以我认为他们是有细微不同的。
AI慕课学院近期推出了《NLP工程师入门实践班:基于深度学习的自然语言处理》课程!
三大模块,五大应用,海外博士讲师手把手教你入门NLP,更有丰富项目经验相授;算法+实践,搭配典型行业应用;随到随学,专业社群,讲师在线答疑!
课程地址:http://www.mooc.ai/course/427
加入AI慕课学院人工智能学习交流QQ群:624413030,与AI同行一起交流成长
。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/85764.html