知识图谱(使用doccano完成关系抽取)【第九章】

一、 关系抽取概念

关系抽取就是从一段文本中抽取出 (主体,关系,客体) 这样的三元组,用英文表示就是(subject , relation,object)这样的三元组。

具体定义: 给定一个句子 S,其中包含实体 A 和实体 B,预测两个实体间的关系r ∈ R (R代表数据集中所有关系的集合) . 或者说,抽取实体之间的关系是将非结构化的文本信息转化为结构化的信息,最终以关系三元组〈S,P,O〉的形式来描述. 其中,S 和O为主、客实体,P为预测出的两个实体之间的关系。

  • 关系抽取两大任务:
    • 识别文本中的subject和object (实体识别任务)
    • 判断这两个实体属于哪种关系 (关系分类)
  • 关系抽取是一个文本分类问题(而之前学习的NER是序列标注问题 ) ,相比于情感分析、新闻分类等其他任务,关系抽取主要有3个特点:
    • 领域众多,关系模型构建复杂. 针对一个或者多个限定领域的关系抽取的研究时间较长,研究者投入的精力相对开发领域多,因此方法众多,技术成熟.
    • 数据来源广,主要有结构化、半结构化、无结构3类. 结构化数据针对表格文档、数据库等;半结构化数据针对如维基百科、百度百科等;无结构属于纯文本数据.
    • 关系种类繁多且复杂,噪音数据无法避免,实体间的关系多样,有一种或者多种关系.

二、关系抽取的常用方法

2.1基于规则方式实现关系抽取

  • 基于规则的知识抽取主要还是通过人工定义一些抽取规则,从文本中抽取出三元组信息 (实体-关系-实体) . 重点即是定义规则. 虽然定义规则这种抽取方式看起来有点 low,但却简单实用,很多时候,效果比很多高深的算法还要好一些 (非绝对,具体领域具体分析) .
  • 基于规则方法的实现在后续章节介绍

2.2 基于Pipeline流水线方法实现关系抽取(先做NER再做关系抽取)

  • Pipeline方法是指在实体识别已经完成的基础上再进行实体之间关系的抽取.
  • 基于Pipline流水线方法的实现在后续章节介绍

2.3 基于Joint联合抽取方法实现关系抽取

  • Joint联合抽取方法通过修改标注方法和模型结构直接输出文本中包含的(ei ,rk, ej)三元组. Joint联合抽取方法又分为: "参数共享的联合模型" 和 "联合解码的联合模型":
  • 基于joint联合抽取方法的实现在后续章节介绍.

2.2和2.3都是使用深度学习的方式

三、 关系抽取任务常见问题

3.1正常关系抽取

  • 正常关系 (Normal) 问题:
    • 即三元组之间没有重叠, 数据中只有一个实体对及关系
    • 如: "《人间》是王菲演唱歌曲"中存在1种关系: (王菲-歌手-人间)

3.2单一实体关系重叠(SEO)

  • 单一实体关系重叠问题 (Single Entity Overlap (SEO) )
    • 数据中一个实体参与到了多个关系中
    • 如: "叶春叙出生于浙江,毕业于黄埔军校"中存在两种关系: (叶春叙-毕业院校-黄埔军校) 、 (叶春叙-出生地-浙江)

3.3实体对重叠(EPO)

  • 实体对重叠(Entity Pair Overlap (EPO)):

    • 数据中一个实体对有两种不同的关系类型
    • 如: "周星驰导演了《功夫》,并担任男主角"中存在2种关系: (周星驰-演员-《功夫》) 、 (周星驰-导演-《功夫》)

3.4小结

  • 正常关系 (Normal) 问题:数据中只有一个实体对及关系

  • 单一实体关系重叠问题 (Single Entity Overlap (SEO) ):数据中一个实体参与到了多个关系中

  • 实体对重叠(Entity Pair Overlap (EPO)):数据中一个实体对有两种不同的关系类型

四、doccano关系标注

(1)启动doccano

首先,在终端中运行下面的代码来启动WebServer

复制代码
conda activate docc
# 启动webserver(端口号可以随意设置)
doccano webserver --port 8888

然后,打开另一个终端,运行下面的代码启动---任务队列:

复制代码
conda activate docc
# 启动任务队列
doccano task

(2)创建任务

选择Sequence Labeling

数据导入:

导入成功:

创建标签:

标签创建完成

开始打标签:

结果导出:

结果分析:

相关推荐
打工仔折腾 AI4 分钟前
从Attention到BERT:双向预训练语言模型到底解决了什么问题
人工智能·后端·python·深度学习·语言模型·bert
正经教主6 分钟前
【FDE系列】阶段3:Day 56:评测体系入门 — 建立你的黄金评测集
人工智能·fde
鲲穹AI种草8 分钟前
自媒体矩阵批量剪辑怎么选?鲲剪短视频批量处理工具横向评测
人工智能·音视频·媒体
正经教主37 分钟前
【FDE系列】阶段3:Day 58:Prompt 安全 — 注入、越狱与防护
网络·人工智能·安全·prompt·fde
TechEdu2026061 小时前
[人工智能]Python09:numpy.random.Statistics统计实战指南
人工智能·numpy
可乐ea1 小时前
AI Agent 工具调用准确性评测:选择错误与参数错误分开测
大数据·人工智能·算法·大模型·工具调用·ai智能体·agent评测
昨日之日20061 小时前
yovoice:本地配音工具箱,支持音色克隆与情绪控制,专为旁白、有声书和视频配音打造
人工智能·音视频
DP DPharness1 小时前
选型时怎么比:dsh-knowledge 与三类 RAG 方案的维度对照
人工智能·dpharness
数智顾问1 小时前
(90页PPT)IBM集团管理驾驶舱项目蓝图规划(附下载方式)
大数据·人工智能·物联网
二川bro1 小时前
Windows下Claude Code从安装到落地完整踩坑记录
人工智能