知识图谱的自动构建
吴信东 DataFunTalk

——背景——

知识图谱是明略科技的核心技术。知识图谱的自动构建和数据挖掘有一定的关联,自动构建知识图谱和手动构建不是一个概念。明略科技的新产品正在做到:专家在台上讲话,后台图谱系统可自动同步构建知识图谱。

image.png

提到知识工程的发展,首先是80年代蓬勃发展的专家系统,随后逐步发展至90年代的万维网知识库。90年代的万维网1.0,以信息收集为主;后面加入人工因素,即人和信息一起,此时进入万维网2.0阶段。

"知识图谱" 这一概念是2006年由谷歌提出,谷歌出于搜索引擎需要而提出这样的名词,其技术核心类似于60年代提出的语义网络。

image.png

吴信东教授于2014提出 "HACE定理",指出大数据始于异构 ( Heterogeneous )、自治 ( Autonomous ) 的多源海量数据,旨在寻求探索复杂 ( Complex )、演化 ( Evolving ) 的数据关联和方法,这是对大数据本质特征的提炼。

大数据在实现的过程中分为3层结构:最底层是数据平台 ( Big Data Mining Platform ),做数据的收集、整合、加工等;中间的一层是应用领域,涉及到语义、专业领域知识等方面;最外层是大数据分析实现的算法,涉及到机器学习、数据挖掘等。

从大数据 ( BigData ) 到大知识 ( BigKE ),体现的是基于数据的知识提炼过程。"大" 知识的特点除了量大,更主要的是 "质量没有保证";我们的目标是,在浩瀚无边的知识海洋中,如何针对当前问题找到相关的知识进行问题求解,实现 "量 -> 质 -> 序" 的过渡。

基于大数据的特点,实现大数据到大知识的跳跃,这一过程中经历了信息检索的不断完善和分析;从知识图谱构建的角度来看,这一过程经历了人工构建-群体构建-自动构建这样的技术路线。详见下图。

image.png

本文将着重讲解 "自动构建"。自动构建的过程中,如果数据是结构化的 ( 例如图表数据 ),已知属性名称、属性间的层次结构等,构建知识图谱相对较为容易;如果缺乏以上信息,则只能通过文本信息等非结构化数据中提炼知识构建知识图谱,技术上将面临很多挑战。

image.png

结构化数据通常具有良好的布局结构,因此识别和抽取比较容易,可针对特定格式编写模板进行抽取,抽取准确率也比较高。早在知识图谱技术大受追捧之前的上个世纪90年代,国内便开始了 "从关系型描述数据库生成语义网络的方法" 研究工作。

非结构化数据上的知识图谱研究,主要集中非结构化文本数据处理上。由于自然语言表达的多样性、灵活性,实体和关系在文本中一般找不到明确的标识,这使得从中抽取实体和识别语义关系非常困难。

下面以一个实例来描述非结构化数据知识图谱的构建过程。文本数据来源于百度百科,介绍秦始皇的生平事迹。原文如下:

image.png

基于以上文本,初步构建知识图谱如下:

image.png

上述图谱抽取的信息不是十分完全,但是大体上能够涵盖和秦始皇相关的各种各样的人物以及各种各样的关系。

——构建方法——

这一部分会主要介绍现有的常见的知识图谱的构建方法。

知识图谱的构建方法,主要包含4大类:逻辑建模,隐含空间分析,人机交互,本体模型。

1. 逻辑建模

上一部分提到的 "秦始皇" 的实例,就是根据逻辑建模提炼生成的。

将名词和关系进行抽取,如果涉及到事件,将会涉及到条件概率、先验概率等。

在逻辑建模中,逻辑+概率作为可能世界的概率度量;对逻辑进行概率化,并利用知识库中的每一条关系三元组对可能世界概率进行约束。

逻辑建模中会涉及到逻辑变量和规则推理等方面的模型,其代表模型是马尔可夫逻辑网模型。将马尔可夫逻辑网看作一个构造马尔可夫网的模板,它维护一个基于一阶逻辑的规则库,并对每一个逻辑规则附上了权重,以此对可能的世界进行软约束。其概率模型为:

image.png

其中,g(x)=1 表示该实例化的规则为真,反之为假;F 为 Markov 网中所有谓词规则的集合,Gfi 是利用所有原子事实去实例化规则 fi 后的集合。

然而逻辑建模的缺陷也很明显:随着知识图谱的规模爆发性地增长,即使利用马尔可夫毯 ( Markov Blanket ) 等局部依赖假设,对知识图谱中所有知识实例进行建模也是不可行的。

2. 隐含空间分析

