首页 > 其他分享 >PaddleNlp文本分类操作步骤

PaddleNlp文本分类操作步骤

时间:2023-11-13 10:00:28浏览次数:42  
标签:google 0.1 label PaddleNlp studio django 文本 操作步骤 标注

一、数据预处理(缺失、重复等,步骤略)

二、标注平台搭建

(1)搭建标注环境(建议使用虚拟环境)

  • python使用3.9.12版本,其他依赖如下(建议完全按照文中python版本及依赖版本安装,否则可能会出现依赖冲突或不兼容问题):
appdirs                        1.4.4
asgiref                        3.7.2
attr                           0.3.1
attrs                          23.1.0
azure-core                     1.29.4
azure-storage-blob             12.18.3
bleach                         5.0.1
boto                           2.49.0
boto3                          1.16.28
botocore                       1.19.28
boxing                         0.1.4
cachetools                     5.3.1
certifi                        2023.7.22
cffi                           1.16.0
charset-normalizer             3.3.0
click                          8.1.7
colorama                       0.4.6
cryptography                   41.0.4
defusedxml                     0.7.1
Django                         3.2.20
django-annoying                0.10.6
django-cors-headers            3.6.0
django-debug-toolbar           3.2.1
django-environ                 0.10.0
django-extensions              3.1.0
django-filter                  2.4.0
django-model-utils             4.1.1
django-ranged-fileresponse     0.1.2
django-rq                      2.5.1
django-storages                1.12.3
django-user-agents             0.4.0
djangorestframework            3.13.1
drf-dynamic-fields             0.3.0
drf-flex-fields                0.9.5
drf-generators                 0.3.0
expiringdict                   1.2.2
google-api-core                2.11.0
google-auth                    2.14.1
google-cloud-appengine-logging 1.1.0
google-cloud-audit-log         0.2.0
google-cloud-core              2.3.2
google-cloud-logging           2.7.2
google-cloud-storage           2.5.0
google-crc32c                  1.5.0
google-resumable-media         2.3.3
googleapis-common-protos       1.56.4
grpc-google-iam-v1             0.12.4
grpcio                         1.59.0
grpcio-status                  1.48.2
htmlmin                        0.1.12
humansignal-drf-yasg           1.21.9
idna                           3.4
ijson                          3.2.3
inflection                     0.5.1
isodate                        0.6.1
jmespath                       0.10.0
joblib                         1.3.2
jsonschema                     3.2.0
label-studio                   1.9.1.post0
label-studio-converter         0.0.57
label-studio-tools             0.0.3
launchdarkly-server-sdk        7.5.0
lockfile                       0.12.2
lxml                           4.9.3
nltk                           3.6.7
numpy                          1.24.3
ordered-set                    4.0.2
packaging                      23.2
pandas                         2.1.1
Pillow                         10.1.0
pip                            23.3
proto-plus                     1.22.3
protobuf                       3.20.3
psycopg2-binary                2.9.6
pyasn1                         0.5.0
pyasn1-modules                 0.3.0
pycparser                      2.21
pydantic                       1.10.13
pyRFC3339                      1.1
pyrsistent                     0.19.3
python-dateutil                2.8.2
python-json-logger             2.0.4
pytz                           2022.7.1
PyYAML                         6.0.1
redis                          3.5.3
regex                          2023.10.3
requests                       2.31.0
rq                             1.10.1
rsa                            4.9
rules                          2.2
s3transfer                     0.3.7
semver                         2.13.0
sentry-sdk                     1.32.0
setuptools                     68.2.2
six                            1.16.0
sqlparse                       0.4.4
tqdm                           4.66.1
typing_extensions              4.8.0
tzdata                         2023.3
ua-parser                      0.18.0
ujson                          5.8.0
uritemplate                    4.1.1
urllib3                        1.26.16
user-agents                    2.2.0
webencodings                   0.5.1
wheel                          0.40.0
xmljson                        0.2.0
  • 启动label_studio
label-studio start

(2)进入浏览器页面,注册登录,开始标注

  • 准备数据,将需要标注的文本数据集按每行一条的格式整理成txt文件,注意不要有多余的空格、回车等特殊符号。
  • 点击Create按钮创建一个新的标注项目,填写项目名称。

  • Data Import页面导入标注数据,并选择List of tasks

  • Labeling Setup中选择Text Classification,表示文本分类任务标注

  • 在设置标签页面,先删除默认标签,再添加需要使用的新标签,添加完成后点击Save保存

  • 进入项目,开始标注,点击待标注数据,选择标签,点击Submit保存标注结果

  • 标注完成后,再次点击数据,标注结果显示位置报JS错误,无法显示,但不影响标注工作,可以点击</>符号查询标注结果

  • 所有数据标注完成后,勾选(全选)已标注文本ID,选择导出的文件类型为JSON,导出数据,重命名为label_studio.json,待使用

三、搭建PaddleNLP环境

python label_studio.py \
    --label_studio_file ./data/label_studio.json \
    --save_dir ./data \
    --splits 0.8 0.1 0.1 \
    --options ./data/label.txt
