CN112925892A - 一种对话推荐方法、装置、电子设备及存储介质 - Google Patents
一种对话推荐方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112925892A CN112925892A CN202110308759.6A CN202110308759A CN112925892A CN 112925892 A CN112925892 A CN 112925892A CN 202110308759 A CN202110308759 A CN 202110308759A CN 112925892 A CN112925892 A CN 112925892A
- Authority
- CN
- China
- Prior art keywords
- item
- candidate
- attribute
- preference
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种对话推荐方法,装置、电子设备及介质,采用历史序列提升推荐效率,方法包括:获取用户与项目之间的历史交互序列,并将历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成项目偏好值;其中,项目包含项目属性;利用项目偏好值及用户未交互过的项目生成候选项目集;当接收到用户发送的偏好项目属性时,利用偏好项目属性更新候选项目集,并利用项目相关值计算更新后的候选项目集中各候选项目的交互预测值;利用交互预测值及候选项目生成候选属性集,并利用交互预测值计算候选属性集中各候选项目属性的偏好预测值;将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向用户进行对话推荐。
Description
技术领域
本发明涉及对话推荐领域,特别涉及一种对话推荐方法、装置、电子设备及存储介质。
背景技术
对话推荐***(CRS,Conversational Recommender System)是一种可主动向用户获取偏好属性并利用该属性进行项目推荐的推荐***。在相关技术中,对话推荐可以利用当前向用户询问的偏好属性进行推荐,并且它可以考虑用户交互过的历史项目向用户询问偏好属性或是推荐项目,但忽视了用户与历史项目之间的交互次序对推荐的影响但是却忽略掉了交互历史项目的序列的重要性,进而导致现有的对话推荐方法难以高效且准确地与用户进行对话推荐。
发明内容
本发明的目的是提供一种对话推荐方法、装置、电子设备及存储介质,可利用反映用户历史项目偏好的历史交互序列进行推荐网络模型训练及生成候选项目集,进而可确保对话推荐能够有针对性向用户进行对话,提升对话推荐的效率及准确度。
为解决上述技术问题,本发明提供一种对话推荐方法,包括:
获取用户与项目之间的历史交互序列,并将所述历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成项目偏好值;其中,所述项目包含项目属性;
利用所述项目偏好值及所述用户未交互过的项目生成候选项目集;
当接收到所述用户发送的偏好项目属性时,利用所述偏好项目属性更新所述候选项目集,并利用所述项目相关值计算更新后的候选项目集中各候选项目的交互预测值;
利用所述交互预测值及所述候选项目生成候选属性集,并利用所述交互预测值计算所述候选属性集中各候选项目属性的偏好预测值;
将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向所述用户进行对话推荐。
可选地,所述将所述历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成项目偏好值,包括:
利用所述历史交互序列生成预设长度的训练序列;
将所有所述项目及所述训练序列输入所述嵌入层,输出整合嵌入矩阵;
将所述整合嵌入矩阵输入所述自注意块中进行迭代特征学习,生成学习矩阵;
将所述学习矩阵输入所述预测层进行矩阵分解,计算初始项目偏好值;
利用二值交叉熵损失函数对所述推荐网络模型进行网络优化,直至所述二值交叉熵损失函数的输出值最小时,将所述输出值最小时的初始项目偏好值作为所述项目偏好值。
可选地,所述将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向所述用户进行对话推荐,包括:
将所述候选项目集及所述候选属性集输入所述策略网络中进行所述强化学习,生成动作决策;
利用所述动作决策向所述用户进行对话推荐。
可选地,所述利用所述动作决策向所述用户进行对话推荐,包括:
当所述动作决策为项目推荐时,向用户端发送所述交互预测值最大的候选项目,并接收反馈数据;
当所述反馈数据表示接受所述候选项目,则退出对话推荐;
当所述反馈数据表示拒绝所述候选项目,则在所述候选项目集中移除所述候选项目,并利用完成移除后的候选项目集,执行所述利用所述项目相关值计算更新后的候选项目集中各候选项目的交互预测值;
当所述动作决策为属性询问时,向用户端发送所述偏好预测值最大的候选项目属性,并接收所述反馈数据;
利用所述反馈数据对所述候选项目集中的项目进行验证,并移除未通过验证的项目,最后利用完成移除后的候选项目集,执行所述利用所述项目相关值计算更新后的候选项目集中各候选项目的交互预测值的步骤。
可选地,在利用所述动作决策向所述用户进行对话推荐之前,还包括:
判断所述动作决策对应的对话轮次是否大于预设阈值;
若是,则退出所述对话推荐;
若否,则执行利用所述动作决策向所述用户进行对话推荐的步骤。
可选地,所述利用所述偏好项目属性更新所述候选项目集,包括:
移除所述候选项目集中不具有所述偏好项目属性的偏好项目。
可选地,所述利用所述交互预测值及所述候选项目生成候选属性集,并利用所述交互预测值计算所述候选属性集中各候选项目属性的偏好预测值,包括:
按所述交互预测值从大到小的顺序,利用前预设数量的所述候选项目所包含的项目属性生成候选属性集;
利用所述候选项目的交互预测值,计算所述候选属性集中各候选项目属性的信息熵,并将所述信息熵作为所述候选项目属性的偏好预测值。
本发明还提供一种对话推荐装置,包括:
推荐网络模块,用于获取用户与项目之间的历史交互序列,并将所述历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成候选项目集及项目相关值;其中,所述项目包含项目属性;
候选项目集生成模块,用于利用所述项目偏好值及所述用户未交互过的项目生成候选项目集;
第一计算模块,用于当接收到所述用户发送的偏好项目属性时,利用所述偏好项目属性更新所述候选项目集,并利用所述项目相关值计算更新后的候选项目集中各候选项目的交互预测值;
第二计算模块,用于利用所述交互预测值及所述候选项目生成候选属性集,并利用所述交互预测值计算所述候选属性集中各候选项目属性的偏好预测值;
对话推荐模块,用于将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向所述用户进行对话推荐。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的对话推荐方法。
本发明还提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的对话推荐方法。
本发明提供一种对话推荐方法,包括:获取用户与项目之间的历史交互序列,并将所述历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成项目偏好值;其中,所述项目包含项目属性;利用所述项目偏好值及所述用户未交互过的项目生成候选项目集;当接收到所述用户发送的偏好项目属性时,利用所述偏好项目属性更新所述候选项目集,并利用所述项目相关值计算更新后的候选项目集中各候选项目的交互预测值;利用所述交互预测值及所述候选项目生成候选属性集,并利用所述交互预测值计算所述候选属性集中各候选项目属性的偏好预测值;将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向所述用户进行对话推荐。
可见,本方法首先获取了用户与项目之间的历史交互序列,由于该序列反映了用户对历史项目的偏好及交互顺序,因此本方法利用历史交互序列参与推荐网络模型训练,可确保利用推荐网络模型生成的候选项目集同时考虑了用户对历史项目的偏好及交互顺序,可生成更符合用户偏好的候选项目集,进而确保在对话推荐中可利用候选项目集有针对性地向用户进行对话,能够有效减少对话推荐的对话轮次,同时能够提升对话推荐的准确性。本发明还提供一种对话推荐装置、电子设备及存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种对话推荐方法的流程图;
图2为本发明实施例所提供的一种对话推荐装置的结构框图;
图3为本发明实施例所提供的一种基于历史交互序列的对话推荐***的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对话推荐***(CRS,Conversational Recommender System)是一种可主动向用户获取偏好属性并利用该属性进行项目推荐的推荐***。在相关技术中,对话推荐仅能利用当前向用户询问的偏好属性进行推荐,难以考虑用户的历史项目偏好,只能盲目地向用户询问偏好属性或是推荐项目,最终导致现有的对话推荐方法难以高效且准确地与用户进行对话推荐。有鉴于此,本发明提供一种对话推荐方法,可利用反映用户历史项目偏好的历史交互序列进行推荐网络模型训练及生成候选项目集,进而可确保对话推荐能够有针对性向用户进行对话,提升对话推荐的效率及准确度。请参考图1,图1为本发明实施例所提供的一种对话推荐方法的流程图,该方法可以包括:
S101、获取用户与项目之间的历史交互序列,并将历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成项目偏好值;其中,项目包含项目属性。
历史交互序列为用户过去对项目进行交互的记录,同时历史交互序列的项目按照用户与项目的交互时间次序进行排序,该交互可以为点击查看、收藏、购买等。由于历史交互序列中包含了用户对项目的历史偏好以及用户对历史项目的交互顺序,因此本发明实施例将历史交互序列融入推荐网络模型的训练,可确保推荐网络模型能够同时融合用户的历史偏好及对历史项目的交互顺序特征,进而能够确保对话推荐能够根据用户的历史偏好进行针对性的对话,可有效提升对话推荐的效率及准确度。需要说明的是,本发明实施例并不限定具体的项目,可以理解的是该项目为一个具体的物品,例如可以为实体物品,如书籍等,也可以为虚拟物品,例如电影等。本发明实施例也不限定具体的项目属性,可以理解的是,该项目属性反映了项目的某种特征,例如当项目为书籍时,该项目属性可以为书籍的类型,如小说、传记、教科书等,也可以为表示是否为热销书籍的项目属性,也可以为其他与书籍有关的项目属性。本发明实施例也不限定项目可包含的项目属性的数量,一个项目可拥有一个或多个项目属性。
需要说明的是,本发明实施例所使用的推荐网络模型基于深度学习神经网络。本发明实施例并不限定该推荐网络模型中的嵌入层、自注意块及预测层具体的结构及学习方式,用户可参考深度学习神经网络的相关技术。
进一步,本发明实施例并不限定历史交互序列中可包含的项目数量,历史交互序列中可包含一个或多个项目。由于不同用户的历史交互序列长度不一,为了方便推荐网络模型的训练,可以将历史交互序列转换为一个预设长度的训练序列。可以理解的是,当历史交互序列中包含的项目数量过少时,将难以为用户计算可靠的偏好,因此可为历史交互序列设置最小项目数量,当历史交互序列中包含的项目数量小于最小项目数量时,将不会进行网络模型训练。本发明实施例并不限定最小项目数量的具体数值,用户可根据实际应用需求进行设定。在一种可能的情况中,最小项目数量可以为10个。需要说明的是,本发明实施例并不限定该预设长度的具体数值,可根据实际应用需求进行设置。
在一种可能的情况中,将历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成项目偏好值的过程,可以包括:
步骤11:利用历史交互序列生成预设长度的训练序列。
具体的,对于某一用户的历史交互序列可首先生成初始训练序列由于每个用户之间的历史交互序列长度不一,因此可将初始训练序列转换为一个固定长度的训练序列s=(s1,s2,s3,…,sn),其中n表示新序列的预设长度。由于存在用户的历史访问较少,历史访问序列的长度小于n,此时可利用预设的填充项目对初始训练序列进行左填充,填充的数量为n-(|Vn|-1);当然,可以理解的是,若用户的历史访问序列长度大于n,则只保留最近发生交互的n个项目。
步骤12:将所有项目及训练序列输入嵌入层,输出整合嵌入矩阵。
具体的,在嵌入层,首先嵌入所有项目,得到项目嵌入矩阵M∈R|V|×d。对项目嵌入矩阵执行查找操作,d表示嵌入矩阵的维度,该维度可任意设定,当维度越大时,嵌入矩阵潜在的特征越多。生成训练序列s的训练序列嵌入矩阵E∈Rn×d,其中该查找操作为Ei表示训练序列S中第i个元素si在训练序列嵌入矩阵中对应的向量,而表示在si项目嵌入矩阵中对应的向量。最后,训练序列嵌入矩阵E与一个可学习的位置嵌入矩阵P∈Rn×d进行整合,得到整合嵌入矩阵:
Es=E+P
步骤13:将整合嵌入矩阵输入自注意块中进行迭代特征学习,生成学习矩阵。
需要说明的是,本发明实施例并不限定自注意块的具体学习方式,用户可参考自注意(Self-Attention)的相关技术。本发明实施例也不限定自注意块的具体结构,在一种可能的情况中,自注意块中包含自注意层及点对前馈网络。本发明也不限定是否利用多个自注意块进行堆叠计算,可以理解的是堆叠的层数越多,自注意块可学习的特征便越多。
在一种可能的情况中,自注意层存在三个矩阵Q(Query,查询),K(Key,键),V(Value,值),这三个矩阵均来自于输入自注意块的同一输入。在自注意块的计算中,首先会计算Q与K之间的点乘,为了防止点乘结果过大,将会除以一个尺度标度其中d为query和key向量的维度。最后,通过一个softmax操作将计算结果进行归一化处理转换为概率分布,并乘以矩阵V就得到权重求和的表示。Attention通过一个标量点积定义为:
在本发明实施例中,在预测第(k+1)个项目时,应当只利用训练序列中的前k个项目进行计算。但在自注意层中,自注意层会对完整的训练序列进行学习。对此,可利用mask操作来阻止自注意层中Qi和Kj之间的连接(i<j)。在自注意层输出基于前k个项目的学习结果Sk后,可利用点对两层的前馈网络将自注意层由线性模型转换为非线性模型。同时,为了学习更加复杂的项目转换,可通过堆叠自注意块的方式进行迭代特征学习。本发明实施例并不限定具体的堆叠层数,可根据实际应用需求进行设置。对于第b(b>1)个自注意块,可以定义为:
SA(F(b-1))=Attention(F(b-1)WQ,F(b-1)WK,F(b-1)WV)
其中,SA为自注意层,FFN为前馈网络,表示第b个自注意块基于前k(k∈{1,2,3,…,n})个项目的学习矩阵,RELU为线性整流函数,表示在第b个自注意块中聚合了前k个项目的自注意层的输出。WQ,WK,WV,W1,W2∈Rd×d均为可学习矩阵,b1,b2为d维向量。
对于第一个自注意块,可定义为S(1)=SA(ES)以及F(1)=FFN(S(1))。
多层神经网络具有很强的特征学习能力。但是简单的增加更多的网络层会导致过度拟合和消耗更多的训练时间等问题,这是因为当网络变深时,梯度消失的隐患也会增加,模型性能会下降。对此,可通过残差连接缓解上述情况。具体的,残差连接的过程可以为:对自注意层和前馈网络的输入x进行归一化处理,同时对自注意层和前馈网络的输出进行dropout(丢弃法)操作,最后将原始输出x添加至完成dropout操作后的输出作为最终输出。
步骤14:将学习矩阵输入预测层进行矩阵分解,计算初始项目关键值;
具体的,在b个自注意块后,可利用Fk (b)进行项目预测。可将Fk (b)输入MF层(MatrixFactorization,矩阵分解层)进行矩阵分解来计算项目i的项目相关值,以预测项目i是否为可推荐的项目。项目相关值可通过如下公式进行计算:
其中,ri,k表示基于前k个项目,项目i成为下一个项目(即可被推荐)的相关性;N∈R|V|×d为一个项目嵌入矩阵。
步骤15:利用二值交叉熵损失函数对推荐网络模型进行网络优化,直至二值交叉熵损失函数的输出值最小时,将输出值最小时的初始项目偏好值为项目偏好值。
需要说明的是,本发明实施例并不限定利用二值交叉熵损失函数(Binarycrossentropy)进行网络优化的具体过程,可参考相关技术。在一种可能的情况中,二值交叉熵损失函数可表示为:
其中,et表示网络在时间步t的期望输出,而st表示网络在时间步t的实际输出。由于训练序列中可能存在预设填充项目,当st为该预设填充项目时,应当将期望输出et也设置为填充项目。当st为正常的项目时,et应当设置为:et=st+1。当t=n,即在时间步t训练序列已到头,此时
S102、利用所述项目偏好值及所述用户未交互过的项目生成候选项目集。
由于项目偏好值可表示用户对项目的兴趣偏好,因此在本发明实施例中将采用项目偏好值作为生成候选项目集的指标,用于对项目进行排序。可以理解的是,为了对用户未来可能感兴趣的项目进行预测,在本发明实施例中将采用用户未交互的项目生成候选项目集,用户未交互过的项目可通过取包含所有项目的总集合相对于历史交互序列对应的历史项目集合的差集得到。
S103、当接收到用户发送的偏好项目属性时,利用偏好项目属性更新候选项目集,并利用项目相关值计算更新后的候选项目集中各候选项目的交互预测值。
在对话推荐中,对话需要由用户首先发送一个偏好的项目属性来进行启动。本发明实施例并不限定用户发送偏好项目属性的具体过程,例如可以为用户在预先设置的项目属性列表中进行挑选,并发送选择数据,也可以是由用户发送对话推荐请求,由对话推荐***向用户发送项目属性列表以使用户进行选择,最后接收用户发送的选择数据。
进一步,本发明实施例并不限定利用偏好项目属性及候选项目集生成候选属性集的具体方式,可以理解的是,可以移除候选项目集中不具有该偏好项目属性的项目,也可以保留候选项目集中具有该偏好项目属性的项目。
在一种可能的情况中,利用偏好项目属性更新候选项目集,可以包括:
步骤21:移除候选项目集中不具有偏好项目属性的项目。
下面具体介绍利用项目相关值计算更新后的候选项目集中各候选项目的交互预测值的过程。在一种可能的情况中,具体的,在对话开始前,用户接受的属性集和用户拒绝的属性集均为空,候选项目集Vcand中包含该用户未曾交互的项目,同时候选属性集Pcand也为空。当接收到用户发送的某个偏好项目属性p0后,可首先利用偏好项目属性对候选项目集中不具有偏好项目属性的项目进行移除,以更新候选项目集,具体可表示为:
其中,为带有偏好项目属性p0的项目。在更新候选项目集后,便可利用多层自注意块的输出计算候选项目集中各候选项目的交互预测值,通过将历史交互序列的初始训练序列Vu′输入b层自注意块得到。交互预测值的计算过程可表示为:
当策略网络确定本轮对话为项目推荐,则会从Vcand中提取交互预测值较大的前预设数量n个候选项目Vrec。若用户接受了该项目,则对话推荐结束;否则,应当从候选项目集Vcand中移除推荐的项目,即Vcand=Vcand-Vrec。
S104、利用交互预测值及候选项目生成候选属性集,并利用交互预测值计算候选属性集中各候选项目属性的偏好预测值。
由于项目属性归属于项目,同时用户在喜欢某些项目时,也存在对这些项目中的某些项目属性拥有偏好,因此在得到候选项目的交互预测值后,也可计算候选项目属性的偏好预测值,以此确定用户偏好的候选项目属性。
需要说明的是,本发明实施例并不限定计算候选项目属性偏好预测值的具体方式,可以理解的是多个项目可拥有同一个项目属性,此时计算该项目属性归属的项目的交互预测值平均值,并将该交互预测值平均值作为该项目属性的偏好预测值;当然,也可以利用计算候选项目属性的信息熵,并将信息熵作为候选项目属性的偏好预测值,其中信息熵是消除信息不确定性的一种估量。当一件事情发生的概率越低,其发生时所能提供的信息熵就越大。考虑到利用信息熵作为候选项目属性的偏好预测值,可对候选项目集进行高效过滤,因此在本发明实施例中,可通过计算信息熵的方式计算候选项目属性的偏好预测值。
可以理解的是,信息熵的计算量较大,因此可利用交互预测值对候选项目进行排序,利用交互预测值较大的前预设数量的候选项目生成候选属性集,最后再对候选属性集进行信息熵计算。需要说明的是,本发明实施例并不限定预设数量的具体数值,可根据实际应用需求进行设置。
在一种可能的情况中,利用交互预测值及候选项目生成候选属性集,并利用交互预测值计算候选属性集中各候选项目属性的偏好预测值的过程,可以包括:
步骤31:按交互预测值从大到小的顺序,利用前预设数量的候选项目所包含的项目属性生成候选属性集;
具体的,利用交互预测值从大到小的顺序,对候选项目集Vcand进行排序,并利用前L个候选项目生成候选属性集:
步骤32:利用候选项目的交互预测值,计算候选属性集中各候选项目属性的信息熵,并将信息熵作为候选项目属性的偏好预测值。
具体的,可通过如下公式计算候选项目属性的信息熵:
fatt(Pcand,Vcand)=-prob(p)·log2(prob(p))p∈Pcand
其中,σ是Sigmoid函数,sv是候选项目V的交互预测值,Vp表示包含项目属性p的项目。本发明实施例通过计算信息熵的方式,使用权重熵的方法来为重要的候选项目安排更高的权重而不是平等的对待每个项目。简单来说,如果候选项目中的多个项目都包含属性p,则属性p将难以对候选项目进行筛选,进而p就不是一个合适的属性,因此通过权重熵,可确保用户在接收候选项目属性时,该候选项目属性可快速对候选项目进行快速筛选。
S105、将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向用户进行对话推荐。
需要说明的是,策略网络基于深度强化学习网络,可根据输入的状态及用户的历史对话结果,生成当前对话轮次的动作决策,进而可利用该动作决策进行本轮对话推荐。本发明实施例并不限定策略网络的强化学习过程,可参考深度强化学习网络的相关技术。本发明实施例也不限定策略网络的网络优化方式,同样可参考深度强化学习网络的相关技术。
在一种可能的情况中,将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向用户进行对话推荐的过程,可以包括:
步骤41:将候选项目集及候选属性集输入策略网络中进行强化学习,生成动作决策。
具体的,策略网络通过强化学习确定本轮对话推荐的动作是进行询问还是进行推荐。策略网络涉及四种值,即状态、动作、奖励和策略。状态包含对话历史及当前候选项目集的长度,用shis编码对话历史,其大小为对话推荐的最大轮次T,每个维度表示用户在第t轮的对话历史。可利用特殊值表示用户的对话历史。需要说明的是,本发明并不限定具体的特殊值,可根据实际应用需求进行设置。在一种可能的情况中,可利用-2表示推荐失败,利用-1表示用户拒绝了询问的项目属性,2表示推荐成功,1表示用户接受了询问的项目属性;用slen编码当前候选项目集的长度。可对上述两种状态进行向量拼接,得到总状态:
本发明实施例包含两种动作,即询问aask和推荐arec。
本发明实施例采用了五种奖励:
(1)rrec_suc,如果推荐成功给予一个强正奖励;
(2)rrec_fail如果推荐失败给予一个强负奖励;
(3)rask_suc,如果询问的属性被用户接受给予一个轻正奖励;
(4)rask_fail,如果询问的属性被用户拒绝给予一个负奖励;
(5)rquit,如果用户退出或达到最大轮次给予一个强负奖励。
在第t轮的中间奖励rt就是这五个的加权和。
需要说明的是,本发明实施例并不限定上述奖励值的具体设置方式,可根据实际应用需求进行设置。
将当前的对话状态s输入策略网络后,策略网络将会输出关于两个动作的动作决策值Q(s,a),随后便可根据该动作决策值确定本轮对话的动作。在本发明实施例中,策略网络利用标准的深度Q-learning进行网络优化。
步骤42:利用动作决策向用户进行对话推荐。
具体的,利用动作决策向用户进行对话推荐的过程,可以包括:
步骤51:当动作决策为项目推荐时,向用户端发送交互预测值最大的候选项目,并接收反馈数据;
步骤52:当反馈数据表示接受候选项目,则退出对话推荐;
步骤53:当反馈数据表示拒绝候选项目,则在候选项目集中移除候选项目,并利用完成移除后的候选项目集,执行利用项目相关值计算更新后的候选项目集中各候选项目的交互预测值;
具体的,当策略网络确定本轮对话为项目推荐,则会从Vcand中提取交互预测值较大的前预设数量n个候选项目Vrec。若用户接受了该项目,则对话推荐结束;否则,应当从候选项目集Vcand中移除推荐的项目,即Vcand=Vcand-Vrec。
步骤54:当动作决策为属性询问时,向用户端发送偏好预测值最大的候选项目属性,并接收反馈数据;
步骤55:利用反馈数据对候选项目集中的项目进行验证,并移除未通过验证的项目,最后利用完成移除后的候选项目集,执行利用项目相关值计算更新后的候选项目集中各候选项目的交互预测值的步骤。
具体的,当策略网络确定本轮对话为项目属性询问时,从候选项目属性集Pcand中选择出偏好预测值最大的候选项目属性pi∈Pcand。
当接收到用户发回的反馈数据时,可利用反馈数据中的候选项目属性对候选项目进行验证。当反馈数据表示用户接受了候选项目属性p时,该验证过程为:更新用户接收的属性集并更新候选项目集当反馈数据表示用户拒绝了候选项目属性p时,该验证过程为:更新用户拒绝的属性集并更新候选项目集
最后,可以理解的是,当对话推荐始终不能得到用户可接收的项目时,对话推荐将会持续若干轮。为了确保对话推荐的对话轮次不会一直增加,可将对话轮次利用预设阈值进行限制,当对话轮次到达预设阈值时则退出对话推荐。
在一种可能的情况中,在利用动作决策向用户进行对话推荐之前,还可以包括:
步骤61:判断动作决策对应的对话轮次是否大于预设阈值;
需要说明的是,本发明并不限定该预设阈值的具体数值,可根据实际应用需求进行设置。
步骤62:若是,则退出对话推荐;
步骤63:若否,则执行利用动作决策向用户进行对话推荐的步骤。
基于上述实施例,本方法首先获取了用户与项目之间的历史交互序列,由于该序列反映了用户对历史项目的偏好及交互顺序,因此本方法利用历史交互序列参与推荐网络模型训练,可确保利用推荐网络模型生成的候选项目集同时考虑了用户对历史项目的偏好及交互顺序,可生成更符合用户偏好的候选项目集,进而确保在对话推荐中可利用候选项目集有针对性地向用户进行对话,能够有效减少对话推荐的对话轮次,同时能够提升对话推荐的准确性。
下面对本发明实施例提供的一种对话推荐装置、电子设备及存储介质进行介绍,下文描述的对话推荐装置、电子设备及存储介质与上文描述的对话推荐方法可相互对应参照。
请参考图2,图2为本发明实施例所提供的一种对话推荐装置的结构框图,该装置可以包括:
推荐网络模块201,用于获取用户与项目之间的历史交互序列,并将历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成项目偏好值;其中,项目包含项目属性;
候选项目集生成模块202,用于利用项目偏好值及用户未交互过的项目生成候选项目集;
第一计算模块203,用于当接收到用户发送的偏好项目属性时,利用偏好项目属性更新候选项目集,并利用项目相关值计算更新后的候选项目集中各候选项目的交互预测值;
第二计算模块204,用于利用交互预测值及候选项目生成候选属性集,并利用交互预测值计算候选属性集中各候选项目属性的偏好预测值;
对话推荐模块205,用于将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向用户进行对话推荐。
可选地,推荐网络模块201,可以包括:
训练序列生成子模块,用于利用历史交互序列生成预设长度的训练序列;
嵌入层子模块,用于将所有项目及训练序列输入嵌入层,输出整合嵌入矩阵;
自注意块子模块,用于将整合嵌入矩阵输入自注意块中进行迭代特征学习,生成学习矩阵;
预测层子模块,用于将学习矩阵输入预测层进行矩阵分解,计算初始项目偏好值;
网络优化子模块,用于利用二值交叉熵损失函数对推荐网络模型进行网络优化,直至二值交叉熵损失函数的输出值最小时,将输出值最小时的初始项目偏好值作为项目偏好值。
可选地,对话推荐模块205,可以包括:
强化学习子模块,用于将候选项目集及候选属性集输入策略网络中进行强化学习,生成动作决策;
对话推荐子模块,用于利用动作决策向用户进行对话推荐。
可选地,对话推荐子模块,可以包括:
第一发送单元,用于当动作决策为项目推荐时,向用户端发送交互预测值最大的候选项目,并接收反馈数据;
第一处理单元,用于当反馈数据表示接受候选项目,则退出对话推荐;
第二处理单元,用于当反馈数据表示拒绝候选项目,则在候选项目集中移除候选项目,并利用完成移除后的候选项目集,执行利用项目相关值计算更新后的候选项目集中各候选项目的交互预测值;
第二发送单元,用于当动作决策为属性询问时,向用户端发送偏好预测值最大的项目属性,并接收反馈数据;
第三处理单元,用于利用反馈数据对候选项目集中的项目进行验证,并移除未通过验证的项目,最后利用完成移除后的候选项目集,执行利用项目相关值计算更新后的候选项目集中各候选项目的交互预测值的步骤。
可选地,对话推荐模块205,还可以包括:
对话轮次判断子模块,用于判断动作决策对应的对话轮次是否大于预设阈值;若是,则退出对话推荐;若否,则执行利用动作决策向用户进行对话推荐的步骤。
可选地,第一计算模块203,包括:
移除操作子模块,用于移除候选项目集中不具有偏好项目属性的偏好项目。
可选地,第二计算模块204,包括:
候选属性集生成子模块,用于按交互预测值从大到小的顺序,利用前预设数量的候选项目所包含的项目属性生成候选属性集;
第二计算子模块,用于利用候选项目的交互预测值,计算候选属性集中各候选项目属性的信息熵,并将信息熵作为候选项目属性的偏好预测值。
基于上述实施例,请参考图3,图3为本发明实施例所提供的一种基于历史交互序列的对话推荐***的结构框图。在本基于历史交互序列的对话推荐***SeqCR(SequentialConversation Recommender)中,Policy Network Module策略网络,用于完成上述实施例中对话推荐模块205的功能,例如接收反馈(feedback)并更新偏好(Update preference),并向Sequential Module更新候选项目及属性(Update Candidate items andattributes),Sequential Module序列模块,用于完成上述实施例中推荐网络模块201的功能,包含Embedding Layer嵌入层、Self-attention Block自注意块及Prediction Layer预测层,其中自注意块包括Self-attention自注意层及Feed Forward Network前馈网络;,Soring Module评分模块,用于完成上述实施例中候选项目集生成模块202、第一计算模块203及第二计算模块204的功能,如Item Scroring项目评分(计算交互预测值)及AttributeScoring属性评分功能(计算偏好预测值),User表示用户,可接收策略网络发送的询问及向策略网络提供反馈(feedback)。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的对话推荐方法的步骤。
由于电子设备部分的实施例与对话推荐方法部分的实施例相互对应,因此电子设备部分的实施例请参见对话推荐方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的对话推荐方法的步骤。
由于存储介质部分的实施例与对话推荐方法部分的实施例相互对应,因此存储介质部分的实施例请参见对话推荐方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种对话推荐方法、装置、电子设备及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种对话推荐方法,其特征在于,包括:
获取用户与项目之间的历史交互序列,并将所述历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成项目偏好值;其中,所述项目包含项目属性;
利用所述项目偏好值及所述用户未交互过的项目生成候选项目集;
当接收到所述用户发送的偏好项目属性时,利用所述偏好项目属性更新所述候选项目集,并利用所述项目相关值计算更新后的候选项目集中各候选项目的交互预测值;
利用所述交互预测值及所述候选项目生成候选属性集,并利用所述交互预测值计算所述候选属性集中各候选项目属性的偏好预测值;
将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向所述用户进行对话推荐。
2.根据权利要求1所述的对话推荐方法,其特征在于,所述将所述历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成项目偏好值,包括:
利用所述历史交互序列生成预设长度的训练序列;
将所有所述项目及所述训练序列输入所述嵌入层,输出整合嵌入矩阵;
将所述整合嵌入矩阵输入所述自注意块中进行迭代特征学习,生成学习矩阵;
将所述学习矩阵输入所述预测层进行矩阵分解,计算初始项目偏好值;
利用二值交叉熵损失函数对所述推荐网络模型进行网络优化,直至所述二值交叉熵损失函数的输出值最小时,将所述输出值最小时的初始项目偏好值作为所述项目偏好值。
3.根据权利要求1所述的对话推荐方法,其特征在于,所述将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向所述用户进行对话推荐,包括:
将所述候选项目集及所述候选属性集输入所述策略网络中进行所述强化学习,生成动作决策;
利用所述动作决策向所述用户进行对话推荐。
4.根据权利要求3所述的对话推荐方法,其特征在于,所述利用所述动作决策向所述用户进行对话推荐,包括:
当所述动作决策为项目推荐时,向用户端发送所述交互预测值最大的候选项目,并接收反馈数据;
当所述反馈数据表示接受所述候选项目,则退出对话推荐;
当所述反馈数据表示拒绝所述候选项目,则在所述候选项目集中移除所述候选项目,并利用完成移除后的候选项目集,执行所述利用所述项目相关值计算更新后的候选项目集中各候选项目的交互预测值;
当所述动作决策为属性询问时,向用户端发送所述偏好预测值最大的候选项目属性,并接收所述反馈数据;
利用所述反馈数据对所述候选项目集中的项目进行验证,并移除未通过验证的项目,最后利用完成移除后的候选项目集,执行所述利用所述项目相关值计算更新后的候选项目集中各候选项目的交互预测值的步骤。
5.根据权利要求3所述的对话推荐方法,其特征在于,在利用所述动作决策向所述用户进行对话推荐之前,还包括:
判断所述动作决策对应的对话轮次是否大于预设阈值;
若是,则退出所述对话推荐;
若否,则执行利用所述动作决策向所述用户进行对话推荐的步骤。
6.根据权利要求1所述的对话推荐方法,其特征在于,所述利用所述偏好项目属性更新所述候选项目集,包括:
移除所述候选项目集中不具有所述偏好项目属性的偏好项目。
7.根据权利要求1至6所述的对话推荐方法,其特征在于,所述利用所述交互预测值及所述候选项目生成候选属性集,并利用所述交互预测值计算所述候选属性集中各候选项目属性的偏好预测值,包括:
按所述交互预测值从大到小的顺序,利用前预设数量的所述候选项目所包含的项目属性生成候选属性集;
利用所述候选项目的交互预测值,计算所述候选属性集中各候选项目属性的信息熵,并将所述信息熵作为所述候选项目属性的偏好预测值。
8.一种对话推荐装置,其特征在于,包括:
推荐网络模块,用于获取用户与项目之间的历史交互序列,并将所述历史交互序列输入至包含嵌入层、自注意块及预测层的推荐网络模型中进行训练,生成项目偏好值;其中,所述项目包含项目属性;
候选项目集生成模块,用于利用所述项目偏好值及所述用户未交互过的项目生成候选项目集;
第一计算模块,用于当接收到所述用户发送的偏好项目属性时,利用所述偏好项目属性更新所述候选项目集,并利用所述项目相关值计算更新后的候选项目集中各候选项目的交互预测值;
第二计算模块,用于利用所述交互预测值及所述候选项目生成候选属性集,并利用所述交互预测值计算所述候选属性集中各候选项目属性的偏好预测值;
对话推荐模块,用于将完成计算后的候选项目集及候选属性集输入策略网络中进行强化学习,向所述用户进行对话推荐。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的对话推荐方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的对话推荐方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110308759.6A CN112925892B (zh) | 2021-03-23 | 2021-03-23 | 一种对话推荐方法、装置、电子设备及存储介质 |
PCT/CN2021/122167 WO2022198983A1 (zh) | 2021-03-23 | 2021-09-30 | 一种对话推荐方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110308759.6A CN112925892B (zh) | 2021-03-23 | 2021-03-23 | 一种对话推荐方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112925892A true CN112925892A (zh) | 2021-06-08 |
CN112925892B CN112925892B (zh) | 2023-08-15 |
Family
ID=76175614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110308759.6A Active CN112925892B (zh) | 2021-03-23 | 2021-03-23 | 一种对话推荐方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112925892B (zh) |
WO (1) | WO2022198983A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113468420A (zh) * | 2021-06-29 | 2021-10-01 | 杭州摸象大数据科技有限公司 | 产品推荐的方法和*** |
CN113487379A (zh) * | 2021-06-24 | 2021-10-08 | 上海淇馥信息技术有限公司 | 一种基于对话式的产品推荐方法、装置和电子设备 |
WO2022198983A1 (zh) * | 2021-03-23 | 2022-09-29 | 苏州大学 | 一种对话推荐方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008409A (zh) * | 2019-04-12 | 2019-07-12 | 苏州市职业大学 | 基于自注意力机制的序列推荐方法、装置及设备 |
US20190253514A1 (en) * | 2018-02-13 | 2019-08-15 | Ebay, Inc. | Generating attribute preference models based on disparate attribute spectrums |
CN110390108A (zh) * | 2019-07-29 | 2019-10-29 | 中国工商银行股份有限公司 | 基于深度强化学习的任务型交互方法和*** |
CN111797321A (zh) * | 2020-07-07 | 2020-10-20 | 山东大学 | 一种面向不同场景的个性化知识推荐方法及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1636719A1 (en) * | 2003-06-23 | 2006-03-22 | University College Dublin, National University of Ireland Dublin | A retrieval system and method |
CN112925892B (zh) * | 2021-03-23 | 2023-08-15 | 苏州大学 | 一种对话推荐方法、装置、电子设备及存储介质 |
-
2021
- 2021-03-23 CN CN202110308759.6A patent/CN112925892B/zh active Active
- 2021-09-30 WO PCT/CN2021/122167 patent/WO2022198983A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190253514A1 (en) * | 2018-02-13 | 2019-08-15 | Ebay, Inc. | Generating attribute preference models based on disparate attribute spectrums |
CN110008409A (zh) * | 2019-04-12 | 2019-07-12 | 苏州市职业大学 | 基于自注意力机制的序列推荐方法、装置及设备 |
CN110390108A (zh) * | 2019-07-29 | 2019-10-29 | 中国工商银行股份有限公司 | 基于深度强化学习的任务型交互方法和*** |
CN111797321A (zh) * | 2020-07-07 | 2020-10-20 | 山东大学 | 一种面向不同场景的个性化知识推荐方法及*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022198983A1 (zh) * | 2021-03-23 | 2022-09-29 | 苏州大学 | 一种对话推荐方法、装置、电子设备及存储介质 |
CN113487379A (zh) * | 2021-06-24 | 2021-10-08 | 上海淇馥信息技术有限公司 | 一种基于对话式的产品推荐方法、装置和电子设备 |
CN113487379B (zh) * | 2021-06-24 | 2023-01-13 | 上海淇馥信息技术有限公司 | 一种基于对话式的产品推荐方法、装置和电子设备 |
CN113468420A (zh) * | 2021-06-29 | 2021-10-01 | 杭州摸象大数据科技有限公司 | 产品推荐的方法和*** |
CN113468420B (zh) * | 2021-06-29 | 2024-04-05 | 杭州摸象大数据科技有限公司 | 产品推荐的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN112925892B (zh) | 2023-08-15 |
WO2022198983A1 (zh) | 2022-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3711000B1 (en) | Regularized neural network architecture search | |
CN112925892B (zh) | 一种对话推荐方法、装置、电子设备及存储介质 | |
Luo et al. | Latent linear critiquing for conversational recommender systems | |
CN111339433A (zh) | 基于人工智能的信息推荐方法、装置、电子设备 | |
CN111506820B (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN110069612B (zh) | 一种回复生成方法及装置 | |
CN113705811B (zh) | 模型训练方法、装置、计算机程序产品及设备 | |
CN112733043B (zh) | 评论推荐方法及装置 | |
CN111626827B (zh) | 基于序列推荐模型的物品推荐方法、装置、设备及介质 | |
CN114297470A (zh) | 内容的推荐方法、装置、设备、介质及计算机程序产品 | |
CN111241850A (zh) | 提供业务模型的方法及装置 | |
CN114764471A (zh) | 一种推荐方法、装置及存储介质 | |
CN110502701B (zh) | 引入注意力机制的好友推荐方法、***和存储介质 | |
CN116308551A (zh) | 基于数字金融ai平台的内容推荐方法及*** | |
CN110704668A (zh) | 基于网格的协同注意力vqa方法和装置 | |
CN112800253A (zh) | 数据聚类方法、相关设备及存储介质 | |
CN114691838A (zh) | 聊天机器人搜索推荐模型的训练、推荐方法及电子设备 | |
CN111445032A (zh) | 利用业务决策模型进行决策处理的方法及装置 | |
CN111010595A (zh) | 一种新节目推荐的方法及装置 | |
WO2023009766A1 (en) | Evaluating output sequences using an auto-regressive language model neural network | |
CN110727705B (zh) | 信息推荐方法、装置、电子设备及计算机可读存储介质 | |
KR102612986B1 (ko) | 온라인 추천 시스템, 메타 학습 기반 추천기 업데이트 방법 및 장치 | |
CN116431779B (zh) | 法律领域faq问答的匹配方法、装置、存储介质及电子装置 | |
CN118228718A (zh) | 编码器处理方法、文本处理方法及相关设备 | |
CN117952227A (zh) | 模型处理方法、电子设备及存储设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |