发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种消息处理方法和相应的一种消息处理装置。
为了解决上述问题,本发明实施例公开了一种消息处理方法,所述方法包括:
当接收到个人用户的消息时,检测企业用户是否在线;
若所述企业用户不在线,则检测所述消息的类型;
当所述类型为询问类型时,生成与所述消息对应的第一答复,并将所述第一答复发送至所述个人用户;
当所述类型为回答类型时,检测是否存在未提问的询问问题;
若存在未提问的询问问题,则从未提问的询问问题中获取目标询问问题,并将所述目标询问问题发送至所述个人用户。
在一个或多个实施例中,还包括:
若所述企业用户在线,则将所述消息存入第一消息队列;
检测在第一预设时间段内是否接收到所述企业用户对所述消息进行回复的第二答复;
若是,则将所述第二答复发送至所述个人用户;若否,则跳转至所述检测所述消息的类型的步骤。
在一个或多个实施例中,所述若所述企业用户不在线,则检测所述消息的类型,包括:
若当前所述企业用户不在线,且从第一时间节点开始,经过第二预设时间段时,所述企业用户仍未对所述消息进行回复,则检测所述消息的类型;其中,所述第一时间节点为接收到所述消息的时间节点。
在一个或多个实施例中,所述生成与所述消息对应的第一答复,包括:
基于所述消息构建用于意图识别的第一参数实体;
对所述第一参数实体进行意图识别,得到所述消息的第一消息意图;
若确认所述第一消息意图为询问意图,则生成与所述消息对应的陈述句答复,并将所述陈述句答复作为第一答复;
若生成所述陈述句答复失败,则基于所述消息生成疑问句答复,并将所述疑问句答复作为第一答复。
在一个或多个实施例中,所述基于所述消息生成疑问句答复,包括:
生成与所述消息对应的候选疑问句答复;
若生成所述候选疑问句答复成功,则将所述候选疑问句答复作为所述疑问句答复;若生成所述候选疑问句答复失败,则从至少一个预设疑问句答复中获取目标预设疑问句答复作为所述疑问句答复。
在一个或多个实施例中,所述检测是否存在未提问的询问问题,包括:
检测所述消息是否为对所述疑问句答复进行的回复;
若所述消息为对所述疑问句答复进行的回复,则在满足预设条件时检测是否存在未提问的询问问题;
若所述消息不是对所述疑问句答复进行的回复,则基于所述消息检测是否存在未提问的询问问题。
在一个或多个实施例中,所述在满足预设条件时检测是否存在未提问的询问问题,包括:
基于所述消息构建用于意图识别的第二参数实体;
对所述第二参数实体进行意图识别,得到所述消息的第二消息意图;
若所述第二消息意图为肯定意图,则判定满足所述预设条件,并检测是否存在未提问的询问问题;若所述第二消息意图为否定意图,则判定不满足所述预设条件。
在一个或多个实施例中,所述基于所述消息检测是否存在未提问的询问问题,包括:
基于所述消息构建用于意图识别的第三参数实体;
对所述第三参数实体进行意图识别,得到所述消息的第三消息意图;
若确认所述第三消息意图为回答意图,则检测是否存在未提问的询问问题;否则,不检测是否存在未提问的询问问题。
在一个或多个实施例中,所述基于所述消息构建用于意图识别的第三参数实体,包括:
将所述消息存入第二消息队列;所述消息包括至少一条子消息;
根据第二时间节点和第三预设时间段计算出第三时间节点;所述第二时间节点为所述至少一条子消息中第一条子消息存入所述第二消息队列的时间节点;
将所述至少一条子消息中,时间节点属于所述第二时间至所述第三时间节点之间的子消息作为目标子消息;
基于所述目标子消息构建用于意图识别的第三参数实体。
相应的,本发明实施例公开了一种消息处理装置,所述装置包括:
第一检测模块,用于当接收到个人用户的消息时,检测企业用户是否在线;
第二检测模块,用于若所述企业用户不在线,则检测所述消息的类型;
第一处理模块,用于当所述类型为询问类型时,生成与所述消息对应的第一答复;
发送模块,用于将所述第一答复发送至所述个人用户;
第三检测模块,用于当所述类型为回答类型时,检测是否存在未提问的询问问题;
第二处理模块,用于若存在未提问的询问问题,则从未提问的询问问题中获取目标询问问题;
所述发送模块,还用于将所述目标询问问题发送至所述个人用户。
在一个或多个实施例中,还包括:
存储模块,用于若所述企业用户在线,则将所述消息存入第一消息队列;
第四检测模块,用于检测在第一预设时间段内是否接收到所述企业用户对所述消息进行回复的第二答复;
若是,则调用所述发送模块;若否,则调用所述第二检测模块。
在一个或多个实施例中,所述第二检测模块,具体用于:
若当前所述企业用户不在线,且从第一时间节点开始,经过第二预设时间段时,所述企业用户仍未对所述消息进行回复,则检测所述消息的类型;其中,所述第一时间节点为接收到所述消息的时间节点。
在一个或多个实施例中,所述第一处理模块,包括:
构建子模块,用于基于所述消息构建用于意图识别的第一参数实体;
意图识别子模块,用于对所述第一参数实体进行意图识别,得到所述消息的第一消息意图;
生成子模块,用于若确认所述第一消息意图为询问意图,则生成与所述消息对应的陈述句答复,并将所述陈述句答复作为第一答复;
以及,若生成所述陈述句答复失败,则基于所述消息生成疑问句答复,并将所述疑问句答复作为第一答复。
在一个或多个实施例中,所述生成子模块,具体用于:
生成与所述消息对应的候选疑问句答复;
若生成所述候选疑问句答复成功,则将所述候选疑问句答复作为所述疑问句答复;若生成所述候选疑问句答复失败,则从至少一个预设疑问句答复中获取目标预设疑问句答复作为所述疑问句答复。
在一个或多个实施例中,所述第三检测模块,包括:
第一检测子模块,用于检测所述消息是否为对所述疑问句答复进行的回复;
第二检测子模块,用于若所述消息为对所述疑问句答复进行的回复,则在满足预设条件时检测是否存在未提问的询问问题;
第三检测子模块,用于若所述消息不是对所述疑问句答复进行的回复,则基于所述消息检测是否存在未提问的询问问题。
在一个或多个实施例中,所述第二检测子模块,包括:
第一构建单元,用于基于所述消息构建用于意图识别的第二参数实体;
第一意图识别单元,用于对所述第二参数实体进行意图识别,得到所述消息的第二消息意图;
第一问题检测单元,用于若所述第二消息意图为肯定意图,则检测是否存在未提问的询问问题;
判定单元,用于若所述第二消息意图为否定意图,则判定不满足所述预设条件。
在一个或多个实施例中,所述第三检测子模块,包括:
第二构建单元,用于基于所述消息构建用于意图识别的第三参数实体;
第二意图识别单元,用于对所述第三参数实体进行意图识别,得到所述消息的第三消息意图;
第二问题检测单元,用于若确认所述第三消息意图为回答意图,则检测是否存在未提问的询问问题;否则,不检测是否存在未提问的询问问题。
在一个或多个实施例中,所述第二构建单元,包括:
存储子单元,用于将所述消息存入第二消息队列;所述消息包括至少一条子消息;
计算子单元,用于根据第二时间节点和第三预设时间段计算出第三时间节点;所述第二时间节点为所述至少一条子消息中第一条子消息存入所述第二消息队列的时间节点;
确定子单元,用于将所述至少一条子消息中,时间节点属于所述第二时间至所述第三时间节点之间的子消息作为目标子消息;
构建子单元,用于基于所述目标子消息构建用于意图识别的第三参数实体。
相应的,本发明实施例公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述消息处理方法实施例的各个步骤。
相应的,本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述消息处理方法实施例的各个步骤。
本发明实施例包括以下优点:
当接收到个人用户的消息时,检测企业用户是否在线,若所述企业用户不在线,则检测所述消息的类型,当所述类型为询问类型时,生成与所述消息对应的第一答复,并将所述第一答复发送至所述个人用户;当所述类型为回答类型时,检测是否存在未提问的询问问题;若存在未提问的询问问题,则从未提问的询问问题中获取目标询问问题,并将所述目标询问问题发送至所述个人用户。通过上述方式,在B端用户不在线的情况下,不仅能够对C端用户的消息进行被动回复,还能够对C端用户进行主动询问,实现主动询问与被动回复的有效结合,缩短了B端用户对C端用户沟通时的等待时间。同时,也正是因为通过主动询问与被动回复结合的方式对C端用户的消息进行回复,所以相对于现有技术中只能进行被动回复的方式,上述方式能够有效替代B端用户进行回复,促进了用户间的双边连接率,从而提升了用户体验。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,当接收到个人用户的消息时,检测企业用户是否在线,若所述企业用户不在线,则检测所述消息的类型,当所述类型为询问类型时,生成与所述消息对应的第一答复,并将所述第一答复发送至所述个人用户;当所述类型为回答类型时,检测是否存在未提问的询问问题;若存在未提问的询问问题,则从未提问的询问问题中获取目标询问问题,并将所述目标询问问题发送至所述个人用户。通过上述方式,在B端用户不在线的情况下,不仅能够对C端用户的消息进行被动回复,还能够对C端用户进行主动询问,实现主动询问与被动回复的有效结合,缩短了B端用户对C端用户沟通时的等待时间。同时,也正是因为通过主动询问与被动回复结合的方式对C端用户的消息进行回复,所以相对于现有技术中只能进行被动回复的方式,上述方式能够有效替代B端用户进行回复,促进了用户间的双边连接率,从而提升了用户体验。
参照图1,示出了本发明的一种消息处理方法实施例一的步骤流程图,该方法可以应用于B2C(Business-to-Consumer,商对客电子商务模式)中的B端,也就是企业端。在本发明实施例中,该方法可以应用在线上招聘系统,用于与C端的用户进行对话。为方便描述,在本发明实施例中,B端的用户记为“企业用户”,C端的用户记为“个人用户”。
进一步,图2为线上招聘系统的结构框架图。该线上招聘系统的功能包括但不限于:效果评估、对话管理、信息抽取、意图识别、数据预处理和底层数据。
其中,效果评估包括但不限于评估系统的意图准召、回复准召、回复率和投递率等等。
对话管理包括但不限于进行主动询问、邀请投递和被动回复等等。
信息抽取包括但不限于进行简历信息抽取、企业标签参数获取、长/短句抽取和标签挖掘等等。
意图识别采用的模型包括但不限于BERT(Bidirectional EncoderRepresentations from Transformers,基于变换器的双向编码器表示技术)、CNN(Convolutional Neural Network,卷积神经网络)、RNN(Recurrent Neural Networks,循环神经网络)和Pattern等等。
数据预处理包括但不限于疑问句识别和黑白名单等等。
底层数据包括但不限于招聘数据等等。
该方法具体可以包括如下步骤:
步骤101,当接收到个人用户的消息时,检测企业用户是否在线;
具体而言,线上招聘系统在接收到个人用户发送的消息时,可以检测企业用户是否在线。比如,个人用户A在线上招聘系统中向企业用户B发送消息a,线上招聘系统在接收到消息a后即可检测企业用户B当前是否在线。
步骤102,若所述企业用户不在线,则检测所述消息的类型;
若企业用户当前不在线,则对该消息进行检测,得到该消息的类型,消息的类型可以包括但不限于:询问类型和回答类型。询问类型表示个人用户向企业用户发送消息进行提问,比如,个人用户发送的消息为“公司的地址在哪里?”;回答类型表示个人用户向企业用户发送消息进行回复(即,询问的是企业用户),比如,个人用户发送的消息为“我今年毕业”。
在本发明实施例中,所述若所述企业用户不在线,则检测所述消息的类型,包括:
若当前所述企业用户不在线,且从第一时间节点开始,经过第二预设时间段时,所述企业用户仍未对所述消息进行回复,则检测所述消息的类型;其中,所述第一时间节点为接收到所述消息的时间节点。
具体而言,系统在接收到消息后,若检测到企业用户当前不在线,可以不用立即对消息的类型进行检测,而是以接收到消息的时间节点为起点(为方便区分,记为“第一时间节点”),检测是否经过了预设时间段(为方便区分,记为“第二预设时间段”),若经过了预设时间段,则进一步检测得到消息的类型;若没有经过预设时间,则持续检测,直至经过了预设时间段,再进一步检测消息的类型。这样,可以最大限度的保证是企业用户对个人用户的消息进行回复。
进一步,如果检测到企业用户当前在线,且,在经过预设时间段后,企业用户仍然没有回复,那么,在这种情况下也可以进一步检测消息的类型。这样,在最大限度的保证是企业用户对个人用户的消息进行回复的同时,也避免了在企业用户没有回复时导致个人用户无法得到回复的问题。
比如,系统在12:00接收到个人用户的消息,此时检测到企业用户不在线。假设预设时间段为2小时,那么可以在2小时内检测企业用户是否在线,如果直至14:00时,企业用户仍然不在线,那么系统就可以判定企业用户仍未对消息进行回复,并进一步检测得到该消息的类型。
或者,也可以是通过计时器的方式检测从第一时间节点开始,是否经过第二预设时间段。比如,假设预设时间段为2小时,系统在12:00接收到个人用户的消息,那么从12:00开始计时2小时,计时节束后,判定经过了第二预设时间段。
再比如,系统在12:00接收到个人用户的消息,此时检测到企业用户在线。假设预设时间段为2小时,那么可以在2小时内检测企业用户是否对消息进行了回复,如果直至14:00时,企业用户仍然没有回复,那么系统就可以判定企业用户仍未对消息进行回复,并进一步检测得到该消息的类型。
需要说明的是,在预设时间段内,如果企业用户上线,且对该消息进行了回复,那么就不需要检测该消息的类型了。通过这种方式,既可以让个人用户在等待时间较短的情况下得到回复,又可以尽量保证是真实人类的企业用户对消息进行回复。
当然,在实际应用中,预设时间段的具体数值可以根据实际需求进行设置,比如,4小时、6小时、12小时等等,本发明实施例对此不作限制。
而且,除了采用上述方式来检测从第一时间节点开始,是否经过第二预设时间段之外,还可以采用其它方式进行检测,在实际应用中,可以根据实际需求进行设置,本发明实施例对此不作限制。
进一步,在检测消息的类型的时候,可以先通过语气助词(比如“吗”)、标点符号(比如“?”)等方式进行初步检测,为了使检测结果更为准确,可基于初步检测的结果,构建参数实体,并通过意图识别的方式再次进行检测,当然,还可以通过其它方式进行检测,只要能够检测出消息的类型是询问类型还是回答类型的方式都适用于本发明实施例,在实际应用中,检测的具体方式可以根据实际需求进行设置,本发明实施例对此不作限制。
步骤103,当所述类型为询问类型时,生成与所述消息对应的第一答复,并将所述第一答复发送至所述个人用户;
当检测到消息的类型为询问类型时,系统可以生成与该消息对应的答复(为方便区分,记为“第一答复”),然后将答复发送至个人用户,然后将目标转换句问题发送至个人用户。
在本发明实施例中,所述生成与所述消息对应的第一答复,包括:
基于所述消息构建用于意图识别的第一参数实体;
对所述第一参数实体进行意图识别,得到所述消息的第一消息意图;
若确认所述第一消息意图为询问意图,则生成与所述消息对应的陈述句答复,并将所述陈述句答复作为第一答复;
若生成所述陈述句答复失败,则基于所述消息生成疑问句答复,并将所述疑问句答复作为第一答复。
具体而言,系统可以对消息进行处理,构建得到用户意图识别的参数实体(为方便区分,记为“第一参数实体”),然后对参数实体进行意图识别,得到该消息的消息意图(为方便区分,记为“第一消息意图”),并对生成的消息意图进行确认,如果确认消息意图为询问意图,也就是个人用户进行提问,那么系统就可以生成对应的陈述句答复。如果生成陈述句答复失败,也就是系统无法对个人用户的消息进行回答,那么系统就可以基于消息生成疑问句答复。
在本发明实施例中,所述基于所述消息生成疑问句答复,包括:
生成与所述消息对应的候选疑问句答复;
若生成所述候选疑问句答复成功,则将所述候选疑问句答复作为所述疑问句答复;若生成所述候选疑问句答复失败,则从至少一个预设疑问句答复中获取目标预设疑问句答复作为所述疑问句答复。
具体而言,在生成与消息对应的疑问句答复时,可以基于消息的含义生成候选疑问句答复,如果生成候选疑问句答复成功,则将该候选疑问句答复作为最终的疑问句答复;如果生成候选疑问句答复失败,则从至少一个预设疑问句答复中获取目标预设疑问句答复作为最终的疑问句答复。
比如,假设个人用户发送的消息为“公司的地址在哪里?”,系统生成的答复可以是“xx区xx路xx号”(陈述句答复),也可以是“地址等详细信息一起发你邮件可以吗?”(生成的疑问句答复)。
再比如,假设个人用户发送的消息为“公司的地在哪里?”,系统无法生成对应的陈述句答复,也无法生成疑问句答复,那么就从预设的疑问句答复中获取“不好意思,没明白你的意思,可以再说一次吗?”作为最终的疑问句答复。
步骤104,当所述类型为回答类型时,检测是否存在未提问的询问问题;
当检测到消息的类型为回答类型时,表示个人用户发送的消息是针对某个问题进行的回复,那么,可以进一步检测检测是否存在未提问的询问问题。
在本发明实施例中,所述检测是否存在未提问的询问问题,包括:
检测所述消息是否为对所述疑问句答复进行的回复;
若所述消息为对所述疑问句答复进行的回复,则在满足预设条件时检测是否存在未提问的询问问题;
若所述消息不是对所述疑问句答复进行的回复,则基于所述消息检测是否存在未提问的询问问题。
具体而言,在检测是否存在未提问的询问问题时,可以先检测个人用户的消息是否为对疑问句答复(步骤103中的疑问句答复)进行的回复,如果是,那么在满足预设条件时检测是否存在未提问的询问问题。
比如,接上例,假设个人用户上一次发送的消息为“xx号我有时间”,系统生成的疑问句答复可以是“那xx号可以来公司面试吗?”,那么,个人用户本次发送的消息为“可以”,就是针对疑问句答复“那xx号可以来公司面试吗?”进行的回复,然后在满足预设条件时检测是否存在未提问的询问问题。
从而实现了自动对个人用户进行连续的、主动的询问。
在本发明实施例中,所述在满足预设条件时检测是否存在未提问的询问问题,包括:
基于所述消息构建用于意图识别的第二参数实体;
对所述第二参数实体进行意图识别,得到所述消息的第二消息意图;
若所述第二消息意图为肯定意图,则判定满足所述预设条件,并检测是否存在未提问的询问问题;若所述第二消息意图为否定意图,则判定不满足所述预设条件。
具体而言,系统可以对消息进行处理,构建得到用户意图识别的参数实体(为方便区分,记为“第二参数实体”),然后对参数实体进行意图识别,得到该消息的消息意图(为方便区分,记为“第二消息意图”),并对消息意图进行确认,如果确认消息意图为肯定意图,就表示个人用户愿意继续沟通的概率比较大,那么系统就可以判定满足预设条件,并检测是否存在未提问的询问问题;如果消息意图为否定意图,就表示个人用户不愿意继续沟通的概率较大,那么系统就可以判定不满足所述预设条件。
比如,接上例,若接收到的消息为“可以”,则系统可以进一步检测是否存在未提问的询问问题;若接收到的消息为“去不了”,那么系统就不需要检测是否存在未提问的询问问题了。
在本发明实施例中,所述基于所述消息检测是否存在未提问的询问问题,包括:
基于所述消息构建用于意图识别的第三参数实体;
对所述第三参数实体进行意图识别,得到所述消息的第三消息意图;
若确认所述第三消息意图为回答意图,则检测是否存在未提问的询问问题;否则,不检测是否存在未提问的询问问题。
具体而言,系统可以对消息进行处理,构建得到用户意图识别的参数实体(为方便区分,记为“第三参数实体”),然后对参数实体进行意图识别,得到该消息的消息意图(为方便区分,记为“第三消息意图”),并对该消息意图进行确认,如果确认消息意图是回答意图,就表示该消息是针对提问进行的回复,那么系统就可以检测是否存在未提问的询问问题;如果消息意图不是回答意图,那么系统就不用检测是否存在未提问的询问问题。
其中,所述基于所述消息构建用于意图识别的第三参数实体,包括:
将所述消息存入第二消息队列;所述消息包括至少一条子消息;
根据第二时间节点和第三预设时间段计算出第三时间节点;所述第二时间节点为所述至少一条子消息中第一条子消息存入所述第二消息队列的时间节点;
将所述至少一条子消息中,时间节点属于所述第二时间至所述第三时间节点之间的子消息作为目标子消息;
基于所述目标子消息构建用于意图识别的第三参数实体。
具体而言,消息可以包括至少一条子消息,每条子消息具有唯一的时间节点。比如,个人用户连续发送了5条消息,每条消息都具有时间节点,那么系统可以将5条消息作为一个完整的消息,5条消息分别为其中的一条子消息。
进一步,系统在接收到消息时,可以将按照时间节点的顺序将各个子消息存入预设的消息队列(为方便区分,记为“第二消息队列”)中,然后以第一条子消息的时间节点为起点(为方便区分,记为“第二时间节点”)和预设的时间段(为方便区分,记为“第三预设时间段”)计算出第三时间节点,再将至少一条子消息中,时间节点属于第二时间至第三时间节点之间的子消息作为目标子消息。比如,5条连续的消息和时间节点为:A1/2021-11-30/12:00:00,A2/2021-11-30/12:00:29,A3/2021-11-30/12:01:03,A4/2021-11-30/12:01:47,A5/2021-11-30/12:02:16,假设预设时间段为2分钟,那么就从各条子消息中选择出属于12:00:00~12:02:00的子消息,也就是A1、A2、A3和A4。
然后,从消息队列中提取出各条目标子消息,并基于各条目标子消息构建用于意图识别的参数实体(为方便区分,记为“第三参数实体”)即可。
其中,将各条子消息存入消息列队时,可以对预设时间段内的最后一个子消息添加标记,这样,在提取目标子消息时,可以按照时间节点的顺序进行提取,每提取一条子消息,检测该条子消息是否有标记,如果有,那么就可以判定所有的目标子消息全部提取完成,并停止提取子消息。
步骤105,若存在未提问的询问问题,则从未提问的询问问题中获取目标询问问题,并将所述目标询问问题发送至所述个人用户。
具体而言,若存在未提问的询问问题,则从未提问的询问问题中选择出一个目标询问问题即可,然后将目标询问问题发送至个人用户。
比如,预设的询问问题有5个,在接收到个人用户的最新消息后,检测到未提问的询问问题还有2个,那么就从这2个询问问题里选择一个目标询问问题发送给个人用户。
需要说明的是,系统在执行步骤101~步骤107的过程中,在任意时刻接收到个人用户发送的简历时,即可停止主动询问,也就是既不发送转折句问题,也不发送询问问题,对个人用户的消息进行答复即可。而且,系统在对个人用户进行主动询问之前,如果接收到了个人用户的最新消息,那么就可以不对个人用户进行主动询问,而是针对最新消息执行步骤101~步骤105。
在本发明实施例中,当接收到个人用户的消息时,检测企业用户是否在线,若所述企业用户不在线,则检测所述消息的类型,当所述类型为询问类型时,生成与所述消息对应的第一答复,并将所述第一答复发送至所述个人用户;当所述类型为回答类型时,检测是否存在未提问的询问问题;若存在未提问的询问问题,则从未提问的询问问题中获取目标询问问题,并将所述目标询问问题发送至所述个人用户。通过上述方式,在B端用户不在线的情况下,不仅能够对C端用户的消息进行被动回复,还能够对C端用户进行主动询问,实现主动询问与被动回复的有效结合,缩短了B端用户对C端用户的筛选时间。同时,也正是因为通过主动询问与被动回复结合的方式对C端用户的消息进行回复,所以相对于现有技术中只能进行被动回复的方式,上述方式能够有效替代B端用户进行回复,促进了用户间的双边连接率,从而提升了用户体验。
参照图3,示出了本发明的一种消息处理方法实施例二的步骤流程图,具体可以包括如下步骤:
步骤301,当接收到个人用户的消息时,检测企业用户是否在线;
步骤302,若所述企业用户不在线,则检测所述消息的类型;
步骤303,当所述类型为询问类型时,生成与所述消息对应的第一答复,并将所述第一答复发送至所述个人用户;
步骤304,当所述类型为回答类型时,检测是否存在未提问的询问问题;
步骤305,若存在未提问的询问问题,则从未提问的询问问题中获取第标询问问题,并将所述目标询问问题发送至所述个人用户;
其中,步骤301~步骤305与步骤101~步骤105实质相同,具体可参照步骤101~步骤105,为避免重复,在此就不赘述了。
步骤306,若所述企业用户在线,则将所述消息存入第一消息队列;
步骤307,检测在第一预设时间段内是否接收到所述企业用户对所述消息进行回复的第二答复;
步骤308,若是,则将所述第二答复发送至所述个人用户;
步骤309,若否,则跳转至所述检测所述消息的类型的步骤(即,步骤302)。
具体而言,当接收到个人用户的消息时,如果检测到企业用户在线,那么就将消息存入预设的消息队列(为方便区分,记为“第一消息队列”),然后以接收到消息的时间节点为起点,检测在预设时间段(为方便区分,记为“第一预设时间段”)内是否接收到企业用户对该消息进行回复的答复(为方便区分,记为“第二答复”)。如果接收到了答复,那么将答复发送至个人用户即可;如果没有接收到答复,那么就执行“检测消息的类型”和后续步骤,为避免重复,在此就不赘述了。
为方便理解,图4示出了本发明实施例的完整逻辑流程图,具体流程如下:
1)接收到个人用户发送的消息;
2)检测企业用户是否在线;若是,执行3);若否,执行5);
3)将消息存入第一消息队列;
4)检测在第一预设时间段内企业用户是否对消息进行回复;若是,结束流程;若否,执行5);
5)检测得到消息的类型;若为询问类型,执行6);若为回答类型,执行10);
6)基于消息构建第一参数实体;
7)对第一参数实体进行意图识别;若确认为询问意图,生成陈述句答复,执行8);若生成陈述句答复失败,执行9);
8)将陈述句答复发送至个人用户;
9)基于消息生成疑问句答复,并将疑问句答复发送至个人用户;
10)检测消息是否为对疑问句答复进行的回复;若是,执行11);若否,执行14);
11)基于消息构建第二参数实体;
12)对第二参数实体进行意图识别;若为肯定意图,执行13),若为否定意图,结束流程;
13)检测是否存在未提问的询问问题;若存在,执行14),若不存在,结束流程;
14)从未提问的至少一个询问问题中获取目标询问问题,并将目标询问问题发送至个人用户;
15)将消息存入第二消息队列;
16)从第二消息队列中提取出第三预设时间段的至少一条目标子消息;
17)基于至少一条目标子消息构建第三参数实体;
18)对所述第三参数实体进行意图识别;若确认为回答意图,执行19);若不为回答意图,结束流程;
19)检测是否存在未提问的询问问题;若存在,执行20),若不存在,结束流程;
20)从未提问的询问问题中获取目标询问问题,并将目标询问问题发送至个人用户。
在本发明实施例中,当接收到个人用户的消息时,检测企业用户是否在线,若所述企业用户不在线,则检测所述消息的类型,当所述类型为询问类型时,生成与所述消息对应的第一答复,并将所述第一答复发送至所述个人用户;当所述类型为回答类型时,检测是否存在未提问的询问问题;若存在未提问的询问问题,则从未提问的询问问题中获取目标询问问题,并将所述目标询问问题发送至所述个人用户。通过上述方式,在B端用户不在线的情况下,不仅能够对C端用户的消息进行被动回复,还能够对C端用户进行主动询问,实现主动询问与被动回复的有效结合,缩短了B端用户对C端用户沟通时的等待时间。同时,也正是因为通过主动询问与被动回复结合的方式对C端用户的消息进行回复,所以相对于现有技术中只能进行被动回复的方式,上述方式能够有效替代B端用户进行回复,促进了用户间的双边连接率,从而提升了用户体验。
进一步,在主动询问和被动回复的过程中,如果检测到B端用户在线,那么可以先等B端用户进行回复,当B端用户在预设时间段内没有回复时,系统仍然能够针对消息进行主动询问和被动回复,不仅进一步缩短了B端用户对C端用户沟通时的等待时间,而且,既可以让个人用户在等待时间较短的情况下得到回复,又可以尽量保证是真实人类的企业用户对消息进行回复。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明的一种消息处理装置实施例的结构框图,具体可以包括如下模块:
第一检测模块501,用于当接收到个人用户的消息时,检测企业用户是否在线;
第二检测模块502,用于若所述企业用户不在线,则检测所述消息的类型;
第一处理模块503,用于当所述类型为询问类型时,生成与所述消息对应的第一答复;
发送模块504,用于将所述第一答复发送至所述个人用户;
第三检测模块505,用于当所述类型为回答类型时,检测是否存在未提问的询问问题;
第二处理模块506,用于若存在未提问的询问问题,则从未提问的询问问题中获取目标询问问题;
所述发送模块,还用于将所述目标询问问题发送至所述个人用户。
在本发明实施例中,还包括:
存储模块,用于若所述企业用户在线,则将所述消息存入第一消息队列;
第四检测模块,用于检测在第一预设时间段内是否接收到所述企业用户对所述消息进行回复的第二答复;
若是,则调用所述发送模块;若否,则调用所述第二检测模块。
在本发明实施例中,所述第二检测模块,具体用于:
若当前所述企业用户不在线,且从第一时间节点开始,经过第二预设时间段时,所述企业用户仍未对所述消息进行回复,则检测所述消息的类型;其中,所述第一时间节点为接收到所述消息的时间节点。
在本发明实施例中,所述第一处理模块,包括:
构建子模块,用于基于所述消息构建用于意图识别的第一参数实体;
意图识别子模块,用于对所述第一参数实体进行意图识别,得到所述消息的第一消息意图;
生成子模块,用于若确认所述第一消息意图为询问意图,则生成与所述消息对应的陈述句答复,并将所述陈述句答复作为第一答复;
以及,若生成所述陈述句答复失败,则基于所述消息生成疑问句答复,并将所述疑问句答复作为第一答复。
在本发明实施例中,所述生成子模块,具体用于:
生成与所述消息对应的候选疑问句答复;
若生成所述候选疑问句答复成功,则将所述候选疑问句答复作为所述疑问句答复;若生成所述候选疑问句答复失败,则从至少一个预设疑问句答复中获取目标预设疑问句答复作为所述疑问句答复。
在本发明实施例中,所述第三检测模块,包括:
第一检测子模块,用于检测所述消息是否为对所述疑问句答复进行的回复;
第二检测子模块,用于若所述消息为对所述疑问句答复进行的回复,则在满足预设条件时检测是否存在未提问的询问问题;
第三检测子模块,用于若所述消息不是对所述疑问句答复进行的回复,则基于所述消息检测是否存在未提问的询问问题。
在本发明实施例中,所述第二检测子模块,包括:
第一构建单元,用于基于所述消息构建用于意图识别的第二参数实体;
第一意图识别单元,用于对所述第二参数实体进行意图识别,得到所述消息的第二消息意图;
第一问题检测单元,用于若所述第二消息意图为肯定意图,则检测是否存在未提问的询问问题;
判定单元,用于若所述第二消息意图为否定意图,则判定不满足所述预设条件。
在本发明实施例中,所述第三检测子模块,包括:
第二构建单元,用于基于所述消息构建用于意图识别的第三参数实体;
第二意图识别单元,用于对所述第三参数实体进行意图识别,得到所述消息的第三消息意图;
第二问题检测单元,用于若确认所述第三消息意图为回答意图,则检测是否存在未提问的询问问题;否则,不检测是否存在未提问的询问问题。
在本发明实施例中,所述第二构建单元,包括:
存储子单元,用于将所述消息存入第二消息队列;所述消息包括至少一条子消息;
计算子单元,用于根据第二时间节点和第三预设时间段计算出第三时间节点;所述第二时间节点为所述至少一条子消息中第一条子消息存入所述第二消息队列的时间节点;
确定子单元,用于将所述至少一条子消息中,时间节点属于所述第二时间至所述第三时间节点之间的子消息作为目标子消息;
构建子单元,用于基于所述目标子消息构建用于意图识别的第三参数实体。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述消息处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述消息处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种消息处理方法和一种消息处理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。