label_studio_file: 从label studio导出的数据标注文件。
save_dir: 训练数据的保存目录,默认存储在data目录下。
splits: 划分数据集时训练集、验证集所占的比例。默认为[0.8, 0.1, 0.1]表示按照8:1:1的比例将数据划分为训练集、验证集和测试集。
options: 指定分类任务的类别标签。若输入类型为文件,则文件中每行一个标签。
is_shuffle: 是否对数据集进行随机打散,默认为True。
seed: 随机种子,默认为1000.

四、测试

# -*- coding:utf-8  -*-

from pprint import pprint
from paddlenlp import Taskflow
from conf.db_config import pool as dbpool

schema = ['分类1', '分类2', '分类3']
my_cls = Taskflow("zero_shot_text_classification", model="utc-base", schema=schema, task_path='./checkpoint/model_best/plm', precision="fp8")
pprint(my_cls('中国银河证券澄清合并重组传闻'))
[{
	'predictions': [{
		'label': '分类1',
		'score': 0.9991679502941138
	}],
	'text_a': '中国银河证券澄清合并重组传闻'
}]

标签:google,0.1,label,PaddleNlp,studio,django,文本,操作步骤,标注
From: https://www.cnblogs.com/jinyuanbao/p/17828537.html

相关文章

  • 【论文阅读笔记】【OCR-文本识别】 CLIPTER: Looking at the Bigger Picture in Scene
    CLIPTERICCV2023读论文思考的问题论文试图解决什么问题?现有的文本识别方法只关注于局部截取的文本区域,识别模型并没有利用全图的上下文信息,导致其可能对有挑战性的文本的识别效果较差能否以某种方式使识别器利用上globalfeature的信息?文章提出了什么样的解决......
  • Android:在按钮(Button)或图像按钮(ImageButton)上合并文本和图片。
    内容来自DOChttps://q.houxu6.top/?s=Android:在按钮(Button)或图像按钮(ImageButton)上合并文本和图片。我正在尝试在按钮背景上添加一张图片,并根据运行时发生的情况动态地添加一些文本到图片上方。如果使用ImageButton,我甚至无法添加文本。如果使用Button,我可以添加文本,但只......
  • 富文本编辑器
    以下是几种常见的富文本编辑器:wangEditor:基于javascript和css开发的Web富文本编辑器,轻量、简洁、界面美观、易用、开源免费。兼容常见的PC浏览器:Chrome、Firefox、Safari、Edge、QQ浏览器、IE11。ProseMirror:基于ContentEditable的所见即所得HTML编辑器,功能强大,支持协作编辑和自......
  • 深度解析NLP文本摘要技术:定义、应用与PyTorch实战
    在本文中,我们深入探讨了自然语言处理中的文本摘要技术,从其定义、发展历程,到其主要任务和各种类型的技术方法。文章详细解析了抽取式、生成式摘要,并为每种方法提供了PyTorch实现代码。最后,文章总结了摘要技术的意义和未来的挑战,强调了其在信息过载时代的重要性。关注TechLead,分......
  • 深度解析NLP文本摘要技术:定义、应用与PyTorch实战
    在本文中,我们深入探讨了自然语言处理中的文本摘要技术,从其定义、发展历程,到其主要任务和各种类型的技术方法。文章详细解析了抽取式、生成式摘要,并为每种方法提供了PyTorch实现代码。最后,文章总结了摘要技术的意义和未来的挑战,强调了其在信息过载时代的重要性。关注TechLead,分......
  • 机器学习——文本预处理
    对于序列数据处理问题,我们在 8.1节中评估了所需的统计工具和预测时面临的挑战。这样的数据存在许多种形式,文本是最常见例子之一。例如,一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。本节中,我们将解析文本的常见预处理步骤。这些步骤通常包括:将文本作为字符串......
  • 解决Vue中使用wangEditor富文本编辑器复制粘贴word文档携带内容样式文本问题
    前言:本文记录作者在vue项目中使用到wangEditor富文本编辑器复制粘贴功能所遇到的bug,故此把自己所遇到的坑及问题详细的记录下来。如果觉得作者写的不错,希望得到您的点赞/收藏/支持,如果有不同意见,欢迎下方评论区留言。一、自定义处理粘贴的文本内容1、配置自定义处理粘贴的文本内......
  • Sublime替换文本中的换行/回车符等特殊符号
    1、快捷键打开查找替换(windows)Ctrl+h2、开启打开查找窗口最左侧的(.*)正则匹配功能,上图中箭头所指。3、Find栏输出被替换的正则表达式,如\n回车符,表达式会有颜色显示4、Replace栏输入替换后的内容,如|......
  • 复制word图文到富文本编辑器
    任务:用户需要将大量word中的图文粘贴到网站富文本编辑器。难点大部分富文本编辑器能做到还原word的文本格式,例如字体字号表格以及布局相关的要素还原。但普遍对图片的支持比较差,都需要手动点击图片上传按钮,然后在光标的当前位置,插入指定的图片。这样用户的体验就非常糟糕,为什......
  • Linux文件管理知识:文本处理
    上篇文章详细介绍了Linux系统中查找文件的工具或者命令程序的相关操作内容介绍。那么,今天呢,这篇文章围绕Linux系统中文本处理来阐述。 众所周知,所有Linux操作系统都离不开一个核心原则,那就是它是由很多种文件组成的,那么,Linux系统的任何操作就离不开文本文件的处理。所以,它有很......