一种面向社交网络基于云模型的推荐系统评分预测方法与流程

文档序号:11143562阅读:448来源:国知局
一种面向社交网络基于云模型的推荐系统评分预测方法与制造工艺

本发明涉及数据挖掘和信息检索领域,涉及推荐系统的个性化推荐,是一种面向社交网络基于云模型的推荐系统评分预测方法。



背景技术:

互联网的出现和普及给用户带来了大量的信息,满足了用户在信息时代对信息的需求,但随着网络的迅速发展,网络信息量的不断增加,信息超载的问题随之而来。针对信息超载问题,国内外专家学者不断提出新的方法,如强化搜索引擎、优化推荐方案。

近年来,推荐系统受到物联网巨头和电商越来越多的青睐,尤其个性化推荐技术的发展,它是根据用户的信息需求和兴趣,将用户感兴趣的信息和产品推荐给用户的个性化信息推荐系统。推荐系统可以分为两类:预测和topN推荐。前者是预测用户对项目的评分,后者是向用户提供一个个性化推荐列表。目前,研究应用最广泛的推荐系统评分预测方法主要有两种,一种是基于内容的评分预测,另一种是基于协同过滤的评分预测。基于内容的是通过对推荐项目内容信息的分析,形成表示推荐项目内容的资源特征描述,并根据用户过往行为记录对用户兴趣进行建模,通过计算已知用户偏好与项目属性刻画内容之间的匹配度来预测用户对项目的评分。基于协同过滤方案的是利用用户的过往行为记录,寻找用户的相似群体,并根据相似群体对推荐对象的评分,从而预测用户对项目的评分。由于互联网信息资源的多样性,基于内容的评分预测对多媒体资源内容解析的知识要求较高。因此,基于协同过滤的评分预测方法得到了更广泛的应用。

随着电子商务规模的扩大,不仅使数据量急剧增加,而且导致了用于评分预测的数据产生稀疏性,从而使传统协同过滤技术评分预测方法的预测精度急剧下降。此外,由于用户评分具有一定的主观性和用户自身的个体差异性,造成了难以发现目标用户真实兴趣相似群体的困难。因此,解决数据稀疏及评分标准不统一问题对提高预测精度起着重要作用。

然而对于数据稀疏和评分标准不统一问题,目前的推荐系统评分预测方法仍然没有很好的解决,为了提高评分预测的精度,增强推荐系统的性能,我们需要从问题出发,制定合适的解决方案。云模型是一个定性和定量之间的不确定转换模型,利用此特性可以把定量评分转换为定性的概念,并从定性概念入手统一用户评分的标准,云模型的另外一个特性是在形成云的过程中,其中一个特定的云滴不重要,重要的是云的整体形状,利用此特征可克服评分稀疏的问题,而在具体实施中如何利用云模型的特点构建可以克服数据稀疏和评分标准不统一问题的评分模型仍是本研究的难点。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种有效的解决用户评分数据稀疏情况下传统预测方法存在的问题,并提高预测精度的面向社交网络基于云模型的推荐系统评分预测方法。本发明的技术方案如下:

一种面向社交网络基于云模型的推荐系统评分预测方法,其包括以下步骤:

步骤1、获取评论或社交网络平台上的用户历史评分记录及用户社交网络关系;

步骤2、根据用户的历史评分记录构建一维评分云,采用综合云技术融合所有一维评分云形成父云,通过父云生成新的用户评分;

步骤3、并根据新的用户评分对用户进行聚类,发现用户的相似群体,社交关系是用户的好友关系,也就是用户在社交网络中用的好友,是数据中存在的,不需要预测,聚类的目的则是找出和用户兴趣相似的其他用户,也就是聚类结果中同一个类别的那部分用户;并根据用户的新评分对用户进行聚类,通过聚类结果来发现用户的相似群体,即用户所在类内的其他用户为该用户的相似群体。

步骤4、根据被预测用户的社交关系,对被预测用户的相似群体构建两朵高维评分云,分别计算用户历史评分在其中的隶属度,以此表示被预测用户在其两类相似群体中的位置,并基于高斯变换构建综合预测机制。

进一步的,所述步骤1获取评论或/和社交网络平台上的用户历史评分记录及用户社交网络关系直接从现有的基于Web的研究型推荐系统下载或者利用成熟的社交平台的公共API获取。

