知识图谱(Knowledge Graph)

概述

定义

知识图谱(Knowledge Graph)由谷歌在2012年正式提出,旨在实现更智能的搜索引擎,并于2013年后开始在学术界和业界普及。随着智能信息服务应用的发展,知识图谱已被广泛应用于智能搜索、智能问答、个性化推荐、情报分析、反欺诈等领域。通过将Web上的信息、数据及链接关系汇聚成知识,知识图谱使得信息资源更易于计算、理解和评价,从而形成一套Web语义知识库。凭借其强大的语义处理能力和开放互联能力,知识图谱为万维网上的知识互联奠定了坚实基础,使Web 3.0提出的"知识之网"愿景成为可能。

知识图谱是一种结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系。其基本组成单位是"实体---关系---实体"的三元组,以及实体及其属性---值对。实体间通过关系相互联结,构成网状的知识结构。这种结构不仅简化了复杂文档的数据处理过程,还实现了知识的快速响应与推理。

分类

根据功能和应用场景的不同,知识图谱可以分为通用知识图谱和领域知识图谱。通用知识图谱面向广泛的领域,强调知识的广度,通常表现为结构化的百科知识,主要服务于普通用户;而领域知识图谱则专注于特定行业,强调知识的深度,基于行业的数据库构建,服务于行业内专业人士。

应用场景

**搜**索

互联网的终极目标是对万物进行直接搜索,而传统搜索依赖网页间的超链接来查找网页。相比之下,基于知识图谱的语义搜索可以直接查询事物(如人、物、机构、地点等),这些事物可来自文本、图片、视频、音频、物联网设备等多种来源。例如,当查询"《觉醒年代》的导演是谁?"时,搜索引擎会解析问题,匹配知识库中的相关信息,并直接展示结果,而非仅提供相关网页链接。

问答

人与机器通过自然语言进行问答与对话也是人工智能实现的标志之一,知识图谱也广泛应用于人机问答交互中。借助自然语言处理和知识图谱技术,比如基于语义解析、基于图匹配、基于模式学习、基于表示学习和深度学习的知识图谱模型。

自然语言问答是人工智能的重要标志之一,知识图谱在此方面也发挥了重要作用。借助自然语言处理技术,知识图谱支持多种问答模型,包括基于语义解析、图匹配、模式学习、表示学习和深度学习的方法。

辅助大数据分析

知识图谱通过增强数据之间的关联性,帮助用户更直观地进行数据分析与决策。它不仅可以从文本中抽取实体和关系,还能辅助实现文本中的实体消歧和指代消解。

存储方式

知识图谱的数据类型主要包括三类:结构化数据(如关系数据库)、半结构化数据(如XML、JSON、百科)和非结构化数据(如图片、音频、视频、文本)。常用的存储方法包括RDF(资源描述框架)和图数据库(如Neo4j)。

架构

逻辑架构

知识图谱在逻辑上可分为两个层次:模式层和数据层。

  • 模式层:构建于数据层之上,是知识图谱的核心。它通常采用本体库来管理知识图谱的模式,确保层次结构清晰且冗余度低。模式层定义了实体---关系---实体(如"阿里巴巴---所属行业---科技公司")和实体---属性---值对(如"比尔盖茨---出生日期---1955年10月28日")。通过这种结构化的方式,知识图谱不仅能够清晰地表示实体间的关联关系,还能有效地组织和管理信息。
  • 数据层:由一系列事实组成,这些事实以三元组的形式表达,例如(实体1,关系,实体),(实体,属性,属性值)。数据层中的每一个事实都是一个独立的知识单元,它们共同构成了完整的知识网络。常见的存储介质包括图数据库,如Neo4j、Twitter的FlockDB以及sones的GraphDB等。例如,"比尔盖茨---妻子---梅琳达·盖茨","比尔盖茨---总裁---微软"。

技术架构

技术架构描绘了知识图谱从原始数据到最终生成的全过程,主要包括三个阶段:信息抽取、知识融合和知识加工。

  1. 输入数据:可以是结构化数据(如关系数据库)、半结构化数据(如XML、JSON、百科)或非结构化数据(如图片、音频、视频、文本)。这些数据来源广泛,只要对构建知识图谱有帮助即可。
  2. 信息抽取:从各种类型的数据源中提取出实体、属性及实体间的关系,并在此基础上形成本体化的知识表达。此过程涉及关键技术包括实体抽取、关系抽取和属性抽取。目的是将非结构化或半结构化的数据转化为结构化的知识元素。
  3. 知识融合:解决信息抽取过程中产生的冗余和冲突问题,通过实体链接和知识合并两种方式,整合来自不同来源的信息,形成统一的知识体系。这一过程类似于拼图,需要将散乱无章的信息碎片整合成一个连贯的整体。
  4. 知识加工:对经过融合的新知识进行质量评估,并通过本体构建、知识推理等方式进一步完善知识图谱。这一步骤旨在提升知识图谱的完整性和准确性,使其能够支持更复杂的查询和推理任务。
  5. 整个技术架构是一个循环往复、迭代更新的过程。知识图谱并非一次性生成,而是在不断的积累和完善中逐渐丰富起来的。

