基于深度学习的语种识别方法、装置、可读存储介质与流程

文档序号:31789699发布日期:2022-10-14 13:49阅读:62来源:国知局
基于深度学习的语种识别方法、装置、可读存储介质与流程

1.本公开涉及电信通讯领域、语音识别、数据特征处理、深度学习领域,特别是涉及一种基于深度学习的语种识别方法、装置和可读存储介质。


背景技术:

2.现有坐席助手类型的产品,在用户拨打电话与坐席进行交互的过程中需要进行识别语种。只有在语种识别正确的情况下,在配置其他功能时才能正确录入用户的诉求内容,减少坐席手动录入信息的时长,从而减轻坐席的压力。现有的语种识别方法主要针对asr(automatic speech recognition,自动语音识别)实时语音转写后的文本(通话转写文本),基于文本进行识别来实现语种识别。
3.使用通话转写文本进行语种识别存在两方面缺陷:1.识别准确率很大程度上依赖于asr转写是否准确;2.使用实时asr转写后才能进行语种识别,识别速度与直接语音识别相差甚远。坐席人员能明显感知文本语种识别的速度很慢。
4.此外,还有一种方法是采用外部语种识别api接口进行实时语种识别,虽然该识别速度快,但存在由于api接口是面向通用业务场景,在面对细分行业时,如客服领域或者地方口音严重情况下识别准确率明显下降,只有64%左右准确率,无法满足特定细分领域的需求。
5.除此之外,在深度学习领域,模型准确率高且上线支持高并发情况下,更多于依赖大量人工来标注语种类别,从而获取训练语料,至少需要训练语料3、4w通,这将耗费大量的人工成本和时间成本。


技术实现要素:

