会话消息处理方法和装置与流程

文档序号:18193831发布日期:2019-07-17 05:43阅读:197来源:国知局
会话消息处理方法和装置与流程

本发明涉及智能聊天技术,尤其涉及一种会话消息处理方法和装置。



背景技术:

目前,聊天系统可以根据用户输入的会话消息,确定该会话消息的话题类别。这样,聊天系统可以基于该话题类别,确定该会话消息对应的会话响应,并向用户输出该会话响应,实现聊天系统与人类的自然对话。

例如,当用户向聊天系统输入“今天北京天气怎么样?”的会话消息时,聊天系统可以自动识别出该会话消息的话题类别“天气”。然后,聊天系统可以在“天气”话题类别中,根据该会话消息的语义确定出该会话消息对应的会话响应,并将该会话消息对应的会话响应输出给用户。在本示例中,上述会话消息所对应的会话响应例如可以为“今天北京的天气晴朗,气温10到20度,西北风2级”。

现有技术中,若用户在得到北京的天气之后,继续向聊天系统输入“那杭州的呢”的会话消息,此时,用户期望聊天系统输出杭州的天气。但是,由于聊天系统根据该会话消息,无法得到该会话消息的话题类别,因此,聊天系统根据该会话消息的语义做出的会话响应可能为杭州的城市介绍,而并非杭州的天气,使得用户体验较低。



技术实现要素:

本发明提供一种会话消息处理方法和装置,用以解决现有技术中聊天系统根据用户输入的会话消息所作出的会话响应的准确率较低,导致用户体验较低的问题。

本发明第一方面提供一种会话消息处理方法,该方法包括:

获取用户输入的当前会话消息;

若所述当前会话消息的话题类别处于不确定性的状态,则将所述当前会话消息的前一会话消息的话题类别作为所述当前会话消息的话题类别;

根据所述当前会话消息、所述当前会话消息的话题类别,确定所述当前会话消息的语义;

根据所述当前会话消息的语义,向用户输出会话响应。

在一种可能的实施方式中,所述获取用户输入的当前会话消息之后,还包括:

对所述当前会话消息进行分词处理,得到至少一个语料;

根据所述至少一个语料,确定所述当前会话消息的话题类别。

在另一种可能的实施方式中,所述根据所述至少一个语料确定所述当前会话消息的话题类别,具体包括:

根据所述至少一个语料,确定至少一个第一话题类别的置信度,并将置信度大于或等于预设置信度阈值的第一话题类别作为所述当前会话消息的话题类别;其中,所述第一话题类别为聊天系统中预设的话题类别;

所述根据所述至少一个语料,确定至少一个第一话题类别的置信度之后,所述方法还包括:

若所有第一话题类别的置信度均小于预设置信度阈值,则确定所述当前会话消息的话题类别处于不确定性的状态。

在另一种可能的实施方式中,所述根据所述至少一个语料,确定至少一个第一话题类别的置信度之前,所述方法还包括:

在每个会话消息样本中提取信息熵大于预设阈值的特征词语;

对每个所述会话消息样本的特征词语进行语义关联处理,得到每个所述会话消息样本的至少一个语料;

根据每个所述会话消息样本的至少一个语料,以及,每个所述第一话题类别的置信度,训练预设的话题类别模型,所述话题类别模型用于确定所述至少一个语料与每个所述第一话题类别的置信度的对应关系。

在另一种可能的实施方式中,所述根据所述当前会话消息、所述当前会话消息的话题类别,确定所述当前会话消息的语义,具体包括:

根据所述至少一个语料、所述当前会话消息的话题类别,以及,预设的语料与话题类别、语义的对应关系,确定所述当前会话消息的语义。

在另一种可能的实施方式中,所述根据所述至少一个语料,以及,预设的语料与话题类别、语义的对应关系,确定所述当前会话消息的语义之前,还包括:

在每个话题类别的每个会话消息样本中提取信息熵大于预设阈值的特征词语;

对每个所述话题类别的每个所述会话消息样本的特征词语进行语义关联处理,得到每个所述话题类别的每个所述会话消息样本的至少一个语料;

根据每个所述话题类别的每个所述会话消息样本的至少一个语料,以及,每个所述话题类别的每个所述会话消息样本的语义,训练预设的每个所述话题类别的语义模型,每个所述话题类别的语义模型用于确定预设的语料与话题类别、语义的对应关系。

在另一种可能的实施方式中,所述话题类别模型和所述话题类别的语义模型为下述任一种模型:

随机森林模型、神经网络模型、支持向量机模型。

在另一种可能的实施方式中,所述当前会话消息为执行指令;

所述向用户输出会话响应,具体包括:

根据所述执行指令,执行所述执行指令对应的动作。

在另一种可能的实施方式中,所述当前会话消息为询问消息;

所述根据所述当前会话消息的语义,向用户输出会话响应,具体包括:

在所述询问消息的话题类别的数据库中确定与所述询问消息对应的询问答案,并向所述用户输出所述询问答案。

在另一种可能的实施方式中,所述当前会话消息为语音会话消息;

所述获取用户输入的当前会话消息之后,还包括:

对所述当前会话消息进行语音识别转换。

在另一种可能的实施方式中,所述当前会话消息为文字会话消息。

本发明第二方面提供一种会话消息处理装置,该装置包括:

