位置: IT常识 - 正文

NLP工具集:【doccano】——标注平台doccano使用手册(nlp工具箱)

编辑:rootadmin
NLP工具集:【doccano】——标注平台doccano使用手册 一. 简介

推荐整理分享NLP工具集:【doccano】——标注平台doccano使用手册(nlp工具箱),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nlp功能是什么,nlp工程,nlp常用工具,nlp tool,nlp工具包,nlp工具箱,nlp常用工具,nlp 工具,内容如对您有帮助,希望把文章链接给更多的朋友!

doccano 是一个开源的文本标注平台。它为文本分类、序列标记和序列到序列任务提供标注功能。因此,您可以为情感分析、命名实体识别、文本摘要、机器翻译等任务创建标注数据。只需创建一个项目,上传数据并开始标注,您就可以在数小时内构建得到想要的数据集。

doccano特性:

合作标注:可以进行多人合作,分配标注任务。支持多种语言文本标注:目前已知知识英语,中文,日语,阿拉伯语,印度尼西亚语等。二. 安装及使用

docker安装比较简单,这里只给出docker安装方式:

Step 1.镜像下载

镜像好比面向对象语言中的类。

docker pull doccano/doccanoStep 2.创建容器

容器就是镜像对应的实例化对象。

docker container create --name doccano \-e "ADMIN_USERNAME=admin" \-e "ADMIN_EMAIL=admin@example.com" \-e "ADMIN_PASSWORD=123456" \-v doccano-db:/data \-p 8000:8000 doccano/doccano

其中的各参数意义如下:

–name doccano 表示 创建的容器名称为doccano-e “ADMIN_USERNAME=admin” doccano项目中管理员账号为admin-e “ADMIN_EMAIL=admin@example.com” doccano项目中管理员的联系邮箱为admin@example.com-e “ADMIN_PASSWORD=password” doccano项目中管理员登陆密码password-v doccano-db:/data 项目中的数据挂在到宿主机地址到/data中-p 8000:8000 宿主机(前)与容器中端口之间的映射doccano/doccano 镜像名称Step 3.启动容器docker container start doccanoStep 4.浏览器访问

用户通过浏览器访问部署的服务器ip加上对应的端口号即可访问: 这里咱们输入:http://10.6.16.96:8000/

NLP工具集:【doccano】——标注平台doccano使用手册(nlp工具箱)

点击右上角进行登录

三. 数据标注1.项目创建

以农业花生数据标注任务为例:

2.数据上传

3.标签构建创建实体标签

创建关系标签

4.任务标注

关系标注时需要依次在头,尾实体Tag上点击鼠标左键才会出现可用关系选项

标注结果

5.数据导出

导出后的数据格式如下:

6.数据转换

抽取式任务数据转换:

当标注完成后,在 doccano 平台上导出 JSONL(relation) 形式的文件,并将其重命名为 doccano_ext.json 后,放入 ./data 目录下。通过 doccano.py 脚本进行数据形式转换,然后便可以开始进行相应模型训练。 doccano.py代码如下:import osimport timeimport argparseimport jsonimport numpy as npfrom utils import set_seed, convert_ext_examples, convert_cls_examplesdef do_convert(): set_seed(args.seed) tic_time = time.time() if not os.path.exists(args.doccano_file): raise ValueError("Please input the correct path of doccano file.") if not os.path.exists(args.save_dir): os.makedirs(args.save_dir) if len(args.splits) != 0 and len(args.splits) != 3: raise ValueError("Only []/ len(splits)==3 accepted for splits.") if args.splits and sum(args.splits) != 1: raise ValueError( "Please set correct splits, sum of elements in splits should be equal to 1." ) with open(args.doccano_file, "r", encoding="utf-8") as f: raw_examples = f.readlines() def _create_ext_examples(examples, negative_ratio=0, shuffle=False, is_train=True): entities, relations = convert_ext_examples( examples, negative_ratio, is_train=is_train) examples = entities + relations if shuffle: indexes = np.random.permutation(len(examples)) examples = [examples[i] for i in indexes] return examples def _create_cls_examples(examples, prompt_prefix, options, shuffle=False): examples = convert_cls_examples(examples, prompt_prefix, options) if shuffle: indexes = np.random.permutation(len(examples)) examples = [examples[i] for i in indexes] return examples def _save_examples(save_dir, file_name, examples): count = 0 save_path = os.path.join(save_dir, file_name) with open(save_path, "w", encoding="utf-8") as f: for example in examples: f.write(json.dumps(example, ensure_ascii=False) + "\n") count += 1 print("\nSave %d examples to %s." % (count, save_path)) if len(args.splits) == 0: if args.task_type == "ext": examples = _create_ext_examples(raw_examples, args.negative_ratio, args.is_shuffle) else: examples = _create_cls_examples(raw_examples, args.prompt_prefix, args.options, args.is_shuffle) _save_examples(args.save_dir, "train.txt", examples) else: if args.is_shuffle: indexes = np.random.permutation(len(raw_examples)) raw_examples = [raw_examples[i] for i in indexes] i1, i2, _ = args.splits p1 = int(len(raw_examples) * i1) p2 = int(len(raw_examples) * (i1 + i2)) if args.task_type == "ext": train_examples = _create_ext_examples( raw_examples[:p1], args.negative_ratio, args.is_shuffle) dev_examples = _create_ext_examples( raw_examples[p1:p2], -1, is_train=False) test_examples = _create_ext_examples( raw_examples[p2:], -1, is_train=False) else: train_examples = _create_cls_examples( raw_examples[:p1], args.prompt_prefix, args.options) dev_examples = _create_cls_examples( raw_examples[p1:p2], args.prompt_prefix, args.options) test_examples = _create_cls_examples( raw_examples[p2:], args.prompt_prefix, args.options) _save_examples(args.save_dir, "train.txt", train_examples) _save_examples(args.save_dir, "dev.txt", dev_examples) _save_examples(args.save_dir, "test.txt", test_examples) print('Finished! It takes %.2f seconds' % (time.time() - tic_time))if __name__ == "__main__": # yapf: disable parser = argparse.ArgumentParser() parser.add_argument("--doccano_file", default=r"../data/doccano_ext.json", type=str, help="The doccano file exported from doccano platform.") parser.add_argument("--save_dir", default=r"../data", type=str, help="The path of data that you wanna save.") parser.add_argument("--negative_ratio", default=5, type=int, help="Used only for the extraction task, the ratio of positive and negative samples, number of negtive samples = negative_ratio * number of positive samples") parser.add_argument("--splits", default=[0.8, 0.1, 0.1], type=float, nargs="*", help="The ratio of samples in datasets. [0.6, 0.2, 0.2] means 60% samples used for training, 20% for evaluation and 20% for test.") parser.add_argument("--task_type", choices=['ext', 'cls'], default="ext", type=str, help="Select task type, ext for the extraction task and cls for the classification task, defaults to ext.") parser.add_argument("--options", default=["正向", "负向"], type=str, nargs="+", help="Used only for the classification task, the options for classification") parser.add_argument("--prompt_prefix", default="情感倾向", type=str, help="Used only for the classification task, the prompt prefix for classification") parser.add_argument("--is_shuffle", default=True, type=bool, help="Whether to shuffle the labeled dataset, defaults to True.") parser.add_argument("--seed", type=int, default=1000, help="random seed for initialization") args = parser.parse_args() # yapf: enable do_convert()附录

doccano标准平台官方代码:https://github.com/doccano/doccano doccano标准平台官方文档:https://doccano.github.io/doccano/

本文链接地址:https://www.jiuchutong.com/zhishi/289575.html 转载请保留说明!

上一篇:应收账款清查采用的方法(应收账款清查采用实地盘点法)

下一篇:ant design pro项目安装以及坑点和大部分可能出现问题总结(ant design pro项目构建纯净版)

  • cad是什么(cad是什么软件)

    cad是什么(cad是什么软件)

  • 显示器hz是什么意思(显示器hz有哪几种)

    显示器hz是什么意思(显示器hz有哪几种)

  • 卡贴机可以随意升级吗(卡贴机可以随意拔出sim卡吗)

    卡贴机可以随意升级吗(卡贴机可以随意拔出sim卡吗)

  • 应用安装失败怎么解决(应用安装失败怎么删除软件)

    应用安装失败怎么解决(应用安装失败怎么删除软件)

  • 微信点进去才收到消息怎么办(微信点进去才收得到消息)

    微信点进去才收到消息怎么办(微信点进去才收得到消息)

  • soul注销了别人看到是怎样的(soul注销了密友知道吗)

    soul注销了别人看到是怎样的(soul注销了密友知道吗)

  • 抖音定位延迟多长时间(抖音定位延迟多久才更新)

    抖音定位延迟多长时间(抖音定位延迟多久才更新)

  • 手机没电打电话过去是什么状态(手机没电打电话会提示关机吗)

    手机没电打电话过去是什么状态(手机没电打电话会提示关机吗)

  • 抖音怎样看直播的回放(抖音怎样看直播间)

    抖音怎样看直播的回放(抖音怎样看直播间)

  • 京东账号手机号换了怎么登录(京东账号手机号注销了怎么办)

    京东账号手机号换了怎么登录(京东账号手机号注销了怎么办)

  • 苹果零售店是什么意思(苹果零售店什么时候有货)

    苹果零售店是什么意思(苹果零售店什么时候有货)

  • b450支持win7吗(b450可以用win7吗)

    b450支持win7吗(b450可以用win7吗)

  • 快手账号异常怎么恢复(快手账号异常怎么强制注销)

    快手账号异常怎么恢复(快手账号异常怎么强制注销)

  • vivo手机密码忘了怎么办(vivo手机密码忘了怎么刷机)

    vivo手机密码忘了怎么办(vivo手机密码忘了怎么刷机)

  • 魅族16sPro怎么卸载系统应用(魅族16怎么拆开)

    魅族16sPro怎么卸载系统应用(魅族16怎么拆开)

  • 美颜相机会改变五官吗(美颜相机会改变照片的像素吗)

    美颜相机会改变五官吗(美颜相机会改变照片的像素吗)

  • 极米怎么调焦距(极米设置对焦)

    极米怎么调焦距(极米设置对焦)

  • 苹果自动扣费能退款吗(苹果自动扣费能退款成功嘛)

    苹果自动扣费能退款吗(苹果自动扣费能退款成功嘛)

  • 抖音视频设置不了私密(抖音视频设置不给谁看会影响流量吗)

    抖音视频设置不了私密(抖音视频设置不给谁看会影响流量吗)

  • 等值网络是指(等值网络法的作用是什么)

    等值网络是指(等值网络法的作用是什么)

  • 火山怎么解绑身份证号(火山怎么解绑身份证认证)

    火山怎么解绑身份证号(火山怎么解绑身份证认证)

  • 在哪看淘宝总消费金额(在哪里查看淘宝总消费)

    在哪看淘宝总消费金额(在哪里查看淘宝总消费)

  • 相机实况是什么意思(相机实况是干什么的)

    相机实况是什么意思(相机实况是干什么的)

  • 华为荣耀8怎么刷公交(华为荣耀8怎么关闭广告)

    华为荣耀8怎么刷公交(华为荣耀8怎么关闭广告)

  • 全民K歌怎么设置相册管理(全民k歌怎么设置音效最好)

    全民K歌怎么设置相册管理(全民k歌怎么设置音效最好)

  • 苹果自动锁定是灰色的(苹果自动锁定是多少)

    苹果自动锁定是灰色的(苹果自动锁定是多少)

  • 个人所得税退付手续费是给企业还是会计
  • 进项税转出的会计凭证
  • 上年度已交房产税减免如何做账务处理
  • 印花税什么时候开始计入税金及附加
  • 一般计税方法是全额计税吗
  • 地税办理流程
  • 电子发票入账是什么意思
  • 个人所得税怎么扣
  • 其他应付款长期挂账如何处理
  • 发票认证抵扣后还有用吗
  • 个税系统如何升级到最新版本
  • 生产企业内销和出口
  • 赠品的会计核算内容
  • 赊销固定资产会计科目
  • 报销交通费的会计怎么做
  • 增值税发票常见问题
  • 收入跨期审计调整分录如何滚调
  • 补缴的公积金可以抵扣个税吗
  • 管理费用中的五项费用
  • 主营业务税金及附加包括什么
  • 北京建筑施工企业排名
  • 车辆保险费的车船税计入什么会计科目
  • 小规模普票冲红怎么做账
  • 减税降费政策六税
  • 承兑贴息收入账务处理怎么做?
  • 预付款退回扣除什么意思
  • 转出未交增值税借方余额表示什么
  • 停薪留职标准
  • 周转材料购置费属于材料费吗
  • 上市公司发行债券股价会涨吗
  • win11任务栏全部显示
  • 费用发生了 没有发票该如何记账
  • php限制登录次数
  • 琼斯的大海怪
  • php中的异常和错误怎么写
  • 设备维修产生的人工费怎么开发票
  • 新会计准则开办费如何做账务处理
  • 停车费报销怎么做账
  • 申请高新技术企业收入要多少
  • 谷歌插件下载网址
  • vscode安装选项
  • reorg table 命令
  • 纳税检查企业所得税企业合并
  • 一般纳税人增值税结转账务处理
  • 将织梦dedecms转换到wordpress
  • urljoin使用
  • 调整以前年度销售收入
  • 劳务公司获奖感言简短
  • 产品成本计算的分类法适用于( )
  • 交易性金融资产入账价值怎么计算
  • 个人独资企业是小规模纳税人吗
  • 其他所得
  • 储备基金是什么
  • 招待费用的进项发票可以抵扣吗
  • 单位食堂油烟机多长时间清洗一次
  • 怎么把应付账款冲平
  • 已认证未抵扣的发票可以退回红冲吗
  • 物业管理企业应按职工工资总额的1.5%计提工会经费
  • sql安装不上去
  • 电脑ahci模式什么意思
  • windows hellopin是什么意思
  • win8系统没有无线网络连接
  • for windows vista only
  • Solaris 10 Openssh安装和配置
  • linux参数命令
  • centos 安装7z
  • hdaudpropshortcut.exe是什么进程 作用是什么 hdaudpropshortcut进程查询
  • win1020h2正式版
  • 电脑显示无windows
  • win7网络信号差
  • bootstrap怎么引用
  • android基本控件使用方法
  • android开发中默认的数据库
  • jQuery dataTables与jQuery UI 对话框dialog的使用教程
  • 怎样在网上打印社保证明
  • 个人所得税扣缴手续费退付是什么意思
  • 境外付款需要什么手续
  • 税务总局转变税收征管方式
  • 电子税务局在线咨询
  • 矿产资源税税率2020年
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设