当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于上下文感知重排序的菜品推荐方法技术

技术编号:39742993 阅读:10 留言:0更新日期:2023-12-17 23:43
本发明专利技术公开了一种基于上下文感知重排序的菜品推荐方法

【技术实现步骤摘要】
一种基于上下文感知重排序的菜品推荐方法


[0001]本专利技术属于互联网计算机
,具体而言,涉及一种基于上下文感知重排序的菜品推荐方法


技术介绍

[0002]随着移动互联网技术的不断发展和用户基数的不断扩大,信息技术与餐饮行业的结合愈发地紧密,线上餐饮平台的数量也在逐步增加

这种趋势带动了餐饮业的蓬勃发展

消费者得到了更便利的反馈途径,也享受到了更丰富的菜品选择,同时消费者的点餐方式也从传统的纸质化菜单点餐演变成线上
APP
点餐

但是,面对数量巨大的菜品信息,消费者处在菜品搜索选择时间成本高和平台推荐菜品单一的困境中

[0003]排序是个性化菜品推荐服务中的一个重要模块,有助于用户快速,准确找到适合他们的菜品,解决信息过载的问题,因此如何能够持续

及时

有效地为用户推荐健康且适合的菜品成为了提升用户体验最大的难题

[0004]传统推荐方法主要依赖基于用户和基于内容的协同过滤技术

但难以解决冷启动问题以及处理更加复杂的推荐场景

后来大量的推荐排序的算法被提出,用于优化排名性能,如申请公布号为
CN108230009A
的中国专利中,提出了一种基于预训练的偏好预测模型,对目标对象的交互行为特征进行偏好预测,从而进行推荐,又如申请公布号为
CN104462560A
的中国专利中,提出基于局部敏感哈希的随机投影方法,但是这些方法在推荐系统中排名时只考虑用户

项目对的特性,而不考虑候选排序列表中其他项目的输入

申请公布号为
CN106897419 A
的中国专利中,采用对级排序学习技术,学习用户

物品的偏序关系

尽管成对级和列表级排序学习的方法试图通过将项目偏序对或项目列表作为输入来解决问题,但是只专注于优化损失函数,没有明确地对特征空间中项目之间的相互影响进行建模


技术实现思路

[0005]本专利技术的目的在于建模列表中任意物品之间的相互影响,提供一种基于上下文感知重排序的菜品推荐方法

[0006]本专利技术所采用的具体技术方案如下:
[0007]本专利技术提供了一种基于上下文感知重排序的菜品推荐方法,其包括:
[0008]S1、
通过训练初排序算法模型,获得线上餐饮平台中每个用户的用户向量和该用户的候选菜品列表中每个候选菜品的菜品向量;将每个用户和其对应的候选菜品排列组合后,每个组合将各自的用户向量和菜品向量进行连接形成组合向量;针对线上餐饮平台中的每个用户,将其与各候选菜品的组合向量输入所述初排序算法模型中计算得分,并将该用户的候选菜品按照得分进行初次排序,得到每个用户对应的候选菜品初排序列表;
[0009]S2、
针对目标用户,按照对应的候选菜品初排序列表中的排序,将用户向量和菜品向量的组合向量按序输入重排序算法模型中,先用预训练编码模型对候选菜品初排序列表
中的每个候选菜品对应的组合向量进行进行编码并得到第一编码向量,再对目标用户的候选菜品列表进行编码得到第二编码向量,然后通过多重解码器对每个候选菜品的第一编码向量和第二编码向量进行解码和融合,得到每个候选菜品的重排序得分,最后根据重排序得分对所述候选菜品初排序列表重新进行排序,得到用于推荐的最终候选菜品列表

[0010]作为优选,所述初排序算法模型中包含候选菜品编码模块

用户编码模块和预测模块;
[0011]所述候选菜品编码模块用于生成每个菜品的完整表征向量,其生成方法如下:
[0012]S11、
针对每个用户的候选菜品列表中的每个菜品,将菜品标题和商家名称分词后得到的词元进行连接,得到第一词元组;针对第一词元组,将各词元初始化为词向量送入
Bert
预训练模型中转换为词嵌入同时对所有词嵌入基于个性化注意力机制进行加权,得到菜品名称的表征向量
r
t
;所述基于个性化注意力机制中,首先将用户的
ID
映射成一个用户
ID
向量
e
u
后经过非线性变换得到变换向量
q
t
,将变换向量
q
t
嵌入注意力机制中,与所述词嵌入经过带有
tanh
激活函数的单层
MLP
后得到的输出向量进行点乘,得到每个词元对应的注意力权重;所有词元的注意力权重通过
softmax
函数归一化后,用于对各自的词嵌入进行加权求和,得到菜品名称的表征向量
r
t

[0013]S12、
针对每个用户的候选菜品列表中的每个菜品,将菜品介绍分词后得到的词元进行连接,得到第二词元组;再按照与第一词元组相同的编码方法,得到菜品介绍的表征向量
r
b