获取模块,用于获取用户输入的当前会话消息;

第一处理模块,用于在所述当前会话消息的话题类别处于不确定性的状态时,将所述当前会话消息的前一会话消息的话题类别作为所述当前会话消息的话题类别;

第一确定模块,用于根据所述当前会话消息、所述当前会话消息的话题类别,确定所述当前会话消息的语义;

输出模块,用于根据所述当前会话消息的语义,向用户输出会话响应。

在一种可能的实施方式中,所述第一处理模块,还用于在所述获取模块获取用户输入的当前会话消息之后,对所述当前会话消息进行分词处理,得到至少一个语料;

所述装置还包括:

第二确定模块,用于根据所述至少一个语料,确定所述当前会话消息的话题类别。

在另一种可能的实施方式中,所述第二确定模块,具体用于根据所述至少一个语料,确定至少一个第一话题类别的置信度,并将置信度大于或等于预设置信度阈值的第一话题类别作为所述当前会话消息的话题类别;其中,所述第一话题类别为聊天系统中预设的话题类别;

所述第二确定模块,还用于在根据所述至少一个语料,确定至少一个第一话题类别的置信度之后,在所有第一话题类别的置信度均小于预设置信度阈值时,确定所述当前会话消息的话题类别处于不确定性的状态。

在另一种可能的实施方式中,所述装置还包括:

第二处理模块,用于在所述第二确定模块根据所述至少一个语料,确定至少一个第一话题类别的置信度之前,在每个会话消息样本中提取信息熵大于预设阈值的特征词语;对每个所述会话消息样本的特征词语进行语义关联处理,得到每个所述会话消息样本的至少一个语料;根据每个所述会话消息样本的至少一个语料,以及,每个所述第一话题类别的置信度,训练预设的话题类别模型;

其中,所述话题类别模型用于确定所述至少一个语料与每个所述第一话题类别的置信度的对应关系。

在另一种可能的实施方式中,所述第一确定模块,具体用于根据所述至少一个语料、所述当前会话消息的话题类别,以及,预设的语料与话题类别、语义的对应关系,确定所述当前会话消息的语义。

在另一种可能的实施方式中,所述装置还包括:

第三处理模块,用于在所述第一确定模块根据所述至少一个语料、所述当前会话消息的话题类别,以及,预设的语料与话题类别、语义的对应关系,确定所述当前会话消息的语义之前,在每个话题类别的每个会话消息样本中提取信息熵大于预设阈值的特征词语;对每个所述话题类别的每个所述会话消息样本的特征词语进行语义关联处理,得到每个所述话题类别的每个所述会话消息样本的至少一个语料;根据每个所述话题类别的每个所述会话消息样本的至少一个语料,以及,每个所述话题类别的每个所述会话消息样本的语义,训练预设的每个所述话题类别的语义模型;

其中,每个所述话题类别的语义模型用于确定预设的语料与话题类别、语义的对应关系。

在另一种可能的实施方式中,所述话题类别模型和所述话题类别的语义模型为下述任一种模型:

随机森林模型、神经网络模型、支持向量机模型。

在另一种可能的实施方式中,所述当前会话消息为执行指令;

所述输出模块,具体用于根据所述执行指令,执行所述执行指令对应的动作。

在另一种可能的实施方式中,所述当前会话消息为询问消息;

所述输出模块,具体用于在所述询问消息的话题类别的数据库中确定与所述询问消息对应的询问答案,并向所述用户输出所述询问答案。

在另一种可能的实施方式中,所述当前会话消息为语音会话消息;

所述第一处理模块,还用于在所述获取模块获取用户输入的当前会话消息之后,对所述当前会话消息进行语音识别转换。

在另一种可能的实施方式中,所述当前会话消息为文字会话消息。

本发明提供的会话消息处理方法和装置,聊天系统在获取到用户输入的当前会话消息后,可以在当前会话消息的话题类别处于不确定性的状态时,将当前会话消息的前一会话消息的话题类别作为当前会话消息的话题类别。由于当前会话消息与前一会话消息的话题类别相同的概率较大,因此,通过这种方式,可以准确的确定出当前会话消息的话题类别,提高所确定的当前会话消息的话题类别的准确率,从而使得聊天系统基于该话题类别,所确定的当前会话消息的语义的准确率较高,进而使得聊天系统根据准确率较高的当前会话消息的语义,向用户输出的会话响应的准确率较高,在实现聊天系统与人类的自然对话的基础上,提高了用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的会话消息处理方法实施例一的流程示意图;

图2为本发明提供的会话消息处理方法实施例二的流程示意图;

图3为本发明提供的会话消息处理方法实施例三的流程示意图;

图4为本发明提供的会话消息处理装置实施例一的结构示意图;

图5为本发明提供的会话消息处理装置实施例二的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供的会话消息处理方法和装置,旨在解决现有技术中聊天系统根据用户输入的会话消息所作出的会话响应的准确率较低,导致用户体验较低的问题。

下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图1为本发明提供的会话消息处理方法实施例一的流程示意图。本实施例的执行主体可以为会话消息处理装置,还可以为集成了会话消息处理装置的聊天系统(简称聊天系统),下述以执行主体为集成了会话消息处理装置的聊天系统(简称聊天系统)为例进行说明。本实施例涉及的是聊天系统在当前会话消息的话题类别处于不确定性的状态时,如何确定当前会话消息的话题类别的具体过程。如图1所示,该方法可以包括:

