CN114741585A - 一种数据推荐方法、装置、计算机及可读存储介质 - Google Patents
一种数据推荐方法、装置、计算机及可读存储介质 Download PDFInfo
- Publication number
- CN114741585A CN114741585A CN202110020585.3A CN202110020585A CN114741585A CN 114741585 A CN114741585 A CN 114741585A CN 202110020585 A CN202110020585 A CN 202110020585A CN 114741585 A CN114741585 A CN 114741585A
- Authority
- CN
- China
- Prior art keywords
- user
- target
- state
- sample
- training
- 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.)
- Pending
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据推荐方法、装置、计算机及可读存储介质,涉及人工智能领域,该方法包括:获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态;若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象。采用本申请,可以提高对数据推荐的效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据推荐方法、装置、计算机及可读存储介质。
背景技术
随着互联网行业的日益发展,应用程序的种类和数量越来越多,使用应用程序的用户的数量也越来越多,为了更好地为用户服务,应用程序一般会为用户提供定制化服务,即向用户推荐定制化对象。其中,现在的对象推荐一般是通过召回服务对候选对象进行过滤,同时请求用户特征服务、对象特征服务及模型服务等对过滤后的候选对象进行打分,以确定需要为登录的用户推荐的对象,过程较为复杂,给在线层带来较高的计算和存储成本,降低了数据推荐的效率。同时基于召回服务对候选对象进行过滤,为在线层降低服务压力,但是对候选对象进行过滤会过滤掉大量的数据,而且召回服务一般是基于用户的特征对候选对象进行召回,因此,可能会导致将用户真正喜欢的对象过滤掉,降低了模型的精度。
发明内容
本申请实施例提供了一种数据推荐方法、装置、计算机及可读存储介质,可以提高对数据推荐的效率。
本申请实施例一方面提供了一种数据推荐方法,该方法包括:
获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态;
若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;
对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象;目标推荐对象用于在检测到目标用户在目标时间段内的实际登录状态为在线状态时,作为目标用户的推荐内容。
其中,获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态,包括:
获取目标用户的历史登录状态信息,获取至少两个默认分布状态;
根据历史登录状态信息及至少两个默认分布状态,得到状态转移矩阵;
根据状态转移矩阵预测目标用户在目标时间段内的预测登录状态。
其中,根据历史登录状态信息及至少两个默认分布状态,得到状态转移矩阵,包括:
根据历史登录状态信息确定状态变化序列,将至少两个默认分布状态分别作为状态节点,基于状态变化序列确定至少两个状态节点之间的边,生成状态链;
基于状态链确定状态转移矩阵。
其中,基于状态链确定状态转移矩阵,包括:
基于状态链中的至少两个状态节点确定矩阵维度特征,根据状态链中的至少两个状态节点之间的边确定矩阵参数,将矩阵维度特征及矩阵参数组成初始状态转移矩阵;
对初始状态转移矩阵进行转移处理,得到状态转移矩阵。
其中,对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,包括:
对至少两个候选对象中的第i个候选对象的对象特征与目标用户特征进行特征拼接,得到第i个拼接特征;i为正整数,i小于或等于至少两个候选对象的候选数量;
基于数据推荐模型对第i个拼接特征进行关联预测,得到第i个候选对象与目标用户的预测关联度,直至得到至少两个候选对象分别与目标用户的预测关联度。
其中,基于数据推荐模型对第i个拼接特征进行关联预测,得到第i个候选对象与目标用户的预测关联度,包括:
基于数据推荐模型对第i个拼接特征中的至少两个子特征进行向量转换,得到至少两个子特征分别对应的转换向量;
对第i个拼接特征中的至少两个子特征进行特征融合,得到第i个第一融合特征,对至少两个子特征分别对应的转换向量进行特征内积处理,得到第i个第二融合特征,对至少两个子特征分别对应的转换向量进行激活处理,得到第i个第三融合特征;
对第i个第一融合特征、第i个第二融合特征及第i个第三融合特征进行关联预测,得到第i个候选对象与目标用户的预测关联度。
其中,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象,包括:
获取推荐数量阈值,基于预测关联度,对至少两个候选对象进行关联排序,从关联排序后的至少两个候选对象中获取N个候选对象,作为目标用户的目标推荐对象;N为正整数,N大于或等于推荐数量阈值。
其中,目标用户与目标推荐对象存储于离线层;该方法还包括:
基于离线层将目标用户及目标用户的目标推荐对象发送至在线层,在在线层的用户推荐库中对目标用户与目标推荐对象进行关联存储;
在在线层中,响应针对目标用户的登录操作,基于关联存储关系从用户推荐库中获取与目标用户相关联的目标推荐对象,输出目标推荐对象。
其中,该方法还包括:
在在线层中,响应针对待处理用户的登录操作,基于关联存储关系从用户推荐库中查找与待处理用户相关联的待输出推荐对象;
若用户推荐库中不存在与待处理用户相关联的待输出推荐对象,则获取默认推荐对象,针对待处理用户输出默认推荐对象。
其中,该方法还包括:
获取至少两个训练用户样本,从用户特征库中获取分别与至少两个训练用户样本相关联的样本用户特征;
获取每个训练用户样本所关联的样本对象特征,基于至少两个训练用户样本分别对应的样本用户特征及样本对象特征进行模型训练,生成数据推荐模型。
其中,获取至少两个训练用户样本,包括:
在训练周期内,获取与应用程序相关联的至少两个候选用户;应用程序用于输出目标用户的目标推荐对象;
获取至少两个候选用户在训练周期中对应的候选登录状态,将候选登录状态包括在线状态的候选用户确定为训练用户样本;
获取每个训练用户样本所关联的样本对象特征,包括:
统计训练用户样本在在线状态下产生的历史关联对象,将历史关联对象的历史对象特征确定为训练用户样本所关联的样本对象特征。
其中,用户特征库包括至少两个统计用户及每个统计用户的用户特征;至少两个统计用户包括统计用户j;j为正整数,j小于或等于至少两个统计用户的用户数量;
从用户特征库中获取分别与至少两个训练用户样本相关联的样本用户特征,包括:
获取至少两个训练用户样本分别对应的训练样本哈希值,根据至少两个训练用户样本分别对应的训练样本哈希值生成样本匹配位数组;
生成统计用户j的用户哈希值,根据统计用户j的用户哈希值从样本匹配位数组中,获取统计用户j的用户状态值;
若统计用户j的用户状态值存在至少一个缺失状态值,则确定统计用户j与至少两个训练用户样本不关联,若统计用户j的用户状态值均为有效状态值,则确定统计用户j与至少两个训练用户样本相关联;
将用户特征库中与至少两个训练用户样本相关联的统计用户所对应的用户特征,确定为与至少两个训练用户样本相关联的样本用户特征。
其中,至少两个训练用户样本包括训练用户样本k;k为正整数,k小于或等于至少两个训练用户样本的样本数量;
基于至少两个训练用户样本分别对应的样本用户特征及样本对象特征进行模型训练,生成数据推荐模型,包括:
基于初始数据推荐模型对训练用户样本k的样本用户特征及样本对象特征进行预测,得到训练用户样本k与训练用户样本k的样本对象特征之间的样本预测关联度;
基于样本预测关联度及模型损失函数对初始数据推荐模型进行训练,生成数据推荐模型。
本申请实施例一方面提供了一种数据推荐装置,该装置包括:
状态预测模块,用于获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态;
特征获取模块,用于若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;
推荐预测模块,用于对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象;目标推荐对象用于在检测到目标用户在目标时间段内的实际登录状态为在线状态时,作为目标用户的推荐内容。
其中,该状态预测模块,包括:
分布获取单元,用于获取目标用户的历史登录状态信息,获取至少两个默认分布状态;
矩阵获取单元,用于根据历史登录状态信息及至少两个默认分布状态,得到状态转移矩阵;
状态预测单元,用于根据状态转移矩阵预测目标用户在目标时间段内的预测登录状态。
其中,该矩阵获取单元,包括:
图谱生成子单元,用于根据历史登录状态信息确定状态变化序列,将至少两个默认分布状态分别作为状态节点,基于状态变化序列确定至少两个状态节点之间的边,生成状态链;
矩阵确定子单元,用于基于状态链确定状态转移矩阵。
其中,矩阵确定子单元,具体用于:
基于状态链中的至少两个状态节点确定矩阵维度特征,根据状态链中的至少两个状态节点之间的边确定矩阵参数,将矩阵维度特征及矩阵参数组成初始状态转移矩阵;
对初始状态转移矩阵进行转移处理,得到状态转移矩阵。
其中,在对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度方面,该推荐预测模块,包括:
特征拼接单元,用于对至少两个候选对象中的第i个候选对象的对象特征与目标用户特征进行特征拼接,得到第i个拼接特征;i为正整数,i小于或等于至少两个候选对象的候选数量;
关联预测单元,用于基于数据推荐模型对第i个拼接特征进行关联预测,得到第i个候选对象与目标用户的预测关联度,直至得到至少两个候选对象分别与目标用户的预测关联度。
其中,该关联预测单元,包括:
向量转换子单元,用于基于数据推荐模型对第i个拼接特征中的至少两个子特征进行向量转换,得到至少两个子特征分别对应的转换向量;
特征融合子单元,用于对第i个拼接特征中的至少两个子特征进行特征融合,得到第i个第一融合特征,对至少两个子特征分别对应的转换向量进行特征内积处理,得到第i个第二融合特征,对至少两个子特征分别对应的转换向量进行激活处理,得到第i个第三融合特征;
特征预测子单元,用于对第i个第一融合特征、第i个第二融合特征及第i个第三融合特征进行关联预测,得到第i个候选对象与目标用户的预测关联度。
其中,在基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象方面,该推荐预测模块具体用于:
获取推荐数量阈值,基于预测关联度,对至少两个候选对象进行关联排序,从关联排序后的至少两个候选对象中获取N个候选对象,作为目标用户的目标推荐对象;N为正整数,N大于或等于推荐数量阈值。
其中,目标用户与目标推荐对象存储于离线层;该装置还包括:
推荐存储模块,用于基于离线层将目标用户及目标用户的目标推荐对象发送至在线层,在在线层的用户推荐库中对目标用户与目标推荐对象进行关联存储;
推荐输出模块,用于在在线层中,响应针对目标用户的登录操作,基于关联存储关系从用户推荐库中获取与目标用户相关联的目标推荐对象,输出目标推荐对象。
其中,该装置还包括:
对象查找模块,用于在在线层中,响应针对待处理用户的登录操作,基于关联存储关系从用户推荐库中查找与待处理用户相关联的待输出推荐对象;
默认输出模块,用于若用户推荐库中不存在与待处理用户相关联的待输出推荐对象,则获取默认推荐对象,针对待处理用户输出默认推荐对象。
其中,该装置还包括:
样本获取模块,用于获取至少两个训练用户样本,从用户特征库中获取分别与至少两个训练用户样本相关联的样本用户特征;
模型训练模块,用于获取每个训练用户样本所关联的样本对象特征,基于至少两个训练用户样本分别对应的样本用户特征及样本对象特征进行模型训练,生成数据推荐模型。
其中,在获取至少两个训练用户样本方面,该样本获取模块包括:
候选获取单元,用于在训练周期内,获取与应用程序相关联的至少两个候选用户;应用程序用于输出目标用户的目标推荐对象;
样本选取单元,用于获取至少两个候选用户在训练周期中对应的候选登录状态,将候选登录状态包括在线状态的候选用户确定为训练用户样本;
在获取每个训练用户样本所关联的样本对象特征方面,该模型训练模块包括:
对象获取单元,用于统计训练用户样本在在线状态下产生的历史关联对象,将历史关联对象的历史对象特征确定为训练用户样本所关联的样本对象特征。
其中,用户特征库包括至少两个统计用户及每个统计用户的用户特征;至少两个统计用户包括统计用户j;j为正整数,j小于或等于至少两个统计用户的用户数量;
在从用户特征库中获取分别与至少两个训练用户样本相关联的样本用户特征方面,该样本获取模块包括:
数组生成单元,用于获取至少两个训练用户样本分别对应的训练样本哈希值,根据至少两个训练用户样本分别对应的训练样本哈希值生成样本匹配位数组;
哈希匹配单元,用于生成统计用户j的用户哈希值,根据统计用户j的用户哈希值从样本匹配位数组中,获取统计用户j的用户状态值;
关联确定单元,用于若统计用户j的用户状态值存在至少一个缺失状态值,则确定统计用户j与至少两个训练用户样本不关联,若统计用户j的用户状态值均为有效状态值,则确定统计用户j与至少两个训练用户样本相关联;
特征确定单元,用于将用户特征库中与至少两个训练用户样本相关联的统计用户所对应的用户特征,确定为与至少两个训练用户样本相关联的样本用户特征。
其中,至少两个训练用户样本包括训练用户样本k;k为正整数,k小于或等于至少两个训练用户样本的样本数量;
在基于至少两个训练用户样本分别对应的样本用户特征及样本对象特征进行模型训练,生成数据推荐模型方面,该模型训练模块包括:
样本预测单元,用于基于初始数据推荐模型对训练用户样本k的样本用户特征及样本对象特征进行预测,得到训练用户样本k与训练用户样本k的样本对象特征之间的样本预测关联度;
模型训练单元,用于基于样本预测关联度及模型损失函数对初始数据推荐模型进行训练,生成数据推荐模型。
本申请实施例一方面提供了一种计算机设备,包括处理器、存储器、输入输出接口;
处理器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储计算机程序,处理器用于调用该计算机程序,以使包含该处理器的计算机设备执行本申请实施例一方面中的数据推荐方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例一方面中的数据推荐方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例一方面中的各种可选方式中提供的方法。
实施本申请实施例,将具有如下有益效果:
在本申请实施例中,计算机设备可以获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态;若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象;目标推荐对象用于在检测到目标用户在目标时间段内的实际登录状态为在线状态时,作为目标用户的推荐内容。通过对目标用户的登录状态进行预测,得到该目标用户的预测登录状态,在该预测登录状态属于在线状态时,可以对目标用户的目标推荐对象进行确定,使得可以提前对目标推荐对象进行确定,使得目标用户登录时,可以直接获取提前预测好的目标推荐对象,从而提高了数据推荐的效率,进一步地,本申请是对至少两个候选对象分别与目标用户进行关联度预测,实现了全对象预测打分(即预测关联度),提高了数据推荐的精确度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据推荐的网络交互架构图;
图2是本申请实施例提供的一种数据推荐的场景示意图;
图3是本申请实施例提供的一种数据推荐的方法流程图;
图4是本申请实施例提供的一种转移矩阵生成场景示意图;
图5是本申请实施例提供了一种数据推荐模型的网络示意图;
图6是本申请实施例提供的一种数据推荐模型的训练流程示意图;
图7是本申请实施例提供的一种样本匹配位数组的生成及过滤场景示意图;
图8是本申请实施例提供的一种数据推荐架构示意图;
图9是本申请实施例提供的另一种数据推荐架构示意图;
图10是本申请实施例提供的一种数据推荐装置示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
其中,在本申请实施例中,计算机设备可以批量对用户进行状态预测,得到至少两个用户分别对应的预测登录状态,再基于各个用户分别对应的预测登录状态确定各个用户对应的推荐对象,也就是说,在本申请实施例中,可能存在大量需要进行推荐预测的用户,也可能存在大量的候选对象,用于对用户的推荐对象进行确定,即,本申请中可能产生大量的数据,对大量的数据进行存储及处理等,因此,可以采用大数据技术,实现对各个用户的预测登录状态的预测,基于预测登录状态从至少两个候选对象中,确定各个用户的推荐对象,从而提高对数据推荐的效率。其中,本申请中所提及的至少两个均是指两个或两个以上,例如,至少两个用户指两个或两个以上的用户,至少两个候选对象是指两个或两个以上候选对象等。
其中,大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
进一步地,计算机设备可以采用人工智能领域的机器学习等技术,对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,以得到至少两个候选对象分别与目标用户的预测关联度,进而根据预测关联度确定该目标用户的目标推荐对象。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,以对多媒体数据在各个数据通道上的特征及在各个像素点上的特征进行处理,并使得处理结果可以尽可能的类似人类智能对多媒体数据的质量评估结果。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
其中,本申请中主要涉及的是机器学习/深度学习(如数据推荐模型等)等方向。可以通过学习得到数据推荐模型,对至少两个候选对象分别与目标用户之间的预测关联度进行预测。
而深度学习(Deep Learning,DL)是机器学习(Machine Learning,ML)领域中一个新的研究方向。深度学习是学习样本数据的内在规律和表示层次,深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在本申请实施例中,请参见图1,图1是本申请实施例提供的一种数据推荐的网络交互架构图。如图1所示,计算机设备101与用户设备(如用户设备102a、用户设备102b及用户设备102c等)之间可以进行数据交互,计算机设备可以对目标用户进行预测,从至少两个候选对象中确定该目标用户的目标推荐对象,当该目标用户登录时,计算机设备101可以将该目标推荐对象发送至目标用户所在的目标用户终端。举例来说,计算机设备101获取至少两个用户,对至少两个用户依次作为目标用户,以对至少两个用户进行遍历,确定每个用户的预测登录状态,基于预测登录状态确定每个用户的推荐对象。具体的,假定该至少两个用户包括M个用户,M为正整数,将第一个用户作为目标用户,预测第一个用户的预测登录状态,若第一个用户的预测登录状态属于在线状态,则预测至少两个候选对象分别与该第一个用户之间的预测关联度,基于预测关联度确定该第一个用户的目标推荐对象;将第二个用户作为目标用户,预测该第二个用户的预测登录状态,若第二个用户的预测登录状态属于在线状态,则预测至少两个候选对象分别与第二个用户之间的预测关联度,基于预测关联度确定该第二个用户的目标推荐对象;…;将第M个用户作为目标用户,预测第M个用户的预测登录状态,若第M个用户的预测登录状态属于在线状态,则预测至少两个候选对象分别与第M个用户之间的预测关联度,基于预测关联度确定第M个用户的目标推荐对象。可选的,可以将至少两个用户中预测登录状态属于在线状态的用户及其目标推荐对象进行存储,记作对象推荐列表,进一步地,假定计算机设备101监测到第二个用户登录,响应针对第二个用户的登录操作,从对象推荐列表中获取第二个用户的目标推荐对象,假定第二个用户所在的用户设备为用户设备102b,则计算机设备101将第二个用户的目标推荐对象推送至用户设备102b中,以使用户设备102b可以输出该第二个用户的目标推荐对象。通过以上过程,可以对各个用户在目标时间段内的预测登录状态进行预测,并确定预测登录状态属于在线状态的用户的目标推荐对象,使得在用户登录时,可以直接根据提前预测到的目标推荐对象进行数据推荐,从而提高了数据推荐的效率,而且在确定目标推荐对象时,是基于至少两个对象进行确定的,使得对推荐对象的预测更为全面,从而提高对数据推荐的准确性。
具体的,请参见图2,图2是本申请实施例提供的一种数据推荐的场景示意图。如图2所示,计算机设备可以获取与应用程序关联的用户集群201,该用户集群201包括目标用户2011、目标用户2012及目标用户2013等。计算机设备获取目标用户2011的历史登录状态信息,根据该历史登录状态信息预测该目标用户2011在目标时间段内的预测登录状态,假定该目标用户2011的预测登录状态属于在线状态,则获取该目标用户2011的目标用户特征,获取与该应用程序相关联的至少两个候选对象,该至少两个候选对象包括与该应用程序相关联的所有的候选对象。计算机设备可以获取每个候选对象分别对应的对象特征202,包括候选对象1的对象特征1、候选对象2的对象特征2及候选对象p的对象特征p等,p为正整数,p为至少两个候选对象所包括的候选对象的数量。计算机设备将每个候选对象分别对应的对象特征202与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户2011的预测关联度203,基于预测关联度203,从至少两个候选对象中确定目标用户2011的目标推荐对象,其中,目标用户2011的目标推荐对象的数量为至少一个(即一个或至少两个)。具体的,计算机设备将对象特征1与目标用户特征进行关联预测,得到候选对象1与目标用户2011之间的预测关联度1;将对象特征2与目标用户特征进行关联预测,得到候选对象2与目标用户2011之间的预测关联度2;…;将对象特征p与目标用户特征进行关联预测,得到候选对象p与目标用户2011之间的预测关联度p。计算机设备根据预测关联度1、预测关联度2、…及预测关联度p,从至少两个候选对象中确定目标用户2011的目标推荐对象。
计算机设备获取目标用户2013的历史登录状态信息,根据该历史登录状态信息预测该目标用户2013在目标时间段内的预测登录状态,假定该目标用户2013的预测登录状态属于离线状态,表示该目标用户2013在目标事件段内大概率不会登录应用程序,则不对该目标用户2013的目标推荐对象进行预测,或者,获取默认推荐对象,将默认推荐对象作为目标用户2013的目标推荐对象。其中,若不对目标用户2013的目标推荐对象进行预测,则计算机设备可以在目标用户2013于目标时间段登录时,直接获取默认推荐对象,将该默认推荐对象推送至目标用户2013所在的用户终端,由于预测登录状态属于离线状态的用户可能不唯一,因此可以减少对目标推荐对象进行预测所耗费的时间和资源,也只需存储一次默认推荐对象,节省了存储空间;若预先将默认推荐对象作为目标用户2013的目标推荐对象,则可以在目标用户2013于目标时间段登录时,直接查找目标用户2013的目标推荐对象,而无需在找不到目标用户2013的目标推荐对象时,再去获取默认推荐对象,从而减少目标用户2013登录所耗费的时间;以上两种处理方式,均可在本申请中实现,在实际应用中,可以根据需要选择对目标用户2013的目标推荐对象的确定方式,在此不做限制。同理,针对用户集群201中预测登录状态属于离线状态的目标用户,计算机设备均可以目标用户2013的目标推荐对象的确定过程为例,确定预测登录状态属于离线状态的目标用户的目标推荐对象。
同理,基于目标用户2011的目标推荐对象及目标用户2013的目标推荐对象的确定过程,可以确定用户集群201中所包括的所有目标用户的目标推荐对象,在此不再进行赘述。
可以理解的是,本申请实施例中所提及的计算机设备及用户设备包括但不限于终端设备或服务器。换句话说,计算机设备可以是服务器或终端设备,也可以是服务器和终端设备组成的系统;用户设备可以是服务器或终端设备,也可以是服务器和终端设备组成的系统。其中,以上所提及的终端设备可以是一种电子设备,包括但不限于手机、平板电脑、台式电脑、笔记本电脑、掌上电脑、车载设备、增强现实/虚拟现实(Augmented Reality/Virtual Reality,AR/VR)设备、头盔显示器、智能电视、可穿戴设备、智能音箱、数码相机、摄像头及其他具备网络接入能力的移动互联网设备(mobile internet device,MID)等。其中,以上所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、车路协同、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
可选的,本申请实施例中所涉及的数据可以存储在计算机设备中,也可以基于云存储技术对该数据进行存储,在此不做限制。其中,云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。换句话说,本申请实施例中所涉及的数据可以基于分布式云存储系统进行存储。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个存储对象,存储对象不仅包含数据而且还包含数据标识(ID,IDentity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个存储对象的存储位置信息,从而当计算机设备请求访问数据时,文件系统能够根据每个系统对象的存储位置信息让计算机设备对数据进行访问。例如,计算机设备请求访问用户特征库时,文件系统可以根据用户特征库的存储位置信息让计算机设备对用户特征库进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。通过云存储技术可以降低计算机设备本身的存储压力,而计算机设备在实现本申请实施例时,所实现的是对目标用户进行数据推荐的预处理过程,因此,计算机设备基于云存储技术获取数据时所可能带来的时间损耗对目标用户实际登录过程并无影响,并不会影响应用程序的使用。其中,计算机设备也可以存储于计算机设备的离线层中,由于离线层具有较大的存储空间,因此,计算机设备也可以直接存储于该离线层中,减少数据交互带来的时间损耗,提高对数据推荐进行预处理的效率。故而,在本申请中所涉及的数据可以存储在计算机设备中,也可以基于云存储技术对该数据进行存储,具体的存储方式可以基于需要进行确定。
进一步地,请参见图3,图3是本申请实施例提供的一种数据推荐的方法流程图。如图3所示,该数据推荐过程包括如下步骤:
步骤S301,获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态。
在本申请实施例中,计算机设备可以获取目标用户的历史登录状态信息,根据该历史登录状态信息对该目标用户在目标时间段内的登录状态进行预测,得到目标用户在目标时间段内的预测登录状态。具体的,计算机设备可以获取目标用户在状态预测周期内所产生的历史登录状态,基于状态预测周期内所产生的历史登录状态确定目标用户的历史登录状态信息,该历史登录状态信息可以包括一个或至少两个历史登录状态,该一个或至少两个历史登录状态组成状态变化序列。其中,该状态预测周期用于表示统计目标用户的历史登录状态信息时,需要统计的时间段的时长。举例来说,假定状态预测周期为七天,则获取目标用户在七天内的历史登录状态,组成该历史登录状态信息,其中,该历史登录状态属于至少两个默认分布状态,历史登录状态信息用于表示目标用户在状态预测周期内的历史登录状态的变化情况,如,假定至少两个默认分布状态包括“应用安装状态、消息接收状态及页面访问状态等”,目标用户在该状态预测周期内的第一天的历史登录状态为“消息接收状态”,在状态预测周期内的第二天的历史登录状态为“页面访问状态”,在状态预测周期内的第三天的历史登录状态为“消息接收状态”,…,根据目标用户在状态预测周期内的历史登录状态,得到历史登录状态信息“消息接收状态—>页面访问状态—>消息接收状态…”,根据该历史登录状态信息确定目标用户的预测登录状态。其中,该至少两个默认分布状态也可以是其他的默认分布状态组成,如包括“应用点击状态、应用使用状态及应用空闲状态等”,或包括“应用使用状态及应用空闲状态等”,等等,即该至少两个默认分布状态所包括的默认分布状态可以根据需要进行设定,在此不做限定,计算机设备可以基于至少两个默认分布状态,获取目标用户在状态预测周期内的历史登录状态,确定历史登录状态信息。
其中,计算机设备可以获取目标用户的历史登录状态信息,获取至少两个默认分布状态;根据历史登录状态信息及至少两个默认分布状态,得到状态转移矩阵;根据状态转移矩阵预测目标用户在目标时间段内的预测登录状态。其中,该目标用户的历史登录状态信息中的各个历史登录状态之间是相互独立的,即给出目标用户当前的历史登录状态,该目标用户在过去的历史登录状态与将来的历史登录状态之间是相互独立的,该历史登录信息中的历史登录状态之间的概率满足Pr(H1=h1,H2=h2,…,Ht=ht)>0,其中,序列(H1,H2,…,Ht)用于表示该目标用户在状态预测周期内所产生的历史登录状态的变量序列,序列(h1,h2,…,ht)用于表示该目标用户在状态预测周期内的实际的历史登录状态,即(H1=h1,H2=h2,…,Ht=ht)可以用于表示该目标用户在状态预测周期内的历史登录状态信息。其中,该历史登录状态信息中的各个历史登录状态之间相互独立,因此,可以得到在基于历史登录状态信息预测该目标用户在目标时间段内的预测登录状态时,该预测概率的特性可以如公式①所示:
其中,如公式①所示,在历史登录状态信息下预测该目标用户的预测登录状态的概率与在相邻历史登录状态下预测该目标用户的预测登录状态的概率相同,即已知(H1,H2,…,Ht)预测Ht+1的概率与已知Ht预测Ht+1的概率相同。其中,H的可能值所组成的可数集S可以称为“状态空间”,该“状态空间”中包括至少两个默认分布状态。
进一步地,计算机设备可以根据历史登录状态信息确定状态变化序列,即(h1,h2,…,ht),将至少两个默认分布状态分别作为状态节点,基于状态变化序列确定至少两个状态节点之间的边,生成状态链;基于状态链确定状态转移矩阵,基于预测概率的特性,计算机设备可以根据状态转移矩阵确定该目标用户在目标时间段内的预测登录状态。其中,状态链包括多个状态节点,状态链是由该多个状态节点之间的转移概率组成的链式结构,如马尔科夫链等,在此不做限制。其中,计算机设备可以基于状态链中的至少两个状态节点确定矩阵维度特征,根据状态链中的至少两个状态节点之间的边确定矩阵参数,将矩阵维度特征及矩阵参数组成初始状态转移矩阵,对初始状态转移矩阵进行转移处理,得到状态转移矩阵。其中,该状态转移矩阵的转移处理过程可以如公式②所示:
举例来说,请参见图4,图4是本申请实施例提供的一种转移矩阵生成场景示意图。如图4所示,计算机设备将至少两个默认分布状态401分别作为状态节点402,假定该至少两个默认分布状态401包括默认分布状态S1、默认分布状态S2、默认分布状态S3及默认分布状态S4,得到状态节点S1、状态节点S2、状态节点S3及状态节点S4,基于历史登录状态信息403确定各个状态节点之间的边,生成状态链404。其中,该历史登录状态信息中包括的历史登录状态属于至少两个默认分布状态,该历史登录状态的种类小于或等于默认分布状态的种类。进一步地,如图4所示,计算机设备可以根据该状态链404中的至少两个状态节点确定矩阵维度特征4051,根据状态链404中的至少两个状态节点之间的边确定矩阵参数4052,将矩阵维度特征4051及矩阵参数组成初始状态转移矩阵405,也称为一步状态转移矩阵,该一步状态转移矩阵可以记作其中,矩阵参数中的子参数用于表示该子参数所在的行数对应的维度子特征及列数所在的维度子特征之间的转移概率,例如,矩阵参数中位于第二行第三列的子参数“0.6”用于表示维度子特征S2到维度子特征S3的转移概率为0.6,可选的,该初始状态转移矩阵405中的行和列也可以交换位置,在此不做限制。基于该一步状态转移矩阵及公式②,对该一步状态转移矩阵进行n步转移处理,得到状态转移矩阵,换句话说,计算机设备可以基于公式②对初始状态转移矩阵405进行转移处理,得到状态转移矩阵,使得该状态转移矩阵可以表示目标用户在各个默认分布状态之间的变化概率,根据该状态转移矩阵及历史登录状态信息确定目标用户在目标时间段内的预测登录状态。
可选的,计算机设备也可以直接基于状态预测模型对目标用户的历史登录状态信息进行预测,得到该目标用户在目标时间段内的预测登录状态。
其中,该目标时间段可以是根据对象预测周期所确定的,具体的,基于对象预测周期可以得到周期性的时间段,例如,对象预测周期为一天,假定在12月20日对目标用户进行预测,则根据该目标用户的历史登录状态信息预测目标用户在目标时间段内的预测登录状态,该目标时间段为12月21日这一天。
进一步地,计算机设备可以对目标用户的预测登录状态进行检测,若该目标用户在目标时间段内的预测登录状态属于离线状态,则不对目标用户进行处理,或者将默认推荐对象确定为目标用户的目标推荐对象;若目标用户在目标时间段内的预测登录状态属于在线状态,则执行步骤S302。其中,在线状态用于表示预测该目标用户在目标时间段内会使用应用程序,离线状态用于表示预测该目标用户在目标时间段内不会使用应用程序。
步骤S302,若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征。
在本申请实施例中,若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征。其中,该用户特征库中包括与应用程序相关联的至少两个统计用户及每个统计用户的用户特征,计算机设备可以从用户特征中查找与目标用户关联的目标用户特征,其中,该用户特征可以包括多个用户属性特征,如用户性别特征(如男、女)、用户年龄特征(如未成年等至少两个年龄段所组成的特征)、用户地址特征(如所属的地址区域或者省份等)及用户标签特征(如用户为应用程序添加的标签等)等。进一步地,计算机设备可以获取与应用程序关联的候选对象,获取每个候选对象分别对应的对象特征,其中,该候选对象可以是视频对象(如影视剧、自制短剧或教育视频等)、文本对象(如小说或文本资料等)、图像对象或组合对象(如文本对象与图像对象的组合)等,其中,计算机设备获取到与应用程序关联的至少两个候选对象,该至少两个候选对象是指所有可以获取到的对象。其中,该对象特征可以是根据候选对象所属的视频类型生成的。例如,该应用程序为用于播放视频的应用程序,该应用程序中包括至少两个视频对象,计算机设备可以获取与应用程序关联的所有的视频对象,获取每个视频对象的对象特征,该每个视频对象的对象特征即为至少两个候选对象分别对应的对象特征。可选的,该对象特征存储于对象特征库中,计算机设备将该用户特征库及对象特征库存储于离线层,该离线层的存储空间很大,且可以进行大规模的数据处理,因此,计算机设备在离线层中执行步骤S301及步骤S302,可以提高对数据处理的效率,而且不会对离线层带来太多的工作压力。
步骤S303,对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象。
在本申请实施例中,计算机设备可以对至少两个候选对象中的第i个候选对象的对象特征与目标用户特征进行特征拼接,得到第i个拼接特征;i为正整数,i小于或等于至少两个候选对象的候选数量;基于数据推荐模型对第i个拼接特征进行关联预测,得到第i个候选对象与目标用户的预测关联度,直至得到至少两个候选对象分别与目标用户的预测关联度。
其中,计算机设备在对第i个拼接特征进行关联预测,得到第i个候选对象与目标用户的预测关联度时,计算机设备可以基于数据推荐模型对第i个拼接特征中的至少两个子特征进行向量转换,得到至少两个子特征分别对应的转换向量;对第i个拼接特征中的至少两个子特征进行特征融合,得到第i个第一融合特征,对至少两个子特征分别对应的转换向量进行特征内积处理,得到第i个第二融合特征,对至少两个子特征分别对应的转换向量进行激活处理,得到第i个第三融合特征;对第i个第一融合特征、第i个第二融合特征及第i个第三融合特征进行关联预测,得到第i个候选对象与目标用户的预测关联度。
具体的,可以参见图5,图5是本申请实施例提供的一种数据推荐模型的网络示意图。如图5所示,该数据推荐模型可以包括稀疏特征层(Sparse Features Layer)、嵌入层(Dense Embeddings Layer)、分解层(Factorization Machine Layer,也称为因子分解机)、隐藏层(Hidden Layer)及输出层(Output Units,也称为输出单元)等。计算机设备可以对第i个候选对象的对象特征与目标用户特征进行特征拼接,得到第i个拼接特征501,该第i个拼接特征501包括至少两个子特征,如子特征5011、子特征5012及子特征5013等。可选的,计算机设备可以对第i个候选对象的对象特征与目标用户特征进行直接拼接,得到第i个拼接特征(目标用户特征,第i个候选对象的对象特征);或者,将目标用户特征及第i个候选对象的对象特征添加至默认特征中,得到第i个拼接特征501。
其中,以将目标用户特征及第i个候选对象的对象特征添加至默认特征中为例,假定该用户特征包括用户性别特征及用户年龄特征,对象特征包括对象类型特征及对象时长特征等。其中,该用户性别特征可以表示为(0,0),分别表示男、女等;用户年龄特征可以表示为(0,0,0,0),分别表示未成年、18至30岁、31岁至45岁及46岁以上等;对象类型特征可以表示为(0,0,0,0),分别用于表示娱乐、游戏、教育及短句等;对象时长特征可以表示为(0,0,0,0),分别用于表示半小时以内、半小时到一小时、一小时到两小时及两小时以上等,即该默认特征为(0,0,0,0,0,0,0,0,0,0,0,0,0,0)。假定该目标用户特征中的目标用户性别特征为女,目标用户年龄特征为18至30岁,第i个候选对象的对象特征中对象类型特征为教育,对象时长特征为半小时以内,则将该目标用户特征及第i个候选对象的对象特征添加至默认特征中,得到第i个拼接特征(0,1,0,1,0,0,0,0,1,0,1,0,0,0)。其中,以上为一种可选的子特征组成方式,也可以根据需要进行更改,即,用户特征可以由其他用户属性特征组成,对象特征也可以由其他的特征组成,用户属性特征中也可以以其他的方式组成,例如,用户年龄特征可以划分为0至10岁、11至15岁、16至25岁、26至40岁及41岁以上等,即以上给出的用户特征及对象特征的组成数据仅为一种用于举例说明的可能的情况,并不限制其他的子特征的组合方式及每个子特征的划分方式。
进一步地,计算机设备可以基于嵌入层对第i个拼接特征501中的至少两个子特征进行向量转换,得到至少两个子特征分别对应的转换向量。如图5中所示,计算机设备可以基于嵌入层对子特征5011进行向量转换,得到子特征5011对应的转换向量5021;对子特征5012进行向量转换,得到子特征5012对应的转换向量5022;…;对子特征5013进行向量转换,得到子特征5013对应的转换向量5023。计算机设备基于因子分解层对第i个拼接特征501中的至少两个子特征进行特征融合,得到第i个第一融合特征5031,具体的,对子特征5011、子特征5012、…及子特征5013进行特征融合,得到第i个第一融合特征5031。计算机设备可以基于因子分解层对至少两个子特征501分别对应的转换向量进行特征内积处理,得到第i个第二融合特征5032,具体的,对转换向量5021、转换向量5022、…及转换向量5023进行特征内积处理,得到第i个第二融合特征5032。计算机设备可以基于隐藏层对至少两个子特征501分别对应的转换向量进行激活处理,得到第i个第三融合特征5033,具体的,对转换向量5021、转换向量5022、…及转换向量5023进行激活处理,得到第i个第三融合特征5033。计算机设备基于输出层对第i个第一融合特征5031、第i个第二融合特征5032及第i个第三融合特征5033进行关联预测,得到第i个候选对象与目标用户的预测关联度。其中,⊕用于表示特征融合操作(Addition),用于表示特征内积处理(Inner Product),用于表示激活处理(Activation Function),用于表示激活或逻辑回归处理,如sigmoid函数等。
其中,计算机设备可以对第i个拼接特征中的至少两个子特征分别对应的转换向量进行处理,对各个转换向量以及各个转换向量之间进行关联预测,得到第i个第二融合特征5032,即相当于对各个子特征进行处理,以及各个子特征两两之间进行关联处理,以考虑第i个候选对象的对象特征与目标用户的目标用户特征之间的关系,对第i个候选对象与目标用户进行关联预测,从而可以提高该数据推荐模型对各个候选对象与目标用户之间的关联度预测的准确性。其中,该第i个第二融合特征5032的生成过程可以参见公式③所示:
其中,g用于表示第i个拼接特征501中包括的至少两个子特征的特征数量,或者可以认为是至少两个子特征分别对应的转换向量的向量数量,其中,xl用于表示至少两个子特征分别对应的转换向量中的第l个转换向量,xo用于表示至少两个子特征分别对应的转换向量中的第o个转换向量。其中,ω0、ωl及ωlo为数据推荐模型中的模型参数,其中,ω0可以用于表示数据推荐模型中的初始权重,ωl可以用于表示针对转换向量的权重,ωli可以用于表示针对至少两个子特征分别对应的转换向量两两之间的组合权重。
进一步地,基于第i个候选对象与目标用户的预测关联度的确定过程,确定至少两个候选对象分别与目标用户的预测关联度。
进一步地,计算机设备可以获取推荐数量阈值,基于预测关联度,对至少两个候选对象进行关联排序,从关联排序后的至少两个候选对象中获取N个候选对象,作为目标用户的目标推荐对象;N为正整数,N大于或等于推荐数量阈值。其中,N一般可以取推荐数量阈值,计算机设备可以在目标用户登录时,向目标用户输出该目标用户的目标推荐对象;可选的,N取大于推荐数量阈值的数值时,N还可以小于或等于推荐上限值,计算机设备可以在目标用户登录时,依次输出目标推荐对象中推荐数量阈值对应的候选对象,若检测到候选对象输出异常,则依次从目标推荐对象中获取候选对象进行输出,例如,该推荐数量阈值为5,N为7,即目标推荐对象包括7个候选对象,计算机设备响应针对目标用户的登录操作,向目标用户输出目标推荐对象中前5个候选对象,若检测到前5个候选对象中存在候选对象输出异常,则依次向目标用户输出目标推荐对象中的第6个候选对象、第7个候选对象,直至目标用户可以获取到正常的5个候选对象,从而提高数据推荐的容错性。
其中,该目标用户与目标推荐对象(也可以称为对象推荐列表)存储于离线层,计算机设备基于离线层将目标用户及目标用户的目标推荐对象发送至在线层,在在线层的用户推荐库中对目标用户与目标推荐对象进行关联存储。在在线层中,计算机设备响应针对目标用户的登录操作,基于关联存储关系从用户推荐库中获取与目标用户相关联的目标推荐对象,输出目标推荐对象,具体的,将该目标推荐对象发送至目标用户所在的目标用户终端,以使目标用户终端显示该目标推荐对象。
进一步地,计算机设备在在线层中,响应针对待处理用户的登录操作,基于关联存储关系从用户推荐库中查找与待处理用户相关联的待输出推荐对象。若用户推荐库中不存在与待处理用户相关联的待输出推荐对象,则获取默认推荐对象,针对待处理用户输出默认推荐对象;可选的,若用户推荐库中不存在与待处理用户相关联的待输出推荐对象,则计算机设备也可以对至少两个候选对象进行对象召回,得到召回对象,对该召回对象与待处理对象进行关联预测,得到该待处理对象的待输出推荐对象,针对待处理用户输出待输出推荐对象。其中,计算机设备在对至少两个候选对象进行对象召回,得到召回对象时,可以获取该待处理用户的待处理用户特征,基于该待处理用户特征对至少两个候选对象进行对象召回,得到召回对象,例如,获取待处理用户的性别及年龄,获取该待处理用户的性别及年龄所对应的用户集群,基于该用户集群的关联对象,对至少两个候选对象进行对象召回,得到该待处理用户对应的召回对象。
在本申请实施例中,计算机设备可以获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态;若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象;目标推荐对象用于在检测到目标用户在目标时间段内的实际登录状态为在线状态时,作为目标用户的推荐内容。通过对目标用户的登录状态进行预测,得到该目标用户的预测登录状态,在该预测登录状态属于在线状态时,可以对目标用户的目标推荐对象进行确定,使得可以提前对目标推荐对象进行确定,使得目标用户登录时,可以直接获取提前预测好的目标推荐对象,从而提高了数据推荐的效率,进一步地,本申请是对至少两个候选对象分别与目标用户进行关联度预测,实现了全对象预测打分(即预测关联度),提高了数据推荐的精确度。
进一步地,可以参见图6,图6是本申请实施例提供的一种数据推荐模型的训练流程示意图。如图6所示,该数据推荐模型的训练过程可以包括如下步骤:
步骤S601,获取至少两个训练用户样本,从用户特征库中获取分别与至少两个训练用户样本相关联的样本用户特征。
在本申请实施例中,计算机设备可以在训练周期内,获取与应用程序相关联的至少两个候选用户,该应用程序用于输出目标用户的目标推荐对象。获取至少两个候选用户在训练周期中对应的候选登录状态,将候选登录状态包括在线状态的候选用户确定为训练用户样本。其中,该用户特征库包括至少两个统计用户及每个统计用户的用户特征,该至少两个统计用户包括统计用户j;j为正整数,j小于或等于至少两个统计用户的用户数量。计算机设备可以获取至少两个训练用户样本分别对应的训练样本哈希值,根据至少两个训练用户样本分别对应的训练样本哈希值生成样本匹配位数组;生成统计用户j的用户哈希值,根据统计用户j的用户哈希值从样本匹配位数组中,获取统计用户j的用户状态值;若统计用户j的用户状态值存在至少一个缺失状态值,则确定统计用户j与至少两个训练用户样本不关联,若统计用户j的用户状态值均为有效状态值,则确定统计用户j与至少两个训练用户样本相关联;将用户特征库中与至少两个训练用户样本相关联的统计用户所对应的用户特征,确定为与至少两个训练用户样本相关联的样本用户特征,具体的,计算机设备是从用户特征库中与至少两个训练用户样本相关联的统计用户所对应的用户特征中,获取与至少两个训练用户样本相关联的样本用户特征。其中,计算机设备可以基于样本匹配位数组,对至少两个统计用户进行筛选,可以去除大量的数据,再从筛选后的统计用户中查找至少两个训练用户样本,可以减少需要处理的数据量,由于该样本匹配位数组所占据的存储空间及匹配过程所消耗的资源或时间等都较小,因此,可以提高对至少两个训练用户样本相关联的样本用户特征的获取效率,进而提高数据推荐模型的训练效率。
具体的,该样本匹配位数组是基于至少一个哈希函数生成的,该样本匹配位数组可以是一个二值数组,分别为有效状态值和缺失状态值,假定该样本匹配位数组的长度为d,至少一个哈希函数的数量为e,d和e均为正整数。其中,生成初始样本匹配位数组,将该初始样本匹配位数组中的d个状态值均置为缺失状态值。其中,根据至少两个训练用户样本生成样本匹配位数组时,基于e个哈希函数分别对每个训练用户样本进行哈希处理,得到每个训练用户样本分别对应的e个状态哈希值,该e个状态哈希值分别对应初始样本匹配位数组中的e个状态位置,将该e个状态位置处的状态值更新为有效状态值,以生成样本匹配位数组。其中,该状态位置可以是根据哈希函数得到的状态哈希值,也可以是根据该状态哈希值转换得到的,如取余等转换方法。其中,当对至少两个统计用户进行匹配时,计算机设备可以根据e个哈希函数得到统计用户j的e个用户哈希值,获取e个用户哈希值在样本匹配位数组中对应的e个统计状态位置,根据e个统计状态位置得到该统计用户j对应的用户状态值。若统计用户j的用户状态值存在缺失状态值,则确定统计用户j与至少两个训练用户样本不关联;若统计用户j的用户状态值均为有效状态值,则确定统计用户j与至少两个训练用户样本相关联。
具体的,可以参见图7,图7是本申请实施例提供的一种样本匹配位数组的生成及过滤场景示意图。如图7所示,假定至少两个训练用户样本中存在3个元素{a,b,c},且e为3,有效状态值为1,缺失状态值为0。当该初始样本匹配位数组中的各个状态值均为缺失状态值0时,通过3个哈希函数得到元素a的3个状态哈希值,该3个状态哈希值分别对应初始样本匹配位数组中的位1、位5及位13,将该初始样本匹配位数组中的位1、位5及位13处的状态值置为1;通过3个哈希函数得到元素b的3个状态哈希值,该3个状态哈希值分别对应初始样本匹配位数组中的位4、位11及位16,将该初始样本匹配位数组中的位4、位11及位16处的状态值置为1;通过3个哈希函数得到元素c的3个状态哈希值,该3个状态哈希值分别对应初始样本匹配位数组中的位3、位5及位11,将该初始样本匹配位数组中的位3、位5及位11处的状态值置为1,得到图7中所示的样本匹配位数组。其中,由于样本匹配位数组的下标是以0开始的,因此,上述的状态位置是从0开始计数,可选的,该状态位置也可以是从1开始计数,或以其他数值开始计数。其中,假定将该样本匹配位数组记为stateBitArray[],则根据元素a执行“stateBitArray[1]=1;stateBitArray[5]=1;stateBitArray[13]=1”;根据元素b执行“stateBitArray[4]=1;stateBitArray[11]=1;stateBitArray[16]=1”;根据元素c执行“stateBitArray[3]=1;stateBitArray[5]=1;stateBitArray[11]=1”,以得到图7中所示的样本匹配位数组,其中,该过程还可以是基于其他编程语言实现,在此不做限制。
其中,当获取到元素f时,通过上述3个哈希函数得到元素f的3个状态哈希值,该3个状态哈希值分别对应样本匹配位数组中的位3、位4及位5,获取到该样本匹配位数组中的位3、位4及位5处的状态值均为有效状态值1,则确定该样本匹配位数组中存在该元素f,而实际上该映射关系中不存在元素f;当获取到元素w时,通过上述3个哈希函数得到元素w的3个状态哈希值,该3个状态哈希值分别对应样本匹配位数组中的位4、位13及位15,获取到该样本匹配位数组中的位4、位13处的状态值均为有效状态值1,而位15处的状态值为缺失状态值0,则确定该样本匹配位数组中不存在该元素w。可见,当通过上述3个哈希函数获取到3个状态值后,这3个状态值中存在缺失状态值0,则可以确定这3个状态值对应的元素一定不在该样本匹配位数组中;而当3个状态值均为有效状态值1时,这3个状态值对应的元素确不一定在该样本匹配位数组中,因此可能存在一定的误判率,故而当确定该样本匹配位数组中存在统计用户j时,至少两个训练用户样本中不一定存在该统计用户j,而当确定该样本匹配位数组中不存在统计用户j时,至少两个训练用户样本中一定不存在该统计用户j。因此,通过该过程,可以对获取至少两个训练用户样本分别对应的样本用户特征时,可以降低需要处理的数据量,提高模型训练的效率。
可选的,计算机设备在至少两个统计用户中获取与至少两个训练用户样本相关联的统计用户时,可以基于分布式计算引擎等实现,如Spark等,在此不做限制,其中,Spark是一种用于进行大规模数据处理的快速的计算引擎,可以用于构建大型的、低延迟的数据分析应用程序。
步骤S602,获取每个训练用户样本所关联的样本对象特征,基于至少两个训练用户样本分别对应的样本用户特征及样本对象特征进行模型训练,生成数据推荐模型。
在本申请实施例中,计算机设备可以统计训练用户样本在在线状态下产生的历史关联对象,将历史关联对象的历史对象特征确定为训练用户样本所关联的样本对象特征。进一步地,该至少两个训练用户样本包括训练用户样本k;k为正整数,k小于或等于至少两个训练用户样本的样本数量。计算机设备可以基于初始数据推荐模型对训练用户样本k的样本用户特征及样本对象特征进行预测,得到训练用户样本k与训练用户样本k的样本对象特征之间的样本预测关联度;基于样本预测关联度及模型损失函数对初始数据推荐模型进行训练,生成数据推荐模型。其中,该模型损失函数(Logit Loss Function)是指一种函数,如交叉熵损失函数等,在此不做限制。
在本申请实施例中,计算机设备可以获取至少两个训练用户样本,基于训练用户样本所关联的样本对象特征及样本用户特征进行模型训练,生成数据推荐模型,该数据推荐模型用于对至少两个候选对象分别与目标用户之间的关联度进行预测,该数据推荐模型对样本用户特征及样本对象特征之间的关系进行训练,使得数据推荐模型中可以表示用户特征与对象特征之间的关系,从而提高数据推荐模型对预测关联度的预测准确性。
进一步地,请参见图8,图8是本申请实施例提供的一种数据推荐架构示意图。如图8所示,该计算机设备分为在线层及离线层,其中,离线层具有较大的存储空间,可以进行大规模数据处理。计算机设备可以在离线层中,获取在训练周期内与应用程序相关联的至少两个候选用户,获取至少两个候选用户在训练周期中对应的候选登录状态,将候选登录状态包括在线状态的候选用户确定为训练用户样本。从用户特征库中获取训练用户样本的样本用户特征,其中,该过程可以是对用户特征库进行遍历,得到训练用户样本的样本用户特征,也可以是根据至少两个训练用户样本分别对应的训练样本哈希值生成样本匹配位数组,获取用户特征库中的各个统计用户在样本匹配位数组中的用户状态值,将用户状态值均为有效状态值的统计用户,确定为与至少两个训练用户样本之间相关联的统计用户,基于与至少两个训练用户样本之间相关联的统计用户,确定至少两个训练用户样本分别对应的样本用户特征。计算机设备可以从对象特征库中获取与训练用户样本关联的样本对象特征,基于至少两个训练用户样本分别对应的样本用户特征及样本对象特征训练模型,生成数据推荐模型。
进一步地,计算机设备可以获取目标用户,获取该目标用户的历史登录状态信息,基于该历史登录状态信息预测该目标用户在目标时间段内的预测登录状态,其中,该目标用户的数量为一个或至少两个,具体的,计算机设备可以获取目标用户在状态预测周期内所产生的历史登录状态,基于状态预测周期内所产生的历史登录状态确定目标用户的历史登录状态信息,获取至少两个默认分布状态;可以根据历史登录状态信息确定状态变化序列,将至少两个默认分布状态分别作为状态节点,基于状态变化序列确定至少两个状态节点之间的边,生成状态链;基于状态链确定状态转移矩阵,基于预测概率的特性,计算机设备可以根据状态转移矩阵确定该目标用户在目标时间段内的预测登录状态。
计算机设备可以对目标用户进行批量处理,可以将预测登录状态属于在线状态的目标用户记作在线目标用户,调用数据推荐模型对至少两个候选对象与在线目标用户进行关联预测,得到至少两个候选对象分别与在线目标用户之间的预测关联度,基于至少两个候选对象分别与在线用户之间的预测关联度,从至少两个候选对象中确定在线目标用户的目标推荐对象,对在线目标用户与目标推荐对象进行关联存储,得到对象推荐列表,将对象推荐列表发送至在线层。计算机设备在在线层中,将对象推荐列表存储至用户推荐库。当计算机设备检测到用户登录时,假定该用户是属于预测登录状态为在线状态的目标用户,计算机设备可以从用户推荐库中获取该用户关联的目标推荐对象,基于该目标推荐对象进行重排,针对该用户输出重排后的目标推荐对象。可选的,计算机设备可以基于大数据技术对用户特征库及对象特征库等数据进行存储,可以采用线下数据库存储数据,如Hadoop等,其中,Hadoop为一种分布式系统基础架构,可以实现高速运算和存储。
计算机设备通过将数据推荐的各个过程置于离线层进行实现,如数据推荐模型的生成过程、对目标用户的预测登录状态的预测过程,以及对预测登录状态属于在线状态的目标用户的目标推荐对象的预测过程等,使得计算机设备无需将数据推荐模型、用户特征库及对象特征库等存储至在线层,减少了离线层与在线层之间的数据同步压力,减轻了在线层的数据处理工作压力。而由于离线层具有较大的存储空间,可以进行大规模数据处理,因此,该数据推荐的各个过程对于离线层来说,不会对离线层造成工作压力,从而可以提高数据推荐的效率。而且,计算机设备会获取至少两个候选对象分别与目标用户之间的预测关联度,以在至少两个候选对象中确定目标推荐对象,使得可以对目标用户所关联的目标推荐对象进行全对象预测,减少了对象召回带来的精度降低风险,提高了数据推荐的准确性。再加上,计算机设备可以基于目标用户的历史登录状态信息预测该目标用户的预测登录状态,基于预测登录状态确定在目标时间段内可能在线的用户,对这些在目标时间段内可能在线的用户进行提前预测,存储该在目标时间段内可能在线的用户的目标推荐对象,使得这些用户在登录时,计算机设备可以直接获取到与这些用户相关联的目标推荐对象,并针对这些用户输出关联的目标推荐对象,从而提高对象输出的实时性,提高数据推荐的效率。
其中,计算机设备检测到待处理用户的登录操作,若该用户推荐库中不存在与该待处理用户相关联的待输出推荐对象,则可以获取默认推荐对象,针对待处理用户输出默认推荐对象;或者,基于数据推荐模型对待处理用户进行预测,得到该待处理用户的待输出推荐对象。其中,以基于数据推荐模型对待处理用户进行预测,得到该待处理用户的待输出推荐对象为例,可以参见图9,图9是本申请实施例提供的另一种数据推荐架构示意图。如图9所示,计算机设备可以获取训练用户样本,从用户特征库中获取训练用户样本的样本用户特征,从对象特征库中获取训练用户样本的样本对象特征,基于训练用户样本的样本用户特征及样本对象特征训练模型,得到数据推荐模型。
当计算机设备检测到待处理用户的登录操作时,响应针对待处理用户的登录操作,从用户推荐库中查找与待处理用户相关联的待输出推荐对象,假定该用户推荐库中不存在与待处理用户相关联的待输出推荐对象,计算机设备可以从离线层中获取数据推荐模型、对象特征库及用户特征库,将数据推荐模型、对象特征库及用户特征库存储至在线层。计算机设备在在线层中,从用户特征库中获取待处理用户的待处理用户特征,对对象特征库中的至少两个候选对象进行对象召回,得到召回对象,获取召回对象的召回对象特征,基于数据推荐模型对召回对象特征与待处理用户特征进行关联预测,确定召回对象与待处理用户的预测关联度,其中,该召回对象的数量不唯一,基于召回对象与待处理用户的预测关联度确定待处理用户的待输出推荐对象。基于待输出推荐对象进行重排,针对待处理用户输出重排后的待输出推荐对象。
进一步地,请参见图10,图10是本申请实施例提供的一种数据推荐装置示意图。该数据推荐装置可以是运行于计算机设备中的一个计算机程序(包括程序代码等),例如该数据推荐装置可以为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该数据推荐装置1000可以用于图3所对应实施例中的计算机设备,具体的,该装置可以包括:状态预测模块11、特征获取模块12及推荐预测模块13。
状态预测模块11,用于获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态;
特征获取模块12,用于若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;
推荐预测模块13,用于对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象;目标推荐对象用于在检测到目标用户在目标时间段内的实际登录状态为在线状态时,作为目标用户的推荐内容。
其中,该状态预测模块11,包括:
分布获取单元111,用于获取目标用户的历史登录状态信息,获取至少两个默认分布状态;
矩阵获取单元112,用于根据历史登录状态信息及至少两个默认分布状态,得到状态转移矩阵;
状态预测单元113,用于根据状态转移矩阵预测目标用户在目标时间段内的预测登录状态。
其中,该矩阵获取单元112,包括:
图谱生成子单元1121,用于根据历史登录状态信息确定状态变化序列,将至少两个默认分布状态分别作为状态节点,基于状态变化序列确定至少两个状态节点之间的边,生成状态链;
矩阵确定子单元1122,用于基于状态链确定状态转移矩阵。
其中,矩阵确定子单元1122,具体用于:
基于状态链中的至少两个状态节点确定矩阵维度特征,根据状态链中的至少两个状态节点之间的边确定矩阵参数,将矩阵维度特征及矩阵参数组成初始状态转移矩阵;
对初始状态转移矩阵进行转移处理,得到状态转移矩阵。
其中,在对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度方面,该推荐预测模块13,包括:
特征拼接单元131,用于对至少两个候选对象中的第i个候选对象的对象特征与目标用户特征进行特征拼接,得到第i个拼接特征;i为正整数,i小于或等于至少两个候选对象的候选数量;
关联预测单元132,用于基于数据推荐模型对第i个拼接特征进行关联预测,得到第i个候选对象与目标用户的预测关联度,直至得到至少两个候选对象分别与目标用户的预测关联度。
其中,该关联预测单元132,包括:
向量转换子单元1321,用于基于数据推荐模型对第i个拼接特征中的至少两个子特征进行向量转换,得到至少两个子特征分别对应的转换向量;
特征融合子单元1322,用于对第i个拼接特征中的至少两个子特征进行特征融合,得到第i个第一融合特征,对至少两个子特征分别对应的转换向量进行特征内积处理,得到第i个第二融合特征,对至少两个子特征分别对应的转换向量进行激活处理,得到第i个第三融合特征;
特征预测子单元1323,用于对第i个第一融合特征、第i个第二融合特征及第i个第三融合特征进行关联预测,得到第i个候选对象与目标用户的预测关联度。
其中,在基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象方面,该推荐预测模块13具体用于:
获取推荐数量阈值,基于预测关联度,对至少两个候选对象进行关联排序,从关联排序后的至少两个候选对象中获取N个候选对象,作为目标用户的目标推荐对象;N为正整数,N大于或等于推荐数量阈值。
其中,目标用户与目标推荐对象存储于离线层;该装置1000还包括:
推荐存储模块14,用于基于离线层将目标用户及目标用户的目标推荐对象发送至在线层,在在线层的用户推荐库中对目标用户与目标推荐对象进行关联存储;
推荐输出模块15,用于在在线层中,响应针对目标用户的登录操作,基于关联存储关系从用户推荐库中获取与目标用户相关联的目标推荐对象,输出目标推荐对象。
其中,该装置1000还包括:
对象查找模块16,用于在在线层中,响应针对待处理用户的登录操作,基于关联存储关系从用户推荐库中查找与待处理用户相关联的待输出推荐对象;
默认输出模块17,用于若用户推荐库中不存在与待处理用户相关联的待输出推荐对象,则获取默认推荐对象,针对待处理用户输出默认推荐对象。
其中,该装置1000还包括:
样本获取模块18,用于获取至少两个训练用户样本,从用户特征库中获取分别与至少两个训练用户样本相关联的样本用户特征;
模型训练模块19,用于获取每个训练用户样本所关联的样本对象特征,基于至少两个训练用户样本分别对应的样本用户特征及样本对象特征进行模型训练,生成数据推荐模型。
其中,在获取至少两个训练用户样本方面,该样本获取模块18包括:
候选获取单元181,用于在训练周期内,获取与应用程序相关联的至少两个候选用户;应用程序用于输出目标用户的目标推荐对象;
样本选取单元182,用于获取至少两个候选用户在训练周期中对应的候选登录状态,将候选登录状态包括在线状态的候选用户确定为训练用户样本;
在获取每个训练用户样本所关联的样本对象特征方面,该模型训练模块19包括:
对象获取单元191,用于统计训练用户样本在在线状态下产生的历史关联对象,将历史关联对象的历史对象特征确定为训练用户样本所关联的样本对象特征。
其中,用户特征库包括至少两个统计用户及每个统计用户的用户特征;至少两个统计用户包括统计用户j;j为正整数,j小于或等于至少两个统计用户的用户数量;
在从用户特征库中获取分别与至少两个训练用户样本相关联的样本用户特征方面,该样本获取模块18包括:
数组生成单元183,用于获取至少两个训练用户样本分别对应的训练样本哈希值,根据至少两个训练用户样本分别对应的训练样本哈希值生成样本匹配位数组;
哈希匹配单元184,用于生成统计用户j的用户哈希值,根据统计用户j的用户哈希值从样本匹配位数组中,获取统计用户j的用户状态值;
关联确定单元185,用于若统计用户j的用户状态值存在至少一个缺失状态值,则确定统计用户j与至少两个训练用户样本不关联,若统计用户j的用户状态值均为有效状态值,则确定统计用户j与至少两个训练用户样本相关联;
特征确定单元186,用于将用户特征库中与至少两个训练用户样本相关联的统计用户所对应的用户特征,确定为与至少两个训练用户样本相关联的样本用户特征。
其中,至少两个训练用户样本包括训练用户样本k;k为正整数,k小于或等于至少两个训练用户样本的样本数量;
在基于至少两个训练用户样本分别对应的样本用户特征及样本对象特征进行模型训练,生成数据推荐模型方面,该模型训练模块19包括:
样本预测单元192,用于基于初始数据推荐模型对训练用户样本k的样本用户特征及样本对象特征进行预测,得到训练用户样本k与训练用户样本k的样本对象特征之间的样本预测关联度;
模型训练单元193,用于基于样本预测关联度及模型损失函数对初始数据推荐模型进行训练,生成数据推荐模型。
本申请实施例提供了一种数据推荐装置,该装置可以获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态;若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象;目标推荐对象用于在检测到目标用户在目标时间段内的实际登录状态为在线状态时,作为目标用户的推荐内容。通过对目标用户的登录状态进行预测,得到该目标用户的预测登录状态,在该预测登录状态属于在线状态时,可以对目标用户的目标推荐对象进行确定,使得可以提前对目标推荐对象进行确定,使得目标用户登录时,可以直接获取提前预测好的目标推荐对象,从而提高了数据推荐的效率,进一步地,本申请是对至少两个候选对象分别与目标用户进行关联度预测,实现了全对象预测打分(即预测关联度),提高了数据推荐的精确度。
参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,本申请实施例中的计算机设备可以包括:一个或多个处理器1101、存储器1102和输入输出接口1103。该处理器1101、存储器1102和输入输出接口1103通过总线1104连接。存储器1102用于存储计算机程序,该计算机程序包括程序指令,输入输出接口1103用于接收数据及输出数据,如用于与用户设备之间进行数据交互,或者用于计算机设备中的在线层与离线层之间进行数据交互;处理器1101用于调用存储器1102存储的计算机程序,以使该计算机设备执行本申请中的数据推荐方法。
其中,该处理器1101可以执行如下操作:
获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态;
若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;
对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象;目标推荐对象用于在检测到目标用户在目标时间段内的实际登录状态为在线状态时,作为目标用户的推荐内容。
其中,获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态,包括:
获取目标用户的历史登录状态信息,获取至少两个默认分布状态;
根据历史登录状态信息及至少两个默认分布状态,得到状态转移矩阵;
根据状态转移矩阵预测目标用户在目标时间段内的预测登录状态。
其中,根据历史登录状态信息及至少两个默认分布状态,得到状态转移矩阵,包括:
根据历史登录状态信息确定状态变化序列,将至少两个默认分布状态分别作为状态节点,基于状态变化序列确定至少两个状态节点之间的边,生成状态链;
基于状态链确定状态转移矩阵。
在一些可行的实施方式中,该处理器1101可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器1102可以包括只读存储器和随机存取存储器,并向处理器1101和输入输出接口1103提供指令和数据。存储器1102的一部分还可以包括非易失性随机存取存储器。例如,存储器1102还可以存储设备类型的信息。
具体实现中,该计算机设备可通过其内置的各个功能模块执行如该图3中各个步骤所提供的实现方式,具体可参见该图3中各个步骤所提供的实现方式,在此不再赘述。
本申请实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机程序,执行该图3中所示方法的各个步骤,进行数据推荐操作。本申请实施例实现了获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态;若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象;目标推荐对象用于在检测到目标用户在目标时间段内的实际登录状态为在线状态时,作为目标用户的推荐内容。通过对目标用户的登录状态进行预测,得到该目标用户的预测登录状态,在该预测登录状态属于在线状态时,可以对目标用户的目标推荐对象进行确定,使得可以提前对目标推荐对象进行确定,使得目标用户登录时,可以直接获取提前预测好的目标推荐对象,从而提高了数据推荐的效率,进一步地,本申请是对至少两个候选对象分别与目标用户进行关联度预测,实现了全对象预测打分(即预测关联度),提高了数据推荐的精确度。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由该处理器加载并执行图3中各个步骤所提供的数据推荐方法,具体可参见该图3中各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
该计算机可读存储介质可以是前述任一实施例提供的数据推荐装置或者该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图3中的各种可选方式中所提供的方法,实现了获取目标用户的历史登录状态信息,根据历史登录状态信息预测目标用户在目标时间段内的预测登录状态;若目标用户在目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;对至少两个候选对象分别对应的对象特征与目标用户特征进行关联预测,得到至少两个候选对象分别与目标用户的预测关联度,基于预测关联度,从至少两个候选对象中确定目标用户的目标推荐对象;目标推荐对象用于在检测到目标用户在目标时间段内的实际登录状态为在线状态时,作为目标用户的推荐内容。通过对目标用户的登录状态进行预测,得到该目标用户的预测登录状态,在该预测登录状态属于在线状态时,可以对目标用户的目标推荐对象进行确定,使得可以提前对目标推荐对象进行确定,使得目标用户登录时,可以直接获取提前预测好的目标推荐对象,从而提高了数据推荐的效率,进一步地,本申请是对至少两个候选对象分别与目标用户进行关联度预测,实现了全对象预测打分(即预测关联度),提高了数据推荐的精确度。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据推荐设备的处理器以产生一个机器,使得通过计算机或其他可编程数据推荐设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据推荐设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据推荐设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据推荐方法,其特征在于,所述方法包括:
获取目标用户的历史登录状态信息,根据所述历史登录状态信息预测所述目标用户在目标时间段内的预测登录状态;
若所述目标用户在所述目标时间段内的预测登录状态属于在线状态,则从用户特征库中查找与所述目标用户关联的目标用户特征,获取至少两个候选对象分别对应的对象特征;
对所述至少两个候选对象分别对应的对象特征与所述目标用户特征进行关联预测,得到所述至少两个候选对象分别与所述目标用户的预测关联度,基于所述预测关联度,从所述至少两个候选对象中确定所述目标用户的目标推荐对象;所述目标推荐对象用于在检测到所述目标用户在所述目标时间段内的实际登录状态为在线状态时,作为所述目标用户的推荐内容。
2.如权利要求1所述的方法,其特征在于,所述获取目标用户的历史登录状态信息,根据所述历史登录状态信息预测所述目标用户在目标时间段内的预测登录状态,包括:
获取目标用户的历史登录状态信息,获取至少两个默认分布状态;
根据所述历史登录状态信息及所述至少两个默认分布状态,得到状态转移矩阵;
根据所述状态转移矩阵预测所述目标用户在目标时间段内的预测登录状态。
3.如权利要求2所述的方法,其特征在于,所述根据所述历史登录状态信息及所述至少两个默认分布状态,得到状态转移矩阵,包括:
根据所述历史登录状态信息确定状态变化序列,将所述至少两个默认分布状态分别作为状态节点,基于所述状态变化序列确定至少两个状态节点之间的边,生成状态链;
基于所述状态链确定状态转移矩阵。
4.如权利要求3所述的方法,其特征在于,所述基于所述状态链确定状态转移矩阵,包括:
基于所述状态链中的至少两个状态节点确定矩阵维度特征,根据所述状态链中的所述至少两个状态节点之间的边确定矩阵参数,将所述矩阵维度特征及所述矩阵参数组成初始状态转移矩阵;
对所述初始状态转移矩阵进行转移处理,得到状态转移矩阵。
5.如权利要求1所述的方法,其特征在于,所述对所述至少两个候选对象分别对应的对象特征与所述目标用户特征进行关联预测,得到所述至少两个候选对象分别与所述目标用户的预测关联度,包括:
对所述至少两个候选对象中的第i个候选对象的对象特征与所述目标用户特征进行特征拼接,得到第i个拼接特征;i为正整数,i小于或等于所述至少两个候选对象的候选数量;
基于数据推荐模型对所述第i个拼接特征进行关联预测,得到所述第i个候选对象与所述目标用户的预测关联度,直至得到所述至少两个候选对象分别与所述目标用户的预测关联度。
6.如权利要求5所述的方法,其特征在于,所述基于数据推荐模型对所述第i个拼接特征进行关联预测,得到所述第i个候选对象与所述目标用户的预测关联度,包括:
基于数据推荐模型对所述第i个拼接特征中的至少两个子特征进行向量转换,得到所述至少两个子特征分别对应的转换向量;
对所述第i个拼接特征中的至少两个子特征进行特征融合,得到第i个第一融合特征,对所述至少两个子特征分别对应的转换向量进行特征内积处理,得到第i个第二融合特征,对所述至少两个子特征分别对应的转换向量进行激活处理,得到第i个第三融合特征;
对所述第i个第一融合特征、所述第i个第二融合特征及所述第i个第三融合特征进行关联预测,得到所述第i个候选对象与所述目标用户的预测关联度。
7.如权利要求1所述的方法,其特征在于,所述基于所述预测关联度,从所述至少两个候选对象中确定所述目标用户的目标推荐对象,包括:
获取推荐数量阈值,基于所述预测关联度,对所述至少两个候选对象进行关联排序,从关联排序后的至少两个候选对象中获取N个候选对象,作为所述目标用户的目标推荐对象;N为正整数,N大于或等于所述推荐数量阈值。
8.如权利要求1所述的方法,其特征在于,所述目标用户与所述目标推荐对象存储于离线层;所述方法还包括:
基于所述离线层将所述目标用户及所述目标用户的目标推荐对象发送至在线层,在所述在线层的用户推荐库中对所述目标用户与所述目标推荐对象进行关联存储;
在所述在线层中,响应针对所述目标用户的登录操作,基于关联存储关系从所述用户推荐库中获取与所述目标用户相关联的所述目标推荐对象,输出所述目标推荐对象。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
在所述在线层中,响应针对待处理用户的登录操作,基于所述关联存储关系从所述用户推荐库中查找与所述待处理用户相关联的待输出推荐对象;
若所述用户推荐库中不存在与所述待处理用户相关联的待输出推荐对象,则获取默认推荐对象,针对所述待处理用户输出所述默认推荐对象。
10.如权利要求5所述的方法,其特征在于,所述方法还包括:
获取至少两个训练用户样本,从用户特征库中获取分别与所述至少两个训练用户样本相关联的样本用户特征;
获取每个训练用户样本所关联的样本对象特征,基于所述至少两个训练用户样本分别对应的样本用户特征及样本对象特征进行模型训练,生成数据推荐模型。
11.如权利要求10所述的方法,其特征在于,所述获取至少两个训练用户样本,包括:
在训练周期内,获取与应用程序相关联的至少两个候选用户;所述应用程序用于输出所述目标用户的目标推荐对象;
获取至少两个候选用户在所述训练周期中对应的候选登录状态,将所述候选登录状态包括所述在线状态的候选用户确定为训练用户样本;
所述获取每个训练用户样本所关联的样本对象特征,包括:
统计所述训练用户样本在所述在线状态下产生的历史关联对象,将所述历史关联对象的历史对象特征确定为所述训练用户样本所关联的样本对象特征。
12.如权利要求10所述的方法,其特征在于,所述用户特征库包括至少两个统计用户及每个统计用户的用户特征;所述至少两个统计用户包括统计用户j;j为正整数,j小于或等于所述至少两个统计用户的用户数量;
所述从用户特征库中获取分别与所述至少两个训练用户样本相关联的样本用户特征,包括:
获取所述至少两个训练用户样本分别对应的训练样本哈希值,根据所述至少两个训练用户样本分别对应的训练样本哈希值生成样本匹配位数组;
生成所述统计用户j的用户哈希值,根据所述统计用户j的用户哈希值从所述样本匹配位数组中,获取所述统计用户j的用户状态值;
若所述统计用户j的用户状态值存在至少一个缺失状态值,则确定所述统计用户j与所述至少两个训练用户样本不关联,若所述统计用户j的用户状态值均为有效状态值,则确定所述统计用户j与所述至少两个训练用户样本相关联;
将所述用户特征库中与所述至少两个训练用户样本相关联的统计用户所对应的用户特征,确定为与所述至少两个训练用户样本相关联的样本用户特征。
13.如权利要求10所述的方法,其特征在于,所述至少两个训练用户样本包括训练用户样本k;k为正整数,k小于或等于所述至少两个训练用户样本的样本数量;
所述基于所述至少两个训练用户样本分别对应的样本用户特征及样本对象特征进行模型训练,生成数据推荐模型,包括:
基于初始数据推荐模型对所述训练用户样本k的样本用户特征及样本对象特征进行预测,得到所述训练用户样本k与所述训练用户样本k的样本对象特征之间的样本预测关联度;
基于所述样本预测关联度及模型损失函数对所述初始数据推荐模型进行训练,生成数据推荐模型。
14.一种计算机设备,其特征在于,包括处理器、存储器、输入输出接口;
所述处理器分别与所述存储器和所述输入输出接口相连,其中,所述输入输出接口用于接收数据及输出数据,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-13任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110020585.3A CN114741585A (zh) | 2021-01-07 | 2021-01-07 | 一种数据推荐方法、装置、计算机及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110020585.3A CN114741585A (zh) | 2021-01-07 | 2021-01-07 | 一种数据推荐方法、装置、计算机及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114741585A true CN114741585A (zh) | 2022-07-12 |
Family
ID=82274065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110020585.3A Pending CN114741585A (zh) | 2021-01-07 | 2021-01-07 | 一种数据推荐方法、装置、计算机及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741585A (zh) |
-
2021
- 2021-01-07 CN CN202110020585.3A patent/CN114741585A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108921221B (zh) | 用户特征的生成方法、装置、设备及存储介质 | |
CN109919316B (zh) | 获取网络表示学习向量的方法、装置和设备及存储介质 | |
KR20210038860A (ko) | 의도 추천 방법, 장치, 기기 및 저장매체 | |
CN110728317A (zh) | 决策树模型的训练方法、系统、存储介质及预测方法 | |
CN111008332A (zh) | 内容项推荐方法、装置、服务器以及存储介质 | |
CN111382190B (zh) | 一种基于智能的对象推荐方法、装置和存储介质 | |
WO2014160282A1 (en) | Classifying resources using a deep network | |
CN111506820B (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN110413867B (zh) | 用于内容推荐的方法及系统 | |
CN110909182A (zh) | 多媒体资源搜索方法、装置、计算机设备及存储介质 | |
CN111563192A (zh) | 实体对齐方法、装置、电子设备及存储介质 | |
CN114048387B (zh) | 基于大数据和ai预测的内容推荐方法及人工智能云系统 | |
CN112052387A (zh) | 一种内容推荐方法、装置和计算机可读存储介质 | |
CN113761359B (zh) | 数据包推荐方法、装置、电子设备和存储介质 | |
CN111611488A (zh) | 基于人工智能的信息推荐方法、装置、电子设备 | |
CN115130711A (zh) | 一种数据处理方法、装置、计算机及可读存储介质 | |
CN112989179A (zh) | 模型训练、多媒体内容推荐方法和装置 | |
WO2023087933A1 (zh) | 内容推荐方法、装置、设备、存储介质及程序产品 | |
CN114741585A (zh) | 一种数据推荐方法、装置、计算机及可读存储介质 | |
CN113761272A (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN111737319B (zh) | 用户集群的预测方法、装置、计算机设备和存储介质 | |
CN113569130A (zh) | 内容推荐方法、装置、设备及可读存储介质 | |
CN113821676A (zh) | 视频检索方法、装置、设备及存储介质 | |
CN115455276A (zh) | 推荐对象的方法、装置、计算机设备和存储介质 | |
CN111935259A (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 |