博舍

语音识别 自然语言处理 人工智能语音技术就是自然语言处理技术吗对吗

语音识别 自然语言处理

参考:《中文信息处理发展报告2016》

什么是语音识别?

语音识别(AutomaticSpeechRecognition,ASR):利用计算机实现从语音到文字自动转换的任务。

语音识别的技术有哪些?

语音识别技术=早期基于信号处理和模式识别+机器学习+深度学习+数值分析+高性能计算+自然语言处理

语音识别技术的发展可以说是有一定的历史背景,上世纪80年代,语音识别研究的重点已经开始逐渐转向大词汇量、非特定人连续语音识别。到了90年代以后,语音识别并没有什么重大突破,直到大数据与深度神经网络时代的到来,语音识别技术才取得了突飞猛进的进展。

语音识别的相关领域有哪些?

语音识别关联领域=自然语言理解+自然语言生成+语音合成

语音识别的社会价值在哪里?

   语音信号是典型的局部稳态时间序列,而日常所见的大量信号都属于这种局部稳态时间序列信号,如视频,雷达信号,金融资产价格,经济数据等。这些信号的共同特点是在抽象的时间序列中包含大量不同层次的信息,可以用相似的模型进行分析。

   历史上,语音信号的研究成果在若干领域起到启发作用,如语音信号处理中的隐马尔科夫模型在金融分析,机械控制等领域都得到广泛的应用。近年来,深度神经网络在语音识别领域的巨大成功直接促进了各种深度学习模型在自然语言处理,图形图像处理,知识推理等众多领域的发展应用,取得了一个有一个令人惊叹的成果。

怎么构建语音识别系统?

语音识别系统构建总体包括两个部分:训练和识别。

训练通常来讲都是离线完成的,将海量的未知语音通过话筒变成信号之后加在识别系统的输入端,经过处理后再根据语音特点建立模型,对输入的信号进行分析,并提取信号中的特征,在此基础上建立语音识别所需的模板。

识别则通常是在线完成的,对用户实时语音进行自动识别。这个过程又基本可以分为“前端”和“后端”两个模块。前端主要的作用就是进行端点检测、降噪、特征提取等。后端的主要作用是利用训练好的“声音模型”和“语音模型”对用户的语音特征向量进行统计模式识别,得到其中包含的文字信息。

语音识别技术中的关键问题是什么?

语音特征抽取

   语音识别的一个主要困难在于语音信号的复杂性和多变性。一段看似简单的语音信号,其中包含了说话人、发音内容、信道特征、口音方言等大量信息。不仅如此,这些底层信息互相组合在一起,又表达了如情绪变化、语法语义、暗示内涵等丰富的高层信息。如此众多的信息中,仅有少量是和语音识别相关的,这些信息被淹没在大量其它信息中,因此充满了变动性。语音特征抽取即是在原始语音信号中提取出与语音识别最相关的信息,滤除其它无关信息。

   语音特征抽取的原则是:尽量保留对发音内容的区分性,同时提高对其它信息变量的鲁棒性。历史上研究者通过各种物理学、生理学、心理学等模型构造出各种精巧的语音特征抽取方法,近年来的研究倾向于通过数据驱动学习适合某一应用场景的语音特征。

 

模型构建

   语音识别中的建模包括声学建模和语言建模。声学建模是对声音信号(语音特征)的特性进行抽象化。自上世纪70年代中期以来,声学模型基本上以统计模型为主,特别是隐马尔科夫模型/高斯混合模型(HMM/GMM)结构。最近几年,深度神经网络(DNN)和各种异构神经网络成为声学模型的主流结构。

 

声学模型需要解决如下几个基本问题:如何描述语音信号的短时平稳性;

如何描述语音信号在某一平稳瞬态的静态特性,即特征分布规律;

如何应用语法语义等高层信息;

如何对模型进行优化,即模型训练。

同时,在实际应用中,还需要解决众多应用问题,例如:

如何从一个领域快速自适应到另一个领域;

如何对噪音、信道等非语音内容进行补偿;

如何利用少量数据建模;

如何提高对语音内容的区分性;

如何利用半标注或无标注数据,等等。语言建模是对语言中的词语搭配关系进行归纳,抽象成概率模型。这一模型在解码过程中对解码空间形成约束,不仅减小计算量,而且可以提高解码精度。传统语言模型多基于 N元文法(n-gram),近年来基于递归神经网络(RNN)的语言模型发展很快,在某些识别任务中取得了比n-gram模型更好的结果。

 

语言模型要解决的主要问题是如何对低频词进行平滑。不论是n-gram模型还是RNN模型,低频词很难积累足够的统计量,因而无法得到较好的概率估计。平滑方法借用高频词或相似词的统计量,提高对低频词概率估计的准确性。除此之外,语言建模研究还包括:

如何对字母、字、词、短语、主题等多层次语言单元进行多层次建模

如何对应用领域进行快速自适应;

如何提高训练效率,特别是对神经网络模型来说,提高效率尤为重要;

如何有效利用大量噪声数据,等等。

 

解码

   解码是利用语音模型和语言模型中积累的知识,对语音信号序列进行推理,从而得到相应语音内容的过程。早期的解码器一般为动态解码,即在开始解码前,将各种知识源以独立模块形式加载到内存中,动态构造解码图。现代语音识别系统多采用静态解码,即将各种知识源统一表达成有限状态转移机(FST),并将各层次的FST嵌套组合在一起,形成解码图。解码时,一般采用Viterbi算法在解码图中进行路径搜索。为加快搜索速度,一般对搜索路径进行剪枝,保留最有希望的路径,即束搜索(beamsearch)。

