提问推荐方法及装置、电子设备及存储介质与流程

文档序号:26279340发布日期:2021-08-13 19:36阅读:90来源:国知局
提问推荐方法及装置、电子设备及存储介质与流程

本公开涉及信息技术领域,尤其涉及一种提问推荐方法及装置、电子设备及存储介质。



背景技术:

随着自然语言处理技术的发展,人机交互技术能够实现人机对话,使得人们能够快速的得到问题的答案。电子设备在接收到用户输入的对话内容后,对对话内容进行语义分析,确定并输出回复语句。

然而,目前人机交互过程中难以形成人机持续对话从而很好的满足用户的对话需求。



技术实现要素:

为克服相关技术中存在的问题,本公开提供一种提问推荐方法及装置、电子设备及存储介质。

根据本公开实施例的第一方面,提供了一种提问推荐方法,所述方法包括:

针对每轮人机交互对话,确定用于本轮对话的多个备选提问与本轮对话之前的历史对话信息,所述历史对话信息包括至少一组历史提问与历史回答;

根据所述多个备选提问与所述历史对话信息,从所述多个备选提问中确定至少一个待推荐提问;

将所述至少一个待推荐提问推荐给用户。

在一些实施例中,所述确定用于本轮对话的多个备选提问,包括:

获取该轮对话的上一轮对话的提问,并确定与该提问含义相近多个近似提问;

针对每个近似提问,从预设对话数据集中确定以该近似提问为在先提问的提问对;

将该提问对中的在后提问确定为一个所述备选提问;

其中,所述预设对话数据集包括多个由一个在先提问与一个在后提问组成的提问对。

在一些实施例中,所述历史对话信息包括本轮对话之前紧邻且连续的至少一组历史提问与历史回答。

在一些实施例中,根据所述多个备选提问与所述历史对话信息,从所述多个备选提问中确定至少一个待推荐提问,包括:

针对每个所述备选提问,将该备选提问与所述历史对话信息按照发生顺序由先到后排列成语句序列,作为该备选提问对应的待分类文本;

将该备选提问对应的待分类文本输入到训练好的文本分类模型;

得到该备选提问对应的待分类文本属于第一类文本的概率;

将对应的概率大于指定概率的备选提问确定为待推荐提问。

在一些实施例中,所述将该备选提问对应的待分类文本输入到所述用户专用的文本分类模型,包括:

将表征特定用户的用户画像向量及该备选提问对应的待分类文本输入所述文本分类模型。

在一些实施例中,所述文本分类模型基于以下步骤训练得到:

获取所述第一类文本的数据集与第二类文本的数据集;

以所述第一类文本的数据集为正样本,以所述第二类文本的数据集为负样本,对预训练好的bert模型进行微调;

将微调后的所述bert模型确定为所述文本分类模型。

在一些实施例中,每个所述第一类文本用于表征一次历史人机对话数据对应的语句序列,每个所述第二类文本用于表征一次模拟人机对话数据对应的语句序列;

其中所述语句序列是由该轮对话的提问语句、该轮对话之前至少一轮对话中的历史对话信息按照发生顺序由先到后排列形成的。

在一些实施例中,所述语句序列的指定位置还包括表征特定用户的用户画像向量;所述指定位置包括:序列开头或序列结尾。

根据本公开实施例的第二方面,提供了一种提问推荐装置,所述装置包括:

获取模块,针对每轮人机交互对话,确定用于本轮对话的多个备选提问与本轮对话之前的历史对话信息,所述历史对话信息包括至少一组历史提问与历史回答;

确定模块,根据所述多个备选提问与所述历史对话信息,从所述多个备选提问中确定至少一个待推荐提问;

推荐模块,将所述至少一个待推荐提问推荐给用户。

