doccano 实体识别标注的数据转为 大模型微调的数据集格式

文章目录

    • 背景
    • 简介
    • 数据集样例
    • 转换代码
    • 代码公开
    • 进一步阅读

背景

用实体识别的标注数据集微调大模型,往往大模型的效果会好一点。

故笔者提供了将 Doccano 实体标注格式的数据集转为大模型微调数据集的代码;

简介

  1. 展示 Doccano 实体识别导出的数据集格式;
  2. 展示 大模型实体识别微调的数据集格式;
  3. 提供 从Doccano 实体 转换到大模型微调数据集格式的代码;

数据集样例

Doccano 样例:
点击查看 Doccano 样例文件:https://github.com/JieShenAI/csdn/blob/main/24/04/convert_doccano_llm/data/guihua_10.jsonl
下述是一个样例:

{"id":6281,"text":"支持有实力的大企业牵头组建创新联合体,承担国家重大科技项目","Comments":[],"label":[[21,29,"重要项目"]]
}

点击查看 LLM 实体微调的样例文件:https://github.com/JieShenAI/csdn/blob/main/24/04/convert_doccano_llm/data/llm_10.jsonl
下述是一个样例:

{"instruction": "你是专门进行实体抽取的专家。请从text中抽取出符合schema定义的实体,不存在的实体类型返回空列表。请按照JSON字符串的格式回答。,'schema': ['重要项目', '功能定位', '主要任务', '基本遵循', '关键数据', '数值'], 'text': '支持有实力的大企业牵头组建创新联合体,承担国家重大科技项目'", "input": "", "output": {"重要项目": ["国家重大科技项目"], "功能定位": [], "主要任务": [], "基本遵循": [], "关键数据": [], "数值": []}
}

转换代码

查看代码:https://github.com/JieShenAI/csdn/blob/main/24/04/convert_doccano_llm/convert_doccano_llm.ipynb

import jsoninstruction_format = "你是专门进行实体抽取的专家。请从text中抽取出符合schema定义的实体,不存在的实体类型返回空列表。请按照JSON字符串的格式回答。, 'schema': {schema}, 'text': '{text}'"def convert_coccano2LLM(input_file, output_file, schema):with open(input_file, 'r') as f:with open(output_file, 'w') as w:for line in f:d = json.loads(line)text = d['text']ent_labels = d['label']output = {}for ent_class in schema:output[ent_class] = []for ent in ent_labels:start, end, ent_class = entoutput[ent_class].append(text[start:end])llm_data = {'instruction':instruction_format.format(schema=schema, text=text),"input":"","output": json.dumps(output, ensure_ascii=False)}w.write(json.dumps(llm_data, ensure_ascii=False) + '\n')
convert_coccano2LLM('data/guihua_10.jsonl', 'data/llm_10.jsonl', schema=['重要项目', '功能定位', '主要任务','基本遵循','关键数据','数值']
)

convert_coccano2LLM(input_file, output_file, schema):

  • input_file: Doccano 实体导出文件;
  • out_file: 大模型实体微调导入数据集文件;特别注意:json.dumps(output), 这里是 label 要转成字符串,使用 json.dumps 将字典转成字符串,不然后面在数据集导入时会报错;
  • schema: 实体类别;

代码公开

在上述给出的github 链接中,提供了完整的测试文件和运行代码;

进一步阅读

在下述链接中,提供一种便捷的大模型实体识别实战的教程:

  • llama-factory SFT系列教程 (三),chatglm3-6B 大模型命名实体识别实战

  • 大模型预测结果导入到Doccano,人工修正预测不准的数据
    人工修正大模型预测的结果,从而实现训练出更好的结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/406.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创建SpringBoot控制台程序并打包运行(Windows)

1. 新建一个Springboot项目Study (PS&#xff1a; 这个不需要演示了吧?) 注意pom.xml&#xff0c;是spring-boot-starter&#xff0c;不是spring-boot-web-starter <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot…

蓝桥杯备赛(C/C++组)

README&#xff1a; 本笔记是自己的备考笔记&#xff0c;按照官网提纲进行复习&#xff01;适合有基础&#xff0c;复习用。 一、总考点 试题考查选手解决实际问题的能力&#xff0c;对于结果填空题&#xff0c;选手可以使用手算、软件、编程等方法解决&#xff0c;对于编程大…

BTP连接cloud connector中配置的SAP

登录地址 登录之后可以看到我们已经配置成功的后端系统SAP。 从cloud connector中获取location ID ,然后在BTP中配置Destination 选择目标标签页&#xff0c;点击‘新建目标’&#xff0c;如下图&#xff1a; 新建连接 暂时不知道错误原因 创建目标-HTTP  新建目标&…

软考134-上午题-【软件工程】-进度管理

一、甘特图&#xff08;了解&#xff09; 1-1、定义 Gantt图是一种简单的水平条形图&#xff0c;它以日历为基准描述项目任务。 水平轴表示日历时间线(如时、天、周、月和年等)&#xff0c;每个条形表示一个任务&#xff0c;任务名称垂直地列在左边的列中&#xff0c;图中水…

DIY mybatisPlus的分页插件

目录 起因修改定义接口重写MyPage的方法 实践测试 起因 在我们通过list返回的列表页&#xff0c;出现了一个需要数据合计的需求&#xff0c;例如一个订单1块钱&#xff0c;那么所有订单加起来多少钱&#xff0c;那么list一般都通过分页返回&#xff0c;而统计所有订单又不能只…

量化研究---小果因子分析系统使用教程,可转债macd因子为例子

文章链接 量化研究---小果因子分析系统使用教程&#xff0c;可转债macd因子为例子 (qq.com) 因子分析是一种多维变量统计分析方法&#xff0c;用于从多个变量中提取少数公共因子。 具体来说&#xff0c;因子分析的核心目的是通过研究变量之间的相关性&#xff0c;将多个相关联…

线性回归、逻辑回归

线性回归是一种统计分析方法,它利用数理统计中的回归分析来确定两种或两种以上变量间相互依赖的定量关系。这种分析方法在生活中有着广泛的应用场景,如经济学、市场营销、医学研究、教育评估以及人力资源管理等。其表达形式通常为y = wx+e,其中y是因变量,x是自变量,w是权重…

C# 面向对象编程(一)——类 第二篇

总目录 C# 语法总目录 系列链接 C# 面向对象编程(一) 类 第一篇 C# 面向对象编程(一) 类 第二篇 C# 面向对象编程(一) 类 第三篇 C# 面向对象编程 一 ——类 第二篇 简介面向对象编程类 第二篇4. 解构器5.方法6. 事件7. 索引器8. 终结器 简介 主要记录的是面向对象…

Spring 事务 (编程式 声明式, Spring 事务传播机制)

事务 事务是一组操作的集合, 是一个不可分割的整体 事务会把所有的操作作为一个整体, 一起向数据库提交或是撤销操作请求. 所以这组操作要么同时成功, 要么同时失败 Spring 中事务的实现 编程式 (手动写代码操作事务)声明式 (通过注解自动开启和提交事务) 编程式事务 开启事务 …

Module外贸主题开心版下载-v5.7.0版本WordPress企业模板

主题下载地址&#xff1a;Module外贸主题开心版下载-v5.7.0版本 Module主题介绍&#xff1a;采用全新模块化开发&#xff0c;首页模块可视化拖拽自由组合&#xff0c;可自定义搭建出不同行业适用的企业网站。同时主题全面支持WPML多语言切换&#xff0c;可轻松搭建外贸网站。W…

torchEEG工具箱

文章信息: 题目&#xff1a;TorchEEGEMO&#xff1a;基于脑电图的情绪识别深度学习工具箱 期刊&#xff1a;Expert Systems with Applications 环境&#xff1a;pytorch 1.11.0 CUDA 11.3 摘要&#xff1a; ​ 一个python工具箱TorchEEG&#xff0c;将工作流程分为五个模块…

学习STM32第十六天

RTC实时时钟 一、简介 RTC是一个独立的BCD格式定时器&#xff0c;提供一个时钟日历&#xff0c;两个可编程报警中断&#xff0c;一个具有中断功能周期性可编程唤醒标志&#xff0c;RTC和时钟配置系统处于后备区域。 通过两个32位寄存器以BCD格式实现秒、分钟、小时&#xff08…

OKCC搭建配置什么样的服务器合适

OKCC呼叫中心系统是一种采用软硬件结合的架构方式、及分布式的IP技术&#xff0c;从多角度为企业提供整合的一体化解决方案。因此&#xff0c;搭建OKCC呼叫中心系统所使用的服务器应该满足以下几点要求&#xff1a; 稳定性&#xff1a;服务器需要具有较高的稳定性和可靠性&…

Java 异步编程进阶:CompletableFuture 完全指南

在现代应用程序开发中&#xff0c;异步编程已经成为不可或缺的一部分。Java提供了许多用于异步编程的工具和框架&#xff0c;其中最强大的之一是 CompletableFuture。CompletableFuture 不仅简化了异步任务的管理&#xff0c;而且提供了丰富的 API&#xff0c;使得开发人员可以…

Linux常见指令解析

基础命令行 1、rm可以删除文件&#xff08;rm -d /path/to/directory或者rm -r /path/to/directory&#xff09; 2、ls是展开文件 在linux中&#xff0c;“ll”是“ls -l”命令的别名&#xff0c;ls命令用于显示指定工作目录下之内容&#xff0c;参数“-l”表示除文件名称外&…

STM32之不使用MicroLIB

一、microlib介绍 microlib 是缺省 C 库的备选库,功能上不具备某些 ISO C 特性。 microlib 进行了高度优化以使代码变得很小,功能比缺省 C 库少,用于必须在极少量内存环境下运行的深层嵌入式应用程序。 二、不使用microlib的原因 由于microlib不支持C++开发,因此在使用C…

Java中函数式编程2

Java中的函数参数 在Java中&#xff0c;函数参数有以下三种形式&#xff1a; lambda表达式。方法引用。匿名内部类。 函数参数无论怎么表示&#xff0c;其原则为&#xff1a;1. 参数列表和返回值类型 与 要表示的抽象函数的相同。2. 方法体内部如果要使用外部变量&#xff0c…

element plus el-date-picker type=“datetime“ 限制年月日 时分秒选择

如何限制el-date-picker组件的时分秒选中&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 文档 文档在这里&#xff1a;DateTimePicker 日期时间选择器 | Element Plus 它提供的disabled-date给我们来限制日期选择 nice&#xff01;&…

mysql面试题四(事务)

目录 1.什么是数据库的事务 1. 原子性&#xff08;Atomicity&#xff09; 2. 一致性&#xff08;Consistency&#xff09; 3. 隔离性&#xff08;Isolation&#xff09; 4. 持久性&#xff08;Durability&#xff09; 2.事务的并发问题 1. 脏读&#xff08;Dirty Read&am…

探讨并行速率的评估方法及实验方案

引言 基础概念 并行计算的类型&#xff08;数据并行、任务并行&#xff09; 加速比 并行效率 如何评估并行算法 Amdahl定律与Gustafson定律的介绍 工具与平台 CPU/GPU/TPU等硬件平台的选择 软件和编程框架&#xff08;如OpenMP, MPI, CUDA&#xff09; 实验案例 简单…