s101、获取用户输入的当前会话消息。

具体的,当用户与聊天系统进行对话时,聊天系统可以获取用户输入的当前会话消息。该当前会话消息可以为用于使聊天系统执行某一动作的执行命令,还可以为用于得到某一答案的询问消息。

本实施例不限定上述当前会话消息的形式,例如,上述当前会话消息可以为语音会话消息或文字会话消息。当上述当前会话消息为语音会话消息时,上述聊天系统可以启动语音采集模式,并在语音采集模式下,获取用户语音输入的当前会话消息。当上述当前会话消息为文字会话消息时,上述聊天系统可以启动文字输入模式,并在文字输入模式,获取用户文字输入的当前会话消息。

s102、若当前会话消息的话题类别处于不确定性的状态,则将当前会话消息的前一会话消息的话题类别作为当前会话消息的话题类别。

具体的,上述所说的话题类别可以为天气、音乐、导航、医疗、情感、美食、旅游等,具体可以根据聊天系统的设置确定。由于同一会话消息在不同的话题类别下所表征的语义不同。因此,上述聊天系统在获取到用户输入的当前会话消息之后,需要先根据该当前会话消息,确定当前会话消息的话题类别。可选的,上述聊天系统可以根据当前会话消息中的有用信息,例如关键字或者热点词语,确定当前会话消息的话题类别。

在本实施例中,在聊天系统根据上述当前会话消息确定出多个不同的话题类别时,或者,在聊天系统根据上述当前会话消息无法确定当前会话消息的话题类别时,使得聊天系统无法准确的确定当前会话消息的话题类别。此时,可以认为当前会话消息的话题类别处于不确定性的状态。在这种情况下,上述聊天系统可以结合上下文确定当前会话消息的话题类别。即,上述聊天系统可以将在当前会话消息之前获取到的会话消息的话题类别,作为当前会话消息的话题类别。由于当前会话消息与前一会话消息的话题类别相同的概率较大,因此,通过这种方式,可以在当前会话消息的话题类别处于不确定性的状态时,提高所确定的当前会话消息的话题类别的准确率。

示例性的,以用户输入的当前会话消息为“那杭州的呢”为例。由于该当前会话消息的有用信息仅有“杭州”,而与杭州相关的话题类别可能有多个,例如,美食、旅游、天气等。因此,上述聊天系统根据该当前会话消息,可以确定出多个话题类别(例如:美食、旅游、天气等)。即,当前会话消息的话题类别处于不确定性的状态。在这种情况下,上述聊天系统可以将聊天系统获取到的上一会话消息的话题类别,作为当前会话消息的话题类别。假定上一会话消息的话题类别为“天气”,则上述聊天系统可以确定该当前会话消息的话题类别为“天气”。由于用户通常是在聊与上一会话消息属于相同话题类别的内容时,才会向聊天系统输入如上述所示的包含有较少的有用信息的会话消息。因此,通过上述方式,可以准确的确定出当前会话消息的话题类别,提高所确定的当前会话消息的话题类别的准确率。

s103、根据当前会话消息、当前会话消息的话题类别,确定当前会话消息的语义。

具体的,上述聊天系统在确定出当前会话消息的话题类别之后,可以根据当前会话消息、当前会话消息的话题类别,准确的确定当前会话消息的语义。其中,该语义可以反映聊天系统根据该当前会话消息所要执行的内容。

可选的,上述聊天系统可以预设有每个话题类别对应的“会话消息与语义的对应关系”。因此,上述聊天系统在确定出当前会话消息的话题类别后,可以先根据该话题类别,确定该话题类别对应的“会话消息与语义的对应关系”。然后,上述聊天系统可以根据当前会话消息,以及,所确定的对应关系,确定当前会话消息的语义。

继续参照上述s102的示例,则在上述聊天系统确定当前会话消息“那杭州的呢”的话题类别为“天气”之后,上述聊天系统可以根据“那杭州的呢”,以及,“天气”,确定“那杭州的呢”的语义。在该示例下,“那杭州的呢”的语义为“搜索杭州的天气”。

再例如,若上述当前会话消息为“来一首某某某歌曲”,话题类别为音乐,则上述聊天系统可以根据“来一首某某某歌曲”,以及,“音乐”,确定“来一首某某某歌曲”的语义。在该示例下,“来一首某某某歌曲”的语义为“播放某某某歌曲”。

s104、根据当前会话消息的语义,向用户输出会话响应。

例如,当上述当前会话消息为执行指令时,上述聊天系统在根据当前会话消息的语义,确定当前会话消息为执行指令时,可以执行该执行指令对应动作。例如,以上述当前会话消息为“给我拍照片”为例,则上述聊天系统确定该当前会话消息的语义可以为“拍照片”。此时,聊天系统可以根据该当前会话消息的语义,执行拍照的动作。

例如,当上述当前会话消息为询问消息时,上述聊天系统可以根据该询问消息(即当前会话消息)的语义,在询问消息的话题类别的数据库中确定与询问消息对应的询问答案,并向用户输出该询问答案。继续参照上述s102的示例,以询问消息“那杭州的呢”为例,则在上述聊天系统确定“那杭州的呢”的语义为“杭州的天气”之后,在“杭州的天气”的话题类别“天气”的数据库中确定与询问消息对应的询问答案。此时,该询问答案例如可以为“今天杭州的天气晴朗,气温16到24度,西北风2级”。

