一种用户相似度计算方法与流程

文档序号:22130007发布日期:2020-09-08 12:44阅读:809来源:国知局
一种用户相似度计算方法与流程

本发明涉及推荐算法技术,尤其涉及一种用户相似度计算方法



背景技术:

传统的协同过滤推荐算法中,用户相似度计算比较简单,一般直接根据用户历史行为判断相似性,因此准确性不高。

为此,现有技术曾经提出了,一种《融合惩罚因子和时间权重的协同过滤推荐算法》,doi为10.19358/j.issn.2096-5133.2020.05.004。但该传统的协同过滤算法中存在一些问题,如冷启动,数据稀疏和马太效应。兰艳等人利用衰减因子建立非线性时间加权函数,赋予评分不同的时间权重,提高了推荐的准确性。上述文献虽考虑到了用户相似度与时间之间的关系,但是却孤立的计算和登录时间的正相关以及和随时间而衰减的负相关关系,没有将用户相似度与时间的两种关系进行融合考虑。

而现有技术《基于用户模糊聚类的综合信任推荐算法》,doi为10.19678/j.issn.1000-3428.0057930。该传统的协同过滤推荐算法在遇到数据量很大的情况下,推荐时间会增加,准确率也有所降低。此文献中考虑了对用户进行聚类来缩小用户范围。但是它只单一的考虑了聚类对相似度的积极影响,没有考虑影响相似度的其他因子如用户使用频率,操作行为的时间差,位置距离等对相似度的影响。

因此目前亟待一种技术来进一步提高相似度计算的准确性。



技术实现要素:

本发明的主要目的在于提供一种用户相似度计算方法,以较为全面的提高相似度计算的准确性。

为了实现上述目的,本发明的一个方面,提供了一种用户相似度计算方法,步骤包括:

s1根据用户属性进行聚类分组,计算基于静态属性的相似度simattr;

s2根据用户相似度与登录时间成正比,但又受时间衰减效应计算出相似度simtime;

s3根据用户相似度与用户的操作行为频率呈负相关的关系计算出相似度simfre;

s4通过用户被产品吸引的不确定性,为用户增加自信息量得出相似度siminf;

s5将s1-s4计算得出的各相似度进行叠加和归一化处理,得出最终的用户相似度;其中:

其中表示用户u1对产品y的评分情况;

其中ρ是归一化系数,t1-t2表示登录时间差,σ是时间衰减指数,t1-t2表示操作行为时间差;

其中表示产品y的权值,表示产品y的自信息量;

其中λy表示与频率相关的权值;

为了实现上述目的,根据本发明的另一方面,还提供了一种用户相似度计算方法,步骤包括:

s1根据用户属性进行聚类分组,计算基于静态属性的相似度simattr;

s2根据用户相似度与登录时间成正比,但又受时间衰减效应计算出相似度simtime;

s3根据用户相似度与用户的操作行为频率呈负相关的关系计算出相似度simfre;

s4通过用户被产品吸引的不确定性,为用户增加自信息量得出相似度siminf;

s5定位用户当前位置,根据距离长短给用户相似度加权值得出相似度simpos;

s6将s1-s5计算得出的各相似度进行叠加和归一化处理,得出最终的用户相似度;其中:

其中表示用户u1对产品y的评分情况;

其中ρ是归一化系数,t1-t2表示登录时间差,σ是时间衰减指数,t1-t2表示操作行为时间差;

其中表示产品y的权值,表示产品y的自信息量;

其中λy表示与频率相关的权值;

其中表示两个用户根据位置关系确定的相似度的权值大小。

优选地,其中u和uy分别表示用户总操作行为的频率和对产品y的频率。

优选地,其中

本发明提供的该用户相似度计算方法,和传统技术相比,具有以下技术优点:首先对获取到的用户信息基于属性进行聚类,实现用户分组,确定相似度计算的大致范围,避免多次从原始数据中进行繁琐且冗余的计算。同时考虑到用户相似度和用户的登陆时间成正比,但关系又会随着时间延长而衰减,因此用一个公式将相似度与时间的两种关系结合起来。对于不活跃的用户,其行为应更具有可信度,因此将用户行为频率和相似度之间的关系考虑为负相关,同时获取用户的位置信息,将距离远近也作为衡量相似度的一个方面。籍此使得本发明可以从多个方面考虑了影响用户相似度的因素,提高了计算结果的准确性和普适性,时间更短,效率更高,推荐结果更准确,能提供更好的个性化推荐服务。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明的用户相似度计算方法的架构图;

图2是本发明的用户相似度计算方法的计算流程图;

图3是本发明包括位置距离计算相似度的流程图。

具体实施方式

下面对本发明的具体实施方式进行详细地说明。以下示例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。

为了使本领域的技术人员更好的理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,在本领域普通技术人员没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“s1”、“s2”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。

实施例1

传统的协同过滤推荐算法中,用户相似度计算比较简单,一般直接根据用户历史行为判断相似性,本发明的该用户相似度计算方法,能够更加全面的考虑影响用户相似度的因子。首先通过对用户信息进行简单聚类分组,来降低时间复杂度,将相似度和登录时间的正相关关系和随时间而衰减的负相关关系同时考虑进一个公式,并在分母进行了归一化处理;通过对用户分别增加自信息量的权值和频率负相关的权值,从而即可够较为全面的提高相似度计算的准确性。

具体来说,该用户相似度计算方法主要包括:根据用户属性进行简单聚类分组,得出基于静态属性的相似度simattr;根据用户相似度与登录时间成正比,但又受时间衰减效应计算出simtime;根据用户相似度与用户的操作行为频率负相关的关系计算出simfre;通过用户被产品吸引的不确定性,为用户增加自信息量得出siminf;最终将上述计算得出的各相似度进行叠加和归一化处理,即可得出最终的用户相似度。

如:

其中表示用户u1对产品y的评分情况。

其中ρ是归一化系数,t1-t2表示登录时间差,σ是时间衰减指数,t1-t2表示操作行为时间差。

其中表示产品y的权值,表示产品y的自信息量。

其中λy表示与频率相关的权值。

实施例2

在另一较佳实施方式下,本发明提供的该用户相似度计算方法,首先通过对用户信息进行简单聚类分组,来降低时间复杂度,将相似度和登录时间的正相关关系和随时间而衰减的负相关关系同时考虑进一个公式,并在分母进行了归一化处理;通过对用户分别增加自信息量的权值和频率负相关的权值,并在此基础上通过获取用户位置信息,将距离权值也考虑进用户相似度中,能够较为全面的提高相似度计算的准确性。

具体来说,该用户相似度计算方法主要包括:

s1根据用户属性进行聚类分组,计算基于静态属性的相似度simattr;

s2根据用户相似度与登录时间成正比,但又受时间衰减效应计算出相似度simtime;

s3根据用户相似度与用户的操作行为频率呈负相关的关系计算出相似度simfre;

s4通过用户被产品吸引的不确定性,为用户增加自信息量得出相似度siminf;

s5定位用户当前位置,根据距离长短给用户相似度加权值得出相似度simpos;

s6将s1-s5计算得出的各相似度进行叠加和归一化处理,得出最终的用户相似度;其中:

其中表示用户u1对产品y的评分情况;

其中ρ是归一化系数,t1-t2表示登录时间差,σ是时间衰减指数,t1-t2表示操作行为时间差;

其中表示产品y的权值,表示产品y的自信息量;

其中λy表示与频率相关的权值;

其中表示两个用户根据位置关系确定的相似度的权值大小。

其中举例来说,本算法所使用的业务可大致分为以下几类:1.用户基本信息。该类信息在用户首次访问系统时进行注册登录所得。如果是个人,则包括用户姓名,性别,联系方式,联系地址。如果是企业,则包括企业运营信息、人员信息、财务信息、知识产权信息等。2.用户历史数据。该类数据由用户的历史行为记录,如对某种业务产品的浏览时长,加购次数等组成。

其中关键技术主要包括:根据用户属性进行简单聚类分组,得出基于静态属性的相似度simattr;根据用户相似度与登录时间成正比,但又受时间衰减效应计算出simtime;根据用户相似度与用户的操作行为频率负相关的关系计算出simfre;通过用户被产品吸引的不确定性,为用户增加自信息量得出siminf;定位用户当前位置,根据距离长短给用户相似度加权值得出simpos。

图1是本发明的用户相似度计算方法的架构图,通过图1可知首先需要获取数据,此处的数据就是前面提到的用户基本数据和历史信息。然后对数据进行预处理,可分为三个步骤:两步聚类,把获取到的初始信息类型分开,然后再将结果进行k-均值聚类,最后通过系统聚类,对分类结果进行判别分析。简单分类后将处理结果转化为特征向量以便进行相似度的计算。

具体的相似度计算过程如图2所示。将经过预处理获取到的特征向量输入,分别得到每一个用户的向量信息。首先使用用户对产品的评分信息,通过simattr的相关公式,计算出关于用户评分的相似度情况;然后使用用户的登陆时间和对产品进行操作的具体时间,利用与登陆时间正相关,但随时间延长而衰减的关系,通过simtime的相关公式计算出关于时间的相似度情况;接下来根据分类结果,对每个产品增加由自信息量确定的权值,再结合用户评分信息,通过siminf计算出关于自信息量的相似度情况;然后通过用户的操作频率,利用操作频率越低,操作行为所占权值越重的关系,通过simfre确定频率与用户相似度的关系;最后,根据图3的位置距离计算相似度流程图,通过获取到用户的位置信息,根据位置的距离关系确定相似度之间的权值,将前面四个相似度结果进行叠加平均,并对分母进行归一化处理,利用距离权值计算出最终的用户相似度。

如现在获取到两组聚类后的用户a和b的基本信息,包括姓名,性别,联系方式,联系地址,历史行为记录表等。那么根据两者历史行为表中对产品的喜爱程度,若用户a对产品a、b、c、d的喜爱程度分别为2、4、0、0;用户b对四个产品的喜爱程度分别为1、0、0、24,则根据公式可得出simattr为0.018。根据两者登录时间和具体操作行为的时间差,利用线性函数归一化方法计算出归一化系数ρ和σ,得出wy的值,进而得出simtime为0.352。再通过自信息量计算公式对每个产品进行自信息量的权值附加,其中p(a)是从表中收集到的用户对产品a的评分比平均评分高的次数,f(a)是该产品被评分的次数,然后可得出基于自信息量的相似度siminf为0.103。

利用记录表中用户的登录次数和对产品的操作次数,通过计算出反频率公式中的权值,其中u和uy分别表示用户总操作行为的频率和对产品y的频率,代入simfre得出关于频率的相似度0.473。

最后通过获取用户实时位置,将两者之间的位置距离映射进距离权值二维矩阵中,此处二维矩阵可以自定义,只需满足距离和权值的一一映射关系即可。再将前面计算得出的相似度进行叠加和归一化处理,得出最终的用户相似度为0.403。

通过结果可以明显看出,如果只考虑用户属性之间的联系,那么两者相似度极低;若只考虑频率带来的影响,那么相似度相对较高。而本发明考虑到多种情况后进行融合平均,能得出较为客观全面的相似度结果。

综上所述,本发明提供的该用户相似度计算方法,更加全面的考虑影响用户相似度的因子。首先通过对用户信息进行简单聚类分组,来降低时间复杂度,将相似度和登录时间的正相关关系和随时间而衰减的负相关关系同时考虑进一个公式,并在分母进行了归一化处理;通过对用户分别增加自信息量的权值和频率负相关的权值,并在此基础上通过获取用户位置信息,将距离权值也考虑进用户相似度中,从而能够较为全面的提高相似度计算的准确性。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

本领域技术人员可以理解,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

此外实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1