客服机器人的对话流程控制方法、装置、服务器及介质与流程

文档序号:30183437发布日期:2022-05-26 16:03阅读:150来源:国知局
客服机器人的对话流程控制方法、装置、服务器及介质与流程

1.本技术实施例属于人工智能技术领域,特别是涉及一种客服机器人的对话流程控制方法、装置、服务器及介质。


背景技术:

2.智能语音客服机器人在工作过程中常常出现机器人错误地插话或被错误打断的情况。错误地插话是指,用户并未说完话,只是临时性地停顿以回忆单词或组织语言,但由于达到了机器人设置的最长等待时间,导致机器人认为用户已经说完话,因此将用户已说的不完整话语片段送入意图识别模型进行意图识别,导致意图识别错误。被错误打断是指,机器人正在播报当中,此时用户侧传入了声音,机器人以为是用户在说话,因此停止播报等待用户把话说完并进行意图识别。但实际上用户侧传入的声音可能是用户在对他人说话或者是背景的电视、音响等器材产生的声音,因此机器人实际上不应该停止播报。
3.因此,如何准确地对用户侧传入的声音进行识别,严重影响用户与智能语音客服机器人之间的对话效果。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种客服机器人的对话流程控制方法、装置、服务器及介质,用以准确识别用户侧输入的语音信息的含义,解决对话流程中容易出现机器人错误地插话或被错误打断的问题。
5.本技术实施例的第一方面提供了一种客服机器人的对话流程控制方法,包括:
6.在客服机器人播报的过程中,若检测到用户侧输入的第一字符片段,则基于所述第一字符片段和预先构建的字典树计算打断概率;其中,所述字典树包括由多个节点组成的多条路径,每条所述路径与一条训练语料匹配,每个所述节点具有计数值,所述计数值用于表征从所述字典树的根节点到当前的所述节点所组成的字符序列在多条所述训练语料中出现的次数;
7.若所述打断概率大于第一预设阈值,则控制所述客服机器人停止播报,以接收所述用户侧输入的完整的语音信息;
8.当所述用户侧停止输入所述语音信息时,获取所述用户侧在停止前已输入的第二字符片段,并基于所述第二字符片段和所述字典树计算截断概率;
9.根据所述截断概率对所述客服机器人的对话流程进行控制。
10.本技术实施例的第二方面提供了一种客服机器人的对话流程控制装置,包括:
11.打断概率计算模块,用于在客服机器人播报的过程中,若检测到用户侧输入的第一字符片段,则基于所述第一字符片段和预先构建的字典树计算打断概率;其中,所述字典树包括由多个节点组成的多条路径,每条所述路径与一条训练语料匹配,每个所述节点具有计数值,所述计数值用于表征从所述字典树的根节点到当前的所述节点所组成的字符序列在多条所述训练语料中出现的次数;
12.截断概率计算模块,用于在所述用户侧停止输入语音信息时,获取所述用户侧在停止前已输入的第二字符片段,并基于所述第二字符片段和所述字典树计算截断概率;
13.对话流程控制模块,用于在所述打断概率大于第一预设阈值时,控制所述客服机器人停止播报,以接收所述用户侧输入的完整的语音信息;或者,根据所述截断概率对所述客服机器人的对话流程进行控制。
14.本技术实施例的第三方面提供了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的客服机器人的对话流程控制方法。
15.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的客服机器人的对话流程控制方法。
16.本技术实施例的第五方面提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面所述的客服机器人的对话流程控制方法。
17.与现有技术相比,本技术实施例具有以下优点:
18.本技术实施例,在客服机器人播报的过程中,如果检测到用户侧输入了第一字符片段,可以基于第一字符片段和预先构建的字典树计算打断概率。上述打断概率可以用于表示用户侧打断机器人播报的可能性的大小。若打断概率大于第一预设阈值,则可以表示用户侧打断机器人播报的可能性较大。此时,可以控制客服机器人停止播报,以接收用户侧输入的完整的语音信息,并根据用户侧输入的完整的语音信息进行用户意图的识别。当用户侧停止输入语音信息时,通过获取用户侧在停止前已输入的第二字符片段,可以基于上述第二字符片段和字典树计算截断概率。该截断概率可以用于表示用户侧输入的第二字符片段被截断的可能性的大小,从而可以根据截断概率对客服机器人的对话流程进行控制。例如,若截断概率小于第二预设阈值,则可以表示第二字符片段被截断的可能性较小,也就是用户已经说完的可能性较大。此时,可以控制客服机器人基于第二字符片段识别用户侧的用户意图;否则,应当控制客服机器人继续等待用户侧输入语音信息,以接收到用户侧输入的完整的语音信息。本技术实施例通过采用基于字典树的包含概率计算的文本匹配方法来一次性处理错误插话和被错误打断的识别问题,无需训练机器学习模型,解决了使用机器学习模型产生的内存占用和推理速度较慢的问题,同时也无需准备额外的负例语料,可以直接基于意图识别模型的训练语料进行识别,减少了模型建立时所需要的人力物力成本。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本技术实施例提供的一种客服机器人的对话流程控制方法的示意图;
21.图2是本技术实施例提供的一种字典树的部分节点的示例图;
22.图3是本技术实施例提供的一种客服机器人的对话流程控制方法中s101的一种实现方式的示意图;
23.图4是本技术实施例提供的一种客服机器人的对话流程控制方法中s103的一种实现方式的示意图;
24.图5是本技术实施例提供的一种客服机器人的对话流程控制方法中构建字典树的流程示意图;
25.图6是本技术实施例提供的一种客服机器人的对话流程控制方法中构建字典树的具体流程示例的示意图;
26.图7是本技术实施例提供的一种客服机器人的对话流程控制方法中s502的一种实现方式的示意图;
27.图8是本技术实施例提供的一种客服机器人的对话流程控制装置的示意图;
28.图9是本技术实施例提供的一种服务器的示意图。
具体实施方式
29.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本技术。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
30.通常,导致智能语音客服机器人在工作过程中出现错误地插话或被错误打断的情况的原因在于,机器人无法仅仅通过对话中语音信号的有无来判断用户侧是否进行了有意义的表达,而是必须结合对话的内容才能判断。
31.现有技术中解决这类问题的一个常规方案是,搜集一批包含两个类别的语料,分别对应上述两个场景中的正例和负例。例如,在机器人被错误打断的场景中,可以设置“有意义的开头”和“无意义的开头”两个类别。“有意义的开头”类别中可以包含实际用户表达业务意图时可能使用到的一些开头话术,如“我要”、“我想”、“查询”等;而“无意义的开头”类别中则可以包含一些混杂无规律的字词组合。利用这两个类别的语料训练二分类模型,在机器人播报但用户侧有声音传入的情形下首先使用该二分类模型判断用户侧截至目前的输入是属于“有意义的开头”还是“无意义的开头”。如果是前者则机器人停止播报,如果是后者则不停止播报,从而实现机器人播报过程中不会被错误打断的效果。错误插话场景同理,只是需要将正负例分别更改为“表示停顿的用户话术”和“完整的用户话术”即可。
32.但上述方法在实际落地时存在许多困难。首先,这两个场景中的负例的收集难度都很高,因为负例的情形多种多样,难以枚举。其次,上述两个场景的负例存在一定的区别,错误地插话场景中的负例有可能是有实际业务意图的语料,只是不完整;而被错误打断场景中的负例则是完全无意义的语料。因此,如果要采用机器学习分类模型进行两个场景的判断,则需要训练两个不同的机器学习模型。如果应用智能语音客服机器人的业务线众多,每个业务线都配备两个判断错误地插话和被错误打断的模型,则需要在意图识别模型之外额外消耗大量的内存资源。第三,上述两个场景都需要机器人在短时间内做出反应,对延时的要求较高,而目前主流的机器学习模型的内部结构都比较复杂,计算复杂度较高,在推理速度上可能无法满足线上的实际需求。
33.考虑到现有技术中常规解决方案的局限性,本技术实施例提供了一种客服机器人的对话流程控制方法,该方法基于字典树,通过包含概率计算的文本匹配方法来一次性处理机器人错误地插话和被错误打断的识别问题。本方法无需训练机器学习模型,因此避免了使用机器学习模型产生的内存占用和推理速度较慢的问题;同时本方法也无需准备额外的负例语料,可以直接基于意图识别模型的训练语料进行工作,减少了构建模型所需要的人力物力成本。
34.下面通过具体实施例来说明本技术的技术方案。
35.参照图1,示出了本技术实施例提供的一种客服机器人的对话流程控制方法的示意图,具体可以包括如下步骤:
36.s101、在客服机器人播报的过程中,若检测到用户侧输入的第一字符片段,则基于所述第一字符片段和预先构建的字典树计算打断概率。
37.本方法可以应用于服务器,即本技术实施例的执行主体为服务器。上述服务器可以是提供智能语音交互功能的各种类型的客服平台中的服务器。例如,这些客服平台可以包括电信行业客服平台、银行业客服平台等等。通常,为了减少使用人工客服带来的成本,借助于人工智能技术,这些客服平台可以使用客服机器人来与用户侧的各个用户进行对话,协助用户办理业务或解决相应的问题。例如,查询手机流量、查询宽带缴费情况、办理信用卡等等。
38.在本技术实施例中,客服机器人在与用户进行对话交流的过程中,包括向用户播报特定的语音信息或根据用户侧输入的语音信息针对性地进行回答。例如,在用户接入客服平台后,首先可以由客服机器人播报特定的问候语句,如:“您好,欢迎致电xx银行信用卡中心。请问有什么可以帮您?”待用户侧输入语音信息后,客服机器人可以针对用户侧输入的语音信息进行意图识别,然后向用户播报相应的回复信息。
39.但是,在客服机器人播报的过程中,可能存在客服机器人并未完整地播报完一句语音,就检测到用户侧输入了某些字符片段的情况。示例性地,在用户接入客服平台后,客服机器人将会播报上述特定的问候语句。当客服机器人播报至“您好,欢迎致电”时,就检测到用户侧输入了第一字符片段。此时,客服机器人需要判断第一字符片段是否属于有意义的字符片段。如果是有意义的字符片段,则客服机器人应当停止播报后续的“xx银行信用卡中心。请问有什么可以帮您”等内容,并且等待用户侧输入完整的语音信息,然后根据完整的语音信息对用户意图进行识别。如果上述第一字符片段并非有意义的字符片段,例如第一字符片段仅仅是用户侧混入的背景音,则客服机器人应当继续播报“xx银行信用卡中心。请问有什么可以帮您”等内容。
40.在本技术实施例中,在客服机器人播报的过程中,如果检测到用户侧输入了第一字符片段,则可以基于第一字符片段和预先构建的字典树计算打断概率。从而确认是否需要控制客服机器人停止播报或控制机器人继续播报。上述打断概率可以是指在客服机器人播报过程中,由于用户侧输入了第一字符片段,基于该第一字符片段是否需要打断客服机器人当前的播报的概率。一般地,当打断概率较大时,表示用户侧输入的第一字符片段属于有意义的字符片段,客服机器人应当停止后续的播报;反之,当打断概率较小时,表示用户侧输入的第一字符片段属于无意义的字符片段,客服机器人不应当停止后续的播报,而是应当继续进行播报。
41.在本技术实施例中,打断概率可以是基于第一字符片段和预先构建的字典树计算出来的。该字典树可以包括多个节点组成的多条路径,每条路径与一条训练语料匹配。即,字典树中的每条路径可以包括多个节点,每个节点代表一个字符,该条路径上的多个节点对应的字符连起来可以是一条完整的句子。
42.如图2所示,是本技术实施例提供的一种字典树的部分节点的示例图。在图2中,空白节点为该字典树的根节点。从空白节点开始,图2中示出的字典树的部分节点共构成了四条路径,即“转人工服务”、“转人工客服”、“转人工坐席”以及“办信用卡”这四条句子对应的路径。每条句子中的每个字符均是该路径中的一个节点。例如,“转人工服务”这一路径,包括的节点分别是“转”、“人”、“工”、“服”、“务”这五个字符对应的节点。
43.如图2所示,字典树中的每个节点具有计数值,该计数值也就是图2中每个节点旁标记的数字。例如,节点“转”的计数值为200,节点“工”的计数值也是200。
44.在本技术实施例中,字典树中每个节点的计数值可以用于表征从该字典树的根节点到当前的节点所组成的字符序列在多条训练语料中出现的次数。例如,以图2中的节点“工”为例,从该字典树的根节点到当前的节点(即节点“工”)所组成的字符序列为“转人工”。节点“工”的计数值为200,表示“转人工”这一句子在训练语料中出现的次数为200次。又如,以图2中的节点“务”为例,从该字典树的根节点到当前的节点(即节点“务”)所组成的字符序列为“转人工服务”。节点“务”的计数值为30,表示“转人工服务”这一句子在训练语料中出现的次数为30次。需要说明的是,由于“转人工服务”这一路径包含在“转人工”这一路径中,因此,“转人工”这一句子在训练语料中出现的200次包括“转人工服务”这一句子出现的30次。即,“转人工”这一句子出现的200次中有30次为“转人工服务”,剩余的170次则为其他句子,如“转人工客服”、“转人工坐席”或者“转人工接听”等等。
45.在本技术实施例的一种可能的实现方式中,如图3所示,s101中基于第一字符片段和预先构建的字典树计算打断概率具体可以包括如下子步骤s1011-s1013:
46.s1011、在所述字典树中查询与所述第一字符片段匹配的第一目标路径。
47.在本技术实施例中,当检测到用户侧输入了第一字符片段时,可以首先在字典树中查询到与该第一字符片段匹配的第一目标路径。该第一目标路径的各个节点上的字符所形成的字符序列应当与第一字符片段相同。示例性地,若检测到的第一字符片段为“转人”,则需要在字典树中查找到由节点“转”和节点“人”组成的第一目标路径。
48.在具体实现中,可以识别第一字符片段中的各个字符。例如,上述第一字符片段“转人”中的各个字符包括字符“转”和字符“人”。
49.然后,可以按照第一字符片段中的各个字符的顺序,从字典树的根节点开始查找与第一字符片段中的各个字符对应相同的第一目标路径。在第一字符片段“转人”中,字符“转”的顺序相较于字符“人”在前,因此可以从字典树的根节点开始依次查找节点“转”和节点“人”。由于字典树的根节点通常为空白节点。因此,上述查询的目的即是在根节点的下一级子节点中查找到节点“转”,然后在节点“转”的下一级子节点中查找到节点“人”,得到第一目标路径。
50.s1012、获取用于构建所述字典树的所述训练语料的总条数。
51.在本技术实施例中,构建字典树的训练语料可以是训练各业务意图的意图模型时使用的语料。这样,相较于现有技术中的方法,本技术实施例无需准备额外的负例语料,而
是可以直接基于意图识别模型的训练语料来构建字典树,极大地降低了构建字典树所需的人力物力成本。
52.在本技术实施例中,训练语料的总条数可以是在构建字典树时直接统计得到的。当需要计算打断概率时,可以直接获取该总条数进行计算。
53.s1013、计算所述第一目标路径中最后一个节点的计数值与所述总条数之间的第一比值,将所述第一比值作为所述打断概率。
54.在本技术实施例中,打断概率可以通过将查询到的第一目标路径中最后一个节点的计数值与训练语料的总条数进行相除所得到的第一比值来表示。
55.示例性地,在前述示例中,对于第一目标路径“转人”,结合图2可知,其最后一个节点“人”的计数值为200,若训练语料的总条数为250,则可以计算得到第一比值为200/250=0.8,即第一字符片段“转人”的打断概率为0.8。
56.s102、若所述打断概率大于第一预设阈值,则控制所述客服机器人停止播报,以接收所述用户侧输入的完整的语音信息。
57.在本技术实施例中,如果打断概率较大,例如大于第一预设阈值,则表示用户当前打断客服机器人的播报,选择直接执行某一操作的概率较大。例如,在前述示例中,在机器人播报至“您好,欢迎致电”时,检测到用户侧输入了第一字符片段“转人”,由于第一字符片段“转人”的打断概率为0.8,大于第一预设阈值,则表示用户在客服机器人播报还未完成时就打算直接转人工,刚说了两个字“转人”后,可以判定用户是想打断客服机器人播报。此时,可以控制客服机器人停止播报后续的“xx银行信用卡中心。请问有什么可以帮您”等内容,选择等待用户侧输入的完整的语音信息。客服机器人可以根据用户侧输入的完整的语音信息识别用户意图,并针对性地进行处理。
58.在本技术实施例中一种示例中,假设用户侧当前输入的第一字符片段为“魑魅”,该第一字符片段并不是用户在对电话说话而是由于背景噪音转译而得到的字符片段,在字典树中没有出现过。因此,可以默认“魑魅”对应的第一目标路径最后一个节点的计数值为0。相应地,“魑魅”的打断概率也为0,此时客服机器人应该继续播报而不应该被打断。考虑到意图识别模型的训练语料中可能包含噪音,即可能混入了几条以“魑魅”开头的语料,导致计算得到的打断概率虽然也很小但并不为0,因此在实际应用中,可以设置一个非零但很小的阈值,当打断概率低于这个阈值时,即认为不应该打断,而不是必须要求打断概率为0时才不会打断。
59.s103、当所述用户侧停止输入所述语音信息时,获取所述用户侧在停止前已输入的第二字符片段,并基于所述第二字符片段和所述字典树计算截断概率。
60.当用户侧在输入语音信息时,如果中途因各种原因出现停止,需要及时地判断该停止是由于用户临时性地停顿以回忆单词或组织语言,还是用户已经完成了意图的表达,需要客服机器人响应。
61.在本技术实施例中,当用户侧停止输入语音信息时,可以基于用户侧已经输入的信息和字典树计算截断概率。该截断概率可以用于表示用户侧在输入语音信息的过程中,完成的语音信息被截断的概率。通常,截断概率越大,表示用户侧的完整语音信息被临时截断的可能性就比较大,客服机器人需要继续等待用户的后续输入;如果截断概率较小,则可能表示用户侧已经完整地输入了需要表达的语音信息,客服机器人可以根据语音信息识别
用户意图,并针对性地进行响应。因此,截断概率可以用来衡量用户的停顿是否是真的说完了话。
62.在本技术实施例的一种可能的实现方式中,如图4所示,s103中基于第二字符片段和字典树计算截断概率具体可以包括如下子步骤s1031-s1032:
63.s1031、在所述字典树中查询与所述第二字符片段匹配的第二目标路径。
64.在本技术实施例中,当用户侧停止输入语音信息时,可以首先获取用户侧在停止前已输入的第二字符片段,并在字典树中查询到与该第二字符片段匹配的第二目标路径。该第二目标路径的各个节点上的字符所形成的字符序列应当与第二字符片段相同。示例性地,若检测到的第二字符片段为“转人工”,则需要在字典树中查找到由节点“转”、节点“人”和节点“工”组成的第二目标路径。
65.在具体实现中,可以识别第二字符片段中的各个字符。例如,上述第二字符片段“转人工服”中的各个字符包括字符“转”、字符“人”和字符“工”。
66.然后,可以按照第二字符片段中的各个字符的顺序,从字典树的根节点开始查找与第二字符片段中的各个字符对应相同的第二目标路径。在第二符片段“转人工”中,字符“转”的顺序位于最前面,因此可以从字典树的根节点开始依次查找节点“转”、节点“人”和节点“工”。由于字典树的根节点通常为空白节点。因此,上述查询的目的即是在根节点的下一级子节点中查找到节点“转”,然后在节点“转”的下一级子节点中查找到节点“人”,以此类推,直到得到第二目标路径。
67.s1032、计算所述第二目标路径中最后一个节点的计数值,与所述第二目标路径中最后一个节点的多个下一级子节点的计数值之和之间的第二比值,将所述第二比值作为所述截断概率。
68.在本技术实施例中,截断概率可以通过将查询到的第二目标路径中最后一个节点的计数值,与最后一个节点的多个下一级子节点的计数值之和之间的第二比值来表示。
69.示例性地,在前述示例中,对于第二目标路径“转人工”,结合图2可知,其最后一个节点“工”的计数值为200,节点“工”的下一级子节点包括节点“服”、节点“客”和节点“坐”。其中,节点“服”的计数值为30、节点“客”的计数值为5、节点“坐”的计数值也为5,因此,节点“工”的多个下一级子节点的计数值之和也就是30+5+5=40。这样,计算得到的第二比值也就是40/200=0.2,即第二字符片段“转人工”的截断概率为0.2,这表示用户侧输入的第二字符片段有0.2的概率是被截断的,是非完整的语音信息,后面可能还会接有其他词组。
70.在另一个示例中,以第二字符片段为“转人工服”为例。结合图2可知,最后一个节点“服”的计数值为30,其下一级子节点仅包括节点“务”,节点“务”的计数值也为30。按照前述介绍的截断概率的计算方式,可以计算得到第二字符片段“转人工服”的截断概率为30/30=1,这意味着几乎可以肯定用户侧输入的第二字符片段“转人工服”是被截断了,也就是用户实际还没有说完话。
71.s104、根据所述截断概率对所述客服机器人的对话流程进行控制。
72.在本技术实施例中,在用户侧输入语音信息停止时,可以基于用户侧已经输入的第二字符片段计算截断概率。如果该截断概率较小,例如,小于第二预设阈值,则表示用户侧已经输入的第二字符片段被截断的概率较小,也就是用户有较大概率已经说完了话。此时,可以控制客服机器人基于第二字符片段识别用户侧的用户意图,并针对用户意图进行
播报。否则,如果该截断概率较大,则表示用户侧已经输入的第二字符片段被截断的概率较大,也就是用户有较大概率还没有说完话。此时,应当控制客服机器人继续等待用户侧输入语音信息,以接收到用户侧输入的完整的语音信息,再进行用户意图的识别。
73.在本技术实施例中,在客服机器人播报的过程中,如果检测到用户侧输入了第一字符片段,可以基于第一字符片段和预先构建的字典树计算打断概率。上述打断概率可以用于表示用户侧打断机器人播报的可能性的大小。若打断概率大于第一预设阈值,则可以表示用户侧打断机器人播报的可能性较大。此时,可以控制客服机器人停止播报,以接收用户侧输入的完整的语音信息,并根据用户侧输入的完整的语音信息进行用户意图的识别。当用户侧停止输入语音信息时,通过获取用户侧在停止前已输入的第二字符片段,可以基于上述第二字符片段和字典树计算截断概率。该截断概率可以用于表示用户侧输入的第二字符片段被截断的可能性的大小,从而可以根据截断概率对客服机器人的对话流程进行控制。例如,若截断概率小于第二预设阈值,则可以表示第二字符片段被截断的可能性较小,也就是用户已经说完的可能性较大。此时,可以控制客服机器人基于第二字符片段识别用户侧的用户意图;否则,应当控制客服机器人继续等待用户侧输入语音信息,以接收到用户侧输入的完整的语音信息。本技术实施例通过采用基于字典树的包含概率计算的文本匹配方法来一次性处理错误插话和被错误打断的识别问题,无需训练机器学习模型,解决了使用机器学习模型产生的内存占用和推理速度较慢的问题,同时也无需准备额外的负例语料,可以直接基于意图识别模型的训练语料进行识别,减少了模型建立时所需要的人力物力成本。
74.参照图5,示出了本技术实施例提供的一种客服机器人的对话流程控制方法中构建字典树的流程示意图,构建字典树的过程具体可以包括如下步骤:
75.s501、获取用于训练意图识别模型的各个业务意图的多条训练语料。
76.在本技术实施例中,可以基于训练意图识别模型时已经收集的各业务意图的训练语料来构建字典树。例如,上述训练语料可以包括“转人工服务”、“转人工客服”、“转人工坐席”、“办信用卡”等等。
77.s502、根据多条所述训练语料,生成所述字典树的多条路径。
78.在本技术实施例中,每条训练语料可以作为字典树中的一条路径。
79.如图6所示,是本技术实施例提供的一种客服机器人的对话流程控制方法中构建字典树的具体流程示例的示意图。在图6中的(a)中,训练语料“转人工服务”、“转人工客服”、“转人工坐席”、“办信用卡”等均可以构成字典树中的一条路径。
80.在本技术实施例中,如图7所示,s502中根据多条训练语料,生成字典树的多条路径具体可以包括如下子步骤s5021-s5023:
81.s5021、将每条所述训练语料中的每个字符作为所述字典树中的一个节点,形成所述字典树中的多条路径。
82.结合图6中的(a),每条训练语料中的每个字符均可以作为字典树中的一个节点。这样,对于训练语料“转人工服务”、“转人工客服”、“转人工坐席”、“办信用卡”等,可以形成如图6中的(a)所示的四条路径。即路径“转人工服务”、路径“转人工客服”、路径“转人工坐席”和路径“办信用卡”。其中:
83.路径“转人工服务”包括节点“转”、节点“人”、节点“工”、节点“服”和节点“务”;
84.路径“转人工客服”包括节点“转”、节点“人”、节点“工”、节点“客”和节点“服”;
85.路径“转人工坐席”包括节点“转”、节点“人”、节点“工”、节点“坐”和节点“席”;
86.路径“办信用卡”包括节点“办”、节点“信”、节点“用”和节点“卡”。
87.s5022、生成所述字典树的根节点,并将每条所述训练语料中的起始字符作为所述根节点的下一级子节点。
88.字典树的根节点可以如图6中的(b)中的空白节点所示。在形成如图6中的(a)所示的多条路径后,可以将每条路径对应的训练语料中的起始字符作为根节点的下一级子节点。
89.例如,对于路径“转人工服务”,可以将节点“转”作为根节点的下一级子节点;对于路径“转人工客服”,可以将节点“转”作为根节点的下一级子节点;对于路径“转人工坐席”,可以将节点“转”作为根节点的下一级子节点;对于路径“办信用卡”,可以将节点“办”作为根节点的下一级子节点。这样,可以形成如图6中的(b)所示的字典树的初始形态结果。
90.s5023、从所述根节点开始向下遍历,对相同字符的节点进行合并。
91.由图6中的(b)可知,对于不同的训练语料,其形成的路径中部分节点可能是相同的。对于这些相同的节点,可以进行合并处理。
92.在具体实现中,可以从字典树的根节点开始向下遍历,对相同字符的节点进行合并。例如,图6中的(b)中的路径“转人工服务”、路径“转人工客服”和路径“转人工坐席”中,从字典树的根节点开始,这三条路径中根节点的下一级均为节点“转”、且节点“转”的下一级子节点均为节点“人”、节点“人”的下一级子节点均为节点“工”。因此,可以将这三个节点进行合并。这样,可以得到如图6中的(c)所示的字典树形态。
93.s503、统计每条所述训练语料中各个字符序列出现的次数,并将各个所述字符序列出现的次数作为所述字符序列中最后一个字符对应的节点的计数值进行标记,得到所述字典树。
94.在本技术实施例中,为了便于后续打断概率和截断概率的计算,需要统计不同的字符在训练中出现的次数。具体地,可以统计每条训练语料中各个字符序列出现的次数,该字符序列也就是从字典树的根节点开始到当前的节点所组成的字符序列。例如,在图6中的(c)中,字符“工”对应的字符序列即为从根节点开始到节点“工”为止所组成的字符序列,即“转人工”。
95.在统计得到每个字符序列出现的次数后,可以将该次数作为字符序列中最后一个字符对应的节点的计数值。例如,若统计得到字符序列“转人工”出现的次数为200次,则可以将200作为字符序列“转人工”中最后一个字符对应的节点,也就是节点“工”的计数值。这样,便可以得到如图6中的(d)所示的字典树的最终形态结果。
96.需要说明的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
97.参照图8,示出了本技术实施例提供的一种客服机器人的对话流程控制装置的示意图,该装置可以应用于服务器,该装置具体可以包括打断概率计算模块801、截断概率计算模块802和对话流程控制模块803,其中:
98.打断概率计算模块801,用于在客服机器人播报的过程中,若检测到用户侧输入的
第一字符片段,则基于所述第一字符片段和预先构建的字典树计算打断概率;其中,所述字典树包括由多个节点组成的多条路径,每条所述路径与一条训练语料匹配,每个所述节点具有计数值,所述计数值用于表征从所述字典树的根节点到当前的所述节点所组成的字符序列在多条所述训练语料中出现的次数;
99.截断概率计算模块802,用于在所述用户侧停止输入语音信息时,获取所述用户侧在停止前已输入的第二字符片段,并基于所述第二字符片段和所述字典树计算截断概率;
100.对话流程控制模块803,用于在所述打断概率大于第一预设阈值时,控制所述客服机器人停止播报,以接收所述用户侧输入的完整的语音信息;或者,根据所述截断概率对所述客服机器人的对话流程进行控制。
101.在本技术实施例中,所述装置还可以包括训练语料获取模块、路径生成模块和字典树构建模块,其中:
102.所述训练语料获取模块,用于获取用于训练意图识别模型的各个业务意图的多条训练语料;
103.所述路径生成模块,用于根据多条所述训练语料,生成所述字典树的多条路径;
104.所述字典树构建模块,用于统计每条所述训练语料中各个字符序列出现的次数,并将各个所述字符序列出现的次数作为所述字符序列中最后一个字符对应的节点的计数值进行标记,得到所述字典树。
105.在本技术实施例中,所述路径生成模块具体可以用于:将每条所述训练语料中的每个字符作为所述字典树中的一个节点,形成所述字典树中的多条路径;生成所述字典树的根节点,并将每条所述训练语料中的起始字符作为所述根节点的下一级子节点;从所述根节点开始向下遍历,对相同字符的节点进行合并。
106.在本技术实施例中,所述打断概率计算模块801具体可以用于:在所述字典树中查询与所述第一字符片段匹配的第一目标路径;获取用于构建所述字典树的所述训练语料的总条数;计算所述第一目标路径中最后一个节点的计数值与所述总条数之间的第一比值,将所述第一比值作为所述打断概率。
107.在本技术实施例中,所述打断概率计算模块801还可以用于:识别所述第一字符片段中的各个字符;按照所述第一字符片段中的各个字符的顺序,从所述字典树的根节点开始查找与所述第一字符片段中的各个字符对应相同的第一目标路径。
108.在本技术实施例中,所述截断概率计算模块802具体可以用于:在所述字典树中查询与所述第二字符片段匹配的第二目标路径;计算所述第二目标路径中最后一个节点的计数值,与所述第二目标路径中最后一个节点的多个下一级子节点的计数值之和之间的第二比值,将所述第二比值作为所述截断概率。
109.在本技术实施例中,所述对话流程控制模块803还可以用于:若所述截断概率小于第二预设阈值,则控制所述客服机器人基于第二字符片段识别所述用户侧的用户意图,并针对所述用户意图进行播报;否则,控制所述客服机器人继续等待所述用户侧输入语音信息,以接收所述用户侧输入的完整的语音信息。
110.对于装置实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例部分的说明即可。
111.参照图9,示出了本技术实施例提供的一种服务器的示意图。如图9所示,本技术实
施例中的服务器900包括:处理器910、存储器920以及存储在所述存储器920中并可在所述处理器910上运行的计算机程序921。所述处理器910执行所述计算机程序921时实现上述客服机器人的对话流程控制方法各个实施例中的步骤,例如图1所示的步骤s101至s104。或者,所述处理器910执行所述计算机程序921时实现上述各装置实施例中各模块/单元的功能,例如图8所示模块801至803的功能。
112.示例性的,所述计算机程序921可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器920中,并由所述处理器910执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段可以用于描述所述计算机程序921在所述服务器900中的执行过程。例如,所述计算机程序921可以被分割成打断概率计算模块、截断概率计算模块和对话流程控制模块,各模块具体功能如下:
113.打断概率计算模块,用于在客服机器人播报的过程中,若检测到用户侧输入的第一字符片段,则基于所述第一字符片段和预先构建的字典树计算打断概率;其中,所述字典树包括由多个节点组成的多条路径,每条所述路径与一条训练语料匹配,每个所述节点具有计数值,所述计数值用于表征从所述字典树的根节点到当前的所述节点所组成的字符序列在多条所述训练语料中出现的次数;
114.截断概率计算模块,用于在所述用户侧停止输入语音信息时,获取所述用户侧在停止前已输入的第二字符片段,并基于所述第二字符片段和所述字典树计算截断概率;
115.对话流程控制模块,用于在所述打断概率大于第一预设阈值时,控制所述客服机器人停止播报,以接收所述用户侧输入的完整的语音信息;或者,根据所述截断概率对所述客服机器人的对话流程进行控制。
116.所述服务器900可以是前述各个实施例中的服务器,该服务器900可以是桌上型计算机、云端服务器等计算设备。所述服务器900可包括,但不仅限于,处理器910、存储器920。本领域技术人员可以理解,图9仅仅是服务器900的一种示例,并不构成对服务器900的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器900还可以包括输入输出设备、网络接入设备、总线等。
117.所述处理器910可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
118.所述存储器920可以是所述服务器900的内部存储单元,例如服务器900的硬盘或内存。所述存储器920也可以是所述服务器900的外部存储设备,例如所述服务器900上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等等。进一步地,所述存储器920还可以既包括所述服务器900的内部存储单元也包括外部存储设备。所述存储器920用于存储所述计算机程序921以及所述服务器900所需的其他程序和数据。所述存储器920还可以用于暂时地存储已经输出或者将要输出的数据。
119.本技术实施例还公开了一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如前述各个实施例所述的客服机器人的对话流程控制方法。
120.本技术实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前述各个实施例所述的客服机器人的对话流程控制方法。
121.本技术实施例还公开了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行前述各个实施例所述的客服机器人的对话流程控制方法。
122.本技术实施例中服务器所实现的各项功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述方法实施例中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/服务器的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
123.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其他实施例的相关描述。
124.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
125.在本技术所提供的实施例中,应该理解到,所揭露的装置/服务器和方法,可以通过其他的方式实现。例如,以上所描述的装置/服务器实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
126.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
127.以上所述实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改
或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1