本发明涉及人工智能技术领域,尤其涉及一种对话目标序列的生成方法、装置以及可读存储介质。
背景技术:
单目标的开放域对话,虽然在一定程度具有对话回复的多样性、一致性以及用户的满意度,但是这跟真实的人机交互还是有区别的,真实的人机交互一般会涉及到多个目标,这种情况下引入单目标的开放域对话就无法满足需求了,导致用户的体验感降低。
技术实现要素:
本发明实施例提供了一种对话目标序列的生成方法、装置以及可读存储介质,具有执行对话目标序列中的多个对话目标,以此来解决单目标开放域对话的局限性,进而提高了用户的体验感。
本发明一方面提供一种对话目标序列的生成方法,所述方法包括:获取当前时刻的输入信息和前一时刻的对话目标;根据所获取输入信息和对话目标,判断所述输入信息所对应的对话目标是否发生转移;根据判断结果,确定对话目标序列。
在一可实施方式中,所述根据所获取输入信息和对话目标,判断所述输入信息所对应的对话目标是否发生转移,包括:将所述输入信息和前一时刻的对话目标作为神经网络模型的输入,得到概率值;根据所得到的概率值,判断所述对话目标是否发生转移。
在一可实施方式中,所述神经网络模型为第一卷积神经网络。
在一可实施方式中,所述根据所得到的概率值,判断所述对话目标是否发生转移;若判定所述概率值超过概率阈值,则判定所述对话目标发生转移;若判定所述概率值未超过所述概率阈值,则判定所述对话目标未发生转移。
在一可实施方式中,所述根据判断结果,确定对话目标序列,包括:若判定所述对话目标发生转移,则根据历史输入信息和历史回复信息,得到当前时刻的对话目标;获取前一时刻的对话目标序列;在前一时刻的对话目标序列中增加当前时刻的对话目标,生成当前时刻的对话目标序列。
在一可实施方式中,所述根据判断结果,确定对话目标序列,包括:若判定所述对话目标未发生转移,则获取前一时刻的对话目标序列;将前一时刻的对话目标序列作为当前时刻的对话目标序列。
在一可实施方式中,所述根据历史输入信息和历史回复信息,得到当前时刻的对话目标,包括:将所述历史输入信息和历史回复信息作为第二卷积神经网络的输入,得到当前时刻的对话目标。
本发明另一方面提供一种对话目标序列的生成装置,所述装置包括:目标转移获取模块,用于获取当前时刻的输入信息和前一时刻的对话目标;目标转移判断模块,用于根据所获取输入信息和对话目标,判断所述输入信息所对应的对话目标是否发生转移;目标序列生成模块,用于根据判断结果,确定对话目标序列。
在一可实施方式中,所述目标序列生成模块具体用于:若判定所述对话目标发生转移,则根据历史输入信息和历史回复信息,得到当前时刻的对话目标;获取前一时刻的对话目标序列;在前一时刻的对话目标序列中增加当前时刻的对话目标,生成当前时刻的对话目标序列。
本发明另一方面提供一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行对话目标序列的生成方法。
在本发明实施例中,通过获取当前时刻的输入信息和前一时刻的对话目标;根据所获取输入信息和对话目标,判断所述输入信息所对应的对话目标是否发生转移;根据判断结果,确定对话目标序列。
由此,通过引入包含多个对话目标的对话目标序列,对话系统能同时执行对话目标序列中的多个对话目标,以此来解决单目标开放域对话的局限性,进而提高了用户的体验感。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本发明实施例一种对话目标序列的生成方法的实现流程示意图;
图2为本发明实施例一种对话目标序列的生成方法的具体实现流程示意图;
图3为本发明实施例一种对话目标序列的生成装置的结构组成示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一种对话目标序列的生成方法的实现流程示意图。
如图1所示,本发明一方面提供一种对话目标序列的生成方法,方法包括:
步骤101,获取当前时刻的输入信息和前一时刻的对话目标;
步骤102,根据所获取输入信息和对话目标,判断输入信息所对应的对话目标是否发生转移;
步骤103,根据判断结果,确定对话目标序列。
本实施例中,在与机器人聊天的过程中,用户所输入的信息中可能包含一个或者多个对话目标,也有可能不包含对话目标。在对话系统中,常常利用对话状态跟踪来获取并记录用户每一个输入语句的意图或者对话目标,以便对话系统根据所得到的对话目标来生成回复信息。
对话目标序列的生成方法如下:
首先获取当前时刻的输入信息和前一时刻的对话目标,其中输入信息为文本信息,可由用户输入,也可以将用户的语音转换为文本信息;前一时刻的对话目标由对话系统根据前一时刻的输入信息得到。
接着根据当前时刻的输入信息和前一时刻的对话目标,来判断输入信息所对应的对话目标是否发生转移。
最后根据判断结果,确定对话目标序列。其中,对话目标序列为多个对话目标组成的有序序列,对话系统根据对话目标序列来执行相应的操作或者服务。
由此,通过引入包含多个对话目标的对话目标序列,对话系统能同时执行对话目标序列中的多个对话目标,以此来解决单目标开放域对话的局限性,进而提高了用户的体验感。
在一可实施方式中,根据所获取输入信息和对话目标,判断输入信息所对应的对话目标是否发生转移,包括:
将输入信息和前一时刻的对话目标作为神经网络模型的输入,得到概率值;
根据所得到的概率值,判断对话目标是否发生转移。
本实施例中,步骤102的具体过程为:将当前时刻的输入信息和前一时刻的对话目标共同作为神经网络模型的输入,通过神经网络模型来得到概率值,最后根据所得到的概率值来判断输入信息所对应的对话目标是否发生转移。
其中,神经网络模型需要经过训练方能准确判断是否发生转移,训练过程大致为:用大量的语句以及对应的对话目标作为语料,对其进行训练,利用损失函数来调整神经网络模型中的权重大小,反复迭代指定次数直到损失在指定范围内即表示训练完成。
在一可实施方式中,神经网络模型为第一卷积神经网络。
本实施例中,神经网络模型为卷积神经网络,在将输入信息和对话目标输入卷积神经网络之前,需将输入信息和对话目标通过词向量工具将其每个词转换为对应的词向量,再将转换后的词向量输入于卷积神经网络。
将词向量表示为n行k列的矩阵,再依次经过卷积神经网络中的卷积层、池化层和全连接层,最终输出一个概率值。
在一可实施方式中,根据所得到的概率值,判断对话目标是否发生转移;
若判定概率值超过概率阈值,则判定对话目标发生转移;
若判定概率值未超过概率阈值,则判定对话目标未发生转移。
本实施例中,概率阈值为人工事先指定,步骤“根据所得到的概率值,判断对话目标是否发生转移”的具体过程为:
若得到的概率值超过概率阈值,说明当前输入信息所对应的对话目标与前一时刻的对话目标不一致,则判定对话目标发生了转移。
反之,若得到的概率未超过概率阈值,说明当前输入信息所对应的对话目标与前一时刻的对话目标一致,则判定对话目标未发生转移。
在一可实施方式中,根据判断结果,确定对话目标序列,包括:
若判定对话目标发生转移,则根据历史输入信息和历史回复信息,得到当前时刻的对话目标;
获取前一时刻的对话目标序列;
在前一时刻的对话目标序列中增加当前时刻的对话目标,生成当前时刻的对话目标序列。
本实施例中,步骤103的具体过程为:若经过第一卷积神经网络判定当前输入信息所对应的对话目标和前一时刻的对话目标发生转移之后,则根据用户所输入的历史输入信息和对话系统所回复的历史回复信息,获取对应于当前输入信息的对话目标。
再获取前一时刻的对话目标序列,在原有的对话目标序列中新增当前时刻的对话目标,得到当前时刻的对话目标序列。
在一可实施方式中,根据判断结果,根据判断结果,确定对话目标序列,包括:
若判定所述对话目标未发生转移,则获取前一时刻的对话目标序列;
将前一时刻的对话目标序列作为当前时刻的对话目标序列。
本实施例中,当经第一卷积神经网络判定当前对话目标未发生转移,则获取前一时刻的对话目标序列,并将该对话目标序列作为当前时刻的对话目标序列。
在一可实施方式中,根据历史输入信息和历史回复信息,得到当前时刻的对话目标,包括:
将历史输入信息和历史回复信息作为第二卷积神经网络的输入,得到当前时刻的对话目标。
本实施例中,上述步骤“根据历史输入信息和历史回复信息,得到当前时刻的对话目标”的具体过程为:将所有的历史输入信息和回复信息作为第二卷积神经网络的输入,得到当前时刻的对话目标。
其中,第二神经网络专用于接收输入语句所对应的词向量,输出对话目标,训练过程与训练第一神经网络的步骤一致,在这里不再次阐述。
图2为本发明实施例一种对话目标序列的生成方法的具体实现流程示意图,如图2所示。
图中,x代表输入语句所对应的词向量矩阵,cnn代表卷积神经网络,gc代表对话目标,gt-1代表前一时刻的对话目标,gt代表当前时刻的对话目标。
首先将词向量矩阵和对话目标作为第一个卷积神经网络的输入,做对话目标估计,得到pgc(1|x,gt-1),即前一时刻的对话目标和当前输入语句之间的对话转移概率。
当pgc<0.5,则代表对话目标未发生转移,gc为前一时刻的对话目标,反之,将用户和系统的对话信息作为第二个卷积神经网路的输入,做对话目标转移,得到新的对话目标,此时gc为当前时刻的对话目标。
在每获得一次对话目标,将其新增到对话目标序列中,得到对话目标序列(此过程图中未展示)。
图3为本发明实施例一种对话目标序列的生成装置的结构组成示意图。
本发明另一方面提供一种对话目标序列的生成装置,装置包括:
目标转移获取模块201,用于获取当前时刻的输入信息和前一时刻的对话目标;
目标转移判断模块202,用于根据所获取输入信息和对话目标,判断输入信息所对应的对话目标是否发生转移;
目标序列生成模块203,用于根据判断结果,确定对话目标序列。
本实施例中,首先通过目标转移获取模块201获取当前时刻的输入信息和前一时刻的对话目标,其中输入信息为文本信息,可由用户输入,也可以将用户的语音转换为文本信息;前一时刻的对话目标由对话系统根据前一时刻的输入信息得到。
接着通过目标转移判断模块202根据当前时刻的输入信息和前一时刻的对话目标,来判断输入信息所对应的对话目标是否发生转移。
最后通过目标序列生成模块203根据判断结果,确定对话目标序列。其中,对话目标序列为多个对话目标组成的有序序列,对话系统根据对话目标序列来执行相应的操作或者服务。
由此,通过引入包含多个对话目标的对话目标序列,对话系统能同时执行对话目标序列中的多个对话目标,以此来解决单目标开放域对话的局限性,进而提高了用户的体验感。
在一可实施方式中,目标序列生成模块203具体用于:
若判定对话目标发生转移,则根据历史输入信息和历史回复信息,得到当前时刻的对话目标;
获取前一时刻的对话目标序列;
在前一时刻的对话目标序列中增加当前时刻的对话目标,生成当前时刻的对话目标序列。
本实施例中,目标序列生成模块203具体用于:若经过第一卷积神经网络判定当前输入信息所对应的对话目标和前一时刻的对话目标发生转移之后,则根据用户所输入的历史输入信息和对话系统所回复的历史回复信息,获取对应于当前输入信息的对话目标。
再获取前一时刻的对话目标序列,在原有的对话目标序列中新增当前时刻的对话目标,得到当前时刻的对话目标序列。
本发明另一方面提供一种计算机可读存储介质,存储介质包括一组计算机可执行指令,当指令被执行时用于执行上述任一项的对话目标序列的生成方法。
在本发明实施例中计算机可读存储介质包括一组计算机可执行指令,当指令被执行时用于获取当前时刻的输入信息和前一时刻的对话目标;根据所获取输入信息和对话目标,判断输入信息所对应的对话目标是否发生转移;根据判断结果,确定对话目标序列。
由此,通过引入包含多个对话目标的对话目标序列,对话系统能同时执行对话目标序列中的多个对话目标,以此来解决单目标开放域对话的局限性,进而提高了用户的体验感。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
1.一种对话目标序列的生成方法,其特征在于,所述方法包括:
获取当前时刻的输入信息和前一时刻的对话目标;
根据所获取输入信息和对话目标,判断所述输入信息所对应的对话目标是否发生转移;
根据判断结果,确定对话目标序列。
2.根据权利要求1所述的方法,其特征在于,所述根据所获取输入信息和对话目标,判断所述输入信息所对应的对话目标是否发生转移,包括:
将所述输入信息和前一时刻的对话目标作为神经网络模型的输入,得到概率值;
根据所得到的概率值,判断所述对话目标是否发生转移。
3.根据权利要求2所述的方法,其特征在于,所述神经网络模型为第一卷积神经网络。
4.根据权利要求2所述的方法,其特征在于,所述根据所得到的概率值,判断所述对话目标是否发生转移;
若判定所述概率值超过概率阈值,则判定所述对话目标发生转移;
若判定所述概率值未超过所述概率阈值,则判定所述对话目标未发生转移。
5.根据权利要求1或4所述的方法,其特征在于,所述根据判断结果,确定对话目标序列,包括:
若判定所述对话目标发生转移,则根据历史输入信息和历史回复信息,得到当前时刻的对话目标;
获取前一时刻的对话目标序列;
在前一时刻的对话目标序列中增加当前时刻的对话目标,生成当前时刻的对话目标序列。
6.根据权利要求5所述的方法,其特征在于,所述根据判断结果,确定对话目标序列,包括:
若判定所述对话目标未发生转移,则获取前一时刻的对话目标序列;
将前一时刻的对话目标序列作为当前时刻的对话目标序列。
7.根据权利要求5所述的方法,其特征在于,所述根据历史输入信息和历史回复信息,得到当前时刻的对话目标,包括:
将所述历史输入信息和历史回复信息作为第二卷积神经网络的输入,得到当前时刻的对话目标。
8.一种对话目标序列的生成装置,其特征在于,所述装置包括:
目标转移获取模块,用于获取当前时刻的输入信息和前一时刻的对话目标;
目标转移判断模块,用于根据所获取输入信息和对话目标,判断所述输入信息所对应的对话目标是否发生转移;
目标序列生成模块,用于根据判断结果,确定对话目标序列。
9.根据权利要求8所述的装置,其特征在于,所述目标序列生成模块具体用于:
若判定所述对话目标发生转移,则根据历史输入信息和历史回复信息,得到当前时刻的对话目标;
获取前一时刻的对话目标序列;
在前一时刻的对话目标序列中增加当前时刻的对话目标,生成当前时刻的对话目标序列。
10.一种计算机可读存储介质,其特征在于,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行权利要求1-7任一项所述的一种对话目标序列的生成方法。
技术总结