基于模板生成 NER 训练数据

NER 数据模板

在这里插入图片描述
模板中的标记作为占位符,用实际的数据去填充。

根据占位符生成样本

tag2sample = {'PER': ('person',per_data),'LOC': ('address',loc_data),'ORG': ('organization',org_data)
}def replace_tag(tag):tag = tag.strip('<>')for k, v in tag2sample.items():if tag.startswith(k):return (v[0], random.choice(v[1]))else:raise Exception(f"Unkown tag: {tag}")# 例如: replace_tag('<LOC2>')
# 输出: ('address', '天津市东丽区金钟街道悦和里1号楼1401')

生成样本

  • 随机选取模板
  • 随机选取样例数据
  • 使用find函数完成位置标记
import re
from collections import defaultdictdef find_entity(long_str, sub_str): # 查找子串在长串中的所有位置if len(sub_str) <= 0:return []positions = []l = len(sub_str)start = 0while True:pos = long_str.find(sub_str, start)if pos == -1:breakpositions.append([pos, pos+l-1])start = pos + len(sub_str)return positionsdata = []
for _ in tqdm(range(10000)):template = random.choice(templates)tags = re.findall('<.*?>', template)sentence = templatelabels = defaultdict(dict)for tag in tags:label, tag_sample = replace_tag(tag)labels[label][tag_sample] = []sentence = sentence.replace(tag, tag_sample)for label in labels:for entity in labels[label]:labels[label][entity] = find_entity(sentence, entity)data.append({'text': sentence, 'label': dict(labels)})

结果展示

在这里插入图片描述

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

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

相关文章

unordered_map 和 unordered_set

unordered —— 无序的&#xff0c;从表面上来看&#xff0c;与 map 和 set 不同之处就在于&#xff0c;unordered_map 和 unordered_set 无法保证插入数据是有序的&#xff1b; 尽管如此&#xff0c;由于这两种容器内部封装了“哈希桶”&#xff0c;可以实现快速查找数据 ——…

【C++】深度解析:用 C++ 模拟实现 String 类,探索其底层实现细节

目录 了解string类 string的内存管理 VS下string的结构 ​g下string的结构 string的模拟实现 string的构造函数 浅拷贝 深拷贝 string的遍历 重载 [] 下标访问 迭代器访问 reserve resize 增删查改 push_back() append和 insert和erase find substr swap 流插入…

自然资源-“十四五”规划引领,审批智慧化提升-值得学习

自然资源-“十四五”规划引领&#xff0c;审批智慧化提升-值得学习 2022年1月12日&#xff0c;国务院正式印发了《“十四五”数字经济发展规划》&#xff08;国发〔2021〕29号&#xff09;&#xff0c;从八个方面对“十四五”期间我国数字经济发展做出总体部署。其中第五点要求…

SpringBoot报空指针错:java.lang.NullPointerException

虽然报空指针错误的原因可能有很多种&#xff0c;但是我还是写上我的报错原因&#xff0c;以此与各位共勉~ 在这里提前说一句&#xff0c;AI虽然强大&#xff0c;但是还是要谨慎使用啊(血的教训)~ 这里先截图我错误的地方&#xff1a; 前端能成功传进来值&#xff0c;后台控制…

【运维自动化-配置平台】如何自动应用主机属性

主要用于配置主机属性的自动应用。当主机发生模块转移或模块新加入主机时&#xff0c;会根据目标模块配置的策略自动触发修改主机属性&#xff0c;比如主机负责人、主机状态。主机属性自动应用顾名思义是应用到主机上&#xff0c;而主机是必须在模块下的&#xff0c;所以有两种…

花趣短视频源码淘宝客系统全开源版带直播带货带自营商城流量主小游戏功能介绍

1、首页仿抖音短视频 &#xff0c;关注 &#xff0c;我的 本地 直播 可发布短视频 可录制上传 2、商城页面 广告位、淘口令识别、微信登录、淘宝登录、淘宝返佣、拼多多返佣、京东返佣、唯品会返佣、热销榜、聚划算、天猫超市、9.9包邮、品牌特卖、新人攻略 、小米有品、优惠加…

盘他系列——oj!!!

1.Openjudge 网站: OpenJudge 2.洛谷 网站: 首页 - 洛谷 | 计算机科学教育新生态 3.环球OJ 网站: QOJ - QOJ.ac 4. 北京大学 OJ:Welcome To PKU JudgeOnline 5.自由OJ 网站: https://loj.ac/ 6.炼码 网站:LintCode 炼码 8.力扣 网站: 力扣 9.晴练网首页 - 晴练网

在线视频教育平台,基于 SpringBoot+Vue+MySQL 开发的前后端分离的在线视频教育平台设计实现

目录 一. 前言 二. 功能模块 2.1. 用户功能模块 2.2. 管理员功能模块 2.3. 教师功能模块 2.4. 前台首页功能模块 三. 部分代码实现 四. 源码下载 一. 前言 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优…

部分树上问题及图的联通性(图论学习总结部分内容)

文章目录 前言三、部分树上问题及图的联通性最小生成树知识点例题 e g 1 : eg1: eg1: 走廊泼水节&#xff08;克鲁斯卡尔思想的灵活运用&#xff09; e g 2 &#xff1a; eg2&#xff1a; eg2&#xff1a; B-Picnic Planning e g 3 eg3 eg3&#xff1a;L - Classic Problem&…

探索ISP静态:网络连接的稳定基石

在数字化时代的浪潮中&#xff0c;互联网已成为我们生活、工作、学习不可或缺的一部分。而网络连接的质量&#xff0c;直接决定了我们在线体验的好坏。在众多网络连接技术中&#xff0c;“ISP静态”作为一种稳定、可靠的网络连接方式&#xff0c;越来越受到广大用户的青睐。本文…

微服务熔断降级

什么是熔断降级 微服务中难免存在服务之间的远程调用&#xff0c;比如&#xff1a;内容管理服务远程调用媒资服务的上传文件接口&#xff0c;当微服务运行不正常会导致无法正常调用微服务&#xff0c;此时会出现异常&#xff0c;如果这种异常不去处理可能导致雪崩效应。 微服…

redis原生命令及项目使用

主动更新策略 缓存问题及解决 布隆过滤出现哈希冲突解决方案: 选择合适的哈希函数:布隆过滤器的性能和哈希函数的选择密切相关。选择高效、低碰撞率的哈希函数可以降低误判率。通常使用的哈希函数有 MurmurHash、FNV 等。 合理设置过滤器大小:过滤器的大小(位数组的大小)…