第二种知识图谱构建方法是隐含空间分析。有时候一句简单的语句的背后会包含一些隐含的逻辑关系,例如:吴信东 ( 首席科学家 ) 给吴明辉 ( 董事长 ) 打电话。这一句简单的语句,背后会隐含各种各样的关系,例如:首席科学家应该做哪些事;和董事长应该讨论的内容等。目前隐含空间分析主要尚处于研究阶段,应用还不是很广泛。

  • 距离模型

隐含空间分析的基本模型是距离模型,代表方法是结构表示 ( StructuredEmbedding,SE ):对于一个三元组 ( h, r, t ),SE 将头实体向量和尾实体向量通过关系的两个矩阵投影到关系的对应空间中,然后在该空间中计算两投影向量的距离。SE 模型的损失函数使用的是 L1 范数:

image.png

由于 SE 模型对头、尾实体使用两个不同的矩阵进行投影,协同性较差,因此往往无法精确刻画两实体与关系之间的语义联系。由此提出了隐变量模型:

  • 隐变量模型 ( LatentFactorModel,简称 LFM )

LFM 模型提出基于关系的双线性变换,刻画实体和关系的二阶联系,其评分函数为:

image.png

其中,Mr∈Rdxd 为关系 r 对应的双线性变换矩阵。

LFM 模型通过简单有效的方法刻画了实体和关系的语义联系,协同性较好,计算复杂度低。如何具体描述和刻画这个隐含的空间,会涉及到系数问题,于是引出张量神经模型:

  • 张量神经模型 ( neuraltensornetwork,简称 NTN ) 

基本思想:用双线性张量取代传统神经网络中的线性变换层,在不同维度下将头、尾实体向量联系起来。

image.png

然而,NTN 模型计算复杂度非常高,需要大量三元组样例才能得到成分学习,因而在大规模稀疏知识图谱上的效果较差。由此引出矩阵分解模型:

  • 矩阵分解模型

矩阵分解模型的代表方法是 RASACL 模型。

知识库三元组构成一个大的张量 X,如果三元组 ( h, r, t ) 存在,则 Xhrt=1,否则为0。张量分解 ( 矩阵分解 ) 旨在将每个三元组 ( h, r, t ) 对应的张量值 Xhrt 分解为实体和关系表示,使得 Xhrt 尽量地接近于 lhMrlt 。这种模型的缺陷是:时间复杂度和空间复杂度较高,且在大规模数据集上效率低、可扩展性差。

  • 翻译模型

翻译模型的代表方法是 TransE 模型。对于每个三元组 ( h, r, t ),将关系 r 的向量 lr 看作头实体向量 lh 和尾实体向量 lt 的平移。

TransE 模型的参数较少,计算复杂度低,能直接建立实体和关系之间的复杂语义联系,但是在处理复杂关系时性能显著降低。

3. 人机交互

image.png

人机交互 ( Human-Computer Interaction, HCI ):是指人与计算机之间使用某种对话语言,以一定的交互方式,为完成确定任务的人与计算机之间的信息交换过程。常见的方式就是:存在一个系统,什么都不懂,不断地向用户问问题;随着用户对问题的回答,系统逐步将图谱建立起来。

SIKT ( structured interactive knowledge transfer program ) 是吴教授最早采用人机交互方式构建知识图谱的代表性工作之一,早期称之为 "推理网络",主要包括以下特色:

  • 结构化人机交互知识库构建。

  • 基于 "rule schema + rule body" 的知识表示形式。

  • 程序通过交互接口指导学科专家自顶向下输入领域知识。

  • 生成的知识库加上来自 KEShell 的预定义推理引擎构成最终的可执行程序。

image.png

人机交互的另一种方法,也是吴教授的项目课题,是 IAKO ( Interactive Acquisition of Knowledge Objects ),即半结构化的知识图谱构建。

  • 利用面向对象编程的优势,IAKO 基于知识对象 ( Knowledge Object ) 的表示方法,提出了一个面向对象的交互知识构建系统。

  • IAKO 能够从0开始,通过领域专家交互方式生成一套完整的知识库,且进行知识和规则校验,以保障知识库的可执行性。

  • 基于知识对象的知识表示方式可以将规则融入对象中,达到 SIKT 中一组 "rule schema + rule body" 的知识表示能力。

  • IAKO 能够使得领域专家构建便携的可重用的知识库。

人机交互的一种最新方法,是吴教授任职明略科技后同明略科技董事长吴明辉一起提出的一种模型,叫做 "HAO 模型",该模型有效地融合了 Human Intelligence (HI)、Artificial Intelligence (AI)、Organizational Intelligence 这三种 "智慧",在以人为本、人机协同的基础上,加入了面向行业应用、具体细分领域的 Organizational Intelligence。下图就是面向行业构建的知识图谱框架。

