标注BIO-精灵标注助手

简介: 标注BIO-精灵标注助手

目录

推荐使用 Label Studio

准备待标注数据

创建 raw_data.txt 待标注数据

如何预防高血压?高血压的防治高血压的防治
我是小三阳,有糖尿病,高血脂,我该怎么吃药?糖尿病患者能吃减肥药吗.
糖尿病的的危害,糖尿病怎样治疗呢
医院糖尿病肾病治疗怎么样,糖尿病如何防治?
糖尿病人能吃蜂王浆吗,高血糖可以喝蜂蜜吗
乳腺癌术后淋巴结转移怎么办,乳腺癌脾脏转移怎么办?
糖尿病肾病三期能治愈吗,糖尿病可怕些还是慢性肾炎可怕些?
吃多含糖食物会得糖尿病吗?什么人容易的糖尿病

将待标数据生成文件

generate_ann_data.py

import os
raw_data_path = './data/raw_data.txt'
save_folder = './data/biaozhushuju'
if not os.path.exists(save_folder):
    os.makedirs(save_folder)
with open(raw_data_path,'r',encoding='utf8') as f:
    for i,line in enumerate(f.readlines()):
        line = line.strip()  #strip()表示删除掉数据中的换行符
        # 每行数据,保存成一个文件,
        with open(os.path.join(save_folder,'%s.txt' % str(10000+i)),'w',encoding='utf8') as fo:
            fo.write(line)

数据标注

下载标注软件

精灵标注助手:http://www.jinglingbiaozhu.com/

创建项目

标注数据

将后面的数据全部标注

导出数据

ANN 转 BIO

ann2bio.py

import glob
def bratann_to_bio_format(text, ann_str, fstream):
    # 将每一行的元素变为list,strip()删除的字符,按照split()中的符号进行每行元素分割为list的元素
    ann_list = ann_str.strip().split('\n')
    label = ['O' for _ in range(len(text))]  # 对所有的文字赋值为标签"O"
    for i, line in enumerate(ann_list):  # enumerate函数用于遍历序列中的元素以及它们的下标
        try:
            # line:T1    疾病 4 7  高血压
            T, typ, word = line.strip().split('\t')
            t, s, e = typ.split()  # 分别t=疾病 s=起始位置下标 e=结束位置
            s, e = int(s), int(e)
            label[s] = 'B-' + t
            while s < e - 1:
                s += 1
                label[s] = 'I-' + t
        except:
            continue
    for t, l in zip(list(text), label):  # list() 构造函数在 Python 中返回一个列表,将文本以字切分为列表
        # str.join(item1,itemm2),join函数是一个字符串操作函数,使用str符号将item1和item2串联起来
        line = ' '.join([t, l]) # 使用空格连接文字和BIO标注,如果需要 tab形式间隔,可以换成 \t
        print(line)
        fstream.write(line)
        fstream.write('\n')  # 每一个文本(一行)写完,然后进行换行
    fstream.write('\n')  # 使用换行符,将每一个文本用一个空行分开,在train.txt文档中可以很清晰的看到句与句的切分
def gen_ner_training_data():
    # 设置标注文件所在文件夹目录
    root_dir = './data/outputs'
    # 设置训练样本输出文件路径
    stream = open('./data/train.txt', 'a+', encoding='utf8')
    # ann:E:\工作空间\NER-data-process\data\biaozhushuju\outputs\10000.ann
    # txt:E:\工作空间\NER-data-process\data\biaozhushuju\10000.txt
    file_list = glob.glob(root_dir + '/*.ann')  # glob.glob() 函数的作用:在一个文件中,要遍历所有的文件内容
    for ann_path in file_list:
        # 转换路径:转换前:'./data/outputs\\10000.ann'
        # 转换为:'./data/outputs/10000.ann'
        ann_path = ann_path.replace('\\', '/')
        # 获得txt路径
        txt_path = ann_path.replace('/outputs', '').replace('ann', 'txt')  # 然后使用txt替换掉ann
        try:
            ft = open(txt_path, 'r', encoding='utf8')
            text = ft.read().strip()
            ft.close()
            fa = open(ann_path, 'r', encoding='utf8')
            ann = fa.read().strip()
            fa.close()
            if ann == '':
                continue
            bratann_to_bio_format(text, ann, stream)
        except Exception as e:
            print(ann_path, e)
    stream.close()
if __name__ == '__main__':
    gen_ner_training_data()

通过上面代码,将 精灵标注助手 标的 ann 文件转在 NLP 算法需要的 BIO 形式

来源:https://www.bilibili.com/video/BV1ft4y1g7s7/?spm_id_from=333.337.search-card.all.click

目录
相关文章
|
人工智能
【AI绘画】ControlNet 之 Reference only 锁定面部跑图
【AI绘画】ControlNet 之 Reference only 锁定面部跑图
917 0
|
13天前
|
人工智能 自然语言处理 计算机视觉
StyleStudio:支持图像风格迁移的文生图模型,能将融合参考图像的风格和文本提示内容生成风格一致的图像
StyleStudio 是一种文本驱动的风格迁移模型,能够将参考图像的风格与文本提示内容融合。通过跨模态 AdaIN 机制、基于风格的分类器自由引导等技术,解决了风格过拟合、控制限制和文本错位等问题,提升了风格迁移的质量和文本对齐的准确性。
60 8
StyleStudio:支持图像风格迁移的文生图模型,能将融合参考图像的风格和文本提示内容生成风格一致的图像
|
16天前
|
机器学习/深度学习 人工智能 算法
X-AnyLabeling:开源的 AI 图像标注工具,支持多种标注样式,适于目标检测、图像分割等不同场景
X-AnyLabeling是一款集成了多种深度学习算法的图像标注工具,支持图像和视频的多样化标注样式,适用于多种AI训练场景。本文将详细介绍X-AnyLabeling的功能、技术原理以及如何运行该工具。
83 2
X-AnyLabeling:开源的 AI 图像标注工具,支持多种标注样式,适于目标检测、图像分割等不同场景
|
7月前
|
人工智能 自然语言处理 机器人
字节打造大模型TTS:不仅能高保真合成,而且支持调整编辑
【6月更文挑战第26天】字节跳动的Seed-TTS是先进的文本转语音系统,生成与人类语音难辨别的声音,并允许编辑。模型通过语音、文本编码器、解码器和声码器实现高保真、可控及多样化的语音生成。应用于智能客服、有声读物、导航,提升用户体验。虽在多模态任务、长文本生成、实时应用及隐私问题上面临挑战[[arxiv.org/pdf/2406.02430](https://arxiv.org/pdf/2406.02430)]。
138 7
|
存储 人工智能 前端开发
前端合成海报并保存到本地
前端合成海报并保存到本地
94 0
|
数据可视化 物联网
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
963 15
Threejs物联网,养殖场3D可视化(三)模型展示,轨道控制器设置,模型沿着路线运动,模型添加边框,自定义样式显示标签,点击模型获取信息
|
8月前
|
机器学习/深度学习 人工智能 JSON
极智AI | labelme标注与处理分割数据方法
大家好,我是极智视界。本文详细介绍了 labelme 标注与处理分割数据的方法。
192 0
|
人工智能
像相机一样变焦、填充画面细节,还能自定义风格,AI作画神器Midjourney又更新了
像相机一样变焦、填充画面细节,还能自定义风格,AI作画神器Midjourney又更新了
186 1
|
人工智能 自然语言处理 文字识别
理解指向,说出坐标,Shikra开启多模态大模型参考对话新维度
理解指向,说出坐标,Shikra开启多模态大模型参考对话新维度
219 0
|
机器学习/深度学习 人工智能 计算机视觉
华南理工TANGO项目原作解读: 文本驱动的三维物体风格化模型
华南理工TANGO项目原作解读: 文本驱动的三维物体风格化模型
187 0