在一些实施例中,所述获取模块,获取该轮对话的上一轮对话的提问,并确定与该提问含义相近多个近似提问;针对每个近似提问,从预设对话数据集中确定以该近似提问为在先提问的提问对;将该提问对中的在后提问确定为一个所述备选提问;其中,所述预设对话数据集包括多个由一个在先提问与一个在后提问组成的提问对。

在一些实施例中,所述历史对话信息包括本轮对话之前紧邻且连续的至少一组历史提问与历史回答。

在一些实施例中,所述确定模块,针对每个所述备选提问,将该备选提问与所述历史对话信息按照发生顺序由先到后排列成语句序列,作为该备选提问对应的待分类文本;将该备选提问对应的待分类文本输入到训练好的文本分类模型;得到该备选提问对应的待分类文本属于第一类文本的概率;将对应的概率大于指定概率的备选提问确定为待推荐提问。

在一些实施例中,所述确定模块,将表征特定用户的用户画像向量及该备选提问对应的待分类文本输入所述文本分类模型。

在一些实施例中,所述文本分类模型基于以下步骤训练得到:

获取所述第一类文本的数据集与第二类文本的数据集;

以所述第一类文本的数据集为正样本,以所述第二类文本的数据集为负样本,对预训练好的bert模型进行微调;

将微调后的所述bert模型确定为所述文本分类模型。

在一些实施例中,每个所述第一类文本用于表征一次历史人机对话数据对应的语句序列,每个所述第二类文本用于表征一次模拟人机对话数据对应的语句序列;

其中所述语句序列是由该轮对话的提问语句、该轮对话之前至少一轮对话中的历史对话信息按照发生顺序由先到后排列形成的。

在一些实施例中,所述语句序列的指定位置还包括表征特定用户的用户画像向量;所述指定位置包括:序列开头或序列结尾。

根据本公开实施例的第三方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,上述处理器被配置为执行所述指令,以实现第一方面所述的方法。

根据本公开实施例的第四方面,提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。

本公开实施例提供的技术方案可以包括以下有益效果:

本公开实施例中,针对每轮人机交互对话,可以根据之前的至少一轮历史对话信息与多个备选提问,确定至少一个待推荐提问推荐给用户。由于本轮对话之前的历史对话信息可以反映出用户的对话习惯,因此确定出的待推荐提问能够更符合用户的对话习惯,从而针对每个用户提升待推荐提问的准确性,提升用户体验感,更好地满足用户的对话需求。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据本公开一示例性实施例提供的一种提问推荐方法的流程示意图。

图2是根据本公开一示例性实施例提供的一种模型训练方法的流程示意图。

图3是根据本公开一示例性实施例提供的一种正负样本的语句序列的对比示意图。

图4是根据本公开一示例性实施例提供的另一种提问推荐方法的流程示意图。

图5是根据本公开一示例性实施例提供的一种提问推荐装置的结构示意图。

图6是根据本公开一示例性实施例示出的一种电子设备的框图。

图7是根据本公开一示例性实施例示出的另一种电子设备的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

闲聊型的人机对话系统,属于非面向任务的聊天机器人产品,其主要功能是与用户进行闲聊型的对话,通常以一问(用户发起)一答(系统回答)的方式展开一轮轮对话。在实际应用中,为了提升用户体验,人机对话系统往往会在一轮对话结束后,下一轮对话开始前,向用户展示推荐的一个或多个提问,用户可以从中选择一个提问发起该下一轮对话,也可以忽略系统推荐的提问,而是自己向系统输入提问发起该下一轮对话。

发明人在研究中发现,目前的各种人机对话系统所推荐的提问往往不能很好的满足用户的对话需求,造成用户体验不佳。原因在于,这些人机对话系统通常不会考虑单个用户的对话习惯,而是要么基于通用语料库进行提问推荐,忽略对用户个性的考虑;要么仅仅根据单个用户的历史提问确定相似的提问进行推荐,从而忽略用户一般不会就相似的问题反复提问;要么根据用户之前的提问中出现的实体名称(如“衣服“)确定与实体名称有关的提问(如“你喜欢什么衣服”)进行推荐,然而忽略了很多情况下,用户之前的提问并不会包括实体名称。

