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

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

數據準備:

? 與英文的訓練預測一致,都使用相同的數據格式,將數據通過代碼處理為JSON格式,以下是我使用的一種,不同的原數據情況會有所改動:

import jieba.analyse as ana
import re
import jiebadef make_data_json(df,outpath):def stop_words(path):txt = open(outpath,"r",encoding='utf-8') lines = txt.readlines()txt.close()stop_txt = []for line in lines:stop_txt.append(line.strip('\n'))return stop_txtwith open(outpath, "w+", encoding='utf-8') as f:# with open(output_path, "w") as fw:for indexs in df.index:dict1 = {}dict1['doc_label'] = [str(df.loc[indexs].values[0])]doc_token = df.loc[indexs].values[1]# 只保留中文、大小寫字母和阿拉伯數字reg = "[^0-9A-Za-z\u4e00-\u9fa5]"doc_token = re.sub(reg, '', doc_token)print(doc_token)# 中文分詞seg_list = jieba.cut(doc_token, cut_all=False)#$提取關鍵詞,20個:ana.set_stop_words('./人工智能挑戰賽-文本分類/停用詞列表.txt')keyword = ana.extract_tags(doc_token, topK=20,withWeight=False,)   #True表示顯示權重# 去除停用詞content = [x for x in seg_list if x not in stop_words('../data/stop_words.txt')]dict1['doc_token'] = contentdict1['doc_keyword'] = keyworddict1['doc_topic'] = []# 組合成字典print(dict1)# 將字典轉化成字符串json_str = json.dumps(dict1, ensure_ascii=False)f.write('%s\n' % json_str)

使用構造JSON數據方法:

在這里插入圖片描述

訓練前期準備:

1、創建中文數據文件夾,Chinese_datas,

2、創建該數據的文本數據對應的標簽集Chinese_label.taxonomy

3、創建該數據的訓練配置文件Chinese_train_conf.json,

繼續目錄如下:

在這里插入圖片描述

配置文件的注意點:

在這里插入圖片描述

其中需要額外修改的地方:

work_nums=0

以及涉及代碼中,有讀取文件的部分都需要給編碼中文編碼:

with open(encoding=‘utf-8’)

訓練:

訓練代碼:

python train.py conf/Chinese_train_conf.json

訓練后生成的權重文件,在配置文件中就寫出了:

在這里插入圖片描述

預測:

在這里插入圖片描述

python predict.py conf/Chinese_train_conf.json Chinese_datas/predict_data.json

預測結果:

在這里插入圖片描述

可以看出預測效果僅一個錯誤,該模型方便NLP的比賽分類等,準確率也很高。

代碼獲取:

下載就是中文分類版,在命令界面進行命令行輸入,訓練和預測,:

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

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

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

相關文章

java+springboot+mysql理發會員管理系統

項目介紹: 使用javaspringbootmysql開發的理發會員管理系統,系統包含超級管理員,系統管理員、客戶、發型師角色,功能如下: 超級管理員:管理員管理;會員管理;發型師管理&#xff1b…

如何保證數據庫的數據和Redis的數據一致性

實際項目中有可能會使用Redis緩存數據,那么在更新數據的時候如何保證數據庫中的數據和Redis緩存的數據一致,緩存同步策略的選擇是一個很重要的問題。網上有各種說法,大概總結有以下幾種,看看每種方案是否可行以及存在的問題和適用…

安裝軟件包

安裝軟件包 創建一個名為 /home/curtis/ansible/packages.yml 的 playbook : 將 php 和 mariadb 軟件包安裝到 dev、test 和 prod 主機組中的主機上 將 RPM Development Tools 軟件包組安裝到 dev 主機組中的主機上 將 dev 主機組中主機上的所有軟件包更新為最新版本 vim packa…

關于Firmae缺失binwalk模塊

問題 david707:~/FirmAE$ sudo ./run.sh -c weyow ./WAM_9900-20.06.03V.trx [*] ./WAM_9900-20.06.03V.trx emulation start!!! Traceback (most recent call last):File "./sources/extractor/extractor.py", line 19, in <module>import binwalk ModuleNot…

Android Studio調試的時候Logcat不顯示日志了

文章目錄 問題描述解決方案 問題描述 使用Log輸出日志的時候&#xff0c;Logcat窗口并沒有顯示日志。 去除所有的過濾條件之后&#xff0c;Logcat窗口仍然沒有一條消息。 解決方案 關閉Android Studio&#xff0c;重啟Android Studio即可。

Docker容器:docker基礎概述、安裝、網絡及資源控制

文章目錄 一.docker容器概述1.什么是容器2. docker與虛擬機的區別2.1 docker虛擬化產品有哪些及其對比2.2 Docker與虛擬機的區別 3.Docker容器的使用場景4.Docker容器的優點5.Docker 的底層運行原理6.namespace的六項隔離7.Docker核心概念 二.Docker安裝 及管理1.安裝 Docker1.…

【k8s】基于Prometheus監控Kubernetes集群安裝部署

目錄 基于Prometheus監控Kubernetes集群安裝部署 一、環境準備 二、部署kubernetes集群 三、部署Prometheus監控平臺 四、部署Grafana服務 五、grafana web操作 基于Prometheus監控Kubernetes集群安裝部署 一、環境準備 IP地址 主機名 組件 192.168.100.131 k8s-ma…

