CN113190763A - 一种信息推荐方法及系统 - Google Patents
一种信息推荐方法及系统 Download PDFInfo
- Publication number
- CN113190763A CN113190763A CN202110717312.4A CN202110717312A CN113190763A CN 113190763 A CN113190763 A CN 113190763A CN 202110717312 A CN202110717312 A CN 202110717312A CN 113190763 A CN113190763 A CN 113190763A
- Authority
- CN
- China
- Prior art keywords
- similarity
- products
- information
- user
- product
- 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.)
- Granted
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种信息推荐方法及系统,基于协同过滤,判断信息过滤系统是否存在过滤气泡的效应,针对过滤气泡效应提出相似度惩罚算法。在为一个目标用户生成推荐列表时,相似度惩罚算法采用迭代方式。每一次的迭代中,算法只确认一个得分最高的产品作为推荐,而其他所有候选产品的得分将受到其与已被推荐产品之间相似度的惩罚。这种迭代延续至目标数量的推荐列表生成为止。实验表明,相似度惩罚算法可以显著改善过滤气泡效应,并同时提升推荐的准确性。
Description
技术领域
本发明涉及一种信息推荐方法及系统,属于信息推荐技术领域。
背景技术
在当前的信息时代中,用户可以随时轻易地从线上系统获取各类信息。然而,用户很难在如此巨大信息量的环境中定位到最为相关且感兴趣的信息内容。作为一个行之有效的解决方案,推荐系统在过去的十几年中被广泛研究并已取得显著的进展。推荐系统可以有效地辅助用户在繁杂庞大的线上信息系统中定位自己所感兴趣的信息。推荐系统是根据用户的历史行为数据,预测用户未来将会感兴趣的信息对象。按照内在逻辑的不同,大致有两种主流的方法完成这种预测,即基于内容的推荐系统,以及协同过滤。无论是基于何种逻辑的推荐系统,其预测的准确性在多数场景中都是首要目标。
然而,除了准确性的要求以外,一个好的推荐系统仍需要满足很多其他的功能需求以达到更好的服务质量。很多推荐方法在追求准确性的过程中,过分地拟合用户的历史兴趣信息,导致群体或个体层面推荐的同质化问题。而脱离准确性又会很大程度上丧失推荐的意义。
线上推荐系统中常用的信息过滤技术,这些信息过滤系统将异质化、多样的信息隐藏起来,而只筛选出其认为用户所偏好的同质信息,也就因此形成了一个个的“过滤气泡”。
过滤气泡的效应与个体层面多样性的问题类似,其可能导致用户体验的下降,对其信息获取乃至决策带来影响。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种信息推荐方法及系统。使推荐系统能够给出符合用户兴趣的多样化推荐信息,避免过滤气泡现象。
本发明引入一种相似度惩罚算法,以嵌入传统协同过滤方法中,从而打破个性化推荐系统的过滤气泡效应,提供多样化的推荐信息。
技术方案:一种信息推荐方法,采集用户与产品的历史交互信息,抽取出用户的集合U={u 1 ,u 2 ,…,u N },以及产品的集合O={o 1 ,o 2 ,…,o M };将用户与产品的历史交互记录利用一个邻接矩阵来表示,记作A={a uo } N×M 。
将共同选择过某两个产品 i 和 j 的用户的数量,作为这两个产品信息的相似度。
在目标用户未选择的所有产品中找到L个其最有可能感兴趣的产品信息作为推荐列表。
针对一个目标用户的包含k u 个产品的历史选择记录H u ,计算其所包含的所有产品
信息两两之间的平均相似度,作为用户u的个体兴趣多样性div u ,对于一个针对目标用户u
的长度为L的推荐列表R u ,计算多样性。
将用户u的历史兴趣多样性div u 与推荐列表的多样性之间的差值对过滤气
泡的效应进行量化,差值的取值范围是[-1,1],其中负值表示推荐列表比用户兴趣更为同
质化,也就是算法具有过滤气泡的效应,而正值则表示推荐列表比用户兴趣更为多样。
对于协同过滤算法带来的过滤气泡效应,提出一种相似度惩罚算法。
相似度惩罚算法使用共同邻居的方式度量产品之间的相似度;根据每个目标用户的选择记录计算每个产品的得分w uo ,相似度惩罚算法则是在此得分的基础上,采取迭代的方式产生推荐列表;在每一次的迭代中,相似度惩罚算法只从所有产品中选取得分w uo 最高的一个产品,将其加入推荐列表,而随后对其余所有产品的得分进行更新。
进一步地,引入一个惩罚系数α后,迭代步中的产品得分更新公式变为:
惩罚系数α的取值范围为[0,1]。
一种信息推荐系统,包括信息采集模块、协同过滤模块、多样性度量模块、和相似度惩罚模块。
信息采集模块采集用户与产品的历史交互信息,抽取出用户信息的集合U={u 1 ,u 2 ,…,u N },以及产品信息的集合O={o 1 ,o 2 ,…,o M };将用户与产品的历史交互(例如购买、观看、访问等)记录信息利用一个邻接矩阵来表示,记作A={a uo } N×M ,其中,如果一个用户u与产品o之间有过交互记录信息则有a uo =1,否则a uo =0。
协同过滤模块,将共同选择过某两个产品 i 和 j 的用户的数量,作为这两个产品信息的相似度,在目标用户未选择的所有产品中找到L个其最有可能感兴趣的产品信息作为推荐。
多样性度量模块对用户历史兴趣信息以及推荐列表的多样性进行度量。针对一个
目标用户的包含k u 个产品的历史选择记录H u ,计算其所包含的所有产品信息两两之间的平
均相似度,作为用户u的个体兴趣多样性;通过对比一个用户u的历史兴趣多样性div u ,与协
同过滤算法对其提供的推荐列表的多样性,判断算法是否存在过滤气泡的效应。通
过两者之间的差值对过滤气泡的效应进行量化,差值的取值范围是[-1,1],其中负值表示
推荐列表比用户兴趣更为同质化,也就是算法具有过滤气泡的效应,而正值则表示推荐列
表比用户兴趣更为多样。
相似度惩罚模块使用共同邻居的方式度量产品之间的相似度,并根据每个目标用户的选择记录计算每个产品的得分w uo ,在此得分的基础上,采取迭代的方式产生推荐列表。在每一次的迭代中,相似度惩罚算法只从所有产品中选取得分w uo 最高的一个产品,将其加入推荐列表,而随后对其余所有产品的得分进行更新。假设在一次迭代步中所确认的推荐产品为r,则任一产品 i 的得分更新为:
其中,n u 为目标用户u历史记录中所选择的产品数量。
还可以引入一个惩罚系数,对推荐的准确性和多样性进行平衡、调优。引入惩罚系数α后,迭代步中的产品得分更新公式变为:
如此,在某一迭代步中确认了一个推荐产品信息后,其他所有产品的得分w uo 并非受到其与已推荐产品的相似度的全额惩罚,而是将该相似度乘以一个系数α进行惩罚。
一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的信息推荐方法。
一种计算机可读存储介质,该计算机可读存储介质存储有执行如上所述的信息推荐方法的计算机程序。
附图说明
图1为实施例中相似度惩罚算法应用流程图;
图2为实施例中推荐算法气泡效应度量结果图,其中(a)为MovieLens数据中用户兴趣与推荐列表多样性分布,(b)为Netflix数据中用户兴趣与推荐列表多样性分布;
图3为实施例中相似度惩罚算法的过滤气泡效应结果图,其中(a)为MovieLens数据中SP算法推荐列表多样性分布,(b)为Netflix数据中SP算法推荐列表多样性分布;
图4为实施例中相似度惩罚算法的准确率与召回率表现图,其中(a)为相似度惩罚算法准确率,(b)为相似度惩罚算法召回率;
图5为实施例中相似度惩罚算法的复杂度表现图;
图6为实施例中相似度惩罚算法惩罚系数调节结果,其中(a)为MovieLens中相似度惩罚算法的准确率,(b)为MovieLens中相似度惩罚算法的气泡效应,(c)为Netflix中相似度惩罚算法的准确率,(d)为Netflix中相似度惩罚算法的气泡效应。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种信息推荐方法,采集用户与产品(信息对象)的历史交互信息,抽取出用户信息的集合U={u 1 ,u 2 ,…,u N },以及产品的集合O={o 1 ,o 2 ,…,o M };将用户与产品的历史交互(例如购买、观看、访问等)记录信息利用一个邻接矩阵来表示,记作A={a uo } N×M ,其中,如果一个用户u与产品o之间有过交互记录信息则有a uo =1,否则a uo =0。
将共同选择过某两个产品 i 和 j 的用户的数量,作为这两个产品信息的相似度,即
对于一个目标用户u,假设其历史记录中选择过k u 个产品,而这些产品的集合可以记作H u 。协同过滤算法的任务就是在目标用户未选择的所有产品中找到L个其最有可能感兴趣的产品信息作为推荐,其中,L就是推荐列表的长度。为此,每个产品都可通过累加其与目标用户所选择过的每个产品的相似度,算得一个分值
那么,该分值w uo 所表示的就是一个产品o与目标用户u的历史记录信息的相似度,也就可以作为该用户对产品信息感兴趣的可能性的度量。所有未被目标用户选择的产品信息中,该分值最高的L个产品信息就形成了推荐列表,计作R u 。
为解决协同过滤算法的过滤气泡效应的问题,需对用户历史兴趣信息以及推荐列表的多样性进行度量。针对一个目标用户的包含k u 个产品的历史选择记录H u ,计算其所包含的所有产品两两之间的平均相似度,作为用户u的个体兴趣多样性,即
其中,max(s)表示所有两两产品对中相似度的最大值。一个用户的个体兴趣多样性div u 的取值范围为[0, 1]。兴趣多样性取值越小,表示用户所选择的产品之间相似度越高,也就说明用户兴趣越为单一;与之对应,兴趣多样性取值越大,则表示用户所选产品之间相似度较低,因而说明其兴趣越为多样。
对于一个针对目标用户u的长度为L的推荐列表R u ,其多样性也可以采取相同的方式计算:
该值∆div u 的取值范围是[-1,1],其中负值表示推荐列表比用户兴趣更为同质化,也就是算法具有过滤气泡的效应,而正值则表示推荐列表比用户兴趣更为多样。
一般的,为考察推荐结果的准确率,需要将历史数据按照一定比例划分为训练集和
测试集。根据训练集的数据应用算法,可以得到对用户u的长度为L的推荐列表R u ,而准确性可
以通过检验该推荐列表中有多少产品在测试集中被该用户所选择进行计算。假设一个推荐
列表中有h u 个产品在测试集中被用户u所选择,那么,针对该用户的准确率(precision)和
召回率(recall)可分别计算为prc u (L)= h u /L以及,其中是用户u在测试集中选择的产品个数。因此,所有用户准确率和召回率的平均值便可
用于度量一个推荐算法的整体表现,即
以及
本实施例中应用两个在推荐算法的分析与测试中广为应用的数据集,即MovieLens和Netflix。其中,MovieLens数据集包含了6040个用户对3706个电影的1000209条观看记录数据,而Netflix数据集包含了8609个用户对5081个电影的419247条观看记录数据。
用户历史上的选择记录数据在很大程度上能够反映其兴趣分布。首先利用个体层
面的多样性指标div u ,度量用户的历史兴趣。如图2所示,用户层面的历史兴趣多样性的分
布跨度较大,在MovieLens系统中普遍介于0.3到0.4之间,而在Netflix系统中集中于0.38
到0.58之间。也就是说,大多用户并不会总是选择相似度高的产品,而是掺杂了相似或不相
似的产品组合。基于共同邻居的协同过滤算法进一步被用于对这些用户进行推荐。然而,结
果显示,推荐列表多样性与用户兴趣多样性div u 之间存在显著差异。在两个数
据集中,都有超过半数的用户所得到的推荐列表具有小于0.1的多样性,即推荐列表中的不
同产品之间相似度极高。虽然这些用户的兴趣较为多样,协同过滤算法为其进行的推荐则
只集中于十分狭窄的范围内。这种狭窄的程度对于较短的推荐列表尤为严重,例如L=5时的
多样性就明显低于L=20时的多样性。
在个体用户层面,推荐列表的多样性与该用户兴趣多样性之间的差值,即∆div u ,可以良好地刻画推荐算法的过滤气泡效应及程度。MovieLens中所有用户的∆div u 均为负值,即推荐列表比用户兴趣更集中,也就是推荐算法对所有用户都有明显的过滤气泡效应。而在Netflix中,有少数用户所得到的推荐列表和其兴趣具有类似的多样性∆div u ≈0,但对于绝大多数的用户仍然存在较强的过滤气泡效应。平均来讲,推荐列表长度为5、10、20时的过滤气泡效应在MovieLens中分别为-0.39、-0.37、-0.35,而在Netflix中分别为-0.48、-0.44、-0.41。
结果表明,虽然在推荐列表较长时有所改善,协同过滤算法依然存在十分强烈的过滤气泡效应。
为克服协同过滤算法带来的过滤气泡效应,使用户获得更多元的推荐信息,我们此处基于传统协同过滤,提出一种相似度惩罚(Similarity Punishment, SP)算法。
相似度惩罚算法依然使用共同邻居的方式度量产品之间的相似度,并根据每个目
标用户的选择记录计算每个产品的得分w uo ,如公式(2)所示。在传统的协同过滤算法中,只
需对所有产品的得分进行排序,其中得分最高的L个产品即为推荐列表。但前文分析表明,
这L个产品相互之间的相似度极高,导致推荐的冗余,引发过滤气泡的效应。相似度惩罚算
法则是在此得分的基础上,采取迭代的方式产生推荐列表。每一次的迭代只确认一个推荐
产品,迭代持续L次,即推荐列表的目标长度。第k次(k=1,2,…,L)的迭代包含两个步骤:(1)
从目前未被推荐的产品中选取得分最高的一个产品作为此次迭代的推荐产品,记作r (k) ;(2)对其余所有产品,例如产品i 的得分更新为
其中n u 为目标用户u历史记录中所选择的产品数量。在第一次迭代中,。
在k+1次迭代过程中,选择最高的产品 i 作为推荐的产品r (k+1) ,以此类推,直到推
荐列表的目标长度为L,迭代结束。作为判断是否被推荐的依据,每个产品的推荐得分在每
一个迭代步中都会受到其与已推荐产品之间相似度的惩罚,进而产生更新。若一个产品信
息与已确认推荐的产品信息极为相似,则其得分将会大幅度降低,因而在接下来的迭代中
被确认为推荐产品的可能性将会显著下降。由此,相似度惩罚算法可以降低相似的产品组
合被同时推荐的可能性,进而增加推荐列表的多样性,避免过滤气泡的产生。
如图3所示,相似度惩罚算法所提供的推荐列表有很高的多样性,与用户的历史兴趣信息基本一致。甚至,对于一些用户而言,其获得的推荐列表或许会比其兴趣信息更为多样。因此,相似度惩罚算法能够十分有效地提升推荐列表的多样性,进而避免使用户在消费推荐时陷入过滤气泡。
仅考虑推荐列表的多样性仍有局限,因此我们此处继续考察相似度惩罚算法的准确性相关指标。通过将所有的数据记录按照8:2的比例划分为训练集和测试集,分别应用传统协同过滤(CF)算法,以及相似度惩罚(SP)算法对各用户进行推荐,并根据公式(6)和(7)分别计算推荐的准确率和召回率。图4(a)展示了在不同推荐列表长度下的算法准确率结果。对于较短的推荐列表而言,例如L=5以及L=10时,相似度惩罚算法的准确率相较传统协同过滤算法有所下降;而当推荐列表较长时(L=20),相似度惩罚算法的准确率则略有提升。对于召回率而言,如图4(b)所示,当推荐列表长度为L=10或L=20时,相似度惩罚算法的表现相较于传统协同过滤有显著的提升。尤其在L=20时,相似度惩罚算法的召回率在MovieLens和Netflix数据中比原算法分别提高了32%和19%。
另外,方法的复杂度也是度量一个推荐算法的重要指标。由于相似度惩罚算法在原协同过滤算法的基础上,采用迭代的方式确认推荐列表,其运行的耗时必定会比原算法更长。如图5所示,相似度惩罚算法确实比协同过滤算法耗时更长。在推荐列表长度为L=5时,MovieLens和Netflix中算法的运行时间分别延长了6%和13%;而随着列表长度的增加,该延长比例也相应增加。
总体而言,相似度惩罚算法虽然可以完全解决过滤气泡的问题,但其准确性在不
同的推荐列表长度下有着不同的表现。其实,相似度惩罚算法的设计就是为了完全克服过
滤气泡效应,因而会在一定程度上牺牲推荐列表对用户兴趣的拟合。然而,如果在一定程度
上放宽对过滤气泡效应的要求,则可以引入一个惩罚系数,对推荐的准确性和多样性进行
平衡、调优。引入惩罚系数后,第k次迭代步中的产品得分更新公式变为:
如此,在某一迭代步中确认了一个推荐产品信息后,其他所有产品的得分wuo并非受到其与已推荐产品的相似度的全额惩罚,而是将该相似度乘以一个系数α进行惩罚。显然,若惩罚系数α=0,则意味着不进行相似度的惩罚,因而还原了原始的协同过滤算法。惩罚系数越大,对推荐列表中产品之间的相似度的惩罚力度也就越大,直至α=1时,得到前文所分析的标准相似度惩罚算法。
假设有a、b、c、d、e、f六个产品,其相似度矩阵如下:
表1
a | b | c | d | e | f | |
a | 1 | 0.9 | 0.9 | 0.3 | 0.1 | 0.4 |
b | 0.9 | 1 | 0.8 | 0.6 | 0.3 | 0.2 |
c | 0.7 | 0.9 | 1 | 0.7 | 0.4 | 0.3 |
d | 0.5 | 0.2 | 0.7 | 1 | 0.6 | 0.4 |
e | 0.1 | 0.3 | 0.4 | 0.6 | 1 | 0.8 |
f | 0.4 | 0.2 | 0.3 | 0.4 | 0.8 | 1 |
也就是说,两个产品a和b之间的相似度是s ab =0.9(相似),d和f之间的相似度是s df =0.4(不相似),而这种相似度可由相似度算法根据用户-产品历史数据求得。
假设一个目标用户u,历史数据中选择过a(一般情况下用户的历史记录会有多条,此处简化为一条),现需为该用户从b~f中产生一个长度为L=3的推荐列表。
首先,可为每个产品计算得分,例如w ub =s ab =0.9、w ud =s ad =0.5。
若按照传统的算法,直接对此得分进行排序,选取得分最高的三个作为推荐列表,即[b, c, d]。但此处的问题就是,b、c、d之间的相似度比较高,也就产生了推荐列表的“过滤气泡效应”。
第一次迭代:
从所有产品中选择得分最高的一个,也就是b作为此迭代确认的推荐产品,此时推荐列表变为[b]。
为了避免后续推荐与b过分相似的产品,此处需要对其余所有产品的得分进行更新,也就是接受其与产品b之间相似度的惩罚。例如,产品c与b之间相似度为s bc =0.9,那么现在c的得分就需要受到0.9的惩罚,变为
同样的,其余产品的得分变为:
第二次迭代:
还是需要从所有产品中选择得分最高的一个,不过需要根据更新后的得分来进行选择,此时并非产品c,而是产品d的得分最高0.433,也就将d加入推荐列表,推荐列表变为:[b, d],目前已找到两个产品,仍需再找一个产品形成L=3的列表。
继续更新得分,将剩余产品的得分进行其与产品d相似度的惩罚:
第三次迭代:
再选取得分最高的,因此推荐列表更新为:[b, d, f]。目前推荐列表达到了目标L=3个产品,因此也就不需进行下一次迭代,也无需对得分进一步更新了。
如图6中结果所示,惩罚系数α的调整对推荐的准确性与过滤气泡效应的程度都有显著的影响。对于过滤气泡效应∆div,惩罚系数α的影响是单调的,即该系数越大,过滤气泡效应越弱(∆div趋向于0)。因此,只要是惩罚系数α>0,相似度惩罚算法对过滤气泡效应就有所改善。对于准确性指标,包括准确率和召回率,惩罚系数都展现出非单调的模式。在惩罚系数较小时(如α<0.4时),随着惩罚系数α的增加,推荐的准确率和召回率都显著提升。而随着惩罚系数的进一步增大,准确性指标则有所下降。以推荐列表长度L=10为例,在MovieLens系统中惩罚系数为α=0.5时,推荐的准确率和召回率可分别提升33.4%和56.3%,同时过滤气泡效应改善22.2%;而在Netflix系统中惩罚参数为α=0.46时,推荐的准确率和召回率可分别提升32.6%和39.5%,同时过滤气泡效应改善32.6%。
个性化推荐系统,尤其是协同过滤系统,在如今信息过载的互联网环境下被广泛使用,而广大用户从线上系统中获取信息的行为很大程度上依赖于此种推荐。然而,本发明中的分析表明,协同过滤算法为用户提供的推荐列表远比用户本身的兴趣更为同质化。若用户持续消费这种同质化的推荐,长此以往,其兴趣以及信息获取广度将会严重窄化,从而被置入过滤气泡之中。用户的行为等依赖于信息获取的一系列行为,将会受到显著影响。为了解决过滤气泡的问题,本实施例中提出一种相似度惩罚算法,即对推荐列表中相似度过高的产品组合进行惩罚,从而降低相似产品被同时推荐的可能性。分析结果展示出,相似度惩罚算法能够给出与用户兴趣具有相当多样性水平的推荐列表,从而避免了推荐列表对用户兴趣的窄化作用。若进一步放宽对过滤气泡效应的要求,引入惩罚系数,则可以在准确性和多样性多方面对原有的协同过滤算法进行显著改善。
一种信息推荐系统,包括信息采集模块、协同过滤模块、多样性度量模块、和相似度惩罚模块。
信息采集模块采集用户与产品的历史交互信息,抽取出用户信息的集合U={u 1 ,u 2 ,…,u N },以及产品信息的集合O={o 1 ,o 2 ,…,o M };将用户与产品的历史交互(例如购买、观看、访问等)记录信息利用一个邻接矩阵来表示,记作A={a uo } N×M ,其中,如果一个用户u与产品o之间有过交互记录信息则有a uo =1,否则a uo =0。
协同过滤模块,将共同选择过某两个产品 i 和 j 的用户的数量,作为这两个产品信息的相似度,在目标用户未选择的所有产品中找到L个其最有可能感兴趣的产品信息作为推荐。
多样性度量模块对用户历史兴趣信息以及推荐列表的多样性进行度量。针对一个
目标用户的包含k u 个产品的历史选择记录H u ,计算其所包含的所有产品信息两两之间的平
均相似度,作为用户u的个体兴趣多样性;通过对比一个用户u的历史兴趣多样性div u ,与协
同过滤算法对其提供的推荐列表的多样性,判断算法是否存在过滤气泡的效应。通
过两者之间的差值对过滤气泡的效应进行量化,差值的取值范围是[-1,1],其中负值表示
推荐列表比用户兴趣更为同质化,也就是算法具有过滤气泡的效应,而正值则表示推荐列
表比用户兴趣更为多样。
相似度惩罚模块使用共同邻居的方式度量产品之间的相似度,并根据每个目标用户的选择记录计算每个产品的得分w uo ,在此得分的基础上,采取迭代的方式产生推荐列表。在每一次的迭代中,相似度惩罚算法只从所有产品中选取得分w uo 最高的一个产品,将其加入推荐列表,而随后对其余所有产品的得分进行更新。假设在一次迭代步中所确认的推荐产品为r,则任一产品i的得分更新为:
其中,n u 为目标用户u历史记录中所选择的产品数量。
还可以引入一个惩罚系数,对推荐的准确性和多样性进行平衡、调优。引入惩罚系数α后,迭代步中的产品得分更新公式变为:
如此,在某一迭代步中确认了一个推荐产品信息后,其他所有产品的得分w uo 并非受到其与已推荐产品的相似度的全额惩罚,而是将该相似度乘以一个系数α进行惩罚。
显然,本领域的技术人员应该明白,上述的本发明实施例的信息推荐系统各模块或信息推荐方法各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
Claims (10)
1.一种信息推荐方法,其特征在于:采集用户与产品的历史交互信息,抽取出用户的集合U={u 1 ,u 2 ,…,u N },以及产品的集合O={o 1 ,o 2 ,…,o M };将用户与产品的历史交互记录利用一个邻接矩阵来表示,记作A={a uo } N×M ;
将共同选择过某两个产品 i 和 j 的用户的数量,作为这两个产品信息的相似度;
在目标用户未选择的所有产品中找到L个其最有可能感兴趣的产品信息作为推荐列表;
针对一个目标用户的包含k u 个产品的历史选择记录H u ,计算k u 个产品中两两产品之间的平均相似度,作为用户u的个体兴趣多样性div u ;
7.一种信息推荐系统,其特征在于:包括信息采集模块、协同过滤模块、多样性度量模块、和相似度惩罚模块;
所述信息采集模块采集用户与产品的历史交互信息,抽取出用户信息的集合U={u 1 ,u 2 ,…,u N },以及产品信息的集合O={o 1 ,o 2 ,…,o M };将用户与产品的历史交互记录信息利用一个邻接矩阵来表示,记作A={a uo } N×M ,其中,如果一个用户u与产品o之间有过交互记录信息则有a uo =1,否则a uo =0;
所述协同过滤模块,将共同选择过某两个产品i和j的用户的数量,作为这两个产品信息的相似度,在目标用户未选择的所有产品中找到L个其最有可能感兴趣的产品信息作为推荐;
所述多样性度量模块对用户历史兴趣信息以及推荐列表的多样性进行度量;针对一个
目标用户的包含k u 个产品的历史选择记录H u ,计算其所包含的所有产品信息两两之间的平
均相似度,作为用户u的个体兴趣多样性;通过对比一个用户u的历史兴趣多样性div u ,与协
同过滤算法对其提供的推荐列表的多样性,判断算法是否存在过滤气泡的效应;通
过两者之间的差值对过滤气泡的效应进行量化,差值的取值范围是[-1,1],其中负值表示
推荐列表比用户兴趣更为同质化,也就是算法具有过滤气泡的效应,而正值则表示推荐列
表比用户兴趣更为多样;
所述相似度惩罚模块使用共同邻居的方式度量产品之间的相似度,并根据每个目标用户的选择记录计算每个产品的得分w uo ,在此得分的基础上,采取迭代的方式产生推荐列表;在每一次的迭代中,相似度惩罚算法只从所有产品中选取得分w uo 最高的一个产品,将其加入推荐列表,而随后对其余所有产品的得分进行更新;假设在一次迭代步中所确认的推荐产品为r,则任一产品i的得分更新为:
其中,n u 为目标用户u历史记录中所选择的产品数量。
9.一种计算机设备,其特征在于:该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如权利要求1-6中任一项所述的信息推荐方法。
10.一种计算机可读存储介质,其特征在于:该计算机可读存储介质存储有执行如权利要求1-6中任一项所述的信息推荐方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110717312.4A CN113190763B (zh) | 2021-06-28 | 2021-06-28 | 一种信息推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110717312.4A CN113190763B (zh) | 2021-06-28 | 2021-06-28 | 一种信息推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113190763A true CN113190763A (zh) | 2021-07-30 |
CN113190763B CN113190763B (zh) | 2021-09-24 |
Family
ID=76976896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110717312.4A Active CN113190763B (zh) | 2021-06-28 | 2021-06-28 | 一种信息推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190763B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168465A (zh) * | 2021-12-02 | 2022-03-11 | 天津大学 | 一种基于计算实验的推荐系统验证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066476A (zh) * | 2016-12-13 | 2017-08-18 | 江苏途致信息科技有限公司 | 一种基于物品相似度的实时推荐方法 |
US20170372402A1 (en) * | 2013-03-07 | 2017-12-28 | Vast.com, Inc. | Systems, methods, and devices for measuring similarity of and generating recommendations for unique items |
CN110309864A (zh) * | 2019-06-18 | 2019-10-08 | 北京化工大学 | 一种融合局部相似度和全局相似度的协同过滤推荐方案的方法 |
-
2021
- 2021-06-28 CN CN202110717312.4A patent/CN113190763B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170372402A1 (en) * | 2013-03-07 | 2017-12-28 | Vast.com, Inc. | Systems, methods, and devices for measuring similarity of and generating recommendations for unique items |
CN107066476A (zh) * | 2016-12-13 | 2017-08-18 | 江苏途致信息科技有限公司 | 一种基于物品相似度的实时推荐方法 |
CN110309864A (zh) * | 2019-06-18 | 2019-10-08 | 北京化工大学 | 一种融合局部相似度和全局相似度的协同过滤推荐方案的方法 |
Non-Patent Citations (2)
Title |
---|
ZHIHE WANG等: "Collaborative Filtering Algorithm Based on Improved Similarity Calculation", 《2019 15TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY (CIS)》 * |
崔国琪等: "加入惩罚因子的电商平台协同过滤推荐算法", 《软件导刊》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114168465A (zh) * | 2021-12-02 | 2022-03-11 | 天津大学 | 一种基于计算实验的推荐系统验证方法 |
CN114168465B (zh) * | 2021-12-02 | 2024-05-17 | 天津大学 | 一种基于计算实验的推荐系统验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113190763B (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | Contextual bandits in a collaborative environment | |
Maksai et al. | Predicting online performance of news recommender systems through richer evaluation metrics | |
Li et al. | Interest-based real-time content recommendation in online social communities | |
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
US8103675B2 (en) | Predicting user-item ratings | |
CN103514304B (zh) | 一种项目推荐方法和装置 | |
Chang et al. | Using groups of items for preference elicitation in recommender systems | |
CN107633444B (zh) | 基于信息熵与模糊c均值聚类的推荐系统噪声过滤方法 | |
WO2015120798A1 (en) | Method for processing network media information and related system | |
CN109977299B (zh) | 一种融合项目热度和专家系数的推荐算法 | |
CN109862431B (zh) | 一种基于mcl-hcf算法的电视节目混合推荐方法 | |
EP2960849A1 (en) | Method and system for recommending an item to a user | |
CN112464100B (zh) | 信息推荐模型训练方法、信息推荐方法、装置及设备 | |
CN113158024B (zh) | 一种纠正推荐系统流行度偏差的因果推理方法 | |
Lestari et al. | Performance comparison of rank aggregation using borda and copeland in recommender system | |
CN106846029B (zh) | 基于遗传算法和新型相似度计算策略的协同过滤推荐算法 | |
CN111159563A (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
CN106599047A (zh) | 一种信息的推送方法及装置 | |
CN108427756A (zh) | 基于同类用户模型的个性化查询词补全推荐方法和装置 | |
Chaturvedi et al. | Recommender system for news articles using supervised learning | |
CN113190763B (zh) | 一种信息推荐方法及系统 | |
CN111125428A (zh) | 基于评分预测函数拟合结构的时间相关电影推荐方法 | |
Zhu et al. | A fuzzy clustering‐based denoising model for evaluating uncertainty in collaborative filtering recommender systems | |
CN117593089A (zh) | 信用卡推荐方法、装置、设备、存储介质及程序产品 | |
CN114912031A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |