Knowledge Graph

实体关系、实体属性、三元组、SPO三元组及其抽取方案

https://zhuanlan.zhihu.com/p/237452918

1.引言

  1. 实体识别;
  2. 实体关系抽取;
  3. 事件抽取。

1.1.关系、实体关系、实体属性、三元组、SPO三元组、是一回事吗?

  1. “三元组”标注。“榆林神木”、“矿藏”、“镁”三个词语构成了一个三元组(triple)。
  2. 实体关系抽取。“榆林神木”、“镁”是两个实体,而“矿藏”表示“榆林神木”地下有大量的“镁”。
  3. SPO三元组抽取。“榆林神木”、“矿藏”、“镁”分别是一个句子的主语(subject)、谓语(predicate)、宾语(object),因此是一个SPO三元组。
  4. 实体属性抽取。“榆林神木”是一个实体,它有一个属性,即“矿藏”情况。“榆林神木”的“矿藏”属性取值为“镁”。

1.2.只能手工标注吗?

显然,在一些场景中,手工抽取实体关系是不现实的,必须考虑自动方案。

2.关系、实体关系、实体属性、三元组、与SPO三元组

语义网、知识图谱等图形结构的知识库,其内容是事物或概念以及它们之间的关系,其结构是一个以事物或概念为节点、关系为边的图(Graph)。“关系”在不同的场景下,以实体关系、实体属性、三元组、SPO三元组等的名目或形态在。

2.1.知识图谱基本结构

简而言之,知识图谱是一种对世界的简单描述,是一种数据及其结构的总和,一般以概念或事物、以及它们之间的关系构成的图(graph)的形式存在。
“知识图谱”(Knowledge Graph,KG)含义有两个方面:

  1. 一种图形数据结构,节点为概念或事物,边为概念或事物之间的关系;
  2. 按照(1)所述结构存储的数据内容,即那些概念、事物和关系。

2.2.关系、实体关系

世界上存在种类众多、数量众多的事物,它们之间可能存在这样或那样的联系。我们(人类)出于自身的需要,认为其中一些事物是有意义的,并称它们为“实体”;同样的,我们出于自身的需要,认为一些实体之间的某些联系是有意义的,并称这些联系为“实体关系”。一般来说,“关系”是“实体关系”的简称;“实体关系”是“实体及其关系”的简称。

2.3.实体属性的定义

实体及其属性,也就是(实体,属性名,属性值)——这是一种三元组。一些情况下,我们允许实体作为属性值,比如(神木,景点,属神湖)的内容,是一个实体关系。

2.4.三元组(triple)与SPO三元组

作为一种图数据结构,知识图谱的最小单元,是两个节点及它们之间的关系,即(node1, edge, node2)——这是一个三元组(triple)。
“三元组”这个概念,实际上没有对3个元素的内容、类型进行约束,“三元组”里的3个元素,可以是是任何事物——不同领域的情况略有不同。在NLP领域,大家一般会具体一点,叫“SPO三元组”,以免和其他领域的同志们产生误会 。

2.5.几种概念之间的关系

总的来说,在NLP领域,“三元组”与“SPO三元组”是同义的;实体关系、实体属性都可以用三元组来表示。为了理解起来直观,后面主要使用“实体关系”来表示这几个概念。

3.实体关系抽取任务及其解决思路

3.1.实体关系抽取任务的定义

在NLP领域,关系抽取任务,指的是为了构建知识图谱,从结构化(如表3-1)、半结构化(如表3-2)、非结构化数据(如表3-3)中获取形式为(事物1,关系,事物2)的三元组的活动。一些情况下,我们会想办法把关系抽取抽象成若干三元组的抽取,而不会做“四元组”、“五元组”的抽取。

3.2.确定实体的类型、关系的类型

要抽取实体关系,我们得首先定义两个东西:(1)什么是我们需要的实体;(2)什么是我们需要的实体关系。一般来说,可以用schema来描述有价值的实体关系类型。
在关系抽取任务里,实体的类型、关系的类型,以及它们之间的搭配,总称schema。”schema”这个提法是欧美人提出来的大意是“提要,纲要”。在口头或书面提及这个概念时,我们可以直接使用英文单词。我个人一般按照“模式”来理解——“schema”描述的是一个知识体系的模式,即”什么样的实体之间可以存在什么样的关系”。

3.3.结构化程度与实体关系抽取方法

***结构化数据***的字段含义、字段数量、数据内容都是明确的,只需要设计简单的映射规则,即可变换为三元组,并与知识图谱中的概念、实体对应或链接(Entity Linking)起来。
非结构化数据,主要指的是文本数据,其蕴含的三元组需要分两步来抽取:

  1. 定义概念体系,即所谓schema、本体,规定有哪些类型的节点和关系,并约定哪些mention是事物的指称项;
  2. 使用规则、统计方法、机器学习方法从文本中,将schema所描述的三元组抽取出来。
    ***半结构化数据***的情况稍微复杂一些,其字段、内容没有结构化数据那么规整,需要基于一定的数据探查来发掘对业务有意义的部分、使之尽量结构化。另外,半结构化数据中一些字段的值可能是文本,我们就需要使用非结构化数据的三元组抽取方法来处理。

由于面向结构化数据的三元组抽取方法,相对简单、主要依赖我们对业务的理解,学术界和产业界的关注度比较低(业务理解成分多就意味着“艺术性”比较高,“科学性”较低)——大家的视线主要在面向非结构化数据的三元组抽取方法上。