時序預測 | MATLAB實現WOA-CNN-GRU鯨魚算法優化卷積門控循環單元時間序列預測

時序預測 | MATLAB實現WOA-CNN-GRU鯨魚算法優化卷積門控循環單元時間序列預測 目錄 時序預測 | MATLAB實現WOA-CNN-GRU鯨魚算法優化卷積門控循環單元時間序列預測預測效果基本介紹模型描述程序設計參考資料 預測效果 基本介紹 時序預測 | MATLAB實現WOA-CNN-GRU鯨魚算法優化卷積…

PrefetchParameters

Windows XP重新設置預讀對象是允許的。具體方法是&#xff1a;打開注冊表編輯器&#xff0c;依次展開 HKEY_LOCAL_MACHINE&#xff3c;SYSTEM&#xff3c;CurrentControlSet&#xff3c;Control&#xff3c;Session Manager&#xff3c;Memory Management&#xff3c;PrefetchP…

基于LVQ神經網絡的人臉朝向識別

1案例背景 1.1人臉識別概述 人臉識別作為一個復雜的模式識別問題,近年來受到了廣泛的關注,識別領域的各種方法在這個問題上各顯所長,而且發展出了許多新方法,大大豐富和拓寬了模式識別的方向。人臉識別、檢測,跟蹤、特征定位等技術近年來一直是研究的熱點。人臉識別是人臉應用…

【制作npm包1】申請npm賬號、認識個人包和組織包

概述 在開發當中經常有一種現象&#xff0c;重復代碼寫了N多遍&#xff0c;再次寫同樣的邏輯就再次翻查以前的代碼邏輯。效率低下且容易出錯&#xff0c;封裝一個npm包的價值也不僅僅是給別人用&#xff0c;封裝一套屬于自己或者本部門的npm包也是相當有必要。 也許經常看到一…

RabbitMQ的5種消息隊列

RabbitMQ的5種消息隊列 1、七種模式介紹與應用場景 1.1 簡單模式(Hello World) 一個生產者對應一個消費者&#xff0c;RabbitMQ 相當于一個消息代理&#xff0c;負責將 A 的消息轉發給 B。 應用場景&#xff1a;將發送的電子郵件放到消息隊列&#xff0c;然后郵件服務在隊列…

【JS學習】Object.assign 用法介紹

Object.assign 是ES6中的一個方法。該方法能夠實現對象的淺復制以及對象合并。Object.assign 并不會修改目標對象本身&#xff0c;而是返回一個新的對象&#xff0c;其中包含了所有源對象的屬性。 例1 2個對象合并 const target { a: 1, b: 2 }; const source { b: 3, c: 4…

【git】初次使用git上傳代碼到github遠程倉庫

目錄 0.前言1.新建代碼庫2.添加SSH公鑰2.1 前置準備2.2 Git 基本信息設置2.3 添加SSH Key 3.本地倉庫上傳到github3.1 建立本地倉庫并初始化3.2 初始化倉庫3.3 建立本地與github上新建項目鏈接3.4 同步github新建項目到本地3.5 添加本地文件到緩存區3.6 為上傳文件添加注釋3.7 …

注冊中心Eureka和Nacos,以及負載均衡Ribbon

1.初識微服務 1.1.什么是微服務 微服務&#xff0c;就是把服務拆分成為若干個服務&#xff0c;降低服務之間的耦合度&#xff0c;提供服務的獨立性和靈活性。做到高內聚&#xff0c;低耦合。 1.2.單體架構和微服務架構的區別&#xff1a; 單體架構&#xff1a;簡單方便&#…

TS基本語法

一、安裝 npm install -g typescript 或者 cnpm install -g typescript 或者 yarnlobal add typescript二、運行 tsc xxxx.ts注意&#xff1a;如果電腦上面沒有安裝過cnpm&#xff0c;請先安裝cnpm npm install -g cnpm --registryhttps://registry.npm.taobao.org注意&…

數字圖像處理-AWB跳變

1、自動白平衡&#xff08;AWB&#xff09;算法是相機中常用的圖像處理技術&#xff0c;它能夠自動調整圖像中的白平衡&#xff0c;使得圖像中的顏色更加真實、自然。然而&#xff0c;在實際應用中&#xff0c;AWB算法也存在著一些問題&#xff0c;例如AWB跳變&#xff08;Whit…

DevExpress WinForms數據編輯器組件,提供豐富的數據輸入樣式!(一)

DevExpress WinForms超過80個高影響力的WinForms編輯器和多用途控件&#xff0c;從屏蔽數據輸入和內置數據驗證到HTML格式化&#xff0c;DevExpress數據編輯庫提供了無與倫比的數據編輯選項&#xff0c;包括用于獨立數據編輯或用于容器控件(如Grid, TreeList和Ribbon)的單元格。…

云原生 envoy xDS 動態配置 java控制平面開發 支持restful grpc實現 EDS 動態endpoint配置

envoy xDS 動態配置 java控制平面開發 支持restful grpc 動態endpoint配置 大綱 基礎概念Envoy 動態配置API配置方式動靜結合的配置方式純動態配置方式實戰 基礎概念 Envoy 的強大功能之一是支持動態配置&#xff0c;當使用動態配置時&#xff0c;我們不需要重新啟動 Envoy…

spring boot 整合mongodb

1、安裝依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>2、配置數據庫連接 spring:data:mongodb:host: localhostport: 27017username: xxxxxxp…