Lingmoumou's Blog

きっといつかって愿うまま

0%

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

文本预处理

文本预处理步骤:
1.读取文本 2.分词 3.构建字典 建立索引
Vocab字典构建步骤:
1.统计词频,去重筛选掉低频词
2.根据需求添加特殊的token
3.建立字典,将每个token建立映射到唯一的索引
4.建立索引到token的映射

建立词典:
词典的主要作用是将每一个词映射到一个唯一的索引号,主要构建了一个idx_to_token列表来存储所有的词,一个token_to_idx来存储所有词的索引。
在实现的的流程上是:
对语料进行分词,生成一个token列表,里面包含了语料的分词结果
对分好的词统计词频,然后根据词频来构建词典(统计好的词频完成了去重的操作,同时也保留了词的频率,方便后续的操作)
其中有一些名词的作用是视频里提出来的
pad的作用是在采用批量样本训练时,对于长度不同的样本(句子),对于短的样本采用pad进行填充,使得每个样本的长度是一致的
bos( begin of sentence)和eos(end of sentence)是用来表示一句话的开始和结尾
unk(unknow)的作用是,处理遇到从未出现在预料库的词时都统一认为是unknow ,在代码中还可以将一些频率特别低的词也归为这一类

  1. 建立字典,设置阈值
  2. 去重筛选词,特殊需求token
  3. count_corpus统计词频,得到counter
  4. 增删,利用空列表
    • pad:二维矩阵长度不一,短句子补token利用pad
    • bos:开始token
    • eos:结束token
    • unk:未登录词当作unk
  5. 词到索引号

语言模型

循环神经网络基础