CN105913286B - 一种自动融合多种个性化推荐模型的方法 - Google Patents
一种自动融合多种个性化推荐模型的方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 139
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 3
- 238000001914 filtration Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012896 Statistical algorithm Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted 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计算方法为该位置的总点击除以总曝光,各算法的平均点击率βk计算方法为每个算法产生的点击除以算法的曝光次数,
第二步:启动的时候加载平均点击率和各算法平均点击率,以及生成用户算法偏好信息字典,该字典结构是用户id为key,value是该用户各个算法的权重列表,并且初始化展现信息字典item_show_dict,该字典用来接收点击请求时可以找出对应的展现算法信息,即这次推荐点击是来自哪次的推荐展现;
第三步:用户访问推荐服务,RecServer触发推荐请求(RecPV);
第四步:RecServer通过UserEmsembleServer获取各个算法的权重βk,请求参数为用户id(userid)(GetWeight);
第五步:UserEmsembleServer收到请求后,通过用户算法偏好信息字典(user_alg_dict)查看该用户的算法偏好信息(UserAlgList)是否存在,存在则返回该信息,不存在则将启动时加载的算法平均点击率作为UserAlgList,一方面更新用户算法偏好信息字典,一方面作为结果返回;
第七步: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),更新其权重,更新方式为
βk′是更新后的权重,Ctri是展现位置i的平均点击率,Scorek是算法K对该item的得分;Scoreitem是该item的总得分,λ是位置点击率的衰减常数、ξ是算法点击率的衰减常数,可以根据具体的业务场景设置不同的值;
第九步:如果用户点击了推荐结果,该信息会发送给clickserver;
第十步:clickserver把点击信息发送给UserEmsembleServer,点击信息包括用户id(userid),商品id(itemid),推荐ID(pvid);
第十一步:UserEmsembleServer收到点击信息后,首先通过pvid和itemid,在展现信息字典item_show_dict中可以找到推荐该item的算法列表,同时通过用户算法偏好信息字典找到该用户的算法信息,然后逐一更新各个算法偏好信息,更新方式为
第二步的推荐展现数据结构如下:
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计算方法为每个算法产生的点击除以算法的曝光次数,
第二步:启动的时候加载平均点击率和各算法平均点击率,以及生成用户算法偏好信息字典,该字典结构是用户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把推荐列表信息实时发送给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),更新其权重,更新方式为
β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;
先处理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的算法列表,同时通过用户算法偏好信息字典找到该用户的算法信息,然后逐一更新各个算法偏好信息,更新方式为
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,算法k的平均点击率βk计算方法为该算法产生的点击数Clickk除以该算法的曝光次数PVk,
第二步:启动的时候加载各展现位置平均点击率和各算法平均点击率,以及生成用户算法偏好信息字典,该字典结构的key是用户标识userid,value是该用户标识各个算法的权重列表,并且初始化展现信息字典item_show_dict,该字典用于接收点击请求时找出对应的展现算法信息,即这次推荐点击是来自哪次的推荐展现;
第三步:用户访问推荐服务,RecServer触发推荐请求;
第五步:UserEmsembleServer收到请求后,通过用户算法偏好信息字典查看该用户的算法偏好信息UserAlgList是否存在,存在则返回该信息,不存在则将启动时加载的算法平均点击率作为算法偏好信息UserAlgList,一方面更新用户算法偏好信息字典,一方面作为结果返回;
第六步:RecServer使用返回的结果,结合各个算法的得分,计算出每个待推荐item的得分,计算方式为其中,reck(u,i)是用户u的算法k对物品i的得分,并且根据最终得分从高到低排列,得到推荐的列表;
第七步:RecServer把推荐列表信息实时发送给UserEmsembleServer,推荐展现的信息包括推荐标识pvid、用户标识userid、展现的物品标识itemid、展现的位置标识posid、算法信息列表,算法信息列表每项包括算法标识algid、算法得分;
第八步:UserEmsembleServer对每个展现的物品逐一更新用户算法偏好信息字典,更新方式为先找到该用户标识userid对应的UserAlgList,对其中的每个算法,更新其权重,更新方式为
是更新后的权重,Ctri是展现位置i的平均点击率,Scorek是算法k对该item的得分;Scoreitem是该item的总得分,λ是位置点击率的衰减常数、ξ是算法点击率的衰减常数,根据具体的业务场景设置不同的值;
第九步:如果用户点击了推荐结果,该信息会发送给clickserver;
第十步:clickserver把点击信息发送给UserEmsembleServer,点击信息包括用户标识userid,物品标识itemid,推荐标识pvid;
第十一步:UserEmsembleServer收到点击信息后,首先通过推荐标识pvid和展现的物品标识itemid,在展现信息字典item_show_dict中找到推荐该item的算法列表,同时通过用户算法偏好信息字典找到该用户的算法信息,然后逐一更新各个算法偏好信息,更新方式为
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)
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)
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 | 达而观信息科技(上海)有限公司 | 基于概率模型和用户行为分析的个性化推荐方法、系统 |
-
2016
- 2016-05-16 CN CN201610325683.7A patent/CN105913286B/zh active Active
Patent Citations (4)
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. |