信息推荐方法及装置与流程

文档序号:11155496阅读:227来源:国知局
信息推荐方法及装置与制造工艺

本发明属于信息技术领域,尤其涉及一种信息推荐方法及装置。



背景技术:

随着互联网技术的快速发展,信息量呈现指数级别增长。推荐系统是信息过滤的主要方式,推荐系统背后蕴藏着共同的基本假设:行为相似的用户在未来仍然具有相似的行为。然而,数据稀疏性是当前推荐系统存在的最主要挑战之一,成为制约推荐系统发展的主要瓶颈。

现有推荐系统的方法包括基于内容的推荐方法、基于协同过滤的推荐方法和混合推荐方法。发明人在实现本发明的过程中,发现现有技术至少存在以下不足:现有推荐系统缓解数据稀疏性的方法大多是基于单个领域信息的,但是利用单个领域信息研究推荐模型具有一定的局限性,往往不能全面获取和使用网络用户的信息,使得最终的推荐准确度大大降低。



技术实现要素:

有鉴于此,本发明实施例提供了一种信息推荐方法及装置,以解决现有技术中利用单个领域信息研究推荐模型导致的不能全面获取和使用网络用户的信息、推荐准确度较低的问题。

本发明实施例的第一方面,提供了一种信息推荐方法,包括:

将信息类别划分为源信息类别和目标信息类别;

建立所述源信息类别的评分矩阵和所述目标信息类别的评分矩阵;

根据所述评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型,通过所述联合矩阵分解模型推荐信息。

本发明实施例的第二方面,提供了一种信息推荐装置,包括:

领域划分模块,用于将信息类别划分为源信息类别和目标信息类别;

评分矩阵建立模块,用于建立所述源信息类别的评分矩阵和所述目标信息类别的评分矩阵;

处理模块,用于根据所述评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型,通过所述联合矩阵分解模型推荐信息。

本发明实施例相对于现有技术所具有的有益效果:本发明实施例通过将信息类别划分为源信息类别和目标信息类别,建立所述源信息类别的评分矩阵和所述目标信息类别的评分矩阵,然后根据评分矩阵建立源信息类别和目标信息类别之间的联合矩阵分解模型,并通过该联合矩阵分解模型推荐信息,从而将共享信息从源信息类别应用到目标信息类别的信息推荐中,能够较为全面地获取和使用网络用户的信息,提高跨信息类别的信息推荐的准确度,提升信息推荐的效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的信息推荐方法的流程图;

图2是本发明实施例提供的根据评分矩阵建立源信息类别和目标信息类别之间的联合矩阵分解模型,通过联合矩阵分解模型推荐信息的一种实现流程图;

图3是本发明实施例提供的根据评分矩阵建立源信息类别和目标信息类别之间的联合矩阵分解模型,通过联合矩阵分解模型推荐信息的又一种实现流程图;

图4是本发明实施例提供的信息推荐装置的结构框图;

图5是本发明实施例提供的处理模块的一种结构框图;

图6是本发明实施例提供的处理模块的又一种结构框图;

图7是本发明实施例提供的信息推荐装置的示意框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

图1示出了本发明实施例一提供的信息推荐方法的实现流程,详述如下:

步骤S101,将信息类别划分为源信息类别和目标信息类别。

其中,源信息类别可以为源领域中用户关于对象的偏好信息类别(如用户浏览网页、用户关注好友、用户购买商品等),目标信息类别为与源信息类别相关领域的信息类别。本实施例中,可以根据用户的历史行为偏好信息,将各个信息类别划分为源信息类别和目标信息类别。通过源信息类别采集用户的行为信息,从而能够根据用户的行为信息将目标信息类别中的相关信息推荐给用户。例如,信息类别包括但不限于电影、音乐、书籍、新闻、商品等。

例如,共有s+t个信息类别,根据用户的行为偏好信息,将s+t个信息类别划分为s个源信息类别和t个目标信息类别。其中,s和t均为正整数。

步骤S102,建立所述源信息类别的评分矩阵和所述目标信息类别的评分矩阵。

具体的,对于s个源信息类别和t个目标信息类别,分别建立s个源信息类别的评分矩阵分别为X1,…,Xs,t个目标信息类别的评分矩阵分别为Xs+1,…,Xs+t

