CN105913286B - 一种自动融合多种个性化推荐模型的方法 - Google Patents

一种自动融合多种个性化推荐模型的方法 Download PDF

Info

Publication number
CN105913286B
CN105913286B CN201610325683.7A CN201610325683A CN105913286B CN 105913286 B CN105913286 B CN 105913286B CN 201610325683 A CN201610325683 A CN 201610325683A CN 105913286 B CN105913286 B CN 105913286B
Authority
CN
China
Prior art keywords
algorithm
user
item
information
recommendation
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.)
Active
Application number
CN201610325683.7A
Other languages
English (en)
Other versions
CN105913286A (zh
Inventor
纪达麒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Daguan Data Co ltd
Original Assignee
Daerguan Information Technology (shanghai) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Daerguan Information Technology (shanghai) Co Ltd filed Critical Daerguan Information Technology (shanghai) Co Ltd
Priority to CN201610325683.7A priority Critical patent/CN105913286B/zh
Publication of CN105913286A publication Critical patent/CN105913286A/zh
Application granted granted Critical
Publication of CN105913286B publication Critical patent/CN105913286B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及自动融合多种个性化推荐模型的方法,属于计算机技术领域。本发明包括如下步骤:第一步:通过离线数据统计出推荐位展现位置的平均点击率和各算法的平均点击率。第二步:启动的时候加载平均点击率和各算法平均点击率,以及生成用户算法偏好信息字典。第三步:用户访问推荐服务,RecServer触发推荐请求;第四步:RecServer通过UserEmsembleServer获取各个算法的权重βk,请求参数为用户id;第五步:UserEmsembleServer收到请求后,通过用户算法偏好信息字典查看该用户的算法偏好信息是否存在。第六步:RecServer使用返回的结果,结合各个算法的得分。本发明实时为每个用户建立算法偏好模型,相当于每个用户自己主动选择喜欢的算法,这样可以很大程度的发挥各个算法的长处,提升推荐效果。

Description

一种自动融合多种个性化推荐模型的方法
技术领域
本发明涉及自动融合多种个性化推荐模型的方法,属于计算机技术领域。
背景技术
在这个信息爆炸的时代,消费者面临众多选择、未知的领域、过载的信息时,往往无所适从;然而与此同时,内容的生产者(例如商家)也在苦苦寻觅合适的用户,寻找最便捷的渠道,而解决这两类矛盾的最好工具就是推荐系统。推荐系统有很多种算法,如基于内容的推荐算法、基于物品的协同过滤算法、基于用户的协同过滤算法、矩阵分解算法等,不同的算法都有各自的优缺点,只有将不同算法进行有效融合,才能最大的提升效果。
传统的多算法融合往往采用线性方法或者优先级融合算法。线性方法把不同算法赋予不同的权重,然后线性加权,如下公式所示。假设有n种算法,Score(u,i)是给用户(user)推荐商品(item)的得分,βk是算法K的权重,reck(u,i)是算法K得到的用户(user)对商品item的推荐得分。
优先级融合算法主要是先界定不同的算法的好坏,优先使用好算法的推荐结果,得不到结果时再使用次好的,依次类推。
这些方法的问题在于,对于所有用户,每种算法对不同用户的影响是一样的。但不同算法往往适用于不同的用户,如基于物品的协同过滤更适用于推荐给用户1,基于用户的协同过滤算法更适用于推荐给用户2。
发明内容
为了克服上述的不足,本发明提供一种自动融合多种个性化推荐模型的方法,本方法能够为用户展现和点击数据实时反馈到系统中,系统为每个用户建立一个算法权重模型;新用户可以通过离线统计算法,提前生成一份算法权重,实时模型在这份算法权重上进行调整。权重调整的时候,对展现和点击调权方式不一样,并且考虑了位置因素以及算法的得分贡献因素。
本发明采取的技术方案如下:
自动融合多种个性化推荐模型的方法,包括如下步骤:
第一步:通过离线数据统计出推荐位展现位置的平均点击率和各算法的平均点击率,所述展现位置是每次推荐一般都会有多个结果,排列顺序可以依次进行编号(1,2,3……),展现位置i的平均点击率Ctri计算方法为该位置的总点击除以总曝光,
Figure BDA0000991139240000021
各算法的平均点击率βk计算方法为每个算法产生的点击除以算法的曝光次数,
Figure BDA0000991139240000022
第二步:启动的时候加载平均点击率和各算法平均点击率,以及生成用户算法偏好信息字典,该字典结构是用户id为key,value是该用户各个算法的权重列表,并且初始化展现信息字典item_show_dict,该字典用来接收点击请求时可以找出对应的展现算法信息,即这次推荐点击是来自哪次的推荐展现;
第三步:用户访问推荐服务,RecServer触发推荐请求(RecPV);
第四步:RecServer通过UserEmsembleServer获取各个算法的权重βk,请求参数为用户id(userid)(GetWeight);
第五步:UserEmsembleServer收到请求后,通过用户算法偏好信息字典(user_alg_dict)查看该用户的算法偏好信息(UserAlgList)是否存在,存在则返回该信息,不存在则将启动时加载的算法平均点击率作为UserAlgList,一方面更新用户算法偏好信息字典,一方面作为结果返回;
第六步:RecServer使用返回的结果,结合各个算法的得分,计算出每个待推荐item的得分,计算方式为
Figure BDA0000991139240000023
并且根据最终得分从高到低排列,得到推荐的列表;
第七步:RecServer把推荐列表信息实时发送给UserEmsembleServer,推荐展现的信息包括推荐id(pvid)、用户id(userid)、展现的物品id(itemid)、展现的位置id(posid)、算法信息列表(alg_info_list),该列表每项包括算法id(algid)、算法得分(Scorek);
第八步:UserEmsembleServer对每个展现的物品(item)逐一更新用户算法偏好信息字典(user_alg_dict),更新方式为先找到该用户id(userid)对应的UserAlgList,对该List中的每个算法(alg),更新其权重,更新方式为
Figure BDA0000991139240000031
βk′是更新后的权重,Ctri是展现位置i的平均点击率,Scorek是算法K对该item的得分;Scoreitem是该item的总得分,λ是位置点击率的衰减常数、ξ是算法点击率的衰减常数,可以根据具体的业务场景设置不同的值;
第九步:如果用户点击了推荐结果,该信息会发送给clickserver;
第十步:clickserver把点击信息发送给UserEmsembleServer,点击信息包括用户id(userid),商品id(itemid),推荐ID(pvid);
第十一步:UserEmsembleServer收到点击信息后,首先通过pvid和itemid,在展现信息字典item_show_dict中可以找到推荐该item的算法列表,同时通过用户算法偏好信息字典找到该用户的算法信息,然后逐一更新各个算法偏好信息,更新方式为
βk′是更新后的权重,Scorek是算法K对该item的得分,Scoreitem是该item的总得分,
Figure BDA0000991139240000033
是点击衰减常数。
第十一步中假设用户点击了item2,
Figure BDA0000991139240000034
取值为1.0,weight1=0.380*(1+1.0*0.2/1.1)=0.449;weight2=0.282*(1+1.0*0.9/1.1)=0.512。
第二步的推荐展现数据结构如下:
vector<float>PosCtr//平均点击率列表,存储为数组
struct
{
int algid;//算法id
float weight;//算法权重
}UserAlg//单个算法以及对应权重
vector<UserAlg>UserAlgList//数组结构,表示一个用户的所有算法以及对应的权重
map<userid,UserAlgList>user_alg_dict//用户算法偏好信息字典
vector<int>AlgList//算法id列表
map<pvid_itemid,AlgList>item_show_dict//以pvid+itemid为key,value是展现该item对应的算法列表
本发明的有益效果:不同的推荐算法,往往适用于不同的用户,本发明通过用户的点击反馈行为,实时为每个用户建立算法偏好模型,相当于每个用户自己主动选择喜欢的算法,这样可以很大程度的发挥各个算法的长处,提升推荐效果。
附图说明
图1示例性地示出了本发明流程示意图。
具体实施方式
下面结合附图对本发明做进一步说明,
如图1所示,本发明包括如下步骤:
第一步:通过离线数据统计出推荐位展现位置的平均点击率和各算法的平均点击率,所述展现位置是每次推荐一般都会有多个结果,排列顺序可以依次进行编号(1,2,3……),展现位置i的平均点击率Ctri计算方法为该位置的总点击除以总曝光,各算法的平均点击率βk计算方法为每个算法产生的点击除以算法的曝光次数,
Figure BDA0000991139240000042
第二步:启动的时候加载平均点击率和各算法平均点击率,以及生成用户算法偏好信息字典,该字典结构是用户id为key,value是该用户各个算法的权重列表,并且初始化展现信息字典item_show_dict,该字典用来接收点击请求时可以找出对应的展现算法信息,即这次推荐点击是来自哪次的推荐展现;数据结构如下:
vector<float>PosCtr//平均点击率列表,存储为数组
struct
{
int algid;//算法id
float weight;//算法权重
}UserAlg//单个算法以及对应权重
vector<UserAlg>UserAlgList//数组结构,表示一个用户的所有算法以及对应的权重
map<userid,UserAlgList>user_alg_dict//用户算法偏好信息字典
vector<int>AlgList//算法id列表
map<pvid_itemid,AlgList>item_show_dict//以pvid+itemid为key,value是展现该item对应的算法列表
第三步:用户访问推荐服务,RecServer触发推荐请求(RecPV);
第四步:RecServer通过UserEmsembleServer获取各个算法的权重βk,请求参数为用户id(userid)(GetWeight);
第五步:UserEmsembleServer收到请求后,通过用户算法偏好信息字典(user_alg_dict)查看该用户的算法偏好信息(UserAlgList)是否存在,存在则返回该信息,不存在则将启动时加载的算法平均点击率作为UserAlgList,一方面更新用户算法偏好信息字典,一方面作为结果返回;
第六步:RecServer使用返回的结果,结合各个算法的得分,计算出每个待推荐item的得分,计算方式为
Figure BDA0000991139240000051
并且根据最终得分从高到低排列,得到推荐的列表;
第七步:RecServer把推荐列表信息实时发送给UserEmsembleServer,推荐展现的信息包括推荐id(pvid)、用户id(userid)、展现的物品id(itemid)、展现的位置id(posid)、算法信息列表(alg_info_list),该列表每项包括算法id(algid)、算法得分(Scorek);
第八步:UserEmsembleServer对每个展现的物品(item)逐一更新用户算法偏好信息字典(user_alg_dict),更新方式为先找到该用户id(userid)对应的UserAlgList,对该List中的每个算法(alg),更新其权重,更新方式为
Figure BDA0000991139240000061
βk′是更新后的权重,Ctri是展现位置i的平均点击率,Scorek是算法K对该item的得分;Scoreitem是该item的总得分,λ是位置点击率的衰减常数、ξ是算法点击率的衰减常数,可以根据具体的业务场景设置不同的值;假设有2种算法,推荐列表依次为item1和item2,位置1的平均点击率为0.2,位置2的平均点击率为0.1。假设算法1和算法2的权重分别为0.4和0.3,常量λ设为0.01,ξ设为0.05;
Figure BDA0000991139240000062
先处理item1,
weight1=0.4*(1-0.01*0.2)*(1-0.05*0.9/1.2)=0.384,
weight2=0.3*(1-0.01*0.2)*(1-0.05*0.3/1.1)=0.295;
再处理item2,
weight1=0.384*(1-0.01*0.1)*(1-0.05*0.2/1.1)=0.380,
weight2=0.295*(1-0.01*0.1)*(1-0.05*0.9/1.1)=0.282;
第九步:如果用户点击了推荐结果,该信息会发送给clickserver;
第十步:clickserver把点击信息发送给UserEmsembleServer,点击信息包括用户id(userid),商品id(itemid),推荐ID(pvid);
第十一步:UserEmsembleServer收到点击信息后,首先通过pvid和itemid,在展现信息字典item_show_dict中可以找到推荐该item的算法列表,同时通过用户算法偏好信息字典找到该用户的算法信息,然后逐一更新各个算法偏好信息,更新方式为
βk′是更新后的权重,Scorek是算法K对该item的得分,Scoreitem是该item的总得分,
Figure BDA0000991139240000072
是点击衰减常数。
上面的例子中,假设用户点击了item2,
Figure BDA0000991139240000073
取值为1.0,
weight1=0.380*(1+1.0*0.2/1.1)=0.449,
weight2=0.282*(1+1.0*0.9/1.1)=0.512,
所以对于该用户,算法1和算法2的初始权重为0.4和0.3,通过展现和点击行为后,权重更新为0.449和0.512,算法1的权重提升了(0.449-0.4)/0.4=12%。算法2的权重提升了(0.512-0.3)/0.3=70%。对于该用户算法2的权重更大。
对于本领域的普通技术人员而言,上述实施例只是对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。

Claims (1)

1.自动融合多种个性化推荐模型的方法,其特征在于:包括如下步骤:
第一步:通过离线数据统计出推荐展现位置的平均点击率和各算法的平均点击率,展现位置i的平均点击率Ctri计算方法为该位置的总点击数Clicki除以总曝光数PVi,
Figure FDA0002269959240000011
算法k的平均点击率βk计算方法为该算法产生的点击数Clickk除以该算法的曝光次数PVk
Figure FDA0002269959240000012
第二步:启动的时候加载各展现位置平均点击率和各算法平均点击率,以及生成用户算法偏好信息字典,该字典结构的key是用户标识userid,value是该用户标识各个算法的权重列表,并且初始化展现信息字典item_show_dict,该字典用于接收点击请求时找出对应的展现算法信息,即这次推荐点击是来自哪次的推荐展现;
第三步:用户访问推荐服务,RecServer触发推荐请求;
第四步:RecServer通过UserEmsembleServer获取各个算法的权重
Figure FDA0002269959240000014
请求参数为用户标识userid;
第五步:UserEmsembleServer收到请求后,通过用户算法偏好信息字典查看该用户的算法偏好信息UserAlgList是否存在,存在则返回该信息,不存在则将启动时加载的算法平均点击率作为算法偏好信息UserAlgList,一方面更新用户算法偏好信息字典,一方面作为结果返回;
第六步:RecServer使用返回的结果,结合各个算法的得分,计算出每个待推荐item的得分,计算方式为
Figure FDA0002269959240000013
其中,reck(u,i)是用户u的算法k对物品i的得分,并且根据最终得分从高到低排列,得到推荐的列表;
第七步:RecServer把推荐列表信息实时发送给UserEmsembleServer,推荐展现的信息包括推荐标识pvid、用户标识userid、展现的物品标识itemid、展现的位置标识posid、算法信息列表,算法信息列表每项包括算法标识algid、算法得分;
第八步:UserEmsembleServer对每个展现的物品逐一更新用户算法偏好信息字典,更新方式为先找到该用户标识userid对应的UserAlgList,对其中的每个算法,更新其权重,更新方式为
Figure FDA0002269959240000021
Figure FDA0002269959240000022
是更新后的权重,Ctri是展现位置i的平均点击率,Scorek是算法k对该item的得分;Scoreitem是该item的总得分,λ是位置点击率的衰减常数、ξ是算法点击率的衰减常数,根据具体的业务场景设置不同的值;
第九步:如果用户点击了推荐结果,该信息会发送给clickserver;
第十步:clickserver把点击信息发送给UserEmsembleServer,点击信息包括用户标识userid,物品标识itemid,推荐标识pvid;
第十一步:UserEmsembleServer收到点击信息后,首先通过推荐标识pvid和展现的物品标识itemid,在展现信息字典item_show_dict中找到推荐该item的算法列表,同时通过用户算法偏好信息字典找到该用户的算法信息,然后逐一更新各个算法偏好信息,更新方式为
Figure FDA0002269959240000023
Figure FDA0002269959240000024
是更新后的权重,Scorek是算法k对该item的得分,Scoreitem是该item的总得分,ξ是算法点击率的衰减常数。
CN201610325683.7A 2016-05-16 2016-05-16 一种自动融合多种个性化推荐模型的方法 Active CN105913286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610325683.7A CN105913286B (zh) 2016-05-16 2016-05-16 一种自动融合多种个性化推荐模型的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610325683.7A CN105913286B (zh) 2016-05-16 2016-05-16 一种自动融合多种个性化推荐模型的方法

Publications (2)

Publication Number Publication Date
CN105913286A CN105913286A (zh) 2016-08-31
CN105913286B true CN105913286B (zh) 2020-02-11

Family

ID=56749228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610325683.7A Active CN105913286B (zh) 2016-05-16 2016-05-16 一种自动融合多种个性化推荐模型的方法

Country Status (1)

Country Link
CN (1) CN105913286B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI634499B (zh) * 2016-11-25 2018-09-01 財團法人工業技術研究院 資料分析方法、系統及非暫態電腦可讀取媒體
CN107330050A (zh) * 2017-06-28 2017-11-07 达而观信息科技(上海)有限公司 一种个性化推荐方法及系统
CN109711912A (zh) * 2017-10-25 2019-05-03 贵州师范学院 一种融合FP-growth算法和Slope-One算法的混合推荐模型
CN112423123B (zh) * 2020-11-20 2022-04-15 上海哔哩哔哩科技有限公司 视频加载方法及装置
CN112633321B (zh) * 2020-11-26 2024-08-23 北京瑞友科技股份有限公司 一种人工智能推荐系统及方法
CN114528371A (zh) * 2022-01-13 2022-05-24 上海森亿医疗科技有限公司 基于人机交互的文本推荐方法、存储介质及电子设备
CN114936316B (zh) * 2022-04-18 2023-06-06 上海二三四五网络科技有限公司 基于展现位置因素改进的Hacker热门内容计算方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309866A (zh) * 2012-03-09 2013-09-18 华为技术有限公司 生成推荐结果的方法和装置
CN103744917A (zh) * 2013-12-27 2014-04-23 东软集团股份有限公司 混合推荐方法及系统
CN104123284A (zh) * 2013-04-24 2014-10-29 华为技术有限公司 一种推荐的方法及服务器
CN105574216A (zh) * 2016-03-07 2016-05-11 达而观信息科技(上海)有限公司 基于概率模型和用户行为分析的个性化推荐方法、系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309866A (zh) * 2012-03-09 2013-09-18 华为技术有限公司 生成推荐结果的方法和装置
CN104123284A (zh) * 2013-04-24 2014-10-29 华为技术有限公司 一种推荐的方法及服务器
CN103744917A (zh) * 2013-12-27 2014-04-23 东软集团股份有限公司 混合推荐方法及系统
CN105574216A (zh) * 2016-03-07 2016-05-11 达而观信息科技(上海)有限公司 基于概率模型和用户行为分析的个性化推荐方法、系统

Also Published As

Publication number Publication date
CN105913286A (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
CN105913286B (zh) 一种自动融合多种个性化推荐模型的方法
CN110941740B (zh) 视频推荐方法及计算机可读存储介质
Teo et al. Adaptive, personalized diversity for visual discovery
US10509791B2 (en) Statistical feature engineering of user attributes
JP2020523714A (ja) 推奨情報の取得方法及び装置、電子機器
JP5962926B2 (ja) レコメンダシステム、レコメンド方法、及びプログラム
JP3389948B2 (ja) 表示広告選択システム
JP6523498B1 (ja) 学習装置、学習方法および学習プログラム
CN109360069B (zh) 一种基于成对对抗训练的推荐模型的方法
WO2010117568A1 (en) Leveraging information in a social network for inferential targeting of advertisements
CN113850649A (zh) 一种基于多平台用户数据的定制化推荐方法及推荐系统
WO2015175835A1 (en) Click through ratio estimation model
KR101725510B1 (ko) 사용자 성향을 고려한 소셜 이벤트 추천 방법 및 장치
Bahadorpour et al. Determining optimal number of neighbors in item-based kNN collaborative filtering algorithm for learning preferences of new users
US10984058B2 (en) Online diverse set generation from partial-click feedback
CN112819575A (zh) 一种考虑重复购买行为的会话推荐方法
CN114169927A (zh) 基于多臂老虎机算法的产品个性化组合推荐方法
CN108959655A (zh) 一种面向动态环境的自适应在线推荐方法
CN109190040A (zh) 基于协同演化的个性化推荐方法及装置
CN113688306A (zh) 一种基于强化学习的推荐策略生成方法及装置
CN112258285A (zh) 一种内容推荐方法及装置、设备、存储介质
CN107688956B (zh) 一种信息处理方法及服务器
CN113901324A (zh) 一种搜索对象排序方法、装置、设备及存储介质
CN112270571A (zh) 一种用于冷启动广告点击率预估模型的元模型训练方法
Shen et al. A recommendation algorithm incorporating moth-flame optimization algorithm and fuzzy clustering

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 501, 502, 503, No. 66 Boxia Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, March 2012

Patentee after: Daguan Data Co.,Ltd.

Address before: Room 1208, No. 2305 Zuchongzhi Road, Zhangjiang, Pudong New Area, Shanghai, 200000

Patentee before: DATAGRAND INFORMATION TECHNOLOGY (SHANGHAI) Co.,Ltd.