针对上述问题,本公开实施例旨在提供一种考虑不同用户的对话习惯,为不同用户构建不同的提问推荐策略,实现“千人千面”的方法。本公开实施例中,针对每轮人机交互对话,可以根据之前的至少一轮历史对话信息与多个备选提问,确定至少一个待推荐提问推荐给用户。由于本轮对话之前的历史对话信息可以反映出用户的对话习惯,因此确定出的待推荐提问能够更符合用户的对话习惯,从而针对每个用户提升待推荐提问的准确性,提升用户体验感,更好地满足用户的对话需求。

图1是本公开一示例性实施例提供的一种提问推荐方法的流程示意图,所述方法包括:

s100:针对每轮人机交互对话,确定用于本轮对话的多个备选提问与本轮对话之前的历史对话信息。

图1所示的方法可以应用于电子设备,该电子设备可以理解为配置有人机对话系统的电子设备,该人机对话系统可以理解为支持人机对话功能的系统,例如装载有智能语音助手,可支持人机对话的语音控制系统;该电子设备可以是智能手机、平板电脑、智能手表、智能手环、智能音箱、pda(英文:personaldigitalassistant,中文:个人数字助理)等移动设备,也可以是台式计算机等固定设备。

人机对话系统对应的数据库中可以存储很多备选提问,这些备选提问通常可以涵盖日常聊天的各种主题。在一些实施例中,一轮对话开始前,可以随机选择多个备选提问,作为用于本轮对话的多个备选提问。

在另一些实施例中,一轮对话开始前,可以根据本轮对话之前的历史对话,从数据库中查询出符合语境的多个备选提问,作为用于本轮对话的多个备选提问。

步骤s100中,本轮对话之前的历史对话信息包括至少一组历史提问与历史回答。在有些实施例中,该至少一组历史提问与历史回答可以是本轮对话之前紧邻且连续的至少一组历史提问与历史回答,这样的历史对话信息与本轮对话在语境联系上更加紧密。

s102:根据所述多个备选提问与所述历史对话信息,从所述多个备选提问中确定至少一个待推荐提问。

在本公开的一些实施例中,可以由人工分析用户与人机对话系统之间的若干轮历史对话,总结出用户的对话习惯,进而确定用户的历史对话对应的不同特征与不同备选提问的映射关系。在需要进行提问推荐时,确定多个备选提问与本轮对话之前历史对话信息,根据确定的历史对话信息与上述的不同特征与不同备选提问的映射关系,从这多个备选提问中筛选出一个或多个备选提问,筛选出的备选提问是待推荐给用户的提问。

在本公开的另一些实施例中,可以利用人工智能技术,从历史对话中学习到用户的对话习惯。可以将用户与人机对话系统之间的对话作为文本样本,训练文本分类模型。如此,在步骤s102中,可以针对每个所述备选提问,将该备选提问与所述历史对话信息按照发生顺序由先到后排列成语句序列,作为该备选提问对应的待分类文本。将该备选提问对应的待分类文本输入到训练好的文本分类模型,得到该备选提问对应的待分类文本属于第一类文本的概率,然后将对应的概率大于指定概率的备选提问确定为待推荐提问。

其中,第一类文本是指,可以反映用户对话习惯的对话文本。通常,在模型训练阶段,可以将用户与人机对话系统之间实际发生过的对话文本作为第一类文本。相应地,不符合用户对话习惯的对话文本可以是第二类文本。在模型训练阶段,可以搜集一些不符合用户对话习惯的对话文本(例如其他用户的对话文本),也可以在第一类文本的基础上,进行一定修改得到第二类文本。例如,可以将第一类文本中最后一个提问修改成不符合用户习惯的提问。

此外,还可以将表征特定用户的用户画像向量及该备选提问对应的待分类文本输入所述文本分类模型。本文所述的用户,是指人机对话系统的用户。而用户的用户画像向量,是指在人机对话系统视角上的用户画像表征,其实际上是与用户的对话习惯有关的画像表征。

在一些可能的实施方式中,文本分类模型基于以下步骤训练得到:获取所述第一类文本的数据集与第二类文本的数据集。以所述第一类文本的数据集为正样本,以所述第二类文本的数据集为负样本。对预训练好的bert模型进行微调;将微调后的所述bert模型确定为所述文本分类模型。

其中,每个所述第一类文本用于表征一次历史人机对话数据对应的语句序列,每个所述第二类文本用于表征一次模拟人机对话数据对应的语句序列。语句序列是由该轮对话的提问语句、该轮对话之前至少一轮对话中的历史对话信息按照发生顺序由先到后排列形成的。

此外,语句序列的指定位置可以还包括表征特定用户的用户画像向量。指定位置包括:序列开头或序列结尾。

s104:将所述至少一个待推荐提问推荐给所述用户。在一些实施例中,确定用于一轮对话的多个备选提问的实现方式还可以是:在该轮对话开始前,可以获取该轮对话的上一轮对话的提问,并确定与该提问含义相近多个近似提问。接着针对每个近似提问,从预设对话数据集中确定以该近似提问为在先提问的提问对。然后将该提问对中的在后提问确定为一个所述备选提问。其中,预设对话集包括多个由一个在先提问与一个在后提问组成的提问对,该预设对话集可以是基于通用语料确定的对话集。

举例来说,预设对话数据集的格式可以是<q1,r1,q2,r2,...>,其中q表示问题,r表示回答。抽取相邻两个q作为一个提问对,如<q1,q2>、<q2,q3>、<q3、q4>以此类推,在每个提问对中,有在先提问与在后提问。将这些提问对以在先提问对应的时间由先到后建立倒排索引,将倒排索引存入人机对话系统对应的数据中,方便检索。在一些可能的实施方式中,本方法对应的应用场景可以是在用户进行一轮提问时,人机对话系统根据该一轮提问确定出待推荐提问,针对该一轮提问输出对应的答复,并将确定出的待推荐提问推荐给用户。人机对话系统根据用户对应指令,确定该待推荐提问是否为下一轮提问,并循环上述过程,以与用户长期进行对话。其中,用户对应指令可以为用于表征同意该待推荐提问为下一轮提问的指令,人机对话系统根据该指令可以确定该待推荐提问为下一轮提问,并进一步根据该下一轮提问确定出下一个待推荐提问。

另外,本公开实施例还提供一种基于bert算法训练文本分类模型的方法。所述方法可以利用预训练好的bert模型微调出一个文本分类模型,构建每个用户有专用的文本分类模型。该文本分类模型应用于提问推荐方法中,所述提问推荐方法包括以下步骤:在一轮人机对话开始前,基于该轮对话之前的至少一轮对话,从该轮对话对应的多个备选提问中确定推荐给所述用户的至少一个备选提问。

其中,确定文本分类模型的过程为,将基于用户与人机对话系统之间实际发生过的一轮对话的提问以及该轮对话之前至少一轮对话得到的文本作为正样本,将基于用户与人机对话系统之间假定发生过的一轮对话的提问以及该轮对话之前至少一轮对话得到的文本作为负样本,利用正样本和负样本,在文本分类任务上微调预训练好的bert模型。微调后的bert模型可以用于实现文本分类任务。

在提问推荐方法中,在一轮人机对话开始前,针对该轮对话对应的每个备选提问,将该备选提问、该轮对话之前至少一轮对话中每轮对话得到的待分类文本输入到文本分类模型,输出得到该待分类文本属于第一类文本的概率,然后较大概率属于第一类文本的待分类文本所对应的备选提问,推荐给所述用户。图2是本公开一示例性实施例提供的一种模型训练方法的流程示意图,包括:

s200:获取第一类文本集合与第二类文本集合。

s202:以第一类文本集合为正样本,以第二类文本集合为负样本,对预训练好的bert模型进行微调。

s204:将微调后的bert模型确定为所述用户专用的文本分类模型。

在本公开实施例中,第一类文本,是指用户与人机对话系统之间实际发生过的对话的文本,作为模型训练的正样本;第二类文本,是指至少包含部分用户与人机对话系统之间未发生过的对话的文本,作为模型训练的负样本。

每个第一类文本,可以是用户与人机对话系统之间实际发生过的一轮对话所对应的语句序列,该语句序列为:将该轮对话的提问语句、该轮对话之前至少一轮对话中每轮对话的提问语句、回答语句,按照发生顺序由先到后排列成的语句序列。

每个第二类文本,可以是用户与人机对话系统之间假定发生过的一轮对话所对应的语句序列,该语句序列为:将该轮对话的提问语句、该轮对话之前至少一轮对话中每轮对话的提问语句、回答语句,按照发生顺序由先到后排列成的语句序列。

此处需要说明,作为负样本的第二类文本的语句序列中,最后一个提问语句(即将要发生的本轮对话中假定用户会选择的提问)是假定发生的,并不是实际发生的。而第二类文本的语句序列中的任一其他语句,可以是实际发生过的,也可以是假定发生的。

在一些实施例中,可以以用户与人机对话系统之间实际发生过的多轮对话的提问与回答,按照发生顺序由先到后排列成基础的语句序列。然后在该基础的语句序列的基础上,加入后续一轮对话中用户向人机对话系统实际发起的提问,得到第一类文本的语句序列;例如,可以是在该轮对话开始前,用户从人机对话系统推荐的提问中实际选择的提问,或者用户实际输入的提问。在该基础的语句序列的基础上,加入后续用户未向人机对话系统实际发起的提问,得到第二类文本的语句序列;例如,可以是在该轮对话开始前人机对话系统推荐给用户的提问中,未被选择的提问。

图3是根据本公开一示例性实施例提供的一种正负样本的语句序列的对比示意图。如图3所示,基本的语句序列“你吃了吗(用户提问),吃了(系统回答),吃的什么(用户提问),牛肉拉面(用户回答)”,是实际发生的,而“多少钱一碗”是用户的实际提问,“哪家的拉面”是用户的假定提问,实际未发生。也就是说,正样本与负样本的区别主要体现为本轮对话中的提问的不同,而不论是正样本的语句序列还是负样本的语句序列,除了最后一个提问语句之外的其他语句(对应之前的一轮或多轮对话的提问与回答)都是实际发生过的。如此,模型训练过程中可以更有针对性地学习到:在给定之前若干轮对话的前提下,用户对于接下来的一轮对话中发起提问的习惯是什么。

在本公开一些实施例中,如前所述,一轮对话所对应的语句序列为,将该轮对话的提问语句、该轮对话之前至少一轮对话中每轮对话的提问语句、回答语句,按照发生顺序由先到后排列成的语句序列。其中,该轮对话之前的“至少一轮”的具体数量可以根据需要进行指定,本公开对此不作限制,例如,如果分析发现该轮对话与之前的3轮对话的联系比较紧密,则这个数量可以是3。

另外,该轮对话之前的“至少一轮”对话,可以是该轮对话之前紧邻的连续至少一个轮对话。该论对话之前紧邻且连续的至少一轮对话可以更加反映出在开始该轮对话之前的语境。

在实际应用中,通常在用户与人机对话系统进行对话的初期,可以先基于相关技术中的方法向用户推荐提问,从而收集到足够的样本。

另外,bert模型全称是bidirectionalencoderrepresentationfromtransformers模型,是谷歌公司提出的一种自然语言处理模型,是基于通用文本进行预训练得到的,已经学习每个汉字(或外语单词)在通用文本基础上的向量表征。预训练得到的bert模型可以进一步利用具体的下游任务上的样本(下游任务的场景下的文本)进行微调,以用于完成具体的下游任务。