3.3.面向非结构化数据的三元组抽取思路

就像事件抽取等信息抽取任务一样,三元组抽取实际上有两个子任务:(1)实体识别;(2)实体关系分类。按照两个子任务的配合方式,三元组抽取模型的结构可以分为2类:

  1. 流水线式模型,也叫pipeline式模型。这种模型会使用一个序列标注模型识别文本中的实体;然后使用一个分类器对前面识别出来的实体进行两两之间关系的分类。还是那句老话,流水线式模型存在误差传递,酌情使用。举例来说,如果上一个项目中开发了一个效果极好的实体识别模型,而当前项目的三元组抽取模型训练语料还比较少,那么基于老模型构建一个流水线式的三元组抽取模型、帮我们撑过冷启动阶段,还是挺不错的选择。
  2. 联合模型。这种模型一般将实体识别模块和实体关系分类模块整合到一个模型内,让二者共享底层特征、联合二者的损失值进行训练。相对流水线式模型,联合模型中的实体识别模块传递到实体关系分类模块的误差较小;如果结构设计得当,计算速度也会快很多。

3.4.三元组抽取模型的结构设计

3.4.1.领域知识驱动与数据驱动

  1. 领域知识驱动。领域专家基于自身积累,可以设计一些规则或者模式、添加到模型里,让模型快速获得领域知识。如果领域相关数据的总量比较小、知识量比较小,或者表达方式比较统一,应该优先使用领域知识驱动的方案。这类方案一般会基于规则、模式、统计方法来实现。
  2. 数据驱动。基于机器学习方法的关系抽取模型,可以自动地从专家和数据标注员事先标注好的数据中,学习领域知识、获得识别实体和关系的能力。领域相关的数据丰富、知识量较大、表达方式变化较多,那么可以考虑使用数据驱动的方案。这类方案主要基于机器学习、深度学习方法来实现。

3.4.2. 文本领域是否开放

  1. **领域关系抽取(Domain Relation Extraction,Domain-Specific Relation Extraction)。领域相关文本数据一般为一个或多个相似主题下的众多文本构成,比如金融类新闻数据.这类数据也叫限定领域语料(Corpra od Restricted Domain)。领域相关语料中,实体类型、关系类型一般比较少,可以人工总结出相对固定的schema(更新周期长)。这种情况下,我们的目标即明确又固定,任务难度相对较低。
  2. ***开放域关系抽取(Open domain Relation Extraction)***。这种任务的特点是,需要处理的文本数据是领域开放的,不限制主题数量,典型的如百科数据,开放域数据集一般规模较大,包含的实体类型个数、关系类型数量较大且更新周期短,我们不能期望依靠人力去总结schema。这时候,我们可以引入一些方法或模型,以支持关系抽取模型自动发现新的关系类型,甚至自动扩展schema。据我所知,聚类算法和依存句法分析模型可以用在这种场景。

3.4.3.文本篇幅

对于三元组抽取模型来说,输入文本的篇幅有句子、段落、文档、多文档等等。显然,端到端的模型,在较长文本的处理方面存在困难,比如梯度消失、内存消耗较大等会导致无法训练。

3.4.4.无监督、半监督、弱监督、有监督

4.关系抽取的用途

  1. 支持知识图谱构建。知识图谱构建的过程中,有时候需要使用自动方法抽取实体关系或属性。退一步讲,即使是在人工阅读资料的基础上构建知识图谱,也可以使用召回率较高的关系抽取方法获取候选三元组。
  2. 事件抽取。事件抽取任务是一种比较复杂的信息抽取任务形式,可以看做实体识别和若干关系抽取任务的总和。
  3. 同义词、近义词挖掘。“词义相同”、“词义相近”描述的是词语之间的关系,当然可以使用关系抽取的方法来识别。
  4. 指代消解。指代消解的情况有点类似同义词挖掘,涉及的也是两个或多个词语之间的关系,也可以用关系抽取的方法来完成。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
知识图谱课程是一门专注于教授知识图谱理论和实践的课程。在这门课程中,学生将学习如何构建、表示、存储和查询知识图谱,以及如何应用知识图谱在各个领域中解决问题。 在知识图谱课程中,学生将了解知识图谱的基本概念和原理,包括实体、关系和属性的表示方法,以及知识图谱的构建流程和技术。学生将学习如何从结构化和非结构化数据中提取信息,并将这些信息组织成知识图谱。他们还将学习如何使用知识图谱表示和推理知识,以及如何利用语义注释和链接数据来丰富知识图谱的内容。 在课程的实践部分,学生将有机会使用知名的知识图谱建模工具和技术,如Neo4j、Protégé等,来构建和管理自己的知识图谱。他们将学习如何选择适当的知识图谱编码和存储技术,以及如何进行知识图谱的查询和可视化。学生还将学习如何评估和优化知识图谱的性能和质量。 最后,知识图谱课程还将介绍知识图谱的应用领域,如智能搜索、问答系统、推荐系统等。学生将了解如何将知识图谱应用于实际问题,并思考如何解决与知识图谱相关的挑战和问题。 通过学习知识图谱课程,学生将获得深入了解知识图谱的理论和实践知识,为他们将来在知识图谱相关领域的研究和应用工作奠定坚实基础。此外,他们还将培养出分析和解决问题的能力,以及团队合作和沟通技巧,这些都是在知识图谱领域中取得成功所必需的技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MightKai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值