东方耀AI技术分享

标题: 04、项目开发的一般流程与数据预处理_笔记与视频 [打印本页]

作者: 东方耀    时间: 2019-3-22 09:46
标题: 04、项目开发的一般流程与数据预处理_笔记与视频


04、项目开发的一般流程与数据预处理_笔记与视频

课程配套的数据cnews_data.zip下载【回复本帖可见】:


高清视频下载地址【回复本帖可见】:

  1. # -*- coding: utf-8 -*-
  2. __author__ = u'东方耀 微信:dfy_88888'
  3. __date__ = '2019/3/21 20:28'
  4. __product__ = 'PyCharm'
  5. __filename__ = '1_pre_process'


  6. import sys
  7. import os
  8. import jieba

  9. # input file
  10. train_file = './cnews_data/cnews.train.txt'
  11. test_file = './cnews_data/cnews.test.txt'
  12. val_file = './cnews_data/cnews.val.txt'


  13. # output file 分词后的
  14. seg_train_file = './cnews_data/cnews.train.seg.txt'
  15. seg_test_file = './cnews_data/cnews.test.seg.txt'
  16. seg_val_file = './cnews_data/cnews.val.seg.txt'


  17. # 词表文件
  18. vocab_file = './cnews_data/cnews.vocab.txt'

  19. # 类别文件
  20. category_file = './cnews_data/cnews.category.txt'

  21. with open(train_file, 'r', encoding='utf-8') as f:
  22.     lines = f.readlines()

  23. # label, content = lines[10550].strip('\r\n').split('\t')
  24. # print(label)
  25. # print(content)

  26. # word_iter = jieba.cut(content)
  27. # print('/'.join(word_iter))


  28. def generate_seg_file(input_file, output_seg_file):
  29.     with open(input_file, 'r', encoding='utf-8') as f:
  30.         lines = f.readlines()
  31.     with open(output_seg_file, 'w', encoding='utf-8') as f:
  32.         for line in lines:
  33.             label, content = line.strip('\r\n').split('\t')
  34.             word_iter = jieba.cut(content)
  35.             word_content = ''
  36.             for word in word_iter:
  37.                 word = word.strip(' ')
  38.                 if word != '':
  39.                     word_content += word + ' '
  40.             out_line = '%s\t%s\n' % (label, word_content.strip(' '))
  41.             f.write(out_line)


  42. # generate_seg_file(val_file, seg_val_file)
  43. # generate_seg_file(train_file, seg_train_file)
  44. # generate_seg_file(test_file, seg_test_file)


  45. def generate_vocab_file(input_seg_file, output_vocab_file):
  46.     with open(input_seg_file, 'r', encoding='utf-8') as f:
  47.         lines = f.readlines()
  48.     # dict {key, value}  word:frequency
  49.     word_dict = {}
  50.     for line in lines:
  51.         label, content = line.strip('\r\n').split('\t')
  52.         for word in content.split(' '):
  53.             word_dict.setdefault(word, 0)
  54.             word_dict[word] += 1
  55.     # sorted_word_dict [(word, frequency), (), ()]
  56.     sorted_word_dict = sorted(word_dict.items(), key=lambda d: d[1], reverse=True)
  57.     with open(output_vocab_file, 'w', encoding='utf-8') as f:
  58.         f.write('<UNK>\t999999999999\n')
  59.         for item in sorted_word_dict:
  60.             f.write('%s\t%s\n' % (item[0], item[1]))


  61. # generate_vocab_file(seg_train_file, vocab_file)


  62. def generate_category_file(input_file, output_category_file):
  63.     with open(input_file, 'r', encoding='utf-8') as f:
  64.         lines = f.readlines()
  65.     category_dict = {}
  66.     for line in lines:
  67.         label, content = line.strip('\r\n').split('\t')
  68.         category_dict.setdefault(label, 0)
  69.         category_dict[label] += 1
  70.     category_number = len(category_dict)
  71.     with open(output_category_file, 'w', encoding='utf-8') as f:
  72.         for category in category_dict.keys():
  73.             out_line = '%s\n' % category
  74.             print('%s\t%d\n' % (category, category_dict[category]))
  75.             f.write(out_line)


  76. 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