基于监听与侦测机制的机器人交互方法及装置
技术领域
本申请涉及机器人交互方法领域,具体涉及一种基于监听与侦测机制的机器人交互方法,以及一种基于监听与侦测机制的机器人交互装置。
背景技术
随着AI(人工智能,Artificial Intelligence)技术的不断发展,人工智能在智能客服领域得到了高速的发展,各种类型的客服机器人层出不穷。
常见的客服机器人与用户交互的方法是:首先获取用户的会话信息,然后利用引擎对用户的会话信息进行语义分析,最后生成回复信息反馈给用户,从而完成一轮交互。实际在与机器人交互时,例如客服机器人在为用户提供服务时,为了为用户提供复杂的服务,往往需要进行多轮交互才能完成整个交互过程。交互的轮次不确定,而且用户在交互过程中可能需要随时停止交互过程。
由于交互的轮次不确定,因此机器人在每一轮交互中都会根据会话信息生成回复信息反馈给用户。而用户如果想要停止交互,则需要手动操作来停止,故而使用户产生不够友好的体验。
发明内容
为解决前述技术问题,本发明提供一种基于监听与侦测机制的机器人交互方法,能够主动监听用户会话来确定是否终止当前会话进程,提升与用户交互的友好度。
第一方面,提供一种基于监听与侦测机制的机器人交互方法,包括以下步骤:
获取会话文本,所述会话文本是和用户在机器人与用户的会话进程中输入的会话信息相对应的文本信息;
识别所述会话文本中是否包含中断词,所述中断词为预设词库中所包含的字词;
如果包含中断词,则确定所述会话文本是否具有中断会话进程的语义;
如果具有所述中断会话进程的语义,则终止当前会话进程。
结合第一方面,在第一方面第一种可能的实现方式中,识别所述会话文本中是否包含中断词的步骤,包括:
清洗所述会话文本中的停用词,得到第一处理文本;
切分所述第一处理文本,得到分词结果;
如果分词结果中的分词与中断词匹配,则所述会话文本中包含中断词。
结合第一方面及上述可能的实现方式,在第一方面第二种可能的实现方式中,确定所述会话文本是否具有中断会话进程的语义的步骤,包括:
提高分词结果中与所述中断词匹配的分词的权重值;
根据分词结果中的全部分词及相应的权重值,计算分词结果与预设中断语句的相似度;
如果相似度达到预设阈值,则所述会话文本具有中断会话进程的语义。
结合第一方面及上述可能的实现方式,在第一方面第三种可能的实现方式中,该交互方法还包括以下步骤:
以获取所述会话文本的时间点为起始时间对所述会话进程计时,获得处理时长;
如果所述处理时长大于或等于预设时长,则输出预设的第一回复信息,并终止当前会话进程。
结合第一方面及上述可能的实现方式,在第一方面第四种可能的实现方式中,识别所述会话文本中是否包含中断词,如果包含中断词,则确定所述会话文本是否具有中断会话进程的语义的步骤,包括:
通过网络将所述会话文本发送给远程的处理引擎,所述处理引擎用于识别所述会话文本中的中断词,以及用于确定所述会话文本的语义;
通过网络接收所述会话文本中是否具有中断会话进程的语义的确定结果。
结合第一方面及上述可能的实现方式,在第一方面第五种可能的实现方式中,该交互方法还包括以下步骤:
侦测所述网络的状态;
如果所述网络的状态为异常,则输出预设的第二回复信息,并终止当前会话进程。
结合第一方面及上述可能的实现方式,在第一方面第六种可能的实现方式中,该交互方法还包括以下步骤:
侦测所述处理引擎中的第一引擎的状态,其中,所述处理引擎还用于根据所述会话文本生成回复信息;
如果第一引擎的状态为异常时,则获取所述处理引擎中的第二引擎的状态;
如果第二引擎的状态为异常时,则输出预设的第三回复信息,终止当前会话进程。
第二方面,提供一种基于监听与侦测机制的机器人的交互装置,包括:
获取单元,用于获取会话文本,所述会话文本是和用户在机器人与用户的会话进程中输入的会话信息相对应的文本信息;
处理单元,用于识别所述会话文本中是否包含中断词,所述中断词为预设词库中所包含的字词,以及用于当包含中断词时确定所述会话文本是否具有中断会话进程的语义;
终止单元,用于当所述会话文本具有所述中断会话进程的语义时,终止当前会话进程。
结合第二方面,在第二方面第一种可能的实现方式中,该交互装置还包括:
计时单元,用于以获取所述会话文本的时间点为起始时间对所述会话进程计时,获得处理时长;
输出单元,用于当所述处理时长大于或等于预设时长时,输出预设的第一回复信息;
其中,所述终止单元还用于当所述处理时长大于或等于预设时长时,终止当前会话进程。
结合第二方面及上述可能的实现方式,在第二方面第二种可能的实现方式中,所述处理单元具体用于通过网络将所述会话文本发送给远程的处理引擎,接收所述处理引擎反馈的所述会话文本中是否具有中断会话进程的语义的确定结果,所述处理引擎用于识别所述会话文本中的中断词,以及用于确定所述会话文本的语义。
通常情况下,在一轮会话开始之后用户却想要中途终止当前会话进程时,机器人还在后台进行当前会话文本的处理,用户需要通过手动操作等步骤来终止当前会话进程,或者等待后台对当前会话文本的处理结束,反馈给用户回复信息以后,才能结束当前会话进程,产生了不够友好的体验。
本发明实施例中的机器人交互方法,首先获取来自用户输入的会话文本,识别会话文本中是否包含预设中断词库中的中断词,来初步判断用户是否想要在多轮会话之后终止当前轮次的会话进程。如果会话文本中包含中断词,则再确定会话文本是否具有中断当前会话进程的语义,来最终判断用户是否想要终止当前轮次的会话进程,继而终止当前会话进程或继续常规的会话文本处理步骤。通过上述方法对用户会话进行主动监听,避免出现必须用户手动停止或机器人后台反馈回复信息才能结束当前轮次的会话进程的情况,提升机器人与用户交互的友好度。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的交互方法的第一个实施例的流程图;
图2为本申请的交互方法的第一个实施例中S200步骤的其中一种具体实施方式的流程图;
图3为本申请的交互方法的第一个实施例中S300步骤的其中一种具体实施方式的流程图;
图4为本申请的交互方法的第二个实施例中的流程图;
图5为本申请的交互方法的第三个实施例中的流程图;
图6为本申请的交互方法的第四个实施例中的流程图;
图7为本申请的交互装置的其中一种具体实施方式的结构示意图;
图8为本申请的交互装置的另一种具体实施方式的结构示意图;
图9为本申请的交互装置的再一种具体实施方式的结构示意图。
具体实施方式
下面结合附图对本申请的实施例作详细说明。
请参考图1,在本发明第一个实施例中,提供一种基于监听与侦测机制的机器人交互方法,包括以下步骤:
S100获取会话文本,所述会话文本是和用户在机器人与用户的会话进程中输入的会话信息相对应的文本信息;
S200识别所述会话文本中是否包含中断词,所述中断词为预设词库中所包含的字词;
S300如果包含中断词,则确定所述会话文本是否具有中断会话进程的语义;
S400如果具有所述中断会话进程的语义,则终止当前会话进程。
通常情况下,在一轮会话开始之后用户却想要中途终止当前会话进程时,机器人还在后台进行当前会话文本的处理,用户需要通过手动操作等步骤来终止当前会话进程,或者等待后台对当前会话文本的处理结束,反馈给用户回复信息以后,才能结束当前会话进程,产生了不够友好的体验。
本实施例中的机器人交互方法,首先获取来自用户输入的会话文本,识别会话文本中是否包含预设中断词库中的中断词,来初步判断用户是否想要在多轮会话之后终止当前轮次的会话进程。如果会话文本中包含中断词,则再确定会话文本是否具有中断当前会话进程的语义,来最终判断用户是否想要终止当前轮次的会话进程,继而终止当前会话进程或继续常规的会话文本处理步骤。通过上述方法对用户会话进行主动监听,避免出现必须用户手动停止或机器人后台反馈回复信息才能结束当前轮次的会话进程的情况,提升机器人与用户交互的友好度。
在S100的步骤中,会话文本是和用户在机器人与用户的会话进程中输入的会话信息相对应的文本信息。用户输入的会话信息可以是文本信息,也可以是语音信息,还可以是图片信息或视频信息等,本申请对于会话信息的形式不做限制。如果用户输入的会话信息是文本信息,那么直接获取文本信息作为会话文本;如果用户输入的会话信息是文本信息之外的其他类型,那么将会话信息转换生成与会话信息相对应的文本信息,然后获取该文本信息作为会话文本。
例如,如果用户输入的会话信息是文本信息“北京明天的天气如何?”,则直接获取该文本信息作为会话文本即可。又例如,如果用户输入的语音信息,可以利用现有的语音转换模块将语音信息转换为与语音信息相对应文本信息,并获取该文本信息作为会话文本。还例如,如果用户输入的是图片信息,可以利用现有的图片文本转换模块,从图片中提取出与图片信息相对应的文本信息,并获取该文本信息作为会话文本。
在S200的步骤中,中断词为表示用户可能期望停止当前会话进程的词。例如,“停止”、“取消”、“不说了”等。预设词库可以预先构建,在本申请中也称之为中断概念库,其中包括了多个中断词,适用于多种中断场景的会话的语义识别。中断概念库可以设置在机器人本地,也可以设置在远程的服务器上,机器人与服务器通过网络连接。在本实施例中以中断概念库在本地的情况来进行说明。
在S200的步骤中,识别所述会话文本中是否包含中断词的步骤,请参考图2,具体地可以包括:
S210清洗所述会话文本中的停用词,得到第一处理文本;
S220切分所述第一处理文本,得到分词结果;
S230如果分词结果中的分词与中断词匹配,则所述会话文本中包含中断词。
在S210的步骤中,停用词(Stop Words)是指在文本处理中,为节省存储空间和/或提高处理效率等目的,在处理文本之前或之后会过滤掉的字或词。例如,获取的会话文本为“哈哈,我不想问了”,其中停用词为“哈哈”、“了”,清洗了停用词后得到第一处理文本“我不想问”。又例如,获取的会话文本为“啊,我刚才说错了,取消吧”,其中停用词为“啊”、“了”、“吧”,清洗了停用词之后得到第一处理文本“我刚才说错,请取消”。去掉停用词后,能够去除会话文本中的噪音,从而使后续的步骤中分词结果与预设中断语句的语义相似度计算更为准确。
在S220的步骤中,切分第一处理文本可以采用分词器,得到分词结果,分词结果包括了一个或多个分词。沿用S210的步骤中的例子,第一处理文本“我刚才说错,请取消”经过分词器的分词后,得到分词结果“我/刚才/说错/,请/取消”。
此外,S210的步骤还可以与S220的步骤合并进行。具体地,在清洗停用词可以先预先建立一个停用词列表。一边对会话文本进行分词,一边将切分出的分词与停用词列表中的词进行匹配,如果该分词存在于停用词列表中,则将该分词从分词处理后的词条串中删除,从而得到清洗了停用词的分词结果。
在S230的步骤中,可以将分词结果中的分词与中断概念库中所有中断词一一去比对,当至少有一个分词与中断概念库中的中断词能够匹配上时,则确定会话文本中包含了中断词。
沿用S220的步骤中的例子,分词结果中包括5个分词“我”、“刚才”、“说错”、“请”、“取消”。假设中断概念库中包括以下中断词:停止、取消、不说了。经过比对后,发现分词“取消”能够与中断词“取消”匹配上,从而确定会话文本“啊,我刚才说错了,取消吧”中包括了中断词。
在这里,分词结果中的分词与中断词能够匹配上,可以是指分词与中断词匹配,也可以是指分词的同义词与中断词匹配。例如,分词结果中的一个分词为“撤销”,中断概念库中的其中一个中断词为“取消”,并且根据预设,“撤销”是“取消”的同义词,则可以判断分词“撤销”与中断词“取消”匹配,继而确定会话文本中包含中断词。
如果分词结果中所有的分词都不能与中断概念库中的中断词匹配,也就是会话文本中不包含中断词,则说明用户并没有要终止当前会话进程的意愿,故而可以将会话文本发送给用于根据会话文本生成回复信息的引擎,由引擎进行语义分析后生成回复信息,然后机器人反馈给用户,再终止当前的会话进程,完成一轮交互。由于S210和S220的步骤已经对会话文本进行了清洗和分词,因此,在会话文本中不包含中断词的情况下,也可以直接将分词结果发送给引擎,引擎直接根据分词结果来进行语义分析,生成回复信息,而无需对会话文本再重新进行一次分词。
在S300的步骤中,如果会话文本中包含了中断词,则再对会话文本进行语义分析,确定会话文本中是否具有中断会话进程的语义。这是因为,在有些情况下,即便会话文本中包含了中断词,也不表示用户期望中断当前会话进程。例如,中断概念库中包括“取消”这个中断词,获取的会话文本是“我还想问问该怎么取消短信提醒”,可以识别出会话文本中包含了“取消”这个中断词,但是用户输入的这句会话文本实际是想咨询如何办理某项业务,并不是想中断当前会话进程。
确定当前的会话文本中是否具有中断会话进程的语义,可以将分词结果与预设的中断语句进行语义相似度计算,当二者的语义相似度达到预设的阈值时,则认为当前的会话文本中具有中断会话进程的语义。语义相似度计算方法可以采用本领域现有的计算方法,例如基于语义和词序相似度计算方法,或基于关系向量模型的计算方法,具体地例如WMD(word move’s distance,基于词向量的文档相似度)算法等。
可选地,确定所述会话文本是否具有中断会话进程的语义的步骤,请参考图3,可以包括以下步骤:
S310提高分词结果中与所述中断词匹配的分词的权重值;
S320根据分词结果中的全部分词及相应的权重值,计算与预设中断语句的语义相似度;
S330如果相似度达到预设阈值,所述会话文本具有中断会话进程的语义。
S310的步骤中,分词结果中各个分词都设置有预设权重值。可以先标记与中断词匹配的分词,然后提高标记的分词的权重值。例如,可以在S200的识别会话文本中是否包含中断词的步骤中,一旦识别出一个与中断词匹配的分词,则对该分词标记;也可以在识别出分词结果中所有的与中断词匹配的分词后,再对这些匹配上的分词做标记。
在S320的步骤中,根据分词结果中的全部分词及相应的权重值,计算与预设中断语句的语义相似度,具体可以采用WMD(word move’s distance,基于词向量的文档相似度)算法。
在S330的步骤中,如果相似度达到预设阈值,所述会话文本具有中断会话进程的语义。而如果相似度达不到预设阈值,则认为当前会话文本中不具有中断会话进程的语义。
S310至S330的步骤,通过提高与中断词匹配的分词的权重值,使得在计算与预设中断语句的相似度时与中断词匹配的分词所占的权重更高,从而进一步提升判断所述会话文本中是否具有中断会话进程的语义的准确率。
S400的步骤中,如果当前的会话文本具有中断会话进程的语义,则终止当前会话进程。如果当前会话文本中不具有中断会话进程的语义,则将会话文本发送给用于根据会话文本生成回复信息的处理引擎,由处理引擎进行语义分析后生成回复信息,然后机器人反馈给用户,再终止当前的会话进程,完成一轮交互。例如,获取到的会话文本为“北京明天的天气如何?”,通过前述步骤可以判断该会话文本不具有中断会话进程的语义,则处理引擎对该会话文本进行语义分析后,生成回复信息“北京明天多云,温度19-29℃,南风2-3级”。机器人将该回复信息反馈给用户,然后终止当前会话进程。用户可以再输入新的会话信息,开始新一轮交互。
请参考图4,在本发明第二个实施例中,提供一种基于监听与侦测机制的机器人交互方法,包括以下步骤:
S100获取会话文本,所述会话文本是和用户在机器人与用户的会话进程中输入的会话信息相对应的文本信息;
S200识别所述会话文本中是否包含中断词,所述中断词为预设词库中所包含的字词;
S300如果包含中断词,则确定所述会话文本是否具有中断会话进程的语义;
S400如果具有所述中断会话进程的语义,则终止当前会话进程;
S510以获取所述会话文本的时间点为起始时间对所述会话进程计时,获得处理时长;
S520如果所述处理时长大于或等于预设时长,则输出预设的第一回复信息,并终止当前会话进程。
在本实施例中,S100至S400的步骤可以参考第一个实施例,此处不再赘述。
S510的步骤具体地,在获取会话文本的时候,可以赋予会话文本一个会话ID,并记录会话进程的起始时间。然后每隔一段时间,根据会话ID来追踪处理当前会话文本的会话进程。如果会话进程没有终止的话,以当前时间点与起始时间之间的时间间隔作为处理时长。
S520的步骤中,判断处理时长是不是大于或等于预设时长,如果大于或等于预设时长,说明当前轮次的会话文本的处理时间过长,用户可能长时间得不到相应。此时输出预设的第一回复信息,例如“小富(机器人的自称)刚才没有听清楚,您可以再说一次吗?”,从而避免用户长时间得不到相应,并终止当前会话进程,以避免用户长时间等待,便于用户可以即刻开始新一轮的会话。
用户与机器人交互的过程中,偶尔会出现机器人卡顿、长时间不响应等情况,使得用户不得不持续等待或者手动强制停止当前会话进程,产生不友好的用户体验。为此,在获取会话文本的时候,就对处理会话文本的会话进程进行计时,当处理时长超过预设时长的时候,则输出第一回复信息,然后终止当前会话进程。通过上述方法来对会话进程进行监听,并在超时的时候及时给予用户回应并终止当前会话进程,避免长时间等待和长时间得不到响应的情况,从而提升用户友好度。
请参考图5,在本发明第三个实施例中,提供一种基于监听与侦测机制的机器人交互方法,包括以下步骤:
S100获取会话文本,所述会话文本是和用户在机器人与用户的会话进程中输入的会话信息相对应的文本信息;
S600通过网络将所述会话文本发送给远程的处理引擎,所述处理引擎用于识别所述会话文本中的中断词,以及用于确定所述会话文本的语义,所述中断词为预设词库中所包含的字词;
S700通过网络接收所述会话文本中是否具有中断会话进程的语义的确定结果;
S400如果具有所述中断会话进程的语义,则终止当前会话进;
S510以获取所述会话文本的时间点为起始时间对所述会话进程计时,获得处理时长;
S520如果所述处理时长大于或等于预设时长,则输出预设的第一回复信息,并终止当前会话进程。
在本实施例中,S100和S400的步骤可以参考第一个实施例,S510和S520的步骤可以参考第二个实施例。
在第一个实施例中,识别所述会话文本中是否包含中断词,如果包含中断词,则确定所述会话文本是否具有中断会话进程的语义的步骤是在本地完成,中断概念库、处理引擎都可以设置在机器人本地。而在本实施例中,中断概念库和处理引擎设置在远程的服务器上,从而减轻机器人本地的运算量,降低机器人的生产和维护成本。
S600和S700的步骤,机器人通过网络将获取的会话文本发送给远程服务器,由远程服务器中的处理引擎利用中断概念库来识别会话文本中是否包含了中断概念库中的中断词,具体的识别方法可以参考第一个实施例中S210至S230的步骤及说明,此处不再赘述。如果会话文本中包含了中断词,则服务器中的处理引擎还用于确定所述会话文本的语义。然后机器人本地通过网络接收会话文本中是否具有中断会话进程的语义的确定结果,会话文本中是否具有中断会话进程的语义的确定过程由服务器中的处理引擎来完成,具体可以参考第一个实施例中S300的步骤以及S310至S330的步骤及说明,此处不再赘述。
请参考图6,在本发明第四个实施例中,提供一种基于监听与侦测机制的机器人交互方法,包括以下步骤:
S100获取会话文本,所述会话文本是和用户在机器人与用户的会话进程中输入的会话信息相对应的文本信息;
S810侦测所述网络的状态;
S820如果所述网络的状态为异常,则输出预设的第二回复信息,并终止当前会话进程;
S910侦测所述处理引擎中的第一引擎的状态,其中,所述处理引擎还用于根据所述会话文本生成回复信息;
S920如果第一引擎的状态为异常时,则获取所述处理引擎中的第二引擎的状态;
S930如果第二引擎的状态为异常时,则输出预设的第三回复信息,终止当前会话进程;
S600通过网络将所述会话文本发送给远程的处理引擎,所述处理引擎用于识别所述会话文本中的中断词,以及用于确定所述会话文本的语义,所述中断词为预设词库中所包含的字词;
S700通过网络接收所述会话文本中是否具有中断会话进程的语义的确定结果;
S400如果具有所述中断会话进程的语义,则终止当前会话进;
S510以获取所述会话文本的时间点为起始时间对所述会话进程计时,获得处理时长;
S520如果所述处理时长大于或等于预设时长,则输出预设的第一回复信息,并终止当前会话进程。
在本实施例中,S100和S400的步骤、S510和S520的步骤、S600至S700的步骤可以参考第三个实施例。
在本实施例中,机器人通过网络将获取的会话文本发送给远程服务器,由远程服务器中的处理引擎完成利用中断概念库来识别会话文本中是否包含了中断概念库中的中断词的步骤、在会话文本中包含中断词的情况下确定会话文本是否具有中断会话进程的语义的步骤,和/或,根据会话文本生成回复信息的步骤。再由机器人通过网络来接收会话文本中是否具有中断会话进程的语义的确定结果,或者接收处理引擎根据会话文本生成回复信息。无论接收或者发送的过程,都需要使用到网络。如果网络存在异常,则机器人后台无法处理会话文本,表现出卡顿、长时间不响应的状态,降低了用户体验。
通过S810至S820的步骤,可以侦测网络状态,并引入了网络异常时的处理机制。可选地,可以每隔一段时间定期侦测网络状态。如果在获取了会话文本后发现网络状态异常,则输出预设的第二回复信息,例如“小富(机器人自称)工作累了,正在休息中,请稍后再聊~”,从而避免用户长时间得不到响应。并且终止当前会话进程,以避免用户长时间等待,便于用户可以即刻开始新一轮的会话。
通过S910至S930的步骤,可以侦测处理引擎的状态,并引入了处理引擎异常的处理机制。可选地,可以每隔一段时间定期侦测处理引擎状态。第一引擎、第二引擎都属于处理引擎,都可以用于识别所述会话文本中的中断词,用于确定所述会话文本的语义,以及用于根据所述会话文本生成回复信息。第二引擎作为第一引擎的备用引擎,在第一引擎状态异常的时候,可以调用第二引擎来处理会话文本。而当第二引擎状态也异常的时候,则输出预设的第三回复信息,例如“小富工作累了,正在休息中,咱们稍后再聊~”,从而避免用户长时间得不到响应。并且终止当前会话进程,以避免用户长时间等待,便于用户可以即刻开始新一轮的会话。
在本实施例中,通过引入网络状态和处理引擎状态的侦测机制以及异常处理机制,使机器人在遇到网络异常、引擎异常或处理超时的情况下能够及时地向用户做出相应的响应,从整体上使用户与机器人的交互过程更加自然,从而使用户获得更好的交互体验。
需要说明的是,在本申请的实施例中,步骤的编号仅是为了便于描述,并不代表各个步骤必须按照实施例中的顺序进行,不应理解为对本申请保护的技术方案的限制。
请参考图7,在本发明的第五个实施例中,提供一种基于监听与侦测机制的机器人的交互装置,包括:
获取单元1,用于获取会话文本,所述会话文本是和用户在机器人与用户的会话进程中输入的会话信息相对应的文本信息;
处理单元2,用于识别所述会话文本中是否包含中断词,所述中断词为预设词库中所包含的字词,以及用于当包含中断词时确定所述会话文本是否具有中断会话进程的语义;
终止单元3,用于当所述会话文本具有所述中断会话进程的语义时,终止当前会话进程。
本实施例中的机器人交互装置,首先获取单元1获取来自用户输入的会话文本,然后处理单元2识别会话文本中是否包含预设中断词库中的中断词,来初步判断用户是否想要在多轮会话之后终止当前轮次的会话进程。如果会话文本中不包含中断词,则由处理引擎对会话文本进行常规的处理步骤,生成回复信息。如果会话文本中包含中断词,则处理单元2再确定会话文本是否具有中断当前会话进程的语义,来最终判断用户是否想要终止当前轮次的会话进程,继而终止单元3终止当前会话进程,或由处理引擎对会话文本进行常规的处理步骤,生成回复信息。通过上述方法对用户会话进行主动监听,避免出现必须用户手动停止或机器人后台反馈回复信息才能结束当前轮次的会话进程的情况,提升机器人与用户交互的友好度。
可选地,处理单元2具体可以用于清洗所述会话文本中的停用词,得到第一处理文本;切分所述第一处理文本,得到分词结果;以及,当分词结果中的分词与中断词匹配时识别所述会话文本中包含中断词。
可选地,处理单元2具体还可以用于提高分词结果中与所述中断词匹配的分词的权重值;根据分词结果中的全部分词及相应的权重值,计算分词结果与预设中断语句的相似度;当相似度达到预设阈值时确定所述会话文本具有中断会话进程的语义。
可选地,请参考图8,上述交互装置还包括计时单元4,用于以获取所述会话文本的时间点为起始时间对所述会话进程计时,获得处理时长;
输出单元5,用于当所述处理时长大于或等于预设时长时,输出预设的第一回复信息;
其中,所述终止单元3还用于当所述处理时长大于或等于预设时长时,终止当前会话进程。
用户与机器人交互的过程中,偶尔会出现机器人卡顿、长时间不响应等情况,使得用户不得不持续等待或者手动强制停止当前会话进程,产生不友好的用户体验。为此,在获取会话文本的时候,就采用计时单元4对处理会话文本的会话进程进行计时,当处理时长超过预设时长的时候,则由输出单元5输出第一回复信息,然后由终止单元3终止当前会话进程。通过上述装置来对会话进程进行监听,并在超时的时候及时给予用户回应并终止当前会话进程,避免长时间等待和长时间得不到响应的情况,从而提升用户友好度。
在本发明的第六个实施例中,请参考图9,提供一种基于监听与侦测机制的机器人的交互装置,包括:
获取单元1,用于获取会话文本,所述会话文本是和用户在机器人与用户的会话进程中输入的会话信息相对应的文本信息;
处理单元2,用于通过网络将所述会话文本发送給远程的处理引擎,接收所述处理引擎反馈的所述会话文本中是否具有中断会话进程的语义的确定结果,所述处理引擎用于识别所述会话文本中的中断词,以及用于确定所述会话文本的语义;
终止单元3,用于当所述会话文本具有所述中断会话进程的语义时,终止当前会话进程。
在本实施例中,中断概念库和处理引擎设置在远程的服务器上,处理单元2仅用户发送会话文本和接收会话文本中是否具有中断会话进程的语义的确定结果,从而减轻机器人本地的运算量,降低机器人的生产和维护成本。
可选地,上述交互装置还包括:
计时单元4,用于以获取所述会话文本的时间点为起始时间对所述会话进程计时,获得处理时长;
输出单元5,用于当所述处理时长大于或等于预设时长时,输出预设的第一回复信息;
其中,所述终止单元3还用于当所述处理时长大于或等于预设时长时,终止当前会话进程。
可选的,上述交互装置还可以包括:网络侦测单元6,用于侦测所述网络的状态;
其中,输出单元5还用于当所述网络的状态为异常时输出预设的第二回复信息;
终止单元3还用于当所述网络的状态为异常时终止当前会话进程。
可选地,上述交互装置还可以包括:引擎侦测单元7,用于侦测处理引擎的状态,其中,所述处理引擎还用于根据所述会话文本生成回复信息;所述处理引擎可以包括第一引擎和第二引擎。
其中,输出单元5还用于当所有处理引擎状态均异常时输出预设的第三回复信息;
终止单元3还用于当所有处理引擎状态均异常时终止当前会话进程。
在本实施例中,通过引入网络侦测单元6和引擎政策单元7,以及异常处理机制,使机器人在遇到网络异常、引擎异常或处理超时的情况下输出单元5能够及时地向用户做出相应的响应,输出相应的回复信息,而终止单元3也能够终止当前会话进程,避免用户手动操作停止当前会话进程,或等待过长时间。本实施例中的交互装置从整体上使用户与机器人的交互过程更加自然,从而使用户获得更好的交互体验。
说明书中各个实施例之间相同相似的部分互相参见即可。以上所述的本发明实施方式并不构成对本发明保护范围的限定。