前面几个小节已经介绍了RNN和LSTM模型等等,在最先谈到RNN模型的时候我们就说过,RNN模型应用最广的领域就是自然语言处理(NLP)领域。从今天开始我们简单介绍语言模型。
语言模型
语言模型,即针对某种语言给定句子们分配概率值的任务,或者针对一串单词后跟一个词或者词串的可能性分配概率值的任务,实际这两个任务是等价的,可转换。语言模型在机器翻译和自动语音识别中具有重要作用,即对系统产生的多个翻译或者转录假设进行评分形式上,语言模型的任务是针对任意序列的词串分配概率,利用概率的链式规则,可写作:
从上面的式子可以看出,语言模型就是用来判断一个句子的合理性的置信度,最经典的就是N-gram语言模型和NNLM(Nerual Network LanguageModel)神经网络语言模型。例如在机器翻译中,我们就要通过对第一个单词的翻译出的结果去推断下一个单词翻译出来的意思。
N-gram模型
为了解决自由参数数目过多的问题,引入了马尔科夫假设:第n个词出现的概率只与它前面出现的有限的n-1个词有关。基于上述假设的统计语言模型被称为N-gram语言模型。上面的公式可以近似:
通常情况下,n的取值不能够太大,否则自由参数过多的问题依旧存在:(1)当n=1时,即一个词的出现与它周围的词是独立,这种我们称为unigram,也就是一元语言模型,此时自由参数量级是词典大小V。&