中文文本多标签文本分类(python tensorflow2实现 )

本文介绍了使用Python和TensorFlow2进行中文文本多标签分类的流程,包括数据预处理、文本向量化和神经网络模型的应用。虽然当前结果不理想,但提出了优化方向,如采用Glove、BERT向量,使用LSTM、GRU模型,以及增加数据量。
摘要由CSDN通过智能技术生成

NLP(中文文本多标签文本分类)

本文主要是说明中文文本多标签分类的具体流程,结果不理想暂不考虑,后续再进行优化(刚接触NLP)。
先来说说多标签分类和二分类,多分类的区别。二分类,多分类的标签只有一个,换句话说就是只属于一个类别,多标签分类则是属于多个类别。

数据集采用的是头条新闻的数据(处理起来有点坑。。。)头条新闻的数据
总体流程分为主要是三个步骤:
1.数据预处理。(删除缺失值,删除非中文字符,文本划分)
2.文本向量化。(one-hot,tf_idf,word2vec等)
3.采用机器学习的方法(主要是神经网络)
上述理论知识不再介绍。
神经网络模型参数:
在这里插入图片描述

import pandas as pd
import re
import numpy as np
from sklearn.preprocessing import MultiLabelBinarizer
import jieba
from sklearn.model_selection import train_test_split
from gensim.models import Word2Vec
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

filepath = 'G:\\Alops\DataSet\\toutiao-multilevel-text-classfication-dataset-master\\mlc_dataset_part_aa'
cloNames = ['newsId', 'newsClass', 'newsTitle', 'newsFeatures', 'newsLabel', 'other']
stopWord_filepath = "G:\\Alops\DataSet\\toutiao-multilevel-text-classfication-dataset-master\\stopWord.json"


def readFile(filepath):
    f = open(filepath, encoding='utf-8')
    text_list = []
    line = f.readline().strip()
    while line:
        text_list.append(line)
        line = f.readline().strip()
    f.close()
    result = []
    for list in text_list:
        result.append(list.split('|,|'))
    return result


# 删除缺失值
def drop_null(data_use):
    index1 = data_use[data_use.isnull
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值