精益研发助推中国制造

精益研发方法学

语义分析技术与知识工程

发表时间:2016/01/29 来源:安世亚太   作者:柳晶晶  
关键字:语义分析  知识工程  
知识工程的难点之一是知识的表示形式以及如何大规模地获取知识,而语义分析通过词汇级、句子级、段落级及篇章级这四个层次为知识的获取提供了一种有效的方法和手段。

1 引言

    自1977年第五届国际人工智能会议美国斯坦福大学计算机科学家费根鲍姆教授(B.A.Feigenbaum)提出知识工程这一概念开始,关于知识工程的定义和争议就不绝于耳。我们暂且不讨论知识工程到底是什么,在这里只关注知识工程想要做什么,以及怎么做?

    知识工程的最终目的是促进人类知识的传播和发展,主要包括三大要素:知识获取、知识表示和知识应用。想要获取知识和实现知识的应用,首先要知道知识长什么样,当前主要的知识表示形式为一个包含多种不同类型的结点和边的知识图以及图结点之间的关系集合。那么如何获得这个结点以及如何获得这个边(关系)就是知识获取所要做的工作。

    当前知识获取主要有三种方式:非自动知识获取、知识抽取、机器学习知识。非自动知识获取常采用直接编辑知识、利用大众智慧等手段,效率较低,无法应用于大规模的知识获取;完全机器学习的难度较大;知识抽取是目前最有效的方式。

    所谓知识抽取,指的是通过对文本资料进行内容分析处理,对蕴含于文本中的知识进行识别、理解和筛选,抽取出每个知识点,并以一定的形式存入知识库中。这里,文本资料是原始素材,内容分析、知识识别是手段和目的,那么如何通过对文本资料进行内容分析从而达到识别并抽取出知识的目的呢?语义分析就是有效的手段和方法。

2 什么是语义分析

    语义,又称语意,指的是话语所包含的意义,在计算机科学领域,可以称之为数据对应现实世界中事物所代表概念的含义。

    语义分析的根本目的是为了理解自然语言。在计算机科学领域,理解自然语言的目的是为了实现自然语言的计算机处理(简称NLP)。这里的“自然语言”是相对于“汇编语言”、“C语言”、“机器指令”等人工语言而言的。因为人类的思维主要以自然语言为载体,一旦计算机程序理解了自然语言,人类全部的历史、科学、文学、法律等文献都可以被计算机记忆、运用,而这与知识工程的最终目的不谋而合。

3 语义分析技术

    语义分析的理论和方法是从语言学、数学、计算机学等多个学科综合发展而来。其基本思想是基于“还原论”,即分解的思想,就是将句子、段落乃至篇章分解为词,假定基本概念和意义是由词联系在一起。

3.1 词汇级语义分析

    以词义作为研究对象的是词汇语义学,词汇语义中语义分析方法主要有两类:构造性和区分性的分析方法,它们中的典型代表分别是义素分析(也称语义成分分析)和语义场理论。

    义素,有些地方又称义原,是指构成词义的最小意义单位,意义的基本要素,也就是词义的区别特征。比如“男人”和“女人”这两个词,可以这样分解:

    “男人”——+[男性]+[成年]+[人]

    “女人”——-[男性]+[成年]+[人]

    方括号内的特征就是构成这些词义的最小单位,也就是它们的义素。

    不同义素所占的地位是不一样的,比如[人]和[成年]虽然同是义素,性质却不一样。[人]反映词语指示的对象的实质,±[男性],±[成年]反映的是对象的性质和特征。说到这里,细心的读者可能会发现,义素的这种地位区别,恰恰与本体论中的关系类型相对应,例如上下位关系kind-of(人与男人或女人的关系)、属性关系attribute-of(人的性别属性、年龄属性等等)等,殊途同归。其表示形式可以是表(义素表)或者图(网络),如本体网,目前使用较广的一种知识表达方式。

    语义场理论通过同义词集(synsets)来区分词义,主要考虑聚合关系,典型的应用是WordNet,阅读WordNet的人需要辨认一个概念,通常只需用一个同义词(或近义词)就足够了。与语义场理论密切相关的是语义特征分类,每个分类都对应于一个相对独立的语义场。

