第4章 包装大数据知识图谱模式构建
4.1 大数据知识图谱概述
4.1.1 知识图谱背景
随着互联网中信息的飞速增长,互联网已成为人类获取知识和信息的最重要的途径。互联网中的信息大部分是以HTML网页的形式表示的,这种表示方式非常适合人类理解;然而,随着信息的爆炸式增长,人们已经难以从海量的纷杂信息中找到自己真实需要的信息。搜索引擎正是在这种背景下应运而生的,其基本原理是通过爬虫从互联网中采集信息,再通过建立基于关键词的倒排索引,为用户提供信息检索服务;用户通过使用关键词描述自己的查询意图,搜索引擎依据一定的排序算法,把符合查询条件的信息依序呈现给用户。搜索引擎的出现,在一定程度上解决了用户从海量互联网中获取信息的难题;然而,这些传统的搜索引擎的局限性也非常明显,由于它们是基于关键词或字符串的,并没有对查询的目标(通常为网页)和用户的查询输入进行理解,因此,它们在搜索准确度方面存在明显的缺陷。归根结底,这是由于以HTML形式的网页缺乏语义,难以被计算机理解。
为了解决互联网信息的语义问题,Tim Berners-Lee等人提出了下一代互联网—语义Web的概念,已经成为W3C标准。在语义Web中,所有的信息都是具备一定的结构的,这些结构的语义通常使用本体(Ontology)来描述。当信息结构化并且具备语义后,计算机就能理解其含义了,此时用户再进行检索时,搜索引擎在理解互联网中信息含义的基础上,寻找用户真实需要的信息。由于互联网中信息的含义是由本体来描述的,因此,本体的构建在很大程度上决定了语义Web的发展。
本体的定义非常多,最常用的定义是“本体是指一种形式化的,对于共享概念体系的明确而又详细的说明”。通俗地说,本体描述了特定领域(领域本体)或所有领域(通用本体)中的概念以及概念之间的关联关系,并且这些概念和关系是明确的、被共同认可的。通常,本体中主要包含概念、概念的其他称谓(即同义关系)、概念之间的上下位关系、概念的属性关系(分为对象属性和数值属性)、属性的定义域(Domain)和值域(Range),以及在这些内容上的公理、约束等。
在知识图谱中,每个实体和概念都使用一个全局唯一确定的ID来标识,这个ID即对应目标的标识符(Identifier);这种做法与一个网页有一个对应的URL、数据库中的一条记录有一个特定的主键相似。同本体中的结构一样,知识图谱中的概念与概念之间也存在着各种关联关系;同时,知识图谱中的实体之间也存在着同样的关系。实体可以拥有属性,用于刻画实体的内在特性,每个属性都是以“<属性,值>对(Attribute-Value Pair,AVP)”的方式来表示的。
按照覆盖面,知识图谱可以分为通用知识图谱和行业知识图谱。目前已经发布的知识图谱基本都是通用知识图谱,它强调的是广度,因而强调更多的是实体,很难生成完整的全局性的本体层的统一管理。另外,通用知识图谱主要应用于搜索等业务,对准确度要求不是很高。行业知识图谱则相反,有如下几个特点:
①对准确度要求非常高,通常用于辅助各种复杂的分析应用或决策支持。
②严格与丰富的数据模式,行业知识图谱中的实体通常属性比较多且具有行业意义。
③目标对象需要考虑各种级别的人员,不同人员对应的操作和业务场景不同。
4.1.2 知识图谱模式构建现状
1. 本体构建
本体定义了知识图谱中的数据模式,因而本体构建研究的成果能在很大程度上辅助知识图谱的构建。
本体的构建是一个非常繁杂的过程,通常有三种构建方式,分别为:人工构建方式、自动构建方式和半自动构建方式。
● 人工构建本体通常由大量的专家协作完成,最具代表性的两个人工编辑而成的本体为WordNet和Cyc。同时,为方便本体的构建,许多本体编辑工具被提出,著名的有Protégé,WebOnto,KAON和OntoEdit等;这些工具提供了友好的图形化编辑界面,用户使用这些工具,不需要了解底层本体描述语言的细节,而是把精力集中于本体内容的编辑上。因此,这些工具在很大程度上降低了人工构建本体的门槛和工作量。尽管如此,用户仍然需要从零开始逐个编辑各个概念、概念之间的关系以及一些约束规范等。因此,完全由人工构建本体仍然需要耗费大量的人力物力,同时构建的本体难以随着互联网的变更而更新以致迅速老化。
● 自动构建的方式通常也叫做本体学习(Ontology Learning),其目标在于利用各类知识获取技术、机器学习技术以及统计技术等自动地从已经存在的数据资源中获取本体知识,从而降低本体构建的成本。
● 半自动构建方式介于人工构建本体和自动构建本体之间。本体学习在执行过程中,完全自动化的知识获取难以实现,因此整个过程通常还需要在用户的指导下进行,是一个半自动的过程。
显而易见,在互联网规模的本体构建场景中,人工构建本体基本不现实。因此,本体学习技术在近年来得到越来越多研究者的关注。本体学习可以简单地划分为术语和概念的学习、术语/概念之间的关系学习,本文对这两方面都进行了研究。在关系学习中,主要包括同义关系学习、分类学关系学习、非分类学关系学习以及属性学习。
从方法学上而言,主要可以分为基于词法模式(Lexical Pattern)的方法、基于聚类的方法以及基于分布相似度(Distributional Similarity)的方法三类。而依据本体学习所基于的数据来源,本文把本体学习分为五类:基于非结构化数据的本体学习、基于半结构化数据的本体学习、基于结构化数据的本体学习、基于在线百科的本体学习和基于其他数据源的本体学习。
(1)从方法学上对本体学习的分类
①基于词法模式的方法。Hearst是创建此类方法的始祖,他首先使用形如“X such as Y”的模式来探测文本中的上下位关系。在早期,此类方法所使用的词法模式均由人工编写而成,但是其编写过程是一个极其耗费时间的过程,因此,后续的研究者们开始探讨自动生成模式的方法,总结了一些使用监督学习的方式。Wang等人提出了一种使用一些种子同义词自动构建抽取同义词模式的方法,这些同义词可以使用启发式规则轻易地从WordNet中获得;这种使用自动构建模式的方法极大地提高了召回率。Simanovsky和Ulanov则基于抽取自维基百科的同义词自动学习抽取同义关系的模式。Snow等人对早期的使用人工编写的正则表达式以匹配上下位关系的方法进行了通用化,通过使用从句法解析树中得到的“依赖路径(Dependency Path)”特征,提出了对规则进行规范化(Formalization)和通用化(Generalization)的方法。
②基于聚类的方法。提出了使用基于FOL的聚类方法以得到概念间的严格层次关系,但是在这种方法中概念不能有多个父概念。Faure和Nedellec使用广度优先的方法对概念按层次进行聚类,在进行每层的聚类时均考虑了所有的簇而忽略这些簇所属的层次;在这种方法中,一个簇不能与它的父簇进行聚类;最终得到一个有向无环图、节点之间的连接代表层次关系。Paukkeri等人提出了一种使用层次聚类从一个文档集合中获取分类学关系的方法,文档集合中的每个文档代表一个概念。
③基于分布相似度的方法。此类方法都基于Harris的假设,即:“具有相同上下文的词往往具备相似的含义(Words that occur in the same contexts tend to have similar meanings)”。Hagiwara等人使用实验揭示了上下文信息的选取对于自动同义关系获取的重要性,通过从语料中抽取了依赖关系、句子共现和句子邻近三类词语关系;其实验证明依赖关系和邻近均表现良好,但如果结合使用则能达到更好的效果;他们还在一种基于监督学习的方法中使用了分布特征。基于词语的分布模式定义了一个词语相似度指标,并把此指标成功应用于构建辞典的方法中。
(2)依据数据源划分的本体学习
①基于非结构化数据的本体学习。非结构化数据就是没有固定结构的数据,这里常用的非结构化数据是指纯文本,在互联网中存在着大量的文本信息,是本体学习的重要数据来源。文本通常依据特定句法规则表达特定的含义,人类可以根据一些背景知识和上下文来理解其中包含的语义;但是,由于其不具备特定的结构,机器并不能直接明白其中所包含的语义。因此,从文本中获取知识通常需要使用自然语言处理(Natural Language Processing,NLP)技术进行预先处理,包括分词、词性标注、命名实体识别和句法分析等步骤;然后借助统计分析、机器学习等技术获取知识。
②基于结构化数据的本体学习。结构化的数据主要指数据库中包含的数据,企业的内部数据基本都存储于关系数据库中,这些数据通常通过特定的前台网页技术(如ASP、JSP和PHP等)在企业的内网中进行展示;这些数据可以视作深网(Deep Web)数据或隐网(Hidden Web)数据,使用通用的搜索引擎爬虫很难直接获取。这些数据对于构建本体非常有用,尤其是构建领域本体,因为这些数据在大部分情况下都是面向主题或领域的。在使用难度方面,由于它们本身具备结构,通过简单的配置解析后,即可轻易地获取关系模型中的模式信息和数据信息,获得非常丰富的信息。
在关系模型中,实体以及实体间的关系都是使用数据表来表示的,所以首先需要鉴定每个表的用途,寻找出其中用来描述实体或实体间关系的表,然后将这些表分别映射成为本体中的概念和关系。从20世纪90年代开始,研究者们已经开始研究自动分析关系模型的语义,提供了许多技术提取关系模型的语义结构,这些技术通常被称为关系数据库的逆向工程(Relational Database Reverse Engineering),对基于关系数据库的本体学习非常有参考价值。
③基于半结构化HTML网页的本体学习。半结构化的数据指具备一定的隐含结构,但缺乏严格且固定的数据模式,最具代表性的半结构化数据为互联网中海量的以HTML格式存在的网页文档和部分以XML形式存在的文档。对于非结构化的数据,在进行本体学习时,首先应尽可能地利用当中的结构化信息,然后还可以使用基于无结构化文本的方法学习本体。Sánchez和Moreno开发了一种从初始关键词自动构建本体的方法,他们首先使用搜索引擎获取与初始关键词相关的网页,然后再从这些获得的网页中抽取新的概念以及概念之间的关系,抽取的主要依据是对概念的出现进行统计分析。Shinzato和Torisawa提出了一种从HTML网页文档中自动获取上下位关系的方法,他们主要针对网页中的列表信息和表格信息进行解析。
④基于在线百科的本体学习。随着互联网中用户生成内容的快速增长,这些数据成为本体构建的非常重要的数据源;与网页文档相比,这些数据具备更加丰富的信息,并且具备一定的语义结构,而且是公开的,可以非常方便地从中抽取和学习本体知识。最具代表性的用户生成内容为在线百科,包括维基百科、互动百科和百度百科。Gregorowicz和Kramer从维基百科中成功抽取了超过200万个概念的概念网络,这些概念映射到超过300万个术语。Ponzetto和Strube通过分析维基百科中的类别标签之间的语义关系,从中获得了一个大规模的分类系统;该分类系统主要来源于两方面的分析,即对维基百科概念标签网络之间的连通性,以及在大规模的文献资料中应用词法-句法模式(lexical-syntactic patterns)进行分析。
⑤基于其他数据源的本体学习。许多其他的数据源也被用于本体的构建,例如,搜索引擎日志、概念网络和一些机器可读的词典等。基于搜索引擎日志和方法的本体学习主要对用户在使用搜索引擎寻找知识的过程中的各种行为信息进行挖掘,这些行为包括输入搜索词、对搜索引擎返回结果的点击和翻页、搜索词的修改等。
2. 现有本体构建方法的不足
从以上国内外本体构建相关研究工作的现状分析得知,目前本体构建的方法还存在各方面的问题。基于人工构建本体的方法都还在专家编辑时代,在互联网规模数据时代已经不能满足大知识量的要求,本体编辑的工作量非常巨大而专家资源相对稀缺,所构建的本体在覆盖面、更新速度等方面将受到比较严重的限制。现有的编辑工具大多数还是桌面版本,编辑人员之间的协作和交流比较困难;少数的编辑工具虽然有在线版本(如Protégé),但其主要面向个人编辑,不支持多人并发编辑,另外它在交互式体验方面以及中文支持方面都不是很完善。然而,互联网2.0的兴起,许多平民级的普通用户越来越积极地参与知识编辑与共享,已经成为知识分享的主流,如果能有一个良好的交互式协作编辑平台,很多基础的工作均可以由这些普通用户完成,而专家则可以把精力放在知识的校验和组织上。这样不仅可以极大程度地降低专家的工作量,而且可以提高本体的编辑速度和更新速度;另外,由于参与的人员众多,本体知识在覆盖面通常也会有所提升。
从构建方法方面而言,首先,现有的方法均有自己特定的适用范围,通常仅在一定的条件下方能获得比较好的结果;其次,这些方法通常仅学习本体里面的特定部分的内容(如仅学习同义关系或上下位关系);在使用时,这些方法也基本都独立使用,未能结合其他方法的优势。总而言之,缺乏一种综合使用多种方法而且能够学习本体中所有元素的学习方法。
从数据源的角度看,现有的方法也存在如下不足:
①基于非结构化数据的本体学习方法高度依赖于自然语言处理技术、结构化的知识(如词典),且大部分情况下需要一定的人工干预。在学习深度方面,基于非结构化的本体学习大部分都集中于对概念、概念之间的分类学关系学习,而对概念之间的非分类学关系的研究则相对缺乏。
②基于结构化数据的本体学习则高度依赖于关系数据库本身数据模式的丰富程度,遗憾的是,在大部分以关系数据库存储的数据库中,数据模式并不非常丰富。因此,此类学习方法在学习内容的宽度非常受限,大多数情况下,还需要与其他方法结合使用,以构建更加全面的本体。
③基于半结构化数据的本体学习方法中,除了能够利用网页中Meta及表格形式的列表数据,大部分方法都退化成基于非结构化文本的学习。
④在基于在线百科的本体学习方法中,大部分方法均能从百科中学习到概念、同义关系、分类学关系和非分类学关系,且在本体规模上较其他几类方法有明显的改进。但是,这些方法仍然高度依赖于在线百科的内容丰富程度;在某些特定的领域中,百科知识的覆盖面以及准确度都是受限的。在基于维基百科的中文本体学习中,此问题尤为严重,一方面因为中文百科中的内容在结构、知识丰富程度以及可信度等方面均不如英文百科,虽然中文的两个知名百科—互动百科和百度百科中包含丰富的信息,但还很少有方法把它们结合使用;另一方面,在中文本体学习中也缺乏用于验证的基准本体(如英文中的WordNet)等。
⑤基于其他资源的本体学习则通常仅适合于具备特定资源的领域或企业使用,而且通常也需要与其他方法联合使用。
总而言之,在人工编辑本体方面,目前还没有一个可用性良好的本体协作编辑平台,能够方便广大普通用户参与本体知识的编辑。在自动构建本体方面,目前还极少有方法能够自动构建在覆盖面、准确性均能很好满足的本体。在中文本体构建方面,目前的方法对互联网中的越来越多的结构化或半结构化的信息利用不够充分,而且缺乏有综合利用多种方法并且利用多种数据源的本体学习方法。