语言模型技术广泛应用于语音识别、OCR、机器翻译、输入法等产品上。语言模型建模过程中,包括词典、语料、模型选择,对产品的性能有至关重要的影响。语言模型的建模需要利用复杂的模型公式进行模拟计算,是人工智能领域的关键技术之一。

1. 语言模型的背景

语言模型是针对某种语言建立的概率模型,目的是建立一个能够描述给定词序列在语言中的出现的概率的分布。给定下边两句话:

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

代时人机器定义引擎的大脑,生活让更便捷,有趣更,安更全。

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

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

2. 语言模型的技术难点

语言模型的性能,很大程度上取决于语料的质量和体量。和特定任务匹配的大语料,永远是最重要的。但是实际应用中,这样的语料往往可遇不可求。

传统的ngram建模技术,对长距离的依赖处理的欠佳。如工业界常用的四元模型,即当前词的概率,只依赖三个历史词。因此,更远距离的历史词在建模中,没有对当前词概率产生影响。

此外,ngram模型建模的参数空间过于庞大。同样以四元模型为例,词典大小为V,参数空间就是。实际应用中V大小为几万到几百万,可想而知,参数空间有多大。在这样的参数规模下,多大的数据显得都有些稀疏。

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

3. Ngram语言模型

如上所说,ngram语言模型是应用最常见的语言模型。它采用了n元依赖假设,即当前词的概率,只依赖于前n-1个词。即

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

这种估计理解起来比较简单,即当前历史词下出现当前词,占当前历史词下出现所有可能词的比重。然而这种估计方法,会遇到我们上述提到的参数空间过大的问题。语料中不可能覆盖个估计场景,肯定会有很多零点,如果使用最大似然,最后很多句子的概率都会是0,这会导致ngram基本不可用。

4. 平滑技术

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

平滑理解起来很简单,就是把概率高的文法进行折扣,折扣出来的概率分给低概率的文法,即“劫富济贫”。以下图为例,即将w1到w4的概率,分给w5到w10。

加一平滑是最简单的平滑算法,可以帮助我们理解平滑的本质。所有的文法的频次都加1,这样就不存在概率为0的文法了。反之,高频词文法的概率得到了一定程度的降低。

5. 语言模型的评价指标

交叉熵和困惑度是用来评估语言模型最重要的两个指标。

交叉熵(cross entropy)的定义来自预测概率与压缩算法的关系,给定语言模型下可以得到一个压缩算法,对一个概率为p(s)的句子,用-p(s)bits保存该句子。交叉熵可以理解为,在给定语言模型下的压缩算法,对句子中每个词需要的平均bits数。

交叉熵一般用下面的公式计算,m为概率p的模型:

这个值即为困惑度(ppl)。从直觉上,我们可以把困惑度理解为在随机实验中选择随机变量的加权平均数。越小的困惑度对应一个越好的语言模型,语言模型的预测能力越强。

此外,实际产品中的性能,如语音识别中的字错误率,输入法中的句准确率等,也是衡量模型好坏的标准。

6. 语言模型技术的最新进展

语言模型的最新进展,主要集中在神经网络的应用上。Bengio最早提出nnlm,将几个历史词拼在一起作为输入,将当前词放在输出层作为目标。为了解决词典的高维数问题,nnlm利用了映射层,对输入进行降维。Nnlm属于连续型模型,自带平滑,对相同的词历史有一定的聚类功能,一定程度上增加了模型的鲁棒性。如果和ngram模型进行融合,实验中会获得进一步的提升。

因Rnn在序列建模上有很大的优势,Mikolov在nnlm上的基础上,提出了rnnlm。Rnnlm将词历史抽象成一个state,降低了输入维数。此外,为了解决输出维数,将输出层的词进行聚类,通过因式分解,降低了计算复杂度。

Mikolov的rnnlm之后,lstm、cnn在语言模型上也有研究陆续在跟进。此外,在输入层,引入语义特征,也会带来性能的提升。语言模型作为语音识别、OCR、输入法等产品中的重要模型,未来如何融合语义和产品、提升用户体验,我们充满期待。

原文连接

