赛题的分析(Task 1):
1、任务:给定一个新闻事件的文本,判定该事件属于真实新闻还是虚假新闻。
2、方法:训练一个二分类器,判别新闻是真还是假。
一、数据预处理:
a、样本数据观察:
训练集有38471条数据,每条数据有id、text、label三个字段,其中1代表正例 (真),0代表负例(假)
b、数据清洗:
1、生成训练词向量的数据
2、去掉训练样本里的无意义的噪音,例如:url、@+人名等…
def clearn_data():
file = pd.read_csv('./train.csv')
f = pd.DataFrame(file,columns=['text','label']).dropna(subset=['text','label'])
print(f.head())
i = 0
with open('./train_vec.txt','w',encoding='utf-8') as ft,open('./train_data.txt','w',encoding='utf-8') as fl:
for text,label in zip(f['text'],f['label']):
if text != '':
ft.write(' '.join(jieba.lcut(text.strip()))+'\n') #生成训练词向量的数据
line = re.sub(u'#.*?#|@[\u4E00-\u9FA5A-Za-z0-9_-]+|(.*?)|\(.*?\)|(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|