bert模型的输入是文本(即语句序列),并且,当需要将bert模型应用于文本分类任务时,可以在输入的文本前标注文本分类符合cls,以提示bert模型学习输入的文本的分类。在本说明书的一个或多个实施例中,将第一类文本集合标注为正样本(例如,用1表示),将第二类文本集合标注为负样本(例如,用0表示),将样本标注写入每个样本对应的文本前的cls中,输入到预训练好的bert模型中进行继续训练(也称为微调)。

如此,微调后的bert模型可以作为文本分类模型,应用于人机对话场景下的文本分类任务。具体的,文本分类模型的输入是待分类的文本(语句序列),输出中包括待分类文本你的cls对应的向量,该向量可以映射为该文本的分类概率(即属于第一类文本的概率与属于第二类文本的概率)。

在一些实施例中,在将所述文本分类模型应用于所述提问推荐方法之后,可以获取新产生的若干第一类文本,作为正样本,继续微调所述文本分类模型。举例来说,假设人机对话系统每天的服务时间是0点至23点50分,那么,可以在每天23点50分至24点期间,基于当天搜集到的正样本(以及负样本),继续微调所述文本分类模型,完成优化,并将当天优化后的文本分类模型于次日0点上线,如此循环反复。

此外在一些实施例中,不论是正样本,还是负样本,相应的语句序列的指定位置还可以包括用户的用户画像表征;所述指定位置可以包括:序列开头或序列结尾。也就是说,可以在正样本和负样本中加入有关用户画像的特征信息,使得样本更能反映出用户的个性,也进一步加强了模型训练过程中对于用户个性的学习。

此处需要说明,本文所述的用户,是指人机对话系统的用户;而用户的用户画像表征,是指在人机对话系统视角上的用户画像表征,其实际上是与用户的对话习惯有关的画像表征。

在实际应用中,用户首次使用人机对话系统时,可以为用户分配一个用户画像,用户初期与人机对话系统对话过程中,可以基于搜集到的样本,微调预训练的bert模型,微调后的bert模型的输入包含用户画像表征,该用户画像表征也是经过微调的,实际上基于用户与人机对话系统的若干对话所优化得到的用户画像表征,是更新后的用户画像表征。在一些实施例中,每次优化文本分类模型之后,都会得到更新后的用户画像表征,在次日需要优化文本分类模型时,样本中的用户画像表征也是最新的。

还需要说明,用户首次使用人机对话系统时,为用户分配的用户画像可以是空白的,也可以是随机指定的。

此外,还可以将在该用户之前首次使用人机对话系统、且时间间隔不远的其他用户的用户画像,分配给该用户作为该用户的用户画像。由于人机对话系统的新用户刚开始往往对于如何进行对话处于探索阶段,对话习惯比较接近,因此,将不久之前才首次使用人机对话系统的其他用户经过早期几轮对话所优化出的用户画像直接作为分配给该新用户的用户画像,可以减少用户画像所需要的优化迭代次数。

图4是本公开一示例性实施例提供的另一种提问推荐方法的流程示意图,图4中所示的步骤是针对用户与所述人机对话系统之间的一轮对话,在该轮对话开始前执行的步骤。

s400:获取该轮对话对应的多个备选提问,并获取该轮对话之前至少一轮对话中每轮对话的提问与回答。

图4所示方法的执行主体是人机对话系统。人机对话系统可以调用图2所示方法确定出的文本分类模型来进行提问推荐。

在一些实施例中,可以从提问库中随机获取多个备选提问

在一些实施例中,可以预先基于通用的对话数据集,确定由一个在先提问与一个在后提问组成的提问组。如此,获取该轮对话对应的多个备选提问时,可以获取该轮对话的上一轮对话的提问,并确定与该提问含义相近多个近似提问;针对每个近似提问,确定以该近似提问为在先提问的提问组,进而将该提问组中的在后提问确定为一个备选提问。

s402:针对该轮对话对应的每个备选提问,将该备选提问、该轮对话之前至少一轮对话中每轮对话的提问、回答,按照发生顺序由先到后排列成语句序列,作为该备选提问对应的待分类文本。

在一些实施例中,每个备选提问对应的语句序列的指定位置还包括:所述用户的用户画像表征;所述指定位置包括:序列开头或序列结尾。

s404:将该备选提问对应的待分类文本输入到所述用户专用的文本分类模型,输出得到该备选提问对应的待分类文本属于第一类文本的概率。

s406:将对应的概率大于指定概率的备选提问推荐给所述用户。

某个备选提问对应的待分类文本属于第一类文本的概率越大,说明该备选提问符合用户对话习惯的程度越高。在具体实现上,也可以将对按照概率大小,由大到小将各备选提问进行排序,将前n个备选你提问推荐给用户。

可以理解,在步骤s404中,也可以输出得到该备选提问对应的待分类文本属于第二文本的概率,如此,某个备选提问对应的待分类文本属于第二类文本的概率越小,说明该备选提问符合用户对话习惯的程度越高。如此,在步骤s406中,可以将对应的概率小于一定概率的备选提问推荐给所述用户。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。

其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。

与前述应用功能实现方法实施例相对应,本公开还提供了应用功能实现装置及相应的终端的实施例。

图5是根据本公开一示例性实施例提供的一种提问推荐装置的结构示意图,包括:

获取模块501,针对每轮人机交互对话,确定用于本轮对话的多个备选提问与本轮对话之前的历史对话信息,所述历史对话信息包括至少一组历史提问与历史回答;

确定模块502,根据所述多个备选提问与所述历史对话信息,从所述多个备选提问中确定至少一个待推荐提问;

推荐模块503,将所述至少一个待推荐提问推荐给用户。

在一些实施例中,所述获取模块501,具体用于:

获取该轮对话的上一轮对话的提问,并确定与该提问含义相近多个近似提问;针对每个近似提问,从预设对话数据集中确定以该近似提问为在先提问的提问对;将该提问对中的在后提问确定为一个所述备选提问;其中,所述预设对话数据集包括多个由一个在先提问与一个在后提问组成的提问对。

在一些实施例中,所述历史对话信息包括本轮对话之前紧邻且连续的至少一组历史提问与历史回答。

在一些实施例中,所述确定模块502,具体用于:

针对每个所述备选提问,将该备选提问与所述历史对话信息按照发生顺序由先到后排列成语句序列,作为该备选提问对应的待分类文本;将该备选提问对应的待分类文本输入到训练好的文本分类模型;得到该备选提问对应的待分类文本属于第一类文本的概率;将对应的概率大于指定概率的备选提问确定为待推荐提问。

在一些实施例中,所述确定模块502,具体用于:

将表征特定用户的用户画像向量及该备选提问对应的待分类文本输入所述文本分类模型。

在一些实施例中,所述文本分类模型基于以下步骤训练得到:

获取所述第一类文本的数据集与第二类文本的数据集;

以所述第一类文本的数据集为正样本,以所述第二类文本的数据集为负样本,对预训练好的bert模型进行微调;

将微调后的所述bert模型确定为所述文本分类模型。

在一些实施例中,每个所述第一类文本用于表征一次历史人机对话数据对应的语句序列,每个所述第二类文本用于表征一次模拟人机对话数据对应的语句序列;

其中所述语句序列是由该轮对话的提问语句、该轮对话之前至少一轮对话中的历史对话信息按照发生顺序由先到后排列形成的。

在一些实施例中,所述语句序列的指定位置还包括表征特定用户的用户画像向量;所述指定位置包括:序列开头或序列结尾。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

图6是根据一示例性实施例示出的一种电子设备1500的结构示意图。例如,设备1500可以是用户设备,可以具体为移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理,可穿戴设备如智能手表、智能眼镜、智能手环、智能跑鞋等。

参照图6,设备1500可以包括以下一个或多个组件:处理组件1502,存储器1504,电源组件1506,多媒体组件1508,音频组件1510,输入/输出(i/o)的接口1512,传感器组件1514,以及通信组件1516。

处理组件1502通常控制设备1500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1502可以包括一个或多个处理器1520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1502可以包括一个或多个模块,便于处理组件1502和其他组件之间的交互。例如,处理组件1502可以包括多媒体模块,以方便多媒体组件1508和处理组件1502之间的交互。

存储器1504被配置为存储各种类型的数据以支持在设备1500的操作。这些数据的示例包括用于在设备1500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件1506为设备1500的各种组件提供电力。电源组件1506可以包括电源管理系统,一个或多个电源,及其他与为设备1500生成、管理和分配电力相关联的组件。

多媒体组件1508包括在上述设备1500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。上述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与上述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1508包括一个前置摄像头和/或后置摄像头。当设备1500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件1510被配置为输出和/或输入音频信号。例如,音频组件1510包括一个麦克风(mic),当设备1500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1504或经由通信组件1516发送。在一些实施例中,音频组件1510还包括一个扬声器,用于输出音频信号。

i/o接口1512为处理组件1502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件1514包括一个或多个传感器,用于为设备1500提供各个方面的状态评估。例如,传感器组件1514可以检测到设备1500的打开/关闭状态,组件的相对定位,例如上述组件为设备1500的显示器和小键盘,传感器组件1514还可以检测设备1500或设备1500一个组件的位置改变,用户与设备1500接触的存在或不存在,设备1500方位或加速/减速和设备1500的温度变化。传感器组件1514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1514还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件1516被配置为便于设备1500和其他设备之间有线或无线方式的通信。设备1500可以接入基于通信标准的无线网络,如wifi,2g或3g,4glte、5gnr或它们的组合。在一个示例性实施例中,通信组件1516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,上述通信组件1516还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,设备1500可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种非临时性计算机可读存储介质,例如包括指令的存储器1504,当存储介质中的指令由设备1500的处理器1520执行时,使得设备1500能够执行以下方法:

针对每轮人机交互对话,确定用于本轮对话的多个备选提问与本轮对话之前的历史对话信息,所述历史对话信息包括至少一组历史提问与历史回答;

根据所述多个备选提问与所述历史对话信息,从所述多个备选提问中确定至少一个待推荐提问;

将所述至少一个待推荐提问推荐给用户。

所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

如图7所示,图7是根据一示例性实施例示出的另一种电子设备1600的一结构示意图。例如,设备1600可以被提供为一应用服务器。参照图7,设备1600包括处理组件1622,其进一步包括一个或多个处理器,以及由存储器1616所代表的存储器资源,用于存储可由处理部件1622的执行的指令,例如应用程序。存储器1616中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1622被配置为执行指令,以执行上述方法。

设备1600还可以包括一个电源组件1626被配置为执行设备1600的电源管理,一个有线或无线网络接口1650被配置为将设备1600连接到网络,和一个输入输出(i/o)接口1658。设备1600可以操作基于存储在存储器1616的操作系统,例如android、ios、windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1616,上述指令可由设备1600的处理组件1622执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

其中,当所述存储器1616中的指令由所述处理组件1622执行时,使得设备1600能够执行以下方法:

针对每轮人机交互对话,确定用于本轮对话的多个备选提问与本轮对话之前的历史对话信息,所述历史对话信息包括至少一组历史提问与历史回答;

根据所述多个备选提问与所述历史对话信息,从所述多个备选提问中确定至少一个待推荐提问;

将所述至少一个待推荐提问推荐给用户。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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