掌桥专利:专业的专利平台
掌桥专利
首页

基于知识图谱的智能对话推荐方法及装置

文献发布时间:2023-06-19 11:52:33


基于知识图谱的智能对话推荐方法及装置

技术领域

本发明涉及自然语言处理技术领域,尤其涉及一种基于知识图谱的智能对话推荐方法及装置。

背景技术

在当今信息爆炸时代,基于互联网的大型电商平台彻底改变了人们的生活方式。面对平台上海量的商品信息,用户常常陷入选择和比较的困境中,如何快速的了解用户喜好,精准地推荐用户心仪的产品成为一个难题。

传统推荐系统需要大量的用户历史数据,在历史数据缺失的冷启动(Cold Start)场景下,现有推荐系统无法完成精准推荐的需求。结合近年来对话系统的快速发展,对话推荐系统(Conversational Recommendation System,简称CRS)应运而生。在对话推荐的场景下,系统需要通过对话引导用户表达自身需求,快速建立用户画像,并结合已有商品数据完成针对用户的精准推荐。其中,大规模的知识图谱常用来存储海量的商品信息,并用来刻画商品之间的各种关系。

现有对话推荐系统往往对传统推荐系统和对话系统进行简单的耦合:在知识图谱上寻找推荐对象,再将推荐对象引入生成的自然语言中。然而,此类方法未能有效建模该场景下系统端的多种对话意图,包括不同对话意图下的知识推理以及对话策略生成,从而导致推荐性能和语言生成性能不理想。因此,现在亟需一种基于知识图谱的智能对话推荐方法及装置来解决上述问题。

发明内容

针对现有技术存在的问题,本发明提供一种基于知识图谱的智能对话推荐方法及装置。

本发明提供一种基于知识图谱的智能对话推荐方法,包括:

获取用户端的语音信息;

将所述语音信息输入到训练好的语言模型中,得到所述语音信息对应的自然语言回复,所述训练好的语言模型是由样本对话历史内容和样本意图推理树,对语言模型进行训练得到的;

其中,所述样本意图推理树是根据预设对话意图、样本对话历史表示和样本用户画像,基于知识图谱进行推理得到的;所述样本对话历史表示是通过对所述样本对话历史内容进行编码得到的;所述样本用户画像是通过对所述样本对话历史内容中提及到的知识图谱的节点进行编码,基于自注意力机制得到的。

根据本发明提供的一种基于知识图谱的智能对话推荐方法,所述训练好的语言模型通过以下步骤得到:

根据样本问法和所述样本问法对应的样本回复,构建每轮次对话的样本历史对话内容,所述样本问法为用户端样本对话内容,所述样本回复为系统端样本对话内容;

基于预训练的BERT模型,对所述样本历史对话内容进行编码,得到样本对话历史表示;

基于预训练的R-GCN模型,对知识图谱中每个节点进行编码,并根据所述样本对话历史内容中提及到的知识图谱的节点,将编码后的节点构建得到的目标节点矩阵,通过自注意力机制生成对应的样本用户画像;

通过所述样本对话历史表示和所述样本用户画像,基于知识图谱,生成预设对话意图对应的样本意图推理树;

根据所述样本意图推理树和所述样本历史对话内容,构建训练样本集,并将所述训练样本集输入到预训练的GPT-2模型进行微调,以根据训练好的GPT-2模型,得到训练好的语言模型,所述训练好的语言模型包括所述预训练的BERT模型、所述预训练的R-GCN模型和所述训练好的GPT-2模型。

根据本发明提供的一种基于知识图谱的智能对话推荐方法,所述基于预训练的BERT模型,对所述样本历史对话内容进行编码,得到样本对话历史表示,包括:

基于预训练的BERT模型,对每轮次对话的样本历史对话内容进行编码,得到每轮次对话的对话表示:

