1.1 语义计算
人们在进行有意义的交流时,往往需要借助被讨论对象的语义指代。语义(Semantics)指数据信息的含义,表示数据在某个领域的解释和逻辑。在现实世界中,某一事物或事实所代表的概念以及与其他概念之间的关系,均被认为是语义。例如,“胡萝卜是一种蔬菜,富含多种维生素”,就解释了“胡萝卜”这个概念(符号)的含义。
语义的典型特征包括:语义的客观性和主观性;语义的概括性和具体性;语义的清晰性和模糊性;语义的领域性;等等。其中,语义的客观性和主观性是指词义本身能够反映出客观的存在,在此基础上,语义还是人们对于客观存在的认识,能在一定程度上反映客观事物的特征。语义的清晰性和模糊性主要体现在语义边界上,例如,形容词“美丽”具有的语义是一个模糊概念,边界并不清晰,无法用简单的判断逻辑来定义。语义的领域性是指一些词语含义的理解和表述需要结合某一个具体的领域,这是由于同一事物在不同领域的意思不同。例如,“苹果”在水果领域和手机领域具有不同的含义。
作为自然语言最基本的语义单元,词由外在表现和内在含义(概念)两部分构成。由于存在多义词和同义词,词汇与概念便存在多对多的关系,即:同一概念可以用不同的单词来表达;一个单词可能对应多个概念,具体表示何种意思,依赖单词所处的语境(上下文)。例如,在下列两个英文句子中,单词“bank”分别对应着“银行”和“河岸”的含义。
句1:She went to bank to deposit cash。
句2:She went to bank to catch fishes。
因为语义具有主观性,所以自然语言天然具有多义属性,这给理解自然语言、分析语义过程中的语义计算(Semantic Computing)带来了极大的挑战。
语义计算指通过构建计算对象的语义表示来分析、理解数据或者语言单元的含义,并从数据中凝练、提取出语义知识。语义计算涉及语言学、认知科学、心理学、自然语言处理、信息检索等相关学科领域与技术。语义计算的基础包括语义知识的表示与组织、相似度计算模型。其中,语义知识的表示与组织方式主要分为三大类:语义网络(Semantic Network)、特征模型和语义空间[1]。
语义网络将人类已有的知识组织为一个有向图,图结构中的节点表示语义概念,节点之间的连接边表示概念之间的语义关系。基于语义网络,一个单词的词义可以由其对应的概念节点以及相关节点的连接边表示。
特征模型基于词义可以表象为语义特征的集合这一思想,将词义表示为特征的概念分布。例如,利用“红色”“圆形”“美味”“有光泽”等一系列的感官特征表示“苹果”。与语义网络相同,大多数特征模型的构建依赖于构造者能够基于先验知识选择出最能够表达词义的特征。
语义空间则建立在一个假设上:假设词汇的语义可以由其所在的语境决定,具有相同语境的两个词汇在很大程度上具有相似的词义。向量空间模型(VSM)是应用得最为广泛的一个语义空间模型。
1.1.1 语义网络
语义网络是美国心理学家奎廉(M. R. Quilian)于1968年提出的心理学模型,用于构建概念之间的关联,以便帮助人们记忆。美国人工智能专家西蒙(R. F. Simmons)和斯乐康(J. Slocum)于1972年将语义网络用于自然语言理解任务。认知心理学家和计算语言学家于1985年开始以“语义网络”的形式来描述词汇的含义,为人类提供从“关系”的角度来分析问题的能力。
语义网络在本质上是利用概念及其语义关系来表达知识的一种有向网络图,是一种基于图的数据结构,由节点(Vertex)和边(Edge)组成。在图结构里,每个节点表示现实世界中存在的“实体”或“语义概念”,每条边对应实体之间或概念之间的“关系”。语义网络能够把多元信息连接在一起,表示复杂的概念、事物以及语义联系,如类属关系(is-a)、从属关系(part-of)、位置关系(located-on)等。如图1-1所示,在动物的概念以及不同动物的相互关系构成的语义网络结构中,“熊猫”和“熊科动物”各自代表一个节点,这两个节点之间由一个表示“是”的箭头来表示命题“熊猫是一种熊科动物”,即两者之间存在继承类型的语义关系;“熊猫”节点又与“毛”节点存在着包含关系,由表示“有”的箭头来表示。
图1-1 语义网络的图结构
构建语义网络的目的在于以明确的规范为约束来获取、表示和组织知识,构建出复杂的知识结构和体系,并以此为依据进行知识推理,从而在求解任务问题时不必遍历整个知识结构。语义网络有强大的表达能力和灵活性,能通过多种机制来表达概念、规则及其之间的关联知识,因而在各个领域都得到了广泛的应用。随着语义网络研究的增多,越来越多的人意识到:除了利用语义成分(义素分析法)以外,还可以利用语义关系来表示词汇。因此,由专家建立的一大批领域知识库应运而生。
1.1.2 本体
本体(Ontology)来源于哲学术语,用于描述事务的本质,是客观存在的一个系统的解释或说明。21世纪初,“知识本体”的研究开始成为计算机科学的一个重要领域。1993年,格鲁伯(Gruber)将本体定义为“概念体系的明确规范说明”。本体能够将领域中的各种概念及相互关系明确地、形式化地表达出来,因而在语义研究方面发挥着重要的作用。
本体可以有效地进行知识表达、知识查询,或对不同领域的知识进行语义消解,是语义网(Semantic Web)的基础。本体可以支持基于语义的服务发现、匹配和组合,提高自动化程度。语义网是以资源描述框架(RDF)为基础、以XML为语法、以URI为命名机制,将各种不同的应用集成在一起,对互联网中的数据所进行的一种抽象表示。语义网所指的“语义”是“机器可处理的”语义,而不是人在自然语言中表达的语义等目前计算机所不能够处理的信息。
知识本体是领域概念及概念之间关系的规范化描述,这种描述是规范的、明确的、形式化的、可共享的。“明确”意味着对所采用概念的类型和它们应用的约束实行明确的定义。“形式化”指知识本体是计算机可读的,能被计算机处理。“共享”反映知识本体应捕捉该领域中一致公认的知识,反映的是相关领域中公认的概念集,即知识本体针对的是团体而非个体的共识。
知识本体的目标是捕获相关领域的知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇和词汇间相互关系的明确定义。对本体的知识进行管理可以实现语义级知识服务,提高知识利用的深度,还可以支持对隐性知识进行推理,方便异构知识服务之间实现互操作,方便融入领域专家知识及经验知识结构化等。对本体的知识进行管理一般要求满足以下基本功能:
(1)支持本体多种表示语言和存储形式,具有本体导航功能。
(2)支持本体的基本操作(如本体学习、本体映射、本体合并等)。
(3)提供本体版本管理功能,支持本体的可扩展性和一致性。
1.1.3 语义网络与本体的联系
作为知识表示的工具,语义网络与本体非常相似,是知识表示的不同形式,均可以通过带标记的有向图进行知识表示,适合于逻辑推理。但是,两者之间也存在一定的区别,主要是描述的对象或范围不同,有以下几点:
(1)语义网络可以被看作一种带有标记的有向图,最初用于表示命题信息,现在被广泛应用于专家系统中表示知识。其中,节点用于表示物理实体、概念或状态,边用于表示关系。由于对节点和边都没有特殊规定,所以语义网络能够描述的范围比本体更广。而本体是面向特定领域的概念模型,是对共享概念模型的规范说明,其概念在某个特定领域是公认的。
(2)在知识表示的深度上,语义网络对建模没有特殊要求。然而,构建本体需要五要素,分别为概念、关系、函数、公理和实例,本体依赖这五要素来严格、正确地刻画所描述的对象。
(3)在建模的条件上,语义网络不要求有相关领域的专业知识,因而不必有专家参与,相对容易构建;而本体的建立必须有专家参与,相对更加严格和困难。
语义计算通过理解、解释自然语言中各个组成单元的具体含义,构建语言单元的语义表示,它在自然语言处理、信息检索等领域发挥着十分重要的作用,与机器学习、数据挖掘技术紧密相关,被广泛应用于语义消歧、文本分类、舆情分析等任务中。由于自然语言存在丰富的特性(如指代、转折、多义等),现在已经成为计算机理解并解释人类写作与说话方式的障碍。尤其在文本处理过程中,计算机面临大量语义消歧的问题,导致语义计算需要大量知识(包括与句法、词法、语义有关的语言学知识和与语言规则无关的世界知识)。