浅论自动语音识别结构与原理
语音识别技术的原理及其实现方法

语音识别技术的原理及其实现方法语音识别技术是一种将人类语音转化为文字的技术,它正被越来越广泛地应用于智能助理、语音输入、自动翻译等领域。
本文将详细讨论语音识别技术的原理及其实现方法,以帮助读者更好地了解这一技术并掌握其应用。
一、语音识别技术的原理语音识别技术的原理可以分为三个主要步骤:信号处理、特征提取和模型匹配。
1. 信号处理:语音信号在传输过程中可能受到多种噪声的干扰,如环境噪声、话筒噪声等。
因此,首先需要对音频信号进行预处理,以提高识别准确率。
该步骤通常包括音频去噪、降噪、增强等技术。
2. 特征提取:在预处理后,需要对语音信号进行特征提取,即将连续的语音信号转换为更具区分度的特征向量。
常用的特征提取方法有MFCC (Mel Frequency Cepstral Coefficients)和PLP(Perceptual Linear Prediction)等。
这些特征提取方法通过对不同频率的声音进行分析,提取出语音信号的关键特征,如音高、音频的形态和时长等。
3. 模型匹配:在特征提取后,需要建立一个匹配模型,将特征向量与预先训练好的语音模型进行比对,以确定输入语音对应的文字内容。
常用的模型包括隐马尔可夫模型(HMM)和深度神经网络(DNN)等。
这些模型通过学习大量的语音样本,使模型能够根据输入的特征向量判断最有可能的文字结果。
二、语音识别技术的实现方法语音识别技术的实现需要借助特定的工具和算法。
以下是常用的语音识别技术实现方法:1. 基于统计模型的方法:该方法主要基于隐马尔可夫模型(HMM)和高斯混合模型(GMM)。
隐马尔可夫模型用于描述语音信号的动态性,而高斯混合模型则用于对特征向量进行建模。
这种方法的优点在于其模型简单,容易实现,但其处理长时语音和噪声的能力较弱。
2. 基于神经网络的方法:随着深度学习技术的发展,深度神经网络(DNN)成为语音识别领域的热门技术。
该方法使用多层神经网络模型来学习语音信号的特征表示和模式匹配。
自动语音识别原理

自动语音识别原理
自动语音识别是指通过计算机技术识别人类语音的能力。
它是目
前人工智能技术中的一个重要领域,主要应用于智能家居、语音助手、音频文本处理等方面。
自动语音识别的核心原理是信号处理和模式匹配。
首先,语音信
号从麦克风中采集,经过模拟数字转换器转化为数字信号。
这个数字
信号通过声学预处理、特征提取和声学模型匹配处理后,最终得到可
识别的文本结果。
在声学预处理阶段,语音信号被分割为小片段,每一段都对应一
个声音实例。
这些声音实例经过滤波和噪音消除后,再通过快速傅里
叶变换转换为频域信号。
接下来,语音信号被进一步处理,提取其能
够代表声音的特征,如梅尔频率倒谱系数、线性预测系数等。
特征提取完成后,语音信号需要经过声学模型匹配。
声学模型是
指通过训练,能够识别语音信号的算法。
常见的声学模型包括隐马尔
可夫模型和深度神经网络。
在匹配阶段,声学模型会将语音信号的特
征与自己的参考特征进行比对,从而得出最匹配的结果。
最后,通过文本输出模块将语音信号转化为识别文本。
这一模块
主要包括语音分辨率和语音输出,可以将语音转化为可读的文本格式。
总的来说,自动语音识别基于声学预处理、特征提取和声学模型
匹配等基本原理,结合一系列算法和模型,能够高效准确地识别语音
信号,并将其转化为可读的文本内容。
它的应用将给我们的生活带来
更多的便捷性和效率,让我们与计算机之间的交流更加自然和流畅。
人工智能语音识别工作原理

