会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利分类库 / 乐器;声学 / 一种确定语音信息的主题的方法和装置

一种确定语音信息的主题的方法和装置

申请号 CN201810696998.1 申请日 2018-06-29 公开(公告)号 CN110727759B 公开(公告)日 2024-04-16
申请人 北京京东尚科信息技术有限公司; 北京京东世纪贸易有限公司; 发明人 傅东博;
摘要 本 发明 公开了一种确定语音信息的主题的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:采集用户的语音信息,并将所述语音信息转化为文本信息;确定所述文本信息与 指定 主题的匹配逻辑文本是否匹配,若匹配,则确定所述语音信息为该指定主题,其中,所述指定主题的匹配逻辑文本用于表示所述指定主题的匹配条件。该实施方式能够高效、快速并且准确的确定语音信息的主题。
权利要求

1.一种确定语音信息的主题的方法,其特征在于,包括:
采集用户的语音信息,并将所述语音信息转化为文本信息;
确定所述文本信息与指定主题的匹配逻辑文本是否匹配,若匹配,则确定所述语音信息为该指定主题,其中,所述指定主题的匹配逻辑文本用于表示所述指定主题的匹配条件;
所述确定所述文本信息与指定主题的匹配逻辑文本是否匹配的步骤包括:
解析所述匹配逻辑文本,以获取其中每个字符的优先级信息;
根据所述优先级信息,将所述匹配逻辑文本转换为表示所述指定主题的匹配条件的正则表达式;以及
利用所述正则表达式对所述文本信息进行匹配,若匹配成功,则确定所述文本信息与该指定主题的匹配逻辑文本匹配,否则确定所述文本信息与该指定主题的匹配逻辑文本不匹配,
所述匹配逻辑文本包括:由前优先级标识符号和后优先级标识符号组成的优先级标识符号对,位于优先级标识符号对内的字符具有同一优先级,
所述解析所述匹配逻辑文本的步骤包括:
检测当前匹配逻辑文本最外层的优先级标识符号对的位置,以确定位于该最外层的优先级标识符号对内的匹配逻辑文本的优先级;
判断该最外层的优先级标识符号对内的匹配逻辑文本中是否有优先级标识符号对存在,若存在,则将该最外层的优先级标识符号对内的匹配逻辑文本作为当前匹配逻辑文本,检测该当前匹配逻辑文本最外层的优先级标识符号对的位置,以确定位于该最外层的优先级标识符号对内的匹配逻辑文本的优先级;以及
在最外层的优先级标识符号对内的匹配逻辑文本中不存在优先级标识符号对时,根据匹配逻辑文本的每个字符所属的优先级,将所述匹配逻辑文本拆解为字符单元集合,其中每个字符单元具有对应的优先级标识。
2.根据权利要求1所述的方法,其特征在于,所述匹配逻辑文本包括:匹配文字和逻辑符号,匹配逻辑文本通过匹配文字和逻辑符号的组合表示匹配条件,
将匹配逻辑文本转换为正则表达式的步骤包括:
根据所述优先级信息,逐级将所述逻辑符号替换为对应的正则表达式字符,以与所述匹配文字结合得到表示所述匹配条件的正则表达式。
3.根据权利要求2所述的方法,其特征在于,所述字符单元集合为字符数组,所述优先级标识为所述字符数组的数组名,特定优先级的所述字符数组的元素包括:该优先级的字符单元,和/或优先级标识为该优先级的上一级的字符数组;
所述逐级将所述逻辑符号替换为对应的正则表达式字符包括:
判断当前字符数组的所有元素中是否有字符数组元素存在,若存在,则将该字符数组元素作为当前字符数组,继续判断当前字符数组的所有元素中是否有字符数组元素存在;
以及
在当前字符数组的所有元素中不存在字符数组元素时,根据预设替换规则将当前字符数组的逻辑符号替换为对应的正则表达式字符。
4.根据权利要求2所述的方法,其特征在于,所述逻辑符号包括下述符号中的一种或多种:与、或、非、任意字符符号和所述任意字符允许的最大字符数符号。
5.一种确定语音信息的主题的装置,其特征在于,包括:
采集单元,用于采集用户的语音信息,并将所述语音信息转化为文本信息;
匹配单元,用于确定所述文本信息与指定主题的匹配逻辑文本是否匹配,若匹配,则确定所述语音信息为该指定主题,其中,所述指定主题的匹配逻辑文本用于表示所述指定主题的匹配条件,
所述匹配单元包括:
解析模,用于解析所述匹配逻辑文本,以获取其中每个字符的优先级信息;
转换模块,用于根据所述优先级信息,将所述匹配逻辑文本转换为表示所述指定主题的匹配条件的正则表达式;
匹配模块,用于利用所述正则表达式对所述文本信息进行匹配,若匹配成功,则确定所述文本信息与该指定主题的匹配逻辑文本匹配,否则确定所述文本信息与该指定主题的匹配逻辑文本不匹配,
所述匹配逻辑文本包括:由前优先级标识符号和后优先级标识符号组成的优先级标识符号对,位于优先级标识符号对内的字符具有同一优先级,
所述解析模块进一步用于执行下述步骤:
检测当前匹配逻辑文本最外层的优先级标识符号对的位置,以确定位于该最外层的优先级标识符号对内的匹配逻辑文本的优先级;
判断该最外层的优先级标识符号对内的匹配逻辑文本中是否有优先级标识符号对存在,若存在,则将该最外层的优先级标识符号对内的匹配逻辑文本作为当前匹配逻辑文本,检测该当前匹配逻辑文本最外层的优先级标识符号对的位置,以确定位于该最外层的优先级标识符号对内的匹配逻辑文本的优先级;以及
在最外层的优先级标识符号对内的匹配逻辑文本中不存在优先级标识符号对时,根据匹配逻辑文本的每个字符所属的优先级,将所述匹配逻辑文本拆解为字符单元集合,其中每个字符单元具有对应的优先级标识。
6.根据权利要求5所述的装置,其特征在于,所述匹配逻辑文本包括:匹配文字和逻辑符号,匹配逻辑文本通过匹配文字和逻辑符号的组合表示匹配条件;
所述转换模块进一步用于根据所述优先级信息,逐级将所述逻辑符号替换为对应的正则表达式字符,以与所述匹配文字结合得到表示所述匹配条件的正则表达式。
7.根据权利要求6所述的装置,其特征在于,所述字符单元集合为字符数组,所述优先级标识为所述字符数组的数组名,特定优先级的所述字符数组的元素包括:该优先级的字符单元,和/或优先级标识为该优先级的上一级的字符数组;
所述转换模块进一步用于执行下述步骤:
判断当前字符数组的所有元素中是否有字符数组元素存在,若存在,则将该字符数组元素作为当前字符数组,继续判断当前字符数组的所有元素中是否有字符数组元素存在;
以及
在当前字符数组的所有元素中不存在字符数组元素时,根据预设替换规则将当前字符数组的逻辑符号替换为对应的正则表达式字符。
8.根据权利要求6所述的装置,其特征在于,所述逻辑符号包括下述符号中的一种或多种:与、或、非、任意字符符号和所述任意字符允许的最大字符数符号。
9.一种确定语音信息的主题的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1‑4中任一所述的方法。

说明书全文

一种确定语音信息的主题的方法和装置

技术领域

[0001] 本发明涉及计算机技术领域,尤其涉及一种确定语音信息的主题的方法和装置。

背景技术

[0002] 在电商运营过程中,每天都会有海量的客服电话,通过统计客服电话主题的趋势和集中情况。可以对电商业务进行调整,从而改进服务质量,提高客户体验。现有的确定电话录音主题的方法是通过大量的客服人员抽样采集客服电话录音,进行人工听取辨别来确定电话录音的主题。
[0003] 在实现本发明过程中,发明人发现现有技术中至少存在如下问题:面对每天庞大的电话接入量,单纯依靠人工听取辨别,是一种极其费时费的无奈之举,无法对每天海量的电话录音全部进行辨别,并且辨别的准确度也受到客服人员个体差异的影响。同时,抽样的准确率也无法保证,很可能高频发生事件并未被大量抽取,导致结果导向错误。
[0004] 因此,亟需一种确定语音信息的主题的方法和装置,能够高效、快速并且准确的确定语音信息的主题。

发明内容

[0005] 有鉴于此,本发明实施例提供一种确定语音信息的主题的方法和装置,能够高效、快速并且准确的确定语音信息的主题。
[0006] 为实现上述目的,根据本发明实施例的一个方面,提供了一种确定语音信息的主题的方法,包括:
[0007] 采集用户的语音信息,并将所述语音信息转化为文本信息;
[0008] 确定所述文本信息与指定主题的匹配逻辑文本是否匹配,若匹配,则确定所述语音信息为该指定主题,其中,所述指定主题的匹配逻辑文本用于表示所述指定主题的匹配条件。
[0009] 进一步的,所述确定文本信息与指定主题的匹配逻辑文本是否匹配的步骤包括:
[0010] 解析所述匹配逻辑文本,以获取其中每个字符的优先级信息;
[0011] 根据所述优先级信息,将所述匹配逻辑文本转换为表示所述指定主题的匹配条件的正则表达式;
[0012] 利用所述正则表达式对所述文本信息进行匹配,若匹配成功,则确定所述文本信息与该指定主题的匹配逻辑文本匹配,否则确定所述文本信息与该指定主题的匹配逻辑文本不匹配。
[0013] 进一步的,所述匹配逻辑文本包括:由前优先级标识符号和后优先级标识符号组成的优先级标识符号对,位于优先级标识符号对内的字符具有同一优先级。
[0014] 进一步的,所述解析匹配逻辑文本的步骤包括:
[0015] 步骤a,检测当前匹配逻辑文本最外层的优先级标识符号对的位置,以确定位于该最外层的优先级标识符号对内的匹配逻辑文本的优先级;
[0016] 步骤b,判断该最外层的优先级标识符号对内的匹配逻辑文本中是否有优先级标识符号对存在;
[0017] 若存在,则将该最外层的优先级标识符号对内的匹配逻辑文本作为当前匹配逻辑文本,执行步骤a,否则执行步骤c;
[0018] 步骤c,根据匹配逻辑文本的每个字符所属的优先级,将所述匹配逻辑文本拆解为字符单元集合,其中每个字符单元具有对应的优先级标识。
[0019] 进一步的,所述匹配逻辑文本包括:匹配文字和逻辑符号,匹配逻辑文本通过匹配文字和逻辑符号的组合表示匹配条件;
[0020] 所述将匹配逻辑文本转换为正则表达式的步骤包括:
[0021] 根据所述优先级信息,逐级将所述逻辑符号替换为对应的正则表达式字符,以与所述匹配文字结合得到表示所述匹配条件的正则表达式。
[0022] 进一步的,所述字符单元集合为字符数组,所述优先级标识为所述字符数组的数组名,特定优先级的所述字符数组的元素包括:该优先级的字符单元,和/或优先级标识为该优先级的上一级的字符数组;
[0023] 所述逐级将所述逻辑符号替换为对应的正则表达式字符包括:
[0024] 步骤d,判断当前字符数组的所有元素中是否有字符数组元素存在;
[0025] 若存在,则将该字符数组元素作为当前字符数组,执行步骤d,否则执行步骤e;
[0026] 步骤e,根据预设替换规则将当前字符数组的逻辑符号替换为对应的正则表达式字符。
[0027] 可选的,所述逻辑符号包括下述符号中的一种或多种:与、或、非、任意字符符号和所述任意字符允许的最大字符数符号。
[0028] 为实现上述目的,根据本发明实施例的另一个方面,还提供了一种确定语音信息的主题的装置,包括:
[0029] 采集单元,用于采集用户的语音信息,并将所述语音信息转化为文本信息;
[0030] 匹配单元,用于确定所述文本信息与指定主题的匹配逻辑文本是否匹配,若匹配,则确定所述语音信息为该指定主题,其中,所述指定主题的匹配逻辑文本用于表示所述指定主题的匹配条件。
[0031] 进一步的,所述匹配单元包括:
[0032] 解析模,用于解析所述匹配逻辑文本,以获取其中每个字符的优先级信息;
[0033] 转换模块,用于根据所述优先级信息,将所述匹配逻辑文本转换为表示所述指定主题的匹配条件的正则表达式;
[0034] 匹配模块,用于利用所述正则表达式对所述文本信息进行匹配,若匹配成功,则确定所述文本信息与该指定主题的匹配逻辑文本匹配,否则确定所述文本信息与该指定主题的匹配逻辑文本不匹配。
[0035] 进一步的,所述匹配逻辑文本包括:由前优先级标识符号和后优先级标识符号组成的优先级标识符号对,位于优先级标识符号对内的字符具有同一优先级。
[0036] 进一步的,所述解析模块进一步用于执行下述步骤:
[0037] 步骤a,检测当前匹配逻辑文本最外层的优先级标识符号对的位置,以确定位于该最外层的优先级标识符号对内的匹配逻辑文本的优先级;
[0038] 步骤b,判断该最外层的优先级标识符号对内的匹配逻辑文本中是否有优先级标识符号对存在;
[0039] 若存在,则将该最外层的优先级标识符号对内的匹配逻辑文本作为当前匹配逻辑文本,执行步骤a,否则执行步骤c;
[0040] 步骤c,根据匹配逻辑文本的每个字符所属的优先级,将所述匹配逻辑文本拆解为字符单元集合,其中每个字符单元具有对应的优先级标识。
[0041] 进一步的,所述匹配逻辑文本包括:匹配文字和逻辑符号,匹配逻辑文本通过匹配文字和逻辑符号的组合表示匹配条件;
[0042] 所述转换模块进一步用于根据所述优先级信息,逐级将所述逻辑符号替换为对应的正则表达式字符,以与所述匹配文字结合得到表示所述匹配条件的正则表达式。
[0043] 进一步的,所述字符单元集合为字符数组,所述优先级标识为所述字符数组的数组名,特定优先级的所述字符数组的元素包括:该优先级的字符单元,和/或优先级标识为该优先级的上一级的字符数组;
[0044] 所述转换模块进一步用于执行下述步骤:
[0045] 步骤d,判断当前字符数组的所有元素中是否有字符数组元素存在;
[0046] 若存在,则将该字符数组元素作为当前字符数组,执行步骤d,否则执行步骤e;
[0047] 步骤e,根据预设替换规则将当前字符数组的逻辑符号替换为对应的正则表达式字符。
[0048] 可选的,所述逻辑符号包括下述符号中的一种或多种:与、或、非、任意字符符号和所述任意字符允许的最大字符数符号。
[0049] 为实现上述目的,根据本发明实施例的另一个方面,还提供了一种确定语音信息的主题的电子设备,包括:
[0050] 一个或多个处理器;
[0051] 存储装置,用于存储一个或多个程序,
[0052] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明提供的确定语音信息的主题的方法。
[0053] 为实现上述目的,根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的确定语音信息的主题的方法。
[0054] 上述本发明实施例提供的确定语音信息的主题的方法和装置,可以自动化的对海量的语音信息进行主题的确定,处理过程快速、高效并且准确率高。其中,本发明提出了具有简洁的编写规则,便于人工编写的匹配逻辑文本,用户可以通过编写该匹配逻辑文本,再对该匹配逻辑文本进行转换,从而得到需要的正则表达式,从而让不了解正则表达式的使用者也可以生成具有复杂过滤逻辑的正则表达式,进而通过正则表达式对语音转换成的文本信息进行匹配,以确定语音信息的主题。在将该方法和装置应用于需要确定海量的语音信息的主题,以及需要使用复杂的正则表达式进行匹配的场景中时,可以做到通过最少化的人工输入,快速处理大量的匹配工作,提高匹配效率。
[0055] 上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明
[0056] 附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0057] 图1是本发明实施例提供的确定语音信息的主题的方法的主要流程的示意图;
[0058] 图2是本发明实施例提供的生成正则表达式的过程的主要流程的示意图;
[0059] 图3是本发明实施例提供的确定语音信息的主题的装置的主要模块的示意图;
[0060] 图4是本发明实施例可以应用于其中的示例性系统架构图;
[0061] 图5是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。