3.2 句子级语义分析

    上升到句子级别时,上述静态的词汇语义分析理论和技术(描述的是词汇本身的特性)无法满足句子层面的语义分析。句子级语义分析的最终目的是完全理解自然语言语句,并进行深入的知识获取和推理,实现计算机与人类无障碍地沟通,目前深层语义分析发展的还不理想,现在发展较好的是语义角色标注(描述的是在上下位环境中,单词之间发生联系产生的特征,又称动态特征),即标注与句子中谓词有关的成分的语义角色,如施事、受事、时间和地点等等。

    语义角色标注在学术上称作浅层语义分析,那是因为它主要关注句子中与谓词有关的几个主要成分,而不是整个句子的全面理解。其理论依据来源于菲尔摩C.Fillmore的格语法,有些文献中又称论旨角色。除了语义角色标注中谓词相关的语义成分外,还有根据依存语法的语义依存分析,其中包括数量(quantity)、属性(attribute)和频率(frequency)等非谓词相关的语义信息。

    比如这两句话:

    1)John opened the door with the key。

    2)委员会今天通过了此议案。

    使用哈工大的在线分析工具对上述两句话进行标注,其结果如下:

图1

图2

    其中第1句中opened是目标动词,John、the door和with the key分别是动词的施事、受事和工具,这里用A0和A1来表示,这里“工具”角色未标出。

    第2句中“通过”是目标动词,“委员会”、“此议案”和“今天”分别是动词的施事、受事和时间,这里用A0、A1和TMP来表示。

    语义角色标注的方式不随句法形式的变化而变化,上述句子改为被动句之后,语义角色不会改变,这为解决句法和语义解释如何结合的问题提供了一种全新的方式。

3.3 段落及篇章级语义分析

    目前学术上研究不多,不同类型篇章的语义信息与生成机制不尽相同,难度较大。对于特定类型的篇章有少数论文面世。从工程应用上来说,像新闻、学术论文等格式和文本存在一定规范的篇章类型,有较多的研究和应用,典型的如新闻报道的自动摘要系统summly。

    段落及篇章级语义分析需要在词汇和句子级的语义分析基础上进行,如果说句子是一个传达一定的信息的独立信息体(由概念及概念之间的关系构成),那么篇章就是这些信息体语义积累的结果。同时省略(句子成分的省略)、指代(句子中“他”、“其”等代词需要消歧,明确指代对象)、句子的固有歧义等都只有在篇章级才能进行分析和处理。

    目前篇章级的分析主要方法是关注篇章中的主体和事件。主体是指某种具体事物的个体或集合体,事件是指与主体所施行的或主体被施加的动作、过程等等。在新闻报道中的应用,常常是基于模板匹配的方式,即新闻主体的事件包含几个方面,如时间、地点、人物、过程、原因等,将模板里的几项内容一一填充完毕,就完成了新闻报道的自动摘要。

    如这段文字:

    2005年11月1日,周杰伦发行了第六张国语专辑《十一月的萧邦》,包含了《夜曲》、《发如雪》等十二首动听的歌,大家可以在专辑当中,嗅出他潜藏的浪漫古典因子。

    使用哈工大的文本挖掘系统,可以得到:

图3

    上述就是典型的通过主体和事件将这段文字转化为一张图的例子。

4 语义分析为知识工程添砖加瓦

    前一节所说新闻报道的内容抽取,模板包含时间、地点、人物等几类信息,所谓抽取就是对篇章进行语义分析,对时间等这几类信息进行内容填充。如果只停留在这个层面,我们只能称之为信息抽取,而非知识抽取。将N篇这样的新闻报道做这样的信息抽取处理,然后建立N篇新闻报道之间的关联,形成一个网络。有此基础之后,我们可以看到某个地点发生的各类新闻,发现在某个人物身上的各类新闻,甚至于可以抽取到两个新闻之间内在的关联(比如这两个新闻所述对象是某某关系)等等,而这些可以称之为关联类的知识。可以说语义分析为知识工程中知识的抽取添砖加瓦。

    将语义分析落实到大量的具体的篇章文本上,形成熟语料库,其中包括词汇级别的义素、语义特征的标注、实体标注,句子级别的语义角色标注,还有语法句法范围的词性标注、句法功能标注等等。我们可以想象,当大量文章(一般来说至少100万字的量级)进行了这样的标注后,我们需要什么知识,就可以从中抽取出一些信息后进行加工和关联而得到。在未来,或者说已经有人在做,当标注好的熟语料已经达到一定量级,我们甚至可以通过机器学习的方式对其他未标注的文章进行自动标注,那么也就实现了自然语言计算机自动处理的最终目标,也就解决了知识自动获取的难题。