CN111782896A - 语音识别后文本处理方法、装置和终端 - Google Patents
语音识别后文本处理方法、装置和终端 Download PDFInfo
- Publication number
- CN111782896A CN111782896A CN202010636442.0A CN202010636442A CN111782896A CN 111782896 A CN111782896 A CN 111782896A CN 202010636442 A CN202010636442 A CN 202010636442A CN 111782896 A CN111782896 A CN 111782896A
- Authority
- CN
- China
- Prior art keywords
- text
- character
- score
- similarity
- sequence
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 7
- 230000008030 elimination Effects 0.000 claims description 6
- 238000003379 elimination reaction Methods 0.000 claims description 6
- 239000013589 supplement Substances 0.000 claims description 4
- 235000019580 granularity Nutrition 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000012634 fragment Substances 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000005266 casting Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/26—Speech to text systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例提供一种语音识别后文本处理方法、装置和终端,该方法包括:获取用户输入语音的文本字符串,并利用N元语言模型进行候选子串提取,将得到的候选子串合并为序列,将该序列与文本字符串进行相似度匹配以得到字符相似度分值,并基于主题语料库获取与该序列匹配的最相似文本及最大子语义相似度,利用该序列与最相似文本进行N元相似度估计,进而计算得到语义相似度分值,最后利用字符相似度分值和语义相似度分值来计算语音识别置信度。通过本发明的技术方案可以解决语音识别解码器的信息获取难的问题,还利用语法、语义及语用等高层信息来输出置信度,可有效避免错误的语义理解而引发错误的反馈到用户端等问题。
Description
技术领域
本发明涉及语音识别技术领域,尤其涉及一种语音识别后文本处理方法、装置和终端。
背景技术
自动语音识别(ASR)在安静环境下语音识别准确率接近97%,但是在电话通话场景下,由于环境噪声、信道噪声等噪声问题,口语对话语音的形式多样性,例如方言,口语助词、迟疑、重复与停顿造成的语音不流畅,多说话人重叠,以及句子边界定义模糊等,导致实际环境中语音识别的正确率一直不尽如人意,识别率甚至可能不到50%,如果电话机器人在收到非预期输入时也根据最大似然的识别结果将文本送给后续的自然语言理解并做出交互动作,会导致语音交互流程不可控,严重影响交互体验。因此,语音识别后文本处理主要目的是去除没有语义意义的音频片段,节省后端处理的计算资源,提高整个对话***的交互鲁棒性,提升用户使用体验,避免错误的语义理解引发错误的反馈到用户端。
目前,语音识别后文本处理主要是从语音识别置信度估计出发,利用解码器的信息来输出置信度,对ASR识别结果的可信度进行度量。然而,对于第三方调用语音识别的电话机器人厂商,获取解码器的信息往往比较困难,并且仅利用解码信息指导对识别结果的评价还会丢失语法、语义及语用等高层信息。
发明内容
有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种语音识别后文本处理方法、装置和终端。
本发明的一实施例提供一种语音识别后文本处理方法,包括:
接收用户输入的语音,通过语音识别生成所述语音的文本字符串;
利用N元语言模型对所述文本字符串进行候选子串提取,将提取到的所述候选子串合并以构成一序列;
将所述序列与所述文本字符串进行字符相似度匹配,得到字符相似度分值;
从主题语料库中提取与所述序列匹配时子语义相似度分值最大的一文本作为最相似文本,对所述序列与所述最相似文本进行N元相似度计算以得到对应的N元相似度分值,基于所述子语义相似度分值和所述对应的N元相似度分值计算语义相似度分值;
根据所述字符相似度分值和所述语义相似度分值计算语音识别置信度,以用于根据所述语音识别置信度执行相应的操作。
在一些实施例中,所述N元语言模型包括基于词粒度产生的多个n元短语所构成的Ngram元组数据集,其中,所述多个n元短语包括1元短语、2元短语、3元短语和4元短语,所述利用N元语言模型对所述文本字符串进行候选子串提取包括:
对所述文本字符串进行分词,得到包含若干分词词组的一词列表;
根据各个所述分词词组在所述词列表中的位置次序生成多个k元短语候选,其中,所述多个k元短语候选包括1元短语候选、2元短语候选、3元短语候选和4元短语候选,每一所述k元短语候选设有对应的起止位置索引;
将每一所述k元短语候选与所述Ngram元组数据集进行匹配,得到匹配成功的若干k元短语以作为所述语音的关键短语;
根据所述关键短语的所述起止位置索引进行去重处理,将去重后得到的各关键短语作为对应的候选子串。
在一些实施例中,所述Ngram元组数据集还包括基于字粒度产生的多个m元短语,其中,所述多个m元短语包括2元短语、3元短语和4元短语,所述方法在生成多个k元短语候选之后,还包括:
对所述文本字符串进行字符分割,得到包含若干字符的一字符列表;
根据各所述字符在所述字符列表中的位置次序生成多个s元短语候选,其中,所述多个s元短语候选包括2元短语候选、3元短语候选和4元短语候选,每一所述s元短语候选设有对应的起止位置索引;
将与所述多个k元短语候选不同且对应的所述起止位置索引也不同的各s元短语候选作为短语候选补充,以用于与所述Ngram元组数据集进行匹配。
在一些实施例中,所述将所述序列与所述文本字符串进行字符相似度匹配,得到字符相似度分值包括:
根据所述序列与所述文本字符串各自的字符个数计算字符相似度分值;
若所述字符相似度分值为Score1,len()表示字符个数,则有:
在一些实施例中,所述对所述序列与所述最相似文本进行N元相似度计算以得到对应的N元相似度分值包括:
根据所述序列和所述最相似文本各自的字符集合按照第一相似度公式计算所述序列和所述最相似文本的1元相似度分值;
根据所述序列和所述最相似文本各自的2元集合按照第二相似度公式计算所述序列和所述最相似文本的2元相似度分值。
在一些实施例中,所述基于所述子语义相似度分值和所述对应的N元相似度分值计算语义相似度分值包括:
计算所述子语义相似度分值、所述1元相似度分值和所述2元相似度分值这三者的分值总和以及平均分值;
计算所述这三者中大于所述平均分值的个数,以及大于所述平均分值的累加分值;
若所述个数等于1,则所述语义相似度分值等于所述分值总和与所述累加分值之差的二分之一,否则,所述语义相似度分值等于所述累加分值的二分之一。
在一些实施例中,所述语音识别置信度的计算按照如下公式计算得到:
Score=alpha*Score1+(1-alpha)*Score2;
其中,Score为语音识别置信度;alpha为预设值;Score1和Score2分别为所述字符相似度分值和所述语义相似度分值。
本发明的一实施例还提供一种语音识别后文本处理装置,包括:
文本字符串获取模块,用于接收用户输入的语音,通过语音识别生成所述语音的文本字符串;
序列提取模块,用于利用N元语言模型对所述文本字符串进行候选子串提取,将提取到的所述候选子串合并以构成一序列;
字符相似度分值计算模块,用于将所述序列与所述文本字符串进行字符相似度匹配,得到字符相似度分值;
语义相似度分值计算模块,用于从主题语料库中提取与所述序列匹配时子语义相似度分值最大的一文本作为最相似文本,对所述序列与所述最相似文本进行N元相似度计算以得到对应的N元相似度分值,基于所述子语义相似度分值和所述对应的N元相似度分值计算语义相似度分值;
置信度计算模块,用于根据所述字符相似度分值和所述语义相似度分值计算语音识别置信度,以用于根据所述语音识别置信度执行相应的操作。
本发明的一实施例还提供一种终端,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施上述的语音识别后文本处理方法。
本发明的一实施例还提供一种可读存储介质,其存储有计算机程序,所述计算机程序被执行时,实施上述的语音识别后文本处理方法。
本发明的实施例具有如下优点:
本发明实施例的语音识别后文本处理方法通过利用N元语言模型对用户输入的语音的文本字符串进行候选子串提取,进而将得到的候选子串合并为序列,将该序列与文本字符串进行相似度匹配以得到字符相似度分值,并基于主题语料库获取与该序列匹配的最相似文本及最大子语义相似度,利用该序列与最相似文本进行N元相似度估计,进而计算得到语义相似度分值,最后利用字符相似度分值和语义相似度分值来计算语音识别置信度。利用本发明的技术方案可以解决获取第三方语音识别的解码器信息获取困难的问题,还利用符合当前使用场景构建的N元语言模型和主题语料库等,即利用语法、语义及语用等高层信息来输出语音识别置信度,可以很好地解决因错误的语义理解而引发错误的反馈到用户端的难题,提高了用户体验等。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例的语音识别后文本处理方法的流程示意图;
图2示出了本发明实施例的语音识别后文本处理方法的基于词粒度的短语候选进行子串提取流程示意图;
图3示出了本发明实施例的语音识别后文本处理方法的基于字粒度进行候选补充的流程示意图;
图4示出了本发明实施例的语音识别后文本处理方法的语义相似度分值获取的流程示意图;
图5示出了本发明实施例的语音识别后文本处理方法的一种应用架构示意图;
图6示出了本发明实施例的语音识别后文本处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
请参照图1,本实施提出一种语音识别后文本处理方法,该方法可用于各种与用户进行语音交互的终端,如智能电话机器人等。
示范性地,如图1所示,本实施例的语音识别后文本处理方法包括:
步骤S10,接收用户输入的语音,通过语音识别生成所述语音的文本字符串。
示范性地,用户可通过与终端进行对话的方式来执行相应操作。通常地,在终端接收到用户输入的语音后,将使用语音识别功能生成该语音对应的文本字符串。可以理解的是,若用户在输入语音时,周边环境比较复杂,如存在环境噪声或多人说话重叠等,则终端同样可能会接收到并转化为相应的文本信息,进而导致该语音识别后的文本存在较大的噪音。
为此,本实施例的方法将对该语音识别后文本作进一步处理,通过计算输出更准确的语音识别置信度,进而根据该语音识别置信度来决定终端的下一步操作。其中,上述的语音识别是一种比较成熟的技术,故在此并不作详细描述,具体可参见相关文献。
步骤S20,利用N元语言模型对所述文本字符串进行候选子串提取,将提取到的候选子串合并以构成一序列。
上述步骤S20,主要是利用N元语言模型(也称N-gram模型)来对该文本字符串进行子串提取来得到多个候选子串,其中,这些候选子串往往代表该语音中相对稳定的关键信息片段,进而将多个候选子串合并为一个序列以作进一步处理。
其中,N-gram模型是一种统计语言模型,本实施例中,该N-gram模型中包括预先构建的N-gram元组数据集,该N-gram元组数据集主要由大量的N-gram短语构成,例如,可从特定对话节点下的语音识别结果中获取符合当前使用场景的正确的字符串片段,并对这些符合语用的字符串片段基于相应的粒度来生成对应的N-gram短语,以便后续利用该N-gram短语来进行短语匹配,进而进行子串提取等。
通常地,文本是由词构成的,故可基于词粒度来生成上述的N-gram短语,例如,可生成1元(Uni-gram)、2元(Bi-gram)、3元(Tri-gram)、4元(Four-gram)和/或5元(Five-gram)等短语,具体的元组数据可根据实际应用场景来确定。当然,该N-gram短语也可以基于其他粒度来生成,在此并不作限定。
在一些实施方式中,如图2所示,上述步骤S20中的候选子串的提取过程主要包括:
步骤S210,对所述文本字符串进行分词,得到包含若干分词词组的一词列表。
示范性地,通过对该文本字符串进行分词,即基于词粒度进行字符串划分,从而得到一个词列表(word_list)。在该词列表中,将包括若干个被划分出来的词组,其中,每一个词组将分配有各自对应的起止位置索引。例如,该word_list的存储形式可为:{[word1start1_indexend1_index],[word2start2_indexend2_index],…,[wordnstartn_indexendn_index]},其中,n为词组个数。可以理解,通过该起止位置索引可以知晓当前词组位于该文本字符串中的具***置,即从第几个字符开始到第几个字符结束。当然,被划分的各个词组也可以采用其他的存储形式,在此并不作限定。
步骤S220,根据各个所述分词词组在所述词列表中的位置次序生成多个k元(k-gram)短语候选。
示范性地,根据N-gram模型的统计规则,利用得到的这些词组分别生成不同元的短语候选,其中,每一k元短语候选设有对应的起止位置索引。例如,可将产生的这些短语候选构建一个候选字典NgramDict,从而方便查询、调用等。
在一种实施方式中,所述多个k元短语候选可包括1元(Uni-gram)短语候选、2元(Bi-gram)短语候选、3元(Tri-gram)短语候选和4元(Four-gram)短语候选。当然,在其他可能的实施方式中,该多个k元短语候选还可以仅包括上述四种中的任意两种或三种组合,或者还可以包括5元(Five-gram)短语候选等,在此不作具体限定。
例如,若一词列表中包括{“查”,“快递”,“到”,“哪里”,“我”},其中,各词组在该词列表中具有对应的位置次序,如“查”位于该词列表的第1位,“快递”位于第2位等等,而且每一词组具有各自的起止位置索引,如“快递”在文本字符串“查快递到哪里我”中是从第2位开始到第3位结束等。以Uni-gram短语候选为例,此时即指每一个词组本身;以Bi-gram短语候选为例,则可生成{“查快递”,“快递到”,“到哪里”}等等。
可以理解,由于每一词组具有各自的起止位置索引,故生成的这些k元短语候选同样有各自对应的起止位置索引,并且是由组合得到的词组的起止位置索引合并生成的。例如,上述的“查快递”的起止位置索引可记为“012”,即从第1位开始到第3位结束。
步骤S230,将每一k元短语候选与所述Ngram元组数据集进行匹配,得到匹配成功的若干k元短语以作为所述语音的关键短语。
示范性地,可将基于步骤S220生成的所有k元短语候选,与预先得到的Ngram元组数据集进行字符匹配,并将匹配成功的那些k元短语以作为该用户输入的语音的关键短语。
步骤S240,根据所述关键短语的所述起止位置索引进行去重处理,将去重后得到的各关键短语作为对应的候选子串。
进一步地,考虑到这些匹配成功的k元短语之间可能存在一些重复的短语,由于每个k元短语有对应的起止位置索引,故可对这些关键短语的起止位置索引进行去重处理,这样可以在尽量保留关键信息的同时,减少候选子串的数量,减少计算量及资源的占用等等。
示范性地,可将所有关键短语的起止位置索引进行去重排序,如从小到大等,这样对于一些如各起止位置索引之间具有包含关系的多个短语,则可保留其中的具有最长的连续数字片段(即起止位置索引是连续的)所对应的短语,从而将其作为上述的候选子串。可以理解,所述的每一候选子串中的字符串是连续的。例如,某一关键短语的起止位置索引为“012”,另一关键短语的起止位置索引为“12”或“01”,则去掉起止位置索引为“12”或“01”的关键短语,并将保留的起止位置索引为“012”的关键短语作为一个候选子串。
此外,考虑到词是由字符组成,该语音识别后文本处理方法还包括,利用字粒度对该文本字符串进行字符分割并获取不同元的s元短语,通过将与基于词粒度得到的N元短语不相同的s元短语作为对词粒度的短语候选的补充,可以提高后续语音置信度计算的精确度等。
在一些实施例中,如图3所示,该语音识别后文本处理方法还包括:
步骤S250,对所述文本字符串进行字符分割,得到包含若干字符的一字符列表。
示范性地,通过对该文本字符串进行字符分割,即基于词粒度进行字符串划分,从而得到一个字符列表(character_list)。在该字符列表中,将包括若干个被划分出来的字符,其中,每一个字符将分配有各自对应的起止位置索引。例如,该character_list的存储形式可为:{[character1start1_indexend1_index],[character2start2_indexend2_index],…,[charactermstartm_indexendm_index]},其中,m为总字符个数。可以理解,通过该起止位置索引可以知晓当前字符位于该文本字符串中的具***置。当然,各字符也可以采用其他的存储形式,在此并不作限定。
步骤S260,根据各字符在所述字符列表中的位置次序生成多个s元短语候选,其中,每一s元短语候选设有对应的起止位置索引。
示范性地,利用这些字符可分别生成不同元的短语候选。在一种实施方式中,所述多个s元短语候选包括2元短语候选、3元短语候选和4元短语候选。当然,在其他可能的实施方式中,该多个s元短语候选还可以仅包括上述三种中的任意一种或两种组合,或者还可以其他元短语候选等,在此不作具体限定。可以理解,这里的s元短语中的s与上述k元短语中的k是为了区别基于不同粒度而产生的短语,这两者中的短语均称为N-gram短语。
步骤S270,将与所述k元短语候选不同且起止位置索引也不同的各s元短语候选作为短语候选补充,以用于与所述Ngram元组数据集进行匹配。
考虑到基于字粒度而生成的s元短语候选部分可能会与上述的基于词粒度而生成的k元短语候选相同且起止位置索引也相同,故对生成的这些s元短语候选进行短语候选去重,即仅将上述多个k元短语中不存在的短语候选作为补充,以用于和上述的所有k元短语候选一起与Ngram元组数据集进行匹配。示范性地,可根据每个s元短语候选的字符片段以及起止位置索引来判断是否与上述的多个k元短语候选相同,若不同,则作为候选补充,可放入上述的候选字典NgramDict中。
步骤S30,将所述序列与所述文本字符串进行字符相似度匹配,得到字符相似度分值。
本实施例中,该字符相似度分值能够用于反映该序列存在的数据噪音情况。通常地,该字符相似度分值越大,则表示数据噪音越少,即该序列能够较大程度地代表该用户输入的语音的识别结果;反之,则表示数据噪音越大,即该序列不能替代上述语音的识别结果。
在一种实施方式中,可根据该序列与该文本字符串各自的字符个数来计算字符相似度分值。由于该序列是由上述的所有候选子串合并得到的,若从序列集合的角度来说,该序列也可称为最长公共子序列(LCS)。例如,若该字符相似度分值记为Score1,len()表示字符个数,具体为用于计算字符串长度的函数,示范性地,可采用如下公式计算得到:
步骤S40,从主题语料库中提取与所述序列匹配时子语义相似度分值最大的一文本作为最相似文本,对所述序列与所述最相似文本进行N元相似度计算以得到对应的N元相似度分值,基于所述子语义相似度分值和所述对应的N元相似度分值计算语义相似度分值。
上述的该主题语料库可预先构建得到,其构建方式并不作限定,具体可根据实际需求来确定。应当注意的是,该主题语料库是针对符合用户需求的使用场景的语料库,例如,若该终端为用于自动快递查询的电话机器人,则该主题语料库应当包括的是与快递查询这一主题的相关语料。
在一种实施方式中,可通过对符合当前使用场景的历史语料进行语音识别,并对得到的语音识别数据进行人工标注以获取识别正确的字符串片段,从而利用这些字符串片段来构建得到该主题语料库。或者,在另一种实施方式中,可对上述的历史语料采用上述步骤S20的方法进行多个子序列提取,然后对这些子序列进行频次统计,在去重后再依据频次大小进行降序排列以得到不同的字符串,最后进行人工标注后用于构建该主题语料库。
对于上述步骤S40,在提取该最相似文本时,示范性地,可先利用如Gensim等开源库工具对上述的主题语料库进行主题模型训练,从而得到对应的语义模型。然后,利用该语义模型从该主题语料库检索出与该序列的语义最接近的文本,即子语义相似度分值(记为Score21)最大时所对应的文本,并将其作为该最相似文本。
可以理解,Gensim是一个用于主题建模、文档索引和大型语料库相似检索的Python库,其包括Word2Vec、FastText、潜在语义分析等多种算法,可计算到该序列与各文本之间的子语义相似度分值,进而根据最大的子语义相似度分值即可确定该最相似文本。可以理解,上述的子语义相似度分值可采用通用的语义相似度即可计算得到,这里主要是为了与后文提及的语义相似度分值进行区分。
在一些实施例中,上述步骤S40中的“对所述序列与所述最相似文本进行N元相似度计算以得到对应的N元相似度分值”包括:1元相似度分值和2元相似度分值的计算。
示范性地,根据所述序列和所述最相似文本各自的字符集合按照第一相似度公式计算所述序列和所述最相似文本的Uni-gram(1元)相似度分值。例如,可提取出该序列的字符集合set1,以及该最相似文本的字符集合set2,然后利用第一相似度公式来求解该Uni-gram相似度分值Score22。例如,该第一相似度公式可为杰卡德(Jaccard)公式,即有:
其中,当集合set1,set2均为空时,J(set1,set2)定义为1。应当理解的是,该第一相似度公式还可以采用如余弦相似度等其他相似度计算公式。
示范性地,根据所述序列和所述最相似文本各自的Bi-gram(2元)集合按照第二相似度公式计算所述序列和所述最相似文本的2元相似度分值。例如,可基于上述的N元语言模型提取出该序列的Bi-gram集合List_gram1,以及该最相似文本的Bi-gram集合List_gram2,然后利用第二相似度公式求解得到该Bi-gram相似度分值Score23。例如,可依据Bi-gram相似度公式计算,其中,len()表示集合中的元素个数,即有:
通过计算上述三种不同的相似度分值可进一步计算得到语义相似度分值,在一种实施方式中,如图4所示,对于上述步骤S40中的“基于所述子语义相似度分值和所述对应的N元相似度分值计算语义相似度分值”包括:
步骤S410,计算所述子语义相似度分值、所述1元相似度分值和所述2元相似度分值这三者的分值总和以及平均分值。
示范性地,若分值总和及平均分值分别记为Scoresum和Scoremean,则有:
Scoresum=Score21+Score22+Score23;
步骤S420,计算所述这三者中大于所述平均分值的个数,以及大于所述平均分值的累加分值;
示范性地,计算这三个分值中大于平均分值Scoremean的个数cnt,并将大于平均分值Scoremean的所有分值进行累加,得到该累加分值Scoreupmean。例如,若子语义相似度分值Score21和2元相似度分值Score23均大于平均分值Scoremean,则将这两个分值相加来得到该累加分值Scoreupmean。
步骤S430,判断所述个数是否等于1。
若个数cnt等于1,则执行步骤S440,否则执行步骤S450。
步骤S440,所述语义相似度分值等于所述分值总和与所述累加分值之差的二分之一。
步骤S450,所述语义相似度分值等于所述累加分值的二分之一。
示范性地,该语义相似度分值Score2满足:
步骤S50,根据所述字符相似度分值和所述语义相似度分值计算语音识别置信度,以用于根据所述语音识别置信度执行相应的操作。
本实施例中,将利用字符相似度分值和语义相似度分值来共同计算该语音识别置信度,示范性地,语音识别置信度Score可按照如下公式计算得到,其中,alpha为一个预设值:
Score=alpha*Score1+(1-alpha)*Score2。
可以理解,终端将根据计算到的语音识别置信度执行相应的预设操作,例如,若该语音识别置信度大于一预设阈值,则将该序列直接作为识别结果发送给后续的自然语言理解模块,并做出交互动作以反馈到用户端等。
由于该语音识别置信度基于序列与文本字符串得到的字符相似度分值Score1作为加权因子计算得到,若分值Score1较大,则说明数据噪音小,那么就可以将这个序列替代上述的文本字符串这一识别结果;反之,分值Score1较小,则说明数据噪音大,那么就不能将该序列替代识别结果。
例如,如图5所示,利用一个用于快递查询的智能机器人来举例来说明该语音识别后文本处理方法的主要过程:
当获取用户输入的一段语音,并通过语音识别将得到一个文本字符串“快件查询,借借钱过几天,嗯,谢谢,不需要360我快件查询”,于是,通过利用N元语言模型对该文本字符串进行候选子串提取,如图5所示,将得到的各候选子串合并以得到一序列“快件查询几天我快件查询”。其中,该N元语言模型包括由许多不同元的N元短语所构成的N-gram元组数据集。可以理解,由于该文本字符串中存在如“借借钱过几天,嗯,谢谢,不需要360”等环境噪音,通过该N元语言模型可以去掉一些不符合当前语用的信息,并提取出符合快递查询这一语境的关键信息。然后,利用识别的文本字符串(即原始文本)与该序列计算字符相似度分值,以及利用该序列与主题语料库计算语义相似度分值,其中,该主题语料库是关于快递查询这一主题的语料库,其包括许多符合当前语义的字符串片段,最后利用这两种相似度分值进行加权计算以输出语音识别置信度,于是该智能机器人将根据该置信度进行相应的操作。
本发明实施例的语音识别后文本处理方法利用N元语言模型进行子串抽取来得到语音识别文本中相对稳定的关键片段,可以尽可能地去除没有语义意义的片段,节省了后端处理的计算资源;进而将多个子串合并为序列与语音识别文本进行相似度匹配,并基于主题语料库获取最相似文本,然后基于最相似文本与该序列进行多个N元相似度估计,最后利用这些相似度来加权计算输出语音识别置信度,由于去除了没有语义意义的片段,此时的置信度将更加准确等。此外,该方法在文本处理过程中考虑了语法、语义及语用等高层信息,提高了整个对话的交互鲁棒性,可有效避免因错误的语义理解引发错误的反馈到用户端的现象,提升了用户体验等等。
实施例2
请参照图6,本发明实施例提出一种语音识别后文本处理装置1,可用于与用户语音交互的终端,如智能机器人等。示范性地,该语音识别后文本处理装置1包括:
文本字符串获取模块10用于接收用户输入的语音,通过语音识别生成所述语音的文本字符串;
序列提取模块20用于利用N元语言模型对所述文本字符串进行候选子串提取,将提取到的所述候选子串合并以构成一序列;
字符相似度分值计算模块30用于将所述序列与所述文本字符串进行字符相似度匹配,得到字符相似度分值;
语义相似度分值计算模块40用于从主题语料库中提取与所述序列匹配时子语义相似度分值最大的一文本作为最相似文本,对所述序列与所述最相似文本进行N元相似度计算以得到对应的N元相似度分值,基于所述子语义相似度分值和所述对应的N元相似度分值计算语义相似度分值;
置信度计算模块50用于根据所述字符相似度分值和所述语义相似度分值计算语音识别置信度,以用于根据所述语音识别置信度执行相应的操作。
可以理解,上述的语音识别后文本处理装置对应于上述实施例1的方法,实施例1的方法的任意可选项也适用于本实施例,故在此不再详述。
本发明还提供了一种终端,该终端能够与用户进行语音交互,可以是面对面的语音交互,也可以是通过如电话等即时通讯设备进行语音交互。该移动终端包括存储器和处理器,存储器可用于存储计算机程序,处理器通过运行所述计算机程序,从而使移动终端执行上述语音识别后文本处理方法或者上述语音识别后文本处理装置1中的各个模块的功能。示范性地,该终端可为应用于不同领域的电话机器人等。
存储器可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据移动终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供了一种可读存储介质,用于储存上述终端中使用的所述计算机程序。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种语音识别后文本处理方法,其特征在于,包括:
接收用户输入的语音,通过语音识别生成所述语音的文本字符串;
利用N元语言模型对所述文本字符串进行候选子串提取,将提取到的所述候选子串合并以构成一序列;
将所述序列与所述文本字符串进行字符相似度匹配,得到字符相似度分值;
从主题语料库中提取与所述序列匹配时子语义相似度分值最大的一文本作为最相似文本,对所述序列与所述最相似文本进行N元相似度计算以得到对应的N元相似度分值,基于所述子语义相似度分值和所述对应的N元相似度分值计算语义相似度分值;
根据所述字符相似度分值和所述语义相似度分值计算语音识别置信度,以用于根据所述语音识别置信度执行相应的操作。
2.根据权利要求1所述的方法,其特征在于,所述N元语言模型包括基于词粒度产生的多个n元短语所构成的Ngram元组数据集,其中,所述多个n元短语包括1元短语、2元短语、3元短语和4元短语,所述利用N元语言模型对所述文本字符串进行候选子串提取包括:
对所述文本字符串进行分词,得到包含若干分词词组的一词列表;
根据各个所述分词词组在所述词列表中的位置次序生成多个k元短语候选,其中,所述多个k元短语候选包括1元短语候选、2元短语候选、3元短语候选和4元短语候选,每一所述k元短语候选设有对应的起止位置索引;
将每一所述k元短语候选与所述Ngram元组数据集进行匹配,得到匹配成功的若干k元短语以作为所述语音的关键短语;
根据所述关键短语的所述起止位置索引进行去重处理,将去重后得到的各关键短语作为对应的候选子串。
3.根据权利要求2所述的方法,其特征在于,所述Ngram元组数据集还包括基于字粒度产生的多个m元短语,其中,所述多个m元短语包括2元短语、3元短语和4元短语,所述方法在生成多个k元短语候选之后,还包括:
对所述文本字符串进行字符分割,得到包含若干字符的一字符列表;
根据各所述字符在所述字符列表中的位置次序生成多个s元短语候选,其中,所述多个s元短语候选包括2元短语候选、3元短语候选和4元短语候选,每一所述s元短语候选设有对应的起止位置索引;
将与所述多个k元短语候选不同且对应的所述起止位置索引也不同的各s元短语候选作为短语候选补充,以用于与所述Ngram元组数据集进行匹配。
5.根据权利要求2或3所述的方法,其特征在于,所述对所述序列与所述最相似文本进行N元相似度计算以得到对应的N元相似度分值包括:
根据所述序列和所述最相似文本各自的字符集合按照第一相似度公式计算所述序列和所述最相似文本的1元相似度分值;
根据所述序列和所述最相似文本各自的2元集合按照第二相似度公式计算所述序列和所述最相似文本的2元相似度分值。
6.根据权利要求5所述的方法,其特征在于,所述基于所述子语义相似度分值和所述对应的N元相似度分值计算语义相似度分值包括:
计算所述子语义相似度分值、所述1元相似度分值和所述2元相似度分值这三者的分值总和以及平均分值;
计算所述这三者中大于所述平均分值的个数,以及大于所述平均分值的累加分值;
若所述个数等于1,则所述语义相似度分值等于所述分值总和与所述累加分值之差的二分之一,否则,所述语义相似度分值等于所述累加分值的二分之一。
7.根据权利要求6所述的方法,其特征在于,所述语音识别置信度的计算按照如下公式计算得到:
Score=alpha*Score1+(1-alpha)*Score2;
其中,Score为语音识别置信度;alpha为预设值;Score1和Score2分别为所述字符相似度分值和所述语义相似度分值。
8.一种语音识别后文本处理装置,其特征在于,包括:
文本字符串获取模块,用于接收用户输入的语音,通过语音识别生成所述语音的文本字符串;
序列提取模块,用于利用N元语言模型对所述文本字符串进行候选子串提取,将提取到的所述候选子串合并以构成一序列;
字符相似度分值计算模块,用于将所述序列与所述文本字符串进行字符相似度匹配,得到字符相似度分值;
语义相似度分值计算模块,用于从主题语料库中提取与所述序列匹配时子语义相似度分值最大的一文本作为最相似文本,对所述序列与所述最相似文本进行N元相似度计算以得到对应的N元相似度分值,基于所述子语义相似度分值和所述对应的N元相似度分值计算语义相似度分值;
置信度计算模块,用于根据所述字符相似度分值和所述语义相似度分值计算语音识别置信度,以用于根据所述语音识别置信度执行相应的操作。
9.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施权利要求1-7中任一项所述的语音识别后文本处理方法。
10.根据权利要求9所述的终端,其特征在于,所述终端为智能机器人。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010636442.0A CN111782896B (zh) | 2020-07-03 | 2020-07-03 | 语音识别后文本处理方法、装置和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010636442.0A CN111782896B (zh) | 2020-07-03 | 2020-07-03 | 语音识别后文本处理方法、装置和终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782896A true CN111782896A (zh) | 2020-10-16 |
CN111782896B CN111782896B (zh) | 2023-12-12 |
Family
ID=72758620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010636442.0A Active CN111782896B (zh) | 2020-07-03 | 2020-07-03 | 语音识别后文本处理方法、装置和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782896B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461782A (zh) * | 2022-01-13 | 2022-05-10 | 重庆邮电大学 | 一种多特征匹配的文本匹配方法、终端及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389400A (zh) * | 2015-12-24 | 2016-03-09 | Tcl集团股份有限公司 | 语音交互方法及装置 |
US20170092266A1 (en) * | 2015-09-24 | 2017-03-30 | Intel Corporation | Dynamic adaptation of language models and semantic tracking for automatic speech recognition |
CN107305768A (zh) * | 2016-04-20 | 2017-10-31 | 上海交通大学 | 语音交互中的易错字校准方法 |
CN107704453A (zh) * | 2017-10-23 | 2018-02-16 | 深圳市前海众兴电子商务有限公司 | 一种文字语义分析方法、文字语义分析终端及存储介质 |
CN109658938A (zh) * | 2018-12-07 | 2019-04-19 | 百度在线网络技术(北京)有限公司 | 语音与文本匹配的方法、装置、设备及计算机可读介质 |
CN109785838A (zh) * | 2019-01-28 | 2019-05-21 | 百度在线网络技术(北京)有限公司 | 语音识别方法、装置、设备及存储介质 |
CN110428822A (zh) * | 2019-08-05 | 2019-11-08 | 重庆电子工程职业学院 | 一种语音识别纠错方法及人机对话*** |
CN110502610A (zh) * | 2019-07-24 | 2019-11-26 | 深圳壹账通智能科技有限公司 | 基于文本语义相似度的智能语音签名方法、装置及介质 |
CN111240497A (zh) * | 2020-01-15 | 2020-06-05 | 北京搜狗科技发展有限公司 | 一种通过输入法进行输入的方法、装置和电子设备 |
-
2020
- 2020-07-03 CN CN202010636442.0A patent/CN111782896B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170092266A1 (en) * | 2015-09-24 | 2017-03-30 | Intel Corporation | Dynamic adaptation of language models and semantic tracking for automatic speech recognition |
CN105389400A (zh) * | 2015-12-24 | 2016-03-09 | Tcl集团股份有限公司 | 语音交互方法及装置 |
CN107305768A (zh) * | 2016-04-20 | 2017-10-31 | 上海交通大学 | 语音交互中的易错字校准方法 |
CN107704453A (zh) * | 2017-10-23 | 2018-02-16 | 深圳市前海众兴电子商务有限公司 | 一种文字语义分析方法、文字语义分析终端及存储介质 |
CN109658938A (zh) * | 2018-12-07 | 2019-04-19 | 百度在线网络技术(北京)有限公司 | 语音与文本匹配的方法、装置、设备及计算机可读介质 |
US20200184978A1 (en) * | 2018-12-07 | 2020-06-11 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method, and device for matching speech with text, and computer-readable storage medium |
CN109785838A (zh) * | 2019-01-28 | 2019-05-21 | 百度在线网络技术(北京)有限公司 | 语音识别方法、装置、设备及存储介质 |
CN110502610A (zh) * | 2019-07-24 | 2019-11-26 | 深圳壹账通智能科技有限公司 | 基于文本语义相似度的智能语音签名方法、装置及介质 |
CN110428822A (zh) * | 2019-08-05 | 2019-11-08 | 重庆电子工程职业学院 | 一种语音识别纠错方法及人机对话*** |
CN111240497A (zh) * | 2020-01-15 | 2020-06-05 | 北京搜狗科技发展有限公司 | 一种通过输入法进行输入的方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
俞科峰: ""自动语音识别技术在中国电信多媒体客服***中的应用"", 《移动通信》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461782A (zh) * | 2022-01-13 | 2022-05-10 | 重庆邮电大学 | 一种多特征匹配的文本匹配方法、终端及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111782896B (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304372B (zh) | 实体提取方法和装置、计算机设备和存储介质 | |
CN108536654B (zh) | 识别文本展示方法及装置 | |
Hakkani-Tür et al. | Beyond ASR 1-best: Using word confusion networks in spoken language understanding | |
EP3355301B1 (en) | Cross-lingual initialization of language models | |
US20220108086A1 (en) | Coarse-to-fine abstractive dialogue summarization with controllable granularity | |
Tür et al. | Semantic parsing using word confusion networks with conditional random fields. | |
JP2020537765A (ja) | 多言語音声認識ネットワークをトレーニングする方法、音声認識システム及び多言語音声認識システム | |
EP1538535A2 (en) | Determination of meaning for text input in natural language understanding systems | |
CN106383814B (zh) | 一种英文社交媒体短文本分词方法 | |
Wang et al. | Combination of statistical and rule-based approaches for spoken language understanding. | |
Roark et al. | Reranking for sentence boundary detection in conversational speech | |
Jyothi et al. | Transcribing continuous speech using mismatched crowdsourcing. | |
CN107797986B (zh) | 一种基于lstm-cnn的混合语料分词方法 | |
Hasan et al. | Multi-pass sentence-end detection of lecture speech | |
US11869491B2 (en) | Abstract generation device, method, program, and recording medium | |
Fusayasu et al. | Word-error correction of continuous speech recognition based on normalized relevance distance | |
US11990131B2 (en) | Method for processing a video file comprising audio content and visual content comprising text content | |
CN111782896B (zh) | 语音识别后文本处理方法、装置和终端 | |
Béchet | Named entity recognition | |
GuoDong | A chunking strategy towards unknown word detection in Chinese word segmentation | |
Palmer et al. | Robust information extraction from automatically generated speech transcriptions | |
CN118202405A (zh) | 用于语音识别***中的一元语法的无监督发现的方法和*** | |
CN116129883A (zh) | 语音识别方法、装置、计算机设备及存储介质 | |
Wray et al. | Best practices for crowdsourcing dialectal arabic speech transcription | |
Dinarelli | Spoken language understanding: from spoken utterances to semantic structures |
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 |