本篇文章2115字,读完约5分钟

雷锋网注:曹立新,地平线机器人语音算法工程师。2011年7月毕业于哈尔滨工业大学计算机科学与技术专业,曾担任百度语音R&D高级工程师。负责百度的超大语言模型培训、语音交互技术研发,以及语音搜索、语音输入法、语音助手等产品的语音识别优化。现在Horizon负责语音识别、自然语言处理和其他相关技术算法的研究。

大牛讲堂 | 语音专题第二讲 语言模型技术

语言模型技术

语言模型技术广泛应用于语音识别、ocr、机器翻译、输入法等产品中。在语言建模过程中,包括词典、语料库和模型选择,它对产品性能有着至关重要的影响。语言模型的建模是人工智能领域的关键技术之一。

大牛讲堂 | 语音专题第二讲 语言模型技术

语言模型的背景

语言模型是某种语言的概率模型,其目的是建立一个概率分布来描述语言中给定单词序列的出现。给出以下两个句子:

大牛讲堂 | 语音专题第二讲 语言模型技术

“定义机器人时代的大脑引擎,让生活更加方便、有趣和安全。”

“现代机器定义了发动机的大脑,使生活更加方便、有趣和安全。”

语言模型会告诉你第一句话的概率更高,更像是“人类的语言”。

语言模型技术广泛应用于语音识别、ocr、机器翻译、输入法等产品中。在语言建模过程中,包括词典、语料库和模型选择,它对产品性能有着至关重要的影响。Ngram模型是最常用的建模技术,它采用马尔可夫假设,目前在工业上应用广泛。

大牛讲堂 | 语音专题第二讲 语言模型技术

语言模型的技术难点

语言模型的性能很大程度上取决于语料库的质量和容量。与特定任务相匹配的大型语料库始终是最重要的。然而,在实际应用中,这样的语料库往往是不可避免的。

大牛讲堂 | 语音专题第二讲 语言模型技术

传统的ngram建模技术在处理长距离依赖时效果不佳。例如,工业中常用的四元模型,即当前词的概率,只取决于三个历史词。因此,在建模中,距离较长的历史词对当前词的概率没有影响。

大牛讲堂 | 语音专题第二讲 语言模型技术

此外,ngram建模的参数空太大。以四元模型为例,字典大小为v,参数空为v4。在实际应用中,v的值是几万到几百万,因此可以想象空参数有多大。在这样的参数范围下,任何数据都有些稀疏。

大牛讲堂 | 语音专题第二讲 语言模型技术

近年来,神经网络语言模型技术在一定程度上解决了大参数空和长距离依赖的问题。此外,对于相似词,概率估计具有一定的平滑度,从另一个角度解决了数据稀疏的问题。然而,神经网络语言模型的缺点是训练时间长,在实际应用中查询速度慢,需要用硬件加速。

大牛讲堂 | 语音专题第二讲 语言模型技术

Ngram语言模型

如上所述,ngram语言模型是最常用的语言模型。它采用了n元素依赖的假设,即当前单词的概率只取决于前n-1个单词。那就是:

大牛讲堂 | 语音专题第二讲 语言模型技术

不考虑平滑,模型概率估计使用最大似然概率:

这种估计比较容易理解,即当前词出现在当前历史词下,占所有可能出现在当前历史词下的词的比例。然而,这种估计方法会遇到上述参数空太大的问题。不可能覆盖语料库中的虚拟场景估计,而且肯定会有许多零。如果使用最大似然,许多句子的概率将是0,这将使ngram基本上不可用。

大牛讲堂 | 语音专题第二讲 语言模型技术

平整法

平滑技术可以说是ngram应用的一个重要原因,它解决了大参数空和数据稀疏的问题。Katz平滑和kn平滑是工业应用中最常用的技术。

大牛讲堂 | 语音专题第二讲 语言模型技术

通顺的理解很简单,就是把概率高的语法打折,把打折的概率分配给概率低的语法,即“劫富济贫”。以下图为例,从w1到w4的概率被分配给w5到w10。

大牛讲堂 | 语音专题第二讲 语言模型技术

一加平滑是最简单的平滑算法,它可以帮助我们理解平滑的本质。所有语法的频率都增加了1,所以没有概率为0的语法。相反,高频词语法的概率在一定程度上降低了。

大牛讲堂 | 语音专题第二讲 语言模型技术

语言模型评价指标

交叉熵和混淆是评价语言模型的两个最重要的指标。

交叉熵的定义来源于预测概率和压缩算法之间的关系。在给定的语言模型下,可以得到一个压缩算法。对于有概率的句子,用比特保存句子。交叉熵可以理解为给定语言模型中的压缩算法对句子中每个单词所需的平均位数。

大牛讲堂 | 语音专题第二讲 语言模型技术

交叉熵通常通过以下公式计算,其中m是概率p的模型:

2h的值是混淆度(ppl)。凭直觉,我们可以将混淆程度理解为随机实验中随机变量的加权平均值。混淆程度越小,语言模型越好,语言模型的预测能力越强。

大牛讲堂 | 语音专题第二讲 语言模型技术

此外,实际产品的性能,如语音识别中的词错误率和输入法中的句子正确率,也是衡量模型质量的标准。

大牛讲堂 | 语音专题第二讲 语言模型技术

语言模型技术的最新发展

语言模型的最新发展主要集中在神经网络的应用上。Bengio首先提出了nnlm,将几个历史单词放在一起作为输入,将当前单词放在输出层作为目标。为了解决字典维数高的问题,nnlm使用映射层来降低输入的维数。Nnlm是一个连续的模型,有其自身的平滑性,对相同的词历史有一定的聚类功能,这在一定程度上增加了模型的鲁棒性。如果与ngram模型相结合,将在实验中得到进一步的改进。

大牛讲堂 | 语音专题第二讲 语言模型技术

由于rnn在序列建模方面有很大的优势,mikolov提出了基于nnlm的Rnnlm。Rnnlm将单词历史抽象成一个状态,这减少了输入维度。此外,为了求解输出维度,输出层中的单词被聚类和分解以降低计算复杂度。

大牛讲堂 | 语音专题第二讲 语言模型技术

在mikolov的rnnlm之后,lstm和cnn也对语言模型进行了研究。此外,在输入层引入语义特征也将提高性能。作为语音识别、ocr、输入法等产品中的重要模型,我们对未来如何将语义与产品相结合,提升用户体验充满期待。

大牛讲堂 | 语音专题第二讲 语言模型技术

雷锋。搜索“雷锋”。注:本文是由雷锋授权的。发布它。如需转载,请联系原作者,注明作者和来源,不要删除内容。如果你感兴趣,你可以关注公共地平线机器人技术,并获得最新消息。

来源:罗盘报中文网

标题:大牛讲堂 | 语音专题第二讲 语言模型技术

地址:http://www.lzn4.com/lpbxw/11771.html