IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> ner数据扩充脚本例子 -> 正文阅读

[人工智能]ner数据扩充脚本例子

ner数据扩充脚本例子

import json
import random

js = {"id": 10000, "text": "彭于晏,1982年3月24日出生于台湾省澎湖县,彭于晏毕业于不列颠哥伦比亚大学,加拿大籍华裔影视男演员、歌手", "labels": [[0, 3, "姓名"], [4, 14, "时间"], [24, 27, "姓名"]]}
print(js["id"])

new_file = open("new.txt", "w", encoding="utf-8")
name_list = ["DXFDXF", "DJHDJH", "DJHH"]
with open("ner.txt", "r", encoding="utf-8") as f:
    to_augment_entity = []
    text = js["text"]
    labels = js["labels"]
    labels.sort(key=lambda x: float(x[1]), reverse=False)
    print("text:", text)
    print("labels:", labels)

    for i in range(len(labels)):
        if labels[i][2] == "姓名":
            to_augment_entity.append([labels[i], labels[i][1] - labels[i][0], i])
    print("to_augment_entity:", to_augment_entity)

    for aug in to_augment_entity:
        new_dict = {}
        new_labels = []
        # 替换前的labels
        for i in range(aug[2]):
            new_labels.append(labels[i])
        replace_text = random.choice(name_list)

        new_labels.append([aug[0][0], aug[0][0]+len(replace_text), "姓名"])
        # 替换后的labels
        diff = len(replace_text) - (aug[0][1]-aug[0][0])
        for i in range(aug[2]+1, len(labels)):
            new_labels.append([labels[i][0]+diff, labels[i][1]+diff, labels[i][2]])
        print("replace:", replace_text)
        print("to_replace:", text[aug[0][0]:aug[0][1]])

        # 替换指定位置大的字符串
        # new_text = text.replace(text[aug[0][0]:aug[0][1]], replace_text)
        # 新的字符串 = 老字符串[:要替换的索引位置] + 替换成的目标字符 + 老字符串[要替换的索引位置+1:]
        new_text = text[:aug[0][0]] + replace_text + text[aug[0][1]:]

        print("new_text:", new_text)
        print("new_label:", new_labels)

        new_dict["id"] = 1000
        new_dict["text"] = new_text
        new_dict["labels"] = new_labels
        print(new_dict)
        print("===========")
        new_file.write(str(new_dict) + "\n")

new_file.close()
  人工智能 最新文章
Neo4j 实战篇(一)基于Py2Neo构建电影知识
消息传递神经网络(MPNN)内容及代码实践
OpenCV+百度云人脸识别项目及源码
实验5 卷积神经网络实验中
论文详解:Attention-based Extraction of
Tensorflow进阶
科技时代,如何保护个人隐私?
【元宇宙系列】游戏与元宇宙(下)——拉动
pytorch学习13:实现LetNet和学习nn.Module
LSTM的本质理解-正向传播
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:30:57  更:2022-01-17 11:33:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
360图书馆 购物 三丰科技 阅读网 日历 万年历 2022年5日历 -2022/5/24 5:01:08-
图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码