东方耀AI技术分享
标题:
04、项目开发的一般流程与数据预处理_笔记与视频
[打印本页]
作者:
东方耀
时间:
2019-3-22 09:46
标题:
04、项目开发的一般流程与数据预处理_笔记与视频
04、项目开发的一般流程与数据预处理_笔记与视频
课程配套的数据cnews_data.zip
下载【
回复本帖可见
】:
高清视频下载地址【
回复本帖可见
】:
# -*- coding: utf-8 -*-
__author__ = u'东方耀 微信:dfy_88888'
__date__ = '2019/3/21 20:28'
__product__ = 'PyCharm'
__filename__ = '1_pre_process'
import sys
import os
import jieba
# input file
train_file = './cnews_data/cnews.train.txt'
test_file = './cnews_data/cnews.test.txt'
val_file = './cnews_data/cnews.val.txt'
# output file 分词后的
seg_train_file = './cnews_data/cnews.train.seg.txt'
seg_test_file = './cnews_data/cnews.test.seg.txt'
seg_val_file = './cnews_data/cnews.val.seg.txt'
# 词表文件
vocab_file = './cnews_data/cnews.vocab.txt'
# 类别文件
category_file = './cnews_data/cnews.category.txt'
with open(train_file, 'r', encoding='utf-8') as f:
lines = f.readlines()
# label, content = lines[10550].strip('\r\n').split('\t')
# print(label)
# print(content)
# word_iter = jieba.cut(content)
# print('/'.join(word_iter))
def generate_seg_file(input_file, output_seg_file):
with open(input_file, 'r', encoding='utf-8') as f:
lines = f.readlines()
with open(output_seg_file, 'w', encoding='utf-8') as f:
for line in lines:
label, content = line.strip('\r\n').split('\t')
word_iter = jieba.cut(content)
word_content = ''
for word in word_iter:
word = word.strip(' ')
if word != '':
word_content += word + ' '
out_line = '%s\t%s\n' % (label, word_content.strip(' '))
f.write(out_line)
# generate_seg_file(val_file, seg_val_file)
# generate_seg_file(train_file, seg_train_file)
# generate_seg_file(test_file, seg_test_file)
def generate_vocab_file(input_seg_file, output_vocab_file):
with open(input_seg_file, 'r', encoding='utf-8') as f:
lines = f.readlines()
# dict {key, value} word:frequency
word_dict = {}
for line in lines:
label, content = line.strip('\r\n').split('\t')
for word in content.split(' '):
word_dict.setdefault(word, 0)
word_dict[word] += 1
# sorted_word_dict [(word, frequency), (), ()]
sorted_word_dict = sorted(word_dict.items(), key=lambda d: d[1], reverse=True)
with open(output_vocab_file, 'w', encoding='utf-8') as f:
f.write('<UNK>\t999999999999\n')
for item in sorted_word_dict:
f.write('%s\t%s\n' % (item[0], item[1]))
# generate_vocab_file(seg_train_file, vocab_file)
def generate_category_file(input_file, output_category_file):
with open(input_file, 'r', encoding='utf-8') as f:
lines = f.readlines()
category_dict = {}
for line in lines:
label, content = line.strip('\r\n').split('\t')
category_dict.setdefault(label, 0)
category_dict[label] += 1
category_number = len(category_dict)
with open(output_category_file, 'w', encoding='utf-8') as f:
for category in category_dict.keys():
out_line = '%s\n' % category
print('%s\t%d\n' % (category, category_dict[category]))
f.write(out_line)
generate_category_file(seg_train_file, category_file)
复制代码
作者:
lovestudy
时间:
2019-3-22 14:07
4
作者:
weiguangnixia
时间:
2019-3-22 20:57
发生的范德萨范德萨
作者:
zjshuai
时间:
2019-4-11 09:09
grzt grzt grzt grzt
作者:
m379896771
时间:
2019-5-15 09:31
04、项目开发的一般流程与数据预处理_笔记与视频
作者:
阳阳11
时间:
2019-5-26 18:04
谢谢楼主分享
作者:
jlbu
时间:
2019-5-29 15:08
1111
作者:
Sy赵小赵
时间:
2019-6-16 21:00
1
作者:
Sybarite
时间:
2019-7-12 13:15
1111
作者:
何马
时间:
2019-7-17 13:56
1111
作者:
yangzhongxin
时间:
2019-7-29 09:21
数据收集
作者:
jhcao23
时间:
2019-9-6 10:58
好视频看看
作者:
清远
时间:
2019-9-18 11:03
a
作者:
malcody9
时间:
2019-9-19 15:17
2333
作者:
吧卟啊吧卟
时间:
2019-10-30 16:11
666
作者:
fglbee
时间:
2019-12-7 10:54
this is good idea
作者:
sjc
时间:
2019-12-15 21:53
下载数据
作者:
p2020
时间:
2019-12-18 20:14
1111111111111111111
作者:
arnold
时间:
2020-1-20 15:20
6666666666666666666
作者:
judson
时间:
2020-4-4 11:59
1
作者:
luotuo
时间:
2020-4-23 16:28
谢谢资料
作者:
周末下雨的机场
时间:
2020-5-25 14:52
ok
作者:
ice_spring
时间:
2020-5-30 08:03
实战项目学习
作者:
Lewis
时间:
2020-7-21 16:23
666666666666666
作者:
zkq0519
时间:
2020-7-26 10:10
1
作者:
hu007
时间:
2021-1-31 17:34
5555555558888888888888888888888
作者:
Walkerwang
时间:
2021-4-1 16:51
老师把数据预处理过程说的很形象生动
作者:
Aabb
时间:
2021-4-5 16:49
11111111111111
作者:
fengxiaoyang
时间:
2022-3-7 20:58
1
作者:
大水牛
时间:
2022-9-23 06:46
1
欢迎光临 东方耀AI技术分享 (http://www.ai111.vip/)
Powered by Discuz! X3.4