知识图谱(使用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

数据导入:

导入成功:

创建标签:

标签创建完成

开始打标签:

结果导出:

结果分析:

相关推荐
Dovis(誓平步青云)1 小时前
从Redis指标采集到异常告警:redis_exporter + Prometheus 完整实战
服务器·数据库·人工智能·redis·架构·prometheus·vibe coding
AcaDesign2 小时前
国家/省部市级科技奖答辩PPT_科技进步奖_自然科学奖_技术发明奖|WordinPPT
大数据·人工智能·科技·powerpoint
Ai-_Man4 小时前
希望大家能推荐一款软件,可以直接把文心生成的代码变流程图,提高办公效率
人工智能·ai·小程序·流程图
AI02266 小时前
探秘AI Agent软件公司:开启智能时代的创新引擎
人工智能
fīɡЙtīиɡ ℡8 小时前
AI 应用系统设计
java·开发语言·人工智能
小淮AI8 小时前
国际教育课程的本土化探索:以枫叶教育三十年为观察样本
大数据·人工智能
又折桃枝换酒钱9 小时前
VisCoder2:构建多语言可视化编码智能体(翻译与解读)
人工智能·信息可视化
AI绘画哇哒哒9 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
Chengbei119 小时前
DSH渗透测试插件dsh-pentest全新升级!适配DeepSeek Harness,可视化探索链路,一键搭建轻量化AI渗透测试环境。
人工智能·web安全·网络安全·微信·小程序·系统安全·安全架构