语音识别语言模型介绍相关推荐

  1. 语音识别声学模型介绍

    关于声学模型,主要有两个问题,分别是特征向量序列的可变长和音频信号的丰富变化性.可变长特征向量序列问题在学术上通常有动态时间规划(Dynamic Time Warping, DTW)和隐马尔科夫模型( ...

  2. 人工智能:语音识别技术介绍

    ❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#.Java开发九年,对数据库.C#.Java.前端.运维.电脑技巧等经验丰富. ❤️个人荣誉: 数据库领域优质 ...

  3. 语音识别中的WFST和语言模型

    导读 在语音识别系统中,有限加权状态转换机(Weighted Finite State Transducers, WFST)扮演着重要角色.本文主要介绍发音词典.语言模型和WFST的原理,以及在实践过 ...

  4. 语音识别一、语音识别介绍

    语音识别就是将包含文字信息的语音通过计算机转化成文字的过程,也叫语音转写,英文叫automatic speech recognition(ASR)或者 speech to text(STT),语音识别 ...

  5. 语言模型自然语言处理[置顶] 哥伦比亚大学 自然语言处理 公开课 授课讲稿 翻译(四)...

    每日一贴,今天的内容关键字为语言模型自然语言处理 媒介:灵机一动看了一个自然语言处理公开课,大牛柯林斯讲解的.认为很好,就自己动手把它的讲稿翻译成中文.一方面,希望通过这个翻译过程,让自己更加理解大牛 ...

  6. 一文读懂“大语言模型”

    1.背景 本文基于谷歌云的官方视频:<Introduction to Large Language Models> ,使用 ChatGPT4 整理而成,希望对大家入门大语言模型有帮助. 本 ...

  7. [我们是这样理解语言的-2]统计语言模型

    [我们是这样理解语言的-2]统计语言模型 2015/02/28 搜索技术.自然语言处理 LM.n-gram.NLP.统计语言模型.自然语言处理.语言模型 fandywang 记得最早学习语言模型是在研 ...

  8. python androidhelper 语音识字_Android语音播报、后台播报、语音识别

    Android语音播报.后台播报.语音识别 本文介绍使用讯飞语音实现语音播报.语音识别功能. 程序效果图: 简单的XML布局 xml version="1.0" encoding= ...

  9. 深入浅出讲解语言模型

    转载自  深入浅出讲解语言模型 深入浅出讲解语言模型 1.什么是语言模型呢? 简单地说,语言模型就是用来计算一个句子的概率的模型,也就是判断一句话是否是人话的概率? 那么如何计算一个句子的概率呢?给定 ...

  10. 教你在win10系统开启和使用语音识别

    Win10系统怎么开启语音识别?win10系统怎么使用语音识别?win10怎么关闭语音识别?win10的语音识别功能经过微软长时间的开发,在win10系统中已经能准确识别了.那么在win10系统中,如 ...

最新文章

  1. ORB_SLAM2代码阅读(1)——系统入口
  2. 总结三种 MySQL 大表优化方案
  3. XML(一)XML大揭秘
  4. 源码mysql5.7安装过程_mysql5.7 源码安装步骤
  5. brew 安装软件能指定文件夹吗_Mac下Homebrew安装的软件放在什么地方
  6. Java进阶:SpringMVC文件上传
  7. java动态代理_Java核心 -- 动态代理
  8. python爬取天天基金网_Python爬虫日记二:爬取天天基金网
  9. Matlab 多项式展开或化简(即提取公因式
  10. SpringCloud 配置管理:Nacos
  11. 看董事长陈睿11周年演讲,一起了解B站未来的三个使命吧
  12. 全面解析Linux 内核 3.10.x - Device Tree 详解
  13. 【华人学者风采】胡事民 清华大学
  14. 如果实现类似微信附近的人功能
  15. Google Chrome浏览器字体模糊不清
  16. IPD管理体系中的产品和技术研发执行团队
  17. LattePanda入手笔记
  18. 决策树(2.回归树)
  19. STC15系列单片机与 OV7670 SCCB通讯
  20. hdu 1541 树状数组版)——咯咯

热门文章

  1. 调用JS函数的内部函数
  2. 鼠标不能动怎么选择计算机,鼠标动不了怎么办 电脑鼠标不动了按什么键
  3. 00_51入门知识积累__焊接器件
  4. 解决在ajax回调函数中循环遍历data数组无法获取数组下标为0之后的重复数据的问题
  5. 全国各地电信DNS服务器地址:
  6. 东西向流量/南北向流量
  7. 怎样去除抖音短视频的水印,快速去除视频水印的方法
  8. win2008虚拟化服务器配置,Win2008虚拟化实战之创建虚拟机
  9. IDS与IPS的区别是什么?
  10. 浅谈渗透中的黑盒测试白盒测试