NeuralNLP-NeuralClassifier的使用記錄(一),訓練預測自己的【英文文本多分類】

NeuralNLP-NeuralClassifier的使用記錄,訓練預測自己的英文文本多分類

NeuralNLP-NeuralClassifier是騰訊開發的一個多層多分類應用工具,支持的任務包括,文本分類中的二分類、多分類、多標簽,以及層次多標簽分類。支持的文本編碼模型包括 FastText, TextCNN, TextRNN, RCNN, VDCNN等。這篇博客將介紹如何使用這個項目實現文本的多標簽多分類任務。

這里記錄本人的英文文本分類,總共分6類。數據背景是:

2023 國際高等教育數學成型競賽-A題 購物評論的數據分析的英文評論數據。

NeuralNLP-NeuralClassifier項目代碼地址:
GitHub項目原開源代碼

文章末有本次實驗全部代碼和數據。上傳百度網盤,下載解壓即可使用

項目目錄介紹:

|--conf     # config文件存放目錄
|--data    # 所有數據和schema存放目錄
|--dataset  # 構建dataloader所需腳本
|--evaluate
|--model|--classification   # 項目中使用到的所有特征編碼器|--attention.py|--embedding.py|-- ......  各模型通用的一些模塊
|--predict.txt    # 執行預測生成的預測結果
|--checkpoint_dir_{}  # 訓練過程中保存下來的權重文件目錄
|--dict_{}              # 加載數據時產生的緩存文件目錄
|--train.py            # 官方提供的訓練腳本
|--eval.py            # 官方提供的評估腳本
|--predict.py        # 官方提供的預測腳本

在這里插入圖片描述

一、構建自己的數據集格式

數據樣式很簡單,逐行的json格式,包括四個字段,使用者需要按照如下的形式去組織數據:

{"doc_label":["Computer--MachineLearning--DeepLearning", "Neuro--ComputationalNeuro"],"doc_token": ["I", "love", "deep", "learning"],"doc_keyword": ["deep learning"],"doc_topic": ["AI", "Machine learning"]
}"doc_keyword" and "doc_topic" are optional.

在這里插入圖片描述

"doc_label"就是這篇文檔對應的所有標簽構成的list,如果是單分類任務,list的長度為1,層次分類任務,各層之間用“–”進行分隔;

"doc_token"是這篇文檔對應的所有token,中文可以使用各種分詞工具進行分詞。

“doc_keyword” 和"doc_topic"是在fasttext算法中提供額外的輸入特征的,可以不提供,但是這兩個字段必須要有,可以置為空。

二、構建自己的數據集:

自己數據數據處理成JSON文件,一段英文文本的標簽,以及它的文本的詞等等…

如何構建自己數據集url

在這里插入圖片描述

在這里插入圖片描述

編寫自己數據的文本標簽類別,我這里是數字標簽,也可以文本標簽,代表自己數據集總共有哪些標簽。

后面的訓練配置文件需要填入該文件的路徑

三、訓練:

模擬conf/train.json,自己數據就得寫訓練配置參數:

在這里插入圖片描述

訓練配置參數主要修改:

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

訓練命令:

終端命令界面:

python train.py conf/english_train_conf.json

訓練完后會生成相應的文件夾:有保存模型權重的、以及記錄訓練的:

在這里插入圖片描述

驗證命令:

python eval.py conf/english_train_conf.json

運行完后會生成混淆矩陣,評價指標:

在這里插入圖片描述

四、預測:

預測時,構造預測數據,類似于訓練的數據集,只是label為空:

處理待測的數據集,處理成JSON文件,如何處理,請看另一篇博文:
NeuralNLP-NeuralClassifier的使用記錄(二),訓練預測自己的【中文文本多分類】

在這里插入圖片描述

在這里插入圖片描述

放入文件夾:

在這里插入圖片描述

預測命令:

python predict.py conf/english_train_conf.json englishdata/pridetct.json 

預測完后:

會生成predict.txt文本,txt里每一行就是每一個英文文本的預測分類:

在這里插入圖片描述

代碼獲取:

鏈接:https://pan.baidu.com/s/1PSA_0rMAzVBNGUmZQBczdw
提取碼:2023

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40574.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40574.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40574.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言庫函數之 qsort 講解、使用及模擬實現

引入 我們在學習排序的時候&#xff0c;第一個接觸到的應該都是冒泡排序&#xff0c;我們先來復習一下冒泡排序的代碼&#xff0c;來作為一個鋪墊和引入。 代碼如下&#xff1a; #include<stdio.h>void bubble_sort(int *arr, int sz) {int i 0;for (i 0; i < sz…

面試熱題(最大子數組和)

給你一個整數數組 nums &#xff0c;請你找出一個具有最大和的連續子數組&#xff08;子數組最少包含一個元素&#xff09;&#xff0c;返回其最大和。 子數組 是數組中的一個連續部分。 輸入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 輸出&#xff1a;6 解釋&#xff1a;連續…

免費批量ppt轉pdf?一個方法教你完美轉換

隨著科技的不斷發展&#xff0c;電子文檔的使用越來越普遍。在商業、教育和個人領域&#xff0c;我們經常需要將PPT文件轉換為PDF格式&#xff0c;以便更方便地共享和存檔。幸運的是&#xff0c;現在有許多在線工具和軟件可以幫助我們輕松地完成免費批量ppt轉pdf。下面將介紹一…

【Linux】模擬實現linux的shell

#include <stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #include <sys/wait.h> #include <sys/types.h> #define NUM 1024 #define SIZE 32 #define SEP " " int main() {//保存輸入后的字符串char …

Blazor前后端框架Known-V1.2.12

V1.2.12 Known是基于C#和Blazor開發的前后端分離快速開發框架&#xff0c;開箱即用&#xff0c;跨平臺&#xff0c;一處代碼&#xff0c;多處運行。 Gitee&#xff1a; https://gitee.com/known/KnownGithub&#xff1a;https://github.com/known/Known 概述 基于C#和Blazo…

大文件切片上傳

創建組件&#xff1a;創建一個組件用于處理文件上傳&#xff0c;命名為Upload.vue。 <template><div><input type"file" change"handleFileChange" /><button click"startUpload">開始上傳</button></div> …

Pyinstaller 打包 django 項目如何將命令行參數加入?

起因 Pyinstaller 打包 django 項目&#xff0c;打包成 manage.exe 后用命令行 cmd manage.exe runserver 0.0.0.0:8001 --noreload 來運行感覺很不方便。 希望能夠直接把命令行參數也打包進去&#xff0c;直接運行 exe 。我走了些彎路&#xff0c;但最終實現了。 彎路 我看…

Redis之刪除策略

文章目錄 前言一、過期數據二、數據刪除策略2.1定時刪除2.2惰性刪除2.3 定期刪除2.4 刪除策略比對 三、逐出算法3.1影響數據逐出的相關配置 總結 前言 Redis的常用刪除策略 一、過期數據 Redis是一種內存級數據庫&#xff0c;所有數據均存放在內存中&#xff0c;內存中的數據可…

web基礎入門和PHP語言基礎入門 一

web基礎入門和php語言基礎入門 一 WEB簡介與HTTP入門WEB簡介HTTP 簡介HTTP 請求報文&#xff1a;請求方法&#xff1a;請求頭部&#xff1a;&#xff08;常見的請求頭&#xff09;HTTP 響應報文&#xff1a;響應狀態碼&#xff1a;Cookie HTML入門學習什么是HTML什么是標記語言…

【深入了解pytorch】PyTorch擴展:如何使用PyTorch的擴展功能

【深入了解pytorch】PyTorch擴展:如何使用PyTorch的擴展功能 PyTorch擴展:展示如何使用PyTorch的擴展功能1. 自定義損失函數2. 自定義數據加載器3. 自定義優化器總結PyTorch擴展:展示如何使用PyTorch的擴展功能 PyTorch作為一個開源的深度學習框架,在研究和應用領域廣受歡…

