1.本发明涉及计算机技术领域,尤其涉及一种信息推荐方法、装置、设备及存储介质。
背景技术:
2.目前,在进行个性化推荐时,经常会用到推荐系统,在推荐系统中包括召回层面和排序层面。对于排序层面,目前排序主要用到的模型包括wide&deep,deepfm,din,esmm等。但是,通过这些模型,例如在基于tfrecord与特征哈希的排序模型中,需要将每个特征进行哈希分桶,由于用户端特征的类别更加多样,例如搜索数据特征、类别偏好特征等,导致分桶大小需要百万量级。在模型训练中,模型会将每个特征对应的embedding保存起来,导致模型的体积十分巨大,为上线部署带来很大的挑战,同时在模型线上预测时,模型耗时与特征数量成正比,如果输入特征过多,也会导致模型查找特征embedding的时间增加。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现要素:
4.本发明的主要目的在于提出一种信息推荐方法、装置、设备及存储介质,旨在解决现有技术中基于推荐系统给用户进行信息推荐时需要使用的特征过多,耗时较长的技术问题。
5.为实现上述目的,本发明提供一种信息推荐方法,所述信息推荐方法包括以下步骤:
6.获取目标用户的用户信息;
7.根据所述用户信息查找与所述目标用户对应的目标召回数据;
8.根据所述目标召回数据确定所述目标用户对应的目标user embedding向量;
9.基于所述目标user embedding向量通过预设排序模型确定向量排序结果;
10.根据所述向量排序结果对所述目标用户进行信息推荐。
11.可选地,所述获取目标用户的用户信息之前,还包括:
12.获取用户的用户属性特征和用户行为特征;
13.根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量;
14.根据所述user embedding向量生成召回数据,并将所述召回数据存储在预设数据库中;
15.相应地,所述根据所述用户信息查找与所述目标用户对应的目标召回数据,包括:
16.根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据。
17.可选地,所述根据所述用户属性特征、所述用户行为特征以及预设召回模型确定
所述用户对应的user embedding向量,包括:
18.将所述用户属性特征和所述用户行为特征作为模型训练特征,并确定所述模型训练特征对应的特征embedding向量;
19.根据所述特征embedding向量和预设召回模型确定所述用户对应的user embedding向量。
20.可选地,所述根据所述特征embedding向量和预设召回模型确定所述用户对应的user embedding向量,包括:
21.对所述特征embedding向量进行拼接处理,获得第一拼接特征向量;
22.基于所述第一拼接特征向量通过预设召回模型确定所述用户对应的user embedding向量。
23.可选地,所述基于所述拼接特征向量通过预设召回模型确定所述用户对应的user embedding向量,包括:
24.将所述第一拼接特征向量作为召回模型输入层;
25.根据所述召回模型输入层和预设召回模型确定召回模型输出结果,并根据所述召回模型输出结果确定所述用户对应的user embedding向量。
26.可选地,所述根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据之前,还包括:
27.判断所述预设数据库中是否存在与所述目标用户对应的目标召回数据;
28.在所述预设数据库中存在与所述目标用户对应的目标召回数据时,执行所述根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据的步骤。
29.可选地,所述判断所述预设数据库中是否存在与所述目标用户对应的目标召回数据之后,还包括:
30.在所述预设数据库中不存在与所述目标用户对应的目标召回数据时,获取所述目标用户的目标用户属性特征和目标用户行为特征;
31.根据所述目标用户属性特征、所述目标用户行为特征以及所述预设召回模型确定所述目标用户对应的目标user embedding向量。
32.可选地,所述基于所述目标user embedding向量通过预设排序模型确定向量排序结果之前,还包括:
33.根据所述用户信息确定待选物品特征和上下文特征;
34.所述基于所述目标user embedding向量通过预设排序模型确定向量排序结果,包括:
35.基于所述目标user embedding向量、所述待选物品特征以及所述上下文特征通过预设排序模型确定向量排序结果。
36.可选地,所述根据所述用户信息确定待选物品特征和上下文特征,包括:
37.根据所述用户信息确定历史记录信息和当前环境信息;
38.根据所述历史记录信息确定待选物品特征,并根据所述当前环境信息确定上下文特征。
39.可选地,所述基于所述目标user embedding向量、所述待选物品特征以及所述上下文特征通过预设排序模型确定向量排序结果,包括:
40.获取所述待选物品特征对应的物品特征embedding向量,并获取所述上下文特征对应的上下文特征embedding向量;
41.基于所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量通过预设排序模型确定向量排序结果。
42.可选地,所述基于所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量通过预设排序模型确定向量排序结果,包括:
43.对所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量进行拼接处理,获得第二拼接特征向量;
44.基于所述第二拼接特征向量通过预设排序模型确定向量排序结果。
45.可选地,所述基于所述第二拼接特征向量通过预设排序模型确定向量排序结果,包括:
46.将所述第二拼接特征向量作为排序模型输入层;
47.根据所述排序模型输入层和预设排序模型确定排序模型输出结果,并根据所述排序模型输出结果确定向量排序结果。
48.此外,为实现上述目的,本发明还提出一种信息推荐装置,所述信息推荐装置包括:
49.信息获取模块,用于获取目标用户的用户信息;
50.数据查找模块,用于根据所述用户信息查找与所述目标用户对应的目标召回数据;
51.目标确定模块,用于根据所述目标召回数据确定所述目标用户对应的目标user embedding向量;
52.向量排序模块,用于基于所述目标user embedding向量通过预设排序模型确定向量排序结果;
53.信息推荐模块,用于根据所述向量排序结果对所述目标用户进行信息推荐。
54.可选地,所述信息获取模块,还用于获取用户的用户属性特征和用户行为特征;
55.数据生成模块,用于根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量;根据所述user embedding向量生成召回数据,并将所述召回数据存储在预设数据库中;
56.所述数据查找模块,还用于根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据。
57.可选地,所述数据生成模块,还用于将所述用户属性特征和所述用户行为特征作为模型训练特征,并确定所述模型训练特征对应的特征embedding向量;根据所述特征embedding向量和预设召回模型确定所述用户对应的user embedding向量。
58.可选地,所述数据生成模块,还用于对所述特征embedding向量进行拼接处理,获得第一拼接特征向量;基于所述第一拼接特征向量通过预设召回模型确定所述用户对应的user embedding向量。
59.可选地,所述数据生成模块,还用于将所述第一拼接特征向量作为召回模型输入层;根据所述召回模型输入层和预设召回模型确定召回模型输出结果,并根据所述召回模型输出结果确定所述用户对应的user embedding向量。
60.可选地,所述向量排序模块,还用于根据所述用户信息确定待选物品特征和上下文特征;基于所述目标user embedding向量、所述待选物品特征以及所述上下文特征通过预设排序模型确定向量排序结果。
61.此外,为实现上述目的,本发明还提出一种信息推荐设备,所述信息推荐设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的信息推荐程序,所述信息推荐程序配置有实现如上所述的信息推荐方法的步骤。
62.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有信息推荐程序,所述信息推荐程序被处理器执行时实现如上文所述的信息推荐方法的步骤。
63.本发明提出的信息推荐方法,通过获取目标用户的用户信息;根据所述用户信息查找与所述目标用户对应的目标召回数据;根据所述目标召回数据确定所述目标用户对应的目标user embedding向量;基于所述目标user embedding向量通过预设排序模型确定向量排序结果;根据所述向量排序结果对所述目标用户进行信息推荐。在本发明中根据用户信息查找与目标用户对应的目标召回数据,进而确定目标user embedding向量,然后根据预设排序模型和目标user embedding向量确定向量排序结果以对用户进行信息推荐,通过目标user embedding向量替换掉多种用户特征来进行信息推荐,减少了需要使用的用户特征的数量,从而提高了信息推荐的效率。
附图说明
64.图1是本发明实施例方案涉及的硬件运行环境的信息推荐设备结构示意图;
65.图2为本发明信息推荐方法第一实施例的流程示意图;
66.图3为本发明信息推荐方法第二实施例的流程示意图;
67.图4为本发明信息推荐方法第三实施例的流程示意图;
68.图5为本发明信息推荐方法一实施例的排序模型的dnn层结构示意图;
69.图6为本发明信息推荐装置第一实施例的功能模块示意图。
70.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
71.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
72.参照图1,图1为本发明实施例方案涉及的硬件运行环境的信息推荐设备结构示意图。
73.如图1所示,该信息推荐设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如按键,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速随机存取存储器(random access memory,ram)存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
74.本领域技术人员可以理解,图1中示出的设备结构并不构成对信息推荐设备的限
定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
75.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及信息推荐程序。
76.在图1所示的信息推荐设备中,网络接口1004主要用于连接外网,与其他网络设备进行数据通信;用户接口1003主要用于连接用户设备,与所述用户设备进行数据通信;本发明设备通过处理器1001调用存储器1005中存储的信息推荐程序,并执行本发明实施例提供的信息推荐方法。
77.基于上述硬件结构,提出本发明信息推荐方法实施例。
78.参照图2,图2为本发明信息推荐方法第一实施例的流程示意图。
79.在第一实施例中,所述信息推荐方法包括以下步骤:
80.步骤s10,获取目标用户的用户信息。
81.需要说明的是,本实施例的执行主体可为信息推荐设备,所述信息推荐设备可为计算机设备,还可为其他可实现相同或相似功能的设备,本实施例对此不作限制。
82.应当理解的是,在对用户进行信息推荐时,可先获取目标用户的用户信息,所述用户信息可包括用户身份信息、历史记录信息以及当前环境信息等信息,还可包括其他信息,本实施例对此不作限制。
83.在具体实现中,本实施例的方案的使用场景可为:用户在访问购物网站时,可根据用户的用户信息对其进行信息推荐,给用户推送其可能感兴趣的商品。使用场景还可为:用户在打开音乐播放软件时,可根据用户的用户信息对其进行信息推荐,给用户推送其可能感兴趣的音乐。还可为其他应用场景,本实施例对此不作限制。在以上使用场景中,将需要进行信息推荐的用户称之为目标用户。
84.可以理解的是,由于用户在访问或使用各种网站或者软件时,一般都会登录账号,因此,获取目标用户的用户信息的方式可为获取访问账号的账号信息,根据账号信息确定目标用户的用户信息。除了以上获取方式外,还可为其他获取方式,本实施例对此不作限制。
85.步骤s20,根据所述用户信息查找与所述目标用户对应的目标召回数据。
86.应当理解的是,在线上预测阶段,可根据用户信息确定目标用户的用户身份,基于用户身份通过缓存的redis数据查找目标用户对应的目标召回数据,进而确定目标用户对应的目标user embedding向量,其中,embedding是将稀疏特征转化为稠密向量的一种方式。而如果在缓存的redis数据中查找不到目标用户对应的召回数据,则通过预设召回模型来得到目标用户对应的user embedding向量和召回数据,并将这些数据存储在redis中以供下次使用。同时可在服务日志中,记录下用户的embedding特征,供模型训练使用。
87.步骤s30,根据所述目标召回数据确定所述目标用户对应的目标user embedding向量。
88.可以理解的是,对于同一用户而言,其对应的召回数据和user embedding向量也是存在对应关系的,因此,在确定目标用户对应的目标召回数据后,进而可根据目标召回数据确定目标用户对应的目标user embedding向量。
89.在具体实现中,例如,可能存在用户a和用户b,用户a对应召回数据a和user embedding向量a,召回数据a与user embedding向量a也是存在对应关系的,用户b对应召回
数据b和user embedding向量b,召回数据b与user embedding向量b也是存在对应关系的,如果确定目标用户为用户a,那么就可查找到期对应的召回数据a,进而可确定目标用户对应的user embedding向量a,以上例子只是其中一种查找方式,用以进行解释说明,还可为其他查找方式,本实施例对此不作限制。
90.步骤s40,基于所述目标user embedding向量通过预设排序模型确定向量排序结果。
91.应当理解的是,现有的排序模型中,需要将每个特征进行哈希分桶,由于用户端特征的类别很多,例如搜索数据特征、类别偏好特征等,导致分桶大小需要百万量级。在模型训练中,模型会将每个特征对应的embedding保存起来,导致模型的体积十分巨大,为上线部署带来很大的挑战,同时在模型线上预测时,模型耗时与特征数量成正比,如果输入特征过多,也会导致模型查找特征embedding的时间增加。
92.在本实施例中,将查找到的目标user embedding向量直接作为用户特征传入模型的输入层,替换用户的属性特征和行为特征,简化了排序模型中所存储的特征的embedding数据,从而达到缩减特征、简化模型的效果。在排序模型这能够,可直接将物品特征、上下文特征的embedding向量与user embedding进行拼接,进而通过预设排序模型确定向量排序结果。其中,预设排序模型可为din模型、wide&deep模型、deepfm模型、esmm模型等,本实施例对此不作限制。
93.步骤s50,根据所述向量排序结果对所述目标用户进行信息推荐。
94.应当理解的是,在根据目标user embedding向量和预设排序模型确定向量排序结果后,可根据向量排序结果确定目标用户最可能感兴趣的物品信息,然后对目标用户进行信息推荐,对其推荐最可能感兴趣的物品信息。
95.可以理解的是,排序模型可对由召回模型生成的user embedding进行打分排序,选出最优的少量结果,提高对用户进行信息推荐的个性化程度和准确性,从而可提供更准确,更人性化的推荐,优化用户体验。
96.本实施例中通过根据用户信息查找与目标用户对应的目标召回数据,进而确定目标user embedding向量,然后根据预设排序模型和目标user embedding向量确定向量排序结果以对用户进行信息推荐,通过目标user embedding向量替换掉多种用户特征来进行信息推荐,减少了需要使用的用户特征的数量,从而提高了信息推荐的效率。
97.在一实施例中,如图3所示,基于第一实施例提出本发明信息推荐方法第二实施例,所述步骤s10之前,还包括:
98.步骤s01,获取用户的用户属性特征和用户行为特征。
99.应当理解的是,所述用户属性特征包括年龄、性别、职业以及居住地等,还可包括其他用户特征,本实施例对此不作限制。所述用户行为特征包括点击行为、收藏行为以及购买行为等,还可包括其他行为特征,本实施例对此不作限制。
100.可以理解的是,可通过用户对应的账号信息中获取用户的用户属性特征和用户行为特征,还可为从用户对应的用户画像中获取用户属性特征和用户行为特征,本实施例对此不作限制。其中,用户画像可为提前对用户的各项信息数据进行收集整理生成的。
101.步骤s02,根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量。
102.需要说明的是,对于现有的召回层面而言,是在基于user to item的召回模型中,首先在离线部分,通过基于youtube架构的召回模型,导出用户与物品的embedding,将这些embedding存储在faiss服务中,线上推荐引擎通过用户端请求,取出用户的embedding,在faiss中检索与此embedding最相似的top物品作为召回的物料。
103.但是,通过离线训练的方式并不能覆盖到全部的用户,例如:基于一个月的训练样本中,只包含这一个月中有行为的用户的信息,在工具类app中,有些用户的视频频率并不是很高,这样的训练方式和应用方式只能覆盖到很少的用户,导致在线上应用的时候,只能为这一个月中有行为的用户提供模型预测的召回数据,给其他用户推荐的召回数据是兜底数据,并没有用到模型数据,这样的结果导致召回模型效果很难评估,并且效果不理想。
104.在本实施例中,对排序模型进行简化并对召回模型进行优化,可充分发挥召回模型的作用,使所有用户都能获取通过推荐引擎返回召回模型预测的数据。通过将用户侧的所有特征用预训练的user embedding进行替换来达到收缩模型大小的目的,同时降低线上模型预测的耗时。
105.应当理解的是,在本实施例的召回层面中,进行重构代码,用estimator的方式实现youtube召回模型,废弃之前直接从模型中导出user embedding与item embedding的方式,而是根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量。
106.进一步地,为了更好地根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量,提高user embedding向量的准确性和有效性,所述步骤s02,包括:
107.将所述用户属性特征和所述用户行为特征作为模型训练特征,并确定所述模型训练特征对应的特征embedding向量;根据所述特征embedding向量和预设召回模型确定所述用户对应的user embedding向量。
108.应当理解的是,可将用户属性特征和用户行为特征作为模型训练特征,并确定模型训练特征对应的特征embedding向量,其,特征embedding向量可包括用户属性特征embedding向量和用户行为特征embedding向量。进而根据特征embedding向量和预设召回,模型确定用户对应的user embedding向量和预设召回模型确定用户对应的user embedding向量。
109.进一步地,为了提高模型训练的效率,所述根据所述特征embedding向量和预设召回模型确定所述用户对应的user embedding向量,包括:
110.对所述特征embedding向量进行拼接处理,获得第一拼接特征向量;将所述第一拼接特征向量作为召回模型输入层;根据所述召回模型输入层和预设召回模型确定召回模型输出结果,并根据所述召回模型输出结果确定所述用户对应的user embedding向量。
111.应当理解的是,在模型中,将用户的用户属性特征和用户行为特征作为模型训练特征,采取和排序模型同样的分桶方式,将特征embedding向量进行拼接处理,获得第一拼接特征向量,然后将第一拼接特征向量作为召回模型输入层,召回模型的召回模型输出结果可为两个,一个是用户的user embedding向量,另一个为与用户的user embedding向量最相似的top物品的id。其中,user embedding向量将应用于排序模型中做简化模型用,将训练完成的召回模型部署到线上推荐引擎中,并在推荐引擎中加入embedding service,以
进行线上预测。
112.步骤s03,根据所述user embedding向量生成召回数据,并将所述召回数据存储在预设数据库中。
113.可以理解的是,所述预设数据库可为redis对应的数据库,还可为其他类型的数据库,本实施例对此步骤限制,在本实施例中,以预设数据库为redis对应的数据库为例进行说明。
114.应当理解的是,在生成user embedding向量,可根据user embedding向量生成召回数据,并将召回数据存储在redis对应的数据库中,以达到将召回数据缓存在redis中的目的。
115.相应地,所述步骤s20,包括:
116.步骤s201,根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据。
117.可以理解的是,由于预设数据库中存储有多个用户对应的召回数据,在确定目标用户的用户信息后,可根据用户信息从预设数据库中查找与目标用户对应的目标召回数据。
118.进一步地,为了保证能够得到目标用户对应的目标user embedding向量,所述步骤s201之前,还包括:
119.判断所述预设数据库中是否存在与所述目标用户对应的目标召回数据;在所述预设数据库中存在与所述目标用户对应的目标召回数据时,执行所述根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据的步骤。
120.在所述预设数据库中不存在与所述目标用户对应的目标召回数据时,获取所述目标用户的目标用户属性特征和目标用户行为特征;根据所述目标用户属性特征、所述目标用户行为特征以及所述预设召回模型确定所述目标用户对应的目标user embedding向量。
121.应当理解的是,在从预设数据库中查找目标用户对应的目标召回数据之前,可先判断预设数据库中是否存在与目标用户对应的目标召回数据,在预设数据库中存在与目标用户对应的目标召回数据时,根据用户信息从预设数据库中查找与目标用户对应的目标召回数据。
122.应当理解的是,在预设数据库中不存在与目标用户对应的目标召回数据时,说明之前并没有生成目标用户对应的user embedding向量和召回数据,因此,需要实时生成目标用户对应的目标user embedding向量。可获取目标用户对应的目标用户属性特征和目标用户行为特征,进而根据目标用户属性特征、目标用户行为特征以及预设召回模型确定目标用户对应的目标user embedding向量以及目标召回数据。具体的方法步骤与前述生成user embedding向量以及召回数据的方式相同,在此不作赘述。
123.本实施例中通过获取用户的用户属性特征和用户行为特征;根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量;根据所述user embedding向量生成召回数据,并将所述召回数据存储在预设数据库中;根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据。在本实施例中,可先获取多个用户的用户属性特征和用户行为特征,进而通过预设召回模型确定用户对应的user embedding向量,根据user embedding向量生成召回数据,并将召回数据存储
在预设数据库中,在确定目标用户的用户信息后,可根据用户信息从预设数据库中查找与目标用户对应的目标召回数据,提高了召回数据的获取效率,从而降低了整体信息推荐的时间,提高了信息推荐的效率。
124.在一实施例中,如图4所示,基于第一实施例或第二实施例提出本发明信息推荐方法第三实施例,在本实施例中,基于第一实施例进行说明,所述步骤s40之前,还包括:
125.步骤s04,根据所述用户信息确定待选物品特征和上下文特征。
126.应当理解的是,可根据用户信息确定待选物品特征和上下文特征,其中,上下文指的是用户所处的上下文(context),这些上下文包括用户访问推荐系统耳朵时间、地点、心情等,对于提高推荐系统的推荐是非常重要的。因此,可将上下文特征添加到推荐算法中,从而让推荐系统能够准确预测用户在某个特定时刻及特定地点的兴趣。
127.进一步地,为了更加准确地确定待选物品特征和上下文特征,所述步骤s04,包括:
128.根据所述用户信息确定历史记录信息和当前环境信息;根据所述历史记录信息确定待选物品特征,并根据所述当前环境信息确定上下文特征。
129.应当理解的是,可根据用户信息确定历史记录信息和当前环境信息,历史记录信息可包括目标用户之前的访问信息、浏览信息等信息,当前环境信息可为目标用户当前的使用环境信息等信息,本实施例对此不作限制。
130.可以理解的是,在确定历史记录信息和当前环境信息后,可根据历史记录信息确定待选物品特征,并根据当前环境信息确定上下文特征。
131.相应地,所述步骤s40,包括:
132.步骤s401,基于所述目标user embedding向量、所述待选物品特征以及所述上下文特征通过预设排序模型确定向量排序结果。
133.应当理解的是,在确定目标user embedding向量、待选物品特征以及上下文特征后,可基于目标user embedding向量、待选物品特征以及上下文特征通过预设排序模型确定向量排序结果。
134.进一步地,为了减少排序模型的耗时,所述步骤s401,包括:
135.获取所述待选物品特征对应的物品特征embedding向量,并获取所述上下文特征对应的上下文特征embedding向量;基于所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量通过预设排序模型确定向量排序结果。
136.应当理解的是,可获取待选物品特征对应的物品特征embedding向量,并获取上下文特征对应的上下文特征embedding向量,通过预设排序模型确定向量排序结果,减少排序模型的耗时。
137.进一步地,所述基于所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量通过预设排序模型确定向量排序结果,包括:
138.对所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量进行拼接处理,获得第二拼接特征向量;将所述第二拼接特征向量作为排序模型输入层;根据所述排序模型输入层和预设排序模型确定排序模型输出结果,并根据所述排序模型输出结果确定向量排序结果。
139.应当理解的是,在排序模型中,可直接将物品特征embedding向量、上下文特征embedding向量与目标userembedding向量进行拼接,其中,在din模型中,保留需要做
ateention(注意)的行为特征,其他模型例如widedeep则直接将所有用户特征替换。排序模型的dnn层结构如图5所示,图中的item feat1、item feat2为待选物品特征,context feat1、context feat2为上下文特征,embedding为待选物品特征和上下文特征各自对应的embedding,concatenated embedding为第二拼接特征向量,将所述第二拼接特征向量作为排序模型输入层;根据所述排序模型输入层和预设排序模型确定排序模型输出结果,并根据所述排序模型输出结果确定向量排序结果。
140.可以理解的是,user embedding特征通过线上引擎服务日志,与其他特征一起写入hdfs(hadoop分布式文件系统)中供离线样本生成使用。为了更加提升线上预测的性能,在排序模型中,user embedding直接使用原始值,不进行参数更新,这样在预测时,只需要得到user embedding之后直接进行输入层拼接,缩短预测耗时。
141.本实施例通过根据所述用户信息确定待选物品特征和上下文特征;基于所述目标user embedding向量、所述待选物品特征以及所述上下文特征通过预设排序模型确定向量排序结果。在本实施例中,将召回模型中生成的user embedding直接作为用户特征传入排序模型的输入层,替换用户的属性特征和行为特征,从而达到缩减特征、简化模型的效果。
142.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有信息推荐程序,所述信息推荐程序被处理器执行时实现如上文所述的信息推荐方法的步骤。
143.由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
144.此外,参照图6,本发明实施例还提出一种信息推荐装置,所述信息推荐装置包括:
145.信息获取模块10,用于获取目标用户的用户信息。
146.应当理解的是,在对用户进行信息推荐时,可先获取目标用户的用户信息,所述用户信息可包括用户身份信息、历史记录信息以及当前环境信息等信息,还可包括其他信息,本实施例对此不作限制。
147.在具体实现中,本实施例的方案的使用场景可为:用户在访问购物网站时,可根据用户的用户信息对其进行信息推荐,给用户推送其可能感兴趣的商品。使用场景还可为:用户在打开音乐播放软件时,可根据用户的用户信息对其进行信息推荐,给用户推送其可能感兴趣的音乐。还可为其他应用场景,本实施例对此不作限制。在以上使用场景中,将需要进行信息推荐的用户称之为目标用户。
148.可以理解的是,由于用户在访问或使用各种网站或者软件时,一般都会登录账号,因此,获取目标用户的用户信息的方式可为获取访问账号的账号信息,根据账号信息确定目标用户的用户信息。除了以上获取方式外,还可为其他获取方式,本实施例对此不作限制。
149.数据查找模块20,用于根据所述用户信息查找与所述目标用户对应的目标召回数据。
150.应当理解的是,在线上预测阶段,可根据用户信息确定目标用户的用户身份,基于用户身份通过缓存的redis数据查找目标用户对应的目标召回数据,进而确定目标用户对应的目标user embedding向量,其中,embedding是将稀疏特征转化为稠密向量的一种方式。而如果在缓存的redis数据中查找不到目标用户对应的召回数据,则通过预设召回模型来得到目标用户对应的user embedding向量和召回数据,并将这些数据存储在redis中以
供下次使用。同时可在服务日志中,记录下用户的embedding特征,供模型训练使用。
151.目标确定模块30,用于根据所述目标召回数据确定所述目标用户对应的目标user embedding向量。
152.可以理解的是,对于同一用户而言,其对应的召回数据和user embedding向量也是存在对应关系的,因此,在确定目标用户对应的目标召回数据后,进而可根据目标召回数据确定目标用户对应的目标user embedding向量。
153.在具体实现中,例如,可能存在用户a和用户b,用户a对应召回数据a和user embedding向量a,召回数据a与user embedding向量a也是存在对应关系的,用户b对应召回数据b和user embedding向量b,召回数据b与user embedding向量b也是存在对应关系的,如果确定目标用户为用户a,那么就可查找到期对应的召回数据a,进而可确定目标用户对应的user embedding向量a,以上例子只是其中一种查找方式,用以进行解释说明,还可为其他查找方式,本实施例对此不作限制。
154.向量排序模块40,用于基于所述目标user embedding向量通过预设排序模型确定向量排序结果。
155.应当理解的是,现有的排序模型中,需要将每个特征进行哈希分桶,由于用户端特征的类别很多,例如搜索数据特征、类别偏好特征等,导致分桶大小需要百万量级。在模型训练中,模型会将每个特征对应的embedding保存起来,导致模型的体积十分巨大,为上线部署带来很大的挑战,同时在模型线上预测时,模型耗时与特征数量成正比,如果输入特征过多,也会导致模型查找特征embedding的时间增加。
156.在本实施例中,将查找到的目标user embedding向量直接作为用户特征传入模型的输入层,替换用户的属性特征和行为特征,简化了排序模型中所存储的特征的embedding数据,从而达到缩减特征、简化模型的效果。在排序模型这能够,可直接将物品特征、上下文特征的embedding向量与user embedding进行拼接,进而通过预设排序模型确定向量排序结果。其中,预设排序模型可为din模型、wide&deep模型、deepfm模型、esmm模型等,本实施例对此不作限制。
157.信息推荐模块50,用于根据所述向量排序结果对所述目标用户进行信息推荐。
158.应当理解的是,在根据目标user embedding向量和预设排序模型确定向量排序结果后,可根据向量排序结果确定目标用户最可能感兴趣的物品信息,然后对目标用户进行信息推荐,对其推荐最可能感兴趣的物品信息。
159.可以理解的是,排序模型可对由召回模型生成的user embedding进行打分排序,选出最优的少量结果,提高对用户进行信息推荐的个性化程度和准确性,从而可提供更准确,更人性化的推荐,优化用户体验。
160.本实施例中通过根据用户信息查找与目标用户对应的目标召回数据,进而确定目标user embedding向量,然后根据预设排序模型和目标user embedding向量确定向量排序结果以对用户进行信息推荐,通过目标user embedding向量替换掉多种用户特征来进行信息推荐,减少了需要使用的用户特征的数量,从而提高了信息推荐的效率。
161.在一实施例中,所述向量排序模块40,还用于根据所述用户信息确定历史记录信息和当前环境信息;根据所述历史记录信息确定待选物品特征,并根据所述当前环境信息确定上下文特征。
162.在一实施例中,所述向量排序模块40,还用于获取所述待选物品特征对应的物品特征embedding向量,并获取所述上下文特征对应的上下文特征embedding向量;基于所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量通过预设排序模型确定向量排序结果。
163.在一实施例中,所述向量排序模块40,还用于对所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量进行拼接处理,获得第二拼接特征向量;基于所述第二拼接特征向量通过预设排序模型确定向量排序结果。
164.在一实施例中,所述向量排序模块40,还用于将所述第二拼接特征向量作为排序模型输入层;根据所述排序模型输入层和预设排序模型确定排序模型输出结果,并根据所述排序模型输出结果确定向量排序结果。
165.在本发明所述信息推荐装置的其他实施例或具体实现方法可参照上述各方法实施例,此处不再赘述。
166.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
167.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
168.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该估算机软件产品存储在如上所述的一个估算机可读存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台智能设备(可以是手机,估算机,信息推荐设备,空调器,或者网络信息推荐设备等)执行本发明各个实施例所述的方法。
169.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
170.本发明公开了a1、一种信息推荐方法,所述信息推荐方法包括以下步骤:
171.获取目标用户的用户信息;
172.根据所述用户信息查找与所述目标用户对应的目标召回数据;
173.根据所述目标召回数据确定所述目标用户对应的目标user embedding向量;
174.基于所述目标user embedding向量通过预设排序模型确定向量排序结果;
175.根据所述向量排序结果对所述目标用户进行信息推荐。
176.a2、如a1所述的信息推荐方法,所述获取目标用户的用户信息之前,还包括:
177.获取用户的用户属性特征和用户行为特征;
178.根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量;
179.根据所述user embedding向量生成召回数据,并将所述召回数据存储在预设数据
库中;
180.相应地,所述根据所述用户信息查找与所述目标用户对应的目标召回数据,包括:
181.根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据。
182.a3、如a2所述的信息推荐方法,所述根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量,包括:
183.将所述用户属性特征和所述用户行为特征作为模型训练特征,并确定所述模型训练特征对应的特征embedding向量;
184.根据所述特征embedding向量和预设召回模型确定所述用户对应的user embedding向量。
185.a4、如a3所述的信息推荐方法,所述根据所述特征embedding向量和预设召回模型确定所述用户对应的user embedding向量,包括:
186.对所述特征embedding向量进行拼接处理,获得第一拼接特征向量;
187.基于所述第一拼接特征向量通过预设召回模型确定所述用户对应的user embedding向量。
188.a5、如a4所述的信息推荐方法,所述基于所述拼接特征向量通过预设召回模型确定所述用户对应的user embedding向量,包括:
189.将所述第一拼接特征向量作为召回模型输入层;
190.根据所述召回模型输入层和预设召回模型确定召回模型输出结果,并根据所述召回模型输出结果确定所述用户对应的user embedding向量。
191.a6、如a2所述的信息推荐方法,所述根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据之前,还包括:
192.判断所述预设数据库中是否存在与所述目标用户对应的目标召回数据;
193.在所述预设数据库中存在与所述目标用户对应的目标召回数据时,执行所述根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据的步骤。
194.a7、如a6所述的信息推荐方法,所述判断所述预设数据库中是否存在与所述目标用户对应的目标召回数据之后,还包括:
195.在所述预设数据库中不存在与所述目标用户对应的目标召回数据时,获取所述目标用户的目标用户属性特征和目标用户行为特征;
196.根据所述目标用户属性特征、所述目标用户行为特征以及所述预设召回模型确定所述目标用户对应的目标user embedding向量。
197.a8、如a1~a7中任一项所述的信息推荐方法,所述基于所述目标user embedding向量通过预设排序模型确定向量排序结果之前,还包括:
198.根据所述用户信息确定待选物品特征和上下文特征;
199.相应地,所述基于所述目标user embedding向量通过预设排序模型确定向量排序结果,包括:
200.基于所述目标user embedding向量、所述待选物品特征以及所述上下文特征通过预设排序模型确定向量排序结果。
201.a9、如a8所述的信息推荐方法,所述根据所述用户信息确定待选物品特征和上下
文特征,包括:
202.根据所述用户信息确定历史记录信息和当前环境信息;
203.根据所述历史记录信息确定待选物品特征,并根据所述当前环境信息确定上下文特征。
204.a10、如a8所述的信息推荐方法,所述基于所述目标user embedding向量、所述待选物品特征以及所述上下文特征通过预设排序模型确定向量排序结果,包括:
205.获取所述待选物品特征对应的物品特征embedding向量,并获取所述上下文特征对应的上下文特征embedding向量;
206.基于所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量通过预设排序模型确定向量排序结果。
207.a11、如a10所述的信息推荐方法,所述基于所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量通过预设排序模型确定向量排序结果,包括:
208.对所述物品特征embedding向量、所述上下文特征embedding向量以及所述目标user embedding向量进行拼接处理,获得第二拼接特征向量;
209.基于所述第二拼接特征向量通过预设排序模型确定向量排序结果。
210.a12、如a11所述的信息推荐方法,所述基于所述第二拼接特征向量通过预设排序模型确定向量排序结果,包括:
211.将所述第二拼接特征向量作为排序模型输入层;
212.根据所述排序模型输入层和预设排序模型确定排序模型输出结果,并根据所述排序模型输出结果确定向量排序结果。
213.本发明还公开了b13、一种信息推荐装置,所述信息推荐装置包括:
214.信息获取模块,用于获取目标用户的用户信息;
215.数据查找模块,用于根据所述用户信息查找与所述目标用户对应的目标召回数据;
216.目标确定模块,用于根据所述目标召回数据确定所述目标用户对应的目标user embedding向量;
217.向量排序模块,用于基于所述目标user embedding向量通过预设排序模型确定向量排序结果;
218.信息推荐模块,用于根据所述向量排序结果对所述目标用户进行信息推荐。
219.b14、如b13所述的信息推荐装置,所述信息获取模块,还用于获取用户的用户属性特征和用户行为特征;
220.数据生成模块,用于根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量;根据所述user embedding向量生成召回数据,并将所述召回数据存储在预设数据库中;
221.所述数据查找模块,还用于根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据。
222.b15、如b14所述的信息推荐装置,所述数据生成模块,还用于将所述用户属性特征和所述用户行为特征作为模型训练特征,并确定所述模型训练特征对应的特征embedding
向量;根据所述特征embedding向量和预设召回模型确定所述用户对应的user embedding向量。
223.b16、如b15所述的信息推荐装置,所述数据生成模块,还用于对所述特征embedding向量进行拼接处理,获得第一拼接特征向量;基于所述第一拼接特征向量通过预设召回模型确定所述用户对应的user embedding向量。
224.b17、如b16所述的信息推荐装置,所述数据生成模块,还用于将所述第一拼接特征向量作为召回模型输入层;根据所述召回模型输入层和预设召回模型确定召回模型输出结果,并根据所述召回模型输出结果确定所述用户对应的user embedding向量。
225.b18、如b17所述的信息推荐装置,所述向量排序模块,还用于根据所述用户信息确定待选物品特征和上下文特征;基于所述目标user embedding向量、所述待选物品特征以及所述上下文特征通过预设排序模型确定向量排序结果。
226.本发明还公开了c19、一种信息推荐设备,所述信息推荐设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的信息推荐程序,所述信息推荐程序配置有实现如上所述的信息推荐方法的步骤。
227.本发明还公开了d20、一种存储介质,所述存储介质上存储有信息推荐程序,所述信息推荐程序被处理器执行时实现如上所述的信息推荐方法的步骤。
技术特征:
1.一种信息推荐方法,其特征在于,所述信息推荐方法包括以下步骤:获取目标用户的用户信息;根据所述用户信息查找与所述目标用户对应的目标召回数据;根据所述目标召回数据确定所述目标用户对应的目标user embedding向量;基于所述目标user embedding向量通过预设排序模型确定向量排序结果;根据所述向量排序结果对所述目标用户进行信息推荐。2.如权利要求1所述的信息推荐方法,其特征在于,所述获取目标用户的用户信息之前,还包括:获取用户的用户属性特征和用户行为特征;根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量;根据所述user embedding向量生成召回数据,并将所述召回数据存储在预设数据库中;相应地,所述根据所述用户信息查找与所述目标用户对应的目标召回数据,包括:根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据。3.如权利要求2所述的信息推荐方法,其特征在于,所述根据所述用户属性特征、所述用户行为特征以及预设召回模型确定所述用户对应的user embedding向量,包括:将所述用户属性特征和所述用户行为特征作为模型训练特征,并确定所述模型训练特征对应的特征embedding向量;根据所述特征embedding向量和预设召回模型确定所述用户对应的user embedding向量。4.如权利要求3所述的信息推荐方法,其特征在于,所述根据所述特征embedding向量和预设召回模型确定所述用户对应的user embedding向量,包括:对所述特征embedding向量进行拼接处理,获得第一拼接特征向量;基于所述第一拼接特征向量通过预设召回模型确定所述用户对应的user embedding向量。5.如权利要求4所述的信息推荐方法,其特征在于,所述基于所述拼接特征向量通过预设召回模型确定所述用户对应的user embedding向量,包括:将所述第一拼接特征向量作为召回模型输入层;根据所述召回模型输入层和预设召回模型确定召回模型输出结果,并根据所述召回模型输出结果确定所述用户对应的user embedding向量。6.如权利要求2所述的信息推荐方法,其特征在于,所述根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据之前,还包括:判断所述预设数据库中是否存在与所述目标用户对应的目标召回数据;在所述预设数据库中存在与所述目标用户对应的目标召回数据时,执行所述根据所述用户信息从所述预设数据库中查找与所述目标用户对应的目标召回数据的步骤。7.如权利要求6所述的信息推荐方法,其特征在于,所述判断所述预设数据库中是否存在与所述目标用户对应的目标召回数据之后,还包括:在所述预设数据库中不存在与所述目标用户对应的目标召回数据时,获取所述目标用
户的目标用户属性特征和目标用户行为特征;根据所述目标用户属性特征、所述目标用户行为特征以及所述预设召回模型确定所述目标用户对应的目标user embedding向量。8.一种信息推荐装置,其特征在于,所述信息推荐装置包括:信息获取模块,用于获取目标用户的用户信息;数据查找模块,用于根据所述用户信息查找与所述目标用户对应的目标召回数据;目标确定模块,用于根据所述目标召回数据确定所述目标用户对应的目标user embedding向量;向量排序模块,用于基于所述目标user embedding向量通过预设排序模型确定向量排序结果;信息推荐模块,用于根据所述向量排序结果对所述目标用户进行信息推荐。9.一种信息推荐设备,其特征在于,所述信息推荐设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的信息推荐程序,所述信息推荐程序配置有实现如权利要求1至7中任一项所述的信息推荐方法的步骤。10.一种存储介质,其特征在于,所述存储介质上存储有信息推荐程序,所述信息推荐程序被处理器执行时实现如权利要求1至7中任一项所述的信息推荐方法的步骤。
技术总结
本发明属于计算机技术领域,公开了一种信息推荐方法、装置、设备及存储介质,本发明根据用户信息查找与目标用户对应的目标召回数据,进而确定目标user embedding向量,然后根据预设排序模型和目标user embedding向量确定向量排序结果以对用户进行信息推荐,通过目标user embedding向量替换掉多种用户特征来进行信息推荐,减少了需要使用的用户特征的数量,从而提高了信息推荐的效率。从而提高了信息推荐的效率。从而提高了信息推荐的效率。
技术研发人员:张雪松
受保护的技术使用者:北京鸿享技术服务有限公司
技术研发日:2020.09.08
技术公布日:2022/3/7