信息抽取

信息抽取(Information Extraction, IE)是知识图谱构建的第一步,其核心挑战在于如何从异构数据源中自动抽取信息并生成候选指示单元。信息抽取技术旨在自动化地从半结构化和非结构化数据中提取出实体、关系及实体属性等结构化信息。

实体抽取(Entity Extraction)

实体抽取,也称为命名实体识别(Named Entity Recognition, NER),是指从文本数据集中自动识别出命名实体的过程。实体抽取的质量(准确率和召回率)对后续的知识获取效率和质量至关重要,因此它是信息抽取中最基础且关键的部分。

方法和技术

2012年,Ling等人提出了基于条件随机场(Conditional Random Fields, CRF)的实体边界识别方法,并结合自适应感知机算法实现了对实体的自动分类,取得了显著效果。

开放域挑战

随着互联网内容的动态变化,人工预定义的实体分类体系难以适应时代需求。面向开放域的实体识别和分类研究成为焦点,主要挑战是如何从少量实体实例中自动发现具有区分力的模型。

  • 特征建模:根据已知实体实例进行特征建模,利用该模型处理海量数据集以生成新的命名实体列表,然后针对新实体迭代建模,逐步生成实体标注语料库。
  • 搜索引擎日志:利用搜索引擎服务器日志中的语义特征识别命名实体,并采用聚类算法对其进行分类。

关系抽取(Relation Extraction)

在经过实体抽取后,我们得到的是一系列离散的命名实体。为了形成网状的知识结构,需要进一步从相关语料中提取实体间的关联关系。

方法和技术
  1. 模式匹配:人工构造语法和语义规则,直接从文本中抽取实体间的关系。
  2. 统计机器学习方法:通过有监督学习方法,如基于特征向量或核函数的方法,训练模型识别实体间的关系。
  3. 半监督和无监督学习:随着研究的发展,开始转向半监督和无监督学习方法,以降低对大量标注数据的依赖。
  4. 面向开放域的信息抽取:将面向开放域的信息抽取方法与传统的封闭领域方法相结合,提升关系抽取的灵活性和准确性。

属性抽取(Attribute Extraction)

属性抽取的目标是从不同信息源中采集特定实体的属性信息。例如,针对某个公众人物,可以从网络公开信息中获取其昵称、生日、国籍、教育背景等属性信息。

方法和技术
  1. 关系转换法:将实体的属性视为实体与属性值之间的一种名词性关系,将属性抽取任务转化为关系抽取任务。
  2. 规则和启发式算法:基于规则和启发式算法从结构化数据中抽取实体属性。
  3. 自动抽取训练语料:基于百科类网站的半结构化数据,通过自动抽取生成训练语料,用于训练实体属性标注模型,然后将其应用于非结构化数据的实体属性抽取。
  4. 数据挖掘方法:采用数据挖掘方法直接从文本中挖掘实体属性和属性值之间的关系模式,据此实现对属性名和属性值在文本中的定位。

知识融合

通过信息抽取,我们已经从原始的非结构化和半结构化数据中获取了实体、关系以及实体的属性信息。然而,这些信息就像拼图碎片一样,散乱无章,甚至可能包含错误或冗余的信息。为了将这些信息整合成一个连贯且逻辑清晰的知识体系,我们需要进行知识融合。

知识融合主要包括两个部分:实体链接和知识合并。

实体链接

实体链接是指将从文本中抽取得到的实体对象链接到知识库中对应的正确实体对象的过程。其基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项链接到正确的实体对象。

研究历史
  • 早期阶段:仅关注如何将从文本中抽取到的实体链接到知识库中,忽视了位于同一文档的实体间存在的语义联系。
  • 发展阶段:开始关注利用实体的共现关系,同时将多个实体链接到知识库中,即集成实体链接(Collective Entity Linking)。
流程
  1. 实体指称项提取:从文本中通过实体抽取得到实体指称项。
  2. 实体消歧和共指消解:判断知识库中的同名实体是否代表不同的含义,以及是否存在其他命名实体与之表示相同的含义。
  3. 实体消歧:专门用于解决同名实体产生歧义问题的技术。通过实体消歧,可以根据当前的语境准确建立实体链接。实体消歧主要采用聚类法,类似于词性消歧和词义消歧。
  4. 共指消解:主要用于解决多个指称对应同一实体对象的问题。在一次会话中,多个指称可能指向的是同一实体对象。利用共指消解技术,可以将这些指称项关联到正确的实体对象。该问题在信息检索和自然语言处理等领域具有特殊的重要性,吸引了大量的研究努力。共指消解还有一些其他名称,如对象对齐、实体匹配和实体同义。

知识合并

在构建知识图谱时,可以从第三方知识库产品或已有结构化数据获取知识输入。常见的知识合并需求有两个:一个是合并外部知识库,另一个是合并关系数据库。

合并外部知识库:

  • 数据层融合:包括实体的指称、属性、关系及所属类别等。主要问题是如何避免实例及关系的冲突,造成不必要的冗余。

