第1章 自然语言之“理解”
自然语言是指汉语、英语、法语等人们沟通交流的信息载体,由语音、文字和语法构成,其中语音和文字是语言的两个基本属性。自然语言不同于人工语言(如程序设计语言),它不关注机器逻辑,而是对语言各项属性和传播规律进行研究,逐渐形成了今天的语言科学(Linguistic Sciences)。如果使用计算机对自然语言的形、音、义等信息进行处理,即对字、词、句、章的输入、识别、分析、生成、输出等操作,就形成了今天大热的自然语言处理(Natural Language Processing, NLP)学科,自然语言处理已成为计算机科学与人工智能领域最重要的研究方向之一。在此基础上,各行各业都在探索如何建立人机交互范式,如何“理解”自然语言,这些都是人工智能最棘手的问题之一,因此自然语言理解也被誉为人工智能“皇冠的明珠”。
几十年来,人们对自然语言理解的努力,基本集中在机器自然语言处理层面,主要沿着理性主义和经验主义两条路线出发。理性主义路线以符号系统为标志,假定人类语言能力是与生俱来的,利用符号结构和规则,整理和编写语言知识表示体系,构造符号推理程序,刻画人类思维的模式或方法。但是利用符号系统研究自然语言问题时,需要语言学家、语音学家和行业专家的配合来制定规则,人工经验的干预过多。另一方面,符号模型不容易通过机器学习获得,无法自动泛化。经验主义路线则主要靠语言数据统计学习来实现。特别是近些年来,随着硬件算力的飞速提升以及深度学习的革命性进步,统计学习逐渐成为当下自然语言处理的主流。
今天,“让机器读懂人类语言”已经成为全世界追逐的目标。当人工智能的浪潮袭来时,我们似乎离这个梦想咫尺之遥。2011年,《科学》杂志刊登的一篇非常出名的论文How to Grow a Mind中提出了一个论断:如果思维跳出已定数据,必须有外源信息才能产生突破[1]。紧接着,2012年谷歌推出了知识图谱,旨在成为谷歌搜索的知识大脑,让另外的信息源(知识)似乎成为那把理解语言的钥匙,由此揭开了语言理解从感知迈向认知的序幕。同年,以卷积神经网络为代表的深度神经结构在机器学习竞赛中大放异彩,又为语言表示建模带来了一把利器。2013年,Word2vec预训练语言模型诞生,将语言词向量表示推进到语义表示空间,低维稠密词嵌入向量的语义表示革命性地推动了自然语言处理的步伐,人们终于看到了解决自然语言理解问题的曙光。此后,一大批新兴的神经网络表示结构如RNN、LSTM、GRU、Attention机制、Transformer、GAN层出不穷,对于语言特征工程的要求逐步降低,一系列新模型一步步刷新着多项文本任务或组合任务的SOTA记录。与此同时,通用知识库Wikidata、DBpedia、Freebase、CN-DBpedia、Zhishi.me等不断完善,语言知识库WordNet、FrameNet、HowNet、HNC也在跨语言语义理解中得到了应用。一些大规模常识知识库ConceptGraph、ConceptNet作为外源知识特征,也被加入语言理解框架中。2018年,谷歌公开了BERT预训练模型,打破了自然语言处理领域11项公开任务的最新纪录,引发了又一次认知革命[2]。一时间,GPT-2、XLNet、Transformer XL和ERNIE等各类预训练模型也紧随其后,相关模型在金融、医疗、公安、司法、电商、生活娱乐等垂直行业得到了快速推广和应用。凭借以上技术的加持,一些商业化产品,如语音助手、智能音箱、机器翻译、智能写作等,正在逐步满足人类一般语言理解的需求。即使如此,扪心自问,我们离真正实现自然语言理解还有多远?答案仍然是“很遥远”!尽管我们如此努力,现实依然残酷,我们仍然没有通用的推理智能,没有自然的问答对话,没有泛化的信息抽取能力……如何结合常识进行自动推理?如何在仅有小样本的长尾分布场景中完成文本理解?如何让机器产生近乎人的联想和创造?这些都归结于一个问题,机器是否足够智能?
于是,我们还是要回到问题的原点:机器自然语言理解应该是怎么样的?理解是对交互双方而言的,那么对于机器一方来讲,将输入语言按照概念体系结构化处理,并提供人类认为正确的反馈,实际上就达到了认知甚至创造的高度。一般认为,人工智能分为计算智能、感知智能、认知智能和创造智能四个层次,如图1-1所示。
计算智能,简要来讲,即实现逻辑计算、记忆和储存能力。早期的计算机实际上主要提供这部分功能,能够解放人力并提高计算效率。
感知智能即视觉、听觉、触觉等感知能力。当下十分热门的语音识别、语音合成、图像识别都是感知智能。感知智能主要是数据识别,它是面向某一个具体任务,比如下围棋、动物识别、人脸识别、语音识别等。完成大规模数据的采集后,对图像、视频、声音等类型的数据进行特征抽取,完成结构化处理,在特征抽取和不断的学习训练中完成识别任务。在很多任务上感知智能都能取得非常优秀的结果,但同时也有非常多的局限性,比如需要海量训练数据以及非常强大的计算能力,难以进行任务上的迁移,可解释性也比较差。在感知智能阶段,人类能够解决模式识别类的问题,重点在于提升效率,但此阶段的人工智能不具备理解和推理能力。
认知智能即提供结果可理解或可解释的能力。认知智能建立在数据间关系和逻辑理解基础上,并基于此进行分析和决策。此阶段外源知识起着重要的辅助作用,其中知识图谱就是认知智能的内在驱动力。相比于复杂模型算法,知识图谱中的知识适配人类思考逻辑,可解释性非常强。特别地,与行业知识的融合,通过NLP和知识图谱两大核心技术可以构建行业知识图谱,计算机能够挖掘或洞察隐性的“肉眼”无法发现的关系和逻辑,最终服务于业务决策,实现更深层次的业务场景落地。
图1-1 人工智能层次划分
创造智能是基于认知智能的执行、交互和创造,主要体现在人机协同。人机协同是在复杂环境下以知识图谱为支撑进行数据推理,合理调度资源,使人类智能、人工智能和组织智能有效结合,打通感知、认知和行动的智能系统。
除了对机器一方的智能要求以外,作为人类一方,我们认为的智能是机器的理解和反馈满足了我们的需求。因此,只有能够自动满足人类需求的实体才可称其为有智能。本书认为机器反馈所体现的智能层次应该与人类的需求层次相适应。从马斯洛的需求层次理论来看,人类的各种基本需要通常是按照生理需求、安全需求、社交需求、尊重需求和自我实现需求的顺序出现的,但也并不一定都是按照这个顺序,如图1-2所示。对于低层次的生理需求和安全需求,智能体只需要按照预先设定好的程序实现即可;对于社交需求,目前已经有了智能音箱、机器人和语音交互助手等产品形态,但是还远远达不到满足社交需求的程度。而对于更高层次的尊重需求和自我实现需求,则需要更高等级的智能,这种智能应该包含情感体会、自我进化等复杂创造机制。想要满足这些需求,已经远远超过了机器现有的能力边界。所以对于机器而言,一个更为现实的人工智能边界应该是能够满足第三层级需求的社交智能,即认知智能(或称为交互智能)。
图1-2 马斯洛的需求层次理论
怎样才能做到认知智能乃至创造智能呢?如图1-3所示,人类生存的宇宙空间存在着时空、网络、场等,它们以物质、能量和信息作为媒介和载体,被我们的感官所接收。根据语义三角论的解释,符号、意义和客观事物处于相互制约、相互作用的关系中,意义来源于人体系统对客观事物的反馈(如视、听、触、味觉等),进一步塑造语言。因此只有充分了解语言的认知过程,才能准确地理解语言的意义。考虑到人与世界的“百感交互”,我们能够接触到图像、文本、音频、视频、立体结构等多模态信息,这些信息进一步组织形成的跨模态知识图谱,这是一切智能的知识基础。消化了这些信息的人体系统输出就映射为自然语言。反过来,理解自然语言也需要融合这些知识,只有这样才能解答认知智能乃至创造智能到底行不行得通的问题。
因此,自然语言理解是实现认知智能的基础,是人类智能与动物智能之间最大的区别,同时也是引领人工智能发展的未来之路。在上述整个认知体系中,我们围绕自然语言理解的目标梳理了相关技术路线,下面介绍本书的章节安排:
第1章概述自然语言理解的研究现状、商业形势、认知突破口和未来预期。
第2章梳理自然语言理解的发展演变流程,介绍现阶段已有的各类自然语言理解任务,最后给出自然语言理解的研究体系框架,引出自然语言理解的基础—自然语言处理。
第3章重点介绍自然语言处理中相关的特征工程、文本任务对应的各类算法模型、深度学习的前沿进展等,探讨现有处理方法的发展边界,同时提出引入外源知识(知识图谱)提高认知能力的必要性。
第4章系统地介绍知识图谱,包括了知识图谱工程和知识图谱智能。本章梳理了国内外常见的通用知识图谱,并进一步介绍了热门行业知识图谱的发展现状。
第5章介绍行业知识工程实践,以专利行业为例,详细描述了具体的行业知识工程的建设过程。
第6章介绍知识图谱智能模块的搭建。本章结合实际应用,探讨知识图谱在提高智能方面的能力和效果。
第7章讲解如何基于前面知识工程和图谱智能来搭建的智能应用平台,介绍平台相关的各类功能组件,描述自下而上的软件服务封装逻辑,这套思路可以在各行业进行实践验证。
第8章介绍文本智能平台的主要行业应用案例,相关案例经验将为企业或个人提供实际的工程落地参考。
图1-3 实现认知智能和创造智能的流程图
当然,以上工作仅仅是自然语言理解的一小步,但却是我们迈向认知智能的一大步,希望这些粗浅的经验能给更多的人带来启发,期待能够帮助读者在各行各业的认知智能上有所突破!