知识图谱简介
人工智能的发展,在过去几十年起起落落。在算力和数据不是瓶颈的今天,基于深度学习的信号处理、语音识别、机器视觉等感知智能成为当前 AI 的主流路线。
然而,虽然我们有成熟的 benchmark 数据集、criteria 机制去检验模型的性能,但数据在高维空间的关联、传递过程、模型结构却缺乏成熟的可解释性。认知智能正是与感知智能互补的另一条 AI 路径。
感知智能VS认知智能
认知智能的目的,是要让计算机具备知识表达、逻辑推理、自主学习的能力,并在这个过程中,让机器真正具备“理性”,能够解释推理的过程和结果。而知识图谱正是实现认知智能的关键技术。
知识图谱历史脉络
“知识图谱”的概念,最先是由 Google 在 2012 年 5 月 17 日正式提出的 Google Knowledge Graph,它作为一个知识库,整合多源信息,使用语义检索提供搜索服务。而追溯知识图谱的发展脉络和相关技术栈的发展历史,作者认为驱动知识图谱的是本体语义网和 NLP 两条路径。
基于 NLP 技术的实体抽取、关系抽取、事件抽取、阅读理解等任务,能够帮助知识图谱完成知识结构化,海量知识沉淀及知识推理,这也是最近 NLP 与知识图谱结合越来越深的原因。
基于NLP的实体关系抽取
但是,要真正理解知识图谱的精髓,定义一个优良的图谱结构,并为后续面向特定业务场景的认知推理、语义检索、精准推荐等任务提供理性,则需要了解本体语义网技术,进而在此基础上进行 domain-specific schema 的构建。
语义网(semantic web)由万维网(World Wide Web)的发明人 Tim Berners-Lee 提出,其核心思想是"not strings,but things"。
在实现上,为万维网上的文档定义通用的元数据(meta data)模型 ,通过统一资源描述符(Uniform Resource Identifier, URI)文档中的为实体及属性分配唯一的标识符,并建立实体间的超链接关系。因此,我们可以把由 URI 描述的网络资源中的站点、实体、属性等看作实体,超链接看作关系路径,则由它们构成了图谱的雏形。
not strings,but things
语义网为数据间建立关联,但没有解决对知识对认知。本体,即“Ontology”,是脱胎于哲学的概念,它是指“一种形式化的,对于共享概念体系的明确而又详细的说明”。本体用于指导我们在特定的领域范围内,对真实世界存在的事物和领域内的术语及概念,进行认知建模,定义图谱知识的 schema。
领域 schema 的构建,是面向特定的业务场景,综合考虑到能够获取的数据/知识资源,并考虑到领域术语的标准化和概念类别的广泛适用性,抽象出领域内的概念层次结构,定义每个概念的相关属性及概念间的关系。
汽车领域本体示例
Schema 构建方法
对于通用领域知识图谱,通常只需要宽泛的定义 schema 或者直接使用 openkg 等开发知识图谱的结构,甚至采用“无 schema”模式,直接将数据结构化为 SPO 的三元组结构即可。
但特定领域的应用,对知识的精确性要求较高。因此需要构建领域数据的 Schema 模式,包括定义数据的概念、类别、关联、属性约束等。
如上所述,基于领域知识本身的内在关联定义良好的,能够帮助梳理业务逻辑,为炼丹师准备关联稠密、特征清晰的结构化数据。此外,还能为未来打破领域内外的知识壁垒,促进知识共享,知识融合和知识重用奠定基础。
“自顶向下”VS.“自底向上”
领域本体建模或者说 schema 构建,可以认为有“自顶向下”和“自底向上”两种方法。
“自顶向下”即先对领域所具备的知识点、概念、术语进行 high-level 的认知和抽象,提炼出最具广泛性的概念,然后在此基础上逐步细化,定义更多的属性和关系来约束更为具体的类别。
例如针对汽车领域,定义高层概念“汽车领域实体”和“组织”。并从“汽车领域实体”继承出“车型”、“配件”;从“配件”扩展出“发动机”、“座椅”;从“组织”扩展出“经销商”、“车厂”。
“自顶向下”的方法适用于对领域知识体系已有深刻的洞察和全面了解的情况。而“自底向上”则是反向的认知路径。在已有大量数据表、文本时,先基于业务,定义具体的概念及其属性、关系。再对拥有高重叠属性/关系的概念进行聚类,抽象出共同的 super-concept。
自动 VS.手动
构建 schema,分为“手动构建”,“自动构建”和“半自动构建”三种实施方法。
“手动构建”,是指企业内部已经有对业务和数据了然于心的专家,基于自身经验进行知识建模。手动构建可能存在的问题是主观性太强,没有工程化的科学管理流程作为支撑,以及缺少评价机制。
半自动构建的方法是,基于领域已有的术语表/词典及通用领域 schema,在此基础上进行 schema 的复用和扩展,使得概念的选择和继承有一个很好的起点,但可能带来本体/schema 融合的问题。
最后,自动构建是指通过 NLP 技术和数据分析自动抽取文本中的领域实体和关系,通过聚类等分析方法自动构建领域概念的体系。但自动抽取的概念粒度过细,无法建立精确的概念层次及属性/关系约束。
领域本体/Schema 构建流程
接下来简要介绍面对一个特定领域,构建 schema 的通用流程:
- 划定专业领域和业务范畴 业务的场景、处理的意图,数据的范围
- 收集数据
- 获取业务语料、文本、表格和已有知识库等
- 列出领域相关的重要术语;
- 收集是否已存在领域本体
- 分析数据
- 使用文本聚类、词频分析、聚类、统计分析等,统计出领域高频特征词、术语。
- 考查复用现有本体的可能性;
- schema 初步开发;
- 从通用本体或复用领域本体,列出相对 high-level 的概念集合。
- 概念划分。区分领域特定的概念和跨领域的概念。跨领域概念尽量从通用概念扩展,并注意语义兼容性,如:经销商,厂商。领域特定概念要注意语义上的特异性:如,金融事件、研报、汽车配件、故障。
- 概念定义:
① 基于领域词典和数据分析的结果,选择领域术语和高频词转换为概念。
② 确定概念所继承的 super-concept.
③ 参考领域术语的定义、注释、解释,以及业务数据的结构、语料信息,为概念添加属性。
④ 建立概念间的关系:isA(类/实例,继承),hasA(部分与整体的组成关系),useA(角色关系、属性关系)及其它关联关系。
- schema 优化与验证。
领域 schema 的构建原则是:
① 规范性:概念定义明确,客观,概念命名符合领域标准。
② 完全性:定义是完整的,完全能表达所描述术语的含义。
③ 一致性:由概念定义的实例、约束得出的推论与概念本身的语义不会产生矛盾。
④ 较大单调可扩展性:添加子概念时,不需要修改已有父概念的内容。
⑤ 最小承诺:尽可能少的约束。
⑥ 语义区分性:高层级别(meta-concept)语义区分度大,兄弟概念间的语义差别应尽可能小。
判断领域 Schema 是否优良的标准,在于能够广泛的建立领域内各场景、业务单元下数据的关联,并兼顾与领域外数据融合;减少数据冗余并为长路径推理提供的逻辑基础。
领域 schema 在构建初期,是一个基于业务实际不断优化迭代的过程,直到 schema 的完全结构确定下来不再修改(可以继承),则可以基于此将领域知识结构化了。
参考文献:
肖仰华教授带你理清知识图谱基础知识
知识图谱与认知智能
深度解析知识图谱发展关键阶段及技术脉络
知识图谱从 0 级到 10 级简化版
自底向上构建知识图谱全过程