CN109271592B - 一种物品推荐方法、装置、存储介质及程序产品 - Google Patents
一种物品推荐方法、装置、存储介质及程序产品 Download PDFInfo
- Publication number
- CN109271592B CN109271592B CN201811160580.5A CN201811160580A CN109271592B CN 109271592 B CN109271592 B CN 109271592B CN 201811160580 A CN201811160580 A CN 201811160580A CN 109271592 B CN109271592 B CN 109271592B
- Authority
- CN
- China
- Prior art keywords
- users
- user
- target user
- similarity
- article
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种物品推荐方法及装置,在基于相似度对用户进行物品推荐过程中,将相似度进行了修正,修正是基于评价矩阵中用户之间的共同兴趣物品的逆流行度平均值做出的,其中,逆流行度代表了物品的冷门程度,以体现用户对该物品兴趣的潜在影响,而共同兴趣物品为两用户对同一物品的评分值大于某一阈值的物品,通过用户之间的共同兴趣物品的逆流行度平均值,该平均值越高,则表征用户之间共同兴趣为真正的相似兴趣爱好,受流行或社会化的影响越小,通过该平均值对相似度进行修正,避免得到不准确的相似度,提高了相似度的准确性,进而提高物品推荐的准确性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种物品推荐方法及装置。
背景技术
随着互联网技术以及计算机技术的不断发展,通过在客户端向用户推荐其潜在的感兴趣的物品,让用户能够快速了解到心仪的物品。
目前,一种实现方式是基于协同过滤的推荐方法,在该方法中,基于不同用户对物品的打分记录,选取与目标用户的用户相似度高的用户,从这些用户中选择出目标用户没有评分记录的物品,推荐给目标用户,其中,用户相似度高的用户,主要是通过余弦相似度、皮尔逊相关系数、修正余弦相似度等计算方法来获得。这些方法会出现相似度虚高和失真等问题,导致推荐结果并不准确。
发明内容
有鉴于此,本发明的目的在于提供一种物品推荐方法及装置,以用户之间共同兴趣物品的逆流行度平均值对相似度进行修正,提高物品推荐的准确性。
为实现上述目的,本发明有如下技术方案:
一种物品推荐方法,包括:
获得物品评分矩阵中每件物品的逆流行度,所述物品评分矩阵包括不同用户对不同物品的评分值,所述逆流行度为一物品在所述物品评分矩阵中具有评分值的数量相对于所述物品评分矩阵中物品具有评分值的数量最大值的标准化数值;
获得所述评价矩阵中用户之间的共同兴趣物品的逆流行度平均值,所述共同兴趣物品为两用户对同一物品的评分值大于第一阈值的物品;
根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度;
根据所述逆流行度平均值以及所述第一相似度的乘积,获得第二相似度;
根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,以及,根据所述推荐用户集合,向所述目标用户进行物品推荐。
可选地,所述根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度,包括:
根据用户之间的各共同兴趣物品的评分值的方差均值,获得用户之间的第一相似度。
可选地,所述第一相似度通过第一比值和第一差值的乘积获得,所述第一差值为常数值与用户之间的各共同兴趣物品的评分值的方差均值之差,所述第一比值为用户之间的共同兴趣物品的数量与物品评分矩阵中的物品数量的比值。
可选地,所述根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,包括:
以各用户分别作为目标用户,判断目标用户与其他用户之间的共同兴趣物品的数量是否大于第二阈值,若是,则将相应的用户作为目标用户的相似用户,以得到各目标用户的相似用户集合;
判断目标用户的相似用户集合中相似用户的数量是否大于第三阈值,若是,则将目标用户的相似用户集合作为目标用户的推荐用户集合;
当目标用户的相似用户集合中的相似用户数量小于该阈值且不为零时,则将目标用户的相似用户集合以及间接相似用户集合进行合并,以作为所述目标用户的推荐用户集合,所述间接相似用户集合为目标用户的相似用户集合中相似用户的相似用户集合。
可选地,所述根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,还包括:
当目标用户与其他用户之间的共同兴趣物品的数量小于第二阈值,则将相应的第二相似度设置为噪声数据。
可选地,所述根据所述推荐用户集合,向所述目标用户进行物品推荐,包括:
根据所述推荐用户集合中推荐用户与目标用户的第二相似度、推荐用户对物品的评分值,向目标用户进行物品推荐,所推荐物品为目标用户不具有评分值的物品。
可选地,当相似用户集合中的相似用户数量小于该阈值且不为零时,在向所述目标用户进行物品推荐之前,还包括:
进行间接相似用户与目标用户第二相似度的更新,更新的第二相似度为目标用户与相似用户的第二相似度同相似用户与间接相似用户的第二相似度的加权平均值。
一种物品推荐装置,包括:
逆流行度获取单元,用于获得物品评分矩阵中每件物品的逆流行度,所述物品评分矩阵包括不同用户对不同物品的评分值,所述逆流行度为一物品在所述物品评分矩阵中具有评分值的数量相对于所述物品评分矩阵中物品具有评分值的数量最大值的标准化数值;
逆流行度平均值获取单元,用于获得所述评价矩阵中用户之间的共同兴趣物品的逆流行度平均值,所述共同兴趣物品为两用户对同一物品的评分值大于第一阈值的物品;
第一相似度获取单元,用于根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度;
第二相似度获取单元,用于根据所述逆流行度平均值以及所述第一相似度的乘积,获得第二相似度;
推荐单元,用于根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,以及,根据所述推荐用户集合,向所述目标用户进行物品推荐。
可选地,所述第一相似度获取单元中,根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度,包括:
根据用户之间的各共同兴趣物品的评分值的方差均值,获得用户之间的第一相似度。
可选地,所述第一相似度通过第一比值和第一差值的乘积获得,所述第一差值为常数值与用户之间的各共同兴趣物品的评分值的方差均值之差,所述第一比值为用户之间的共同兴趣物品的数量与物品评分矩阵中的物品数量的比值。
可选地,所述推荐单元中,所述根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,包括:
以各用户分别作为目标用户,判断目标用户与其他用户之间的共同兴趣物品的数量是否大于第二阈值,若是,则将相应的用户作为目标用户的相似用户,以得到各目标用户的相似用户集合;
判断目标用户的相似用户集合中相似用户的数量是否大于第三阈值,若是,则将目标用户的相似用户集合作为目标用户的推荐用户集合;
当目标用户的相似用户集合中的相似用户数量小于该阈值且不为零时,则将目标用户的相似用户集合以及间接相似用户集合进行合并,以作为所述目标用户的推荐用户集合,所述间接相似用户集合为目标用户的相似用户集合中相似用户的相似用户集合。
可选地,所述推荐单元中,所述根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,还包括:
当目标用户与其他用户之间的共同兴趣物品的数量小于第二阈值,则将相应的第二相似度设置为噪声数据。
可选地,所述推荐单元中,所述根据所述推荐用户集合,向所述目标用户进行物品推荐,包括:
根据所述推荐用户集合中推荐用户与目标用户的第二相似度、推荐用户对物品的评分值,向目标用户进行物品推荐,所推荐物品为目标用户不具有评分值的物品。
可选地,所述推荐单元中,当相似用户集合中的相似用户数量小于该阈值且不为零时,在向所述目标用户进行物品推荐之前,还包括:
进行间接相似用户与目标用户第二相似度的更新,更新的第二相似度为目标用户与相似用户的第二相似度同相似用户与间接相似用户的第二相似度的加权平均值。
一种计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的物品推荐方法。
一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的物品推荐方法。
本发明实施例提供的一种物品推荐方法及装置,在基于相似度对用户进行物品推荐过程中,将相似度进行了修正,修正是基于评价矩阵中用户之间的共同兴趣物品的逆流行度平均值做出的,其中,逆流行度为一物品在物品评分矩阵中的评分值的数量相对于物品评分矩阵中物品的评分值的数量最大值的标准化数值,代表了物品的冷门程度,以体现用户对该物品兴趣的潜在影响,而共同兴趣物品为两用户对同一物品的评分值大于某一阈值的物品,通过用户之间的共同兴趣物品的逆流行度平均值,该平均值越高,则表征用户之间共同兴趣为真正的相似兴趣爱好,受流行或社会化的影响越小,通过该平均值对相似度进行修正,避免得到不准确的相似度,提高了相似度的准确性,进而提高物品推荐的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明实施例物品推荐方法的流程示意图;
图2示出了根据本发明实施例的物品推荐方法中相似用户集合及推荐用户集合的示意图;
图3示出了根据本发明实施例的物品推荐装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
正如背景技术的描述,随着互联网技术和计算机技术的不断发展,向用户推荐潜在的感兴趣的物品,可以让用户快速了解到心仪的物品,在基于协同过滤的推荐方法中,通过选取与目标用户相似度高的用户,基于这些相似用户的历史记录向目标用户推荐物品,这样,选取相似度高的用户的计算方法,就直接决定了推荐结果的准确与否。
为此,本申请提出了一种物品推荐方法及装置,在基于相似度对用户进行物品推荐过程中,将相似度进行了修正,修正是基于评价矩阵中用户之间的共同兴趣物品的逆流行度平均值做出的,其中,逆流行度为一物品在物品评分矩阵中的评分值的数量相对于物品评分矩阵中物品的评分值的数量最大值的标准化数值,代表了物品的冷门程度,以体现用户对该物品兴趣的潜在影响,而共同兴趣物品为两用户对同一物品的评分值大于某一阈值的物品,通过用户之间的共同兴趣物品的逆流行度平均值,该平均值越高,则表征用户之间共同兴趣为真正的相似兴趣爱好,受流行或社会化的影响越小,通过该平均值对相似度进行修正,避免得到不准确的相似度,提高了相似度的准确性,进而提高物品推荐的准确性。
为了更好地理解本申请的技术方案和技术效果,以下将结合流程图对具体的实施例进行详细的描述。
参考图1所示,在步骤S101,获得物品评分矩阵中每件物品的逆流行度,所述物品评分矩阵包括不同用户对不同物品的评分值,所述逆流行度为一物品在所述物品评分矩阵中的评分值的数量相对于所述物品评分矩阵中物品的评分值的数量最大值的标准化数值。
物品评分矩阵是用户对物品评分记录列表,通常由多个用户对多个物品的评分值构成,本申请实施例中,对物品的类型不做特别限定,例如可以为电影、食品、餐厅、商场、店铺、衣服、电器等等,该物品评分矩阵通常来自于用户的历史评价,在历史评价中,具体的评价可以并不是具体的评分值,可以为表示打分等级的文字,例如非常满意、较为满意、满意、一般、不满意等,对应于具体的评分值例如可以为5、4、3、2、1,在对应生成的物品评分矩阵中则可以将这些打分的文字对应于具体的打分数值。
在本申请实施例中,逆流行度为一物品在物品评分矩阵中具有评分值的数量相对于物品评分矩阵中物品具有评分值的数量最大值的标准化数值。其中,物品具有评分值的数量也就是该物品在该评分矩阵中总共被打分的次数,被打分的次数可以体现该物品的流行性,越是流行的物品可能被打分的次数会越多,物品评分矩阵中物品具有评分值的数量最大值,是指在物品评分矩阵中被打分次数最多的物品的评分次数,各物品的打分次数相对于最大评分次数的标准化数值,则为逆流行度。标准化数值是指经过标准化处理之后的数值,标准化处理是为了将各物品的打分次数统一映射到(0,1)区间上,典型地,可以采用离差标准化或其他合适的标准化方法,来获得该逆流行度。该逆流行度为物品冷门程度的标准化数值,体现物品的冷门程度,其与流行度存在负相关的关系。
为了便于理解,以一个具体的示例对物品评分矩阵和逆流行度进行说明,具体参见下表表一。
表一 物品评分矩阵
Item1 | Item2 | Item3 | Item4 | Item5 | |
User1 | 5 | 2 | 4 | 1 | |
User2 | 1 | 2 | |||
User3 | 5 | 3 | 4 | 5 | |
User4 | 2 | ||||
User5 | 4 | 3 | |||
User6 | 1 | 4 | 3 | ||
User7 | 4 | 2 | |||
User8 | 3 | 2 |
在该表一的示例中,不同的物品记为Itemi,i从1至5,不同的用户记为Userj,j从1至8,各用户Userj对不同物品Itemi可能进行过打分,也可能并没有进行过打分,具有打分行为的情形则会在打分矩阵中以具体的评分值体现,没有进行过打分的情形则不会在打分矩阵中出现具体的评分值,具体的评分值的分值越大则代表满意程度越高。
物品Itemi具有评分值的数量,也就是被打分的次数,该次数在一定程度上体现了物品的流行度,具体的,可以采用如下公式来表征物品的流行度Pop(Itemi):
Pop(Itemi)=count(rating(j,i)>0) j∈U (1)
其中,count为数量统计方法,U为用户集合。
可以采用如下公式来表征物品的逆流行度n-Pop(Itemi):
其中,max(Pop(Itemi))和min(Pop(Itemi))分别为物品评分矩阵中物品评分次数的最大值和最小值,该公式(2)为采用离差标准化的方法获得逆流行度,获得的逆流行度介于(0,1)之间,其值越大则代表物品的冷门程度越高,其对兴趣的潜在影响则越大。
在该具体的示例中,物品Itemi(i从1至5)具有评分值的数量,也就是被打分的次数分别为3、4、7、4、2,max(Pop(Itemi))和min(Pop(Itemi))分别为7、2,物品Itemi(i从1至5)的逆流行度n-Pop(Itemi)(i从1至5)则分别为0.8、0.6、0、0.6、1。
在步骤S102,获得所述评价矩阵中用户之间的共同兴趣物品的逆流行度平均值,所述共同兴趣物品为两用户对同一物品的评分值大于第一阈值的物品。
本发明实施例中,获得了用户之间的共同兴趣物品的逆流行度平均值,共同兴趣物品是两用户对同一物品的评分值均大于某一阈值的物品,也就是当两个用户对某一件物品的评分值都在某一数值之上时,则认为这两个用户对该物品都有兴趣,该物品记做该两用户的共同兴趣物品。
对于不同用户之间,则可以获得用户之间的所有共同兴趣物品的逆流行度的平均值,该平均值可以是所有值直接相加之后的平均值,也可以是将所有共同兴趣物品的逆流行度进行降噪处理之后进行平均而获得的平均值,也可以是其他加权算法获得的平均值或其他合适算法获得的平均值。共同兴趣物品的逆流行度平均值可以更好地表征用户之间真正的兴趣项,该值越高,则表示用户之间共同兴趣项中的流行程度越少,则对两人兴趣分配的权重越高,也就是受社会流行趋势的影响越小,因此,越能体现二者的相似性。
具体的,可以采用如下的公式来表示用户之间的共同兴趣物品的集合S和用户之间的共同兴趣物品的逆流行度平均值R:
sA,B={i|rat(A,i)>α}∩{i|rat(B,i)>α} (3)
其中,rat为用户对物品Itemi的评分值,α为第一阈值,A、B为两个不同的用户。
其中,m为两个不同的用户A、B的共同兴趣物品的数量,sA,B为两个不同的用户A、B共同兴趣物品的集合。
为了便于理解,以一个具体的示例进行说明,对于表一中的用户User1和用户User3,若设置第一阈值α为3,那么,用户User1和用户User3的共同兴趣物品的集合为{Item1,Item3},用户User1和用户User3的用户之间的共同兴趣物品的逆流行度平均值R则为(0.8+0)/2=0.4。
在步骤S103,根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度。
通过评分值,可以获得用户之间的相似度,该相似度记做第一相似度,在本发明实施中,可以通过各种推荐用的相似度算法来获得该第一相似度,相似度算法例如可以为余弦相似度、皮尔逊相关系数、修正余弦相似度等。
需要说明的是,在具体的应用中,该获得第一相似度的步骤S103的顺序并不做特别限定,该步骤S103可以在获得逆流行度的步骤S101和/或逆流行度平均值的步骤S102之前进行,也可以在获得逆流行度的步骤S101和/或逆流行度平均值的步骤S102之后进行。
在本发明优选的实施例中,具体的,可以根据用户之间的各共同兴趣物品的评分值的方差均值,获得用户之间的第一相似度。该相似度的获取方法中,考虑了用户之间的共同兴趣项,通过共同兴趣物品的评分值的方差均值体现用户之间的相似度,这样,用户之间的共同兴趣物品越多,且评分值的方差均值越小,则说明用户之间的相似性越高,该相似度是基于用户之间的相似点来度量,更能体现用户间共同兴趣的相似性。
在具体的应用中,可以获得标准化之后的第一相似度,标准化之后,获得的第一相似度将被限定在(0,1)的量纲内,具体的,该第一相似度具体可以通过第一比值和第一差值的乘积获得,所述第一差值为常数值与用户之间的各共同兴趣物品的评分值的方差均值之差,所述第一比值为用户之间的共同兴趣物品的数量与物品评分矩阵中的物品数量的比值。具体第一相似度Sim1(A,B)的计算公式表达式如下:
其中,m为两个不同的用户A、B之间的共同兴趣物品的数量,n为物品评分矩阵中的物品数量,rat为用户对物品Itemi的评分值,T为常数值。该常数值T可以通过经验值来确定,在一个示例中,该T可以为物品评分矩阵中的评分值的最大值。
在步骤S104,根据所述逆流行度平均值以及所述第一相似度的乘积,获得第二相似度。
本发明实施例的方法中,将获得的第一相似度通过逆流行度平均值进行修正,将第一相似度考虑了用户之间共同兴趣物品的数量以及共同兴趣对相似度影响的权重,使得修正后得到的第二相似度更为客观合理,提高了相似度的准确性。
具体的,第二相似度Sim2(A,B)的计算公式表达式可以如下:
其中,Sim1(A,B)为第一相似度,RA,B为逆流行度平均值。
在步骤S105,根据目标用户的所述第二相似度,确定所述目标用户的推荐用户,以及,根据所述推荐用户的物品的评分值,向所述目标用户进行物品推荐。
在本申请实施例中,目标用户即为被推荐对象,相似用户即为与目标用户具有较高相似度的用户,推荐用户为用于向目标用户进行推荐的候选相似用户,根据不同的需要,可以通过不同的方法来确定推荐用户,推荐用户可以通过相似用户直接或者间接获得。
通过上述公式(6)获得的第二相似度即为用于物品推荐用的用户相似度,该相似度为标准化后的数值。对于目标用户,在一些应用中,可以通过对第二相似度进行排序的方法,选择一定的数量生成该目标用户相似用户,通过该相似用户确定用于目标用户进行推荐的推荐用户,进而,根据确定的推荐用户对物品打分的历史,也就是物品的评分值,向目标用户进行物品的推荐。
然而,由于物品评分矩阵可能会存在稀疏性的问题,在矩阵中可能存在大量打分操作较少的用户,同时,评分矩阵中可能会存在一些噪声数据,这些都会造成相似度计算不准确而导致推荐结果不够准确的问题。为此,具体的,可以判断目标用户与其他用户之间的共同兴趣物品的数量是否大于第二阈值,若是,则将相应的第二相似度对应的用户作为该目标用户的相似用户,从而,得到目标用户的相似用户集合SimUserList(A),可以通过以下公式来表示目标用户:
Sim UserList(A)={B|count(SA,B)>β} (7)
其中,A为目标用户,B为该目标用户的相似用户,β为第二阈值,count为目标用户与其他用户的共同兴趣物品的数量,在该数量大于第二阈值β时,则将该用户作为目标用户的相似用户。
而当目标用户与其他用户之间的共同兴趣物品的数量小于第二阈值时,则认为该相似度不可信,则将相应的第二相似度设置为噪声数据。通过共同兴趣物品的数量来对目标用户的相似用户进行过滤,当目标用户与某一用户的共同兴趣物品的数量过少时,则认为少数共同兴趣项目会存在不确定性,那么将该用户与目标用户之间的第二相似度认为是噪声数据,在后续推荐时不予考虑。在进行判断之后,将所需的第二相似度设置为噪声数据时,可以通过将该相应的第二相似度进行归零操作或者直接将该第二相似度数据剔除,或者设置为其他不可用数据等方法进行。
而后,判断所述相似用户集合中相似用户的数量是否大于第三阈值,若是,则将所述相似用户集合作为所述目标用户的推荐用户集合;若否,则将所述相似用户集合以及间接相似用户集合进行合并,以作为所述目标用户的推荐用户集合,所述间接相似用户集合为目标用户的相似用户集合中相似用户的相似用户集合。
通过相似用户集合中相似用户的数量进行判断,当用户数量大于一阈值时,则认为目标用户的相似用户数量较多,可以通过将该相似用户集合作为推荐用户集合,以便进行进一步的物品推荐,为了便于描述,将该种情况记做第一种情形。对于该第一种情形,在进行目标用户的物品推荐时,可以将推荐用户集合中用户有过评分操作且目标用户没有过评分操作的物品,按照第二相似度和评分值进行综合计算排序,从中选取综合排序排名靠前的多个物品作为目标用户的推荐列表推荐给目标用户。
相反地,当相似用户集合中的相似用户数量小于该阈值且不为零时,则认为目标用户的相似用户数量较少,则认为相似用户的相似用户也可能与目标用户具有相同的兴趣,将该目标用户的相似用户的相似用户也作为目标用户的推荐用户,将目标用户的相似用户集合以及相似用户集合中各相似用户的相似用户集合进行合并,以作为目标用户的推荐用户集合。为了便于描述,将推荐用户集合中目标用户的相似用户的相似用户记做间接相似用户,从而增加目标用户的推荐用户数量,以丰富目标用户推荐物品的内容。为了便于描述,将该种情况记做第二种情形。
对于该第二种情形,在进行目标用户的物品推荐时,可以先进行间接相似用户与目标用户第二相似度的更新,获得更新的第二相似度,间接相似用户与目标用户更新的第二相似度为目标用户与相似用户的第二相似度与相似用户与间接相似用户的第二相似度的加权平均值;而后,同上述的第一种情形,在进行目标用户的物品推荐时,可以将推荐用户集合中有过评分操作且目标用户没有过评分操作的物品,按照第二相似度和评分值进行综合计算排序,从中选取综合排序排名靠前的多个物品作为目标用户的推荐列表推荐给目标用户。
其中,目标用户与间接相似用户之间的更新的第二相似度Sim2(A,C)的计算公式具体如下:
其中,A为目标用户,B为目标用户的相似用户,C为目标用户的相似用户的相似用户,即间接相似用户,Sim UserList(A)为目标用户A的相似用户集合,n为间接相似用户的数量。
为了便于理解推荐用户集合,以一个具体的示例进行说明,参考图2所示,其中图2中(A)为相似用户集合部分示例的示意图,在分别以用户user1、user2和user3作为目标用户,通过分别判断这些用户与其他用户之间的共同兴趣物品的数量之后,得到用户user1的相似用户集合为{user2,user3},用户user2的相似用户集合为{user4,user5},用户user3的相似用户集合为{user4,user6},目标用户user1的间接相似用户集合则为user2的相似用户集合{user4,user5}以及user3的相似用户集合{user4,user6},当目标用户user1的相似用户集合中的相似用户数量为2,若该数量满足大于第三阈值的要求,参考图2中(A)所示,则user1的推荐用户集合为相似用户集合{user2,user3};相反地,若该数量小于第三阈值,将目标用户user1相似用户集合以及间接相似用户集合进行合并,参考图2中(B)所示,得到目标用户user1扩充的推荐用户集合{user2,user3,user4,user5,user6}。
对于该示例,可以进行间接相似用户{user4,user5,user6}与目标用户user之间的第二相似度的更新,则分别为:
Sim2(user1,user5)=Sim2(user1,user2)×Sim2(user2,user5);
Sim2(user1,user6)=Sim2(user1,user3)×Sim2(user3,user6);
这样,以便根据更新的相似度从推荐用户集合中选择物品进行更为精准推荐。
此外,还可能存在用户并没有相似用户的情形,即当相似用户集合中的相似用户数量等于零时,对于这种情形,可以对该用户基于物品的协同过滤算法进行推荐,也就是通过该用户感兴趣的物品,感兴趣的物品可以通过该用户对物品的打分记录获得,向其推荐相关的物品;若该用户感兴趣的物品较少,则可以选择流行度高和/或评价较好的物品进行推荐。
以上对本发明实施例的物品推荐方法进行了详细的描述,此外,本发明还提供了实现上述方法的物品推荐装置,参考图3所示,包括:
逆流行度获取单元300,用于获得物品评分矩阵中每件物品的逆流行度,所述物品评分矩阵包括不同用户对不同物品的评分值,所述逆流行度为一物品在所述物品评分矩阵中具有评分值的数量相对于所述物品评分矩阵中物品具有评分值的数量最大值的标准化数值;
逆流行度平均值获取单元310,用于获得所述评价矩阵中用户之间的共同兴趣物品的逆流行度平均值,所述共同兴趣物品为两用户对同一物品的评分值大于第一阈值的物品;
第一相似度获取单元320,用于根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度;
第二相似度获取单元330,用于根据所述逆流行度平均值以及所述第一相似度的乘积,获得第二相似度;
推荐单元340,用于根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,以及,根据所述推荐用户集合,向所述目标用户进行物品推荐。
进一度地,所述第一相似度获取单元320中,根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度,包括:
根据用户之间的各共同兴趣物品的评分值的方差均值,获得用户之间的第一相似度。
进一度地,所述第一相似度通过第一比值和第一差值的乘积获得,所述第一差值为常数值与用户之间的各共同兴趣物品的评分值的方差均值之差,所述第一比值为用户之间的共同兴趣物品的数量与物品评分矩阵中的物品数量的比值。
进一度地,所述推荐单元340中,所述根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,包括:
以各用户分别作为目标用户,判断目标用户与其他用户之间的共同兴趣物品的数量是否大于第二阈值,若是,则将相应的用户作为目标用户的相似用户,以得到各目标用户的相似用户集合;
判断目标用户的相似用户集合中相似用户的数量是否大于第三阈值,若是,则将目标用户的相似用户集合作为目标用户的推荐用户集合;
当目标用户的相似用户集合中的相似用户数量小于该阈值且不为零时,则将目标用户的相似用户集合以及间接相似用户集合进行合并,以作为所述目标用户的推荐用户集合,所述间接相似用户集合为目标用户的相似用户集合中相似用户的相似用户集合。
进一度地,所述推荐单元340中,所述根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,还包括:
当目标用户与其他用户之间的共同兴趣物品的数量小于第二阈值,则将相应的第二相似度设置为噪声数据。
进一度地,所述推荐单元340中,所述根据所述推荐用户集合,向所述目标用户进行物品推荐,包括:
根据所述推荐用户集合中推荐用户与目标用户的第二相似度、推荐用户对物品的评分值,向目标用户进行物品推荐,所推荐物品为目标用户不具有评分值的物品。
进一度地,所述推荐单元340中,当相似用户集合中的相似用户数量小于该阈值且不为零时,在向所述目标用户进行物品推荐之前,还包括:
进行间接相似用户与目标用户第二相似度的更新,更新的第二相似度为目标用户与相似用户的第二相似度同相似用户与间接相似用户的第二相似度的加权平均值。
本申请实施例还提供了计算机可读存储介质,所述机算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的物品推荐方法。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述的物品推荐方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块或单元可以是或者也可以不是物理上分开的,作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (13)
1.一种物品推荐方法,其特征在于,包括:
获得物品评分矩阵中每件物品的逆流行度,所述物品评分矩阵包括不同用户对不同物品的评分值,所述逆流行度为一物品在所述物品评分矩阵中具有评分值的数量相对于所述物品评分矩阵中物品具有评分值的数量最大值的标准化数值;所述一物品在所述物品评分矩阵中具有评分值的数量为该物品在所述物品评分矩阵中总共被打分的次数,所述物品评分矩阵中物品具有评分值的数量最大值为在所述物品评分矩阵中被打分次数最多的物品的评分次数;所述逆流行度物品的冷门程度,其值越大代表物品的冷门程度越高;
获得所述评分矩阵中用户之间的共同兴趣物品的逆流行度平均值,所述共同兴趣物品为两用户对同一物品的评分值大于第一阈值的物品;
根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度;
根据所述逆流行度平均值以及所述第一相似度的乘积,获得第二相似度;
根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,以及,根据所述推荐用户集合,向所述目标用户进行物品推荐。
2.根据权利要求1所述的方法,其特征在于,所述根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度,包括:
根据用户之间各共同兴趣物品的评分值的方差的均值,获得用户之间的第一相似度,所述用户之间各共同兴趣物品的评分值的方差的均值由用户之间各共同兴趣物品的评分值的方差除以用户之间共同兴趣物品的数量得到。
3.根据权利要求2所述的方法,其特征在于,所述第一相似度通过第一比值和第一差值的乘积获得,所述第一差值为常数值与用户之间各共同兴趣物品的评分值的方差的均值之差,所述第一比值为用户之间的共同兴趣物品的数量与物品评分矩阵中的物品数量的比值。
4.根据权利要求1所述的方法,其特征在于,所述根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,包括:
以各用户分别作为目标用户,判断目标用户与其他用户之间的共同兴趣物品的数量是否大于第二阈值,若是,则将相应的第二相似度对应的用户作为目标用户的相似用户,以得到各目标用户的相似用户集合;
判断目标用户的相似用户集合中相似用户的数量是否大于第三阈值,若是,则将目标用户的相似用户集合作为目标用户的推荐用户集合;
当目标用户的相似用户集合中的相似用户数量小于该第三阈值且不为零时,则将目标用户的相似用户集合以及间接相似用户集合进行合并,以作为所述目标用户的推荐用户集合,所述间接相似用户集合为目标用户的相似用户集合中相似用户的相似用户集合。
5.根据权利要求4所述的方法,其特征在于,所述根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,还包括:
当目标用户与其他用户之间的共同兴趣物品的数量小于第二阈值,则将相应的第二相似度设置为噪声数据。
6.根据权利要求4或5所述的方法,其特征在于,所述根据所述推荐用户集合,向所述目标用户进行物品推荐,包括:
根据所述推荐用户集合中推荐用户与目标用户的第二相似度、推荐用户对物品的评分值,向目标用户进行物品推荐,所推荐物品为目标用户不具有评分值的物品。
7.根据权利要求4所述的方法,其特征在于,当相似用户集合中的相似用户数量小于该阈值且不为零时,在向所述目标用户进行物品推荐之前,还包括:
进行间接相似用户与目标用户第二相似度的更新,更新的第二相似度为目标用户与相似用户的第二相似度同相似用户与间接相似用户的第二相似度的加权平均值。
8.一种物品推荐装置,其特征在于,包括:
逆流行度获取单元,用于获得物品评分矩阵中每件物品的逆流行度,所述物品评分矩阵包括不同用户对不同物品的评分值,所述逆流行度为一物品在所述物品评分矩阵中具有评分值的数量相对于所述物品评分矩阵中物品具有评分值的数量最大值的标准化数值;所述一物品在所述物品评分矩阵中具有评分值的数量为该物品在所述物品评分矩阵中总共被打分的次数,所述物品评分矩阵中物品具有评分值的数量最大值为在所述物品评分矩阵中被打分次数最多的物品的评分次数;所述逆流行度物品的冷门程度,其值越大代表物品的冷门程度越高;
逆流行度平均值获取单元,用于获得所述评分矩阵中用户之间的共同兴趣物品的逆流行度平均值,所述共同兴趣物品为两用户对同一物品的评分值大于第一阈值的物品;
第一相似度获取单元,用于根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度;
第二相似度获取单元,用于根据所述逆流行度平均值以及所述第一相似度的乘积,获得第二相似度;
推荐单元,用于根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,以及,根据所述推荐用户集合,向所述目标用户进行物品推荐。
9.根据权利要求8所述的装置,其特征在于,所述第一相似度获取单元中,根据所述物品评分矩阵中的评分值,获得用户之间的第一相似度,包括:
根据用户之间各共同兴趣物品的评分值的方差的均值,获得用户之间的第一相似度,所述用户之间各共同兴趣物品的评分值的方差的均值由用户之间各共同兴趣物品的评分值的方差除以用户之间共同兴趣物品的数量得到。
10.根据权利要求9所述的装置,其特征在于,所述第一相似度通过第一比值和第一差值的乘积获得,所述第一差值为常数值与用户之间各共同兴趣物品的评分值的方差的均值之差,所述第一比值为用户之间的共同兴趣物品的数量与物品评分矩阵中的物品数量的比值。
11.根据权利要求8所述的装置,其特征在于,所述推荐单元中,所述根据目标用户的所述第二相似度,确定所述目标用户的推荐用户集合,包括:
以各用户分别作为目标用户,判断目标用户与其他用户之间的共同兴趣物品的数量是否大于第二阈值,若是,则将相应的第二相似度对应的用户作为目标用户的相似用户,以得到各目标用户的相似用户集合;
判断目标用户的相似用户集合中相似用户的数量是否大于第三阈值,若是,则将目标用户的相似用户集合作为目标用户的推荐用户集合;
当目标用户的相似用户集合中的相似用户数量小于该第三阈值且不为零时,则将目标用户的相似用户集合以及间接相似用户集合进行合并,以作为所述目标用户的推荐用户集合,所述间接相似用户集合为目标用户的相似用户集合中相似用户的相似用户集合。
12.根据权利要求11所述的装置,其特征在于,所述推荐单元中,当相似用户集合中的相似用户数量小于该阈值且不为零时,在向所述目标用户进行物品推荐之前,还包括:
进行间接相似用户与目标用户第二相似度的更新,更新的第二相似度为目标用户与相似用户的第二相似度同相似用户与间接相似用户的第二相似度的加权平均值。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-7任一项所述的物品推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811160580.5A CN109271592B (zh) | 2018-09-30 | 2018-09-30 | 一种物品推荐方法、装置、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811160580.5A CN109271592B (zh) | 2018-09-30 | 2018-09-30 | 一种物品推荐方法、装置、存储介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271592A CN109271592A (zh) | 2019-01-25 |
CN109271592B true CN109271592B (zh) | 2021-02-23 |
Family
ID=65194991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811160580.5A Active CN109271592B (zh) | 2018-09-30 | 2018-09-30 | 一种物品推荐方法、装置、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271592B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992699B (zh) * | 2019-02-28 | 2023-08-11 | 平安科技(深圳)有限公司 | 用户群的优化方法及装置、存储介质、计算机设备 |
CN110930226A (zh) * | 2019-11-26 | 2020-03-27 | 中国建设银行股份有限公司 | 一种金融产品推荐方法、装置、电子设备及存储介质 |
CN111260435A (zh) * | 2020-01-10 | 2020-06-09 | 京东数字科技控股有限公司 | 多因子权重赋值修正方法、装置、计算机设备和存储介质 |
CN111859155A (zh) * | 2020-08-04 | 2020-10-30 | 深圳前海微众银行股份有限公司 | 物品推荐方法、设备及计算机可读存储介质 |
CN113592588B (zh) * | 2021-07-25 | 2023-10-03 | 深圳市瀚力科技有限公司 | 基于大数据协同过滤技术的电商平台商品推荐系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929928A (zh) * | 2012-09-21 | 2013-02-13 | 北京格致璞科技有限公司 | 基于多维相似度的个性化新闻推荐方法 |
CN103209342A (zh) * | 2013-04-01 | 2013-07-17 | 电子科技大学 | 一种引入视频流行度和用户兴趣变化的协作过滤推荐方法 |
CN105404700A (zh) * | 2015-12-30 | 2016-03-16 | 山东大学 | 一种基于协同过滤的视频栏目推荐系统及推荐方法 |
CN106709780A (zh) * | 2016-11-14 | 2017-05-24 | 北京邮电大学 | 一种物品推荐方法及装置 |
-
2018
- 2018-09-30 CN CN201811160580.5A patent/CN109271592B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929928A (zh) * | 2012-09-21 | 2013-02-13 | 北京格致璞科技有限公司 | 基于多维相似度的个性化新闻推荐方法 |
CN103209342A (zh) * | 2013-04-01 | 2013-07-17 | 电子科技大学 | 一种引入视频流行度和用户兴趣变化的协作过滤推荐方法 |
CN105404700A (zh) * | 2015-12-30 | 2016-03-16 | 山东大学 | 一种基于协同过滤的视频栏目推荐系统及推荐方法 |
CN106709780A (zh) * | 2016-11-14 | 2017-05-24 | 北京邮电大学 | 一种物品推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109271592A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271592B (zh) | 一种物品推荐方法、装置、存储介质及程序产品 | |
US9798797B2 (en) | Cluster method and apparatus based on user interest | |
US10607243B2 (en) | User behavior analysis method and device as well as non-transitory computer-readable medium | |
JP6397704B2 (ja) | 情報処理装置、情報処理システム、情報処理方法及びプログラム | |
CN107341268B (zh) | 一种热搜榜排序方法及系统 | |
WO2020048084A1 (zh) | 资源推荐方法、装置、计算机设备及计算机可读存储介质 | |
CN108537567B (zh) | 一种目标用户群体的确定方法和装置 | |
US20180315059A1 (en) | Method and system of managing item assortment based on demand transfer | |
US20190311395A1 (en) | Estimating click-through rate | |
US20150052002A1 (en) | Systems and methods for programatically classifying text using topic classification | |
WO2015089065A1 (en) | Data search processing | |
WO2015081219A1 (en) | Individualized data search | |
CN110197404B (zh) | 可降低流行度偏差的个性化长尾商品推荐方法和系统 | |
US9542480B2 (en) | Systems and methods for programatically classifying text using category filtration | |
CN106599047B (zh) | 一种信息的推送方法及装置 | |
US20180025364A1 (en) | Information processing apparatus, information processing method, and program | |
US11636120B2 (en) | Offline evaluation of ranking functions | |
US20190065611A1 (en) | Search method and apparatus | |
CN109063120B (zh) | 一种基于聚类的协同过滤推荐方法和装置 | |
CN113821727A (zh) | 物品推荐方法、计算机设备及计算机可读存储介质 | |
JP5373670B2 (ja) | 質問推薦装置及び方法及びプログラム | |
CN111210274A (zh) | 一种广告推荐方法及系统 | |
CN108681947B (zh) | 基于物品的时间关联度和覆盖度的协同过滤推荐方法 | |
CN114756758B (zh) | 一种混合推荐方法和系统 | |
CN113190763B (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 |