数据感知 -> 人机交互 -> 行动

image.png

4. 本体模型支撑

本体模型,主要指:后台有一定的知识储备作为支撑。

系统后台存在一个知识库作为本体的支撑,根据输入语言的特征、关键词等去匹配后台的知识库。这里会涉及到较多的机器学习模型。

  • 人工构建

人工构建本体模型支撑,由大量的领域专家相互协作构建本体,用以支撑前台做文本分析;代表方法包括循环获取法、七步法等。

image.png

Cyc 循环获取法

image.png

七步法的缺点是:主观性太强,且比较随意,缺少科学管理和评价机制。

  • 半自动构建

半自动构建本体,利用相关领域内的专业词典、叙词表等专家知识,从中抽取感兴趣的概念和关系,构建需要的本体。

缺点:复用本体中的概念和关系,带来了不同本体匹配的问题。

image.png

  • 自动构建

自动构建本体,指的是利用知识获取技术、机器学习技术以及统计技术等从数据资源中自动获取本体知识。

主要涉及到两种方法:一种是基于语言规则的方法,另一种是基于统计分析的机器学习方法。

image.png

基于语言规则的方法,主要指基于语义模式,从自然域文本构建本体,通过对自然域文本的分析,提取候选关系并将其映射到语义表示中,实现本体的构建。

如上图所示,其基本框架为:

  • 使用模式编辑器构造语义模式

  • 选择自然域文本

  • 从自然域文本中提取领域本体

其优点是:以非分类学关系丰富了浅层本体,一个动词可以表示两个或多个概念之间的关系。然而,这种方法不会发现新的关系,只是发现已知关系实例;而且本体构建的效果依赖于语义模式,因而需事先构建较完备的语义模式。

基于统计分析的机器学习方法,主要是基于数据聚类和模式树挖掘,进行结构化的本体构建。

  • 对用于构建每个组的本体书类似文档进行分组

  • 使用模式树挖掘从部分本体树构建集成本体

这种方法主要有两个主要模块:

  • 文档聚类:使用检索关键字的关系矩阵通过潜在语义分析 ( LSA ) 和 K-means 方法来聚类文档。

  • 本体构建:通过形式概念分析和本体集成构建每组文档的本体。

统计机器学习方法可适用于范围更广的领域,可构建的本体倾向于更好地描述概念间的关系,结构也更加复杂;然而这种方法缺乏必要的语义逻辑基础,抽取概念关系松散且可信度无法得到很好的保证。

——图谱自动构建要素——

1. 总体设计框架

image.png

总体架构的两个核心要素,一个要素是后台的领域知识库,另一个要素是强化学习配合人机交互。

步骤一:数据自动获取

通过使用较为流行的网络数据获取工具,如:Scrapy,Jspider,Larbin 等获取多源异构数据。

步骤二:三元组自动抽取

结合自然语言处理工具和领域知识库,初步识别和抽取文本中的三元组信息。

  • 构建要素一:领域知识库

在图谱自动构建过程中,由领域专家 ( HI ) 和专业组织 ( OI ) 提供的领域知识库能够有效提高实体、关系的识别和抽取精度。

步骤三:自动纠错和自主学习

结合 HAO 智能模型和强化学习方法,通过人机交互接口对代表性错误三元组进行人工纠正,并以此对强化学习模型进行训练和提高,实现自动纠错和自主学习。 

  • 构建要素二:强化学习+人机交互

为保证图谱构建质量,需要通过人机交互接口对错误信息进行人工纠正,并以此作为种子案例,通过强化学习加强模型的识别精度和鲁棒性。

——应用场景——

应用场景一:网络行为动态分析

通过网络爬虫获取最新的网络信息数据,运用知识图谱自动构建技术,动态更新和扩充现有知识库,为网络行为分析提供知识支撑。包括:

  • 舆情监测

  • 热点跟踪

  • 用户情感倾向分析

  • 用户设计网络影响力分析

image.png

应用场景二:智能 Q&A

通过人机交互+知识图谱自动构建,设计更智能的知识问答系统。

  • 人机交互:人与机器进行工作互补,共同完成问答场景。

  • 知识图谱自动构建:动态更新和扩充问答知识库,响应最新的网络知识。

image.png

应用场景三:智能推荐


image.png

对于推荐系统中的核心元素:用户、场景和 ITEM,利用知识图谱自动构建技术,实时获取互联网海量信息并更新推荐知识库,通过用户兴趣跟踪、产品关联发掘、动态场景分析等方法提供更智能的推荐服务,涉及到用户跟踪,涉及产品动态变化等。

CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