上述聊天系统向用户输出的询问答案的形式,与,用户输入的当前会话消息的形式一致。

例如,在上述当前会话消息为语音会话消息时,上述向用户输出的询问答案可以为语音询问答案。即,上述聊天系统在询问消息的话题类别的数据库中确定与询问消息对应的询问答案之后,可以对该询问答案进行文字转换语音的处理,得到语音询问答案。然后,聊天系统可以将该语音询问答案输出给用户。

例如,在上述当前会话消息为文字会话消息时,上述向用户输出的询问答案可以为文字询问答案。即,上述聊天系统在询问消息的话题类别的数据库中确定与询问消息对应的询问答案之后,可以直接将该文字询问答案输出给用户。

本发明提供的会话消息处理方法,聊天系统在获取到用户输入的当前会话消息后,可以在当前会话消息的话题类别处于不确定性的状态时,将当前会话消息的前一会话消息的话题类别作为当前会话消息的话题类别。由于当前会话消息与前一会话消息的话题类别相同的概率较大,因此,通过这种方式,可以准确的确定出当前会话消息的话题类别,提高所确定的当前会话消息的话题类别的准确率,从而使得聊天系统基于该话题类别,所确定的当前会话消息的语义的准确率较高,进而使得聊天系统根据准确率较高的当前会话消息的语义,向用户输出的会话响应的准确率较高,在实现聊天系统与人类的自然对话的基础上,提高了用户体验。

图2为本发明提供的会话消息处理方法实施例二的流程示意图。本实施例涉及的是上述聊天系统在获取用户输入的当前会话消息之后,如何确定当前会话消息的话题类别的具体过程。如图2所示,在上述s101之后,该方法还可以包括:

s201、对当前会话消息进行分词处理,得到至少一个语料。

具体的,在本实施例中,上述聊天系统中设置有语料数据库。因此,上述聊天系统在获取到用户输入的当前会话消息之后,可以将当前会话消息中的语料、与、语料数据库中的语料进行比较,以对当前会话消息进行分词处理,得到至少一个语料。其中,该至少一个语料为当前会话消息中存在于语料数据库中的语料。

例如,以当前会话消息为“我的肚子疼”为例,假定语料数据库中存储有肚子、疼、肚子疼、杭州、天气等5个语料。则上述聊天系统将当前会话消息中的语料与语料数据库中的语料进行比较,可以得到肚子、疼、肚子疼这3个语料。

可选的,上述聊天系统还可以采用现有的方式对当前会话消息进行分词处理等,对此不再赘述。

s202、根据至少一个语料,确定当前会话消息的话题类别。

例如,上述聊天系统中可以预设有语料与话题类别的对应关系,因此,上述聊天系统在得到该至少一个语料之后,可以在预设的语料与话题类别的对应关系中,查找与至少一个语料相同的语料。此时,若与上述至少一个语料相同的语料对应一个话题类别,则上述聊天系统可以确定该话题类别即为当前会话消息的话题类别。然后,上述聊天系统可以直接执行上述s103所示的步骤。

若上述预设的语料与话题类别的对应关系中,与上述至少一个语料相同的语料对应至少两个话题类别,则上述聊天系统无法准确的确定哪个话题类别是当前会话消息的话题类别。或者,若上述预设的语料与话题类别的对应关系中,没有与上述至少一个语料相同的语料,则上述聊天系统也无法确定当前会话消息的话题类别。此时,当前会话消息的话题类别处于不确定性的状态。则在这些场景下,上述聊天系统可以返回执行上述s102,将当前会话消息的前一会话消息的话题类别作为当前会话消息的话题类别,以确定当前会话消息的话题类别。

可选的,在一些实施例中,上述聊天系统中可以预设有语料与每个第一话题类别的置信度的对应关系。其中,该第一话题类别的置信度用于表征该语料为该第一话题类别的概率。置信度越高,该语料对应该第一话题类别的概率越高。置信度越低,该语料对应该第一话题类别的概率越低。需要说明的是,这里所说的第一话题类别可以为当前聊天系统中所设置的任一话题类别。

因此,上述聊天系统在得到该当前会话消息的至少一个语料之后,可以先根据该至少一个语料,以及,预设的语料与每个第一话题类别的置信度的对应关系,确定出该至少一个语料对应的每个第一话题类别的置信度。此时,若存在一个置信度大于或等于预设置信度阈值的第一话题类别,可以确定该当前会话消息的话题类别就是这个第一话题类别,因此,上述聊天系统可以将该第一话题类别作为当前会话消息的话题类别。然后,上述聊天系统可以直接执行上述s103所示的步骤。

相应地,若所有的第一话题类别的置信度均小于预设置信度阈值,则聊天系统可以确定当前会话消息的话题类别处于不确定性的状态。因此,上述聊天系统可以返回执行上述s102,将当前会话消息的前一会话消息的话题类别作为当前会话消息的话题类别,以确定当前会话消息的话题类别。

其中,上述置信度的取值可以为0至1之间的任一数值。上述预设置信度阈值具体可以根据聊天系统的计算资源确定,例如预设置信度阈值可以为0.7等。

示例性的,以当前会话消息为“北京的天气如何”、预设置信度阈值为0.8为例,其中,聊天系统设置有天气、城市介绍、美食这三个第一话题类别。假定上述聊天系统对当前会话消息进行分词处理,可以得到北京、天气、北京的天气这3个语料。聊天系统根据这3个语料,确定出该3个语料对应每个第一话题类别的置信度例如可以如下:

1、第一话题类别为天气,该第一话题类别的置信度为0.9。

2、第一话题类别为城市介绍,该第一话题类别的置信度为0.1。

3、第一话题类别为美食,该第一话题类别的置信度为0。

此时,上述第一话题类别天气的置信度大于预设置信度阈值,因此,上述聊天系统可以确定第一话题类别天气为当前会话消息的话题类别。

以当前会话消息为“那杭州的呢”为例,上述聊天系统对当前会话消息进行分词处理,可以得到杭州这个语料。聊天系统根据这个语料,确定出该语料对应每个第一话题类别的置信度例如可以如下:

1、第一话题类别为天气,该第一话题类别的置信度为0.4。

2、第一话题类别为城市介绍,该第一话题类别的置信度为0.5。

3、第一话题类别为美食,该第一话题类别的置信度为0.1。

此时,没有一个第一话题类别天气的置信度大于预设置信度阈值,因此,上述聊天系统可以确定当前会话消息的话题类别处于不确定性的状态。

在一些实施例中,上述预设的语料与每个第一话题类别的置信度的对应关系还可以通过话题类别模型来实现。也就是说,通过预先建立预设有语料与每个第一话题类别的置信度的对应关系的话题类别模型,使得聊天系统可以通过话题类别模型来确定当前会话消息的语料对应的每个第一话题类别的置信度。其中,上述所说的话题类别模型例如可以为现有技术中具有分类功能的模型,例如:随机森林模型、支持向量机(supportvectormachine,svm)模型、神经网络模型等。

因此,上述聊天系统可以在根据当前会话消息得到的至少一个语料,确定至少一个第一话题类别的置信度之前,先根据会话消息样本,训练话题类别模型。其中,这里所说的会话消息样本可以为各个话题类型中的热点会话消息等。本实施例对会话消息样本的数量不限定。

上述采用会话消息样本离线训练话题类别模型可以包括如下步骤:

a1、在每个会话消息样本中提取信息熵大于预设阈值的特征词语。

具体的,在本实施例中,在训练话题类别模型时,聊天系统的开发人员可以将多个会话消息样本输入至聊天系统。聊天系统在接收到这些会话消息样本之后,可以在每个会话消息样本中提取信息熵大于预设阈值的特征词语。其中,上述预设阈值具体可以根据聊天系统的设置确定。示例性的,上述预设阈值例如可以为区分度top10000等。

例如,上述聊天系统可以通过词频-逆向文件频率(termfrequency–inversedocumentfrequency,tf-idf)算法,获取每个会话消息样本中的多个词语,以及,每个词语的信息熵。然后,上述聊天系统将每个会话消息中的信息熵大于预设阈值的词语作为该会话消息样本的特征词语。

示例性,假定上述会话消息样本为“请告诉我北京的天气”,上述聊天系统通过tf-idf算法,从该会话消息样本中可以得到的词语有“请、告诉、我、北京、的、天气”。其中,“请、告诉、我、的”,并不能决定该会话消息样本的话题类别,所以上述“请、告诉、我、的”属于信息熵较低的词语。而上述“北京、天气”能够决定该会话消息样本的话题类别,所以上述“北京、天气”属于信息熵较高的词语。因此,通过上述步骤a所示的方式,可以从该会话消息样本中提取信息熵大于预设阈值的特征词语为“北京、天气”。

a2、对每个会话消息样本的特征词语进行语义关联处理,得到每个会话消息样本的至少一个语料。

具体的,上述聊天系统在提取了每个会话消息样本的特征词语之后,可以对每个会话消息样本的特征词语进行语义关联处理,得到每个会话消息样本的至少一个语料。

例如,上述聊天系统可以通过汉语语言模型(n-gram),获对每个会话消息样本的特征词语进行语义关联处理,以得到每个会话消息样本的至少一个语料。

继续以上述a所示的会话消息样本为“请告诉我北京的天气”,则上述聊天系统在从该会话消息样本中提取信息熵大于预设阈值的特征词语为“北京、天气”之后,上述聊天系统可以将特征词语为“北京、天气”输入n-gram,得到该会话消息样本的至少一个语料。在该示例下,该至少一个语料例如可以包括“北京、天气、北京天气”。

a3、根据每个会话消息样本的至少一个语料,以及,每个第一话题类别的置信度,训练预设的话题类别模型,话题类别模型用于确定当前会话消息的至少一个语料与每个第一话题类别的置信度的对应关系。

具体的,上述聊天系统在得到每个会话消息样本的至少一个语料之后,可以将每个会话消息样本的至少一个语料作为话题类别模型的训练数据,将预设的与该当前会话消息样本的至少一个语料对应的每个第一话题类别的置信度作为话题类别模型的测试数据,以通过训练数据和测试数据对话题类别模型进行训练,从而使得话题类别模型可以建立预设的语料与每个第一话题类别的置信度的对应关系。这样,上述聊天系统可以通过上述话题类别模型得到当前会话消息的至少一个语料对应的每个第一话题类别的置信度。

具体实现时,上述聊天系统可以通过上述方式训练有多个话题类别模型,每个话题类别模型对应一个话题类别。在该场景下,训练每个话题类别模型时需要使用预设的该话题类别模型对应的话题类别的置信度。这样,上述聊天系统需要将当前会话消息的至少一个语料分别输入到每个话题类别模型,以得到当前会话消息的至少一个语料对应的每个第一话题类别的置信度。

本发明提供的会话消息处理方法,聊天系统在获取到用户输入的当前会话消息之后,可以对当前会话消息进行分词处理,得到至少一个语料,进而可以根据当前会话根据至少一个语料,确定出当前会话消息的话题类别,在当前会话消息的话题类别处于不确定性的状态时,将当前会话消息的前一会话消息的话题类别作为当前会话消息的话题类别。由于当前会话消息与前一会话消息的话题类别相同的概率较大,因此,通过这种方式,可以准确的确定出当前会话消息的话题类别,提高所确定的当前会话消息的话题类别的准确率。

进一步地,在上述实施例的基础上,本实施例涉及的是上述聊天系统在获取用户输入的当前会话消息之后,如何确定当前会话消息的话题类别的具体过程。则上述s103可以包括:

根据至少一个语料、当前会话消息的话题类别,以及,预设的语料与话题类别、语义的对应关系,确定当前会话消息的语义。

具体的,如前述实施例所说,由于同一会话消息在不同的话题类别下所表征的语义不同。因此,上述聊天系统在确定当前会话消息的话题类别,以及得到当前会话消息的至少一个语料之后,可以结合当前会话消息的至少一个语料、当前会话消息的话题类别,以及,预设的语料与话题类别、语义的对应关系,确定当前会话消息的语义。

在一些实施例中,上述预设的语料与话题类别、语义的对应关系还可以通过话题类别的语义模型来实现。也就是说,通过为每个话题类别预先建立预设有语料与语义的对应关系的话题类别的语义模型,使得聊天系统可以通过话题类别的语义模型来确定当前会话消息的语义。其中,上述所说的话题类别的语义模型例如可以为现有技术中具有分类功能的模型,例如:随机森林模型、svm模型、神经网络模型等。示例性的,聊天系统在确定当前会话消息的话题类别为美食时,上述聊天系统可以将当前会话消息的至少一个语料输入美食的语义模型中,以得到美食的语义模型的输出结果,该输出结果即为当前会话消息的语义。

因此,上述聊天系统可以在执行本实施例之前,可以先根据每个话题类别的会话消息样本,训练话题类别的语义模型。其中,这里所说的每个话题类别的会话消息样本可以为各个话题类型中的热点会话消息等,该会话消息样本可以与训练话题类别所使用的会话消息样本一致,本实施例对会话消息样本的数量不限定。

上述采用每个话题类别的会话消息样本离线训练话题类别的语义模型可以包括如下步骤:

b1、在每个话题类别的每个会话消息样本中提取信息熵大于预设阈值的特征词语。

其中,上述步骤b1的描述可以参见前述实施例中关于步骤a1的描述,对此不再赘述。

b2、对每个话题类别的每个会话消息样本的特征词语进行语义关联处理,得到每个话题类别的每个会话消息样本的至少一个语料。

其中,上述步骤b2的描述可以参见前述实施例中关于步骤a2的描述,对此不再赘述。

b3、根据每个话题类别的每个会话消息样本的至少一个语料,以及,每个话题类别的每个会话消息样本的语义,训练预设的每个话题类别的语义模型,每个话题类别的语义模型用于确定预设的语料与话题类别、语义的对应关系。

具体的,上述聊天系统在得到每个话题类别的每个会话消息样本的至少一个语料之后,可以将同一话题类别的每个会话消息样本的至少一个语料作为该话题类别的语义模型的训练数据,将该话题类别的每个会话消息样本的话题类别作为该话题类别的语义模型的测试数据,以通过训练数据和测试数据对该话题类别的语义模型进行训练,从而使得该话题类别的语义模型可以建立预设的该话题类别的语料与语义的对应关系。

本发明提供的会话消息处理方法,由于同一会话消息在不同的话题类别下所表征的语义不同。因此,聊天系统基于当前会话消息的话题类别、对当前会话消息进行分词处理所得到的至少一个语料,以及,预设的语料与话题类别、语义的对应关系,可以准确的确定当前会话消息的语义,从而使得聊天系统可以精准的确定当前会话消息的语义,进而使得聊天系统可以向用户输出准确的会话响应,在实现聊天系统与人类的自然对话的基础上,提高了用户体验。

下面以一个具体的示例来对本发明提供的会话消息处理方法进行说明。

图3为本发明提供的会话消息处理方法实施例三的流程示意图。本实施例以当前会话消息为用户语音输入的询问消息为例,介绍聊天系统在获取到用户输入的当前会话消息后的处理过程。其中,上述聊天系统设置有话题类别模型和话题类别的语义模型。如图3所示,该方法可以包括:

s301、获取用户输入的语音的询问消息。

具体的,上述聊天系统可以启动语音采集模式,并在语音采集模式下,获取用户语音输入的询问消息。

s302、对询问消息进行语音识别转换。

具体的,上述聊天系统可以采用现有的语音识别转换方式,将语音的询问消息转换为文字的询问消息。

s303、对询问消息进行分词处理,得到至少一个语料。

具体的,上述聊天系统中设置有语料数据库,且该语料数据库中的语料与话题类型模型中预设的语料一致。因此,上述聊天系统可以将询问消息中的语料、与、语料数据库中的语料进行比较,以对该询问消息进行分词处理,得到至少一个语料。其中,该至少一个语料为当前会话消息中存在于语料数据库中的语料。

s304、根据至少一个语料,确定至少一个第一话题类别的置信度。

具体的,上述聊天系统可以将询问消息的至少一个语料输入每个话题类别模型,得到该询问消息的至少一个语料对应的每个第一话题类别的置信度。其中,这里所说的第一话题类别为聊天系统中设置的话题类别。

s305、确定是否存在置信度大于预设置信度阈值的第一话题类别。若是,则执行s306,若否,则执行s307。

具体的,若存在置信度大于或等于预设置信度阈值的第一话题类别,则将该第一话题类别作为该询问消息的话题类别。若所有第一话题类别的置信度均小于预设置信度阈值,则确定该询问消息的话题类别处于不确定性的状态。

s306、将置信度大于或等于预设置信度阈值的第一话题类别作为该询问消息的话题类别,并确定是否存储有前一会话消息的话题类别。若是,则执行s309,若否,则执行s308。

具体的,本实施例中,上述聊天系统可以存储有前一会话消息的话题类别,以使得上述聊天系统在该询问消息的话题类别处于不确定性的状态时,可以将存储的前一会话消息的话题类别作为当前询问消息的话题类别。具体实现时,上述前一会话消息的话题类别例如可以存储在聊天系统的缓存中。

此时,若上述询问消息为聊天系统接收到的第一个会话消息,说明该会话消息之前并无其他会话消息输入至聊天系统中,则在该场景下,上述聊天系统会存在没有存储前一会话消息的话题类别的情况。

s307、将前一会话消息的话题类别作为当前询问消息的话题类别。

可选的,在一些实施例中,在执行s307之前,还可以执行上述s306,即确定是否存储有前一会话消息的话题类别。若是,则执行s307,即将前一会话消息的话题类别作为当前询问消息的话题类别,若否,则向用户输出错误结果。

例如,若当前询问消息为聊天系统接收到的第一个会话消息,此时,该会话消息之前并无其他会话消息输入至聊天系统中,因此,上述聊天系统在当前询问消息的话题类别处于不确定性的状态时,也无法结合上下文来确定出该询问消息的话题类别。因此,上述聊天系统可以直接向用户输出错误结果,以指示用户当前输入错误,需要重新输入会话消息。

s308、存储当前询问消息的话题类别。

具体的,在上述询问消息为聊天系统接收到的第一个会话消息时,上述聊天系统可以存储该当前询问消息的话题类别,以使得聊天系统在无法确定下一会话消息的话题类别时,可以将该当前询问消息的话题类别作为下一会话消息的话题类别,提高确定下一会话消息的话题类别的准确率。

s309、确定当前询问消息的话题类别与存储的前一会话消息的话题类别是否相同。若是,则执行s311,若否,则执行s310。

具体的,在上述聊天系统中存储有前一会话消息的话题类别时,上述聊天系统可以判断所确定的当前询问消息的话题类别与存储的前一会话消息的话题类别是否相同。若是,则可以继续沿用所存储的话题类别。因此,可以不用对存储的话题类别进行处理,直接执行后续确定语义的动作。若否,则需要调整所存储的话题类别。

s310、使用当前询问消息的话题类别替换前一会话消息的话题类别。

具体的,在当前询问消息的话题类别与存储的前一会话消息的话题类别不同时,说明用户已经改变了聊天的方向。因此,上述聊天系统需要使用当前询问消息的话题类别替换前一会话消息的话题类别,从而使得聊天系统在下一会话消息的话题类别处于不确定性的状态时,可以将该当前询问消息的话题类别作为下一会话消息的话题类别,提高确定下一会话消息的话题类别的准确率。

s311、将至少一个语料输入当前询问消息的话题类别的语义模型,得到语义模型输出结果。

具体的,上述聊天系统可以根据所确定出来的当前询问消息的话题类别,确定该当前询问消息对应的话题类别的语义模型,从而使得聊天系统可以将询问消息的至少一个语料输入话题类别模型,得到话题类别模型的输出结果。即,询问消息的语义。

s312、根据当前询问消息的语义,在询问消息的话题类别的数据库中确定与当前询问消息对应的询问答案。

具体的,上述聊天系统可以根据该询问消息的语义,在询问消息的话题类别的数据库中确定与询问消息对应的询问答案,并向用户输出该询问答案。

s313、对询问答案进行文字转换语音的处理。

具体的,上述聊天系统可以采用现有的文字转换语音的方式,对该询问答案进行文字转换语音的处理,得到语音询问答案。

s314、输出语音的询问答案。

执行完s314之后,流程结束。