本实施例中,评分矩阵的建立过程可以为:根据用户对某个信息类别中的数据信息的浏览、操作记录,将该信息类别的数据信息生成评分矩阵。评分矩阵的每一行可以对应一个用户,评分矩阵的每一列可以对应一种对象。其中,对象涉及的数据信息包括但不限于某个信息类别中的音乐信息、文本信息和新闻信息等。

步骤S103,根据所述评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型,通过所述联合矩阵分解模型推荐信息。

参见图2,作为一种可实施方式,步骤S103可以通过以下过程实现:

步骤S201,将各个信息类别的评分矩阵分解为包含用户特征和对象特征的评分矩阵。

其中,用户特征可以用于表征信息类别中用户的特征,对象特征可以用于表征某一信息类别中对象的信息数据。本步骤中,可以对任一信息类别r的评分矩阵Xr(r=1,…,s,s+1,…,s+t)作如下矩阵分解:

其中,Ur为用户隐含特征矩阵,Sr为矩阵分解因子,为对象隐含特征矩阵。

优选的,在步骤S201之前,该信息推荐方法还可以包括:将各个信息类别的用户进行分类。

本实施例中,可以将不同领域的用户分成三种不同层次的类别:相同用户、相似用户和相异用户。将不同领域的用户进行分类,能够准确表达不同层次上的不同程度的信息共享,从而提高信息推荐效果。

具体的,为了更深入地理解用户的评分模式,本实施例中对“不同领域之间的用户群重叠现象”和“用户评分模式在不同信息类别之间的异同”两种现象进行深入分析,将不同信息类别的用户分成三种不同层次的类别:相同用户、相似用户和相异用户。

相同用户表示不同信息类别中对应于相同的自然人(本质特征)。相同用户的评分模式在不同信息类别之间也相同,这样,其本质特征和评分模式都要在不同信息类别之间进行共享。

相似用户表示不同信息类别中对应于不同的自然人,但是相似用户的评分模式在不同领域之间相同。这样,相似用户只有评分模式需要在不同领域之间进行共享,本质特征不再共享。

相异用户表示不同信息类别中对应于不同的自然人,且相异用户的评分模式在不同信息类别之间也不同。这样,相异用户本质特征和评分模式都不再共享。

对应的,步骤S201中可以对用户隐含特征矩阵Ur进行进一步的划分,以区分三种不同层次的用户类别,具体可以为:按照用户分类结果,将各个信息类别的评分矩阵分解为包含用户特征和对象特征的评分矩阵。

具体的,基于上述分析,可以对任一信息类别r的评分矩阵Xr(r=1,…,s,s+1,…,s+t)作如下矩阵分解:

其中,和分别对应为三种用户类型的用户隐含特征矩阵,和分为对应的矩阵分解因子。

步骤S202,根据经过矩阵分解后的评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型。

本实施例中,所述联合矩阵分解模型为:所有信息类别上的评分矩阵经过矩阵分解后的误差之和,可以表示为:

其中,Wr表示稀疏评分矩阵的标识矩阵,元素为1表示有值,元素为0表示无值。

步骤S203,通过所述联合矩阵分解模型推荐信息。

具体的,本步骤中根据步骤S202中得出的所述联合矩阵分解模型,为用户推荐与该用户的源信息类别相关的目标信息类别的信息,实现为用户跨信息类别推荐信息。

参见图3,作为另一种可实施方式,步骤S103可以通过以下过程实现:

步骤S301,将各个信息类别的评分矩阵分解为包含用户特征和对象特征的评分矩阵。具体内容可以参考步骤S201。

步骤S302,根据经过矩阵分解后的评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型。具体内容可以参考步骤S202。

步骤S303,计算各类用户之间的相似度,并根据所述相似度对所述联合矩阵分解模型进行正则化。

具体的,计算各类用户之间的相似度,根据所述相似度对所述联合矩阵分解模型进行正则化,得出:

,以使得各类用户之间的相似度越高,各类用户的矩阵分解因子之间的相似度也越高,从而能够进一步提高跨信息类别推荐信息的准确度。

其中,用户之间的相似度Sim(i,f)可以根据附加用户信息进行计算。另外,也可以采用余弦相似性、皮尔森系数或调整余弦相似性等方法,通过评分矩阵计算得出用户之间的相似度。

步骤S304,通过正则化后的所述联合矩阵分解模型推荐信息。具体内容可以参考步骤S203。

另外,通过数据源进行实验对本发明实施例进行了进一步说明。本实施例中,源数据包含三个基准数据集,分别是MovieLens数据集、EachMovie数据集和BookCrossing数据集。

MovieLens数据集是一个有关电影评分的数据集,主要包含三方面信息:评分矩阵、用户信息和电影信息。其中,评分矩阵包含943个用户、1682个电影和100,000条用户关于电影的评分,取值范围为集合{1,2,3,4,5},每个用户至少对20个电影进行评分。用户信息包含年龄、性别、职业和邮编。电影信息包括电影名称、发行日期、影片类型等。

类似地,EachMovie数据集也是电影评分的数据集,同样包含三方面信息:评分矩阵、用户信息和电影信息。其中,评分矩阵包含72,916个用户、1682个电影和280万条用户关于电影的评分,取值范围为集合{1,2,3,4,5,6}。用户信息包含年龄、性别和邮编。电影信息包括电影名称、发行日期、影片类型等。

BookCrossing数据集是一个关于书评的数据集,同样包含三方面信息:评分矩阵、用户信息和书本信息。其中评分矩阵包含278,858个用户、271,379本书和110万条用户关于书本评分,取值范围为集合{1,2,3,4,5,6,7,8,9,10}。为了实验方便,本发明分别从三个数据集中随机抽取相同个数的用户和对象(电影和书)进行实验。

本发明实验使用的数据来源于推荐系统领域三个经典的基准数据集,包括MovieLens数据集、EachMovie数据集和BookCrossing数据集,经实验验证,本发明实施例融合相关领域的附加信息,同时对用户类型进行划分,本发明实施例在推荐准确度上优于现有技术,能够达到比相比现有技术更好的推荐效果。

上述信息推荐方法,将信息类别划分为源信息类别和目标信息类别,建立所述源信息类别的评分矩阵和所述目标信息类别的评分矩阵,然后根据所述评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型,通过所述联合矩阵分解模型推荐信息,将共享信息从源信息类别应用到目标信息类别的信息推荐中,提升信息推荐的效果,而且将各个信息类别的用户进行分类,能够较为全面地获取和使用网络用户的信息,使得跨信息类别的推荐准确度大大提高。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于上文实施例所述的信息推荐方法,图4示出了本发明实施例提供的信息推荐装置的结构框图。为了便于说明,仅示出了与本实施例相关的部分。

参照图4,该装置可以包括领域划分模块401、评分矩阵建立模块402和处理模块403。领域划分模块401,用于将信息类别划分为源信息类别和目标信息类别。评分矩阵建立模块402,用于建立所述源信息类别的评分矩阵和所述目标信息类别的评分矩阵。处理模块403,用于根据所述评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型,通过所述联合矩阵分解模型推荐信息。

参见图5,作为一种可实施方式,所述处理模块403可以包括:分解单元501、模型建立单元502和信息推荐单元503。本实施例中,分解单元501,用于将各个信息类别的评分矩阵分解为包含用户特征和对象特征的评分矩阵。模型建立单元502,用于根据经过所述分解单元分解后的评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型。信息推荐单元503,用于通过所述联合矩阵分解模型推荐信息。

优选的,该信息推荐装置还可以包括用户分类模块。所述用户分类模块用于将各个信息类别的用户进行分类。所述分解单元501具体用于:按照所述用户分类模块的用户分类结果,对各个信息类别的评分矩阵进行矩阵分解。

一个实施例中,所述处理模块403根据所述评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型的过程可以为:

设定s+t个信息类别中包括s个源信息类别和t个目标信息类别,对应的评分矩阵分别为X1,…,Xs和Xs+1,…,Xs+t

按照用户分类结果,对各个信息类别的评分矩阵Xr(r=1,…,s,s+1,…,s+t)进行矩阵分解:

其中,Ur为用户隐含特征矩阵,Sr为矩阵分解因子,为对象隐含特征矩阵;根据分解后的所述评分矩阵得出所述联合矩阵分解模型为:

