开源开放 | 一个用于文言文实体识别与关系抽取等任务的开源数据集C-CLUE(CCKS2021)...

本文主要是介绍开源开放 | 一个用于文言文实体识别与关系抽取等任务的开源数据集C-CLUE(CCKS2021)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OpenKG地址:http://openkg.cn/dataset/c-clue

GitHub地址:https://github.com/jizijing/C-CLUE

网站地址:http://152.136.45.252:60002/pages/login.html

开放许可协议:CC BY-SA 4.0 (署名相似共享)

贡献者:天津大学(王鑫,季紫荆,申雨鑫,孙毅宁,雨田)


1. 介绍

“二十四史”是中国古代各朝撰写的二十四部史书的总称,记录了丰富的历史人物和事件。由于古代汉语和现代汉语在语义和语法上存在较大差异,识别史书中的实体和关系耗时耗力,因此我们利用群体智慧,采用众包标注系统,并通过引入领域知识来实现高效准确的标注。根据系统的标注结果,可以得到一系列的实体和关系来构建文言文语言理解测评基准及数据集。

C-CLUE是一个基于众包标注系统构建的文言文语言理解测评基准及数据集,由天津大学数据库课题组贡献,包括建立在相应数据集上的细粒度命名实体识别(NER)任务和关系抽取(RE)任务,可用于微调当前自然语言处理(NLP)主流的预训练语言模型(PTM)并评估模型处理文言文的性能,同时能够为中国古代历史文献知识图谱构建提供数据支持。本次开源了从标注系统中获取的近2万个实体以及4千多个关系,并分割成训练集、校验集、测试集等文件,可供文言文NER和RE直接使用。

2. 众包系统设计

我们设计并构建了一个众包标注系统,该系统引入“二十四史”的全部文本(约4000万字),并允许用户标注实体和关系。与现有的众包系统不同,在理解和标注文言文语料时,我们在系统中注入领域知识,并通过引入专业度得到高精度标注。具体而言,该系统通过在线测试判断用户的专业度,并在结果整合和奖励分配阶段考虑用户的专业度。另外,不同于注重任务分配策略的众包系统,本系统向每个用户开放相同任务,即“二十四史”的内容,并允许用户选择感兴趣的章节,对同一文本进行不同的标注,以最大限度地发挥群体智慧。

图1 C-CLUE的构建框架图

1、专业度评测方法(Professional Evaluation Standard)

为了将领域知识注入众包标注系统,本系统引入大多数现有众包系统中没有考虑的用户专业度,并定义两种用户角色“专家标注用户(Expert Annotation User)”和“普通标注用户(Ordinary Annotation User)”,以及两种判断方法。

  • 对于已知的专业度较高的用户,在将用户信息录入数据库时,直接将其角色定义为“专家标注用户”。

  • 对于未知用户,系统准备了具有标准答案的测试题目,并要求用户在第一次登录时进行作答。专业度将根据用户答题的准确率和题目的难度综合计算:(1) 根据志愿者的答题情况定义每道题目的难度初始值,难度值随着答题用户数的增加而动态变化,表示为答错的用户数量与参与答题用户总数的比值(取值范围为[0,1]);(2) 题目分数与难度成正比,定义为难度乘10后进行向上取整(例如,难度值为0.24,题目分数为2.4向上取整,结果为3);(3) 将所有题目分数之和作为总分,如果用户的得分高于总分的60%,将其角色定义为专家标注用户,反之,则将定义为普通标注用户。

图2 众包标注系统中的用户专业度测试页面

2、答案整合机制(Answer Integration Mechanism)

对于需要领域知识的文言语料标注任务,专业度高的用户更有可能做出正确的标注。例如,历史系学生比其他系学生掌握更多专业知识,做出正确标注的概率更大。因此,不同于现有的多数投票策略或引入准确度的方法,为了确保结果的准确性,本系统充分考虑了用户的专业度。

该众包系统允许用户修改界面上的现有注释,并将用户id、标注时间以及标注内容等信息录入数据库。如果多个用户对同一个实体或实体对有不同的标注,将分别保存它们而不是覆盖之前的标注。在下载数据时,如果有多条记录对应同一文本,则进行考虑用户专业度的答案整合,具体来说,系统为专家标注用户赋予的权重是普通标注用户的两倍,并采用加权多数投票策略来获得最终结果。

图3 众包标注系统中的用户标注页面

3、奖励分配策略(Crowdsourcing Reward Mechanism)

我们在现有众包系统的基础上,综合考虑专业度、标注准确率和标注数量,提出了一种新的奖励机制,并每隔固定时间结算一次奖励。

将答案整合后的最终结果视为正确结果,如果用户的标注与正确结果相同,则给予其奖励。对于专家标注用户,给予其双倍于普通标注用户的奖励。为了激励用户积极进行标注,该系统对标注的数量和正确率设置了阈值,并对超过该阈值的用户给予多倍奖励。

将一次标注的单价设为   ,标注数量阈值设为   ,标注准确率阈值设为 

这篇关于开源开放 | 一个用于文言文实体识别与关系抽取等任务的开源数据集C-CLUE(CCKS2021)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/851046

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

Spring定时任务之fixedRateString的实现示例

《Spring定时任务之fixedRateString的实现示例》本文主要介绍了Spring定时任务之fixedRateString的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录从毫秒到 Duration:为何要改变?核心:Java.time.Duration.parse

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

如何正确识别一台POE交换机的好坏? 选购可靠的POE交换机注意事项

《如何正确识别一台POE交换机的好坏?选购可靠的POE交换机注意事项》POE技术已经历多年发展,广泛应用于安防监控和无线覆盖等领域,需求量大,但质量参差不齐,市场上POE交换机的品牌繁多,如何正确识... 目录生产标识1. 必须包含的信息2. 劣质设备的常见问题供电标准1. 正规的 POE 标准2. 劣质设

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池