6.基于目前语种识别存在识别速度慢;训练语料需要大量人工标注;外部语种识别api接口面向细分领域效果差的情况,本公开将深度学习和语音识别相结合提供一种基于深度学习来实现语种识别的方法。
7.根据本公开的第一方面,提供了一种基于深度学习来实现语种识别的方法,所述方法包括:
8.语种标签获取步骤,获取历史通话录音集,识别所述历史通话录音集中每个通话录音的语种类别,并根据识别出的语种类别为所对应的通话录音标记语种标签,得到包括多个带有语种标签的通话录音的音频数据集;
9.模型训练步骤,通过所述音频数据集训练设定模型的模型参数,得到专用于语种识别的识别模型;
10.语种识别步骤,将实时语音输入至所述识别模型进行语种识别,得到并输出所述实时语音的语种类别。
11.因此,该方法无需人工标记就能够获得训练语料,无需将语音转出文本即可进行识别,节省人力和时间。
12.可选地,所述设定模型是基于深度神经网络实现的语音特征模型。
13.可选地,所述模型训练步骤还包括特征提取步骤,对所述音频数据集的plp特征参数进行提取,利用所述plp特征参数对所述设定模型进行模型训练。
14.可选地,在所述语种识别步骤中,对所述实时语音的plp特征参数进行提取,将所提取的实时语音的plp特征参数输入至所述识别模型来对所述实时语音进行语种识别。
15.可选地,所述方法在所述模型训练步骤之前还包括过滤步骤,所述过滤步骤包括错误类别剔除步骤、识别度筛选步骤、时长筛选步骤中的至少一个步骤;其中,
16.错误类别剔除步骤,从所述音频数据集中删除带有特定语种标签的通话录音,其中,所述特定语种标签为不属于预先设定的语种类别集的标签;
17.识别度筛选步骤,从所述音频数据集中删除对于语种类别的识别准确率低于设定阈值的通话录音;
18.时长筛选步骤,使用librosa音频处理库读取所述音频数据集中每个通话录音的时长,将时长小于3秒的通话录音删除。
19.通过该过滤步骤能够针对细分领域筛选训练语料,进而更高效地完成建模,并获得更高的识别准确率。
20.可选地,所述特征提取步骤包括:
21.读取步骤,使用librosa音频处理库读取每个通话录音;
22.参数获取步骤,使用plp技术对所读取的每个通话录音获取plp特征参数。
23.可选地,在所述语种识别步骤中,所述设定模型得出实时语音属于各个语种的概率,将概率的最大值所对应的语种类别作为识别结果输出。
24.可选地,在所述语种识别步骤中,在所述概率的最大值大于预先设定的输出阈值的情况下,将概率的最大值所对应的语种类别作为识别结果输出。
25.根据本公开的第二方面,提供了一种基于深度学习的语种识别装置,所述装置包括:
26.语种标签获取模块,获取历史通话录音集,识别所述历史通话录音集中每个通话录音的语种类别,并根据识别出的语种类别为所对应的通话录音标记语种标签,得到包括多个带有语种标签的通话录音的音频数据集;
27.模型训练模块,通过所述音频数据集训练设定模型的模型参数,得到专用于语种识别的识别模型;
28.语种识别模块,将实时语音输入至所述识别模型进行语种识别,得到并输出所述实时语音的语种类别。
29.根据本公开的第三方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现如本公开第一方面所述的方法。
30.通过本实施例的方法,能够通过语音降噪和现有的语种识别api接口来自动完成训练语料的制作;通过深度学习对训练语料进行特征建模,最后对实时的通话录音进行分析、语种识别,能够建立针对细分领域的模型,实现更高的识别准确率和更快地识别速度,以此降低人工复听压力、节省人力。
31.此外,由于现有的语种识别api接口是收费的,在业务场景中进行语种识别会持续产生费用。而根据本实施例的方法,仅在获取语种标签时产生一定费用,完成训练语料的制
作后,便可以利用根据本公开的方法得到的识别模型进行识别,而不再依赖语种识别api接口,也就不会在这方面产生费用,从而减少了成本。
32.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
33.被结合在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且连同其说明一起用于解释本公开的原理。
34.图1是可用于实现本公开的实施例的语种识别装置的硬件配置示意图。
35.图2示出了根据本公开的语种识别方法的原理图。
36.图3示出了使用根据本公开的语种方法进行语种识别的流程图。
37.图4本公开的实施例的系统结构示意图。
38.图5示出了根据本公开的语种识别装置的功能模块示意图。
具体实施方式
39.下面将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
40.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
41.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
42.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
43.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
44.《硬件配置》
45.图1是可用于实施根据本公开实施例的语种识别方法的语种识别装置1000的硬件配置示意图。
46.该语种识别装置1000可以包括但不限于处理器1100、存储器1200、接口单元1300、通信单元1400、显示单元1500、输入单元1600、扬声器1700、麦克风1800等等。其中,处理器1100可以是中央处理器cpu、图形处理器gpu、微处理器mcu等,用于执行计算机程序,该计算机程序可以采用比如x86、arm、risc、mips、sse等架构的指令集编写。存储器1200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口单元1300例如包括usb接口、串行接口、并行接口等。通信单元1400例如能够利用光纤或电缆进行有线通信,或者进行无线通信,具体地可以包括wifi通信、蓝牙通信、2g/3g/4g/5g通信等。显示单元1500例如是液晶显示屏、触摸显示屏等。输入单元1600例如可以包括触摸屏、键盘、体感输入等。扬声器1700用于输出音频信号。麦克风1800用于采集音频信号。
47.语种识别装置1000的存储器1200用于存储计算机程序,该计算机程序用于控制所
述处理器1100进行操作以实现根据本公开实施例的语种识别方法。技术人员可以根据本公开所公开方案设计该计算机程序。该计算机程序如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。该语种识别装置1000可以安装有智能操作系统(例如windows、linux、安卓、ios等系统)和应用软件。
48.本领域技术人员应当理解,尽管在图1中示出了语种识别装置1000的多个单元,但是,本公开实施例的语种识别装置1000可以仅涉及其中的部分单元,例如,只涉及处理器1100和存储器1200等。
49.下面,参照附图描述根据本发明的各个实施例和例子。
50.《方法实施例》
51.下面参照图2和图4描述根据本公开的语种识别方法的原理和系统结构。图2示出了根据本公开的语种识别方法的原理图。图4示出了本公开的实施例的系统结构示意图。根据本公开的语种识别方法包括语种标签获取步骤(s201)、模型训练步骤(s202)和语种识别步骤(s203)。
52.在步骤s201中,通过ftp下载历史通话录音,获取历史通话录音集。然后利用语种识别api接口识别历史通话录音集中每个通话录音的语种类别,优选地,还能够利用语种识别api接口在获得语种类别的同时获得被识别为该语种的准确率。然后,根据识别出的语种类别为所对应的通话录音标记语种标签,得到包括多个带有语种标签的通话录音的音频数据集。在下文的描述中,包括多个带有语种标签的通话录音的音频数据集也被称为“训练语料”。
53.在步骤s202中进行模型训练,包括:对在步骤s201中获得训练语料进行特征提取,从语音信号中获取例如plp的特征参数,利用plp的特征参数训练设定模型(例如,基于全连接前馈神经网络的语音特征模型)的模型参数,得到专用于语种识别的识别模型。
54.在步骤s203中,通过例如ftp获取实时语音,提取实时语音的plp特征参数并将其输入至在步骤s202中得到的识别模型中进行语种识别,得到并输出实时语音的语种类别。
55.下面结合图3详细说明根据本公开的语种识别方法。图3示出了使用根据本公开的语种方法进行语种识别的流程图。
56.在步骤s301中,通过ftp下载历史通话录音文件,以获取历史通话录音。
57.在步骤s302中,通过语种识别api接口,识别历史通话录音的语种类别,并对该历史通话录音标记语种标签。同时,还可以通过该语种识别api接口得到识别准确率。例如,通过语种识别api接口可以得到“普通话,0.9”的结果。其中,“普通话”为语种类别,“0.9”为识别准确率。
58.在步骤s303中,对训练语料进行过滤。过滤可以采用下列步骤中的一个,也可以将下列步骤任意组合。
59.(1)错误类别剔除步骤。预先设定语种类别集,例如预先设定语种类别集仅包括“普通话”和“粤语”。当某段录音在步骤s302中被标记了例如“英语”的情况下,由于“英语”不属于预先设定的语种类别集,所以将带有“英语”语种标签的通话录音从训练语料中删除。通过错误类别剔除步骤能够针对细分领域来进行语音特征的提取,使得模型训练更高效。
60.(2)识别度筛选步骤,从训练语料中删除对于语种类别的识别准确率低于设定阈
值的通话录音。例如,将识别准确率阈值设定为0.8,在识别度筛选步骤中将识别率低于0.8的训练语料全部删除。通过该步骤可以获得更加准确的训练语料。
61.(3)时长筛选步骤,使用librosa音频处理库读取训练语料中每个通话录音的时长,将时长小于3秒的通话录音删除。
62.通过上述训练语料过滤步骤可以得到更优质的训练语料,能够更准确、快速地完成特征模型训练。
63.下面进行详细说明。
64.在步骤s304中,使用例如plp(感知线性预测)技术对过滤后的训练语料提取语音特征,获取plp特征参数。
65.对plp特征参数的提取包括如下步骤:
66.(1)读取步骤,使用l ibrosa音频处理库将每个通话录音读取进内存;
67.(2)参数获取步骤,使用plp技术对所读取的每个通话录音获取plp特征参数。
68.在步骤s305中,利用plp特征参数进行模型训练。在本实施例中使用全连接前馈神经网络(feedforward neural network,fnn)模型,fnn模型包括输入层、隐藏层和输出层。该fnn模型使用输入值和权重进行一系列线性运算和激活运算,每层的神经元接收前一层的神经元的输入,输出到下一层的神经元中。在连接过程中,前一层的输入经过加权处理与非线性激活函数的处理,实现输入空间到输出空间的映射。
69.在进行模型训练时使用多帧拼接方法将在步骤s304中提取的plp特征参数输入到fnn输入层中。将当前帧与后面例如10帧拼接起来,将连续的11帧拼接为1帧。然后对下一帧重复相同的拼接。每帧有39维,连续的11帧(也就是拼接后的1帧)共有39x11=429维拼接后的plp特征参数。
70.之后,plp特征参数进入隐藏层,对每个神经元进行加权处理。隐藏层例如共有两层,输入层到第一层隐藏层的权重w1计算公式如下:
71.w1=v
×h72.其中,v为输入层神经元个数,h为隐藏层神经元个数。
73.第一层隐藏层到第二层隐藏层的权重w2计算公式如下:
74.w2=h
×h75.第二层到输出层的权重w3计算公式如下:
76.w3=h
×s77.其中,s为输出层维度。
78.每一层隐藏层使用relu激活函数处理上一层神经元的输入信号,保留特征并映射到下一层神经元。隐藏层的输出信号进入softmax层,在softmax层使用softmax函数输出属于每个语种类别的概率。之后求出softmax层的输出值与目标值之间的误差,然后进行反复训练,当误差等于或小于预先设定的期望值时,结束训练,得到识别模型。
79.在步骤s306中,对实时语音的语种类别进行识别。通过ftp获取实时的通话录音(实时语音),提取实时语音的plp特征参数并将其传输至在步骤s305中训练好的识别模型,识别模型的softmax层得出属于每个语种类别的概率,然后比较各个概率的大小,将概率最大的语种类别输出为识别结果。优选地,设置输出阈值(例如0.8),只有当概率的最大值大于0.8时才输出结果。否则,继续对实时语音进行识别,直到得到概率值大于0.8的识别结果
才输出。
80.《装置实施例》
81.图5示出了根据本公开的语种识别装置1000的功能模块示意图。如图5所示,语种识别装置包括:
82.语种标签获取模块4100,获取历史通话录音集,识别所述历史通话录音集中每个通话录音的语种类别,并根据识别出的语种类别为所对应的通话录音标记语种标签,得到包括多个带有语种标签的通话录音的音频数据集;
83.模型训练模块4200,通过所述音频数据集训练设定模型的模型参数,得到专用于语种识别的识别模型;
84.语种识别模块4300,将实时语音输入至所述识别模型进行语种识别,得到并输出所述实时语音的语种类别。
85.在一个实施例中,所述设定模型是基于深度神经网络实现的语音特征模型。
86.在一个实施例中,所述模型训练模块还包括特征提取模块,对所述音频数据集的plp特征参数进行提取,利用所述plp特征参数对所述设定模型进行模型训练。
87.在一个实施例中,所述语种识别模块对所述实时语音的plp特征参数进行提取,将所提取的实时语音的plp特征参数输入至所述识别模型来对所述实时语音进行语种识别。
88.在一个实施例中,所述语种识别装置还包括过滤模块,在进行特征参数提取之前,所述过滤模块进行错误类别剔除、识别度筛选、时长筛选中的至少一个;其中,
89.错误类别剔除,从所述音频数据集中删除带有特定语种标签的通话录音,其中,所述特定语种标签为不属于预先设定的语种类别集的标签;
90.识别度筛选,从所述音频数据集中删除对于语种类别的识别准确率低于设定阈值的通话录音;
91.时长筛选,使用librosa音频处理库读取所述音频数据集中每个通话录音的时长,将时长小于3秒的通话录音删除。
92.在一个实施例中,对plp特征参数的提取包括:
93.读取,使用librosa音频处理库读取每个通话录音;
94.参数获取,使用plp技术对所读取的每个通话录音获取plp特征参数。
95.在一个实施例中,在所述语种识别模块中,所述设定模型得出实时语音属于各个语种的概率,将概率的最大值所对应的语种类别作为识别结果输出。
96.在一个实施例中,在所述语种识别模块中,在所述概率的最大值大于预先设定的输出阈值的情况下,将概率的最大值所对应的语种类别作为识别结果输出。
97.本领域技术人员应当明白,可以通过各种方式来实现语种识别装置1000。例如,可以通过指令配置处理器来实现语种识别装置1000。例如,可以将指令存储在rom中,并且当启动设备时,将指令从rom读取到可编程器件中来实现语种识别装置1000。例如,可以将语种识别装置1000固化到专用器件(例如asic)中。可以将语种识别装置1000分成相互独立的单元,或者可以将它们合并在一起实现。语种识别装置1000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。
98.在本实施例中,语种识别装置1000可以具有多种实现形式,例如,可以是任何的提供控制服务的软件产品或者应用程序中运行的功能模块,或者是这些软件产品或者应用程
序的外设嵌入件、插件、补丁件等,还可以是这些软件产品或者应用程序本身。
99.《可读存储介质》
100.在本实施例中,还提供一种可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现如本公开任意实施例的语种识别方法。
101.本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
102.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
103.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
104.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
105.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
106.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据
处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
107.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
108.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
109.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本公开的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1