DataWhale 动手学深度学习PyTorch版-task2:文本预处理;语言模型;循环神经网络基础

课程引用自伯禹平台:https://www.boyuai.com/elites/course/cZu18YmweLv10OeV

《动手学深度学习》官方网址:http://zh.gluon.ai/ ——面向中文读者的能运行、可讨论的深度学习教科书。

task2:文本预处理;语言模型;循环神经网络基础

课程详细内容在https://www.boyuai.com/elites/course/cZu18YmweLv10OeV/jupyter/74GLt4f6G9GgtnuK_Y7SJ

#课程视频下的讨论也是精华

1、读文本行的代码,可以复用
def read_time_machine():
    with open('/home/kesci/input/timemachine7163/timemachine.txt', 'r') as f:
        lines = [re.sub('[^a-z]+', ' ', line.strip().lower()) for line in f]
    return lines
lines = read_time_machine()
print('# sentences %d' % len(lines))

2、建立字典
#常听说的建语料库,是不是就是建字典,给标签?
#每种语言的分词应该不同
(来自讨论)用 Vocab 类实现将文本的词映射成一个索引,既然是索引那么相同的词就应该具有相同的索引,所以这里对于输入的文本还会进行一个去重的操作。此外,Vocab还想方便的获取给定某个词对应的索引,以及给定一个索引获取这个索引所对应的词。除了上面说的两个功能,还有一个就是统计了每一个词的词频。(所以练习题中的统计句子的长度就是错的,不是必须的)
    代码部分主要是由几个列表的复杂操作,理解了那几行代码,应该就能完全看懂代码在干什么了。
 
3、RNN网络(来自课程)
4、困惑度
posted @ 2020-02-14 20:04  haiyanli  阅读(175)  评论(0编辑  收藏  举报