作者 | 青暮
编辑 | 丛末
2020 年8 月7日-8月9日,在中国深圳,由中国计算机学会(CCF)主办,香港中文大学(深圳)、雷锋网联合承办,鹏城实验室、深圳市人工智能与机器人研究院协办的第五届CCF-GAIR全球人工智能与机器人峰会,在深圳前海华侨城 JW 万豪酒店正式拉开帷幕。
深圳市人工智能与机器人研究院执行院长、国际欧亚科学院院士、IEEE Fellow李世鹏担任专场主持人。第一位演讲的嘉宾是北京语言大学信息科学学院院长荀恩东教授。荀恩东教授的研究领域涉及汉语语义计算和语言资料建设,主持开发过国内外最大的在线语料库——BCC 语料库,并在多个领域开展过汉语语义理解落地应用工作。荀恩东教授的演讲主题是《语言智能核心问题——语义理解》。
在演讲中,荀恩东教授表示,随着大数据红利褪去,语义理解已经成为自然语言处理中越来越重要的层面,并且不可避免。他首先讨论了自然语言的两个特点,即歧义和多样性,并指出这两个特点是语言理解的难点所在。然后他提到,语言理解的一般目标,是对自然语言进行结构化。最后,荀恩东教授介绍了一种新型的语义表示方案,即意合图,力求促进自然语言的语义理解。
以下是演讲全文,AI科技评论进行了不改变原意的整理:
今天我分享的话题跟语言智能、语义理解相关,演讲主要内容是:语言智能及其应用类型;语言理解的目标、途径和方法;语义理解中的语义表示和构建。
人工智能发展经历了几个阶段,计算智能、感知智能、认知智能和创造智能。我们在感知智能取得了非常大的进步,感知智能处理的对象是视觉和语音。认知智能处理的主要对象是自然语言,因为语言是认知的工具。
相比视觉和语音,认知智能或语言智能是更有挑战性。因为认知智能处理的对象是自然语言,自然语言非常灵活。在视觉和语音阶段解决的是识别问题,到语言阶段就涉及到理解问题。
语言智能这么难是由自然语言的特点决定的。我们知道自然语言的歧义无处不在,歧义包括语义、词法、语法、语意、语用、语境等方面。
举几个例子,比如说“鲁迅著作”在不同语境里有歧义:是指鲁迅写的文学作品,还是关于鲁迅的某种论述呢?“我们研究所有东西”属于分词歧义,也即语法歧义。“我在汽车上画画”,在语法上没有歧义,但是在语义上有歧义。需要用一般常识告诉我们,人肯定不是在汽车顶上画画,应该是坐在汽车里画画。“有同事孩子考上名校很优秀”,“同事孩子考上名校很开心”,对于谁开心、谁优秀,也属于语义上的歧义。“在冬天能穿多少穿多少,夏天能穿多少穿多少”。这两句的字面意思一样,结合语境就完全不一样了。这就是语言的歧义性。
语言的多样性也是造成语言处理困难的主要方面,包括主题不同、表达不规范等等。我们理解语言往往要调用外部的知识,比如世界知识。让计算机处理语言,面临着知识获取的瓶颈,以及文化习俗的密切影响,文化习俗是动态、约定俗成的,有时候甚至是不讲道理的。
目前语言智能在多个领域有应用,主要是四种类型:分类、生成、抽取和校对。
分类问题:也就是给语言对象打标签,语言对象可以是句子、篇章、文档集,标签可以是二值、多值标签,在不同领域有不同的含义。
生成问题:给定原文本生成另一种文本表达,典型的应用是机器翻译,给定原语言生成目标语言,以及人机对话、自动写作等等。
抽取问题:从研究对象提取想要的答案,有两种情况。1、从原文里直接摘取答案,比如信息检索和机器问答。2、从原文摘取内容并经过加工和处理,以满足某种需求,属于挖掘类问题。比如说给定文档数据集,以生成知识图谱,知识图谱来源于大数据,但是,知识图谱是经过了再加工和再处理,用来满足某种需求。还有文本摘要问题,也是一样。
校对问题:让计算机对给定的处理对象,回答对应信息是否齐全、是否一致、是否准确的问题。这个问题有多个场景应用,比如合同审查、公文审查、稿件校对、知识图谱补全等等。在合同审查时,起草合同一定有必添的事项,比如甲方、乙方、金额、引用的法律条款等等。这些信息是否存在不一致,是否存在缺失,是否存在引用不准确,都是审查的对象。
知识图谱里有一个很重要任务就是知识图谱补全。从文档集生成知识图谱,难免存在数据稀疏的问题,使得构造的图谱信息不够完备,必须通过其他的信息源补全缺失信息。
语言理解是语言智能的主要任务,涉及到语言理解的目标、途径和主要模型。计算机对语言的理解是指什么?实际上,在处理语言时,所谓的理解就是确定了概念与语言单元的映射,以及知道承载概念单元的语言属性,和知晓不同语言单元之间的关系。
语言单元在不同的场景里有不同的表现,有的可能是词和词之间的关系,有的可能是句子和句子之间的关系,或者是段落和段落之间的关系等等。那么我们如何确定表达概念的语言单元、单元属性和单元之间的关系呢?
举两个例子,第一个例子给一个句子,然后给出语义,生成意合图。比如“警方严厉打击经济犯罪”,这句话涉及两个类别的概念:一是事件类概念,二是实体类概念。
如下图所示,圆角矩形是事件,方角矩形就是实体。“打击”和“严厉”是事件,警方和犯罪是实体,这就把实体之间的关系构造出来了。在“打击”和“严厉”下面还有属性,有命题信息和情态信息。
第二个例子是一个知识图谱,如上图所示,其中有四个对象,我们要构建四个对象之间的关系。张三和李四是同学关系,张三毕业于北语,李四毕业于矿大,北语和矿大是邻居关系。
此外还有属性,属性可以作用在单元上,也可以作用在关系上。在单元上,张三的属性是男、年龄28岁。属性也可以作用在边上,比如张三和李四之间的同学关系的属性,是高中,所以他们是高中同学关系。关系的属性,以及控制关系的条件,是知识图谱中非常重要的内容。
语言理解的一般目标,是对自然语言进行结构化。自然语言处理涉及一系列的任务,对象层面涉及句子、篇章和文本集,任务层面涉及分词任务、NER、摘要、信息挖掘、信息抽取等等。
不管针对哪类对象和执行哪种任务,核心的计算过程都是将语言转换成单元和关系上的属性,属性有两类,一是无序标签;二是无序的关键值对。
语言关系在数学上表现为序列关系、集合关系、树的形态和图的形态,复杂的问题是这些形态的组合。所以做语言理解实际上就是把自然语言结构化,这种结构化是计算机可操作的方案,很容易对接落地的需求。
目前语言理解、语言信息处理主要依靠端到端模型。我们利用数据执行任务,从数据构建模型,并从输入直接得到输出,中间过程交给机器学习完成。此外还有组合模型,用到了机器学习和符号运算组合的策略。
端对端的运算有四种模型,做自然语言处理都逃不过这四种模型:1、分类模型。给个对象,打标签;2、序列标注模型。对序列的对象,给予每一个对象安排一个标签,即序列标注;3、信道模型。即编码器解码器模型,把原信息做成某种编码表示,之后做解码和输出;4、相似度计算。这种计算可以是针对词的相似度,也可以是针对有上下文的词的相似度,可以针对短语、句子或篇章。针对端对端的运算,都涉及这四类模型,其他模型都是这四类模型的组合。
组合类的模型解决的问题一定是端到端方案解决不了的,或者是端到端方案解决不好的问题。这类问题要么是复杂问题,要么是想要规避端对端不可解释、不可控缺陷的问题。组合类模型有两类,一类是以符号运算统领全局,可以把复杂的输入、复杂的问题做子问题分解,对每个子问题找到合适方案,再做输出。各个子问题输出之后,通过符号运算做推导,再得到问题的答案。一类以机器学习做统领,把复杂问题化为子问题,不同子问题找到合适方案,再做输出,把输出统一在机器学习网络架构下得到问题的答案。
其中后者是学界正在探索的,就是把人类的结构化知识和可控的信息融入到机器学习的框架里。前者是工程化的解决方案。
语义理解是语言理解的核心。语言理解可以在多个层面进行,有语法层面、语义层面和语用层面(跨过语法和语义层面)。
当然,随着大数据的红利褪去,我们越来越不能回避语义理解的问题,越往深走这个问题越发凸显。不管是语言问题还是其他问题,比如语音、图像等等,都面临语义理解的问题。
以前行业里都认为,做自然语言处理的语义理解是个大坑。因为脱离了实际场景做语义是不切实际的。
但现在有一种可能,就是在具体场景还不明确的时候做语义分析。一旦分析结果和跟场景需求相结合,就能快速地得到解决方案,这是我们的目标。我们在语义层面进行探索,需要得到一种表示,这种表示可以非常容易地转化成落地的应用。
语义表示是自然语言学界一直在探讨的问题。通常我们用依存图来理解自然语言,但是在实际场景中远远不是这样。目前关于语义理解,AMR比较受学者的追捧。有一些大厂开源了语义分析的引擎,是为了提供得到中间表示的工具,而不是终端解决方案。
不管哪种表示形态,一般的套路就是确定一个概念体系,然后开始标注,之后学模型。但是在实际场景解决问题的时候会面临很大的问题,就是确定的概念体系和标记语料,跟实际场景相差很远,应用成本高。
为了得到更贴近应用的语义表示方案,我们提出了意合图。意合图是什么呢?举个例子,“它圆圆地画了一个圈”,我们怎么理解这句话?
我们从一般语言的角度来提取这句话里最根本的东西,即事件和实体。意合图是针对汉语意合语言的特点来做的。意合图包括事件复合体和实体复合体,如下图所示,圆角矩形是事件复合体,直角矩形是实体复合体。
我们把事件主体找出来,就是“画”这个动词。谁画了什么?然后我们需要找到主体和客体两个实体复合体,找到了“他”和“圈”,这样就把实体和事件之间进行了关联。
如果对所有自然语言做出这样的表达,对于理解语言是有帮助的。但问题是,这种表示的完备性和泛化性如何?另外,这种表示是不是可计算的。
再举几个例子。“虽然你不出门,却知天下事。”事件类有“出门”和“知”,这两个事件具有转折关系。与“出门”和“知”相关的实体是“你”和“天下事”。
“出门”和“知”在词条级做加工和处理,因为这种词条是稳定的。我们可以在大数据将经常搭配的词条和类型找出来,进行匹配。
还有一种意合图是,句子中没有完备的事件实体结构,但是存在自定义的或者是隐性的关系。比如说眼睛,一说到眼睛,我们就知道这是指某个生物的眼睛。眼睛一定有一个主人,从“他哭肿了眼睛”,我们知道眼睛是“他”的。
这个例子也一样,“我吃饭比他快”,“快”是比较的词语,是比较两个吃的动作,不能说“我吃饭”跟“他”比。这里面的“他”和“我”产生了共享,共享就是指“吃饭”和“他”进行了组合。
那么,怎么构建意合图?下图展示了我们的技术路线。给一个句子,不采用端到端的解决方案做意合图,否则需要标记很多数据。我们的理念是,意合图是不可标的,因为数量太庞大。我们借助块依存结构来做意合图,先做结构,再从结构做语义。
在结构阶段,我们采用了语块依存的做法,针对汉语的特点和实际应用的要求,,构造了超大规模的北语树库。
在语块依存的结构分析基础上,我们利用各类的搭配,比如命题搭配、情态搭配和事理搭配数据,通过符号运算,生成意合图。
在这里,各类搭配数据,是在大数据自动学习得到的,经过前期或后期的人工校对,保证搭配数据的质量。
做结构的时候依靠树库标注,北语这几年发布了几个千万量级的树库,基于分层分阶段建设规划,包括树库1.0(组块语结构),树库2.0(缺省结构还原),树库3.0(句间关系),等等。我们的标注数据基于篇章,规模很大,涉及很多领域。
下图展示了块依存树1.0中组块语结构的例子。我们通过简单的标注操作,得到快依存结构。
下图展示了块依存树2.0中缺省结构还原的例子。在1.0的基础上,我们针对事件类的谓词,标注了具有缺省的依存结构,构造了主、谓、宾、状、补自足的结构,这为下一步生成意合图提供了充分的结构基础。
有了意合图,我们能做很多任务,意合图是一种抽象表达,可以用于对话、推理和生成图谱、写作等等。例如:我们可以在意合图的基础上引入第三方知识,比如知识图谱,做推理;如果大数据中句子都分析成意合图形态,可以做意合图的融合,形成意合图图谱,进一步可以生成知识图谱、事理图谱等;也可以做复述,从抽象的意合图生成句子;可以从意合图中抽取答案,做问答系统,可以从意合图中提取至命题,做蕴含分析等等。
我们团队已经在专利、健康等领域初步应用了意合图,显示了强大的功能,为语义理解研究和开发开辟了新的领域。 雷锋网雷锋网雷锋网