文本信息抽取与文档信息抽取中的标注问题,是一个有趣的场景。

在学术场景下,我们所用到的文本都是纯文本格式的,无论是实体识别任务,实体关系抽取,事件抽取任务,都是在纯文本上做的标注,这个我们在之前的文章中进行了相关开源工具集的介绍。

但在实际的落地场景中,通常会遇到各式各样的格式,如常见的pdf文档,甚至拍照图片,如广告牌等,直接地对这类文档进行标注,包括实体标注文档级关系抽取,关系标注,可以缓解因格式转换带来的误差,例如对于pdf文档转txt,通常会出现串行,表格混乱等问题。

因此,这就有了一个文本标注和文档标注的问题。本文主要围绕这一问题展开讨论,并以paddlepaddle开源的两类标注方案为例,介绍如何使用label-studio完成标注,供大家一起思考。

一、真实场景中的文本信息抽取和文档信息抽取

文本信息抽取与文档信息抽取有较大的不同点,前者指的是纯文本的标注文档级关系抽取,后者指的是文档类型,如pdf,wps,影印表单,图片等信息的标注,与之相对应的包括文本信息抽取和文档信息抽取两种。

1、文本信息抽取

文本信息抽取,是当前NLP常见的处理任务,包括但不限于命名实体识别(如人名、地名、机构名等)、关系(如电影的导演、歌曲的发行时间等)、事件(如某路口发生车祸、某地发生地震等)、以及评价维度、观点词、情感倾向等信息的抽取。

2、文档信息抽取

与文本信息抽取不同,文档信息抽取,指的是针对文档/图片/表格场景下,进行实体、关系、事件、观点等不同任务信息抽取。

可以看到,文档信息抽取通常会涉及到CV的技术范畴。

下面分别介绍基于labelstdio的两种不同类型的数据标注方法。

二、基于Label Studio的文本抽取数据标注

1、环境配置

在终端(terminal)使用pip安装label-studio:

pip install label-studio==1.6.0

安装完成后,运行以下命令行:

label-studio start

在浏览器打开:8080/,输入用户名和密码登录,开始使用label-studio进行标注。

2、项目创建

点击创建(Create)开始创建一个新的项目,填写项目名称、描述,然后选择Object Detection with Bounding Boxes。

文档级关系抽取_抽取文档关系级别怎么填_文档级事件抽取

抽取文档关系级别怎么填_文档级事件抽取_文档级关系抽取

抽取文档关系级别怎么填_文档级关系抽取_文档级事件抽取

文档级事件抽取_文档级关系抽取_抽取文档关系级别怎么填

抽取文档关系级别怎么填_文档级事件抽取_文档级关系抽取

图中展示了实体类型标签的构建,其他类型标签的构建可参考标签构建。

3、数据上传

先从本地上传txt格式文件,选择List of tasks,然后选择导入本项目。

文档级事件抽取_文档级关系抽取_抽取文档关系级别怎么填

4、标签构建

1)Span类型标签

文档级关系抽取_文档级事件抽取_抽取文档关系级别怎么填

2)Relation类型标签

抽取文档关系级别怎么填_文档级事件抽取_文档级关系抽取

3)Relation XML模板

  <Relations>
    <Relation value="歌手"/>
    <Relation value="发行时间"/>
    <Relation value="所属专辑"/>
  </Relations>

5、任务标注

1)实体抽取

标注示例:

文档级关系抽取_文档级事件抽取_抽取文档关系级别怎么填

该标注示例对应的schema为:

schema = [
'时间',
'选手',
'赛事名称',
'得分'
]

2)关系抽取

文档级关系抽取_文档级事件抽取_抽取文档关系级别怎么填

对于关系抽取,其P的类型设置十分重要,需要遵循以下原则

“{S}的{P}为{O}”需要能够构成语义合理的短语。比如对于三元组(S, 父子, O),关系类别为父子是没有问题的。但按照UIE当前关系类型prompt的构造方式,“S的父子为O”这个表达不是很通顺,因此P改成孩子更好,即“S的孩子为O”。合理的P类型设置,将显著提升零样本效果。

该标注示例对应的schema为:

schema = {
'作品名': [
'歌手',
'发行时间',
'所属专辑'
]
}

3)事件抽取

文档级事件抽取_抽取文档关系级别怎么填_文档级关系抽取

该标注示例对应的schema为:

schema = {
'地震触发词': [
'时间',
'震级'
]
}

6、数据导出

勾选已标注文本ID,选择导出的文件类型为JSON,导出数据:

文档级关系抽取_文档级事件抽取_抽取文档关系级别怎么填

三、基于labelstudio的文档标注

1、安装配置

以下标注示例用到的环境配置:

在终端(terminal)使用pip安装label-studio:

pip install label-studio==1.6.0

安装完成后,运行以下命令行:

label-studio start

在浏览器打开:8080/,输入用户名和密码登录,开始使用label-studio进行标注。

2、项目创建

点击创建(Create)开始创建一个新的项目,填写项目名称、描述,然后选择Object Detection with Bounding Boxes。

1)填写项目名称、描述

文档级事件抽取_文档级关系抽取_抽取文档关系级别怎么填

对于命名实体识别、关系抽取、事件抽取任务,选择“Object Detection with Bounding Boxes`

抽取文档关系级别怎么填_文档级事件抽取_文档级关系抽取

2)添加标签(也可跳过后续在Setting/Labeling Interface中添加)

抽取文档关系级别怎么填_文档级事件抽取_文档级关系抽取

图中展示了Span实体类型标签的构建,其他类型标签的构建可参考标签构建。

3、数据上传

限 时 特 惠: 本站每日持续更新海量各大内部创业教程,加站长微信免费获取积分,会员只需38元,全站资源免费下载 点击查看详情
站 长 微 信: thumbxmw