本发明提供的会话消息处理方法,聊天系统在获取到用户输入的当前会话消息后,可以在用户输入的当前会话消息的话题类别处于不确定性的状态时,将当前会话消息的前一会话消息的话题类别作为当前会话消息的话题类别。由于当前会话消息与前一会话消息的话题类别相同的概率较大,因此,通过这种方式,可以准确的确定出当前会话消息的话题类别,提高所确定的当前会话消息的话题类别的准确率,从而使得聊天系统基于该话题类别,所确定的当前会话消息的语义的准确率较高,进而使得聊天系统根据准确率较高的当前会话消息的语义,向用户输出的会话响应的准确率较高,在实现聊天系统与人类的自然对话的基础上,提高了用户体验。

需要说明的是,前述实施例所说的聊天系统可以为设置有与用户交互的客户端,以及,后台服务器的聊天系统。其中,上述用于获取当前会话消息,以及,向用户输出会话响应的操作可以由该客户端来完成,其余的处理可以由后台服务器来完成。可选的,上述所说的与用户交互的客户端例如可以为终端,具体可以通过终端上的应用程序来实现与用户的交互。或者,上述所说的与用户交互的客户端可以为类似机器人架构的智能聊天机器人等,本发明对此不进行限定。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

图4为本发明提供的会话消息处理装置实施例一的结构示意图。该会话消息处理装置可以通过软件、硬件或者两者的结合实现聊天系统的部分或者全部。如图4所示,该会话消息处理装置可以包括:获取模块11、第一处理模块12、第一确定模块13和输出模块14;其中,

获取模块11,用于获取用户输入的当前会话消息;

第一处理模块12,用于在所述当前会话消息的话题类别处于不确定性的状态时,将所述当前会话消息的前一会话消息的话题类别作为所述当前会话消息的话题类别;

第一确定模块13,用于根据所述当前会话消息、所述当前会话消息的话题类别,确定所述当前会话消息的语义;

输出模块14,用于根据所述当前会话消息的语义,向用户输出会话响应。

可选的,当上述当前会话消息为执行指令时,上述输出模块14,具体用于根据所述执行指令,执行所述执行指令对应的动作。当上述当前会话消息为询问消息时,上述输出模块14,具体用于在询问消息的话题类别的数据库中确定与所述询问消息对应的询问答案,并向用户输出所述询问答案。

可选的,上述当前会话消息可以为语音会话消息或文字会话消息。在当前会话消息为语音会话消息时,上述第一处理模块12,还用于在获取模块11获取用户输入的当前会话消息之后,对所述当前会话消息进行语音识别转换,以得到文字会话消息。则在该实现方式下,上述输出模块14向用户输出的会话响应为语音会话响应。

本发明提供的会话消息处理装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。

图5为本发明提供的会话消息处理装置实施例二的结构示意图。如图5所示,在上述图4所示框图的基础上,上述装置还可以包括:第二确定模块15。其中,

第一处理模块12,还用于在所述获取模块11获取用户输入的当前会话消息之后,对所述当前会话消息进行分词处理,得到至少一个语料;

第二确定模块15,用于根据所述至少一个语料,确定所述当前会话消息的话题类别。例如,第二确定模块15,具体用于根据所述至少一个语料,确定至少一个第一话题类别的置信度,并将置信度大于或等于预设置信度阈值的第一话题类别作为所述当前会话消息的话题类别,其中,所述第一话题类别为聊天系统中预设的话题类别。相应地,第二确定模块15,还可以用于在根据所述至少一个语料,确定至少一个第一话题类别的置信度之后,在所有第一话题类别的置信度均小于预设置信度阈值时,确定所述当前会话消息的话题类别处于不确定性的状态。

第一确定模块13,具体用于根据所述至少一个语料、所述当前会话消息的话题类别,以及,预设的语料与话题类别、语义的对应关系,确定所述当前会话消息的语义。

继续参照图5,在一些实施例中,上述装置还可以包括:第二处理模块16。其中,

第二处理模块16,用于在第二确定模块15根据所述至少一个语料,确定至少一个第一话题类别的置信度之前,在每个会话消息样本中提取信息熵大于预设阈值的特征词语;对每个所述会话消息样本的特征词语进行语义关联处理,得到每个所述会话消息样本的至少一个语料;根据每个所述会话消息样本的至少一个语料,以及,每个所述第一话题类别的置信度,训练预设的话题类别模型;

其中,所述话题类别模型用于确定所述至少一个语料与每个所述第一话题类别的置信度的对应关系。

继续参照图5,在一些实施例中,上述装置还可以包括:第三处理模块17。其中,

第三处理模块17,用于在所述第一确定模块13根据所述至少一个语料、所述当前会话消息的话题类别,以及,预设的语料与话题类别、语义的对应关系,确定所述当前会话消息的语义之前,在每个话题类别的每个会话消息样本中提取信息熵大于预设阈值的特征词语;对每个所述话题类别的每个所述会话消息样本的特征词语进行语义关联处理,得到每个所述话题类别的每个所述会话消息样本的至少一个语料;根据每个所述话题类别的每个所述会话消息样本的至少一个语料,以及,每个所述话题类别的每个所述会话消息样本的语义,训练预设的每个所述话题类别的语义模型;

其中,每个所述话题类别的语义模型用于确定预设的语料与话题类别、语义的对应关系。

可选的,上述话题类别模型和话题类别的语义模型可以为下述任一种模型:随机森林模型、神经网络模型、支持向量机模型。

本发明提供的会话消息处理装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1