发明内容
本申请的目的是提供一种资源受限约束下的活动推荐方法及系统,具有全局优化机制的情况下,则可以对全部活动Top-N名单中的用户进行统筹推荐,实现整体收益最大化的,而不是每个活动的局部收益最大化。
为解决上述技术问题,本申请提供一种资源受限约束下的活动推荐方法,所述方法包括:
提取原始数据的特征数据;其中,所述特征数据包括活动关键属性及其关键度,活动资格属性及其对应的资格阈值;
根据所述特征数据计算用户与活动的响应度矩阵;
根据所述特征数据进行用户聚类,形成不同等级的特征群体,并根据所述特征群体计算用户与活动的贡献率预测矩阵;
将所述响应度矩阵以及所述贡献率预测矩阵进行拟合,得到用户与活动的价值矩阵;
根据所述价值矩阵,利用Top-N推荐算法筛选出各所述指定活动的前预定数量的优质用户,对各所述优质用户中不受限的用户直接进行指定活动推荐得到第一推荐结果,对各所述优质用户中受限的用户进行合并,并筛选出受限用户与活动的受限价值矩阵;
根据所述受限价值矩阵,利用KMB算法求解资源受限约束下的用户与活动的推荐结果,并与所述第一推荐结果进行合并,形成资源受限约束下的全局最优推荐结果。
可选的,提取原始数据的特征数据,包括:
对原始数据中的用户的基本信息,历史交易行为信息和历史活动参与信息进行分析,提取用户的基本信息特征、历史交易行为偏好特征、活动的用户群特征以及活动中不同用户对活动的贡献率特征;其中,所述活动的用户群特征包含活动关键属性及其关键度,活动资格属性及其对应的资格阈值。
可选的,根据所述特征数据计算用户与活动的响应度矩阵,包括:
利用公式计算用户与活动的响应度矩阵R;
其中,θij为各用户在各活动中最终的活动资格值,wik为第i个用户的第k项活动关键属性,φjk(wik)为第j个活动的第k项活动关键属性的计算函数,nj为第j个活动的活动关键属性个数,Ijk为第j个活动的第k项活动关键属性的重要度。
可选的,根据所述特征数据进行用户聚类,形成不同等级的特征群体,并根据所述特征群体计算用户与活动的贡献率预测矩阵,包括:
根据所述基本信息特征和所述历史交易行为偏好特征进行用户聚类,得到多个用户群;
按照用户是否参与过活动对每个所述用户群进行划分,得到每个所述用户群对应每个活动的参与用户群和未参与用户群;
对所述参与用户群的历史贡献率进行汇总计算,得到所述参与用户群的贡献率的统计数作为该用户群贡献率的评估参数;
根据所述用户群的实际贡献率分布情况,对所述未参与用户群的贡献率进行预测填充得到未参与用户群贡献率;
根据所述参与用户群贡献率以及所述未参与用户群贡献率得到用户与活动的贡献率预测矩阵。
可选的,将所述响应度矩阵以及所述贡献率预测矩阵进行拟合,得到用户与活动的价值矩阵,包括:
利用公式V[i,j]=R[i,j]*C[i,j]*W[j]计算用户与活动的价值矩阵V;
其中,R为用户与活动的响应度矩阵,C为用户与活动的贡献率预测矩阵,W为活动权重向量。
可选的,根据所述价值矩阵,利用Top-N推荐算法筛选出各所述指定活动的前预定数量的优质用户,对各所述优质用户中不受限的用户直接进行指定活动推荐得到第一推荐结果,对各所述优质用户中受限的用户进行合并,并筛选出受限用户与活动的受限价值矩阵,包括:
确定每个活动需要推荐的用户数Ni;
从所述价值矩阵中为每个活动筛选出价值数值位于前的用户;其中,为动态参数;
将价值数值位于前Ni的用户存放到集合Ai,将价值数值位于前的用户存放到集合Bi;
当用户u满足u∈Ai=k且则直接进行指定活动推荐得到第一推荐结果;
当用户u满足u∈Ai=j,k,h且则判断用户u适合参与活动的数量是否超过限制;若未超过,则直接进行指定活动推荐得到第一推荐结果;若超过,则将所述用户作为受限用户;
不满足u∈Ai=k且以及u∈Ai=j,k,h且的优质用户作为受限用户;
对全部受限用户进行合并,并从所述价值矩阵中筛选出受限用户与活动的受限价值矩阵。
可选的,根据所述价值矩阵,根据所述受限价值矩阵,利用KMB算法求解资源受限约束下的用户与活动的推荐结果,包括:
确定资源受限约束下的受限用户可被推荐活动数量向量L,每个所述指定活动所需用户数量向量La,受限用户活动推荐情况矩阵T;
利用公式求取最大化σ对应的T作为资源受限约束下的用户与活动的推荐结果;
其中,Vmin为受限价值矩阵,n为受限用户数量,m为剩余待推荐活动数量,i为用户的下标或编号,j为活动的下标或编号。
本申请还提供一种资源受限约束下的活动推荐系统,所述系统包括:
特征数据获取模块,用于提取原始数据的特征数据;其中,所述特征数据包括活动关键属性及其关键度,活动资格属性及其对应的资格阈值;
响应度矩阵计算模块,用于根据所述特征数据计算用户与活动的响应度矩阵;
贡献率预测矩阵计算模块,用于根据所述特征数据进行用户聚类,形成不同等级的特征群体,并根据所述特征群体计算用户与活动的贡献率预测矩阵;
价值矩阵计算模块,用于将所述响应度矩阵以及所述贡献率预测矩阵进行拟合,得到用户与活动的价值矩阵;
第一推荐模块,用于根据所述价值矩阵,利用Top-N推荐算法筛选出各所述指定活动的前预定数量的优质用户,对各所述优质用户中不受限的用户直接进行指定活动推荐得到第一推荐结果,对各所述优质用户中受限的用户进行合并,并筛选出受限用户与活动的受限价值矩阵;
最终推荐模块,用于根据所述受限价值矩阵,利用KMB算法求解资源受限约束下的用户与活动的推荐结果,并与所述第一推荐结果进行合并,形成资源受限约束下的全局最优推荐结果。
可选的,所述第一推荐模块包括:
用户数确定单元,用于确定每个活动需要推荐的用户数Ni;
筛选单元,用于从所述价值矩阵中为每个活动筛选出价值数值位于前的用户;其中,为动态参数,
集合分配单元,用于将价值数值位于前Ni的用户存放到集合Ai,将价值数值位于前的用户存放到集合Bi;
第一推荐单元,用于当用户u满足u∈Ai=k且则直接进行指定活动推荐得到第一推荐结果;当用户u满足u∈Ai=j,k,h且则判断用户u适合参与活动的数量是否超过限制;若未超过,则直接进行指定活动推荐得到第一推荐结果;若超过,则将所述用户作为受限用户;不满足u∈Ai=k且以及u∈Ai=j,k,h且的优质用户作为受限用户;对全部受限用户进行合并,并从所述价值矩阵中筛选出受限用户与活动的受限价值矩阵。可选的,所述最终推荐模块包括:
向量确定单元,用于确定资源受限约束下的受限用户可被推荐活动数量向量L,每个所述指定活动所需用户数量向量La,受限用户活动推荐情况矩阵T;
第二推荐单元,用于利用公式求取最大化σ对应的T作为资源受限约束下的用户与活动的推荐结果;
最终推荐单元,用于将资源受限约束下的用户与活动的推荐结果与所述第一推荐结果进行合并,形成资源受限约束下的全局最优推荐结果;
其中,Vmin为受限价值矩阵,n为受限用户数量,m为剩余待推荐活动数量,i为用户的下标或编号,j为活动的下标或编号。
本申请所提供的一种资源受限约束下的活动推荐方法,在对原始数据的活动特征以及用户特征进行提取之后,计算出用户与活动的响应度矩阵和用户与活动的贡献率预测矩阵,然后对响应度矩阵和贡献率预测矩阵进行拟合形成用户与活动的价值矩阵;再根据价值矩阵,利用小基数Top-N推荐算法对推荐规模进行约减,将价值分值在活动前预定数量的用户进行筛出作为优质用户,将不受到资源限制的用户直接进行推荐,从而提高最终求解速度。最后对资源受限(利如:成本受限、时间受限等)多对多推荐过程进行形式化,并利用KMB算法求解出受限状态下的全局最优推荐方案;实现整体收益最大化的,而不是每个活动的局部收益最大化;本申请所提供的一种资源受限约束下的活动推荐系统,具有上述有益效果,在此不再赘述。
具体实施方式
本申请的核心是提供一种资源受限约束下的活动推荐方法及系统,在考虑用户与活动贡献率和资源受限条件下,完成全局最优化多对多推荐,实现活动推荐的整体收益最大化,而不是每个活动的局部收益最大化。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本实施例提供一种资源受限约束下的活动多对多推荐方法,在考虑用户-活动贡献率和资源受限条件下,完成全局最优化多对多推荐。具体请参考图1,图1为本申请实施例所提供的资源受限约束下的活动推荐方法的流程图;该方法可以包括:
S100、提取原始数据的特征数据;其中,特征数据包括活动关键属性及其关键度,活动资格属性及其对应的资格阈值。
具体的,本实施例并不对特征数据的具体内容进行限定,用户可以根据后续步骤的计算需求进行相应的提取。本实施例后续会计算响应度矩阵以及贡献率预测矩阵等,因此特征数据中包含活动关键属性及其关键度,活动资格属性及其对应的资格阈值。其中,活动关键属性(可以简称为关键属性)是活动中频繁出现的正相关特征,关键度则是该关键属性的权重;活动资格属性(可以简称为资格属性)是参与活动用户必须满足的特征,其对应的阈值则是用户参与该活动必须满足该特征属性的最小值。本实施例也不限定具体提取原始数据的特征数据的方式,用户可以根据原始数据的数据存储形式进行适用性选择提取的算法。下面提供一种具体的提取原始数据的特征数据的方式:在数据预处理阶段,对原始数据中全部用户的基本信息、历史交易行为信息和历史活动参与信息(即参与情况)等进行分析及抽象,抽取出:a、用户的基本信息特征;b、用户的历史交易行为偏好特征;c、相关营销活动(即活动)的用户群特征;d、不同用户对活动的贡献率特征的情况;
其中,对a、b、c这三个抽象特征信息的综合分析,可用于用户-活动响应度的评估;而对a、b、d的特征信息的综合分析,可用于用户-活动的贡献率的预估。
对于相关活动的用户群特征的抽取,可以按照如下方式。首先,将相关活动的用户群特征分为两大类,一类是活动关键属性特征(即活动关键属性),另一类是活动资格属性特征(即活动资格属性)。
在提取活动关键属性特征时,根据受邀用户名单、历史活动时间和受邀用户参与活动记录,对受邀用户参与活动情况进行汇总;例如参与活动的总用户数、活动不同单笔消费金额区间的总人数、活动不同消费类型的总人数、活动境内外消费总人数、活动不同消费方式的总消费额度和人均额度等,基于汇总信息,如果某个活动中参与用户的某项特征汇总人数或额度到达给定阈值,并满足提升度大于1时,该项属性将作为该活动的一项活动关键属性,其重要度I=Nw/Na,Nw为该活动中参与用户的该项特征汇总人数或汇总额度,Na为该活动总参与人数或总消费额度。
在提取活动资格属性特征时,对于专家直接给定的活动资格属性及其阈值直接存入活动资格属性表中,而非专家给出的资格属性,则可以根据受邀用户名单和受邀用户参与活动情况等,对受邀但未参与活动用户的特征属性进行分析和启发式学习,找出不参加某个活动的用户的共同属性,并通过搜索这类属性的阈值,最终确定出具体的资格属性及其阈值,并存入资格属性表。
S110、根据特征数据计算用户与活动的响应度矩阵。
具体的,本实施例并不限定具体响应度矩阵的计算方式,为了保证响应度矩阵的可靠性,可以通过相关活动的关键属性和资格属性,对用户-活动的响应度矩阵进行计算。优选的,本实施例可以采用如下方式计算响应度矩阵:
利用公式计算各用户在各活动中最终的活动资格属性(即活动资格值);其中,其中,xik为第i个用户的第k项资格属性值,为第j个活动的第k项资格属性的计算函数,τjk为第j个活动的第k项资格属性阈值,mj为第j个活动的资格属性个数,θij为第i个用户在第j个活动最终资格值;
利用公式计算用户与活动的响应度矩阵R;其中,θij为各用户在各活动中最终的活动资格属性,wik为第i个用户的第k项活动关键属性,φjk(wik)为第j个活动的第k项活动关键属性的计算函数,nj为第j个活动的活动关键属性个数,Ijk为第j个活动的第k项活动关键属性的重要度,则R[i,j]为第i个用户对于第j个活动的最终响应度评分,例如表示第1个用户与第1个活动的响应度为0.5,与第2个活动的响应度为0.7,与第3个活动的相响应度为0.8,依次类推。
S120、根据特征数据进行用户聚类,形成不同等级的特征群体,并根据特征群体计算用户与活动的贡献率预测矩阵。
具体的,本实施例并不限定具体贡献率预测矩阵的计算方式,可以用户聚类,形成具有相似消费行为的特征群体,然后用相似群体在不同活动的消费水平,对未知的用户-活动贡献率进行预测。优选的,本实施例可以采用如下方式计算贡献率预测矩阵C:
第一:根据用户的基本信息特征和历史交易行为偏好特征对用户进行用户聚类,得到多个用户群U1、U2...Un;其中,U=U1∪U2...∪Un,
第二:按照用户是否参与过活动对每个用户群进行划分,得到每个用户群对应每个活动的参与用户群UnmY和未参与用户群UnmN;其中,UnmY表示第n个用户群中有参与过活动m的群体,UnmN表示第n个用户群中没有参与过活动m的群体。
第三:对UnmY群体的历史贡献率进行汇总分析,计算得到参与用户群的贡献率的统计数作为该用户群贡献率的评估参数;本实施例并不对统计数的进行限定,例如可以是平均数、最大值、最小值、中位数等。这些不同的统计数的选取可以根据实际情况进行选择,统计数主要是通过对同一个用户群历史贡献进行统计得到的,用途是对同一个用户群中,未参与过活动的用户进行评估(即对某个用户在某个活动中不存在历史贡献率的情况进行填充),而具体运用那种统计数是和实际的案例和要求有关的,不同的选择可能会影响到最终贡献率预测的准确率,例如:如果同一个用户群用户历史贡献率分布比较均匀则选择平均数;如果历史贡献率在中间的分布比较密集,则选择众数或者中位数;如果在历史贡献率较小的位置分布比较密集,则选择最小值;最大值同理。对于一个参与用户的多次历史记录的统计数,用于预测该用户的贡献率,对于一个用户群中多个参与用户历史记录的统计数,是用于未参与用户群贡献率的预测。
第四:根据用户群的实际贡献率分布情况,对UnmN群体的贡献率进行预测填充得到未参与用户群贡献率;这里的预测填充可以利用实际贡献率分布统计数(例如均值)进行填充。
第五:根据参与用户群贡献率以及未参与用户群贡献率得到用户与活动的贡献率预测矩阵C。即通过C可以知道每个用户对于每个活动的贡献率矩阵C[i,j],其中矩阵C的行表示用户,列表示活动。
例如表示第1个用户对第1个活动的贡献率为0.9,对第2个活动的贡献率为0.1,对第3个活动的贡献率为0.2,依次类推。
S130、将响应度矩阵以及贡献率预测矩阵进行拟合,得到用户与活动的价值矩阵。
具体的,本实施例并不限定具体价值矩阵的计算方式。优选的,本实施例可以采用如下方式计算价值矩阵V:
利用公式V[i,j]=R[i,j]*C[i,j]*W[j]计算用户与活动的价值矩阵V;
其中,R为用户与活动的响应度矩阵,C为用户与活动的贡献率预测矩阵,W为活动权重向量。价值矩阵V中的数值代表了用户-活动价值分值,是综合考虑响应度和贡献率的分值,分值越高越适合参与该活动,同时,为了衡量不同活动的收益率高低以及营销活动的侧重点,在拟合用户-活动价值矩阵V时,该优选实施例引入了活动权重向量W,从而可以提高价值矩阵的可靠性和准确性。如W=[10,20,30],表示第1个活动的权重为10,第2个活动的权重为20,第3个活动的权重为30。
例如表示第1个用户对第1个活动的价值分值为4.50,对第2个活动的价值分值为1.40,对第3个活动的价值分值为4.80,依次类推。
S140、根据价值矩阵,利用Top-N推荐算法筛选出各指定活动的前预定数量的优质用户,对各优质用户中不受限的用户直接进行指定活动推荐得到第一推荐结果,对各优质用户中受限的用户进行合并,并筛选出受限用户与活动的受限价值矩阵。
其中,本实施例并不对具体的预定数量的具体数值进行限定。该步骤即对不受限的用户直接进行推荐,对受限的优质用户进行合并,然后从价值矩阵,抽取出规模更小的受限价值矩阵。这里的指定活动即选定的营销活动,本实施例并不对指定活动的数量进行限定,任何用户需要计算的活动都可以称之为指定活动。即每个指定活动都会存在直接可以推荐的用户和受限用户。对于不受限的用户直接推荐,对于受限的用户合并后计算受限价值矩阵,并利用KMB算法求解资源受限约束下的用户与活动的推荐结果。
具体的,在进行资源受限下活动的多对多推荐之前,会利用小基数Top-N推荐算法对推荐规模进行约减,其作用在于将价值分值在对应活动前的用户进行筛出,将价值分值在活动前Ni且不受到资源限制的用户直接进行推荐得到第一推荐结果,从而提高最终求解速度,提高用户体验。而这里的小基数主要是指在Top-N推荐算法中推荐出去的不受限用户所占的基数相对较小,其主要原因在于实际资源的受限约束。具体流程如下:
首先,根据每个活动需要推荐的用户数Ni,从用户-活动的价值矩阵V中为每个活动抽取价值分值数值排在前(即预定数量)的用户,其中为一个动态参数,可以根据历史可满足分配的人数进行动态调整。
然后,将每个活动的价值分值数值排在前Ni个用户分别存入相应的集合Ai,排名在用户分别存入相应的集合Bi。
最后,对于某个用户u,如果满足u∈Ai=k且即该用户不同时出现在多个活动的排名前名单中,则可以直接确定推荐给u的活动,即直接进行满足条件的指定活动推荐,该推荐位于第一推荐结果,而对于用户u满足u∈Ai=j,k,h且的情况,即该用户同时出现在多个活动的排名前Ni名单中,且不出现在非以上活动的前名单中。那么根据用户适合参与活动的数量是否超过限制来进一步确认,如果不超过条件限制,则可以确定推荐给u的活动。因此,对符合上述两种情况的用户可以直接进行推荐,形成最终的第一推荐结果,对不符合上述情况且排名在前的用户进行合并,并从V矩阵中筛选出来形成规模更小的受限价值矩阵Vmin。
S150、根据受限价值矩阵,利用KMB算法求解资源受限约束下的用户与活动的推荐结果,并与第一推荐结果进行合并,形成资源受限约束下的全局最优推荐结果。
其中,该步骤利用KMB算法求解资源受限条件下的用户-活动推荐结果,并与步骤S140中推荐结果进行合并,形成最终的全局最优推荐结果。KMB算法(Kuhn-MunkresAlgorithm with Backtracking),即带回溯的Kuhn-Munkres算法(又称匈牙利算法),是多对多最优指派算法,时间复杂度为立方级。其中多对多指派,指一个人能被指派于执行多个任务,一个任务能被分配给多人完成;多对多最优指派算法,意为指派完成后,价值评估求和总值最高(Maximal),是硬优化算法。
具体的,对价值分值在活动前且受资源限制约束的用户,即实际适合参与活动数量超过实际可参与活动数量的用户及其关联用户,进行资源受限多对多推荐。而其中的资源受限约束,则导致了最终资源受限多对多推荐过程中的用户可参与活动的基数约束和活动需要用户的基数约束。具体资源受限多对多推荐过程的形式化如下:
确定资源受限约束下的受限用户可被推荐活动数量向量L,每个指定活动所需用户数量向量La,受限用户活动推荐情况矩阵T;
利用公式求取最大化σ对应的T作为资源受限约束下的用户与活动的推荐结果;其中,Vmin为受限价值矩阵,n为受限用户数量,m为剩余待推荐活动数量,i为用户的下标或编号,j为活动的下标或编号。
具体的,例如L=[2 1 3 2],表示第1个用户可以被推荐的活动数量为2,第2个用户可以被推荐的活动数量为1,依次类推。La=[8 5 6 7],表示第1个活动需要用户数量为8,第2个活动需要用户数量为5,依次类推。表示第1个用户被推荐了活动1和活动2,第2个用户被推荐了活动1,第3个用户被推荐了活动2。
其中,资源受限条件下的多对多推荐,可抽象为求最大化σ的过程,具体如下:利用公式求取最大化σ对应的T作为资源受限约束下的用户与活动的推荐结果,其中,约束条件为:
T[i,j]∈{0,1}(1≤i≤n,1≤j≤m)
其中,求出使σ最大的T推荐情况矩阵,然后,将其与步骤S140中的第一推荐结果进行合并,得出最终的推荐结果。
基于上述技术方案,本申请实施例提供的资源受限约束下的活动推荐方法,在对原始数据的活动特征以及用户特征进行提取之后,计算出用户与活动的响应度矩阵和用户与活动的贡献率预测矩阵,然后对响应度矩阵和贡献率预测矩阵进行拟合形成用户与活动的价值矩阵;再根据价值矩阵,利用小基数Top-N推荐算法对推荐规模进行约减,将价值分值不在所有活动的前的用户进行排除,将价值分值在活动前的用户筛选出来进行后续的活动推荐,即价值分值不在前的用户是确定不会给其推荐活动的,即排除掉的,对于价值分值在前的用户是筛选出来给其推荐活动的,而在前Ni的用户,根据其受不受限来确定其是进行第一推荐,还是受限推荐,同时,在前Ni的用户必然在前从而提高最终求解速度。最后对资源受限(利如:成本受限、时间受限等)多对多推荐过程进行形式化,并利用KMB算法求解出受限状态下的全局最优推荐方案;实现整体收益最大化的,而不是每个活动的局部收益最大化。
下面对本申请实施例提供的资源受限约束下的活动推荐系统进行介绍,下文描述的资源受限约束下的活动推荐系统与上文描述的资源受限约束下的活动推荐方法可相互对应参照。
请参考图2,图2为本申请实施例所提供的资源受限约束下的活动推荐系统的结构框图;该系统可以包括:
特征数据获取模块100,用于提取原始数据的特征数据;其中,特征数据包括活动关键属性及其关键度,活动资格属性及其对应的资格阈值;
响应度矩阵计算模块200,用于根据特征数据计算用户与活动的响应度矩阵;
贡献率预测矩阵计算模块300,用于根据特征数据进行用户聚类,形成不同等级的特征群体,并根据特征群体计算用户与活动的贡献率预测矩阵;
价值矩阵计算模块400,用于将响应度矩阵以及贡献率预测矩阵进行拟合,得到用户与活动的价值矩阵;
第一推荐模块500,用于根据价值矩阵,利用Top-N推荐算法筛选出各指定活动的前预定数量的优质用户,对各优质用户中不受限的用户直接进行指定活动推荐得到第一推荐结果,对各优质用户中受限的用户进行合并,并筛选出受限用户与活动的受限价值矩阵;
最终推荐模块600,用于根据受限价值矩阵,利用KMB算法求解资源受限约束下的用户与活动的推荐结果,并与第一推荐结果进行合并,形成资源受限约束下的全局最优推荐结果。
具体的,该系统可以在存储芯片中存储各个模块对应的算法,例如数据挖掘方法、统计方法和协调过滤方法,Top-N推荐算法以及KMB算法,学习算法,关联分析方法,分类方法,聚类方法等。其中,特征数据获取模块100可以执行原始数据的连接及获取、用户的基本信息特征的提取、用户的交易行为偏好特征的提取、活动的用户群特征的提取、用户与活动的贡献率情况的提取、活动资格属性及阈值的提取、活动关键属性及关键度的提取等。
其中,响应度矩阵计算模块200、贡献率预测矩阵计算模块300以及价值矩阵计算模块400的工作流程可以参考图3,根据拟合后的用户-活动的价值矩阵进行相应的Top N名单筛选后,第一推荐模块500会根据用户是否为受限情况下的推荐对象对推荐规模进行约减,具体推荐规模约减流程如图4(图4中取值为0.3);最终推荐模块600则是负责求解受限情况下的多对多推荐情况,并将其与不受限推荐结果进行整合,最终获得受限条件下的全局最优化多对多推荐结果。
请参考图5,为该系统的工作流程示意图;S101:对原始数据的活动特征以及用户特征进行提取(即对原始数据的特征数据提取);S102:计算出用户-活动的响应度矩阵;S103:计算模块用户-活动的贡献率矩阵(即贡献率预测矩阵);S104:对响应度矩阵和贡献率矩阵进行拟合,形成用户-活动的价值矩阵;S105:根据价值矩阵,利用小基数Top-N推荐算法对受限营销活动多对多推荐规模进行约减;S106:进行受限多对多推荐;S107:对推荐结果进行合并;S108:输出全局优化推荐名单。以便查看。本实施例并不对具体的输出形式进行限定。例如可以是打印输出,也可以是显示器输出等。
基于上述实施例,第一推荐模块500可以包括:
用户数确定单元,用于确定每个活动需要推荐的用户数Ni;
筛选单元,用于从价值矩阵中为每个活动筛选出价值数值位于前的用户;其中,为动态参数;
集合分配单元,用于将价值数值位于前Ni的用户存放到集合Ai,将价值数值位于前的用户存放到集合Bi;
第一推荐单元,用于当用户u满足u∈Ai=k且则直接进行指定活动推荐得到第一推荐结果;当用户u满足u∈Ai=j,k,h且则判断用户u适合参与活动的数量是否超过限制;若未超过,则直接进行指定活动推荐得到第一推荐结果;若超过,则将所述用户作为受限用户;不满足u∈Ai=k且以及u∈Ai=j,k,h且的优质用户作为受限用户;对全部受限用户进行合并,并从所述价值矩阵中筛选出受限用户与活动的受限价值矩阵。基于上述实施例,最终推荐模块600可以包括:
向量确定单元,用于确定资源受限约束下的受限用户可被推荐活动数量向量L,每个指定活动所需用户数量向量La,受限用户活动推荐情况矩阵T;
第二推荐单元,用于利用公式求取最大化σ对应的T作为资源受限约束下的用户与活动的推荐结果;
最终推荐单元,用于将资源受限约束下的用户与活动的推荐结果与第一推荐结果进行合并,形成资源受限约束下的全局最优推荐结果;
其中,Vmin为受限价值矩阵,n为受限用户数量,m为剩余待推荐活动数量,i为用户的下标或编号,j为活动的下标或编号。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种资源受限约束下的活动推荐方法及系统进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。