对解码器的研究包括但不限于如下内容:

如何加快解码速度,特别是在应用神经网络语言模型进行一遍解码时;

如何实现静态解码图的动态更新,如加入新词;

如何利用高层语义信息;

如何估计解码结果的信任度;

如何实现多语言和混合语言解码;

如何对多个解码器的解码结果进行融合。

 

AI技术之三:语音识别&翻译&自然语言处理

当前技术:★★★★✰未来潜力:★★★✰✰应用落地:★★★★✰

语音识别,翻译和自然语言处理其实是三种技术,但由于在场景中经常混用,放在一起更合适一点。

语音识别

语音识别领域在机器学习算法前已经取得了巨大的进步。主要采用统计模式识别技术,涉及的技术包括还包括发声机理,听觉机理,信号处理,概率论和信息论等等。

语音识别领域也曾一筹莫展,直到1952年AT&T贝尔实验室开发的Audrey语音识别系统通过跟踪语音中的共振峰的方法得到了98%的正确率。到1950年代末,伦敦学院(CollegeofLondon)的Denes已经将语法概率加入语音识别中。1960年代,人工神经网络被引入了语音识别。这一时代的两大突破是线性预测编码LinearPredictiveCoding(LPC),及动态时间规整DynamicTimeWarp技术。

语音识别技术的最重大突破是隐马尔科夫模型HiddenMarkovModel的应用。从Baum提出相关数学推理,经过Labiner等人的研究,卡内基梅隆大学的李开复最终实现了第一个基于隐马尔科夫模型的非特定人大词汇量连续语音识别系统Sphinx。此后严格来说语音识别技术并没有脱离HMM框架。

在这之后语音识别的主要进步是在应用方面,Siri系统,微信的语音转换都已经成为日常。

开放平台,语音识别的开放平台很多,几乎各大厂都有,另外科大讯飞的被人为是全套自主产权的专业语音识别系统。

翻译

机器翻译曾长久依赖是人们的梦想,最初的设想是简单的词汇逐词逐字翻译,类似使用一个词典并配以语法规则,语言学分析也曾经是翻译的一大流派,乔姆斯基的《句法结构》被认为是理论语言学的最大贡献。

当机器学习开始盛行开始,翻译问题也被简单粗暴的用大量数据的方式解决了。翻译算法主要使用RNN循环神经网络,RNN是神经网络中的一种,它擅长对序列数据进行建模处理。长短期记忆网络(LSTM)作为一种特殊的RNN,能帮助我们处理不能被先验知道的序列,并且能够学习长期性的依赖关系,是翻译最常使用的方式。

当前的技术是一个研究员可以很方便的制作自己的机器翻译机,使用序列到序列模型(也称为seq2seq),包括两个RNN,一个是处理输入的编码器网络,一个是产生输出的解码器网络。

翻译技术目前也已经成熟。结合语音识别,再加上电子合成音技术,就是微软曾经演示过的,使用skype不同语言者可以自由语音对话,效果惊人。

虽然说翻译技术成熟,在目前的机器学习道路下已经没有什么可以改进的了,但由于维特根斯坦指出的语言本身的问题,翻译不会"完美“。所以高水平的人工翻译还是需要,而且我们还是继续需要学外语。

自然语言处理NLP

自然语言处理是三个领域中最具潜力的,当然本身的含义也比较广,甚至是包括了如今的机器翻译的。

自然语言处理NLP的机器学习和下棋的机器学习不一样,下棋的机器学习更多关注算法本身,因为输入数据非常明确,就是棋子落在那里,结果就是赢或输,而且可以机器自对弈积累更多输入数据,但语言最终的判断还在人这里,并且有一定的模糊性。

所以包含在自然语言处理NLP的技术很多,数据输入阶段包括语言识别技术、OCR技术、分词技术等,语言初步处理包括上下文,语法,语义等分析,比如分析一个词(指英文词)的前后缀、词根等,从语法结构上(乔姆斯基的用上了)分析一个句子的构成,用语料库进行语义分析。自然语言处理NLP的应用无处不在,在使用语言作为主要交流的场景里,比如网络搜索、提取关键信息,情感分析,翻译,对话系统等,目前都有还不错的结果。

以上每种技术,每种方法,每个场景都有一些小窍门,可以花很久时间研究,有些已经成熟,有些尚有空间。甚至可能有一些数据预处理的方法我们还没有发现,算法这里我倒觉得不会有突破性进展了,都是小修小补,而场景上有非常大的拓展空间。

学习自然语言公认的是斯坦福的CS224N,由于自然语言处理NLP技术包含很多,每年如果是不同教授讲,内容差别挺大的。自然语言这块,我觉得最好从场景出发选技术,而不要想要把NLP所有技术都学会。

个人职业选择

目前语音识别的算法已经可以看作成熟,而且因为用统计方法实现,稳定性比机器学习算法好,不会受刻意设计的对抗样本攻击。因为能改进的方面有限,所以新进入语音识别领域做工程师并不是一个很好的选择。

但如果本行业中可能用到语音识别相关的能力,可以从语音识别开始学习和了解人工智能,设想一下新的应用场景,反正技术实现成本已经很低,很值得“玩”一下。

翻译领域类似,各大厂都有自己的翻译平台,技术可能有高低,但意义不大,而且还都是免费平台,对个人来说,选择这个领域的意义也不大。

但是自然语言处理还仍旧是很有潜力的,尤其是大厂把通用语言处理做的再好,我们依然可以为某个专门领域,专门场景设计自然语言处理器,而在商业环境中这往往是非常需要的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