本文来自于网易云课堂
语言模型和序列
在NLP中,构建语言模型是最基础也是最重要的工作之一,并且能用RNN很好的实现。所以,什么是语言模型呢?语言模型所做的就是它会告诉你某个特定的句子出现的概率是多少。
那么如何建立一个语言模型呢?你首先需要一个训练集,包含一个很大的英文文本语料库或者其他的语言的语料库。语料库是NLP的一个专有名词,意思就是很长的或者说是数量众多的英文句子组成的文本。假如说你在训练集中得到这么一句话,“cats average 15 hours of sleep a day” ,你要做的第一件事就是将这个句子标记化,意思就是建立一个字典,然后将每个单词都转换成对应的one-hot向量,也就是字典中索引。可能还有一件事是要定义句子的结尾,一般的做法是定义一个额外的标记EOS,另外这里忽略了标点符号的标记。另外还有一个问题,如果你的训练集中有一些词并不在你的字典中,这种情况下你可以将其替换为UNK,其代表未知词的标记。完成标志化的句子以后,下一步我们要构建一个RNN来构建这些序列的概率模型。