BERT([y

其中,x

通过所述LSTM层,根据对话的时序关系,对所有轮次对话的对话表示按照时序关系进行编码,得到样本对话历史表示u

u

根据本发明提供的一种基于知识图谱的智能对话推荐方法,所述基于预训练的R-GCN模型,对知识图谱中每个节点进行编码,并根据所述样本对话历史内容中提及到的知识图谱的节点,将编码后的节点构建得到的目标节点矩阵,通过自注意力机制生成对应的样本用户画像,包括:

基于预训练的R-GCN模型,对知识图谱中每个节点进行编码,得到每个节点在所述预训练的R-GCN模型中每一层的表示:

其中,

根据所述样本对话历史内容中提及到的知识图谱的节点,将对应的编码后的节点构成目标节点矩阵M

基于自注意力机制,根据所述目标节点矩阵,生成对应的样本用户画像p

p

α

其中,α

根据本发明提供的一种基于知识图谱的智能对话推荐方法,所述通过所述样本对话历史表示和所述样本用户画像,基于知识图谱,生成预设对话意图对应的样本意图推理树,包括:

根据样本对话历史表示和样本用户画像,对预设对话意图在知识图谱上进行单步推理,得到对应的推理上下文向量c

其中,i

根据所述推理上下文向量,获取知识图谱中与节点e有关系r的节点e′的得分

根据满足预设函数条件的节点,构建预设对话意图对应的样本意图推理树,所述预设函数条件为:

其中,

根据本发明提供的一种基于知识图谱的智能对话推荐方法,在所述通过所述样本对话历史表示和所述样本用户画像,基于知识图谱,生成预设对话意图对应的样本意图推理树之后,所述方法还包括:

按照先序遍历,对样本意图推理树进行序列化处理,得到序列化后的样本意图推理树;

将所述序列化后的样本意图推理树和样本历史对话内容输入到预训练的GPT-2模型进行微调,得到训练好的语言模型,所述训练好的语言模型为:

其中,x

根据本发明提供的一种基于知识图谱的智能对话推荐方法,所述训练好的语言模型的损失函数

其中,

本发明还提供一种基于知识图谱的智能对话推荐装置,包括:

语音信息获取模块,用于获取用户端的语音信息;

智能回复生成模块,用于将所述语音信息输入到训练好的语言模型中,得到所述语音信息对应的自然语言回复,所述训练好的语言模型是由样本对话历史内容和样本意图推理树,对语言模型进行训练得到的;

其中,所述样本意图推理树是根据预设对话意图、样本对话历史表示和样本用户画像,基于知识图谱进行推理得到的;所述样本对话历史表示是通过对所述样本对话历史内容进行编码得到的;所述样本用户画像是通过对所述样本对话历史内容中提及到的知识图谱的节点进行编码,基于自注意力机制得到的。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于知识图谱的智能对话推荐方法的步骤。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于知识图谱的智能对话推荐方法的步骤。

本发明提供的基于知识图谱的智能对话推荐方法及装置,通过对不同对话意图下实体推理的过程进行建模,有效地提高智能对话推荐的准确性与语言生成的流畅性。

附图说明

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

图1为本发明提供的基于知识图谱的智能对话推荐方法的流程示意图;

图2为本发明提供的训练好的语言模型的整体结构示意图;

图3为本发明提供的神经推理单元的结构示意图;

图4为本发明提供的基于知识图谱的智能对话推荐装置的结构示意图;

图5为本发明提供的电子设备的结构示意图。

具体实施方式

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

图1为本发明提供的基于知识图谱的智能对话推荐方法的流程示意图,如图1所示,本发明提供了一种基于知识图谱的智能对话推荐方法,包括:

步骤101,获取用户端的语音信息。

在本发明中,首先通过对话推荐系统中的用户端,获取用户的语音信息,该语音信息可以是询问信息、闲聊信息或推荐信息(即需要对话系统进行推荐商品的问题)等具有不同意图的语音信息。

步骤102,将所述语音信息输入到训练好的语言模型中,得到所述语音信息对应的自然语言回复,所述训练好的语言模型是由样本对话历史内容和样本意图推理树,对语言模型进行训练得到的;

其中,所述样本意图推理树是根据预设对话意图、样本对话历史表示和样本用户画像,基于知识图谱进行推理得到的;所述样本对话历史表示是通过对所述样本对话历史内容进行编码得到的;所述样本用户画像是通过对所述样本对话历史内容中提及到的知识图谱的节点进行编码,基于自注意力机制得到的。

在本发明中,对常见的对话推荐意图基于知识图谱进行建模,通过对语言模型进行训练,从而学习不同意图下的知识图谱推理模式,能够在显式的建模对话意图的前提下,学习对话中知识图谱实体推理的规律,并最终产生符合用户需求的自然语言回复。需要说明的是,本发明所选取存储了海量商品信息,并刻画商品之间各种关系的知识图谱,对于其他领域的基于知识图谱的智能对话推荐(例如,医疗对话推荐),本发明提供的方法也适用。

本发明提供的基于知识图谱的智能对话推荐方法,通过对不同对话意图下实体推理的过程进行建模,有效地提高智能对话推荐的准确性与语言生成的流畅性。

在上述实施例的基础上,所述训练好的语言模型通过以下步骤得到:

步骤201,根据样本问法和所述样本问法对应的样本回复,构建每轮次对话的样本历史对话内容,所述样本问法为用户端样本对话内容,所述样本回复为系统端样本对话内容。

在本发明中,首先通过历史自然对话的样本,构建对应的样本历史对话内容,具体地,将样本问法和该样本问法对应的样本回复作为一轮对话,从而得到多轮次对话的样本历史对话内容D={x

步骤202,基于预训练的BERT模型,对所述样本历史对话内容进行编码,得到样本对话历史表示;

在本发明中,步骤202具体包括:基于预训练的BERT模型,对每轮次对话的样本历史对话内容进行编码,得到每轮次对话的对话表示:

BERT([y

其中,x

通过所述LSTM层,根据对话的时序关系,对所有轮次对话的对话表示按照时序关系进行编码,得到样本对话历史表示u

u

步骤203,基于预训练的R-GCN模型,对知识图谱中每个节点进行编码,并根据所述样本对话历史内容中提及到的知识图谱的节点,将编码后的节点构建得到的目标节点矩阵,通过自注意力机制生成对应的样本用户画像。

在本发明中,定义关于商品信息的知识图谱G=(ε,R),其中ε为知识图谱上的节点集合,

其中,

根据所述样本对话历史内容中提及到的知识图谱的节点,将对应的编码后的节点构成目标节点矩阵M

基于自注意力机制,根据所述目标节点矩阵,生成对应的样本用户画像p

p

α

其中,α

步骤204,通过所述样本对话历史表示和所述样本用户画像,基于知识图谱,生成预设对话意图对应的样本意图推理树;

在本发明中,以三种在对话推荐中常见的对话意图:询问,闲聊和推荐,进行样本意图推理树的构建进行说明。为了减少模型学习的搜索空间,本发明设置图推理的跳数最大为两跳,并根据先验知识设置了各个对话意图的推理规则,如下表1:

表1

在进行图推理时,首先选定本轮的对话意图,其次按照选定意图对应的推理规则,进行至多两条的推理。在每一跳的推理时,可选择多个节点,最终则形成一颗以对话意图为根,最大深度为2的推理树,将该推理树作为本轮的对话意图A

在本发明中,根据样本历史对话内容,首先进行对话意图的选择,将该问题视为一个三分类器:

其中,分类器的损失函数为:

为了进行知识图谱上的多跳推理,图3为本发明提供的神经推理单元的结构示意图,可参考图2和图3所示,本发明设计了一个神经推理单元(Walker Cell),该单元的作用是根据对话信息,基于R-GCN模型输出的实体嵌入(Entity Embedding)和根据样本对话历史表示和样本用户画像得到的上下文嵌入(Context Embedding),获取每个节点的得分,从而基于该得分选择满足预设条件的节点构建推理树。在本发明中,在知识图谱上从对话意图(跳数n=1)或实体(跳数n=2)出发进行单步推理。

具体地,所述步骤204包括:根据样本对话历史表示和样本用户画像,对预设对话意图在知识图谱上进行单步推理,得到对应的推理上下文向量c

其中,i

根据所述推理上下文向量,获取知识图谱中与节点e有关系r的节点e′的得分

通过神经推理单元,根据满足预设函数条件的节点,构建预设对话意图对应的样本意图推理树,所述预设函数条件为:

其中,

步骤205,根据所述样本意图推理树和所述样本历史对话内容,构建训练样本集,并将所述训练样本集输入到预训练的GPT-2模型进行微调,以根据训练好的GPT-2模型,得到训练好的语言模型,所述训练好的语言模型包括所述预训练的BERT模型、所述预训练的R-GCN模型和所述训练好的GPT-2模型。

在本发明中,对预训练的GPT-2模型进行参数初始化,再通过样本意图推理树和样本历史对话内容构建的训练样本集,对该模型进行微调,从而基于训练好的训练好的GPT-2模型、预训练的BERT模型以及所述预训练的R-GCN模型,构建训练好的语言模型。

在上述实施例的基础上,在所述通过所述样本对话历史表示和所述样本用户画像,基于知识图谱,生成预设对话意图对应的样本意图推理树之后,所述方法还包括:

按照先序遍历,对样本意图推理树进行序列化处理,得到序列化后的样本意图推理树;

将所述序列化后的样本意图推理树和样本历史对话内容输入到预训练的GPT-2模型进行微调,得到训练好的语言模型,所述训练好的语言模型为:

其中,x

在本发明中,将生成的样本意图推理树作为当前对话轮次的意图A

为了将节点树(即样本意图推理树)作为GPT-2模型的输入,本发明将节点树按先序遍历进行序列化。可参考图2所示,例如,若当前轮对话意图为I,I拥有子节点n

A=[I(n

每轮对话的序列化结果(Dialog Act)和对话历史拼接,作为GPT-2模型的输入。本发明采用预训练语言模型GPT-2对语言模型进行参数初始化,并在训练集上进行微调,提高了生成的自然语言回复的质量。

在上述实施例的基础上,所述训练好的语言模型的损失函数L为:

其中,

图4为本发明提供的基于知识图谱的智能对话推荐装置的结构示意图,如图4所示,本发明提供了一种基于知识图谱的智能对话推荐装置,包括语言信息获取模块401和智能回复生成模块402,其中,语音信息获取模块401用于获取用户端的语音信息;智能回复生成模块402用于将所述语音信息输入到训练好的语言模型中,得到所述语音信息对应的自然语言回复,所述训练好的语言模型是由样本对话历史内容和样本意图推理树,对语言模型进行训练得到的;其中,所述样本意图推理树是根据预设对话意图、样本对话历史表示和样本用户画像,基于知识图谱进行推理得到的;所述样本对话历史表示是通过对所述样本对话历史内容进行编码得到的;所述样本用户画像是通过对所述样本对话历史内容中提及到的知识图谱的节点进行编码,基于自注意力机制得到的。

本发明提供的基于知识图谱的智能对话推荐装置,通过对不同对话意图下实体推理的过程进行建模,有效地提高智能对话推荐的准确性与语言生成的流畅性。

在上述实施例的基础上,所述装置还包括样本对话构建模块、第一编码模块、第二编码模块、意图推理树生成模块和训练模块,其中,样本对话构建模块用于根据样本问法和所述样本问法对应的样本回复,构建每轮次对话的样本历史对话内容,所述样本问法为用户端样本对话内容,所述样本回复为系统端样本对话内容;第一编码模块用于基于预训练的BERT模型,对所述样本历史对话内容进行编码,得到样本对话历史表示;第二编码模块用于基于预训练的R-GCN模型,对知识图谱中每个节点进行编码,并根据所述样本对话历史内容中提及到的知识图谱的节点,将编码后的节点构建得到的目标节点矩阵,通过自注意力机制生成对应的样本用户画像;意图推理树生成模块用于通过所述样本对话历史表示和所述样本用户画像,基于知识图谱,生成预设对话意图对应的样本意图推理树;训练模块用于根据所述样本意图推理树和所述样本历史对话内容,构建训练样本集,并将所述训练样本集输入到预训练的GPT-2模型进行微调,以根据训练好的GPT-2模型,得到训练好的语言模型,所述训练好的语言模型包括所述预训练的BERT模型、所述预训练的R-GCN模型和所述训练好的GPT-2模型。

本发明提供的装置是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。

图5为本发明提供的电子设备的结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(CommunicationsInterface)502、存储器(memory)503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。处理器501可以调用存储器503中的逻辑指令,以执行基于知识图谱的智能对话推荐方法,该方法包括:获取用户端的语音信息;将所述语音信息输入到训练好的语言模型中,得到所述语音信息对应的自然语言回复,所述训练好的语言模型是由样本对话历史内容和样本意图推理树,对语言模型进行训练得到的;其中,所述样本意图推理树是根据预设对话意图、样本对话历史表示和样本用户画像,基于知识图谱进行推理得到的;所述样本对话历史表示是通过对所述样本对话历史内容进行编码得到的;所述样本用户画像是通过对所述样本对话历史内容中提及到的知识图谱的节点进行编码,基于自注意力机制得到的。

此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于知识图谱的智能对话推荐方法,该方法包括:获取用户端的语音信息;将所述语音信息输入到训练好的语言模型中,得到所述语音信息对应的自然语言回复,所述训练好的语言模型是由样本对话历史内容和样本意图推理树,对语言模型进行训练得到的;其中,所述样本意图推理树是根据预设对话意图、样本对话历史表示和样本用户画像,基于知识图谱进行推理得到的;所述样本对话历史表示是通过对所述样本对话历史内容进行编码得到的;所述样本用户画像是通过对所述样本对话历史内容中提及到的知识图谱的节点进行编码,基于自注意力机制得到的。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于知识图谱的智能对话推荐方法,该方法包括:获取用户端的语音信息;将所述语音信息输入到训练好的语言模型中,得到所述语音信息对应的自然语言回复,所述训练好的语言模型是由样本对话历史内容和样本意图推理树,对语言模型进行训练得到的;其中,所述样本意图推理树是根据预设对话意图、样本对话历史表示和样本用户画像,基于知识图谱进行推理得到的;所述样本对话历史表示是通过对所述样本对话历史内容进行编码得到的;所述样本用户画像是通过对所述样本对话历史内容中提及到的知识图谱的节点进行编码,基于自注意力机制得到的。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

相关技术
  • 基于知识图谱的智能对话推荐方法及装置
  • 基于Meta-graph知识图谱表示的对话式音乐推荐方法
技术分类

06120113083855