[0014]S13、
针对每个用户的候选菜品列表中的每个菜品,将菜品和商家的分类信息转换为向量,并通过带有
ReLU
激活函数的单层
MLP
得到分类向量表示
r
c

[0015]S14、
针对每个用户的候选菜品列表中的每个菜品,将菜品名称的表征向量
r
t

菜品介绍的表征向量
r
b
以及分类向量表示
r
c
,通过一层单层
MLP
以及一个共同的可学习询问向量
q
v
进行注意力计算,并经过得到注意力加权后得到每个菜品的完整表征向量
r

[0016]所述用户编码模块用于生成每个用户的用户表征向量,生成方法如下:
[0017]针对每个用户,获取用户的候选菜品列表,对每个菜品分别获得其完整表征向量
r
,再将各菜品的完整表征向量
r
通过个性化注意力机制进行加权,得到最终的用户表征向量
u

[0018]所述预测模块用于将每个菜品的完整表征向量
r
和每个用户的用户表征向量
u
通过点积运算,得到对应菜品和用户组合的得分,所有组合的得分经过
softmax
归一化后得到推荐得分,以代表该菜品相对于该用户的推荐程度

[0019]作为优选,所述每个用户的候选菜品列表,基于当前时间以及用户所在位置,按照预设的时间范围和空间范围召回平台上已曝光的候选菜品,从而形成用户的候选菜品列表

[0020]作为优选,训练所述初排序算法模型时,需根据用户对于菜品的点击情况,从未点本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于上下文感知重排序的菜品推荐方法,其特征在于,包括:
S1、
通过训练初排序算法模型,获得线上餐饮平台中每个用户的用户向量和该用户的候选菜品列表中每个候选菜品的菜品向量;将每个用户和其对应的候选菜品排列组合后,每个组合将各自的用户向量和菜品向量进行连接形成组合向量;针对线上餐饮平台中的每个用户,将其与各候选菜品的组合向量输入所述初排序算法模型中计算得分,并将该用户的候选菜品按照得分进行初次排序,得到每个用户对应的候选菜品初排序列表;
S2、
针对目标用户,按照对应的候选菜品初排序列表中的排序,将用户向量和菜品向量的组合向量按序输入重排序算法模型中,先用预训练编码模型对候选菜品初排序列表中的每个候选菜品对应的组合向量进行进行编码并得到第一编码向量,再对目标用户的候选菜品列表进行编码得到第二编码向量,然后通过多重解码器对每个候选菜品的第一编码向量和第二编码向量进行解码和融合,得到每个候选菜品的重排序得分,最后根据重排序得分对所述候选菜品初排序列表重新进行排序,得到用于推荐的最终候选菜品列表
。2.
如权利要求1所述的基于上下文感知重排序的菜品推荐方法,其特征在于,所述初排序算法模型中包含候选菜品编码模块

用户编码模块和预测模块;所述候选菜品编码模块用于生成每个菜品的完整表征向量,其生成方法如下:
S11、
针对每个用户的候选菜品列表中的每个菜品,将菜品标题和商家名称分词后得到的词元进行连接,得到第一词元组;针对第一词元组,将各词元初始化为词向量送入
Bert
预训练模型中转换为词嵌入同时对所有词嵌入基于个性化注意力机制进行加权,得到菜品名称的表征向量
r
t
;所述基于个性化注意力机制中,首先将用户的
ID
映射成一个用户
ID
向量
e
u
后经过非线性变换得到变换向量
q
t
,将变换向量
q
t
嵌入注意力机制中,与所述词嵌入经过带有
tanh
激活函数的单层
MLP
后得到的输出向量进行点乘,得到每个词元对应的注意力权重;所有词元的注意力权重通过
softmax
函数归一化后,用于对各自的词嵌入进行加权求和,得到菜品名称的表征向量
r
t

S12、
针对每个用户的候选菜品列表中的每个菜品,将菜品介绍分词后得到的词元进行连接,得到第二词元组;再按照与第一词元组相同的编码方法,得到菜品介绍的表征向量
r
b

S13、
针对每个用户的候选菜品列表中的每个菜品,将菜品和商家的分类信息转换为向量,并通过带有
ReLU
激活函数的单层
MLP
得到分类向量表示
r
c

S14、
针对每个用户的候选菜品列表中的每个菜品,将菜品名称的表征向量
r
t

菜品介绍的表征向量
r
b
以及分类向量表示
r
c
,通过一层单层
MLP
以及一个共同的可学习询问向量
q
v
进行注意力计算,并经过得到注意力加权后得到每个菜品的完整表征向量
r
;所述用户编码模块用于生成每个用户的用户表征向量,生成方法如下:针对每个用户,获取用户的候选菜品列表,对每个菜品分别获得其完整表征向量
...

【专利技术属性】
技术研发人员:苏中根宋俊杰
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1