CN112530417B - 语音信号处理方法、装置、电子设备及存储介质 - Google Patents
语音信号处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112530417B CN112530417B CN201910809985.5A CN201910809985A CN112530417B CN 112530417 B CN112530417 B CN 112530417B CN 201910809985 A CN201910809985 A CN 201910809985A CN 112530417 B CN112530417 B CN 112530417B
- Authority
- CN
- China
- Prior art keywords
- word segmentation
- corpus
- word
- sequence
- frequency data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 16
- 230000011218 segmentation Effects 0.000 claims abstract description 402
- 238000012545 processing Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 57
- 239000012634 fragment Substances 0.000 claims abstract description 48
- 238000004458 analytical method Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004393 prognosis Methods 0.000 claims 2
- 230000004044 response Effects 0.000 abstract description 18
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 229910052573 porcelain Inorganic materials 0.000 description 35
- 230000008569 process Effects 0.000 description 17
- 238000001514 detection method Methods 0.000 description 13
- 238000010200 validation analysis Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 4
- 239000010931 gold Substances 0.000 description 4
- 229910052737 gold Inorganic materials 0.000 description 4
- 238000013518 transcription Methods 0.000 description 4
- 230000035897 transcription Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 206010002953 Aphonia Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
- G10L15/197—Probabilistic grammars, e.g. word n-grams
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及人工智能技术领域,公开了一种语音信号处理方法、装置、电子设备及存储介质,所述方法包括:对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;对临时识别结果进行分词处理,得到若干分词片段;获取第一分词序列之后的下一个分词片段为结束字符的预测概率,预测概率为根据词频数据确定的,词频数据包括基于语料库中的语料确定出的各分词序列在各语料中出现的次数,第一分词序列为临时识别结果中最后的N个分词片段组成的序列;若预测概率大于概率阈值,对临时识别结果进行语义解析。本发明实施例提供的技术方案,能够及时准确地对持续输入的音频流数据进行截断处理,缩短了智能设备的响应时间,提高用户体验。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种语音信号处理方法、装置、电子设备及存储介质。
背景技术
目前的智能设备在进行语音识别和语音处理时,通常要先获取一段具有完整语义的语音数据,然后经过ASR(Automatic Speech Recognition,语音识别)处理获得语音识别结果,再基于该语音识别结果进行语义理解,得到语音数据对应的响应数据,以向用户作出反馈。
现有的获取具有完整语义的语音数据的一种方式为:用户在输入一段语音数据后按下指定按键,以告知智能设备语音输入结束,智能设备获取这段语音数据进行处理,但是,这种方式操作繁琐,且适应场景单一、不够灵活。另外一种方式为,在智能设备持续收音时通过语音活动检测(Voice Activity Detection,VAD)技术对连续输入的语音数据进行截断,得到一段完整的语音数据,但是,当环境噪声较大时,采用这种方法会发生无法截断或误判截断等情况,导致无法及时进行语音识别,进而延长了智能设备的响应时间,导致用户无法获到及时的回复,降低了用户体验。
发明内容
本发明实施例提供一种语音信号处理方法、装置、电子设备及存储介质,以解决现有技术中无法对语音数据进行有效地截断,导致智能设备无法及时作出准确响应的问题。
第一方面,本发明一实施例提供了一种语音信号处理方法,包括:
对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;
对所述临时识别结果进行分词处理,得到若干分词片段;
获取第一分词序列之后的下一个分词片段为结束字符的预测概率,所述预测概率为根据所述词频数据确定的,所述词频数据包括基于语料库中的语料确定出的各分词序列在各语料中出现的次数,所述第一分词序列为所述临时识别结果中最后的N个分词片段组成的序列,N为正整数;
若所述预测概率大于概率阈值,对所述临时识别结果进行语义解析。
作为一种可能的实施方式,所述获取第一分词序列之后的下一个分词片段为结束字符的预测概率,具体包括:
从所述词频数据中获取所述第一分词序列对应的次数M;从所述词频数据中获取第二分词序列对应的次数K,所述第二分词序列为在所述第一分词序列之后增加所述结束字符得到的序列;根据所述K和所述M,确定所述预测概率;
或者,从预先配置的各N元分词序列之后的下一个分词片段为结束字符的概率数据中,将所述第一分词序列对应的概率数据确定为预测概率,所述N元分词序列是基于所述语料库中的语料进行分词处理得到的,所述概率数据是根据所述N元分词序列对应的词频数据和在所述N元分词序列之后增加所述结束字符得到的N+1元分词序列对应的词频数据确定的。
作为一种可能的实施方式,通过如下方式获取所述词频数据:
对所述语料库中的各语料进行分词处理,得到各语料对应的分词片段;
将每个语料中连续的N个分词片段组成的序列确定为一个N元分词序列;
将每个语料中连续的N+1个分词片段组成的序列确定为一个N+1元分词序列;
统计每个所述N元分词序列和每个所述N+1元分词序列在所述语料库的各语料中出现的次数,得到所述词频数据。
作为一种可能的实施方式,所述N等于2。
作为一种可能的实施方式,通过以下方式更新所述语料库中的语料:
若所述预测概率小于或等于所述概率阈值,且已检测到所述音频流数据中的语音起始点和语音结束点,在所述语音起始点和所述语音结束点之间的音频流数据对应的最终识别结果之后添加所述结束字符,将添加所述结束字符的最终识别结果作为新增的语料添加到所述语料库中;
或者,获取人工干预后的具有完整语义的文本,在所述文本之后添加所述结束字符,将添加所述结束字符的文本作为新增的语料添加到所述语料库中。
作为一种可能的实施方式,所述方法还包括:
若所述语料库中有新增的语料,对所述新增的语料进行分词处理,得到所述新增的语料对应的N元分词序列和N+1元分词序列;
更新所述新增的语料对应的N元分词序列和N+1元分词序列对应的词频数据。
作为一种可能的实施方式,本发明实施例的方法还包括:
若所述词频数据发生更新,根据更新后的词频数据,更新各分词序列对应的预测概率。
作为一种可能的实施方式,所述根据词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率,具体包括:
获取所述智能设备对应的专属词频数据,根据获取的专属词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率;
和/或获取通用词频数据,根据所述通用词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率。
作为一种可能的实施方式,所述方法还包括:
若所述预测概率小于或等于所述概率阈值,根据所述词频数据,确定所述第一分词序列之后出现概率最大的分词片段;
控制所述智能设备输出所确定的分词片段。
第二方面,本发明一实施例提供了一种语音信号处理装置,包括:
语音识别模块,用于对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;
分词处理模块,用于对所述临时识别结果进行分词处理,得到若干分词片段;
预测模块,用于获取第一分词序列之后的下一个分词片段为结束字符的预测概率,所述预测概率为根据所述词频数据确定的,所述词频数据包括基于语料库中的语料确定出的各分词序列在各语料中出现的次数,所述第一分词序列为所述临时识别结果中最后的N个分词片段组成的序列,N为正整数;
解析模块,用于若所述预测概率大于概率阈值,对所述临时识别结果进行语义解析。
作为一种可能的实施方式,所述预测模块具体用于:
从所述词频数据中获取所述第一分词序列对应的次数M;从所述词频数据中获取第二分词序列对应的次数K,所述第二分词序列为在所述第一分词序列之后增加所述结束字符得到的序列;根据所述K和所述M,确定所述预测概率;
或者,从预先配置的各N元分词序列之后的下一个分词片段为结束字符的概率数据中,将所述第一分词序列对应的概率数据确定为预测概率,所述N元分词序列是基于所述语料库中的语料进行分词处理得到的,所述概率数据是根据所述N元分词序列对应的词频数据和在所述N元分词序列之后增加所述结束字符得到的N+1元分词序列对应的词频数据确定的。
作为一种可能的实施方式,通过如下方式获取所述词频数据:
对所述语料库中的各语料进行分词处理,得到各语料对应的分词片段;
将每个语料中连续的N个分词片段组成的序列确定为一个N元分词序列;
将每个语料中连续的N+1个分词片段组成的序列确定为一个N+1元分词序列;
统计每个所述N元分词序列和每个所述N+1元分词序列在所述语料库的各语料中出现的次数,得到所述词频数据。
作为一种可能的实施方式,所述N等于2。
作为一种可能的实施方式,通过如下方式更新所述语料库中的语料:
若所述预测概率小于或等于所述概率阈值,且已检测到所述音频流数据中的语音起始点和语音结束点,在所述语音起始点和所述语音结束点之间的音频流数据对应的最终识别结果之后添加所述结束字符,将添加所述结束字符的最终识别结果作为新增的语料添加到所述语料库中;
或者,获取人工干预后的具有完整语义的文本,在所述文本之后添加所述结束字符,将添加所述结束字符的文本作为新增的语料添加到所述语料库中。
作为一种可能的实施方式,通过如下方式更新所述词频数据:
若所述语料库中有新增的语料,对所述新增的语料进行分词处理,得到所述新增的语料对应的N元分词序列和N+1元分词序列;
更新所述新增的语料对应的N元分词序列和N+1元分词序列对应的词频数据。
作为一种可能的实施方式,本发明实施例的方法还包括:
若所述词频数据发生更新,根据更新后的词频数据,更新各分词序列对应的预测概率。
作为一种可能的实施方式,通过如下方式更新各分词序列对应的预测概率:
若所述词频数据发生更新,根据更新后的词频数据,更新各分词序列对应的预测概率。
作为一种可能的实施方式,所述预测模块具体用于:
获取所述智能设备对应的专属词频数据,根据获取的专属词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率;
和/或获取通用词频数据,根据所述通用词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率。
作为一种可能的实施方式,所述装置还包括分词预测模块,用于:
若所述预测概率小于或等于所述概率阈值,根据所述词频数据,确定所述第一分词序列之后出现概率最大的分词片段;
控制所述智能设备输出所确定的分词片段。
第三方面,本发明一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
第四方面,本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
第五方面,本发明一实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一种方法的步骤。
本发明实施例提供的技术方案,通过词频数据可准确预测临时识别结果之后出现结束字符的预测概率,当预测概率大于概率阈值时,表明临时识别结果之后出现结束字符的概率较大,即表明临时识别结果为具有完整语义的文本,此时可对临时识别结果进行语义解析等处理,得到对应的响应数据,并控制智能设备执行该响应数据。为此,本发明实施例提供的技术方案能够及时准确地对持续输入的音频流数据进行截断处理,从而有效地区分音频流数据中包含的多个连续的句子,以便针对用户输入的音频流数据中的每个句子作出及时的响应,缩短了智能设备的响应时间,提高用户体验。此外,由于本发明实施例提供的技术方案不基于VAD检测结果进行截断,能够更好地适应人声较为嘈杂的公开、服务场景。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的语音信号处理方法的应用场景示意图;
图2为本发明一实施例提供的语音信号处理方法的流程示意图;
图3为本发明一实施例提供的获取词频数据的流程示意图;
图4为本发明一实施例提供的计算预测概率的流程示意图;
图5为本发明一实施例提供的语音信号处理装置的结构示意图;
图6为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了方便理解,下面对本发明实施例中涉及的名词进行解释:
实时语音转写(Real-time ASR),基于深度全序列卷积神经网络框架,通过WebSocket协议,建立应用与语言转写核心引擎的长连接,能够将音频流数据实时转换成文字流数据,实现用户边说话边生成文本,一般按照语素为最小单位,输出识别出的临时识别结果。例如,采集的音频流为:“今”-“天”-“天”-“气”-“怎”-“么”-“样”,按照音频流的顺序进行识别,先输出临时识别结果“今天”,然后,输出临时识别结果“今天天”,以此类推,直到对整段音频流识别完毕,得到最终识别结果“今天天气怎么样”。实时语音转写技术还能够基于后续的音频流以及对上下文的语义理解,对之前输出的临时识别结果进行智能纠错,保证最终识别结果的准确性,也就是说,基于音频流实时输出的临时识别结果,是随着时间不断变化,例如,第一次输出的临时识别结果为“金”,第二次输出的临时识别结果被纠正为“今天”,第三次输出的临时识别结果可能为“今天田”,第四次输出的临时识别结果又被纠正为“今天天气”,以此类推,通过不断的识别、纠正,得到准确的最终识别结果。
语音活动检测(Voice Activity Detection,VAD),又称语音端点检测,是指在噪声环境中检测语音的存在与否,通常用于语音编码、语音增强等语音处理系统中,起到降低语音编码速率、节省通信带宽、减少移动设备能耗、提高识别率等作用。早先具有代表性的VAD方法有ITU-T的G.729Annex B。目前,语音活动检测技术已广泛应用到语音识别过程中,通过语音活动检测技术检测出一段音频中真正包含用户语音的部分,从而消除音频中静音的部分,仅对包含用户语音的部分音频进行识别处理。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
在具体实践过程中,现有的获取具有完整语义的语音数据的一种方式为:用户在输入一段语音数据后按下指定按键,以告知智能设备语音输入结束,智能设备获取这段语音数据进行处理,但是,这种方式操作繁琐,且适应场景单一、不够灵活。另外一种方式为,在智能设备持续收音时通过VAD技术对连续输入的语音数据进行截断,得到一段完整的语音数据,但是,当环境噪声较大时,采用这种方法会发生无法截断或误判截断等情况,导致无法及时进行语音识别,进而延长了智能设备的响应时间,导致用户无法获到及时的回复,降低了用户体验。
为此,本发明的发明人预先收集具有完整语义的自然语言文本,在收集的文本之后添加结束字符(如EOS等),结束字符用于标识该文本已经是一个具有完整语义的文本,然后将添加了结束字符的具有完整语义的自然语言文本作为语料,添加到语料库中。接着,对语料库中的各语料进行分词处理,统计基于分词处理结果得到的各种分词序列在语料库的各语料中出现的次数,作为词频数据。具体可通过以下格式存储词频数据:分词序列{w1,…,wn}和该分词序列对应的在语料库的各语料中出现的次数关联存储,例如,可通过key-value的方式存储词频数据,分词序列作为key值,对应的次数作为value值,方便在使用时查找到分词序列对应的次数。在获取到词频数据的基础上,还可以根据词频数据确定出各分词序列对应的预测概率,该预测概率表征对应的分词序列之后的下一个分词片段为结束字符的概率,从而得到概率数据,将分词序列和该分词序列对应的预测概率关联存储,例如,可通过key-value的方式存储概率数据,分词序列作为key值,对应的预测概率作为value值,方便在使用时查找到分词序列对应的预测概率。
在此基础上,具体的语音信号处理过程包括:对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;对临时识别结果进行分词处理,得到若干分词片段;获取第一分词序列之后的下一个分词片段为结束字符的预测概率,其中,预测概率为根据词频数据确定的,词频数据包括基于语料库中的语料确定出的各分词序列在各语料中出现的次数,第一分词序列为临时识别结果中最后的N个分词片段组成的序列,N为正整数;若预测概率大于概率阈值,对临时识别结果进行语义解析。通过词频数据可准确预测临时识别结果之后出现结束字符的预测概率,当预测概率大于概率阈值时,表明临时识别结果之后出现结束字符的概率较大,即表明临时识别结果为具有完整语义的文本,此时可对临时识别结果进行语义解析等处理,得到对应的响应数据,并控制智能设备执行该响应数据,能够及时准确地对持续输入的音频流数据进行截断处理,从而有效地区分音频流数据中包含的多个连续的句子,以便针对用户输入的音频流数据中的每个句子作出及时的响应,缩短了智能设备的响应时间,提高用户体验。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
首先参考图1,其为本发明实施例提供的语音信号处理方法的应用场景示意图。用户10与智能设备11进行交互过程中,智能设备11会持续采集周围的声音,并以音频流数据的形式持续发送给服务器12,音频流数据中除了包含用户10的说话声,也可能包含智能设备11周围的环境声或其他用户的说话声。服务器12对智能设备11持续发送的音频流数据依次进行语音识别处理和语义解析处理,根据语义解析结果确定出相应的响应数据,并控制智能设备11执行该响应数据,以向用户作出反馈。本发明实施例中所指的响应数据不限于文本数据、音频数据、图像数据、视频数据、语音播报、或控制指令等,其中,控制指令包括但不限于:控制智能设备显示表情的指令、控制智能设备的动作部件运动的指令(如引领、导航、拍照、跳舞等)等。
这种应用场景下,智能设备11和服务器12之间通过网络进行通信连接,该网络可以为局域网、广域网等。智能设备11可以为智能音箱、机器人等,也可以为便携设备(例如:手机、平板、笔记本电脑等),还可以为个人电脑(PC,Personal Computer)。服务器12可以为任何能够提供语音识别和语义解析服务的一台服务器、若干台服务器组成的服务器集群或云计算中心。
当然,对音频流数据的语音识别处理和语义解析处理,以及后续确定响应数据等处理,也可以在智能设备侧执行,本发明实施例中不对执行主体进行限定。为了便于描述,本发明提供的各实施例中均以在服务器侧执行语音处理为例进行说明,在智能设备侧执行语音处理的过程与此类似,此处不再赘述。
本发明实施例提供的语音信号处理方法,可用于对任意一门语言对应的语音进行处理,例如汉语、英语、日语、德语等。本发明实施例中主要是以对汉语的处理方式为例进行说明的,对其他语言的处理方式与此类似,本发明实施例中不再一一举例说明。
下面结合图1所示的应用场景,对本发明实施例提供的技术方案进行说明。
参考图2,本发明实施例提供一种语音信号处理方法,包括以下步骤:
S201、对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果。
本发明实施例中,在用户开始与智能设备对话后,智能设备会持续采集该智能设备周围环境中的声音,转换成音频流数据后发送给服务器。服务器可利用实时语音转写等技术,对持续的音频流数据进行语音识别,实时更新临时识别结果(即实时识别得到的文本信息),每次更新都是基于上次更新后的临时识别结果进行的。需要说明的是,临时识别结果会随着智能设备上传的新的音频流数据而实时更新,例如,一开始获得的临时识别结果为“金”,在临时识别结果“金”的基础上,基于后续的音频流数据对临时识别结果“金”进行更新,获得更新后的临时识别结果,更新后的临时识别结果可能被纠正为“今天”,下一次更新后的临时识别结果可能为“今天田”,继续基于音频流数据对临时识别结果进行更新,更新后的临时识别结果又可能被纠正为“今天天气”。
S202、对临时识别结果进行分词处理,得到若干分词片段。
具体实施时,可通过现有的分词工具(如jieba、SnowNLP、THULAC、NLPIR等)对临时识别结果进行分词处理,以将临时识别结果分成若干分词片段。例如,临时识别结果为“介绍一下青花瓷”,则分词结果为“介绍”、“一下”和“青花瓷”三个分词片段。
S203、获取第一分词序列之后的下一个分词片段为结束字符的预测概率,其中,预测概率为根据词频数据确定的,词频数据包括基于语料库中的语料确定出的各分词序列在各语料中出现的次数,第一分词序列为临时识别结果中最后的N个分词片段组成的序列。
本发明实施例的语料库中,每个语料均为具有完整语义的文本,例如,“介绍一下青花瓷”、“今天天气怎么样”,且每个语料的最后一个分词片段均为结束字符,即每个语料以结束字符结尾。具体地,结束字符为预先规定的特殊字符,且能够与语料中包含的字符区分开来,例如,当语料库为中文语料库时,结束字符可以是“EOS”、“#”等。以结束字符为“EOS”为例,语料库中的语料为“介绍一下青花瓷EOS”、“今天天气怎么样EOS”。
本发明实施例中,将结束字符作为一个分词片段。
具体地,可参考如下公式预测一个分词序列之后出现结束字符的概率:
P(EOS|wm-N+1,…,wm)=C(wm-N+1,…,wm,EOS)/C(wm-N+1,…,wm),
其中,P(EOS|wm-N+1,…,wm)为分词序列{wm-N+1,…,wm}之后出现结束字符EOS的预测概率,C(wm-N+1,…,wm,EOS)为分词序列{wm-N+1,…,wm,EOS}在各语料中出现的次数,C(wm-N+1,…,wm)为分词序列{wm-N+1,…,wm}在各语料中出现的次数,N=1,…,m。为此,需要基于语料库中的语料,预先统计各分词序列{wm-N+1,…,wm,EOS}以及{wm-N+1,…,wm}在各语料中出现的次数。
本发明实施例中的N为正整数。具体实施时,N的取值可根据实际需求确定。例如,当N=1时,预测概率为P(EOS|wm)=C(wm,EOS)/C(wm),即仅根据临时识别结果中的最后一个分词片段预测下一个词为结束字符的概率;当N=2时,预测概率为P(EOS|wm-1,wm)=C(wm-1,wm,EOS)/C(wm-1,wm),即根据临时识别结果中最后两个分词片段预测下一个词为结束字符的概率;当N=3时,预测概率为P(EOS|wm-2,wm-1,wm)=C(wm-2,wm-1,wm,EOS)/C(wm-2,wm-1,wm),即根据临时识别结果中最后三个分词片段预测下一个词为结束字符的概率。
举例说明,临时识别结果为“介绍一下青花瓷”,则分词结果为“介绍”、“一下”和“青花瓷”三个分词片段,假设N=2,则临时识别结果包括两个二元分词序列,即{介绍,一下}和{一下,青花瓷},而“介绍一下青花瓷”对应的第一分词序列为{一下,青花瓷},从词频数据中获取分词序列{一下,青花瓷}和{一下,青花瓷,EOS}对应的次数C1和C2,则{一下,青花瓷}之后出现结束字符的概率为C2/C1;假设N=3,则临时识别结果为“介绍一下青花瓷”对应的第一分词序列为{介绍,一下,青花瓷},从词频数据中获取分词序列{介绍,一下,青花瓷}和{介绍,一下,青花瓷,EOS}对应的次数C3和C4,则{介绍,一下,青花瓷}之后出现结束字符的概率为C4/C3。
S204、若预测概率大于概率阈值,对临时识别结果进行语义解析。
具体实施时,概率阈值可根据实际需求确定,本发明实施例不作限定。具体实施时,若预测概率不大于概率阈值,表明该临时识别结果还不具有完整语义,则返回步骤S202,对下一次临时识别结果进行分词处理;若预测概率大于概率阈值,表明该临时识别结果为具有完整语义的文本,此时可对临时识别结果进行语义解析等处理。
本发明实施例的方法,通过词频数据可准确预测临时识别结果之后出现结束字符的预测概率,当预测概率大于概率阈值时,表明临时识别结果之后出现结束字符的概率较大,即表明临时识别结果为具有完整语义的文本,此时可对临时识别结果进行语义解析等处理,得到对应的响应数据,并控制智能设备执行该响应数据。为此,本发明实施例的方法能够及时准确地对持续输入的音频流数据进行截断处理,从而有效地区分音频流数据中包含的多个连续的句子,以便针对用户输入的音频流数据中的每个句子作出及时的响应,缩短了智能设备的响应时间,提高用户体验。此外,由于本发明实施例的方法不基于VAD检测结果进行截断,能够更好地适应人声较为嘈杂的公开、服务场景。
基于上述任一实施例,具体实施时,参考图3,可通过如下方式获取词频数据:
S301、对语料库中的各语料进行分词处理,得到各语料对应的分词片段。
具体实施时,可通过现有的分词工具(如jieba、SnowNLP、THULAC、NLPIR等)对语料库中的各语料进行分词处理,以将各语料分成若干分词片段。例如,语料为“介绍一下青花瓷EOS”,则分词结果为得到“介绍”、“一下”、“青花瓷”和“EOS”四个分词片段。分词过程中,将结束字符作为一个分词片段。
S302、将每个语料中连续的N个分词片段组成的序列确定为一个N元分词序列。
具体实施时,N的取值可以根据实际应用需求确定,例如N可以取2、3、4等数值,本发明实施例不作限定。针对一个语料库,可统计不同长度的分词序列在语料库的各语料中出现的次数,即N可以取多种不同的值,这样,语料库对应的词频数据中就会包括各种长度的分词序列在语料库的各语料中出现的次数。
S303、将每个语料中连续的N+1个分词片段组成的序列确定为一个N+1元分词序列。
S304、统计每个N元分词序列和每个N+1元分词序列在语料库的各语料中出现的次数,得到词频数据。
举例说明,一个语料w1w2w3w4w5对应的分词片段为w1、w2、w3、w4、w5,其组成的序列为{w1,w2,w3,w4,w5},当N=2时,将序列{w1,w2,w3,w4,w5}中任意2个连续的分词片段组成的序列作为一个二元分词序列,即可确定出以下几个二元分词序列{w1,w2}、{w2,w3}、{w3,w4}、{w4,w5},将序列{w1,w2,w3,w4,w5}中任意3个连续的分词片段组成的序列作为一个三元分词序列,即可确定出以下几个三元分词序列{w1,w2,w3}、{w2,w3,w4}、{w3,w4,w5},因此,针对语料w1w2w3w4w5,一共可获得上述7个分词序列。通过上述方式得到语料库中所有语料对应的二元分词序列和三元分词序列,然后统计各分词序列在语料库的各语料中出现的次数。
由于N越大,分词序列包含的分词片段越多,预测精准度越高,但同时统计词频数据的过程越复杂。根据测试发现,当N取2时,在统计词频数据时,只需要统计二元分词序列和三元分词序列在语料库的各语料中出现的次数,统计过程相对简单,同时又能保证预测过程中的精准度。
具体实施时,不同的语料可能会对应相同的分词序列,统计过程中,相同的分词序列只对应一个统计结果。例如,语料库中存在3个语料“介绍一下青花瓷EOS”、“介绍一下北京EOS”、“介绍一下北京的美食EOS”,针对这3个语料都会得到分词序列{介绍,一下},因此,二元分词序列{介绍,一下}在语料库的各语料中出现的次数为3次,分词序列{介绍,一下,北京}、和{一下,北京}在语料库的各语料中出现的次数为2次,其他分词序列在语料库的各语料中出现的次数为1次。
具体实施时,参考图4,基于统计得到的词频数据,在语音信号处理过程中,可通过如下方式在线获取第一分词序列之后的下一个分词片段为结束字符的预测概率:
S2031、从词频数据中获取第一分词序列对应的次数M。
例如,临时识别结果为w1 w2… wm-1wm,则第一分词序列为{wm-N+1,…,wm}。然后,从词频数据中获取第一分词序列为{wm-N+1,…,wm}在语料库出现的次数。
本步骤中的N是根据词频数据中的分词序列的长度确定的。例如,如果步骤S302中的N取2,则第一分词序列中包含的分词片段的数量为2,此时,若临时识别结果为w1 w2 …wm-1wm,第一分词序列为{wm-1,wm}。
S2032、从词频数据中获取第二分词序列对应的次数K,第二分词序列为在第一分词序列之后增加结束字符得到的序列。
例如,第一分词序列为{wm-N+1,…,wm},则第二分词序列为{wm-N+1,…,wm,EOS}。然后,从词频数据中获取第二分词序列{wm-N+1,…,wm,EOS}对应的次数。
S2033、根据K和M,确定预测概率。
作为一种可能的实施方式,可通过如下公式确定预测概率:P=K/M。具体地,若M=0,则不执行步骤S2033,直接确定预测概率等于0。
举例说明,假设N=2,概率阈值为0.5,临时识别结果为“介绍一下”,则分词结果为“介绍”、“一下”,第一分词序列为{介绍,一下},第二分词序列为{介绍,一下,EOS},从词频数据中获取{介绍,一下}对应的次数为1000次,从词频数据中获取{介绍,一下,EOS}对应的次数为2次,则第一分词序列{介绍,一下}之后出现结束字符的预测概率为2/1000=0.002,预测概率小于概率阈值,则临时识别结果“介绍一下”不具有完整语义。对下一次临时识别结果“介绍一下青花瓷”进行处理,得到分词结果为“介绍”、“一下”、“青花瓷”,第一分词序列为{一下,青花瓷},第二分词序列为{一下,青花瓷,EOS},从词频数据中获取{一下,青花瓷}对应的次数为20次,从词频数据中获取{一下,青花瓷,EOS}对应的次数为12次,则第一分词序列{一下,青花瓷}之后出现结束字符的预测概率为12/20=0.6,预测概率大于概率阈值,则临时识别结果“介绍一下青花瓷”具有完整语义,则可对临时识别结果“介绍一下青花瓷”进行语义解析。
作为另一种可能的实施方式,还可通过如下公式确定预测概率:P=K/(M+β),其中,β为一个远小于M的数据,例如,β可以取1、0.1等数值,以防止出现M=0的情况。
作为再一种可能的实施方式,还可通过如下公式确定预测概率:P=aK/bM,其中,a和b为加权系数,0<a≤1,0<b≤1,可以根据实际应用场景配置加权系数的具体取值。
上面给出了根据K和M确定预测概率的三种可能的实现方式,但本发明实施例中不限定确定预测概率的具体实现方式,只要基于K和M得到预测概率的方式均适用于本发明实施例中。
具体实施时,还可以根据词频数据,预先计算出基于语料库中的语料确定出的各N元分词序列对应的预测概率,得到概率数据。具体地,可通过如下方式计算各N元分词序列之后出现结束字符的预测概率:从词频数据中获取N元分词序列{w1,…,wn}对应的次数U;在N元分词序列{w1,…,wn}之后增加结束字符,得到序列{w1,…,wn,EOS},从词频数据中获取序列{w1,…,wn,EOS}对应的次数V;根据U和V,确定该N元分词序列{w1,…,wn}对应的预测概率。最终得到的概率数据包括基于语料库中的语料确定出的各N元分词序列之后出现结束字符的预测概率。可将N元分词序列{w1,…,wn}和该N元分词序列对应的预测概率关联存储,方便在语音信号处理过程中,快速查找N元分词序列对应的预测概率。其中,根据U和V确定该N元分词序列{w1,…,wn}对应的预测概率的具体实现方式可参见上述根据K和M确定预测概率的具体实现方式,此处不再赘述。
下面以N=2为例,说明基于语料库中的语料获取词频数据和概率数据的过程。
对语料库中的每个语料分别进行分词处理,将各语料划分成若干分词片段,再将分词片段组成分词序列,语料库中每个语料的最后一个字符为“EOS”。对于每个语料,根据该语料对应的若干分词片段,依次将相邻的两个分词片段形成二元分词序列,以及依次将相邻的三个分词片段形成三元分词序列,从而获得大量的二元分词序列和三元分词序列,统计各二元分词序列和三元分词序列在语料库的各语料中出现的次数,得到词频数据。其中,二元分词序列以如下结构进行存储:{w1,w2},三元分词序列以如下结构进行存储:{w1,w2,w3}。词频数据中包含的每个分词序列还会对应有一个计数字段Num,该计数字段Num用来记录该分词序列在语料库的各语料中出现的次数,存储的结构为{w1,w2}-Num,或{w1,w2,w3}-Num。
例如,语料“介绍一下青花瓷EOS”的分词结果为“介绍”、“一下”、“青花瓷”和“EOS”,存储的二元分词序列包括{介绍,一下}、{一下,青花瓷}和{青花瓷,EOS},三元分词序列包括{介绍,一下,青花瓷}和{一下,青花瓷,EOS}。分别统计{介绍,一下}、{一下,青花瓷}、{青花瓷,EOS}、{介绍,一下,青花瓷}和{一下,青花瓷,EOS}分别在语料库的各语料中出现的次数,并关联存储分词序列以及对应的次数。例如,针对二元分词序列{介绍,一下},存储的数据为:{介绍,一下}-10000,表示“介绍”这个词的下一个词为“一下”的情况在语料库的各语料中共出现过10000次;针对三元分词序列{一下,青花瓷,EOS},存储的数据为:{一下,青花瓷,EOS}-2000,表示“一下青花瓷”的下一个词为“EOS”的情况在语料库的各语料中共出现过2000次。
基于获取到的词频数据,可计算出各二元分词序列之后的下一个分词片段是结束字符的预测概率,得到概率数据。例如,针对二元分词序列{介绍,一下},从词频数据中获取{介绍,一下}对应的次数100000,并从词频数据中获取{介绍,一下,EOS}对应的次数1000,则二元分词序列{介绍,一下}对应的预测概率为0.01。概率数据中的每个二元分词序列还对应有一个概率字段P,该概率字段P用来记录该二元分词序列对应的预测概率,存储的结构为:{w1,w2}-P。
具体实施时,可通过以下方式更新语料库中的语料:
第一种方式、获取人工干预后的具有完整语义的文本,在文本之后添加结束字符,将添加结束字符的文本作为新增的语料添加到语料库中。
具体实施时,可通过人工处理的方式获取具有完整语义的文本,并在这些具有完整语义的文本之后添加结束字符得到新增的语料,并添加到语料库中。例如,运营人员可以对智能设备采集到的语音数据对应的文本数据进行人工干预以得到具有完整语义的文本,并添加结束字符得到新增的语料添加到语料库中;又如,运营人员可以对录制的语音数据对应的文本数据进行人工干预以得到具有完整语义的文本,并添加结束字符得到新增的语料添加到语料库中;再如,运营人员可以从第三方(如网络等)获取具有完整语义的文本,并添加结束字符得到新增的语料添加到语料库中。
第二种方式、在语音信号处理过程中,若步骤S203中的预测概率小于或等于概率阈值,且通过语音端点检测得到的所述音频流数据中的语音起始点和语音结束点,在语音起始点和语音结束点之间的音频流数据对应的最终识别结果之后添加结束字符,将添加结束字符的最终识别结果作为新增的语料添加到语料库中。
实际应用中,基于语音端点检测(VAD)可定位出音频数据流所包含的语音起始点和语音结束点,从而将VAD检测得到的语音起始点和语音结束点之间的音频数据流的临时识别结果确定为具有完整语义的最终识别结果,基于该最终识别结果进行后续的语义解析等处理。在得到最终识别结果后,可以清除已缓存的临时识别结果。与此同时,对之后采集到的音频流数据实时进行语音识别等处理。具体实施时,语音端点标识为用于标记音频流数据中语音结束时刻的标识,接收到语音端点标识即表明用户已经输入一段完整的语音,认为基于语音端点标识前的音频流数据得到的临时识别结果应当是具有完整语义的语句,即确定为最终识别结果。因此,如果基于临时识别结果确定出的预测概率一直小于或等于概率阈值,直到通过VAD定位出音频流数据中的语音结束点,则表明基于当前的词频数据无法实现截断,此时可在最终识别结果之后添加结束字符,将添加结束字符的最终识别结果作为新增的语料添加到语料库中。
基于上述任一实施例,具体实施时,若语料库中有新增的语料,对新增的语料进行分词处理,得到新增的语料对应的N元分词序列和N+1元分词序列;更新新增的语料对应的N元分词序列和N+1元分词序列对应的词频数据。更新词频数据的具体过程可参考图3所示的步骤,不再赘述。
因此,本发明实施例的方法,可根据智能设备采集的数据,实时在线更新语料库以及对应的词频数据,从而不断地优化处理结果,使得预测结果更加准确。
具体实施时,若词频数据发生更新,根据更新后的词频数据,更新各分词序列对应的预测概率。更新预测概率的具体过程可参考计算概率数据的步骤,不再赘述。例如,若N元分词序列{w1,…,wn}对应的次数发生更新,或者在N元分词序列{w1,…,wn}之后增加结束字符得到N+1元分词序列{w1,…,wn,EOS}对应的次数发生更新,则基于更新后的次数,重新确定N元分词序列{w1,…,wn}对应的预测概率。
因此,本发明实施例的方法,还可以根据智能设备采集的数据,实时在线更新概率数据,从而不断地优化处理结果,使得预测结果更加准确。
在上述任一实施例的基础上,步骤S203可通过如下方式实现:获取智能设备对应的专属词频数据,根据获取的专属词频数据,确定第一分词序列之后的下一个分词片段为结束字符的预测概率;和/或获取通用词频数据,确定第一分词序列之后的下一个分词片段为结束字符的预测概率。
具体实施时,针对每个智能设备、每个用户、每个企业、每个业务线等不同的应用场景,可配置不同的专属语料库,其中,可以为专属语料库配置生效范围,所述生效范围包括但不限于:设备级生效范围、用户级生效范围、企业级生效范围、业务线级生效范围等。基于所配置的专属语料库中各语料形成的分词序列进行词频统计,得到不同专属语料库对应的专属词频数据,并确定每个专属词频数据的生效范围。其中,根据专属词频数据对应的专属语料库的生效范围,确定专属词频数据的生效范围。例如,基于一个专属语料库进行词频统计得到的专属词频数据的生效范围,配置为与该专属语料库的生效范围相同。又如,基于至少两个专属语料库进行词频统计得到的专属词频数据的生效范围,配置为与范围最大的专属语料库的生效范围相同。
实际应用中,可设置生效范围的优先级,例如设备级生效范围的优先级高于用户级生效范围的优先级,用户级生效范围的优先级高于企业级生效范围的优先级,企业级生效范围的优先级高于业务线级生效范围的优先级。针对同一智能设备,若存在多个对该智能设备生效的专属词频数据,则根据各专属词频数据的生效范围的优先级,选择生效范围的优先级最高的专属词频数据,基于该优先级最高的专属词频数据,对智能设备发送的音频数据的临时识别结果进行预测。例如,对智能设备A生效的专属词频数据包括用户级生效范围的专属词频数据QA、设备级生效范围的专属词频数据QB,则选择优先级较高的属词频数据QB进行预测。若词频数据QB中未包含所述第一分词序列对应的词频数据,则再选择优先级较高的属词频数据QA进行预测。
具体地,智能设备上传音频流数据的同时上报该智能设备的标识信息,可通过智能设备的标识信息,获取对该智能设备生效的专属词频数据。
本发明实施例中的通用词频数据,是基于通用的语料库获得的词频数据。具体实施时,通用词频数据的生效范围可设置为全局生效,即所有智能设备均可使用该通用词频数据。
具体实施时,当用户不存在专属词频数据时,可使用通用词频数据确定第一分词序列之后的下一个分词片段为结束字符的预测概率。或者,当通过专属词频数据无法确定出预测概率时,可使用通用词频数据确定第一分词序列之后的下一个分词片段为结束字符的预测概率。或者,可使用通用词频数据确定第一分词序列之后的下一个分词片段为结束字符的第一预测概率,同时使用专属词频数据确定第一分词序列之后的下一个分词片段为结束字符的第二预测概率,根据第一预测概率和第二预测概率,确定最终的预测概率。
基于专属词频数据可确定出对应的专属概率数据,同样可为每个专属概率数据配置生效范围,具体配置方式可参考专属词频数据,不再赘述。
为此,在上述任一实施例的基础上,步骤S203可通过如下方式实现:获取智能设备对应的专属概率数据,根据获取的专属概率数据,确定第一分词序列之后的下一个分词片段为结束字符的预测概率;和/或获取通用概率数据,确定第一分词序列之后的下一个分词片段为结束字符的预测概率。
本发明实施例中的通用概率数据,是基于通用词频数据确定的。具体实施时,通用概率数据的生效范围可设置为全局生效,即所有智能设备均可使用该通用词频数据。
具体实施时,还可根据智能设备上传音频流数据的同时上报的智能设备的标识信息,获取对该智能设备生效的专属词频数据对应的语料库,将基于音频流数据对应的最终识别结果得到的新增语料添加到该语料库中,然后对该语料库对应的词频数据进行更新。或者,还可根据智能设备上传音频流数据的同时上报的智能设备的标识信息,获取对该智能设备生效的专属概率数据对应的语料库,将基于音频流数据对应的最终识别结果得到的新增语料添加到该语料库中,然后对该语料库对应的词频数据进行更新。
因此,本发明实施例的方法,可针对每个智能设备、每个用户、每个企业、每个业务线等应用场景得到不同的语料库以及对应的专属词频数据或专属概率数据,以适应不同的用户或场景,并通过在线更新语料库的方式,能够在使用过程中对不同用户或场景的语料库进行微调,使得处理结果更加准确。
在上述任一实施例的基础上,本发明实施例的方法还包括以下步骤:若步骤S203中的预测概率小于或等于概率阈值,根据词频数据,确定第一分词序列之后出现概率最大的分词片段;控制智能设备输出所确定的分词片段。
具体实施时,可从词频数据中确定出前N个分词片段为第一分词序列的N+1元分词序列,从确定出的N+1元分词序列中选出在各语料中出现的次数最大的N+1元分词序列,将选出的N+1元分词序列的最后一个分词片段,作为第一分词序列之后出现概率最大的分词片段。
举例说明,临时识别结果为“介绍一下”,假设N=2,则第一分词序列为{介绍,一下},从词频数据中确定出前两个分词片段为“介绍”和“一下”的三元分词序列{介绍,一下,青花瓷}、{介绍,一下,北京}、{介绍,一下,故宫},假设三元分词序列{介绍,一下,北京}对应的次数最大,则将三元分词序列{介绍,一下,北京}中最后一个分词片段“北京”作为第一分词序列{介绍,一下}之后出现概率最大的分词片段,控制智能设备输出分词片段“北京”,使得智能设备能够实现意图预测,并对预测到的意图进行展示。
如图5所示,基于与上述语音信号处理方法相同的发明构思,本发明实施例还提供了一种语音信号处理装置50,包括语音识别模块501、分词处理模块502、预测模块503和解析模块504。
语音识别模块501,用于对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果。
分词处理模块502,用于对所述临时识别结果进行分词处理,得到若干分词片段。
预测模块503,用于获取第一分词序列之后的下一个分词片段为结束字符的预测概率,所述预测概率为根据所述词频数据确定的,所述词频数据包括基于语料库中的语料确定出的各分词序列在各语料中出现的次数,所述第一分词序列为所述临时识别结果中最后的N个分词片段组成的序列,N为正整数。
解析模块504,用于若所述预测概率大于概率阈值,对所述临时识别结果进行语义解析。
作为一种可能的实施方式,预测模块503具体用于:
从所述词频数据中获取所述第一分词序列对应的次数M;从所述词频数据中获取第二分词序列对应的次数K,所述第二分词序列为在所述第一分词序列之后增加所述结束字符得到的序列;根据所述K和所述M,确定所述预测概率;
或者,从预先配置的各N元分词序列之后的下一个分词片段为结束字符的概率数据中,将所述第一分词序列对应的概率数据确定为预测概率,所述N元分词序列是基于所述语料库中的语料进行分词处理得到的,所述概率数据是根据所述N元分词序列对应的词频数据和在所述N元分词序列之后增加所述结束字符得到的N+1元分词序列对应的词频数据确定的。
作为一种可能的实施方式,通过如下方式获取所述词频数据:
对所述语料库中的各语料进行分词处理,得到各语料对应的分词片段;
将每个语料中连续的N个分词片段组成的序列确定为一个N元分词序列;
将每个语料中连续的N+1个分词片段组成的序列确定为一个N+1元分词序列;
统计每个所述N元分词序列和每个所述N+1元分词序列在所述语料库的各语料中出现的次数,得到所述词频数据。
作为一种可能的实施方式,本发明实施例中的N等于2。
作为一种可能的实施方式,通过如下方式更新所述语料库中的语料:若所述预测概率小于或等于所述概率阈值,且已检测到所述音频流数据中的语音起始点和语音结束点,在所述语音起始点和所述语音结束点之间的音频流数据对应的最终识别结果之后添加所述结束字符,将添加所述结束字符的最终识别结果作为新增的语料添加到所述语料库中;或者,获取人工干预后的具有完整语义的文本,在所述文本之后添加所述结束字符,将添加所述结束字符的文本作为新增的语料添加到所述语料库中。
作为一种可能的实施方式,通过如下方式更新所述词频数据:若所述语料库中有新增的语料,对所述新增的语料进行分词处理,得到所述新增的语料对应的N元分词序列和N+1元分词序列;更新所述新增的语料对应的N元分词序列和N+1元分词序列对应的词频数据。
作为一种可能的实施方式,预测模块503具体用于:获取所述智能设备对应的专属词频数据,根据获取的专属词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率;和/或获取通用词频数据,根据所述通用词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率。
作为一种可能的实施方式,通过如下方式更新各分词序列对应的预测概率:若所述词频数据发生更新,根据更新后的词频数据,更新各分词序列对应的预测概率。
作为一种可能的实施方式,本发明实施例的语音信号处理装置50还包括分词预测模块,用于:若所述预测概率小于或等于所述概率阈值,根据所述词频数据,确定所述第一分词序列之后出现概率最大的分词片段;控制所述智能设备输出所确定的分词片段。
本发明实施例提的语音信号处理装置与上述语音信号处理方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述语音信号处理方法相同的发明构思,本发明实施例还提供了一种电子设备,该电子设备具体可以为智能设备内部的控制设备或控制系统,也可以是与智能设备通信的外部设备,如可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、服务器等。如图6所示,该电子设备60可以包括处理器601和存储器602。
存储器602可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于存储语音信号处理方法的程序。
处理器601可以是CPU(中央处埋器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)处理器通过调用存储器存储的程序指令,按照获得的程序指令实现上述任一实施例中的语音信号处理方法。
本发明实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述语音信号处理方法的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
基于与语音信号处理方法相同的发明构思,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述任一实施例中的语音信号处理方法。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明实施例的方法,不应理解为对本发明实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。
Claims (20)
1.一种语音信号处理方法,其特征在于,所述方法包括:
对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;
对所述临时识别结果进行分词处理,得到若干分词片段;
获取第一分词序列之后的下一个分词片段为结束字符的预测概率,所述预测概率为根据词频数据确定的,所述词频数据包括基于语料库中的语料确定出的各分词序列在各语料中出现的次数,所述第一分词序列为所述临时识别结果中最后的N个分词片段组成的序列,N为正整数;
若所述预测概率大于概率阈值,对所述临时识别结果进行语义解析。
2.根据权利要求1所述的方法,其特征在于,所述获取第一分词序列之后的下一个分词片段为结束字符的预测概率,具体包括:
从所述词频数据中获取所述第一分词序列对应的次数M;从所述词频数据中获取第二分词序列对应的次数K,所述第二分词序列为在所述第一分词序列之后增加所述结束字符得到的序列;根据所述K和所述M,确定所述预测概率;
或者,
从预先配置的各N元分词序列之后的下一个分词片段为结束字符的概率数据中,将所述第一分词序列对应的概率数据确定为预测概率,所述N元分词序列是基于所述语料库中的语料进行分词处理得到的,所述概率数据是根据所述N元分词序列对应的词频数据和在所述N元分词序列之后增加所述结束字符得到的N+1元分词序列对应的词频数据确定的。
3.根据权利要求1或2所述的方法,其特征在于,通过如下方式获取所述词频数据:
对所述语料库中的各语料进行分词处理,得到各语料对应的分词片段;
将每个语料中连续的N个分词片段组成的序列确定为一个N元分词序列;
将每个语料中连续的N+1个分词片段组成的序列确定为一个N+1元分词序列;
统计每个所述N元分词序列和每个所述N+1元分词序列在所述语料库的各语料中出现的次数,得到所述词频数据。
4.根据权利要求3所述的方法,其特征在于,所述N等于2。
5.根据权利要求3所述的方法,其特征在于,通过以下方式更新所述语料库中的语料:
若所述预测概率小于或等于所述概率阈值,且已检测到所述音频流数据中的语音起始点和语音结束点,在所述语音起始点和所述语音结束点之间的音频流数据对应的最终识别结果之后添加所述结束字符,将添加所述结束字符的最终识别结果作为新增的语料添加到所述语料库中;
或者,
获取人工干预后的具有完整语义的文本,在所述文本之后添加所述结束字符,将添加所述结束字符的文本作为新增的语料添加到所述语料库中。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述语料库中有新增的语料,对所述新增的语料进行分词处理,得到所述新增的语料对应的N元分词序列和N+1元分词序列;
更新所述新增的语料对应的N元分词序列和N+1元分词序列对应的词频数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述词频数据发生更新,根据更新后的词频数据,更新各分词序列对应的预测概率。
8.根据权利要求1所述的方法,其特征在于,所述获取第一分词序列之后的下一个分词片段为结束字符的预测概率,具体包括:
获取所述智能设备对应的专属词频数据,根据获取的专属词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率;
和/或
获取通用词频数据,根据所述通用词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述预测概率小于或等于所述概率阈值,根据所述词频数据,确定所述第一分词序列之后出现概率最大的分词片段;
控制所述智能设备输出所确定的分词片段。
10.一种语音信号处理装置,其特征在于,所述装置包括:
语音识别模块,用于对智能设备实时采集到的音频流数据进行语音识别,得到临时识别结果;
分词处理模块,用于对所述临时识别结果进行分词处理,得到若干分词片段;
预测模块,用于获取第一分词序列之后的下一个分词片段为结束字符的预测概率,所述预测概率为根据词频数据确定的,所述词频数据包括基于语料库中的语料确定出的各分词序列在各语料中出现的次数,所述第一分词序列为所述临时识别结果中最后的N个分词片段组成的序列,N为正整数;
解析模块,用于若所述预测概率大于概率阈值,对所述临时识别结果进行语义解析。
11.根据权利要求10所述的装置,其特征在于,所述预测模块具体用于:
从所述词频数据中获取所述第一分词序列对应的次数M;从所述词频数据中获取第二分词序列对应的次数K,所述第二分词序列为在所述第一分词序列之后增加所述结束字符得到的序列;根据所述K和所述M,确定所述预测概率;
或者,
从预先配置的各N元分词序列之后的下一个分词片段为结束字符的概率数据中,将所述第一分词序列对应的概率数据确定为预测概率,所述N元分词序列是基于所述语料库中的语料进行分词处理得到的,所述概率数据是根据所述N元分词序列对应的词频数据和在所述N元分词序列之后增加所述结束字符得到的N+1元分词序列对应的词频数据确定的。
12.根据权利要求10或11所述的装置,其特征在于,通过如下方式获取所述词频数据:
对所述语料库中的各语料进行分词处理,得到各语料对应的分词片段;
将每个语料中连续的N个分词片段组成的序列确定为一个N元分词序列;
将每个语料中连续的N+1个分词片段组成的序列确定为一个N+1元分词序列;
统计每个所述N元分词序列和每个所述N+1元分词序列在所述语料库的各语料中出现的次数,得到所述词频数据。
13.根据权利要求12所述的装置,其特征在于,所述N等于2。
14.根据权利要求12所述的装置,其特征在于,通过如下方式更新所述语料库中的语料:
若所述预测概率小于或等于所述概率阈值,且已检测到所述音频流数据中的语音起始点和语音结束点,在所述语音起始点和所述语音结束点之间的音频流数据对应的最终识别结果之后添加所述结束字符,将添加所述结束字符的最终识别结果作为新增的语料添加到所述语料库中;
或者,
获取人工干预后的具有完整语义的文本,在所述文本之后添加所述结束字符,将添加所述结束字符的文本作为新增的语料添加到所述语料库中。
15.根据权利要求14所述的装置,其特征在于,通过如下方式更新所述词频数据:
若所述语料库中有新增的语料,对所述新增的语料进行分词处理,得到所述新增的语料对应的N元分词序列和N+1元分词序列;
更新所述新增的语料对应的N元分词序列和N+1元分词序列对应的词频数据。
16.根据权利要求15所述的装置,其特征在于,通过如下方式更新各分词序列对应的预测概率:
若所述词频数据发生更新,根据更新后的词频数据,更新各分词序列对应的预测概率。
17.根据权利要求10所述的装置,其特征在于,所述预测模块具体用于:
获取所述智能设备对应的专属词频数据,根据获取的专属词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率;
和/或
获取通用词频数据,根据所述通用词频数据,确定所述第一分词序列之后的下一个分词片段为结束字符的预测概率。
18.根据权利要求10所述的装置,其特征在于,所述装置还包括分词预测模块,用于:
若所述预测概率小于或等于所述概率阈值,根据所述词频数据,确定所述第一分词序列之后出现概率最大的分词片段;
控制所述智能设备输出所确定的分词片段。
19.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一项所述方法的步骤。
20.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至9任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910809985.5A CN112530417B (zh) | 2019-08-29 | 2019-08-29 | 语音信号处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910809985.5A CN112530417B (zh) | 2019-08-29 | 2019-08-29 | 语音信号处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112530417A CN112530417A (zh) | 2021-03-19 |
CN112530417B true CN112530417B (zh) | 2024-01-26 |
Family
ID=74973993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910809985.5A Active CN112530417B (zh) | 2019-08-29 | 2019-08-29 | 语音信号处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112530417B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113241071A (zh) * | 2021-05-10 | 2021-08-10 | 湖北亿咖通科技有限公司 | 一种语音处理方法、电子设备及存储介质 |
CN113362824B (zh) * | 2021-06-09 | 2024-03-12 | 深圳市同行者科技有限公司 | 一种语音识别方法、装置及终端设备 |
CN116386613B (zh) * | 2023-06-05 | 2023-07-25 | 成都启英泰伦科技有限公司 | 一种用于命令词语音增强的模型训练方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008083367A (ja) * | 2006-09-27 | 2008-04-10 | Toshiba Corp | 音声認識装置、音声認識方法及びプログラム |
CN101923854A (zh) * | 2010-08-31 | 2010-12-22 | 中国科学院计算技术研究所 | 一种交互式语音识别系统和方法 |
CN107424612A (zh) * | 2017-07-28 | 2017-12-01 | 北京搜狗科技发展有限公司 | 处理方法、装置和机器可读介质 |
JP2017219637A (ja) * | 2016-06-06 | 2017-12-14 | 日本電信電話株式会社 | 音声認識装置、音声認識方法、プログラム |
CN109712610A (zh) * | 2019-03-12 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 用于识别语音的方法和装置 |
CN109754809A (zh) * | 2019-01-29 | 2019-05-14 | 北京猎户星空科技有限公司 | 语音识别方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4652737B2 (ja) * | 2004-07-14 | 2011-03-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 単語境界確率推定装置及び方法、確率的言語モデル構築装置及び方法、仮名漢字変換装置及び方法、並びに、未知語モデルの構築方法、 |
US10186254B2 (en) * | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US9972308B1 (en) * | 2016-11-08 | 2018-05-15 | International Business Machines Corporation | Splitting utterances for quick responses |
-
2019
- 2019-08-29 CN CN201910809985.5A patent/CN112530417B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008083367A (ja) * | 2006-09-27 | 2008-04-10 | Toshiba Corp | 音声認識装置、音声認識方法及びプログラム |
CN101923854A (zh) * | 2010-08-31 | 2010-12-22 | 中国科学院计算技术研究所 | 一种交互式语音识别系统和方法 |
JP2017219637A (ja) * | 2016-06-06 | 2017-12-14 | 日本電信電話株式会社 | 音声認識装置、音声認識方法、プログラム |
CN107424612A (zh) * | 2017-07-28 | 2017-12-01 | 北京搜狗科技发展有限公司 | 处理方法、装置和机器可读介质 |
CN109754809A (zh) * | 2019-01-29 | 2019-05-14 | 北京猎户星空科技有限公司 | 语音识别方法、装置、电子设备及存储介质 |
CN109712610A (zh) * | 2019-03-12 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 用于识别语音的方法和装置 |
Non-Patent Citations (3)
Title |
---|
An Overview of End-to-End Automatic Speech Recognition;D Wang等;Symmetry;全文 * |
基于循环神经网络语言模型的N-best重打分算法;张剑 等;数据采集与处理(第02期);全文 * |
基于词图的最大概率分词方法;刘汉兴 等;计算机工程与设计(第24期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112530417A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11115541B2 (en) | Post-teleconference playback using non-destructive audio transport | |
US11216510B2 (en) | Processing an incomplete message with a neural network to generate suggested messages | |
CN112530417B (zh) | 语音信号处理方法、装置、电子设备及存储介质 | |
CN108682420B (zh) | 一种音视频通话方言识别方法及终端设备 | |
US20240127798A1 (en) | Training speech recognition systems using word sequences | |
KR102081495B1 (ko) | 계정 추가 방법, 단말, 서버, 및 컴퓨터 저장 매체 | |
US11562731B2 (en) | Word replacement in transcriptions | |
CN110287303B (zh) | 人机对话处理方法、装置、电子设备及存储介质 | |
CN113035199B (zh) | 音频处理方法、装置、设备及可读存储介质 | |
US8868419B2 (en) | Generalizing text content summary from speech content | |
CN112201275B (zh) | 声纹分割方法、装置、设备及可读存储介质 | |
JP2022101663A (ja) | ヒューマンコンピュータインタラクション方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
US20080091427A1 (en) | Hierarchical word indexes used for efficient N-gram storage | |
US11488604B2 (en) | Transcription of audio | |
CN107886940B (zh) | 语音翻译处理方法及装置 | |
CN112509570B (zh) | 语音信号处理方法、装置、电子设备及存储介质 | |
JP2023529699A (ja) | テキストエコー消去 | |
JP2013050605A (ja) | 言語モデル切替装置およびそのプログラム | |
US20230130777A1 (en) | Method and system for generating voice in an ongoing call session based on artificial intelligent techniques | |
EP4254400A1 (en) | Method and device for determining user intent | |
CN112185351B (zh) | 语音信号处理方法、装置、电子设备及存储介质 | |
JP2021082125A (ja) | 対話装置 | |
CN113392645B (zh) | 一种韵律短语边界预测方法、装置、电子设备和存储介质 | |
CN116483960B (zh) | 对话识别方法、装置、设备以及存储介质 | |
CN113763921B (zh) | 用于纠正文本的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |