一、人工智能及自然语言智能
什么是自然语言智能?自然语言智能研究实现人与计算机之间用语言进行有效通信。它是融合语言学、心理学、计算机科学、数学、统计学于一体的科学,它涉及到自然语言和形式化语言的分析、抽取、理解、转换和产生等多个课题。人工智能无疑是当前非常火热的研究方向,司罗研究员按照人工智能的发展层面将其分为计算智能、感知智能、认知智能和创造智能4个阶段。
图 1 人工智能发展层次
计算智能是人工智能中比较基础的层面,指的是计算机或者机器依靠自己快速的大量计算能力、海量的存储能力来完成一些人类所不能完成的任务,比如谷歌的Alphago就属于这类智能。计算智能之上是感知智能,指的是能够在广泛非结构化的信息中心找到重要信息的智能,比如在新闻文章中找到人名、地名、组织名等重要要素,又比如计算机视觉能够通过人脸识别找出人脸ID等等。感知智能之上是认知智能,它是在感知智能找到重要信息之后试图寻找这些信息之间的联系,然后做一些相应的重要推理工作,比如在海量新闻报道中找到重要事件的发生、发展、高潮、过程、结束,又比如通过计算机视觉找到同一个人在不同时间、不同场景下的移动轨迹以及做的事情等。在以上智能的基础上,更高级的是创造智能,它能够真的生成复杂的、满足语义的、符合常理的设想,是属于高级智能。当前计算机还不能够写出非常自恰的小说,如果未来某一天计算机或者人工智能能够进行非常复杂的科学工作,如数学推理、物理研究等,才能够称之为创造智能。在感知智能、认知智能和创造智能的背后,涉及到大量的语义的理解、常识的推理,而自然语言处理是实现这些高层智能必不可少的技术,也是一个非常有挑战的任务。
二、达摩院语言技术研发体系
2019年自然语言智能的发展取得了一些重要进展:深度语言模型突破式发展,引领重要自然语言技术取得进展;共有云NLP技术服务从通用功能走向定制化服务;自然语言技术逐步与行业/场景紧密结合,产生更大价值。2020年自然语言智能也会朝着这些方向更进一步的发展。阿里巴巴是一家技术驱动的公司,自然会争做技术的引领者,成立了专注于自然语言智能的达摩院语言实验室,其目标主要有:
1.构建阿里巴巴自然语言技术体系,支撑阿里经济体语言技术和应用;
2.赋能阿里巴巴合作者,发展普惠自然语言技术;
3.创新自然语言技术,探索未来智能;
达摩院语言实验室成立两年多来,不断地发展、完善技术体系,在各类国内国际的技术评测中取得了优异的成绩,如:2016年ACM CKIM Cup 个性化电商搜索国际竞赛No.1、2017年美国标准计量局信息抽取英文实体分类比赛No.1、2019年语义理解评测(SemEval)大会上谣言识别和地名分析等4个项目No.1、2020年3月在著名Gluebenchmark语言模型评测集上取得No.1等等。参与这些技术评测的目的不是为了评测本身,而是为了验证达摩院的技术、完善技术体系,然后把技术沉淀到自然语言技术平台中,赋能阿里内部的应用以及阿里的的合作伙伴,创造更大的商业价值。
(一)自然语言技术平台
达摩院语言实验实验室依托自己的技术能力打造了如图2所示的自然语言技术平台。其中,最底层是数据层,收集了包括语言字典、分词/词性标注语料库、实体语料库、情感语料库等在内的海量数据;在数据层之上,达摩院语言实验室构建了完整的NLP基础算法,从基础的词法分析到句法分析、语义分析、文本分析到最后的深度模型的构建都囊括在内;在基础算上之上是NLP技术的垂直技术,包括内容搜索、内容推荐、情感分析、商品理解等等;最后,将NLP垂直技术组合起来支持复杂的NLP应用,比如搜索、推荐、翻译、广告等。
图 2 达摩院语言实验室自然语言技术平台
(二)翻译技术平台
自然语言非常重要的一个分支是翻译技术,它可以帮助我们消除商业交流和沟通中的语言障碍。语料平台是翻译技术的重要组成部分,包括语料抓取平台、众包寻源、语料质量评估等;在语料平台之上是多语言NLP技术,包括多语言分词、中心词识别、实体识别和拼写纠错;在多语言NLP技术的基础上有了机器翻译技术,主要包括统计翻译技术、多语言统一翻译模型以及最近非常火的神经网络机器翻译等等;在机器翻译技术的支持下,翻译技术才能够支撑不同的跨语言解决方案,进而在不同的业务场景中发挥应用,比如电商中标题的翻译、详情的翻译、评论的翻译等等,在阿里内部也有非常多的场景应用,包括速卖通、ICBU、菜鸟等,包括阿里云的国际化、菜鸟的国际化,翻译技术都在其中发挥了重要作用。
图 3 翻译技术平台
阿里巴巴的机器翻译技术支撑了阿里巴巴内部广阔的国际化应用场景,支持了70多个业务方,有着超过170个的场景应用,日均调用量达到了10亿,积累了大量的语料数据,同时,通过核心的神经网络机器翻译引擎来支持了大量重要的工作,创造了数亿美元的业务价值。机器翻译不是为了替代人工,在很多情况下是为了通过人机协同,来提高效率,更高效的完成工作。通过海量的应用场景,这些技术能够支持更广泛的国际化场景,让商业没有语言障碍,创造更大的价值。
(三)NLP自学习平台
前面的自然语言技术平台和翻译技术平台都是比较通用的NLP平台,用比较通用的模型来支持相应的工作。然而,在赋能合作伙伴的时候发现各个企业的需求往往是更加多样化的,且场景化、行业化有高度的定制依赖,很多数据有高度的隐私,并且缺少平台化的解决方案。另外,阿里的合作伙伴很多只是使用者,并不是算法的开发人员,所以需要向这些合作者提供面向低算法基础用户设计的NLP定制化标注、训练、预测一体化的服务平台。根据实际场景的需求,达摩院语言实验室设计了NLP自学习平台。该平台从数据标注开始,提供了相对完整的数据中心来帮助用户进行标注和做数据质检,然后用户可以通过自然语言自学习平台训练与行业场景紧密贴合的模型,赋能业务,创造商业价值。这样一个NLP自学习平台方便快捷、易用、成本低且可以取得较高的准确率。NLP自学习平台可以赋能零算法基础的伙伴们去使用NLP技术,从中获益,赋能商业,提供NLP基础平台是非常重要的,当前也有很多厂商提供了类似的平台来加速NLP的商业赋能。
图 4 NLP自学习平台
目前,达摩院语言实验室的NLP学习平台的原子能力包括从最开始的文本抽取、文本分类到更高一层的短文本匹配、关系抽取以及更加复杂的原子功能,同时也支持包括电商的情感分析、商品评价解析在内的场景化应用,更加复杂的应用比如合同审核等已经在测试中。
利用文本抽取功能,我们可以对纯文本信息进行提取,抽取其中重要的要素,比如对于合同文本,通过模型的训练可以自动的提取出合同的名称、甲方、乙方、收款账号和开户行等关键信息,另外对于简历也有相应的解决方案,可以抽取简历中包括姓名、学校、专业,甚至工作经历在内的重要信息。文本分类是非常重要的一项自然语言技术功能,很多重要的应用都可以看作是文本分类的一个特例,比如对短文本的分类,可以通过对短文本的识别来判断是属于涉黄、广告、辱骂还是涉政,在评价中,可以对评价进行分类来判断是属于正面评价还是负面评价。更复杂的原子功能包括关系抽取和短文本匹配。通过关系抽取,我们可以在找到重要的实体之后找到他们之间相应的关系,甚至找到多个实体之间的联系。短文本的匹配在许多场景中也有着重要的应用,比如在银行业务场景的信用卡补卡中,我们可以通过NLP自学习平台的应用来进行问答,判断用户的真实意图和业务需求。
在商品评价的场景应用中,基于阿里内部平台海量的已标注数据,达摩院语言实验室训练了大量的模型,取得了非常不错的效果,通过建立各行业定制模型,多维度分析商品评价文本,达摩院的NLP自学习平台支持基于用户自评价维度的商品评价解析模型。
三、语言模型
在技术平台和技术之后,非常重要的基础是语言模型的构建。语言模型是用来描述自然语言的表示,顺序,结构,意义,生成的过程以及如何使用与语言相关的应用任务的技术。传统的语言模型构建分为两种:一种是语言学方法,就是使用语言学文法(上下文相关法)来描述正规的语言表示形式和意义,这种方法可以比较好的解释语言的文法是如何产生的,但是由于语言是在动态的发展中,新语言、新语法、新意义在不断变化和涌现,纯规则的方式局限性大;另一种是数据驱动的方法,也就是通过统计学习或者深度学习的方法,通过大量的语料和一些相关应用任务,学习语言的表示和结构,这种方法因为可以利用不断变化的语言信息,利用海量的语料信息自学习,能够更好地适应广阔场景和应用。司罗研究员认为,融合语言学知识,通用知识,领域知识,海量多模态数据信息的模型才是未来自然语言智能的发展方向。数据驱动的语言模型主要包括统计语言模型和神经网络语言模型,也是当前语言模型的主要发展方向。
(一)统计语言模型
统计语言模型通知是用N-gram语言概率模型来建模,预测有时序关系的句子组成结构。这种模型通过MLE训练,训练速度非常快,可解释性强,直观易理解,但是该模型的窗口只依赖于前面的几个词,如果增大范围,参数空间就会指数增长,进而造成数据稀疏,比较难处理新词。
图 5 统计语言模型
(二)神经语言模型和表示学习
为解决统计语言模型所遇到的问题,学术界提出了神经语言模型和表示学习:对于每一个单元,我们希望在连续空间中为每一个语义单元(如词)赋予一个向量(如词向量),通过神经网络学习这种分布式表征。基于这种向量式的表示,进而可以进行计算、分类等自然语言相关的应用。一个非常经典的例子就是Word2vec模型,该模型中的每一个词都用一个多维向量来表示,学习词向量用周围词来预测中心词,这种方法用一个单一的隐藏层来学习向量表示,所以有固有的缺点,比如每个单词的表征空间是固定的,不随上下文改变;模型简单,表示能力有限;和下游的任务链接不足,特别是一些监督语料任务等。
基于Word2vec的以上特点,研究者们提出了深度语言模型,也就是利用深度神经网络学习利用上下文学习自适应的语言表示。其中,一个比较有名的是ELMo模型,它利用了LSTM网络,对一个词左边的上下文和右边的上下文都进行建模,有着非常好得效果,其结构如图6所示。
图 6 ELmo模型
另外一个非常火热的模型是谷歌在2019年提出的BERT模型。BERT模型分为两个不同的阶段:Pre-training阶段和Fine-Tuning阶段。在Pre-training阶段,BERT利用了词之间的关系和句子之间的关系,用无监督的方法来进行训练,学习每个句子中每个词在上下文语义的向量表示。Fine-tuning阶段是和下游任务的结合,把下游中有监督的一些预料当成我们优化的目标,然后和BERT中的语义表示结合起来,然后进行反向传播,来改变BERT中的语义向量表示。在BERT的两个阶段中都用到了深度语言模型,而且使用了Transformer架构来完成相应任务。
图 7 BERT模型
(三)StructBERT
简单对比BERT和ELMo可以发现两者都使用深度神经网络学习利用上下文学习自适应的语言表示,两者都和下游的任务相结合来提升模型效果,但是两者也有一些不同:
(1)BERT使用的是autoencoder架构,使用attention来统一建模整体信息,而ELMo对左右信息分别建模;
(2)BERT使用Transformer建模,ELMo基于LSTM/RNN建模;
(3)BERT较重与下游任务联合Finetune,ELMo较轻与下游任务以特征结合。
结合两者的特点,如果下游的任务是比较多的监督语料,一般来讲BERT的效果要比ELMo更好一些,因为BERT与下游更加耦合,更多的进行了联合优化。
BERT自提出以来收到了很大的观众和广泛的应用,也有不少机构对其进行改进,按摩院语言实验室在这方面也做了很多的工作,尤其是在BERT的基础上,我们提出了StructBERT模型。StructBERT模型更加深入的利用了词之间的关系和句子之间的关系,比如在词关系中利用了词之间的位置关系。通过利用词之间的关系和句子之间的关系,StructBERT模型可以更加有效地训练词向量的表示。同时,StructBERT模型还利用了生成式模型和Discriminator模型来提升词向量的表示效果。目前,在GLUE基准评测中,StructBERT模型排在第一位。
图 8 StructBERT模型
(四)基于StructBERT的实例
基于StructBERT模型为核心,阿里在很多不同的自然语言技术方向做了一些工作。下面是一些具体的实例。
(1)中文StructBERT的Tokenization优化
图 9 中文StructBERT的Tokenization优化
(2)StructBERT加速——知识蒸馏
图 10 StructBERT加速——知识蒸馏
(3)预训练语言模型——融合结构化信息
传统的BERT是使用文字信息,但是在很多场景下我们有更多的信息加以利用,如结构化信息。比如表格信息中往往包括了词的位置信息,如果利用OCR来提取信息,也可以得到相应词的位置信息,如果将这些信息和文本信息结合起来使用BERT,就更加有利于下游的任务。
图 11 预训练语言模型——融合结构化信息
(4)机器阅读理解——多文档/多段落
将StructBERT模型和多文档/多段落模型相结合,用于检索、排序、问答等机器阅读理解方面,有着极为不错的效果。
图 12 StructBERT与多文档/多段落结合
(5)机器阅读理解——融合知识
StructBERT也可以和知识结合起来,比如把一些常识性的知识结合到语言模型中,能够更好地进行分类、问答等任务。
图 13 机器阅读理解——融合知识
(6)知识驱动机器翻译——语言学知识
不同的语言,有着丰富的表达形式,语言学知识通过语言模型能够更好地用在翻译场景,比如通过语言模型来学习Compounding、Suffixes等不同语言的特殊表达形式,来提升翻译效果。
图 14 知识驱动机器翻译——语言学知识
四、自然语言和行业场景的结合
自然语言本身的原子能力并不是一个完整的场景,要实现其价值,必须与行业场景结合。在一个企业中往往是有丰富的内部场景,比如电商、客服等等,在社会上也有广阔的外部场景,比如司法、公共安全、教育等等,通过这些场景可以积累全面、多领域、多语言的NLP数据和知识,基于这些知识和数据来构建NLP的应用技术再将技术反作用于场景,只有形成这样的闭环,才能更好的把自然语言技术的价值体现出来。
图 15 自然语言智能与行业场景闭环
以下是达摩院语言实验室在一些行业场景中应用自然语言技术的简单介绍。
(一)电商翻译业务场景
阿里巴巴有着丰富的跨境电商场景,自然也需要大量的翻译工作。在电商翻译场景,我们需要建立完整的多语言翻译技术链,从商品标题的翻译,商品详情的翻译,到支付场景的翻译,再到与客户的交流沟通,都需要翻译技术的支撑来更好的支持阿里整体的跨境电商业务。
(二)机器翻译应用于社交场景:钉钉翻译
最近,钉钉有了飞速的发展,其国际化业务的开展背后也是由翻译技术来支撑的。目前,钉钉已经支持了30个互译语向,有了大量的业务应用场景。当然,在大量应用之后,也会发现一些问题,比如一些口语化的翻译不够准确,不能很好的识别语境等等,达摩院也在不断的优化背后的算法,为用户提供更好的服务。
图 16 社交场景翻译:钉钉翻译
(三)云产品
在NLP发展的基础上,达摩院语言实验室也与很多行业场景深度结合,打造了很多适合特定场景的云产品,提供了相应的解决方案。
(1)地址信息管理系统
地址信息管理系统主要是对各行业业务系统登记的非标准地址信息进行纠错、归一、层次化等NLP处理,实现标准化地址的生成、匹配、管理、应用的体系化系统,以更好地支持物流、工商等场景应用。
图 17 地址信息管理系统
(2)事件分析图谱
事件分析图谱是在海量的文本信息中通过自然语言技术实现事件的文本化、结构化、图谱化,用于数据串并、检索、推理等场景。
图 18 事件分析图谱
(3)云产品赋能泛通信
在通信行业,利用AI赋能云通信,助力产品构建差异化的市场竞争力,比如通过提供短信内容的审核的原子能力来帮助提升云通信的整体能力,未来也会从单一的文本信息向语音信息、视频信息、国际化信息发展。该产品在阿里云业务中的实验取得了非常好的效果,提升了业务整体的商业价值。
图 19 云产品赋能泛通信
(4)智能司法
随着案件数量的增加,法官数量与案件数量之间出现了不可缓和的矛盾,而NLP技术的引入,可以极大的提升司法效率。
图 20 智能司法
(5)智能合同
司法相关的另一个自然语言技术适用的场景是智能合同。当前,电子签名、合同管理已经变成了一个非常重要的趋势,而合同本身的审核绝大多数还是由律师来亲自完成的。通过自然语言智能的赋能,来帮助进行合同的审核、管理,可以全面提升该项业务的效率。
图 21 智能合同
(6)智慧医疗
智慧医疗方面也是NLP可以发力的一个场景。当前主要应用于医疗质检,通过对病历的医疗质检,在诊前、诊中辅助医生进行治疗等等,大大提升医生的效率。
图 22 智慧医疗
(7)NLP助力疫情防控
在这次疫情中,达摩院语言实验室也做了一些基础方面的工作来助力疫情防控,奉献自己的一份力量。首先是地址产品在疫情防控中发挥了一定作用。通过NLP技术提取信息中的地址信息,来助力疫情防控,典型场景有疫区流入人员分析、关联人员筛查、疫情外呼等等。其次,面向新冠疫情的医疗机器翻译在这次疫情中也起到了非常重要的作用,尤其是当前疫情呈现全球扩散的情况下。比如通过医疗机器翻译引擎,可以更好的帮助科研人员完成文献翻译以及词汇翻译,减少疫情防控中的语言障碍。最后,在疫情期间,利用NLP技术很好地帮助司法机构进行远程审判,比如说杭州市上城人民法院和下城人民法院在疫情期间就利用相应的技术完成了多起案件的远程审判,并且多数情况能够当庭生成判决书,极大的提升了效率,也为疫情防控做出了贡献。
图 23 机器翻译助力新冠疫情防控
关键词:自然语言智能、人工智能、自然语言处理、机器翻译、语言模型