人工智能语音识别工作原理在当今数字化时代,人工智能技术正在以惊人的速度改变我们的生活,其中语音识别技术更是备受关注。
人工智能语音识别技术通过模拟人类的听觉系统,将人们的语音转化成可识别和理解的文本或命令。
本文将探讨人工智能语音识别的工作原理,并介绍其在不同领域的应用。
一、人工智能语音识别的基本原理人工智能语音识别系统主要由以下几个组成部分构成:1.语音输入设备:语音输入设备通常使用麦克风或其他录音设备来采集用户的语音输入。
它们将声音信号转换成数字信号,以便后续处理。
2.前端信号处理:在语音信号经过麦克风采集之后,语音信号会通过前端信号处理技术进行预处理。
这些技术包括降噪、增强语音信号等,以提高后续语音识别系统的性能。
3.特征提取:特征提取是语音识别的核心步骤。
通过数学算法,将语音信号转化为一种能够表示声音特征的数字信号。
常用的特征提取方法包括Mel频率倒谱系数(MFCC)和线性预测编码(LPC)等。
4.声学模型训练:声学模型是语音识别的关键组成部分,它通过训练算法从大量带有标注的语音数据中学习声学特征与对应文本之间的关系。
常见的声学模型包括隐马尔可夫模型(HMM)和深度神经网络(DNN)等。
5.语言模型训练:语言模型用于对转写结果进行进一步的校正和优化。
语言模型可以根据语言的规则和概率进行文本的解码和编码,以提高语音识别的准确性。
常见的语言模型包括N-gram模型和循环神经网络语言模型(RNNLM)等。
6.识别解码:在识别解码阶段,系统会根据声学模型和语言模型对特征进行解码和综合分析。
通过比对不同可能的文本候选,系统选择最有可能的识别结果输出。
二、人工智能语音识别的应用领域1.智能助理:人工智能语音识别技术在智能助理中得到广泛应用。
用户可以通过简单的语音命令与助理进行互动,查询天气、播放音乐、发送短信等。
语音交互的便利性使得人们可以更加自然地与智能设备进行沟通。
2.智能家居:人工智能语音识别技术也可以应用于智能家居领域。
语音识别技术原理详解

语音识别技术原理详解在人工智能快速发展的今天,语音识别开始成为很多设备的标配,语音识别开始被越来越多的人关注,国外微软、苹果、谷歌、nuance,国内的科大讯飞、思必驰等厂商都在研发语音识别新策略新算法,似乎人类与语音的自然交互渐行渐近。
我们都希望像《钢铁侠》中那样智能先进的语音助手,在与机器人进行语音交流时,让它听明白你在说什么。
语音识别技术将人类这一曾经的梦想变成了现实。
语音识别就好比“机器的听觉系统”,该技术让机器通过识别和理解,把语音信号转变为相应的文本或命令。
语音识别技术,也被称为自动语音识别AutomaTIc Speech RecogniTIon,(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。
与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。
下面我们来详细解读语音识别技术原理。
一:语音识别技术原理-语音识别系统的基础单元语音识别是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。
语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。
语音识别是一门涉及面很广的交叉学科,它与声学、语音学、语言学、信息理论、模式识别理论以及神经生物学等学科都有非常密切的关系。
语音识别技术正逐步成为计算机信息处理技术中的关键技术,语音技术的应用已经成为一个具有竞争性的新兴高技术产业。
语音识别系统本质上是一种模式识别系统,包括特征提取、模式匹配、参考模式库等三个基本单元,它的基本结构如下图所示:未知语音经过话筒变换成电信号后加在识别系统的输入端,首先经过预处理,再根据人的语音特点建立语音模型,对输入的语音信号进行分析,并抽取所需的特征,在此基础上建立语音识别所需的模板。
而计算机在识别过程中要根据语音识别的模型,将计算机中存放的语音模板与输入的语音信号的特征进行比较,根据一定的搜索和匹配策略,找出一系列最优的与输入语音匹配的模板。
人工智能语音识别工作原理

人工智能语音识别工作原理随着人工智能技术的不断发展,语音识别作为一种智能化的交互方式,已经广泛运用于我们的日常生活中。
从智能助手到语音控制设备,语音识别的出色表现给人们带来了便利和创新。
本文将深入探讨人工智能语音识别的工作原理,揭示其背后的奥秘。
一、语音信号的采集与预处理语音识别的第一步是采集语音信号。
通常情况下,语音信号直接通过麦克风进行采集。
随后,采集到的语音信号会经过预处理的步骤,目的是为了降噪和增强语音特征。
预处理的过程中,会利用滤波器来滤除环境噪音,并进行声学特征提取,以便后续的模式匹配。
二、声学模型的训练与使用声学模型是语音识别的核心组成部分,其主要任务是将输入的声学特征与对应的文字进行匹配。
声学模型的训练通常使用监督学习的方法,通过大量的语音样本和对应的文本标注进行训练。
在训练过程中,模型会学习到不同声音单位(如音素、音节、单词)的声学特征表示。
三、语言模型的建立与优化语言模型是语音识别中的另一个重要组成部分,其作用是对声学模型输出的候选词进行筛选,以便得到最准确、最合理的语义结果。
语言模型通常基于大规模的语料库进行训练,通过统计语言学的方法建立一定的语法和语义模型。
为了提高识别精度,研究人员还会对语言模型进行优化,加入更多领域特定的语义信息。
四、后处理与结果优化在语音识别的结果输出之后,还需要进行后处理和结果优化的步骤,以确保最终输出的文本质量。
后处理过程中,可能包括错误修正、断句、标点符号添加等操作,以提高识别结果的可读性和准确性。
五、深度学习在语音识别中的应用近年来,深度学习在语音识别领域取得了巨大的成功。
深度学习模型能够自动提取语音信号的高级特征,大大优化了声学模型和语言模型的性能。
基于深度学习的语音识别系统,凭借其卓越的性能和可扩展性,正在逐渐成为主流。
总结:人工智能语音识别的工作原理是基于声学模型和语言模型的协同作用。
声学模型负责将采集到的语音信号转换为文字,而语言模型负责对候选结果进行筛选和优化。
语音识别算法原理及其实现方法

语音识别是一种技术,它能够把人类语音转化为文字或指令,用于控制设备、发送信息或者实现其他功能。
这种技术被广泛应用于许多领域,包括语音助手、自动翻译、远程控制等。
下面我们来介绍语音识别算法的基本原理以及实现方法。
一、语音识别算法原理语音识别算法的主要原理是通过音频信号处理技术,提取出语音信号中的特征,并将其与已知的语音模式进行比较,以识别出说话者的意图。
主要步骤包括特征提取、声学模型建立、声学模型匹配和结果输出。
1. 特征提取:首先需要对语音信号进行特征提取,将语音信号转换为便于处理的数学特征。
常见的特征包括短时傅里叶变换(STFT)、梅尔频率倒谱系数(MFCC)等。
2. 声学模型建立:接下来建立声学模型,也就是从已知的语音样本中学习语音的模式。
常见的声学模型有隐马尔科夫模型(HMM)和深度学习模型等。
3. 声学模型匹配:通过声学模型匹配,将提取的特征与声学模型进行匹配,以确定语音的类别。
4. 结果输出:根据匹配结果输出相应的指令或信息。
二、语音识别算法实现方法实现语音识别算法的方法有很多种,其中比较常见的方法包括基于传统算法的方法和基于深度学习的方法。
1. 基于传统算法的方法:这种方法通常使用声学模型和语言模型进行语音识别。
首先,使用声学模型对输入的语音信号进行特征提取和匹配,然后使用语言模型对匹配结果进行解释和输出。
这种方法需要大量的手工标记数据和专业知识,但实现简单,性能稳定。
2. 基于深度学习的方法:近年来,深度学习在语音识别领域得到了广泛应用。
基于深度学习的方法通常使用深度神经网络(DNN)或循环神经网络(RNN)进行特征学习和建模。
这种方法需要大量的无标注数据,但性能通常优于传统方法,并且具有自学习能力。
在实际应用中,我们通常会结合传统方法和深度学习方法,以提高语音识别的准确性和效率。
此外,为了提高语音识别的性能,我们还可以使用一些优化技术,如降噪、回声消除、声学模型参数优化等。
总的来说,语音识别算法的实现需要深入理解算法原理和实现方法,同时需要大量的数据和计算资源。
语音识别技术的原理与应用

语音识别技术的原理与应用随着科技的快速发展,各种智能设备已经成为我们日常生活中不可或缺的一部分。
其中,语音识别技术是最为常见和普及的一种,它也被广泛用于智能音箱、智能手机等设备上,为人们提供了更加便捷和自然的交互方式。
那么,语音识别技术是如何实现的呢?本文将探讨语音识别技术的原理与应用。
一、语音识别技术的原理语音识别指的是将人类语言转换为机器可识别的文字,这个过程涉及到信号处理、语音特征提取、模型训练和识别等多个环节。
语音识别技术的原理可以简单地概括为以下几个步骤:1. 音频输入语音识别系统的输入是人类语言的音频信号,它可以来自于录音机、麦克风、手机等各种设备。
在信号输入之前,通常需要进行一些前置处理,如去除噪声、降低回声等。
2. 特征提取语音识别系统会将音频信号进行分帧,在每一帧内提取出大量特征,如频域特征、时域特征、梅尔频率倒谱系数(Mel-frequency cepstral coefficients,简称MFCC)等。
这些特征可以反映出语音信号的频率、能量、语调等信息。
3. 模型训练语音识别系统会将上一步得到的特征作为输入,通过机器学习的方法来训练模型。
训练模型需要使用大量的语音数据集,并将其标记为文字,以便机器能够识别出与之对应的语音信号。
主要的机器学习方法包括隐马尔可夫模型(Hidden Markov Model,HMM)、神经网络等。
4. 语音识别在模型训练完成后,语音识别系统就可以将输入的语音信号转化为对应的文字输出。
这个过程通常被称为解码。
根据不同的应用场景,解码所采用的方法也不同,如基于贪心算法的动态时间规整法(Dynamic Time Warping,DTW),基于搜索空间的维特比算法等。
二、语音识别技术的应用语音识别技术的应用非常广泛,在各个领域都有所涉及。
以下是一些例子:1. 语音助手语音助手是语音识别技术最为常见的应用之一。
通过与智能设备对话,用户可以用自然语言控制设备的各项功能,如播放音乐、查询天气、发送短信等。
语音识别技术的工作过程及原理

语音识别技术的工作过程及原理一、语音识别技术工作过程:1.取词:语音识别的第一步是读入语音信号,然后分析出语音中的词语,即取词。
所谓取词,是指从语音信号中检测出声音特征边界处的词组,把该词语获得和存储,以便接下来的处理。
2.特征提取:语音识别系统需要对获得的语音信号进行处理,以提取出语音特征值,这一步称为特征提取。
语音特征提取的过程主要是利用声学模型对语音信号进行分析,从而把语音信号转变成一系列可计算的数值特征,即语音特征值。
3.模型匹配:模型匹配是指根据语音识别系统构建的参考模型,将从输入的语音信号中提取出的语音特征与参考模型的特征进行比较,以确定输入的语音参数与参考模型相似程度的过程。
4.输出识别结果:通过上述步骤,识别系统选出了参考模型中与输入的语音参数最接近的模型,将参考模型的参数值作为输出的识别结果。
二、语音识别技术原理:语音识别技术的原理基于信号处理技术,用于识别发音的语音,其原理是将输入的语音进行分析,并把它转换成具有特征的数字序列,然后与参考模型进行比较,从而判断出输入的语音到底是什么。
在语音识别过程中,将输入的语言转换成特征值,有以下几步:预处理、声学建模、语义分析、数字化以及矩阵操作等。
(1)预处理:语音信号通常由直流信号和抖动信号构成,一般需要去除直流信号,根据抖动信号的振幅和频率特性,通过波形分析、频谱分析、统计特性等方法,对语音进行特征分析。
(2)声学建模:声学建模是语音识别研究的核心,它是使用具有特定的声学参数构建参考模型的过程,在语音的特征提取过程中,需要使用描述语音的参数模型,它的作用是把输入的语音信号转换成数字参数,并将其存储到参考模型中。
(3)语义分析:语义分析主要是根据输入的语音信号及参考模型,通过统计技术与语言学分析,对输入的语音信号进行分析,以确定输入语音的语义,从而为输入的语音语句找到正确的含义。
(4)数字化:数字化是把输入的语音信号转换成表示语音各个特征的矢量的过程,此类矢量可以用来表示语音特征,而且便于计算机的运算处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅论自动语音识别结构与原理发表时间:2018-12-05T13:30:59.817Z 来源:《科技新时代》2018年10期作者:黄淑彤[导读] 自动语音识别(Automatic Speech Recognition)简称ASR是目前属于AI领域的一项十分重要的技术,伴随着人工智能的高速发展,智能化生活走向主流,ASR技术已经走进了人们的生活中的方方面面。
学校:当阳市第一高级中学,学校地址:湖北省宜昌市,学校邮编:444100 摘要;自动语音识别(Automatic Speech Recognition)简称ASR是目前属于AI领域的一项十分重要的技术,伴随着人工智能的高速发展,智能化生活走向主流,ASR技术已经走进了人们的生活中的方方面面。
先简要介绍了语音识别的发展、语音信号的接收,再重点阐述了ASR运行过程中相关的原理及方法和与ASR技术的基本算法使用语音信号的处理涉及的三大算法即朴素模式算法,KMP算法,及HMM算法。
关键词; 自动语音识别;人工智能;语音识别涉及的三大算法 1.语音识别系统的发展历程语音即声音,自动语音识别(ASR) 简言之就是:听到人类发出的语音指令后,计算机通过将声音中包含的信息转化为的一系列计算机可理解的参数,之后再进行处理,做出人类所需要的反应的一种智能技术[1]。
为了在与计算机交互时同与人类说话一样容易,科学家做出了巨大努力。
其中历史性的两大里程碑事件一是戴维斯实验室研发的英文十英文字符语音参数实验系统,二是毕业于卡内基梅隆大学的李开复开拓出了容纳更广的词汇量的语音识别系统sphinx,还为此前种种难题,如不间断语音非特定人语音、声线不平、语音信息模糊等问题提供了解决方案,从此成为如今大多数进入语音识别领域的工作者的必备知识[1]。
追根朔源语音识别是从贝尔发明电话时期初露锋芒的,伴随着1876年电话的发明,语音识别的一系列有关声音的参数如声带振动的频率,振幅,声速等相关影响因素都被予以高度关注及探索,从此为语音研究铺下了良好的基础[1]。
紧随其后的是诞生于1946年的计算机,它开创了电子信息新时代,随着计算机发展愈加完善,该技术成为语音识别进步的巨大动力[1]。
语音识别的原理是离不开模型的,譬如声学模型,语言模型,概率模型等都是语音识别时的工具,这就如同一串拼音对应多个词组一样,我们要在一段语音中找到概率最大的音频,则需要一些算法来得到转化后的可懂序列[3]。
这个过程涉及到一些数据信息的获取和处理,具体技术即下文介绍的语音信号接收操作及三大算法。
2.语音信号接收作为技术突破的第一步,语音信号的接收是最先发展和突破的,在历史上探索历程也是最漫长的,整个操作过程有重要的两步,即静音切除和分帧操作。
2.1 静音切除静音切除是与语音有关的必要部分比如声码器,声码器在军事领域运用最为广泛,其工作原理是通过声音震动带来的频率变化转化为数字信号,其中只保留必要的关键词,剪切掉的多余部分作为推测信号会在释放时被重新填补,再通过力传感器产生同按键生压一样的效果,解放双手就能做到发出准确的指令[2][5]。
但如果一段音频的时间过长,那么收集其声音参数形成的数据就会很大,这时切除无用信号就显得尤为重要,静音切除用到的基本技术是VAD(virtural address descripter),它的工作原理是在虚拟的语音环境中识别出指令者声音信息流的停顿空白期,这一段并不含信息源,完全可省略,同开头结尾部分文件头一起还原语音时,与有用信息一起通过语音分组待还原[3][5]。
2.2分帧操作分帧操作首先是为了分辨频率信号的分布情况,其次是对语音信号进行隔离,一段一段的语音分成组累叠储存比一整段数据携带更为方便,也能够使运作效率提高。
而分帧操作时使用的必须是一段平稳清晰的声音帧,为了分清各个频率情况的分布,这里要用到“傅里叶变换”,结合窗函数,收集一系列经过函数加工后得到的声音参数比如声速、声波频率、振幅、声波的波峰波谷等音频信号,利用移动窗函数给各帧函数确定下坐标参数。
这里的傅里叶变换是指将满足一定条件的某个函数表示成三角函数,正弦余弦函数等一系列普通可懂函数,之后在同一些积分线性函数相组合结合。
从而提高分辨率,两边的幅度下降之后,确定下了秒数之后就可以开始变换了[3]。
3.语音识别的核心三大算法模式匹配即匹配字符串(一串字符序列),在主串(比对串)中对子串(待匹配串)进行定位,其实串在计算机是凭借各字符在字符表中的前后位置顺序进行比较的,常用字符也是指对应字符在对应字符集中的序号,正如语音识别中模式匹配需要找到对应格式,字串也要找到指定位置,再填补,增删之后才可使用[6]。
模式匹配是使串的长度和对应位置相对应,从而达到使语音匹配正确的目的。
3.1 朴素模式算法(BF算法)朴素模式算法即依次全部历遍完串直到全部匹配成功,如下表按照上下箭头进行匹配,如果匹配不成功,则接着下一个进行匹配直到待匹配串完全一一对应才算完全成功。
其实在BF算法中称P为模式字符串,而T为目标字符串,字符的对应成功就代表着P在T中完全一一对应了[6]。
譬如给出T串:A B H O M E W O R K E P P串:H O M E W O R K,在匹配时可以明显发现前面的元素字串无法一一对应时箭头显现红色,后面无对应的箭头显示白色,在这样的情况下,根据朴素模式算法知道,接下来要向后移动模式串P,而T串不动再进行一次匹配,如下图,第二个图对应第二次匹配的过程依然没完成百分之百的对应,接着重复前面的操作得到的第三个图就是对应成功了,且成功对应的串都是用绿色箭头表示的,接着可以直接输出串的位置,序号等参数,从而定下匹配的串,这样朴素模式算法就算完成了。
图3.1-1 BF算法实例由于每次大量的串都要完成单独匹对,一旦出现不匹配的就要重头开始,所以会导致朴素模式算法的时间复杂度很高,而在进行模式匹配时当然是时间复杂度越小越好,所以为了降低时间复杂度,减少运行重复的次数,避免因耗时过长而导致效率过低,于是提出了KMP 算法。
3.2 KMP算法 KMP算法是为了避免前面都匹配成功而在结尾处发现并不匹配而花去大量时间以及重复遍历的情况,KMP算法(克鲁特-莫里斯-普拉特算法)就是在低效率的朴素模式算法上的改进[9]。
首先其实现针对的是子串的特殊情况,也就是在首字母X与后面的y z w都不相等的前提下经过第一次匹配可知下一次首字母X就不用再与原来字母y匹配成功的字符在进行一次比对了,因为X一定与之不等,从而可知,后续原本朴素匹配必定要全浏览挨个对照的步骤完全可省略,只选取第一次的数组就可以了,否则就出现了多余的判断,这样大大节省了计算机的工作时间[8]。
上述是特殊情况,而针对一般情况,比如一段匹配串后面并不是完全与前面不同,仍存在重复时的情况,在一字串的字符不是完全不重复时,假若之后的字母恰好隔开的不远就重复了而其他又是特殊情况时该如何处置呢? 这就要引入 ‘Next 数组’新定义了,且描述该串中各个字符的变化量时用j值来表示,即通过j值等于1,2,3,4,5等数来预先知晓后面有多少字符与该字符相等,在运行时还有i值,这个i值代表的是每个元素在主串中的位置,比如当i=7时就表示这个元素是第7个。
由于i值不可发生变化,要简化算法就只能通过j值的变化来实现了,j值与T串没有很大的关系,是可以人为设定的,j值的大小是由前面和后面的相似度决定的,比如P=12345这样就表示相似度为1,因为没有任何重复的字符。
而比如P=124512中有‘12’相似,故这时J值等于3,我们把某一串中每个位置的j值的改变用‘next’数组定义,该数组‘next’的长度就是这一段串的长度,next函数的定义如下:(公式3-1)(1)NEXT数组要正确的推导出串的操作举例如下: 1)当j=1时,next[1]=0; 2)当j=1时,只有一个元素a,无相似度,故next[2]=1 ; 3)当j=3时同上知next[3]=1; 4)当j=4,这时有三个元素a,v,a出现了相似度即a=a,经过定义第二条可以知道next[4]=2;依此类推,可以推得next[j]的值等于012123111; ..... 5)结束这时可以累计前面的实例得出结论,即若前后有单独的字符串有相似度则j值等于2,而若前后有两个字符元素相等则j值等于3,若有n个元素具有相似度则k值等于n-1表3.2-1 NEXT数组实例(2)NEXTVALL数组尽管KMP算法已经是在朴素算法上的一种改进了,但是KMP仍然是存在不足的,它并非是完全的简略,仍然有多余的匹配操作,假设给定了一个数组P=rootandbook,前后都有‘oo’重复,这时如果用一个特定容纳符号来容纳这个重复的‘oo',接着用这个符号代表前面已经匹配好的数组,接着就可以再进一步省略掉不必要的操作,这样就更简洁了。
所以科学家又在KMP算法上做出了进一步的改进,引入nextval数组,nextval算法在原理上仍然是离不开next数组的,算法过程是计算next的值,其中nextval数组代表了这个数组,且其基本对应法则如下:实例说明:1)当j=1时,nextval[1]=0,这时next的值也等于0;2)当j=2时,nextval[2]=next[2]=1 由法则可知这时第二位v与第一位e的不相等,故遵守第二条法则直接保守本位相同,nextval等于next值;3)当j=3时,nextval[3]=next[1]=0,这是因为第三位e等于第一位e,故满足第一条对应定义即natural值等于next值; 4)当j=4时,nextval[4]=next[2]=1,这是因为第四位v与第二位v相等同理也满足第一条定义; ...... 依此类推得出对应的nextval的一整串值。
5)结束表3.2-2 NEXTVALL数组实例如上所述,得到的了取代数组nextval,这样就直接可以使用并省略了。
3.3 HMM 模型HMM 模型(又称为隐马尔可夫模型)是一种基于概率的统计模型,其原理是根据已知的可见状态量来推测未知的隐含状态量.语音识别中为了进行语音解码并提高语音识别中的识别准确率,HMM模型运用较广,在算法中其目的是找到已知状态A与已知状态B的转换概率,这个概率是可求有限的,多组概率综合,最后得出隐含状态和已知状态的输出概率。
转化到语音识别中,即在提取音素合成语音的时候,计算机模拟出所有的输出概率及转化概率,最终选出概率最大的那组数据确定下来从而识别对应的语音数据。
基于马尔可夫性质,隐含状态量既然都不可观测则一定有相互联系的地方,故利用极大似然状态估计来解决语音识的解码问题[10]。
极大似然估计﹙MLE),即在已有的多个样本值中,找到发生概率最大的估计值,过程中需要对参数进行求导,且要解方程组,使概率最大化,这其中也要用到最小二乘法,即将与实际值差距最小的估计值找出,该估计值与实际值满足关系:a表示实际值,b表示估计值,则有﹙a-b﹚的平方取到最小,即为最小二乘,将z这个平方值进行求导得到一阶导数2﹙a-b﹚,后续求得极值[11]。