其中,Wr表示稀疏评分矩阵的标识矩阵,元素为1表示有值,元素为0表示无值。

参见图6,作为另一种可实施方式,所述处理模块403可以包括分解单元501、模型建立单元502、正则化单元504和信息推荐单元503。本实施例中,分解单元501,用于将各个信息类别的评分矩阵分解为包含用户特征和对象特征的评分矩阵。模型建立单元502,用于根据经过所述分解单元分解后的评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型。所述正则化单元504,用于计算各类用户之间的相似度,并根据所述相似度对所述模型建立单元建立的所述联合矩阵分解模型进行正则化处理。所述推荐单元503,用于通过所述正则化单元504处理后的所述联合矩阵分解模型推荐信息。

实施例三

参见图7,是本发明实施例三提供的信息推荐装置的示意框图。如图所示的信息推荐装置可以包括:一个或多个处理器701(图中仅示出一个);一个或多个输入设备702(图中仅示出一个),一个或多个输出设备703(图中仅示出一个)和存储器704。上述处理器701、输入设备702、输出设备703和存储器704通过总线705连接。存储器704用于存储指令,处理器701用于执行存储器704存储的指令。其中:

所述处理器701,用于通过输入设备702接收信息类别,并将信息类别划分为源信息类别和目标信息类别,建立所述源信息类别的评分矩阵和所述目标信息类别的评分矩阵,以及根据所述评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型,根据所述联合矩阵分解模型通过输出设备703推荐信息。

作为一种可实施方式,所述处理器701,具体用于将各个信息类别的评分矩阵分解为包含用户特征和对象特征的评分矩阵,根据经过所述分解单元分解后的评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型,根据所述联合矩阵分解模型通过输出设备703推荐信息。

进一步的,所述处理器701还用于将各个信息类别的用户进行分类,并按照用户分类结果,对各个信息类别的评分矩阵进行矩阵分解。

作为另一种可实施方式,所述处理器701根据所述评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型的过程为:

设定s+t个信息类别中包括s个源信息类别和t个目标信息类别,对应的评分矩阵分别为X1,…,Xs和Xs+1,…,Xs+t

按照用户分类结果,对各个信息类别的评分矩阵Xr(r=1,…,s,s+1,…,s+t)进行矩阵分解:

其中,Ur为用户隐含特征矩阵,Sr为矩阵分解因子,为对象隐含特征矩阵;根据分解后的所述评分矩阵得出所述联合矩阵分解模型为:

其中,Wr表示稀疏评分矩阵的标识矩阵,元素为1表示有值,元素为0表示无值。

进一步的,所述处理器701还用于:计算各类用户之间的相似度,并根据所述相似度对所述模型建立单元建立的所述联合矩阵分解模型进行正则化处理,根据正则化处理后的所述联合矩阵分解模型通过输出设备703推荐信息.

所述存储器704,用于存储软件程序、模块和所述网络交互数据,所述处理器701通过运行存储在所述存储器704的软件程序以及单元,从而执行各种功能应用以及数据处理,实现终端的信息交互功能。

应当理解,在本发明实施例中,所称处理器701可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备702可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备703可以包括显示器(LCD等)、扬声器等。

该存储器704可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器704的一部分还可以包括非易失性随机存取存储器。例如,存储器704还可以存储设备类型的信息。

具体实现中,本发明实施例中所描述的处理器701、输入设备702、输出设备703和存储器704可执行本发明实施例提供的信息推荐方法的实施例中所描述的实现方式,也可执行信息推荐装置的实施例中所描述的实现方式,在此不再赘述。

综上所述,本发明实施例将信息类别划分为源信息类别和目标信息类别,建立所述源信息类别的评分矩阵和所述目标信息类别的评分矩阵,然后根据所述评分矩阵建立所述源信息类别和所述目标信息类别之间的联合矩阵分解模型,通过所述联合矩阵分解模型推荐信息,将共享知识从源信息类别应用到目标信息类别的推荐中,提升信息推荐的效果,而且将各个信息类别的用户进行分类,能够较为全面地获取和使用网络用户的信息,使得跨信息类别的推荐准确度大大提高。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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