pytorch-textregression,中文文本回归实践,支持多值输出

本文主要是介绍pytorch-textregression,中文文本回归实践,支持多值输出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pytorch-textregression,中文文本回归实践,支持多值输出

pytorch-textregression是一个以pytorch和transformers为基础,专注于中文文本回归的轻量级自然语言处理工具,支持多值回归等。

目录

  • 数据
  • 使用方式
  • paper
  • 参考

项目地址

  • pytorch-textregression: https://github.com/yongzhuo/Pytorch-NLU/pytorch_textregression

数据格式

1. 文本回归  (txt格式, 每行为一个json):1.1 单个得分格式:
{"text": "你安静!", "label": [1]}
{"text": "斗牛场是多么欢乐阿!", "label": [1]}
{"text": "今天你不必做作业。", "label": [0]}
{"text": "他醒来时,几乎无法说话。", "label": [0]}
{"text": "在那天边隐约闪亮的不就是黄河?", "label": [1]}1.2 多个得分格式:
{"text": "你安静!", "label": [1,0]}
{"text": "斗牛场是多么欢乐阿!", "label": [1,0]}
{"text": "今天你不必做作业。", "label": [0,0]}
{"text": "他醒来时,几乎无法说话。", "label": [0,0]}
{"text": "在那天边隐约闪亮的不就是黄河?", "label": [1,0]}

使用方式

更多样例sample详情见test/tr目录

训练  python tet_tr_base_train.py
预测  python tet_tr_base_predict.py
    1. 需要配置好预训练模型目录, 即变量 pretrained_model_dir、pretrained_model_name_or_path、idx等;
    1. 需要配置好自己的语料地址, 即字典 model_config[“path_train”]、model_config[“path_dev”]
    1. cd到该脚本目录下运行普通的命令行即可, 例如: python trRun.py , python trPredict.py

文本回归(TR), Text-Regression

# 适配linux
import platform
import json
import sys
import os
path_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
path_sys = os.path.join(path_root, "pytorch_nlu", "pytorch_textregression")
sys.path.append(path_sys)
print(path_root)
# 分类下的引入, pytorch_textclassification
from trConfig import model_config
from trTools import get_current_time# 训练-验证语料地址, 可以只输入训练地址
path_corpus = path_root + "/corpus/text_regression/negative_sentence"
path_train = os.path.join(path_corpus, "train.json")
path_dev = os.path.join(path_corpus, "dev.json")
model_config["evaluate_steps"] = evaluate_steps  # 评估步数
model_config["save_steps"] = save_steps  # 存储步数
model_config["path_train"] = path_train
model_config["path_dev"] = path_dev# 预训练模型适配的classmodel_type = ["BERT", "ERNIE", "BERT_WWM", "ALBERT", "ROBERTA", "XLNET", "ELECTRA"]pretrained_model_name_or_path = {"BERT_WWM":  "hfl/chinese-bert-wwm-ext","ROBERTA":  "hfl/chinese-roberta-wwm-ext","ALBERT":  "uer/albert-base-chinese-cluecorpussmall","XLNET":  "hfl/chinese-xlnet-mid","ERNIE":  "nghuyong/ernie-1.0-base-zh",# "ERNIE": "nghuyong/ernie-3.0-base-zh","BERT":  "bert-base-chinese",# "BERT": "hfl/chinese-macbert-base",}
idx = 1  # 选择的预训练模型类型---model_type
model_config["pretrained_model_name_or_path"] = pretrained_model_name_or_path[model_type[idx]]
model_config["model_save_path"] = "../output/text_regression/model_{}".format(model_type[idx])
model_config["model_type"] = model_type[idx]# os.environ["CUDA_VISIBLE_DEVICES"] = str(model_config["CUDA_VISIBLE_DEVICES"])# main
lc = TextRegression(model_config)
lc.process()
lc.train()

Reference

For citing this work, you can refer to the present GitHub project. For example, with BibTeX:

@software{Pytorch-NLU,url = {https://github.com/yongzhuo/Pytorch-NLU},author = {Yongzhuo Mo},title = {Pytorch-NLU},year = {2021}

*希望对你有所帮助!

这篇关于pytorch-textregression,中文文本回归实践,支持多值输出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730800

相关文章

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

Python 中的 with open文件操作的最佳实践

《Python中的withopen文件操作的最佳实践》在Python中,withopen()提供了一个简洁而安全的方式来处理文件操作,它不仅能确保文件在操作完成后自动关闭,还能处理文件操作中的异... 目录什么是 with open()?为什么使用 with open()?使用 with open() 进行

pytorch之torch.flatten()和torch.nn.Flatten()的用法

《pytorch之torch.flatten()和torch.nn.Flatten()的用法》:本文主要介绍pytorch之torch.flatten()和torch.nn.Flatten()的用... 目录torch.flatten()和torch.nn.Flatten()的用法下面举例说明总结torch

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio