CN107423335B - 一种针对单类协同过滤问题的负样本选择方法 - Google Patents

一种针对单类协同过滤问题的负样本选择方法 Download PDF

Info

Publication number
CN107423335B
CN107423335B CN201710285697.5A CN201710285697A CN107423335B CN 107423335 B CN107423335 B CN 107423335B CN 201710285697 A CN201710285697 A CN 201710285697A CN 107423335 B CN107423335 B CN 107423335B
Authority
CN
China
Prior art keywords
user
item
weight
article
negative sample
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.)
Expired - Fee Related
Application number
CN201710285697.5A
Other languages
English (en)
Other versions
CN107423335A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201710285697.5A priority Critical patent/CN107423335B/zh
Publication of CN107423335A publication Critical patent/CN107423335A/zh
Application granted granted Critical
Publication of CN107423335B publication Critical patent/CN107423335B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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
    • 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/0255Targeted advertisements based on user history

Abstract

本发明提供一种针对单类协同过滤问题的负样本选择方法,目的是为基于机器学习模型的推荐算法中,针对没有明确负样本的隐式反馈场景,帮助选择每个用户的负样本。具体步骤如下:(1)基于物品流行度计算物品被选择为负样本的权重;(2)基于用户的社交关系计算物品被选择为负样本的权重;(3)基于用户对物品特征的偏好计算物品被选择为负样本的权重;(4)融合物品的流行度权重、社交关系权重、物品特征权重,计算物品被选择为目标用户的负样本的概率;(5)根据该用户的正样本数,按照一定比例选择负样本概率最高的若干物品作为目标用户的负样本。

Description

一种针对单类协同过滤问题的负样本选择方法
技术领域
本发明属于互联网推荐技术领域,特别涉及一种负样本不明确场景下的负样本选择方法。
背景技术
随着互联网数据的爆炸式增长,如何从海量数据中提取有效信息提供给用户是当前互联网 应用亟待解决的问题。个性化信息推荐是解决这一问题的有效方法,它通过跟踪用户的历史行 为,提取用户的兴趣特征,分析信息与用户特征的匹配程度,从而给用户推荐可能感兴趣的信 息。目前个性化信息推荐已经被各大互联网平台广泛采用,作为增强用户粘度,提高平台收益 的重要工具。例如,京东商城给用户推荐商品;网易云音乐给用户推荐歌曲;爱奇艺视频网站 给用户推荐视频;新闻网站为用户推荐新闻等。目前广泛采用的推荐算法主要是基于用户行为 的协同过滤算法(Collaborative Filtering,CF),而协同过滤算法又按照是否利用学习模型分为基 于邻域的协同过滤算法(Neighborhood basedCF)和基于机器学习模型的协同过滤算法(Model based CF)。其中基于机器学习模型的方案因为能够提供高质量的推荐效果逐渐受到工业界和 学术界的关注,特别是基于矩阵分解模型的方法和基于深度学习模型的方法。然而这类基于机 器学习模型的方法通常需要一个包含正负样本的样本集对模型进行学习,才能提供准确的推荐 效果。
目前已有的基于机器学习模型的推荐算法通常都是基于用户对物品的评分来训练模型参 数,通过评分值来反映用户对物品的喜爱程度。例如最常用的五星评分方式,5分表示非常喜 欢,1分表示非常不喜欢,中间分数表示喜爱程度逐次递减,这种5分评分形式所得到的用户 行为数据称作显式反馈数据,它能明显地反映用户的态度。然而在实际应用中,有许多应用场 景没有明确的评分机制,例如新闻网页的推荐中,只有用户是否浏览过该新闻的信息;音乐推 荐中只有用户是否播放过该歌曲的信息。这样的用户行为信息被称为隐式反馈信息。对于这类 隐式反馈信息,构建的用户-物品行为矩阵如图1所示,当用户u对物品i有行为的时候,对应 的元素值为1,作为正样本,但是有大量的物品用户没有发生过行为,对于这类物品,不能直 接将其元素值设为0,作为负样本。这是因为没有发生过行为,并不能表示用户不喜欢这类物 品,还有可能是用户不知道物品,因此只能作为未知物品处理。购买、观看、收听、浏览、转 发等行为都可能导致这种只有正样本的情况发生,这类行为被称为隐式反馈。在利用这类隐式 反馈信息来进行推荐的算法中,通常首先需要解决负样本选择问题,即从用户未发生行为的物 品中,选择那些用户更有可能不喜欢的物品作为负样本,即将选为负样本的物品对应的元素值 设为0,这个问题被称为“单类协同过滤问题”。如图1所示,假设有5个用户U1,U2,U3, U4,U5,观看电影的记录如图1左边的矩阵所示,观看了相应的电影,相应的元素值为1,没 有观看的电影的元素值设为“?”,经过负样本选择算法,可推测用户U1很可能不喜欢《星际 争霸》和《海贼王》,因此将其对应的元素值填为0,如图1中右边的矩阵所示,选择一个用户 没有行为的物品集合中的部分物品作为负样本,从而得到一个包含正样本(1值)和负样本(0值) 的数据集。在学习模型参数时,需要同时考虑正负样本的预测差值最小化。
针对“单类协同过滤问题”,已有的负样本选择方法包括:(1)将所有该用户没有行为的物 品均作为负样本;(2)针对每个用户随机选择一定比例的没有行为的物品作为负样本;(3)基于 每个用户的活跃度为每个用户随机选择一定比例的没有行为的物品作为负样本,用户活跃度越 高,该用户选择的负样本数量越多;(4)选择那些流行度高,用户却没有行为的物品作为负样本。 这些负样本选择方法的问题是基本都是随机选择物品,没有考虑该用户自身的兴趣特征,也没 有考虑用户的社交关系对其兴趣的影响。针对这一问题,本发明提出一个针对“单类协同过滤 问题”的负样本选择方法,该方法不仅考虑了物品本身的流行度的影响,而且考虑了用户的社 交关系的影响,以及物品本身特征的影响。通过大量真实场景数据的实验,证明本发明提出的 负样本选择方法确实能够从没有行为的物品中选择出用户不喜欢的物品。
发明内容
本发明的目的是提供一种针对“单类协同过滤问题”的负样本选择方法,该方法能够在只 有用户隐式反馈信息的场景下,选择出每个用户不感兴趣的物品作为负样本。为实现上述发明 目的,本发明提供的负样本选择方法,其特征在于,包括以下步骤:
步骤1:针对每个用户u,计算其没有行为的物品的流行度权重值
Figure BDA0001280632840000021
具体步骤为:
步骤1.1:统计在整个系统日志中,每个物品i被所有用户执行行为的总次数,记为num(i), i=1,2,…,N,N为物品总数;
步骤1.2:将物品按被所有用户执行行为的次数num(i)由低到高升序排列;
步骤1.3:将升序排列后的N个物品按数量平均分为K个等级,每个等级中物品的数量为
Figure BDA0001280632840000022
K个等级分别记为level1,level2…levelK,levelk中物品被执行的行为总数小于等于 levelk+1中物品被执行的行为总数;
步骤1.4:根据每个物品所属于的等级,给每个物品标注流行度,属于levelk的物品其流行 度为k(k=1,2,…,K);
步骤1.5:利用公式(1)计算每个物品的流行度权重,其中α为调节因子,由系统根据实际 情况设定,范围为(0,1],这里物品的流行度越大流行度权重越大,其作为负样本的权重越大, 假设物品i属于levelk,即物品i的流行度为k;
wp(i)=1+α·k (1)
步骤1.6:通过公式(2)所示的最大最小归一化方法,将每个物品的流行度权重归一化到[0,1] 范围,其中min{wp(i)}表示所有物品中最小流行度,max{wp(i)}表示所有物品中最大流行度;
Figure BDA0001280632840000031
步骤2:根据每个用户的社交关系,计算考虑社交关系影响下,用户没有行为的物品被选 择作为该用户负样本的权重ws(u,i),具体步骤为:
步骤2.1:针对一个特定用户u,计算该用户的好友有行为而该用户没有行为的物品集合, 记为itemDIFF(u),计算公式如(3)所示,这里用户u的好友集合为friend(u),item(x)表示好友x 有行为的物品集合,item(u)表示用户u有行为的物品集合;itemDIFF(u)如果不为空集,说明存 在物品是用户u好友有行为而用户u没有行为的,则继续执行步骤2.2;否则,如果itemDIFF(u) 为空集,说明不存在物品是用户u没有行为而好友有行为的,因此无法根据社交关系推断哪些 没有行为的物品是用户u的负样本,因此对于用户u物品i被选择为负样本的权重均设为0,即 ws(u,i)=0,执行步骤3;
Figure BDA0001280632840000032
步骤2.2:建立物品集合itemDIFF(u)中每个物品与用户u好友的倒排索引表,对于itemDIFF(u)中的物品i,只有好友x对其有行为时,倒排索引表的元素a[i][x]=1,否则 a[i][x]=0;
步骤2.3:计算用户u的社交关系对itemDIFF(u)中的物品i作为负样本的权重,如公式(4)所 示,其中
Figure BDA0001280632840000038
表示好友x对用户u的影响力,定义如公式(5)所示,这里overlap(x,u)表示好 友x和用户u有共同行为的物品数,
Figure BDA0001280632840000033
越大,说明好友x对用户u的影响力越大;
Figure BDA0001280632840000034
Figure BDA0001280632840000035
步骤2.4:重复执行步骤2.1-2.3,得到每个用户根据其社交关系计算的没有行为的物品被 选择为负样本的权重;
步骤3:基于物品的特征和每个用户的历史行为,利用逻辑回归模型分别计算每个用户没 有行为的物品被选择为负样本的权重wf(u,i),具体步骤为:
步骤3.1:物品的特征记为f1,f2,…fF,针对一个特定用户u已有行为的物品集合,基于逻 辑回归模型训练用户u对应的物品特征偏好模型及参数wff(f=1,2,…F);
步骤3.2:利用训练后的用户u的物品特征偏好模型,计算用户u对没有行为的物品i的偏 好程度like(u,i),计算方法如公式(6)所示;
Figure BDA0001280632840000036
其中
Figure BDA0001280632840000037
步骤3.3:计算用户u,对于其没有行为的物品i选择作为该用户负样本的特征权重,计算 方法如公式(7)所示:
wf(u,i)=1-like(u,i) (7)
步骤3.4:重复执行步骤3.1-3.3,训练每个用户关于物品特征的偏好模型,计算每个用户, 考虑物品特征因素,选择物品作为负样本的特征权重;
步骤4:融合物品流行度、用户社交关系、物品特征三个权重,计算用户u选择物品i作为 其负样本的概率,如公式(8)所示,其中
Figure BDA0001280632840000041
是参考物品流行度的权重,η1是物品流行度权 重对该物品被选择为用户u的负样本的影响力因子,η1的范围为[0,1];ws(u,i)是参考用户u的 社交关系的权重,η2是社交关系权重对该物品被选择为用户u的负样本的影响力因子,η2的范 围为[0,1];wf(u,i)是参考用户对物品特征偏好的权重,η3是用户对物品特征偏好权重对该物 品被选择为用户u的负样本的影响力因子,η3的范围为[0,1];满足η123=1;
Figure BDA0001280632840000042
步骤5:对每个用户u,根据计算得到的负样本权重值对没有行为的物品降序排列,按照 与正样本数的一个比例关系,选择负样本物品集合。
特别说明本发明中还包含一个针对文本物品的特征提取方法,如果物品是一个文本,例如 文章,本发明提出基于主题模型LDA(Latent Dirichlet Allocation)来提取每个文本的特征,主题 提取模型LDA可以帮助从输入的文本集合中提取出F个隐含主题,得到每个文本i在F个隐 含主题上的分布概率,因此可以将这里的F个隐含主题作为物品的F个特征,引入步骤3的 逻辑回归预测模型中,用以训练用户对文本特征的偏好模型,从而预测用户u对没有行为的文 本i的偏好程度。
附图说明
图1是本发明提供的负样本选择算法示意图
图2是本发明具体实施方式提供的负样本选择方法流程图
图3是本发明具体实施方式提供的基于物品流行度的负样本权重计算方法流程图
图4是本发明具体实施方式提供的基于社交关系的负样本权重计算方法流程图
图5是本发明具体实施方式提供的基于用户对物品特征偏好的负样本权重计算方法流程 图
图6是本发明实施例中提供的用户好友关系示意图
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发 明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发 明的主要内容时,这些描述在这里将被忽略。
图2是本发明提供的一种用于负样本不明确场景下的负样本选择方法的整体流程,步骤包 括:
步骤1:针对每个用户u,计算其没有行为的物品的流行度权重
Figure BDA0001280632840000051
具体步骤如图3 所示:
步骤1.1:统计在整个系统日志中,每个物品i被所有用户执行行为的总次数,记为num(i), i=1,2,…,N,N为物品总数;
步骤1.2:将物品按被所有用户执行行为的次数num(i)由低到高升序排列;
步骤1.3:将升序排列后的N个物品按数量平均分为K个等级,每个等级中物品的数量为
Figure BDA0001280632840000052
K个等级分别记为level1,level2…levelK,levelk中物品被执行的行为总数小于等于 levelk+1中物品被执行的行为总数;
步骤1.4:根据每个物品所属于的等级,给每个物品标注流行度,属于levelk的物品其流行 度为k(k=1,2,…,K);
步骤1.5:利用公式(1)计算每个物品的流行度权重wp(i);
步骤1.6:通过公式(2)将每个物品的流行度权重归一化到[0,1]范围;
步骤2:根据每个用户的社交关系,计算考虑社交关系影响下,用户没有行为的物品被选 择作为该用户负样本的权重ws(u,i),具体步骤如图4所示:
步骤2.1:对于用户u,计算该用户的好友有行为而该用户没有行为的物品集合,记为 itemDIFF(u),计算公式如(3)所示;itemDIFF(u)如果不为空集,说明存在物品是用户u好友有行 为而用户u没有行为的,则继续执行步骤2.2;否则,如果itemDIFF(u)为空集,说明不存在物品 是用户u没有行为而好友有行为的,因此无法根据社交关系推断哪些没有行为的物品是用户u 的负样本,因此对于用户u,没有行为的物品i被选择为负样本的权重设为0,即ws(u,i)=0, 继续执行步骤3;
步骤2.2:建立物品集合itemDIFF(u)中每个物品与用户u好友的倒排索引表,对于itemDIFF(u)中的物品i,只有好友x对其有行为时,倒排序表的元素a[i][x]=1,否则a[i][x]=0;
步骤2.3:计算用户u的社交关系对itemDIFF(u)中的物品i作为负样本的权重,如公式(4)所 示,其中
Figure BDA0001280632840000053
表示好友x对用户u的影响力,定义如公式(5)所示;
步骤2.4:重复执行步骤2.1-2.3,得到每个用户根据其社交关系计算的没有行为物品被选 择为负样本的权重;
步骤3:基于物品的特征和每个用户的历史行为,利用逻辑回归模型分别计算每个用户没 有行为的物品被选择为负样本的权重wf(u,i),具体如图5所示:
步骤3.1:物品的特征记为f1,f2,…fF,利用用户u已有行为的物品集合,基于逻辑回归模 型训练用户u的物品特征权重偏好模型参数wff(f=1,2,…F);这里如果物品是电影,那么可 以设定物品的特征为导演、类型、制片国家、主演、上映时间等,如果物品是菜品,特征可以 设定为种类、味道、价格、就餐环境等,可以采用逻辑回归模型训练每个用户对不同特征的兴 趣偏好,由于需要训练模型,因此也需要正负样本,这里可以按一定比例随机选择一些没有行 为的物品作为负样本来训练;
在本发明中特别针对一类文本物品,例如新闻、微博等没有明确的特征,提出了一种基于 主题提取模型(例如,LDA)的隐含特征提取方法,在这种方法中,需要将所有文本作为一个集 合输入,主题提取模型能够从输入文本中提取出F个隐含主题,从而得到每个文本i在F个隐 含主题上的分布概率,因此可以将这里的F个隐含主题作为物品的F个特征,引入步骤3.1的 逻辑回归预测模型中,用以训练用户对文本特征的偏好模型;
步骤3.2:利用训练后的用户u的物品特征偏好模型,计算用户u对没有行为的物品i的偏 好程度like(u,i),计算方法如公式(6)所示;
步骤3.3:计算用户u,对于其没有行为的物品i选择作为该用户负样本的特征权重,计算 方法如公式(7)所示;
步骤3.4:重复执行步骤3.1-3.3,训练每个用户关于物品特征的偏好模型,计算每个用户, 考虑物品特征因素,选择物品作为负样本的特征权重;
步骤4:融合物品流行度、用户社交关系、物品特征三个权重,计算用户u选择物品i作为 其负样本的概率,如公式(8)所示,影响力因子需要满足η123=1;
步骤5:对每个用户u,根据计算得到的负样本权重值对没有行为的物品降序排列,按照 与正样本数的一个比例关系,选择负样本物品集合。
实施例
假设由6个用户组成的用户集合{a,b,c,d,e,f}对由10个物品构成的物品集合{item1,item2,...,item10}产生了行为。用户行为数据记录如表1所示,这里的社交关系,假设是 单向的关注关系,例如用户a关注用户b,则b是a的好友,而a不是b的好友。在本实施例 中,详细介绍为用户a选择负样本的具体过程。图6是根据本实施例中的好友关注关系得到的 好友示意图。
表1用户行为数据
用户 有行为的物品 关注好友
a item2,item3,item5 b,c,d
b item1,item2,item7 a,d
c item1,item2,item3,item4,item7 a
d item1,item2,item5,item6 b
e item1,item5,item7,item9 a,d,c
f item4,item8,item10,item1 e
步骤1:针对每个用户u,计算其没有行为物品的流行度权重
Figure BDA0001280632840000061
首先,统计每个物品在数据集中被用户执行行为的总次数,结果如表2所示:
然后,按照行为次数将物品升序排列:item6,item8,item9,item10,item3,item4,item5, item7,item2,item1;
表2物品被执行的行为次数统计情况
物品 item1 item2 item3 item4 item5 item6 item7 item8 item9 item10
次数 5 4 2 2 3 1 3 1 1 1
第三,将10个物品按照行为次数等量的分配到4个等级,每个等级的物品数量为
Figure BDA0001280632840000071
因此得到的等级分配为:item6,item8,item9属于level1;item10,item3,item4属于level2; item5,item7,item2属于level3;item1属于level1;
第四,根据每个物品所属于的等级,给每个物品标注流行度,如表3所示:
表3物品的流行度
物品 item1 item2 item3 item4 item5 item6 item7 item8 tem9 item10
流行度 4 3 2 2 3 1 3 1 1 2
第五,利用公式(1)计算每个物品的流行度权重wp(i),这里α=0.5;
wp(item1)=1+α·k=1+0.5×4=3,同理可得:
wp(item2)=wp(item5)=wp(item7)=1+0.5×3=2.5
wp(item3)=wp(item4)=wp(item10)=1+0.5×2=2
wp(item6)=wp(item8)=wp(item9)=1+0.5×1=1.5
第六,通过公式(2)将每个物品的流行度权重归一化到[0,1]范围;
Figure BDA0001280632840000072
Figure BDA0001280632840000073
Figure BDA0001280632840000074
Figure BDA0001280632840000075
步骤2:根据每个用户的社交关系,计算考虑社交关系影响下,用户没有行为的物品被选 择作为该用户负样本的权重ws(u,i),具体步骤为:
首先,对一个特定用户,假设对于数据集中的用户a,计算用户a的好友有行为而用户a 没有行为的物品集合itemDIFF(a)。由数据集可知,用户a关注的好友为b,c,d,统计数据可 得itemDIFF(a)={item1,item4,item6,item7};
然后,建立物品集合itemDIFF(a)中每个物品到用户a好友的倒排索引表,对于itemDIFF(a) 中的物品i,当好友x对其有行为时,倒排序表的元素a[i][x]=1,否则a[i][x]=0,倒排索引表 如表4所示:
表4物品-好友倒排表
物品 b c d
item1 1 1 1
item4 0 1 0
item6 0 0 1
item7 1 1 0
第三,计算用户a的社交关系对itemDIFF(a)中的物品i作为负样本的权重,如公式(4)所示, 其中
Figure BDA0001280632840000081
表示好友x对用户a的影响力,定义如公式(5)所示。首先计算用户a与其每个好友 有共同行为的物品数量:
overlap(a,b)=|{item2,item3,item5}∩{item1,item2,item7}|=|{item2}|=1
overlap(a,c)=|{item2,item3}|=2
overlap(a,d)=|{item2,item5}|=2
然后,计算用户a的好友对其的影响力:
Figure BDA0001280632840000082
Figure BDA0001280632840000083
Figure BDA0001280632840000084
最后,计算将itemDIFF(a)={item1,item4,item6,item7}中的物品根据社交关系选择为用 户a的负样本的权重:
Figure BDA0001280632840000085
Figure BDA0001280632840000086
Figure BDA0001280632840000087
Figure BDA0001280632840000088
重复上述步骤,得到每个用户根据其社交关系计算的没有行为物品被选择为负样本的权重;
步骤3:基于物品的特征和用户a的历史行为,利用逻辑回归模型计算用户a没有行为的 物品被选择作为用户a负样本的权重wf(a,i),在本实施例中,假设物品只有文本,具体步骤为:
首先,针对物品文本内容,基于主题提取模型LDA的隐含特征提取方法,将所有10个物 品文本作为一个集合输入,LDA从输入样本中提取k(k=4)个隐含主题,从而得到每个物品i在 4个隐含主题上的分布概率,在本实施例的方法中,将4个隐含主题作为物品的4个特征,隐 含主题分布概率作为特征取值。如表5所示每个物品在4个特征上的取值:
表5物品特征取值
Topic1 Topic2 Topic3 Topic4
item1 0.2 0.1 0.3 0.4
item2 0.1 0.4 0.4 0.1
item3 0.4 0.2 0.2 0.2
item4 0.2 0.3 0.3 0.2
item5 0.2 0.3 0.4 0.1
item6 0.3 0.2 0.2 0.3
item7 0.1 0.3 0.2 0.4
item8 0.1 0.4 0.3 0.2
item9 0.4 0.2 0.2 0.2
item10 0.3 0.4 0.1 0.2
基于逻辑回归模型训练用户对物品特征的偏好模型,由于需要训练模型,因此也需要正 负样本,在本实施例中按一定比例(1:1)随机选择一些用户a没有行为的物品作为负样本来训 练,得到如表6所示的用户a的物品特征偏好训练样本集;
表6用户a的物品特征偏好训练样本集
特征1 特征2 特征3 特征4 标签
item2 0.1 0.4 0.4 0.1 1
item3 0.4 0.2 0.2 0.2 1
item5 0.2 0.3 0.4 0.1 1
item1 0.2 0.1 0.3 0.4 0
item4 0.2 0.3 0.3 0.2 0
item9 0.4 0.2 0.2 0.2 0
基于上述训练集,利用逻辑回归模型训练得到用户a对不同物品特征的偏好权重,逻辑回 归模型如公式(6)所示,在本实施例中得到的用户a对4个特征的权重依次为:wf1=-0.04807, wf2=0.1457,wf3=0.0941,wf4=-0.1961;
第二,利用训练后用户a的物品特征偏好模型,计算用户a对没有行为的物品{item1,item4, item6,item7,item8,item9,item10}的偏好程度,计算方法如公式(7)所示:
Figure BDA0001280632840000091
Figure BDA0001280632840000101
Figure BDA0001280632840000102
Figure BDA0001280632840000103
同理可根据4个物品特征的权重,计算物品item1,item4,item9的偏好程度:
like(a,item1)=0.4868like(a,item4)=0.4963like(a,item9)=0.4954
第三,计算用户a,对于其没有行为的物品{item1,item4,item6,item7,item8,item9, item10}选择作为该用户负样本的特征权重,计算方法如公式(7)所示:
wf(a,item1)=1-like(a,item1)=1-0.4868=0.5132
同理可得:
wf(a,item4)=0.5037 wf(a,item6)=0.5084 wf(a,item7)=0.5
wf(a,item8)=0.4916 wf(a,item9)=0.5046 wf(a,item10)=0.4987
重复执行上述步骤,训练每个用户关于物品特征的偏好模型,计算每个用户,考虑物品特 征因素,选择物品作为负样本的特征权重;
步骤4:融合物品流行度、用户社交关系、物品特征偏好三个权重,计算用户a选择{item1, item4,item6,item7,item8,item9,item10}中的物品作为负样本的概率,如公式(8)所示,假 设η1=0.5,η2=0.2,η3=0.3,则有:
Figure BDA0001280632840000105
Figure BDA0001280632840000106
Figure BDA0001280632840000107
Figure BDA0001280632840000108
Figure BDA0001280632840000109
Figure BDA00012806328400001010
Figure BDA00012806328400001011
步骤5:对用户a,根据计算得到的负样本权重值对没有行为的物品降序排列{item1,item7, item4,item10,item6,item9,item8},按照与正样本数的成1:1的比例关系,选择负样本物品 集合{item1,item7,item4}。重复执行步骤4-5得到所有用户的负样本集合。
尽管上面对本发明的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明, 但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各 种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切 利用本发明构思的发明创造均在保护之列。

Claims (1)

1.一种针对单类协同过滤问题的负样本选择方法,其特征在于,包括以下步骤:
步骤1:针对每个用户u,计算用户u没有行为的物品的流行度权重
Figure FDA0002369008700000011
具体步骤为:
步骤1.1:统计在整个系统日志中,每个物品i被所有用户执行行为的总次数,记为num(i),i=1,2,…,N,N为物品总数;
步骤1.2:将物品按被所有用户执行行为的次数num(i)由低到高升序排列;
步骤1.3:将升序排列后的N个物品按数量平均分为K个等级,每个等级中物品的数量为
Figure FDA0002369008700000012
K个等级分别记为level1,level2…levelK,levelk中物品被执行的行为总数小于等于levelk+1中物品被执行的行为总数;
步骤1.4:根据每个物品所属于的等级,给每个物品标注流行度,属于levelk的物品其流行度为k(k=1,2,…,K);
步骤1.5:利用公式(1)计算每个物品的流行度权重,其中α为调节因子,由系统根据实际情况设定,范围为(0,1],这里物品的流行度越大流行度权重越大,其作为负样本的权重越大,假设物品i属于levelk,即物品i的流行度为k;
wp(i)=1+α·k (1)
步骤1.6:通过公式(2)所示的最大最小归一化方法,将每个物品的流行度权重归一化到[0,1]范围,其中min{wp(i)}表示所有物品中最小流行度,max{wp(i)}表示所有物品中最大流行度;
Figure FDA0002369008700000013
步骤2:根据每个用户的社交关系,计算用户u没有行为的物品被选择作为该用户负样本的社交关系权重ws(u,i),具体步骤为:
步骤2.1:针对一个特定用户u,计算该用户的好友有行为而该用户没有行为的物品集合,记为itemDIFF(u),计算公式如(3)所示,这里用户u的好友集合为friend(u),item(x)表示好友x有行为的物品集合,item(u)表示用户u有行为的物品集合;itemDIFF(u)如果不为空集,说明存在物品是用户u好友有行为而用户u没有行为的,则继续执行步骤2.2;否则,如果itemDIFF(u)为空集,说明不存在物品是用户u没有行为而好友有行为的,因此无法根据社交关系推断哪些没有行为的物品是用户u的负样本,因此对于用户u物品i被选择为负样本的权重均设为0,即ws(u,i)=0,执行步骤3;
Figure FDA0002369008700000021
步骤2.2:建立物品集合itemDIFF(u)中每个物品与用户u好友的倒排索引表,对于itemDIFF(u)中的物品i,只有好友x对其有行为时,倒排索引表的元素a[i][x]=1,否则a[i][x]=0;
步骤2.3:计算用户u的社交关系对itemDIFF(u)中的物品i作为负样本的权重,如公式(4)所示,其中
Figure FDA0002369008700000022
表示好友x对用户u的影响力,定义如公式(5)所示,这里overlap(x,u)表示好友x和用户u有共同行为的物品数,
Figure FDA0002369008700000023
越大,说明好友x对用户u的影响力越大;
Figure FDA0002369008700000024
Figure FDA0002369008700000025
步骤2.4:重复执行步骤2.1-2.3,得到每个用户根据其社交关系计算的没有行为的物品被选择为负样本的社交关系权重;
步骤3:基于物品的特征和每个用户的历史行为,利用逻辑回归模型分别计算每个用户没有行为的物品被选择为负样本的物品特征权重wf(u,i),具体步骤为:
步骤3.1:物品的特征记为f1,f2,…fF,针对一个特定用户u已有行为的物品集合,基于逻辑回归模型训练用户u对应的物品特征偏好模型及参数wff(f=1,2,…F);
步骤3.2:利用训练后的用户u的物品特征偏好模型,计算用户u对没有行为的物品i的偏好程度like(u,i),计算方法如公式(6)所示;
Figure FDA0002369008700000026
步骤3.3:计算用户u,对于其没有行为的物品i选择作为该用户负样本的物品特征权重,计算方法如公式(7)所示;
wf(u,i)=1-like(u,i) (7)
步骤3.4:重复执行步骤3.1-3.3,训练每个用户关于物品特征的偏好模型,计算每个用户,考虑物品特征因素,选择物品作为负样本的物品特征权重;
步骤4:融合物品的流行度权重、社交关系权重、物品特征权重,计算用户u选择物品i作为其负样本的概率,如公式(8)所示,其中
Figure FDA0002369008700000027
是物品的流行度权重,η1是物品的流行度权重对该物品被选择为用户u的负样本的影响力因子,η1的范围为[0,1];ws(u,i)是参考用户u的社交关系的社交关系权重,η2是社交关系权重对该物品被选择为用户u的负样本的影响力因子,η2的范围为[0,1];wf(u,i)是参考用户对物品特征偏好的物品特征权重,η3是用户对物品特征偏好权重对该物品被选择为用户u的负样本的影响力因子,η3的范围为[0,1];满足η123=1;
Figure FDA0002369008700000031
步骤5:对每个用户u,将用户u没有行为的物品根据计算得到的负样本概率值降序排列,按照与正样本数的一个比例关系,选择若干概率值最高的物品作为负样本。
CN201710285697.5A 2017-04-27 2017-04-27 一种针对单类协同过滤问题的负样本选择方法 Expired - Fee Related CN107423335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710285697.5A CN107423335B (zh) 2017-04-27 2017-04-27 一种针对单类协同过滤问题的负样本选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710285697.5A CN107423335B (zh) 2017-04-27 2017-04-27 一种针对单类协同过滤问题的负样本选择方法

Publications (2)

Publication Number Publication Date
CN107423335A CN107423335A (zh) 2017-12-01
CN107423335B true CN107423335B (zh) 2020-06-05

Family

ID=60424508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710285697.5A Expired - Fee Related CN107423335B (zh) 2017-04-27 2017-04-27 一种针对单类协同过滤问题的负样本选择方法

Country Status (1)

Country Link
CN (1) CN107423335B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460619B (zh) * 2018-01-16 2020-04-21 杭州电子科技大学 一种提供融合显隐式反馈的协同推荐模型的方法
CN108243357A (zh) * 2018-01-25 2018-07-03 北京搜狐新媒体信息技术有限公司 一种视频推荐方法及装置
CN109993627B (zh) * 2019-02-28 2021-09-07 华为技术有限公司 推荐方法、推荐模型的训练方法、装置和存储介质
CN111159556B (zh) * 2019-12-31 2023-04-21 华南理工大学 一种基于用户好奇心的贝叶斯个性化排序推荐方法
CN111310025B (zh) * 2020-01-17 2023-07-28 腾讯科技(深圳)有限公司 模型训练方法、数据处理方法、装置以及相关设备
CN111523940B (zh) * 2020-04-23 2023-04-18 华中科技大学 一种带负反馈的基于深度强化学习的推荐方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488107A (zh) * 2015-11-20 2016-04-13 天津大学 一种推荐系统的线下评价方法
CN105678335A (zh) * 2016-01-08 2016-06-15 车智互联(北京)科技有限公司 预估点击率的方法、装置及计算设备
CN106022865A (zh) * 2016-05-10 2016-10-12 江苏大学 一种基于评分和用户行为的商品推荐方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103714063B (zh) * 2012-09-28 2017-08-04 国际商业机器公司 数据分析方法及其系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488107A (zh) * 2015-11-20 2016-04-13 天津大学 一种推荐系统的线下评价方法
CN105678335A (zh) * 2016-01-08 2016-06-15 车智互联(北京)科技有限公司 预估点击率的方法、装置及计算设备
CN106022865A (zh) * 2016-05-10 2016-10-12 江苏大学 一种基于评分和用户行为的商品推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AttentionRank:一种基于关注关系与多用户行为的图推荐算法;刘梦娟;《计算机学报》;20170331;第40卷(第3期);第642-648页 *
改进的单类协同过滤推荐方法;王鹏;《计算机科学与探索》;20140516;第8卷(第10期);第1231-1238页 *

Also Published As

Publication number Publication date
CN107423335A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN107423335B (zh) 一种针对单类协同过滤问题的负样本选择方法
US20220188369A1 (en) High-speed delay scanning and deep learning techniques for spectroscopic srs imaging
Gillespie The relevance of algorithms
CN105224699B (zh) 一种新闻推荐方法及装置
CN109299994B (zh) 推荐方法、装置、设备及可读存储介质
CN110717098A (zh) 基于元路径的上下文感知用户建模方法、序列推荐方法
CA2924667A1 (en) System and method for actively obtaining social data
CN103559622A (zh) 基于特征的协同过滤推荐方法
Madadipouya et al. A literature review on recommender systems algorithms, techniques and evaluations
Zuo Sentiment analysis of steam review datasets using naive bayes and decision tree classifier
US20160012454A1 (en) Database systems for measuring impact on the internet
Zhang et al. A systematic function recommendation process for data-driven product and service design
US10474670B1 (en) Category predictions with browse node probabilities
US20170315676A1 (en) Dynamic content insertion
Akhil et al. A survey of recommender system types and its classification.
CN109190040B (zh) 基于协同演化的个性化推荐方法及装置
KR20230007571A (ko) 검열된 미디어 코퍼스에의 통합을 위한 미디어 소스 측정
CN111310029B (zh) 一种基于用户商品画像和潜在因子特征提取的混合推荐方法
Elahi Empirical evaluation of active learning strategies in collaborative filtering
CN114780865A (zh) 信息推荐方法、装置、计算机设备及存储介质
Liu et al. Click-through Rate Prediction Based on Mobile Computing and Big Data Analysis.
Ma Modeling users for online advertising
Ghanwat et al. Improved personalized recommendation system with better user experience
US20180300764A1 (en) Modeling customer acquisition propensities for educational technology products
CN114756758B (zh) 一种混合推荐方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200605