Potato(土豆)一款轻量级的开源文本标注工具

项目介绍:

Potato 是一款轻量级、可移植的Web文本标注工具,被EMNLP 2022 DEMO赛道接受。它旨在帮助用户快速地从零开始创建和部署各种文本标注任务,无需复杂的编程或网页设计。只需简单配置,团队即可在几分钟内启动并运行标注项目。

注: EMNLP是计算语言学和自然语言处理领域顶级国际会议之一,与ACLNAACLCOLING并称为自然语言处理与计算语言学领域的四大顶级会议。

Potato允许您快速模拟和部署各种文本注释任务。Potato在后端作为web服务器工作,在本地部署安装启动它,就可以基于web的前端来标注数据。Potato工具的目标是允许人们自己或小团队快速轻松地注释文本数据——只需几行配置即可从零开始做标注任务。

Potato 依赖于一个配置文件驱动,定义了任务类型和所需的数据。通过这个配置文件,你可以设置不同的标注模式,如单选、多选、文本框、跨度、配对比较等,支持不同数据类型,包括短文、长文、对话和比较。

Potato不需要任何编码即可启动和运行。对于大多数任务,不需要额外的web设计。Potato很容易自定义,可以调整注释器看到的界面和元素。

有关详细说明,可以查看官方文档。

安装运行:

安装 Potato 并启动样例项目,官方提供了两种方式:

方式1:直接使用pip安装包( potato-annotation · PyPI)

pip install potato-annotation
potato get sentiment_analysis
potato start sentiment_analysis

