语言模型

语言模型:

  语言模型是自然语言处理中的重要技术,其描述的是一段话的流畅度,给定一个一个长度为 T 的词的序列w1、w2、.....、wt,语言模型将计算该序列的概率:

  语言模型可用于提升语音识别和机器翻译的性能。例如,在机器翻译中,如果对英文 “ you go first ” 逐词翻译成中文的话,可能得到 “ 你先走 ” 、“ 你走先 ” 等排列方式的文本序列。如果语言模型判断 “ 你先走 ” 的概率比较大,我们就把 “ you go first ”翻译成 “ 你先走 ”。 或者在语音识别中,给定一段 “ 厨房中里食油用完了 ” 的语音,有可能会输出 “ 厨房里食油用完了 ” 和 “ 厨房里石油用完了 ”  这两个读音完全一样的文本序列,如果前者的概率大于后者,我们就取概率大的那句话。

语言模型的计算:

  假设序列w1、w2、.....、wt中的每个词是依次生成的,我们有:

  为了计算语言模型,我们需要计算语言模型的概率,以及一个词在给定前几个词的情况下的条件概率,即语言模型参数。假设训练数据集为一个大型文本语料库,词的概率可以通过该词在训练数据集中的相对词频来计算,例如,P(w1)可以计算为w1在训练数据集中的词频与训练数据集的总词数之比。因此,一个词在给定前几个词的情况下的条件概率也可以通过训练数据集中的相对词频来计算。

n源语法:

当序列长度增加是,计算和存储多个词共同出现的概率的复杂度会成指数级增加。n元语法通过马尔可夫假设简化了语言模型的计算。这里的马尔科夫假设是指一个词的出现只与前面 n 个词相关,即隐马尔可夫链,我们可以将语言模型改写为:

例如长度为 4 的序列w1、w2、w3、w4 在一元语法、二元语法和三元语法中的概率分别为:

 

posted @ 2019-04-13 13:05  胡~萝~卜  阅读(533)  评论(0编辑  收藏  举报