合并关系数据库: 在知识图谱构建过程中,企业或机构的关系数据库是一个重要的高质量知识来源。为了将这些结构化的历史数据融入知识图谱中,可以采用资源描述框架(RDF)作为数据模型。业界和学术界将这一数据转换过程形象地称为RDB2RDF,其实质是将关系数据库的数据转换为RDF的三元组数据。

知识加工

在前面的过程中,我们已经通过信息抽取从原始语料中提取出了实体、关系与属性等知识要素,并且经过知识融合消除了实体指称项与实体对象之间的歧义,得到了一系列基本的事实表达。然而,事实本身并不等于知识。为了最终获得结构化、网络化的知识体系,还需要经历知识加工的过程。知识加工主要包括三个方面:本体构建、知识推理和质量评估。

本体构建

本体是指概念集合或概念框架,如"人"、"事"、"物"等。它为知识图谱提供了一个层次分明的概念体系,使得知识能够被系统地组织和管理。

构建方式
  • 人工编辑:借助本体编辑软件手动构建本体。这种方法工作量大,且需要找到符合要求的专家。
  • 数据驱动自动化构建:当前主流的全局本体库产品通常从特定领域的现有本体库出发,采用自动构建技术逐步扩展得到。自动化本体构建过程包含三个阶段:
    1. 实体并列关系相似度计算:例如,在获取了"阿里巴巴"、"腾讯"、"手机"这三个实体后,通过计算它们之间的相似度,发现阿里巴巴和腾讯之间可能更相似,而与手机差别较大。
    2. 实体上下位关系抽取:在第一步的基础上,进一步识别实体间的上下位关系。例如,确定阿里巴巴和腾讯都是公司这一类别的细分实体,而手机不属于这一类别。
    3. 本体生成:根据上述步骤生成完整的本体结构,明确各实体间的层次关系。

知识推理

完成本体构建后,知识图谱的雏形已经搭建好,但此时大多数关系可能是残缺的,存在大量缺失值。这时可以使用知识推理技术来补充和完善知识图谱。

推理示例
  1. 如果A是B的配偶,B是C的主席,C坐落于D,则可以推断出A生活在D这个城市。
  2. 进一步思考,如果B是C的CEO或COO,是否也可以作为推理策略的一部分?
推理对象
  • 实体间的关系:如上例所示,推断出新的关系。
  • 实体的属性值:例如,已知某实体的生日属性,可以通过推理得出该实体的年龄属性。
  • 本体的概念层次关系:例如,已知(老虎,科,猫科)和(猫科,目,食肉目),可以推出(老虎,目,食肉目)。
推理算法分类
  • 基于逻辑的推理:利用形式逻辑进行推理。
  • 基于图的推理:利用图结构进行路径搜索和关联分析。
  • 基于深度学习的推理:利用神经网络模型进行复杂模式的识别和推理。

知识更新

知识图谱的内容需要不断更新以保持其准确性和时效性。知识库的更新分为概念层更新和数据层更新。

  • 概念层更新:当新增数据带来了新的概念时,需要自动将这些新概念添加到知识库的概念层中。
  • 数据层更新:主要是新增或更新实体、关系、属性值。对数据层进行更新时,需考虑数据源的可靠性、数据的一致性等问题,并选择在各数据源中出现频率高的事实和属性加入知识库。
  • 更新方式:
    • 全面更新:以更新后的全部数据为输入,从零开始重新构建知识图谱。这种方法简单直接,但资源消耗大,需要耗费大量人力资源进行系统维护。
    • 增量更新:以当前新增数据为输入,向现有知识图谱中添加新增知识。这种方式资源消耗小,但目前仍需大量人工干预(定义规则等),实施起来较为困难。
相关推荐
九.九10 小时前
ops-transformer:AI 处理器上的高性能 Transformer 算子库
人工智能·深度学习·transformer
春日见10 小时前
拉取与合并:如何让个人分支既包含你昨天的修改,也包含 develop 最新更新
大数据·人工智能·深度学习·elasticsearch·搜索引擎
恋猫de小郭10 小时前
AI 在提高你工作效率的同时,也一直在增加你的疲惫和焦虑
前端·人工智能·ai编程
deephub10 小时前
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
人工智能·microsoft·langchain·大语言模型·agent·强化学习
大模型RAG和Agent技术实践11 小时前
从零构建本地AI合同审查系统:架构设计与流式交互实战(完整源代码)
人工智能·交互·智能合同审核
老邋遢11 小时前
第三章-AI知识扫盲看这一篇就够了
人工智能
互联网江湖11 小时前
Seedance2.0炸场:长短视频们“修坝”十年,不如AI放水一天?
人工智能
PythonPioneer11 小时前
在AI技术迅猛发展的今天,传统职业该如何“踏浪前行”?
人工智能
冬奇Lab11 小时前
一天一个开源项目(第20篇):NanoBot - 轻量级AI Agent框架,极简高效的智能体构建工具
人工智能·开源·agent
阿里巴巴淘系技术团队官网博客12 小时前
设计模式Trustworthy Generation:提升RAG信赖度
人工智能·设计模式