预处理程序学习与分析(一)

来源:互联网 发布:粒子群算法 详解 ppt 编辑:程序博客网 时间:2024/05/16 08:46

一、
源码:https://github.com/hzy46/Char-RNN-TensorFlow
预处理程序:read_utils.py
1)在训练过程中,主要的处理类:TextConverter,流程如下:
这里写图片描述
具体实现
以处理汉语诗词(poetry.txt文件)为例;输入:text:字符串,max_vocab:最大字数。
vocab = set(text) # {‘跑’, ‘嚬’, ‘夔’, ‘痏’, ‘天’, ….};把字符串转为无序不重复元素集,并去重。

统计字频,并排序
for word in vocab:
vocab_count[word] = 0
for word in text:
vocab_count[word] += 1
for word in vocab_count:#字典->列表
vocab_count_list.append((word, vocab_count[word]))
vocab_count_list.sort(key=lambda x: x[1], reverse=True)

取前max_vocab大小的字符,并生成word_to_int、int_to_word映射
if len(vocab_count_list) > max_vocab:
vocab_count_list = vocab_count_list[:max_vocab]
vocab = [x[0] for x in vocab_count_list]
self.vocab = vocab
self.word_to_int_table={c:i for i, c in enumerate(self.vocab)}
self.int_to_word_table = dict(enumerate(self.vocab))

阅读全文
0 0
原创粉丝点击