利用word2vec词向量做textcnn的文本分类

本文介绍了如何运用word2vec词向量进行textcnn的文本分类任务,包括数据预处理、word2vec模型构建、神经网络模型训练及优化建议。
摘要由CSDN通过智能技术生成

思路如下:

  1. 读取数据
  2. 数据的y值处理
  3. 把文本做word2vec模型
  4. 文本分词
  5. 把分完的词做word2vec向量映射
  6. 建立神经网络模型,并训练
  7. 预测

直接上代码:

import pandas as pd
import numpy as np
import jieba
import re
import multiprocessing
from multiprocessing import Pool
from keras.utils import to_categorical
from keras.models import Model
from keras.layers import Dense, Embedding, Activation, merge, Input, Lambda, Reshape,BatchNormalization
from keras.layers import Conv1D, Flatten, Dropout, MaxPool1D, GlobalAveragePooling1D,SeparableConvolution1D
from keras import regularizers
from keras.layers.merge import concatenate
from sklearn.externals import joblib
import heapq 

# 读取训练集和测试集数据
f=open(r'C:\Users\admin\Desktop\game_test\game\apptype_train.dat',encoding='utf-8')
sentimentlist = []
for line in f:
    s = line.strip().split('\t')
    sentimentlist.append(s)
f.close()
df_train=pd.DataFrame(sentimentlist,columns=['s_no','deal_code','text'])

# 训练集的数据处理
df_=df_train['deal_code'].str.split('|',expand=True)
df_.columns=['deal_code1','deal_code2']
df_2=pd.concat([df_train,df_],axis=1)
a=df_2[['s_no','deal_code1','text']] 
a.columns=['s_no','deal_code2','text']  #a.rename(columns={'deal_code1':'deal_code2'}, inplace = True)
b=df_2[['s_no','deal_code2','text']]
df_3=pd.concat([a,b],axis=0)
df_train_end=df_3[df_3['deal_code2'].isnull().values==False]

# 读取测试集
f=open(r'C:\Users\admin\Desktop\game_test\game\app_desc.dat',encoding='utf-8')
sentimentlist = []
for line in f:
    s = line.strip().split('\t')
    sentimentlist.append(s)
f.close()
df_test=pd.DataFrame(sentimentlist,columns=['s_no','text'])
print
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值