第一波对数据的清洗其中已经完成了文本的一个清洗
基本上可以满足当前的准确率
然后是对数据文档的合并 和 新闻类别的抽取
其中 文档的合并是 将所有测试集和训练集的各个部分合并
其中在测试集和训练集的划分是手动完成
总共选取了6个类别
每个类别500条新闻
总共3000条
其中合并是让每则新闻占一行
然后所有类别的新闻全部合并到一个txt文件
类别也是如此让两个文件的每一行进行对应
一条新闻对应他的一个所属类别
然后训练集 测试集的数据合并和类别抽取完成
# encoding=utf-8
import os
def merge_file(path):
files = os.listdir(path)
print(files)
dict = {'娱乐': '1', '汽车': '2', '游戏': '3', '科技': '4', '综合体育最新': '5', '财经': '6'}
outfile_train = '../dataset_train/x_train.txt'
outfile_label = '../dataset_train/y_train.txt'
result_train = open(outfile_train, 'a', encoding='utf-8')
result_label = open(outfile_label, 'a', encoding='utf-8')
for file in files:
text_dir = path + '\' + file
texts = os.listdir(text_dir)
for text in texts:
txt_file_dir = text_dir + '\' + text
print(txt_file_dir)
f = open(txt_file_dir, 'r', encoding='utf-8')
content = f.read()
if len(content) > 3000:
content = content.encode('utf-8').decode('utf-8')[0:3000] # 截取字段
result_train.write(content+' ') # 合并文件
result_label.write(dict[file]+' ')
result_label.close()
result_train.close()
if __name__ == "__main__":
path = r"../dataset_train"
merge_file(path)