首先,加载数据集,获取标签并随机打乱样本,然后对文档分词并使用Word2vec模型使其向量化,接下来,获取标签,最后按照80/20的比例将原始数据分成训练集和测试集。
首先,导入数据处理和循环神经网络训练所需的所有模块:
import glob
import os
from random import shuffle
from nltk.tokenize import TreebankWordTokenizer
from nlpia.loaders import get_data
from gensim.models.keyedvectors import KeyedVectors
word_vectors=KeyedVectors.load_word2vec_format('GoogleNews-vectors-negative300.bin',binary=True,limit=2000)
然后,我们可以构建数据预处理模块,它能对数据进行训练前的处理:
def pre_process_data(filepath):
positive_path=os.path.join(filepath,'pos')
negative_path=os.path.join(filepath,'neg')
pos_label=1
neg_label=0
dataset=[]
for filename in glob.glob(os.path.join(positive_path,'*.txt')):
with open(filename,'r') as f:
dataset.append(