赞
踩
文本读取:数据分为三份:pos_train,neg_train和test。
首先对pos和neg的data读取,将内容取出来
这里的一个难度是,对于同一组样本,有的以多行的形式展示,还有某些样本被多行之间还有空格。
如以下情况:
处理方法是建立一个save列表,每次遇到文字就储存进去,遇到当前行包含review的行就把这些文字合并成字符串添加到train_pos_comments中。
def process_file(path,list): save=[]#建立储存列表 f=open(path,"r",encoding="utf-8").readlines()#打开路径 for line in f:#遍历每一行 if "review" in line:#如果当前行的文字含有review if len(save)!=0:#且save里不为空 list.append("".join(save))#更新一次train_pos_comments save=[]#清空save continue#继续下一个循环 if "review" not in line and line.rstrip():#如果当前行是文字 save.append(line.rstrip())#把该行加入save中 process_file(train_pos_file,train_pos_comments)#分别对pos和neg进行处理 process_file(train_neg_file,train_neg_comments)
pos中有5000个,neg有3065个,pos的标签值定为1,neg的标签值定位0,建立与data相同长度的labels
# print(len(train_comments))#5000
# print(len(test_comments))#3065
pos_labels=["1"]*5000
neg_labels=["0"]*3065
将data和label分别拼接起来
'''拼接训练集的pos和neg样本'''
train_set=train_pos_comments+train_neg_comments
train_label=pos_labels+neg_labels
# print(len(train_set))#8065
# print(len(train_label))#8065
这里和训练集不同的是每一个回答都自带label,那么在自定义函数中需要返回test_comments和对应的label值
''
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。