具体实施方式

[0062] 以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0063] 本发明提供一种确定语音信息的主题的方法,如图1所示,该方法包括:步骤S101和步骤S102。
[0064] 在步骤S101中,采集用户的语音信息,并将所述语音信息转化为文本信息。然后在步骤S102中,确定所述文本信息与指定主题的匹配逻辑文本是否匹配,若匹配,则确定所述语音信息为该指定主题,其中,所述指定主题的匹配逻辑文本用于表示所述指定主题的匹配条件。
[0065] 在本发明中,语音信息的主题即指该语音信息的要表现的中心思想、主要内容。例如,本发明方法可以应用于确定电商的客服电话录音的主题的场景中,在该场景中,客服电话录音的主题可以为催促配送、价格保护、分错站点等等。
[0066] 在发明中,可以预配置有多个对应不同主题的逻辑匹配文本,将这些逻辑匹配文本分别于语音信息转化的文本信息进行匹配,从而确定其中与文本信息匹配的逻辑匹配文本,进而确定语音信息的主题。
[0067] 通过本发明实施例提供的确定语音信息的主题的方法,可以自动化的对海量的语音信息进行主题的确定,处理过程快速、高效并且准确率高。
[0068] 在本发明中,步骤S102确定文本信息与指定主题的匹配逻辑文本是否匹配的过程具体如下:
[0069] 获取匹配逻辑文本,匹配逻辑文本用于表示指定主题的匹配条件。在发明实施例中,匹配逻辑文本具有简洁的编写规则,便于人工编写,用户基于指定主题需要的匹配条件,可以相对容易的写出表示该匹配条件的匹配逻辑文本。在很多需要进行文本匹配的应用场景中,所需的匹配条件通常较为复杂,直接写出对应的正则表达式相当的麻烦和繁琐,并且需要用户对于正则表达式的写法具有一定程度的了解。因此,本发明提出了一种编写规则相对简单的匹配逻辑文本,用户在基于所需的匹配条件写出匹配逻辑文本后,即可在后续的步骤中,将该匹配逻辑文本转换成正则表达式可编译的结果。
[0070] 本发明提出一种基于匹配逻辑文本生成正则表达式的过程,如图2所示,该过程具体为:解析匹配逻辑文本,以获取其中每个字符的优先级信息。在匹配逻辑文本中,每个字符都具有对应的优先级,用于表示文本中逻辑关系的执行顺序。基于字符的优先级,将字符按一定顺序进行结合,即可以组成具有正确性和唯一性的匹配逻辑文本。在解析获得优先级信息后,根据优先级信息,将匹配逻辑文本转换为表示匹配条件的正则表达式。从而匹配逻辑文本的优先级信息得以保留,并体现在转换成的正则表达式中,使得转换得到的正则表达式可以准确的表示用户需求的匹配条件。
[0071] 在转换得到正则表达式后,利用正则表达式对文本信息进行匹配,若匹配成功,则确定所述文本信息与该指定主题的匹配逻辑文本匹配,否则确定所述文本信息与该指定主题的匹配逻辑文本不匹配。
[0072] 上述本发明实施例提供的确定语音信息的主题的方法,提出了具有简洁的编写规则,便于人工编写的匹配逻辑文本,用户可以通过编写对应主题的匹配逻辑文本,再对该匹配逻辑文本进行转换,从而得到对应主题的正则表达式,从而让不了解正则表达式的使用者也可以生成具有复杂过滤逻辑的正则表达式。
[0073] 在本发明的一种实施方式中,匹配逻辑文本包括:由前优先级标识符号和后优先级标识符号组成的优先级标识符号对,位于优先级标识符号对内的字符具有同一优先级。
[0074] 例如在一种实施方式中,优先级标识符号对可以采用括号对,即前优先级标识符号为前括号,后优先级标识符号为后括号。如下示例匹配逻辑文本:(a&(b|(!c))),在本例中,位于越内层优先级标识符号对(括号对)的优先级越高,其中最内层的括号对(!c)的字符内容为!c,!c具有最高优先级,其外层的括号对(b|(!c))的字符内容为b|(!c),将(!c)整体作为独立字符单元,b|(!c)具有其次优先级,最外层的括号对(a&(b|(!c)))的字符内容为a&(b|(!c)),将(b|(!c)整体作为独立字符单元,a&(b|(!c))具有最低优先级。
[0075] 通过优先级标识符号对将匹配逻辑文本中不同优先级的字符内容进行了分组区分,表示出文本中逻辑关系的执行顺序,保证了匹配逻辑文本的正确性和唯一性。
[0076] 在本发明的一种实施方式中,步骤S102,解析匹配逻辑文本的过程具体如下:
[0077] 首先执行步骤a,首先检测当前匹配逻辑文本最外层的优先级标识符号对的位置,以确定位于该最外层的优先级标识符号对内的匹配逻辑文本的优先级,然后执行步骤b。
[0078] 步骤b,判断该最外层的优先级标识符号对内的匹配逻辑文本中是否有优先级标识符号对存在,若存在,则将该最外层的优先级标识符号对内的匹配逻辑文本作为当前匹配逻辑文本,执行步骤a,否则执行步骤c。即通过步骤a和步骤b的重复执行,对匹配逻辑文本的优先级标识符号对进行逐级检测,当检测到当前匹配逻辑文本内无优先级标识符号对时,则说明此时已经到达匹配逻辑文本的最内层逻辑,并获得了匹配逻辑文本的各级优先级信息。然后可从此处着手开始进行替换工作,即开始转换正则表达式。
[0079] 步骤c,根据匹配逻辑文本的每个字符所属的优先级,将匹配逻辑文本拆解为字符单元集合,其中每个字符单元具有对应的优先级标识。其中,字符单元集合即由匹配逻辑文本拆解出的字符单元组成的集合,字符单元包括至少一个字符。
[0080] 在本发明的一种实施方式中,字符单元集合为字符数组,优先级标识为字符数组的数组名,特定优先级的字符数组的元素包括:该优先级的字符单元,和/或优先级标识为该优先级的上一级的字符数组。例如,字符数组可以采用JAVA的list数据结构。
[0081] 在本发明的一种实施方式中,上述解析匹配逻辑文本的过程可以通过递归算法来实现,将输入的匹配逻辑文本字符串拆解成字符数组形式。通过递推过程对每一层优先级标识符号对进行逐级检测,当检测到优先级标识符号对内无其他优先级标识符号对时,则开始回归过程,逐级将文本替换为字符数组,从而将匹配逻辑文本由内及外被拆解为字符数组。
[0082] 例如,下述示例匹配逻辑文本:(a&(b|(!c))),其中,优先级标识符号对为括号对,在本例中,将匹配逻辑文本拆解为list数据结构。递归算法调用函数A先检测出最外层的一对括号位置,以此定其中包含的内容。得到的内容为a&(b|(!c)),此时函数A调用函数B判断此时得到结果是否还有括号对存在,如果有则递归调用函数A,可得调用结果为b|(!c),再次递归调用函数B判断括号对存在情况,重复上述步骤直至得到的内容为!c,此时函数B判断不再存在括号对,开始回归步骤,将!c分解为listA['(','!','c',')'],以此list替换原来文本中(!c)的位置成为一个独立的元素,继续重复以上回归步骤,将b|(!c)分解为listB['(','b','|','listA['(','!','c',')']',')'],直到此逻辑组合全部分解完成,得到:listC['(','a','&','listB['(','b','|','listA['(','!','c',')']',')']',')'],其中listA位于最内层,其优先级最高,其次为listB,listC优先级最低。
[0083] 本发明上述实施方式,通过递推算法将匹配逻辑文本拆解为字符数组形式,以保证原始的优先级分组不变,使得在后续的转化正则表达式的步骤中,可以找到优先级分组的界限。并且在转换过程中具有很好的可操控性,可以对为字符数组中的任一个元素进行独立操作。
[0084] 在本发明的一种实施方式中,匹配逻辑文本包括:匹配文字和逻辑符号,匹配逻辑文本通过匹配文字和逻辑符号的组合表示预定义的匹配条件,其中,逻辑符号包括:优先级标识符号对。例如,下述示例匹配逻辑文本:(a&(b|(!c))),其中,逻辑符号包括有优先级标识符号对(括号对),逻辑运算符:与“&”、或“|”、非“!”,匹配文字即a、b、c,通过上述匹配文字和逻辑符号的结合,表示出预定义的匹配条件,其中,最内层的括号对逻辑运算优先级最高,即非c,其次为b或非c,再次为a与b或非c。
[0085] 将匹配逻辑文本转换为表示匹配条件的正则表达式的过程具体为:根据优先级信息,逐级将逻辑符号替换为对应的正则表达式字符,以与匹配文字结合得到表示匹配条件的正则表达式。即根据字符的优先级,先替换优先级高的字符,然后替换次一级的字符。
[0086] 在本发明的一种实施方式中,上述步骤中的替换过程,可以通过下述步骤实现:
[0087] 首先执行步骤d,判断当前字符数组的所有元素中是否有字符数组元素存在。若存在,则将该字符数组元素作为当前字符数组,执行步骤d,否则执行步骤e。即每次执行步骤d都查看字符数组中是否还有次外层的字符数组,如果没有则开始替换,如果有就先进入此次外层字符数组中查找,如果没有就执行替换步骤e。
[0088] 步骤e,根据预设替换规则将当前字符数组的逻辑符号替换为对应的正则表达式字符。
[0089] 在本发明的一种实施方式中,上述替换过程同样可以通过递归算法来实现,通过递推过程对每一层字符数组进行逐级检测,当检测到字符数组内无其他字符数组时,则开始回归过程,逐级将字符数组元素替换为正则表达式字符,从而将由匹配逻辑文本拆解得到的字符数组由内及外被转换为正则表达式。
[0090] 例如,下述示例匹配逻辑文本:(!a&b&c),经过步骤S102和S103的拆解和转换后得到的正则表达式为:(((?!.*a).*)(?=.*b)(?=.*c)).*。由于在正则表达式中,只有或“|”符号可以被直接使用,其他逻辑关系,非“!”和与“&”,则必须转化成正则写法。其中更为具体的,字符“!a”按照预设替换规则转换为正则表达式的字符“((?!.*a).*)”,该过程可以先将字符“!”替换为正则表达式的字符“((?!.*”,然后在字符“a”后拼接正则表达式的字符“).*)”。
[0091] 本发明提供的确定语音信息的主题的方法,可以应用于需要使用复杂的正则表达式进行匹配的场景中。例如,本发明还提供一种对客服电话录音进行主题(场景)匹配的方法。
[0092] 在本发明提供的对客服电话录音进行主题匹配的方法中,首先,获取语音信息,即电话录音,将语音信息转化为文字信息。其中,将语音信息转化为文字信息的过程具体为:
[0093] 抽样出各个类别的语音记录,人工监听后进行对应时间戳的文字标注,此阶段要保证标注的准确,才能在后续步骤中获得更准确的训练模型。利用人工智能学习系统tensorflow对语音数据进行循环神经网络训练(RNN),经过多次调参,循环验证,更换训练集取最优等诸多步骤,训练可得相对精准的语音转文字模型。
[0094] 得到初步的深度学习模型后,可对历史电话录音进行文字转换,记录下出错率较高的位置或识别率很低的词语,对同一词语但由于口音不同所致的错误加以调参和强化训练,提高整体模型的鲁棒性。
[0095] 再次统计模型无法识别的语音词语,对其进行深度研究,对于经常识别错误的词语,可将此种情况编入字典,对此进行人工干涉,强制提高准确率和识别率。
[0096] 然后,利用本发明提供的上述方法,将用户编写的对应于主题的匹配逻辑文本转换为正则表达式,然后利用正则表达式对文字信息进行匹配,若匹配成功,则返回所匹配位置以及相应那段录音的时间戳,以便之后人工检验,为语音信息添加相应标签。
[0097] 在本应用场景中,匹配逻辑文本的逻辑符号包括下述符号中的一种或多种:与、或、非、任意字符符号和任意字符允许的最大字符数符号。在本场景中,与的符号为“&”,或的符号为“|”,非的符号为“!”,任意字符的符号为“#”,任意字符允许的最大字符数的符号为具体数字。例如,用户想要匹配语句“我爱北京天安”。则用户可以编写匹配逻辑文本“爱#天安#3”,以表示其所想表示的匹配关系,任意字符“#”代表“爱”与“天安”之间可以为任意字符,“3”则代表“爱”与“天安”之间的任意字符只能允许最大不超过3个字符。
[0098] 在本应用场景中,匹配逻辑文本具有对应的主题,例如,匹配逻辑文本:(分错#站点#5)|(错#站#6)|(分拣#错)|(分配#错误#6)|(超出#配送#退#10)|(超区#退#重新#15),该匹配逻辑文本对应的主题为分错站点,即用于匹配的主题为分错站点的电话录音。
[0099] 又如,匹配逻辑文本:(报价|(价格#降了)|抢购|降价|掉价|掉钱|降了钱|降了价|减钱|减价|优惠价|便宜了|优惠了|促销|活动价|秒杀|开抢|差额|差价|专享价|价格保护|价保|家保|家暴|保家|保价|掉了价|掉了钱|(价格#动)|(价格#降低))&((尝试#提交)(尝试#申请)|(申请#退#8)|(操作#退)|(提交#退)|(将#退)|(把#退)|(申请#返)|(操作#返)|(提交#返)|(将#返)|(把#返)|(申请#到)|(操作#到)|(提交#到)|(将#到)|(把#到)|(申请#回)|(操作#回)|(提交#回)|(将#回)|(能#申请)|(要#申请#8)|(想#申请#8)|(帮#申请#8)|(给#申请#8)|(提交#申请#8)|(申请#补偿))。该匹配逻辑文本对应的主题为价格保护,即用于匹配的主题为价格保护的电话录音。
[0100] 在本发明中,匹配逻辑文本可以通过逻辑组合规则与逻辑文本单元的结合得到。以匹配催促配送主题的匹配逻辑文本为例,配置两个输入,第一个输入为逻辑组合规则,例如:(1|2|3|7)&(!(4|5|6)),其中每个数字各代表一个逻辑文本单元,每一个逻辑文本单元由具体的逻辑文本组成,可以用来表示匹配内容的一个方面。
[0101] 第二个输入为每个数字所代表的逻辑文本单元的具体逻辑文本,例如:催促配送主题可能是由于缺货或没有发货造成的,语音信息中通常包含:没货、发货等等词语,因此,可将逻辑文本单元1配置为:(没货|缺货|无货|没有货)&((没#发#6)|(无#发#6))。同时,该主题中,语音信息中还可能会有对于配送时间的询问,因此,可将逻辑文本单元2配置为:(包裹#多久#可#到)|(包括#多久#可#到)|(订单#多久#可#到),等等。在实际应用过程中,每一个数字所代表的通常是超大量的具体逻辑文本。通过逻辑组合规则与逻辑文本单元的结合来得到匹配逻辑文本,可以使得匹配逻辑文本的逻辑关系更加清楚明了,便于用户进行编写,并且能够支持不同的用户分别编写不同的逻辑文本单元。
[0102] 在具体应用过程中,用于匹配主题的匹配逻辑信息通常是由客服一线的工作人员日积月累得到的信息,这些信息是超大量的,并且客服工作人员通常是无法直接编写正则表达式的,通过本发明提供的确定语音信息的主题的方法,客服工作人员可以编写规则相对简单的匹配逻辑文本,然后对其进行转化,从而得到相应匹配逻辑的正则表达式,减少客服人员不必要的统计工作,大大提高了效率。使得短时间客服中心即可知道客户是否有集中反映的问题,可以很快改善,从而迅速提升客户购物体验。
[0103] 本发明实施例还提供一种确定语音信息的主题的装置,如图3所示,该装置300包括:采集单元301和匹配单元302。
[0104] 采集单元301,用于采集用户的语音信息,并将所述语音信息转化为文本信息;
[0105] 匹配单元302,用于确定所述文本信息与指定主题的匹配逻辑文本是否匹配,若匹配,则确定所述语音信息为该指定主题,其中,所述指定主题的匹配逻辑文本用于表示所述指定主题的匹配条件。
[0106] 在本发明中,匹配单元302包括:解析模块、转换模块和匹配模块。
[0107] 解析模块用于解析所述匹配逻辑文本,以获取其中每个字符的优先级信息。
[0108] 转换模块用于根据所述优先级信息,将所述匹配逻辑文本转换为表示所述指定主题的匹配条件的正则表达式。
[0109] 匹配模块用于利用所述正则表达式对所述文本信息进行匹配,若匹配成功,则确定所述文本信息与该指定主题的匹配逻辑文本匹配,否则确定所述文本信息与该指定主题的匹配逻辑文本不匹配。
[0110] 在本发明中,匹配逻辑文本包括:由前优先级标识符号和后优先级标识符号组成的优先级标识符号对,位于优先级标识符号对内的字符具有同一优先级。
[0111] 在本发明中,解析模块进一步用于执行下述步骤:
[0112] 步骤a,检测当前匹配逻辑文本最外层的优先级标识符号对的位置,以确定位于该最外层的优先级标识符号对内的匹配逻辑文本的优先级;
[0113] 步骤b,判断该最外层的优先级标识符号对内的匹配逻辑文本中是否有优先级标识符号对存在;
[0114] 若存在,则将该最外层的优先级标识符号对内的匹配逻辑文本作为当前匹配逻辑文本,执行步骤a,否则执行步骤c;
[0115] 步骤c,根据匹配逻辑文本的每个字符所属的优先级,将匹配逻辑文本拆解为字符单元集合,其中每个字符单元具有对应的优先级标识。
[0116] 在本发明中,匹配逻辑文本包括:匹配文字和逻辑符号,匹配逻辑文本通过匹配文字和逻辑符号的组合表示预定义的匹配条件。
[0117] 转换模块进一步用于根据优先级信息,逐级将逻辑符号替换为对应的正则表达式字符,以与匹配文字结合得到表示匹配条件的正则表达式。
[0118] 在本发明中,字符单元集合为字符数组,优先级标识为字符数组的数组名,特定优先级的字符数组的元素包括:该优先级的字符单元,和/或优先级标识为该优先级的上一级的字符数组。
[0119] 转换模块进一步用于执行下述步骤:
[0120] 步骤d,判断当前字符数组的所有元素中是否有字符数组元素存在;
[0121] 若存在,则将该字符数组元素作为当前字符数组,执行步骤d,否则执行步骤e;
[0122] 步骤e,根据预设替换规则将当前字符数组的逻辑符号替换为对应的正则表达式字符。
[0123] 在本发明中,逻辑符号包括下述符号中的一种或多种:与、或、非、任意字符符号和任意字符允许的最大字符数符号。
[0124] 上述本发明实施例提供的确定语音信息的主题的方法和装置,可以自动化的对海量的语音信息进行主题的确定,处理过程快速、高效并且准确率高。其中,本发明提出了具有简洁的编写规则,便于人工编写的匹配逻辑文本,用户可以通过编写该匹配逻辑文本,再对该匹配逻辑文本进行转换,从而得到需要的正则表达式,从而让不了解正则表达式的使用者也可以生成具有复杂过滤逻辑的正则表达式,进而通过正则表达式对语音转换成的文本信息进行匹配,以确定语音信息的主题。在将该方法和装置应用于需要确定海量的语音信息的主题,以及需要使用复杂的正则表达式进行匹配的场景中时,可以做到通过最少化的人工输入,快速处理大量的匹配工作,提高匹配效率。
[0125] 图4示出了可以应用本发明实施例的确定语音信息的主题的方法或确定语音信息的主题的装置的示例性系统架构400。
[0126] 如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0127] 用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用。
[0128] 终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0129] 服务器405可以是提供各种服务的服务器,例如用来确定文本信息与指定主题的匹配逻辑文本是否匹配,从而确定语音信息的主题的后台服务器。
[0130] 需要说明的是,本发明实施例所提供的确定语音信息的主题的方法一般由服务器405执行,相应地,确定语音信息的主题的装置一般设置于服务器405中。
[0131] 应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0132] 下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0133] 如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
[0134] 以下部件连接至I/O接口505:包括键盘鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
[0135] 特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
[0136] 需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0137] 附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0138] 描述于本发明实施例中所涉及到的单元和模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元和模块也可以设置在处理器中,例如,可以描述为:一种处理器包括采集单元和匹配单元。其中,这些单元和模块的名称在某种情况下并不构成对该模块本身的限定,例如,转换模块还可以被描述为“判断当前字符数组的所有元素中是否有字符数组元素存在的模块”。
[0139] 作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
[0140] 采集用户的语音信息,并将所述语音信息转化为文本信息;
[0141] 确定所述文本信息与指定主题的匹配逻辑文本是否匹配,若匹配,则确定所述语音信息为该指定主题,其中,所述指定主题的匹配逻辑文本用于表示所述指定主题的匹配条件。
[0142] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。