一种语音识别方法、装置、设备及存储介质与流程

文档序号:17973040发布日期:2019-06-21 23:37阅读:186来源:国知局
一种语音识别方法、装置、设备及存储介质与流程
本发明涉及语音识别
技术领域
,尤其涉及一种语音识别方法、装置、设备及存储介质。
背景技术
:语音识别识别技术是一种对用户的语音数据进行识别的技术。语音识别作为一种常用的人机交互技术,目前已广泛应用于各类电子产品中。但是,现有的语音识别结果经常会出现错误,极大地影响用户使用体验。特别是在进行离线语音识别时,由于终端设备的计算能力相比服务器较弱,出现语音识别错误的可能性更大。技术实现要素:本发明实施例提供一种语音识别方法及装置,以至少解决现有技术中的以上技术问题。第一方面,本发明实施例提供了一种语音识别方法,包括:接收语音数据,对所述语音数据进行语音识别,得到所述语音数据对应的第一文本数据;判断预先设置的固定数据表中是否存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据;所述常用文本数据为出现次数超过预设阈值的语音识别结果;如果存在,则采用所述常用文本数据替换所述第一文本数据。在一种实施方式中,所述对所述语音数据进行语音识别,包括:对所述语音数据进行离线语音识别;所述常用文本数据为出现次数超过预设阈值的在线语音识别的结果。在一种实施方式中,预先设置所述固定数据表的方式为:对语音数据进行在线语音识别,得到所述语音数据对应的第二文本数据;判断所述第二文本数据的语义类型是否为可离线处理的语义类型;如果是,则对所述第二文本数据进行分词处理;针对分词处理后的各个词语及所述第二文本数据,判断所述固定数据表中是否包含所述词语或第二文本数据;如果不包含,则更新临时数据表记录的所述词语或第二文本数据的出现次数,并将出现次数达到预设阈值的词语或第二文本数据记录至所述固定数据表,作为所述固定数据表中的常用文本数据。在一种实施方式中,上述方法还包括:当所述临时数据表的存储量达到存储上限时,按照最近最少使用方式释放所述临时数据表的存储空间。在一种实施方式中,所述固定数据表还保存所述常用文本数据对应的语义解析结果;所述判断预先设置的固定数据表中是否存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据之后,还包括:如果存在,则从所述固定数据表中提取所述常用文本数据对应的语义解析结果。在一种实施方式中,所述判断预先设置的固定数据表中是否存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据,包括:将所述第一文本数据分别与所述固定数据表中的各个常用文本数据进行对比,所述对比的方式为将相同位置的音素逐一进行对比;当音素对比结果相同的比例超过预设比例门限时,判定所述常用文本数据与所述第一文本数据的发音相似度达到预设条件。第二方面,本发明实施例还提供了一种语音识别装置,包括:初步识别模块,用于接收语音数据,对所述语音数据进行语音识别,得到所述语音数据对应的第一文本数据;判断模块,用于判断预先设置的固定数据表中是否存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据;所述常用文本数据为出现次数超过预设阈值的语音识别结果;替换模块,用于在所述固定数据表中存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据时,采用所述常用文本数据替换所述第一文本数据。在一种实施方式中,所述初步识别模块,用于对所述语音数据进行离线语音识别;所述装置还包括:数据库设置模块,用于设置所述固定数据表,所述固定数据表包含一个以上常用文本数据,所述常用文本数据为出现次数超过预设阈值的在线语音识别的结果。在一种实施方式中,所述数据库设置模块,用于针对对语音数据进行在线语音识别得到的第二文本数据,判断所述第二文本数据的语义类型是否为可离线处理的语义类型;如果是,则对所述第二文本数据进行分词处理;针对分词处理后的各个词语及所述第二文本数据,判断所述固定数据表中是否包含所述词语或第二文本数据;如果不包含,则更新临时数据表记录的所述词语或第二文本数据的出现次数,并将出现次数达到预设阈值的词语或第二文本数据记录至所述固定数据表,作为所述固定数据表中的常用文本数据。在一种实施方式中,所述数据库设置模块,还用于当所述临时数据表的存储量达到存储上限时,按照最近最少使用方式释放所述临时数据表的存储空间。在一种实施方式中,所述固定数据表还保存所述常用文本数据对应的语义解析结果;所述替换模块还用于,在所述固定数据表中存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据时,从所述固定数据表中提取所述常用文本数据对应的语义解析结果。在一种实施方式中,所述判断模块用于,将所述第一文本数据分别与所述固定数据表中的各个常用文本数据进行对比,所述对比的方式为将相同位置的音素逐一进行对比;当音素对比结果相同的比例超过预设比例门限时,判定所述常用文本数据与所述第一文本数据的发音相似度达到预设条件。第三方面,本发明实施例提供了一种语音识别设备,所述设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述设备的结构中包括处理器和存储器,所述存储器用于存储支持所述语音识别设备执行上述语音识别方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述设备还可以包括通信接口,用于与其他设备或通信网络通信。第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储语音识别设备所用的计算机软件指令,其包括用于执行上述语音识别方法所涉及的程序。上述技术方案中的一个技术方案具有如下优点或有益效果:本发明实施例提出的语音识别方法和装置,在对语音数据进行语音识别并得到第一文本数据后,如果在固定数据表中查找到与该第一文本数据发音相似的常用文本数据,则采用该常用文本数据替换第一文本数据。通过这种方式,可以实现对语音识别结果的修正,从而提高语音识别的准确率。上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。附图说明在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。图1为本发明实施例的一种语音识别方法实现流程图;图2为本发明实施例的固定数据表中常用文本数据的更新方式实现流程图;图3为本发明实施例的临时数据表及固定数据表中数据更新的实现流程图;图4为本发明实施例的应用于车载语音交互的语音识别实现流程图;图5为本发明实施例的一种语音识别装置结构示意图;图6为本发明实施例的另一种语音识别装置结构示意图;图7为本发明实施例的语音识别设备结构示意图。具体实施方式在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。本发明实施例主要提供了一种语音识别方法和装置,下面分别通过以下实施例进行技术方案的展开描述。如图1为本发明实施例的一种语音识别方法实现流程图,包括以下步骤:s11:接收语音数据,对所述语音数据进行语音识别,得到所述语音数据对应的第一文本数据。s12:判断预先设置的固定数据表中是否存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据;如果存在,则执行步骤s13。其中,所述常用文本数据为出现次数超过预设阈值的语音识别结果。s13:采用所述常用文本数据替换所述第一文本数据。在一种可能的实施方式中,如果查找到固定数据表中存在多个与第一文本数据的发音相似度达到预设条件的常用文本数据,则选择与第一文本数据的发音相似度最高的常用文本数据,采用该常用文本数据替换第一文本数据。本发明实施例可以应用于车载语音交互设备。由于车辆行驶区域的不确定性,网络连接状况时好时坏,使得车载语音交互设备的在线语音识别功能在有些情况下无法实现。鉴于此,在一种可能的实施方式中,本发明实施例可以在离线语音识别过程中采用上述实施例介绍的方法。并且,上述固定数据表中的常用文本数据可以根据在线语音识别的结果确定,具体地,固定数据表中的常用文本数据可以为出现次数超过预设阈值的在线语音识别的结果。如图2为本发明实施例的固定数据表中常用文本数据的更新方式实现流程图,包括:s21:对语音数据进行在线语音识别,得到所述语音数据对应的第二文本数据;s22:判断所述第二文本数据的语义类型是否为可离线处理的语义类型;如果是,则执行步骤s23;s23:对所述第二文本数据进行分词处理;s24:针对分词处理后的各个词语及所述第二文本数据,判断所述固定数据表中是否包含所述词语或第二文本数据;如果不包含,则执行步骤s25;s25:更新临时数据表记录的所述词语或第二文本数据的出现次数,并将出现次数达到预设阈值的词语或第二文本数据记录至所述固定数据表,作为所述固定数据表中的常用文本数据。当某一词语或第二文本数据记录至固定数据表时,同时删除临时数据表中该词语或第二文本数据的相关数据。在一种可能的实施方式中,当临时数据表的存储量达到存储上限时,可以按照最近最少使用(lru,leastrecentlyused)方式删除旧数据,从而释放所述临时数据表的存储空间。在一种可能的实施方式中,固定数据表还可以包括所述常用文本数据对应的语义解析结果。相应地,上述步骤s12中判断预先设置的固定数据表中是否存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据之后,还可以包括:如果存在,则从固定数据表中提取所述常用文本数据对应的语义解析结果。如图3为本发明实施例的临时数据表及固定数据表中数据更新的实现流程图,本实施例以应用于车载语音交互设备为例进行介绍,包括:s31:在当前网络连接正常的情况下,接收用户的语音数据,对该语音数据进行在线语音识别,得到对应的第二文本数据。例如,得到对应的第二本文数据为“打开车门”。s32:判断第二文本数据的语义类型是否为可离线处理的语义类型。其中,可离线处理的语义类型一般指不需要网络支持即可以执行的语义类型,例如车辆控制语义类型。相反,不可离线处理的语义类型一般指需要网络支持才能够执行的语义类型,例如用于查询天气信息、百科信息等的语义类型。在本实施例中,判定第二本文数据“打开车门”的语义类型为可离线处理的语义类型。s33:对第二本文数据“打开车门”进行分词处理,得到词语“打开”、“车门”,在以下的步骤中,将根据上述各个词语及句子更新临时数据表和/或固定数据表中的内容。为便于理解,首先介绍临时数据表及固定数据表。在一种可能的实施方式中,临时数据表可以记录在线语音识别结果中的词语及句子(即上述“第二文本数据”)的出现次数。临时数据表可以采用如下表1所示的形式保存数据。表1当某个词语或句子的出现次数达到预设阈值时,可以将该词语或句子记录至固定数据表,同时删除临时数据表中该词语或句子的相关记录。当临时数据表存储量达到存储上限时,可以按照lru方式删除旧数据,从而释放临时数据表的存储空间。例如,当临时数据表存储量达到存储上限时,查找最近一段时间内表1中各行数据的使用次数。使用次数越少,表明该行数据所记录的词语或句子在在线语音识别结果中出现的次数越少,因此可以将使用次数少的数据从表1中删除。固定数据表用于记录常用文本数据,常用文本数据为出现次数超过预设阈值的在线语音识别的结果,也就是从临时数据表中转移过来的词语及句子。进一步地,固定数据表还可以记录常用文本数据对应的语义解析结果,这里的语义解析结果可以理解为操作指令。例如,对于常用文本数据“打开车门”、“打开门”、“开启车门”,这三个常用文本数据的内容不同,但对应的语义解析结果相同,均为控制车门打开的操作指令。固定数据表可以采用如下表2所示的形式保存数据。表2常用文本数据语义解析结果打开车门控制车门打开的操作指令打开门控制车门打开的操作指令开启车门控制车门打开的操作指令打开车窗……表2中的内容为相对固定的内容,可以用于对离线语音识别的结果进行修正。在上述对临时数据表及固定数据表介绍的基础上,以下继续介绍本发明实施例的后续步骤。s34:针对步骤s33中得到的词语/句子,即“打开”、“车门”或“打开车门”,判断固定数据表中是否包含该词语/句子,如果不包含,则继续执行步骤s35;如果包含,则说明该词语/句子已经被确定为常用文本数据,则结束当前流程。s35:更新临时数据表记录的该词语/句子的出现次数。具体地,如果临时数据表中存在该词语/句子的记录,则将该词语/句子对应的出现次数加1;如果临时数据表中不存在该词语/句子的记录,则在临时数据表中添加该词语/句子的记录,并将对应的出现次数设置为1。s36:当临时数据表中记录的某个词语/句子的出现次数大于预设阈值时,将该词语/句子记录至固定数据表,并删除临时数据表中该词语/句子的相关信息。本实施例可以应用于车载语音交互设备。如图4为本发明实施例的应用于车载语音交互的语音识别实现流程图,包括:s41:在断网或网络信号弱的情况下,接收用户的语音数据,对该语音数据进行离线语音识别,得到该语音数据对应的第一文本数据。在本实施例中,假定用户的语音数据为“打开车门”。由于离线语音识别的准确率较低,受用户口音的影响,离线语音识别对该语音数据进行语音识别后,得到对应的第一文本数据为“大开车门”。s42:查找固定数据表是否存在与该第一文本数据的发音相似度达到预设条件的常用文本数据。具体的,假定固定数据表中存在常用文本数据“打开车门”。将“大开车门”与“打开车门”的语音中相同位置的音素逐一进行对比,对比结果相同的比例超过预设的比例门限。因此,判定常用文本数据“打开车门”与第一文本数据“大开车门”的发音相似度达到预设条件,继续执行步骤s43。如果在固定数据表中没有查找到与第一文本数据的发音相似度达到预设条件的常用文本数据,则继续进行普通的离线解析流程。其中,音素(phone)是语音中的最小的单位。依据音节里的发音动作来分析,一个动作构成一个音素。音素分为元音、辅音两大类。在将“大开车门”与“打开车门”的语音进行对比时,第二个音素的对比结果不同,其余位置音素的对比结果相同。在判断常用文本数据与第一文本数据的发音相似度是否达到预设条件时,还可以进一步采用其他判断规则。例如,当常用文本数据与第一文本数据的发音中两个相邻的元音音素及辅音音素的对比结果不同时,判定该常用文本数据与第一文本数据的发音相似度没有达到预设条件。s43:采用常用文本数据“打开车门”替换第一文本数据“大开车门”,将“打开车门”作为离线语音识别的最终识别结果。并且,可以从固定数据表中提取常用文本数据“打开车门”对应的语义解析结果,用于控制车门打开。以上实施例是以应用于车载语音交互设备为例进行介绍的。本发明不局限于上述应用场景。具体地,本发明实施例可以采用离线语音识别的历史结果确定固定数据表中的常用文本数据,以用于对后续的离线语音识别结果进行修正;或者,本发明实施例也采用在线语音识别的历史结果确定固定数据表中的常用文本数据,以用于对后续的在线语音识别结果进行修正。本发明实施例还提出一种语音识别装置,如图5为该装置结构示意图,包括:初步识别模块510,用于接收语音数据,对所述语音数据进行语音识别,得到所述语音数据对应的第一文本数据;判断模块520,用于判断预先设置的固定数据表中是否存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据;所述常用文本数据为出现次数超过预设阈值的语音识别结果;替换模块530,用于在所述固定数据表中存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据时,采用所述常用文本数据替换所述第一文本数据。在一种可能的实施方式中,所述初步识别模块510,用于对所述语音数据进行离线语音识别。本发明实施例还提出另一种语音识别装置,如图6为该装置结构示意图,包括:初步识别模块510、判断模块520、替换模块530和数据库设置模块640。其中,初步识别模块510、判断模块520、替换模块530与上述实施例中的对应模块功能相同。数据库设置模块640,用于设置所述固定数据表,所述固定数据表包含一个以上常用文本数据,所述常用文本数据为出现次数超过预设阈值的在线语音识别的结果。在一种可能的实施方式中,所述数据库设置模块640,用于针对对语音数据进行在线语音识别得到的第二文本数据,判断所述第二文本数据的语义类型是否为可离线处理的语义类型;如果是,则对所述第二文本数据进行分词处理;针对分词处理后的各个词语及所述第二文本数据,判断所述固定数据表中是否包含所述词语或第二文本数据;如果不包含,则更新临时数据表记录的所述词语或第二文本数据的出现次数,并将出现次数达到预设阈值的词语或第二文本数据记录至所述固定数据表,作为所述固定数据表中的常用文本数据。在一种可能的实施方式中,所述数据库设置模块640,还用于当所述临时数据表的存储量达到存储上限时,按照最近最少使用方式释放所述临时数据表的存储空间。在一种可能的实施方式中,所述固定数据表还包括所述常用文本数据对应的语义解析结果;所述替换模块530还用于,在所述固定数据表中存在与所述第一文本数据的发音相似度达到预设条件的常用文本数据时,从所述固定数据表中提取所述常用文本数据对应的语义解析结果。在一种可能的实施方式中,所述判断模块520用于,将所述第一文本数据分别与所述固定数据表中的各个常用文本数据进行对比,所述对比的方式为将相同位置的音素逐一进行对比;当音素对比结果相同的比例超过预设比例门限时,判定所述常用文本数据与所述第一文本数据的发音相似度达到预设条件。本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。本发明实施例还提出一种语音识别设备,如图7为本发明实施例的语音识别设备结构示意图,包括:存储器701和处理器702,存储器701存储有可在处理器702上运行的计算机程序。所述处理器702执行所述计算机程序时实现上述实施例中的语音识别方法。所述存储器701和处理器702的数量可以为一个或多个。所述设备还可以包括:通信接口703,用于与外界设备进行通信,进行数据交换传输。存储器701可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。如果存储器701、处理器702和通信接口703独立实现,则存储器701、处理器702和通信接口703可以通过总线相互连接并完成相互之间的通信。所述总线可以是工业标准体系结构(isa,industrystandardarchitecture)总线,外部设备互连(pci,peripheralcomponentinterconnect)总线或扩展工业标准体系结构(eisa,extendedindustrystandardarchitecture)等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,并不表示仅有一根总线或一种类型的总线。可选的,在具体实现上,如果存储器701、处理器702和通信接口703集成在一块芯片上,则存储器701、处理器702和通信接口703可以通过内部接口完成相互间的通信。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属
技术领域
的技术人员所理解。在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。本
技术领域
的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。综上所述,本发明实施例提出一种语音识别方法和装置。在对语音数据进行语音识别之后,在固定数据表中查找到与该识别结果发音相似的常用文本数据。如果查找到,则可以采用该常用文本数据替换该识别结果,从而实现对语音识别结果的修正,提高语音识别的准确率。本发明实施例可以应用于对离线语音识别结果的修正,而固定数据表中的常用文本数据可以根据在线语音识别结果获得。具体地,固定数据表中的常用文本数据可以是出现次数超过预设阈值的在线语音识别的结果。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1