进一步的,所述步骤2构建一维评分云,采用综合云技术融合所有评分云形成父云,通过父云生成新的用户评分包括以下步骤:首先,根据用户到项目的评分矩阵,对每个用户的评分使用逆向云发生器计算出评分向量(Ex,En,He),并对每个用户构建一维的云图;其次,采用综合云技术融合所有用户的评分向量,得到父云的评分向量,并构建父云的云图得到评分标准;最后,通过正向云发生器得到用户评分在自身云图中的隶属度,并得到在此隶属度下父云产生的云滴,以此云滴确定新的评分。

进一步的,所述步骤3采用K-means聚类方法进行聚类,以发现预测用户的真实相似群体。

进一步的,所述步骤4具体包括以下步骤:根据被预测用户关注集合,把其相似群体分为好友和非好友两部分,通过逆向云发生器分别对两部分群体的历史评分构建高维云,分别计算用户在两朵高维云中的隶属度;同样通过逆向云发生器分别对两部分群体对被推荐项目的评分构建两朵一维云,分别计算高维云中的隶属度在一维云中的云滴,并对两部分群体的一维云滴进行高斯变换取其期望作为最后的预测云滴,由此云滴确定预测评分。

进一步的,根据用户到项目的评分矩阵,对每个用户的评分使用逆向云发生器计算出评分向量(Ex,En,He)包括;提取单个用户的历史评分,逆向云发生器生成评分云,根据公式计算评分云的期望向量Ex,其中xi表示单个用户第i个历史评分值,根据公式计算评分云的熵向量,根据公式计算评分云的超熵向量,其中n表示单个用户的所有评分数量。

进一步的,所述采用综合云技术融合所有用户的评分向量,得到父云的评分向量,并构建父云的云图得到评分标准包括:所有用户中,取期望值最近的两个用户的评分云,令其为C1(Ex1,En1,He1)和C2(Ex2,En2,He2),根据公式获取父云的期望向量,根据公式En=En'1+En'2获取父云的熵向量,根据公式获取父云的超熵向量,其中和分别为C1和C2期望曲线的取大值,融合形成这两个用户的父云向量为(Ex,En,He),在剩余用户中找到和此父云期望值最近的用户的评分云,再次融合形成新的父云,以此类推,最终融合所有用户的评分云,形成一朵父云。

进一步的,所述对两部分群体的一维云滴进行高斯变换取其期望作为最后的预测云滴包括:在用户相似群体中,提取好友部分对被预测用户历史评分项目集合的评分,根据逆向云发生器生成高维评分云向量(Ex1,En1,He1;Ex2,En2,He2;…;Exn,Enn,Hen),其中(Exn,Enn,Hen)表示好友部分对第n个项目的评分生成的云,根据公式计算被预测用户在高维云中的隶属度,其中,μ表示隶属度,xi表示用户第i个评分,En'i表示以Eni为期望,He2i为方差的一个正太随机数;提取好友部分对被预测项目的评分构成评分云(Ex,En,He),根据公式计算的得到两个预测云滴,同样的方法获取非好友部分的预测云滴。

进一步的,在获取好友与非好友部分的四个预测云滴时,找出距离最大的两个(x11)和(x22),根据公式获取高斯变换后的期望,并作为最后的预测结果。

本发明的优点及有益效果如下:

本发明此方法首先使用综合云模型统一用户评分标准,解决了用户评分主观性和个体差异性问题,为发现用户真实相似群体提供了基础。其次,根据目标用户的相似群体,结合社交网络用户关系,构建综合评分预测机制,有效的解决用户评分数据稀疏情况下传统预测方法存在的问题,并提高预测精度。

附图说明

图1是本发明提供优选实施例系统整体框架示意图;

图2是本发明使用综合云模型统一用户评分标准的流程示意图;

图3是本发明构建综合评分预测方法流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是,

如图1是本发明总体的流程图,包括数据获取,对评分标准进行统一,发现用户相似群体,进行综合评分预测四大模块,其中,数据源的获取可以直接从现有的基于Web的研究型推荐系统下载或者利用成熟的社交平台的公共API获取。通过数据源的抓取,获得用户的历史评分记录、个人社交网络信息,以此构建用户到项目的评分矩阵及用户的好友向量;通过综合云技术统一用户评分标准;采用K-means聚类方法针对评分对用户进行聚类,以发现用户的相似群体;通过用户的相似群体,结合用户的社交网络关系,构建综合评分预测方法,并预测用户对推荐项目的评分。

统一用户评分标准。首先,根据用户到项目的评分矩阵,对每个用户的评分使用逆向云发生器计算出评分向量(Ex,En,He),并对每个用户构建一维的云图;其次,采用综合云技术融合所有用户的评分向量,得到父云的评分向量,并构建父云的云图得到评分标准;最后,通过正向云发生器得到用户评分在自身云图中的隶属度,并得到在此隶属度下父云产生的云滴,以此云滴确定新的评分。

构建综合评分预测方法。首先,在完成用户聚类,并发现用户相似群体的情况下,结合用户的社交网络关系,把用户的相似群体分为好友与非好友两部分;其次,对好友部分的评分使用逆向云发生器产生高维云,并计算用户在高维云中的隶属度,以隶属度表示用户在云图中的位置;再次,抽取好友部分对预测项目的评分,使用逆向云发生器构建一维云,并生成在高维云中相同隶属度下的云滴,以此云滴作为目标用户对被预测项目的预测值。最后,使用同样方法,获得非好友部分的预测值,并对两部分预测值采用高斯变换,取期望值做为最终的预测评分。

以下具体说明本发明的实施过程:

S1:数据获取部分。可以利用网络爬虫或通过各评分和社交网站开放API平台获取数据。数据内容包括被预测用户评分集合,预测用户评分集合,被预测用户关注集合。

S2:统一评分标准部分。根据被预测用户和预测用户的评分集合构建用户评分矩阵,使用综合云技术融合预测用户和被预测用户的评分云,形成评分标准,并通过正向云发生器产生在评分标准下的新评分。在所有用户评分都统一的情况下对用户采用K-means聚类方法进行聚类,以发现预测用户的真实相似群体。

S3:构建综合评分预测部分。根据被预测用户关注集合,把其相似群体分为好友和非好友两部分,通过逆向云发生器分别对两部分群体的历史评分构建高维云,分别计算用户在两朵高维云中的隶属度;同样通过逆向云发生器分别对两部分群体对被推荐项目的评分构建两朵一维云,分别计算高维云中的隶属度在一维云中的云滴,并对两部分群体的一维云滴进行高斯变换取其期望作为最后的预测云滴,由此云滴确定预测评分。

上述步骤S2中的统一用户评分标准如图2所示,具体可以分为以下3个步骤。

S21:取所有被预测用户和所有推荐用的历史评分,构成用户评分矩阵,对每个用户通过逆向云发生器生成可以代表用户评分的云,评分云的属性向量为(Ex,En,He);Ex为期望,代表着用户对项目的平均满意程度,为评分喜好和规律,En为熵,代表着用户的评分集中程度,为评分偏好的离散度,He为超熵,是熵的熵,为用户评分的稳定度。计算公式如下:

其中,n表示用户评分的数目,xi代表被预测用户第i个评分,S2为样本方差,这里起着生成超熵He的作用。

S22:在S21步获取所有预测用户和被预测用户的评分云的基础上,通过综合云技术融合所有评分云形成父云,以父云作为标准。具体包括:在所有用户中,取期望值最近的两个用户的评分云,融合形成这两个用户的父云,在剩余用户中找到和此父云期望值最近的用户的评分云,再次融合形成新的父云,以此类推,最终融合所有用户的评分云,形成一朵父云。其中融合两个用户评分云形成父云的具体介绍如下:

给定两个用户的评分云C1(Ex1,En1,He1),C2(Ex2,En2,He2),另融合后的父云为C(Ex,En,He)则有:

En=En'1+En'2 (6)

其中,En1'和En2'分别表示C1和C2的截断熵,计算方法如下。

设和分别为C1和C2的期望曲线,令

则有

以上为两朵评分云的具体融合过程,以此类推继续两两融合,最后生成一朵所有用户评分云的父云。

S23:利用正向云发生器对所有用户的评分计算在原用户评分云图中的隶属度,以此隶属度为条件生成S22步骤中所有用户父云下的云滴,并确定用户的新评分。单个用户评分转换具体如下:

给定一个用户的评分向量用户的评分云向量(Ex,En,He)。根据公式:

计算隶属度。其中,μi表示用户第i个评分在自身评分云图中的隶属度,xi表示用户第i个评分,En'是以En为期望值,He2为方差的一个正太随机数,并计算父云在此隶属度下的新评分,得到用户的新评分向量以此类推就可得出全部用户在父云下的新评分,并根据新评分对用户采用K-means方法进行用户聚类,以发现被预测用户的相似群体。

S3:构建综合预测方法的流程如图3所示,具体如下:

S31:在S23中已经统一用户评分标准,并发现用户真实相似群体的情况下,结合被预测用户的个人社交网络信息,把被预测用户的相似群体分为好友和非好友部分,并对非好友部分的历史评分通过逆向云发生器构建高维云图,以同样的方法对好友部分的评分构建含有社交属性的高维云图,这里我们定义为高维社交云,以加强社交属性对预测结果的影响,下面是对构建高维社交云的具体说明:

定义N(i)=(n1,n2,…,nm),表示为被预测用户好友中对被预测项目有过评分的用户群体,数量为m个,(N(i)是S31中被预测用户相似群体的子集),定义T(j)=(t1,t2,…,tk),表示被预测用户有过评分行为的项目集合,数量为k个,在N(i)取出对项目t1有评分所有用户,此部分用户对项目t1的评分向量为这里我们假设,N(i)中对项目t1有评分的用户为l个,通过公式(1),(2),(3),(4)对评分向量中的元素生成相应的评分云向量(Ex1,En1,He1),以此作为高维社交云向量的第一个维度向量,然后在N(i)取出对项目t2有过评分所有用户,并使用同样方法生成高维云的第二个维度向量,以此类推最后生成N(i)对T(j)的评分云,即所要构建的高维社交云,其表示为(Ex1,En1,He1;Ex2,En2,He2;…;Exk,Enk,Hek),K为T(j)中的元素个数。

上面是对构建高维社交云的方法具体说明,我们以同样的方法对被预测用户的非好友部分构建另外一朵高维云。

S32:在S31中已经构建两朵高维云的基础上,我们分别计算用户历史评分在高维云中的隶属度,在这里隶属度表示被预测用户的历史评分在其相似群体历史评分中的位置,通过计算隶属度达到用户在其相似用户中定位的目的。下面将对用户历史评分在高维社交云中的社交隶属度做出具体说明:

另高维社交云向量为(Ex1,En1,He1;Ex2,En2,He2;…;Exk,Enk,Hek),维度为k,被预测用户历史评分为(x1,x2,…,xk),这里需要指出被预测用户每个历史评分和高维社交云每一个维度的评分云是一一对应的关系,通过公式,

计算用户历史评分在高维社交云中的社交隶属度,其中,μ表示隶属度,xi表示用户第i个评分,En'i表示以Eni为期望,He2i为方差的一个正太随机数。计算用户在另外一朵高维云中的隶属度。

S33:提取构成高维社交云的所有用户对被测项目的评分,对其采用逆向云发生器生成被预测项目评分云,通过S32得到被预测用户在高维社交云中的社交隶属度,并根据相同隶属度的用户映射到被预测项目评分云中的云滴,来确定被预测用户对被预测项目的评分,这样就可以构建一个单规则推理预测机制,以同样方式对另外一朵高维云以同样的方式构建另外一条单规则推理预测机制,最后,以高斯变换融合两部分预测结果,从而构建完整的综合预测机制。下面具体将对构建过程具体说明,另μ1和μ2分别为被预测用户在两朵高维云中的隶属度,(Ex1,En1,He1)和(Ex2,En2,He2)分别为两朵相应的被预测项目评分云,则通过公式,

得到4个预测云滴,其中En1'和En'2分别表示以En1为期望,He12为方差的正太随机数和以En2为期望,He22为方差的正太随机数,选出距离两个最外侧的云滴,进行高斯变换,并取期望为最终预测评分,公式如下:

Ex的值为被预测用户对被预测项目的预测评分。

本发明所述的一种面向社交网络基于云模型的推荐系统评分预测方法,主要特点在于,传统评分预测中利用历史评分进行预测时,存在着由于评分数据稀疏和个人评分主观性,而导致预测效果不好,精度不高的问题,为了解决评分主观性问题,本文采用综合云技术,统一用户评分标准,为了克服评分数据稀疏问题,引进隶属度,并构建综合预测机制,提高了评分预测的精度。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

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