当前位置: 首页 > news >正文

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.lryc.cn/news/127189.html

相关文章:

  • express学习笔记8 - 文件上传 下载以及预览
  • Python系统学习1-9-类(一)
  • 什么是公网、私网、内网、外网?
  • 一篇文章教会你搭建私人kindle图书馆,并内网穿透实现公网访问
  • 好用的安卓手机投屏到mac分享
  • df -h
  • 彻底卸载Android Studio
  • QT 5.12配置OpenCV3.4.10
  • Qt应用开发(基础篇)——选项卡窗口 QTabWidget
  • Socks5代理在多线程爬虫中的应用
  • 机器学习笔记:主动学习(Active Learning)初探
  • linux github 仓库管理常用操作
  • IT运维:使用数据分析平台监控深信服防火墙
  • 深入解析 Axios Blob 的使用方法及技巧
  • 爬虫逆向实战(十三)--某课网登录
  • 4.SpringCloud
  • OLED透明屏采购指南:如何选择高质量产品?
  • 机器学习编译系列
  • MySQL 数据库巡检系统的设计与应用
  • 工程项目管理系统源码+功能清单+项目模块+spring cloud +spring boot em
  • 前端笔试+面试分享
  • C Language Handout
  • 数据结构——栈(C语言)
  • Linux 内核内存管理 page_address 函数
  • macOS使用ffmpeg与QT进行音视频推拉流
  • ARTS打卡:双指针的尝试
  • JavaWeb-DAO设计模式
  • 重温git和GitHub
  • C# WPF 中 外部图标引入iconfont,无法正常显示问题 【小白记录】
  • Hi-TRS:骨架点视频序列的层级式建模及层级式自监督学习