PHP入門基礎教程 - 專欄導讀

&#x1f3c6;作者簡介&#xff0c;黑夜開發者&#xff0c;全棧領域新星創作者?&#xff0c;CSDN博客專家&#xff0c;阿里云社區專家博主&#xff0c;2023年6月CSDN上海賽道top4。 &#x1f3c6;數年電商行業從業經驗&#xff0c;歷任核心研發工程師&#xff0c;項目技術負責…

【LeetCode 算法】Find And Replace in String 字符串中的查找與替換-線性模擬

文章目錄 Find And Replace in String 字符串中的查找與替換問題描述&#xff1a;分析代碼線性模擬 Tag Find And Replace in String 字符串中的查找與替換 問題描述&#xff1a; 你會得到一個字符串 s (索引從 0 開始)&#xff0c;你必須對它執行 k 個替換操作。替換操作以三…

Floyd算法

正如我們所知道的&#xff0c;Floyd算法用于求最短路徑。Floyd算法可以說是Warshall算法的擴展&#xff0c;三個for循環就可以解決問題&#xff0c;所以它的時間復雜度為O(n^3)。 Floyd算法的基本思想如下&#xff1a;從任意節點A到任意節點B的最短路徑不外乎2種可能&#xff…

openGauss學習筆記-42 openGauss 高級數據管理-觸發器

文章目錄 openGauss學習筆記-42 openGauss 高級數據管理-觸發器42.1 語法格式42.2 參數說明42.3 示例 openGauss學習筆記-42 openGauss 高級數據管理-觸發器 觸發器會在指定的數據庫事件發生時自動執行函數。 42.1 語法格式 創建觸發器 CREATE TRIGGER trigger_name { BEFORE…

Swagger-ui在idea中的使用

1.添加依賴 <!--添加swagger2相關概念--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><!--添加swagger-ui相關功能--><de…

Linux學習之基本指令一

在學習Linux下的基本指令之前首先大家要知道Linux下一切皆目錄&#xff0c;我們的操作基本上也都是對目錄的操作&#xff0c;這里我們可以聯想我們是如何在windows上是如何操作的&#xff0c;只是形式上不同&#xff0c;類比學習更容易理解。 目錄 01.ls指令 02. pwd命令 0…

SpringBoot登錄、退出、獲取用戶信息的session處理

1、登錄方法&#xff1a;login PostMapping("/user/login")public ResponseVo<User> login(Valid RequestBody UserLoginForm userLoginForm,HttpSession session) {ResponseVo<User> userResponseVo userService.login(userLoginForm.getUsername(), …

sql A表(含有部分B表字段) 向B表插入A表數據

今天遇到一個數據庫插入問題 向表中插入 生產狀態 為 2 的數據 但生產狀態為改為12 的所有數據 查看網上的評論 參考 insert into b (a,b,c) select ‘1’,‘2’,c from a where a1 這樣就可以a,b字段是插入指定某個值,而C字段則用表a的c字段. 最后解決了。忽然想起原來也有這…

實現Python對.json文件內容的讀取和寫入

要實現Python對.json文件內容的讀取和寫入&#xff0c;可以使用json庫。 首先&#xff0c;需要安裝json庫&#xff1a; pip install json 然后&#xff0c;可以編寫以下代碼來實現對.json文件內容的讀取和寫入&#xff1a; import json# 讀取json文件 with open(data.json, …

PS實現多個圖片轉化GIF動畫

PS實現多個圖片轉化為GIF動畫步驟 一、導入圖片素材1.打開PS軟件&#xff0c;點擊 [文件] --- [腳本] ---[將文件載入堆棧]2.選擇圖片3.導入成功 二、打開時間軸1.點擊[窗口]---[時間軸]2.選擇創建幀動畫3.創建幀動畫 三、創建動畫1.復制幀。2.設置幀的內容。3.修改圖片停留的時…