方式2:从git仓库下载源码安装(GitHub - davidjurgens/potato: potato: portable text annotation tool

git clone https://github.com/davidjurgens/potato.gitcd potatopip install -r requirements.txt# 启动实例(一种简单的多选框标注方式)
python potato/flask_server.py start project-hub/simple_examples/configs/simple-check-box.yaml -p 8000

运行完后,访问 [http://localhost:8000] 即可体验。

我的实验:在windows环境下安装,第一种方式有报错,暂时没有去解决,就直接按第二种方式安装运行了。。

实验应用

简单采用项目中提供的simple-check-box(多选框)实例,后台启动运行后,就可以直接在本地浏览器打开运行 [http://localhost:8000] 。

初次登录时需要注册一下(注册信息存在本地,应该是相同任务作业,区分不同用户使用)

在potato项目的实例目录potato\project-hub\simple_examples下面,有三个文件夹:

其中,data中存放的待标注的样本文件, 其中文本文件有json,csv和tsv三种格式。

configs中不同标注风格的配置实例,比如,我们这次运行的simple-check-box.yaml

annotation_output存放是标注结果的输出文件,可以在配置时,指定是tsv, csv 或 json格式。

在配置文件simple-check-box.yaml中,原本的输入样本文件是data/toy-example.csv。假设我们需要修改为自己的标注文件test1.csv,只需要更改配置文件的输入文件行,参考如下:

{"port": 9001,"server_name": "potato annotator","annotation_task_name": "Simple Check Box Example",# Potato will write the annotation file for all annotations to this# directory, as well as per-annotator output files and state information# necessary to restart annotation."output_annotation_dir": "annotation_output/simple-check-box/",# The output format for the all-annotator data. Allowed formats are:# * jsonl# * json (same output as jsonl)# * csv# * tsv#"output_annotation_format": "tsv", # If annotators are using a codebook, this will be linked at the top to the# instance for easy access"annotation_codebook_url": "",#"data/toy-example.csv""data_files": ["data/test1.csv"],"item_properties": {"id_key": "id","text_key": "text","context_key": "context"},"user_config": {"allow_all_users": True,"users": [  ],},# How many seconds do you want the annotators spend on each instance, after# that, an alert will be sent per alert_time_each_instance seconds."alert_time_each_instance": 10000000,"annotation_schemes": [      {"annotation_type": "multiselect","name": "favorite_color", "description": "What colors are mentioned in the text?","labels": ["blue", "maize", "green", "white"],# If true, numbers [1-len(labels)] will be bound to each# label. Check box annotations with more than 10 are not supported# with this simple keybinding and will need to use the full item# specification to bind all labels to keys."sequential_key_binding": True,            },       ],# The html that changes the visualiztation for your task. Change this file# to influence the layout and description of your task. This is not a full# HTML page, just the piece that does lays out your task's pieces# you may use templates in our lib, if you want to use your own template,# please replace the string as a path to the template"html_layout": "default",# The core UI files for Potato. You should not need to change these normally.## Exceptions to this might include:# 1) You want to add custom CSS/fonts to style your task# 2) Your layout requires additional JS/assets to render# 3) You want to support additional keybinding magic## if you want to use your own template,# please replace the string as a path to the template"base_html_template": "default","header_file": "default",# This is where the actual HTML files will be generated"site_dir": "default"}

仿造式例中"data/toy-example.csv"文件, 新的test1.csv文件的字段需要用英文逗号分隔。

id,text
item_1,它的一些方式。
item_2,他们不会感到疼痛。
item_3,它不会自行处理。
item_4,四个人想请一些志愿者来增加时间。
item_5,请求不是quiquia。
item_6,因为他的帮助,他快五十岁了。
item_7,为任何人考虑痛苦。
item_8,时间不会伤害你。
item_9,一美元的开心果很好,而且不会受伤。
item_10,委员会。
item_11,因为没有人想做自己。

最后,打开web端的标注页,展示效果如下:

总结:使用potato标注工具,按照提供的式例文件(覆盖了常见的自然语言的标注任务),通过简单修改配置文件(yaml格式), 就可以开展独立的标注任务,同时也可以修改配置文件,简单改变页面展示效果(如英文界面替换成中文的)。

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

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

相关文章

【论文速读】| LLAMAFUZZ:大语言模型增强的灰盒模糊测试

本次分享论文:LLAMAFUZZ: Large Language Model Enhanced Greybox Fuzzing 基本信息 原文作者:Hongxiang Zhang, Yuyang Rong, Yifeng He, Hao Chen 作者单位:University of California, Davis 关键词:模糊测试,大…

云动态摘要 2024-06-27

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新产品更新 veLinux 2.0 镜像邀测发布 火山引擎 2024-06-26 veLinux 2.0 镜像邀测发布 ECS支持100台实例批量续费/退订 火山引擎 2024-06-26 ECS支持100台实例批量续费/退订 弹性伸缩支持目标追踪规则(邀测) …

花8000元去培训机构学习网络安全值得吗,学成后就业前景如何?

我就是从培训机构学的网络安全,线下五六个月,当时学费不到一万,目前已成功入行。所以,只要你下决心要入这一行,过程中能好好学,那这8000就花得值~ 因为只要学得好,工作两个多月就能赚回学费&am…

Shell (一)Ubuntu的网络配置及软件安装

Ubuntu的配置及软件安装 网络配置 虚拟机提供的网络类型 桥接模式 主机和虚拟机分别拥有不同的ip地址,可以实现和外界设备通信 NAT模式 也可以联网,但是和主机共用同一个ip地址,外界无法识别虚拟机和主机发送的信息 仅主机模式 虚拟机不可…

数据资产与人工智能的融合之路:探讨如何结合AI技术优化数据资产管理,提升企业智能化水平

目录 一、引言 二、数据资产管理的现状与挑战 1、数据资产管理的重要性 2、数据资产管理的挑战 三、人工智能在数据资产管理中的应用 1、数据采集与整合 2、数据清洗与校验 3、数据安全与隐私保护 4、数据分析与挖掘 四、结合AI技术优化数据资产管理的策略 1、制定数…

【stm32-新建工程-HAL库版本】

stm32-新建工程-HAL库版本 ■ 1. 下载STM32Cube官方固件包(F1/F4/F7/H7)■ 2. 新建HAL库版本MDK工程所需的文件夹■ 2.1 新建工程文件- XXX项目并在下面新建如下文件夹■ 2.2 向Drivers文件添加如下文件■ 2.3 向Mrddlewares文件添加文件■ 2.4 设置Outp…

一篇文章带你玩懂数据库的基础函数

数据库的函数 单行函数1.数据函数2.字符串函数3.时间函数4.流程函数 多行函数聚合函数 阅读指南: 本文章讲述了对于数据库的单行和多行函数,如果读者感兴趣,后续我们会更新高级的操作在我们的对于数据库教程的合集中,大家可以来很…

唐兴通:银行金融数字化转型营销客户销售个金对公讲师培训师

唐兴通 数字化转型顾问、金融产品营销专家、数字化销售增长教练、沃顿商学院演讲嘉宾。全球创新增长战略大家EM罗杰斯(创新的扩散)、杰弗里摩尔(跨越鸿沟)、亨利切萨布鲁夫(开放式创新)在中国合作者。《中…

秋招倒计时?到底需要准备到什么程度?

秋招倒计时?需要准备到什么程度? 秋招,面向全国的毕业生,招聘的激烈程度可想而知!按照往年时间,秋招通常从八月初开始,九月黄金期,十月中后期。距今刚好差不多60天,时间其…

【PyScript】PyScript 基础入门

【PyScript】PyScript 基础入门 PyScript 是一个为了支持 Python 运行在浏览器的开源平台。 1.PyScript 应用程序的创建 PyScript 程序需要以下三个内容 一个提供给浏览器的 index.html 文件。PyScript 的运行环境描述,通常是一个 pyscript.json 或 pyscript.to…

从零到一打造自己的大模型:模型训练

前言 最近看了很多大模型,也使用了很多大模型。对于大模型理论似乎很了解,但是好像又缺点什么,思来想去决定自己动手实现一个 toy 级别的模型,在实践中加深对大语言模型的理解。 在这个系列的文章中,我将通过亲手实践…

入门篇:创建和运行Hello World

DevEco Studio安装完成后,可以通过运行Hello World工程来验证环境设置是否正确。接下来以创建一个支持Phone设备的工程为例进行介绍。 创建一个新工程 打开DevEco Studio,在欢迎页单击Create Project,创建一个新工程。根据工程创建向导&…

硬件开发笔记(二十二):AD21软件中创建元器件AXK5F80337YG原理图库、封装库和3D模型

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140007117 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

EE trade:贵金属投资的优点及缺点

贵金属(如黄金、白银、铂金和钯金)一直以来都是重要的投资和避险工具。它们具有独特的物理和化学特性,广泛应用于各种行业,同时也被视为财富储备。在进行贵金属投资时,了解其优点和缺点对于做出明智的投资决策至关重要。 一、贵金属投资的优…

240万亿巨量数据被洗出,足够训出18个GPT-4!全球23所机构联手,清洗秘籍公开

是时候把数据Scale Down了!Llama 3揭示了这个可怕的事实:数据量从2T增加到15T,就能大力出奇迹,所以要想要有GPT-3到GPT-4的提升,下一代模型至少还要150T的数据。好在,最近有团队从CommonCrawl里洗出了240T数…

算法刷题笔记--二叉树篇

感觉树这一章还是没搞清楚,可能是基础不扎实的缘故,学完C巩固底层知识后二刷 理论基础 确定递归函数的参数和返回值 :确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么…

第二证券:美股市场新结算制度:T+2还是T+1?

美股商场新结算制度:T1结算。 从2024年5月28日开端,美国股票生意的结算周期将从之前的T2(生意日后两天)缩短为T1,即投资者当天卖出的股票,在生意后一个工作日就能收到结算的资金。 例如,假如生…

OpenFast软件中5MW_Land_DLL_WTurb.fst文件解读

这个文件5MW_Land_DLL_WTurb.fst是OpenFAST软件用于模拟NREL 5.0 MW基准陆上风力涡轮机的输入文件。该文件包含了多个部分,每个部分定义了不同的仿真设置和参数。以下是对文件主要内容的总结: 1. 标题和描述 文件标题说明这是OpenFAST的一个输入文件&a…

电脑的D盘E盘F盘突然消失了 电脑只剩下C盘了其他盘怎么恢复

现如今随着时代的发展,无纸化办公成为主流,这主要归功于电脑,能够通过电脑完成的工作绝不使用纸质文件,这不仅提高了工作效率,也让一些繁杂的工作变的更加简单。不过电脑毕竟是电子产品,不可避免的会出现一…

Java日志 - JUL

一、JUL学习总结 (1)总结 JDK自带的日志系统中已经为我们创建了一个顶层的RootLogger,可以针对这个顶层的RootLogger设置多个Handler(如ConsoleHandler, FileHandler等),如果想在控制台输出debug级别以上的…