CN106708978A - 一种基于二分图的服务推荐方法及装置 - Google Patents
一种基于二分图的服务推荐方法及装置 Download PDFInfo
- Publication number
- CN106708978A CN106708978A CN201611117521.0A CN201611117521A CN106708978A CN 106708978 A CN106708978 A CN 106708978A CN 201611117521 A CN201611117521 A CN 201611117521A CN 106708978 A CN106708978 A CN 106708978A
- Authority
- CN
- China
- Prior art keywords
- vector
- service
- user interest
- targeted customer
- element value
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种基于二分图的服务推荐方法及装置,所述方法包括:采集每一个目标用户感兴趣的服务;构建每一个目标用户的初始的用户兴趣向量和每一个服务的初始的服务主题向量,其中,用户兴趣向量和服务主题向量均为概率向量;生成以目标用户和服务为顶点的二分图,根据用户兴趣向量和服务主题向量,构建基于二分图的目标函数P;求解目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值;根据用户兴趣向量和服务主题向量,对目标用户进行服务推荐。应用本发明实施例,降低了基于二分图的服务推荐计算复杂度,而且模型输出的用户兴趣向量和服务主题向量均为概率向量,便于构建更多基于概率的实际应用。
Description
技术领域
本发明涉及数据挖掘及推荐领域,特别是涉及一种基于二分图的服务推荐方法及装置。
背景技术
互联网的出现和普及,使得互联网中的信息大幅度增长,这也给使用者在获得真正有用的信息时带来了很大的难度,造成了信息超载的现象。为了解决信息超载问题,现有技术提出了服务推荐方法,其基本处理思想为:采集若干用户所感兴趣的服务,根据用户感兴趣的服务,向该若干用户推荐服务集合中的服务,其中,该服务集合为所采集的服务构成的集合。其中,用户感兴趣的服务,可以是用户购买过的、浏览过的、收藏过的服务等,并且所谓的服务可以为信息、产品等。
现有服务推荐方法的实现方式有很多,其中一种是基于LDA(Latent DirichletAllocation,文档主题生成模型)进行实现的,LDA是基于用户-服务的二分图推荐技术。用户-服务的二分图是指以目标用户和服务分别作为顶点,在目标用户对服务感兴趣的情况下,该目标用户顶点和服务顶点之间存在连线,否则不存在连线,目标用户与目标用户之间、服务与服务之间也不存在顶点之间的连线。LDA推荐技术计算复杂多高,具体实施时一般采用MCMC(Markov Chain Monte Carlo,马尔科夫链蒙特卡洛)抽样算法计算输入的用户-服务二分图中的待推荐服务的概率分布,并根据概率分布对目标用户进行服务推荐。虽然MCMC抽样算法使得LDA推荐技术可行,但是其数学性质复杂,计算的复杂度高,限制了基于LDA的推荐技术的应用。另外两种广泛应用的推荐技术是协同过滤(Collaborativefiltering technology)推荐技术和潜在因子模型(Latent factor model)推荐技术,其复杂度相对低一些,但是模型输出的用户和服务向量的元素取值是任意值,可解释性差,难以与其它模型结合来构建更复杂的实际应用。
发明内容
本发明实施例的目的在于提供一种基于二分图的服务推荐方法及装置,以降低基于二分图的服务推荐计算复杂度,且模型输出的用户兴趣向量和服务主题向量均为概率向量,便于构建更多基于概率的实际应用。。
具体技术方案如下:
一种基于二分图的服务推荐方法,所述方法包括:
采集目标用户中每一个目标用户感兴趣的服务;
构建每一个目标用户的初始的用户兴趣向量和每一个服务的初始的服务主题向量,其中,所述用户兴趣向量和所述服务主题向量均为概率向量;
生成以所述目标用户和所述服务为顶点的二分图,其中,所述二分图中目标用户的顶点与服务的顶点之间存在连线时表示该目标用户对该服务感兴趣;
根据所述用户兴趣向量和所述服务主题向量,构建基于所述二分图的目标函数P;
求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值;
根据所述用户兴趣向量和所述服务主题向量,对所述目标用户进行服务推荐。
可选的,所述目标函数P的具体表达为:
其中,un为第n个目标用户的用户兴趣向量,vm为第m个服务的服务主题向量,σn,m的值在所述二分图上第n个目标用户与第m个服务存在连线时为1,否则为0,N为所述二分图上所有目标用户对应的用户兴趣向量的数量,M为所述二分图上所有服务对应的服务主题向量的数量。
可选的,所述求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值的步骤,包括:
采用既约梯度算法求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
可选的,所述采用既约梯度算法求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值的步骤,包括:
A.根据初始的用户兴趣向量,通过既约梯度算法更新所述目标函数P中的当前服务主题向量的元素值;
B.根据当前服务主题向量,通过既约梯度算法更新所述目标函数P中的当前用户兴趣向量的元素值,在更新完成后,判断当前服务主题向量和当前用户兴趣向量是否达到收敛状态,如果否,执行C;如果是,执行D;
C.根据当前用户兴趣向量,通过既约梯度算法更新所述目标函数P中的当前服务主题向量的元素值,在更新完毕后,判断当前服务主题向量和当前用户兴趣向量是否达到收敛状态,如果否,执行B,如果是,执行D;
D.将达到收敛状态时的当前服务主题向量的元素值和当前用户兴趣向量的元素值,确定为对应的每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
可选的,所述根据所述用户兴趣向量和所述服务主题向量,对所述目标用户进行服务推荐,包括:
根据所述用户兴趣向量和所述服务主题向量的向量积,对所述目标用户进行服务推荐。
可选的,所述根据所述用户兴趣向量和所述服务主题向量的向量积,对所述目标用户进行服务推荐的步骤,包括:
针对每一个目标用户,执行如下步骤:
分别计算该目标用户的用户兴趣向量与每一个服务主题向量的向量积;
对所述向量积按照从大到小排序,并选取排列在前的预设数量个向量积;
对该目标用户推荐所述预设数量个向量积对应的服务。
可选的,所述根据所述用户兴趣向量和所述服务主题向量的向量积,对所述目标用户进行服务推荐的步骤,包括:
针对每一个目标用户,执行如下步骤:
分别计算该目标用户的用户兴趣向量与每一个服务主题向量的向量积;
分别将所述向量积与预设阈值进行比较,并确定大于所述预设阈值的向量积对应的服务;
对该目标用户推荐所确定的服务。
一种基于二分图的服务推荐装置,所述装置包括:
采集模块,用于采集目标用户中每一个目标用户感兴趣的服务;
第一构建模块,用于构建每一个目标用户的初始的用户兴趣向量和每一个服务的初始的服务主题向量,其中,所述用户兴趣向量和所述服务主题向量均为概率向量;
生成模块,用于生成以所述目标用户和所述服务为顶点的二分图,其中,所述二分图中目标用户的顶点与服务的顶点之间存在连线时表示该目标用户对该服务感兴趣;
第二构建模块,用于根据所述用户兴趣向量和所述服务主题向量,构建基于所述二分图的目标函数P;
求解模块,用于求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值;
推荐模块,用于根据所述用户兴趣向量和所述服务主题向量,对所述目标用户进行服务推荐。
可选的,所述目标函数P的具体表达为:
其中,un为第n个目标用户的用户兴趣向量,vm为第m个服务的服务主题向量,σn,m的值在所述二分图上第n个目标用户与第m个服务存在连线时为1,否则为0,N为所述二分图上所有目标用户对应的用户兴趣向量的数量,M为所述二分图上所有服务对应的服务主题向量的数量。
可选的,所述求解模块包括:
求解单元,用于采用既约梯度算法求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
可选的,所述求解单元,具体用于:
A.根据初始的用户兴趣向量,通过既约梯度算法更新所述目标函数P中的当前服务主题向量的元素值;
B.根据当前服务主题向量,通过既约梯度算法更新所述目标函数P中的当前用户兴趣向量的元素值,在更新完成后,判断当前服务主题向量和当前用户兴趣向量是否达到收敛状态,如果否,执行C;如果是,执行D;
C.根据当前用户兴趣向量,通过既约梯度算法更新所述目标函数P中的当前服务主题向量的元素值,在更新完毕后,判断当前服务主题向量和当前用户兴趣向量是否达到收敛状态,如果否,执行B,如果是,执行D;
D.将达到收敛状态时的当前服务主题向量的元素值和当前用户兴趣向量的元素值,确定为对应的每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
可选的,所述推荐模块包括:
推荐单元,用于根据所述用户兴趣向量和所述服务主题向量的向量积,对所述目标用户进行服务推荐。
可选的,所述推荐单元,具体用于:
针对每一个目标用户,执行如下步骤:
分别计算该目标用户的用户兴趣向量与每一个服务主题向量的向量积;
对所述向量积按照从大到小排序,并选取排列在前的预设数量个向量积;
对该目标用户推荐所述预设数量个向量积对应的服务。
可选的,所述推荐单元,具体用于:
针对每一个目标用户,执行如下步骤:
分别计算该目标用户的用户兴趣向量与每一个服务主题向量的向量积;
分别将所述向量积与预设阈值进行比较,并确定大于所述预设阈值的向量积对应的服务;
对该目标用户推荐所确定的服务。
本发明实施例提供的一种基于二分图的服务推荐方法及装置,通过目标用户和服务生成二分图,根据用户兴趣向量和服务主题向量构建基于该二分图的目标函数P并求解,以此确定每一个用户兴趣向量和服务主题向量的元素值,进而根据所确定出的用户兴趣向量和服务主题向量,对目标用户进行服务推荐。本方案中,采用求解目标函数得到用户兴趣向量和服务主题向量的元素值方式,由于求解目标函数的过程相对于MCMC抽样算法极为简单,因此,解决了现有技术中采用MCMC抽样算法通过先进行采样再计算待推荐服务的概率分布的计算复杂度较高的问题,达到了降低基于二分图的服务推荐计算复杂度的目的,且模型输出的用户兴趣向量和服务主题向量均为概率向量,便于构建更多基于概率的实际应用。。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种基于二分图的服务推荐方法的流程示意图;
图2为目标用户和服务的二分图的示意图;
图3为本发明实施例所提供的一种基于二分图的服务推荐装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决现有技术问题,本发明实施例提供了一种基于二分图的服务推荐方法及装置,以下分别进行详细说明。
需要说明的是,本发明实施例所提供的一种基于二分图的服务推荐方法的执行主体可以为一种基于二分图的服务推荐装置。在实际应用中,该基于二分图的服务推荐装置可以为运行于电子设备中的程序软件,该电子设备可以为终端或服务器,这都是合理的。
参见图1,图1为一种基于二分图的服务推荐方法的流程示意图,所述方法包括步骤:
S101,采集目标用户中每一个目标用户感兴趣的服务。
需要说明的是,用户感兴趣的服务,可以是用户购买过的、浏览过的、收藏过的服务等,并且所谓的服务可以为信息、产品等。
本领域技术人员可以理解的是,在确定目标用户以后,可以根据历史行为数据,采集到目标用户感兴趣的服务。具体的,当服务为网上商品时,可以通过在购物网站中挖掘用户的行为,获得目标用户感兴趣的服务,如通过挖掘购买记录、浏览记录和个人收藏记录等方式获得目标用户感兴趣的服务。类似地,当服务为网络视频时,可以通过在视频网站中挖掘用户的观看行为,获得目标用户感兴趣的服务,如通过挖掘用户的历史观看记录,获得目标用户感兴趣的网络视频。
示例性的,目标用户为A和B,采集到目标用户A感兴趣的服务为a和b;采集到目标用户B感兴趣的服务为a、b、c。
需要强调的是,采集目标用户中每一个目标用户感兴趣的服务的具体实现方式可以采用现有技术任一种方式,在此不做限定。
S102,构建每一个目标用户的初始的用户兴趣向量和每一个服务的初始的服务主题向量,其中,所述用户兴趣向量和所述服务主题向量均为概率向量。
针对每一个目标用户构建对应的用户兴趣向量、每一个服务构建对应的服务主题向量,用户兴趣向量和服务主题向量的维度数可以相同也可以不相同,具体的维度数不做限定,可以是二维、三维、五维、八维、十维等。
本领域技术人员可以理解的是,可以根据设定的用户兴趣向量和服务主题向量的每个元素的初始元素值,获得每一个初始的用户兴趣向量和初始的服务主题向量,且用户兴趣向量和服务主题向量均为概率向量。初始的元素值可以任意设定,只要满足概率向量的条件即可。可以理解的是,概率向量中的各个元素为非负数,而且向量中元素的总和等于1。示例性的,目标用户A的初始的用户兴趣向量为u1=(0.1,0.9),目标用户B的初始的用户兴趣向量为u2=(0.24,0.76);服务a的初始的服务主题向量为v1=(0.05,0.95),服务b的初始的服务主题向量为v2=(0.55,0.45),服务c的初始的服务主题向量为v3=(0.65,0.35)。
S103,生成以所述目标用户和所述服务为顶点的二分图,其中,所述二分图中目标用户的顶点与服务的顶点之间存在连线时表示该目标用户对该服务感兴趣。
根据S101中收集到的目标用户和服务,分别以目标用户和服务为顶点生成二分图,如图2所示,图2为目标用户和服务的二分图的示意图。可以理解的是,只有目标用户的顶点和服务的顶点才能存在连线关系,而目标用户和目标用户之间、服务和服务之间是不存在顶点的连线关系的。
其中,二分图的生成方式可以采用现有技术的生成方式,本发明实施例不做限定。
S104,根据所述用户兴趣向量和所述服务主题向量,构建基于所述二分图的目标函数P。
本领域技术人员可以理解的是,一个用户兴趣向量和一个服务主题向量的乘积表示该目标用户对该服务感兴趣的概率,将所有的目标用户对所有服务感兴趣的概率相乘,得到的乘积越大表示整个二分图上的所有目标用户对所有服务的感兴趣的概率越大。具体的,将整个二分图上的所有目标用户对所有服务的感兴趣的概率用目标函数P表达为:
其中,un为第n个目标用户的用户兴趣向量,vm为第m个服务的服务主题向量,σn,m的值在二分图上第n个目标用户与第m个服务存在连线时为1,否则为0,N为二分图上所有目标用户对应的用户兴趣向量的数量,M为二分图上所有服务对应的服务主题向量的数量。
S105,求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
具体的,可以采用既约梯度算法求解目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。既约梯度算法,是一种将现行规划的单纯形法推广到具有非线性目标函数的求解问题,它是提出了产生可行下降的方法。该算法的基本步骤是:选取初始的数据,进行求解既约梯度函数,然后以求解出来的数值作为已知条件代入函数再求解,直至满足终止的条件,在本发明实施例中终止的条件是所有用户兴趣向量和所有服务主题向量达到收敛状态。
具体步骤可以是:A.根据初始的用户兴趣向量,通过既约梯度算法更新目标函数P中的当前服务主题向量的元素值;
B.根据当前服务主题向量,通过既约梯度算法更新目标函数P中的当前用户兴趣向量的元素值,在更新完成后,判断当前服务主题向量和当前用户兴趣向量是否达到收敛状态,如果否,执行C;如果是,执行D;
C.根据当前用户兴趣向量,通过既约梯度算法更新目标函数P中的当前服务主题向量的元素值,在更新完毕后,判断当前服务主题向量和当前用户兴趣向量是否达到收敛状态,如果否,执行B,如果是,执行D;
D.将达到收敛状态时的当前服务主题向量的元素值和当前用户兴趣向量的元素值,确定为对应的每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
实际应用中,也可以首先根据初始的服务主题向量,通过既约梯度算法更新目标函数P中的当前用户兴趣向量的元素值,本发明实施例在此不对更新的顺序做限定。
本发明实施例中,对于目标函数P,为获得P的最大值对目标函数P进行优化,示例性的,对目标函数P取对数,并且加上对所有用户兴趣向量和所有服务主题向量的正则化项,得到如下优化的公式:
表示从所有un、vm中选择一组值使得表达式x的值达到最小,如下所有表达式的意义皆如此。示例性的,当目标用户为A和B,以及服务为a、b、c时,得到目标用户数量N=2,服务数量M=3,由上述优化的公式得到:
由于用户兴趣向量和服务主题向量为概率向量,由概率向量的定义可以得到:u1≥0,||u1||1=1,u2≥0,||u2||1=1和v1≥0,||v1||1=1,v2≥0,||v2||1=1,v3≥0,||v3||1=1,需要说明的是,以向量v1为例,||v1||表示v1的范数,||v1||1表示v1中各个元素的绝对值的和,|v1||2表示v1中各个元素的平方和再开方,本发明实施例中其他向量用这种形式表达时,代表的意义均相同。
假设初始的用户兴趣向量为:u1=(0.1,0.9)、u2=(0.24,0.76),采用既约梯度算法更新优化的公式中的每一个服务主题向量的元素值,可以得到服务主题向量分别为v1=(0.2,0.8)、v2=(0.5,0.5)、v3=(0.6,0.4)。再根据当前服务主题向量,采用既约梯度算法求解用户兴趣向量,由于用户和用户之间是独立的(任意两个用户的顶点之间没有连线),所以他们之间对应的用户兴趣向量也是独立的,可以分别对用户A、B对应的u1、u2进行优化,得到如下关于用户兴趣向量的求解公式:
根据关于用户兴趣向量的求解公式,对于u1,得到简化结果:进而根据v1=(0.2,0.8)、v2=(0.5,0.5),得到u1=(0.34,0.66)。
对于u2,得到简化结果进而根据v1=(0.2,0.8)、v2=(0.5,0.5)、v3=(0.6,0.4),得到u2=(0.41,0.59)。
本领域技术人员可以理解的是,用同样的方法可以根据当前的u1和u2求解到服务主题向量v1、v2、v3,直至达到收敛状态为止。本发明实施例中,当求解到用户兴趣向量为:u1=(0.31,0.69)、u2=(0.47,0.53),服务主题向量为:v1=(0.16,0.84)、v2=(0.71,0.29)、v3=(0.53,0.47),达到收敛状态。
收敛状态是指更新后的向量和更新前的向量相比较,向量的对应元素之间的差值的绝对值不大于预设数值。对于本发明实施例而言,所有向量均需要达到收敛状态。示例性的,预设数值为0.07,以用户A对应的用户兴趣向量u1为例,更新前u1=(0.34,0.66),更新后u1=(0.31,0.69),对应元素之间的差值的绝对值为:|0.34-0.31|=0.03,|0.66-0.69|=0.03;因为0.03<0.07,所以更新前的服务主题向量和更新后的服务主题向量达到收敛状态。本发明实施例中的预设数值仅仅是示例性的,不构成对本发明的限定。
S106,根据所述用户兴趣向量和所述服务主题向量,对所述目标用户进行服务推荐。
具体的,可以根据用户兴趣向量和服务主题向量的向量积,对目标用户进行服务推荐。
在一种具体实现方式中,所述根据用户兴趣向量和服务主题向量的向量积,对目标用户进行服务推荐的步骤,可以包括:
针对每一个目标用户,执行如下步骤:
分别计算该目标用户的用户兴趣向量与每一个服务主题向量的向量积;对向量积按照从大到小排序,并选取排列在前的预设数量个向量积;对该目标用户推荐预设数量个向量积对应的服务。
本发明实施例中,针对用户A,计算用户A的用户兴趣向量与服务a、b、c对应的服务主题向量的向量积,分别为:u1·v1=(0.31,0.69)·(0.16,0.48)=0.3808、u1·v2=(0.31,0.69)·(0.71,0.29)=0.4011、u1·v3=(0.31,0.69)·(0.53,0.47)=0.4886,按照向量积从大到小的排序为:0.4886、0.4011、0.3808。示例性的,选取排列在前的2个向量积,为:0.4886、0.4011,由上述计算可以直接看出这两个向量积对应的服务分别为c和b,那么直接对用户A推荐服务c和b。
在另一种具体实现方式中,所述根据用户兴趣向量和服务主题向量的向量积,对目标用户进行服务推荐的步骤,可以包括:
针对每一个目标用户,执行如下步骤:
分别计算该目标用户的用户兴趣向量与每一个服务主题向量的向量积;分别将向量积与预设阈值进行比较,并确定大于预设阈值的向量积对应的服务;对该目标用户推荐所确定的服务。
还可以采用预设阈值的方法,假设预设阈值为0.45,以用户A为例,由上可知用户A与服务a、b和c对应的服务主题向量的向量积分别为:0.3808、0.4011、0.4886,逐一与预设阈值进行比较,因为:0.3808<0.45、0.4011<0.45、0.4886>0.45,可以确定大于预设阈值的向量积对应的服务为服务c,所以对目标用户A推荐服务c。
需要强调的是,上述所给出的根据用户兴趣向量和服务主题向量的向量积,对目标用户进行服务推荐的具体实现方式,仅仅作为示例性说明,并不应该构成对本发明实施例的限定。
应用本发明图1所示的实施例,通过目标用户和服务生成二分图,根据用户兴趣向量和服务主题向量构建基于该二分图的目标函数P并求解,以此确定每一个用户兴趣向量和服务主题向量的元素值,进而根据所确定出的用户兴趣向量和服务主题向量,对目标用户进行服务推荐。本方案中,采用求解目标函数得到用户兴趣向量和服务主题向量的元素值方式,由于求解目标函数的过程相对于MCMC抽样算法极为简单,因此,解决了现有技术中采用MCMC抽样算法通过先进行采样再计算待推荐服务的概率分布的计算复杂度较高的问题,达到了降低基于二分图的服务推荐计算复杂度的目的,且模型输出的用户兴趣向量和服务主题向量均为概率向量,便于构建更多基于概率的实际应用。
参见图3,图3为一种基于二分图的服务推荐装置的结构示意图,所述装置可以包括:采集模块201、第一构建模块202、生成模块203、第二构建模块204、求解模块205、推荐模块206。
采集模块201,用于采集目标用户中每一个目标用户感兴趣的服务;
第一构建模块202,用于构建每一个目标用户的初始的用户兴趣向量和每一个服务的初始的服务主题向量,其中,所述用户兴趣向量和所述服务主题向量均为概率向量;
生成模块203,用于生成以所述目标用户和所述服务为顶点的二分图,其中,所述二分图中目标用户的顶点与服务的顶点之间存在连线时表示该目标用户对该服务感兴趣;
第二构建模块204,用于根据所述用户兴趣向量和所述服务主题向量,构建基于所述二分图的目标函数P;
具体的,所述目标函数P的具体表达为:
其中,un为第n个目标用户的用户兴趣向量,vm为第m个服务的服务主题向量,σn,m的值在所述二分图上第n个目标用户与第m个服务存在连线时为1,否则为0,N为所述二分图上所有目标用户对应的用户兴趣向量的数量,M为所述二分图上所有服务对应的服务主题向量的数量。
求解模块205,用于求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
具体的,所述求解模块205可以包括:求解单元(图中未示出),
求解单元,用于采用既约梯度算法求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
求解单元,具体可以用于:
A.根据初始的用户兴趣向量,通过既约梯度算法更新所述目标函数P中的当前服务主题向量的元素值;
B.根据当前服务主题向量,通过既约梯度算法更新所述目标函数P中的当前用户兴趣向量的元素值,在更新完成后,判断当前服务主题向量和当前用户兴趣向量是否达到收敛状态,如果否,执行C;如果是,执行D;
C.根据当前用户兴趣向量,通过既约梯度算法更新所述目标函数P中的当前服务主题向量的元素值,在更新完毕后,判断当前服务主题向量和当前用户兴趣向量是否达到收敛状态,如果否,执行B,如果是,执行D;
D.将达到收敛状态时的当前服务主题向量的元素值和当前用户兴趣向量的元素值,确定为对应的每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
推荐模块206,用于根据所述用户兴趣向量和所述服务主题向量,对所述目标用户进行服务推荐。
具体的,所述推荐模块206可以包括:推荐单元(图中未示出),
推荐单元,用于根据所述用户兴趣向量和所述服务主题向量的向量积,对所述目标用户进行服务推荐。
所述推荐单元,具体可以用于:
针对每一个目标用户,执行如下步骤:
分别计算该目标用户的用户兴趣向量与每一个服务主题向量的向量积;对所述向量积按照从大到小排序,并选取排列在前的预设数量个向量积;对该目标用户推荐所述预设数量个向量积对应的服务。
所述推荐单元,具体可以用于:
针对每一个目标用户,执行如下步骤:
分别计算该目标用户的用户兴趣向量与每一个服务主题向量的向量积;分别将所述向量积与预设阈值进行比较,并确定大于所述预设阈值的向量积对应的服务;对该目标用户推荐所确定的服务。
应用本发明图3所示的实施例,通过目标用户和服务生成二分图,根据用户兴趣向量和服务主题向量构建基于该二分图的目标函数P并求解,以此确定每一个用户兴趣向量和服务主题向量的元素值,进而根据所确定出的用户兴趣向量和服务主题向量,对目标用户进行服务推荐。本方案中,采用求解目标函数得到用户兴趣向量和服务主题向量的元素值方式,由于求解目标函数的过程相对于MCMC抽样算法极为简单,因此,解决了现有技术中采用MCMC抽样算法通过先进行采样再计算待推荐服务的概率分布的计算复杂度较高的问题,达到了降低基于二分图的服务推荐计算复杂度的目的。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种基于二分图的服务推荐方法,其特征在于,所述方法包括:
采集目标用户中每一个目标用户感兴趣的服务;
构建每一个目标用户的初始的用户兴趣向量和每一个服务的初始的服务主题向量,其中,所述用户兴趣向量和所述服务主题向量均为概率向量;
生成以所述目标用户和所述服务为顶点的二分图,其中,所述二分图中目标用户的顶点与服务的顶点之间存在连线时表示该目标用户对该服务感兴趣;
根据所述用户兴趣向量和所述服务主题向量,构建基于所述二分图的目标函数P;
求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值;
根据所述用户兴趣向量和所述服务主题向量,对所述目标用户进行服务推荐。
2.根据权利要求1所述的方法,其特征在于,所述目标函数P的具体表达为:
其中,un为第n个目标用户的用户兴趣向量,vm为第m个服务的服务主题向量,σm,n的值在所述二分图上第n个目标用户与第m个服务存在连线时为1,否则为0,N为所述二分图上所有目标用户对应的用户兴趣向量的数量,M为所述二分图上所有服务对应的服务主题向量的数量。
3.根据权利要求1或2所述的方法,其特征在于,所述求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值的步骤,包括:
采用既约梯度算法求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
4.根据权利要求3所述的方法,其特征在于,所述采用既约梯度算法求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值的步骤,包括:
A.根据初始的用户兴趣向量,通过既约梯度算法更新所述目标函数P中的当前服务主题向量的元素值;
B.根据当前服务主题向量,通过既约梯度算法更新所述目标函数P中的当前用户兴趣向量的元素值,在更新完成后,判断当前服务主题向量和当前用户兴趣向量是否达到收敛状态,如果否,执行C;如果是,执行D;
C.根据当前用户兴趣向量,通过既约梯度算法更新所述目标函数P中的当前服务主题向量的元素值,在更新完毕后,判断当前服务主题向量和当前用户兴趣向量是否达到收敛状态,如果否,执行B,如果是,执行D;
D.将达到收敛状态时的当前服务主题向量的元素值和当前用户兴趣向量的元素值,确定为对应的每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述用户兴趣向量和所述服务主题向量,对所述目标用户进行服务推荐,包括:
根据所述用户兴趣向量和所述服务主题向量的向量积,对所述目标用户进行服务推荐。
6.根据权利要求5所述的方法,其特征在于,所述根据所述用户兴趣向量和所述服务主题向量的向量积,对所述目标用户进行服务推荐的步骤,包括:
针对每一个目标用户,执行如下步骤:
分别计算该目标用户的用户兴趣向量与每一个服务主题向量的向量积;
对所述向量积按照从大到小排序,并选取排列在前的预设数量个向量积;
对该目标用户推荐所述预设数量个向量积对应的服务。
7.根据权利要求5所述的方法,其特征在于,所述根据所述用户兴趣向量和所述服务主题向量的向量积,对所述目标用户进行服务推荐的步骤,包括:
针对每一个目标用户,执行如下步骤:
分别计算该目标用户的用户兴趣向量与每一个服务主题向量的向量积;
分别将所述向量积与预设阈值进行比较,并确定大于所述预设阈值的向量积对应的服务;
对该目标用户推荐所确定的服务。
8.一种基于二分图的服务推荐装置,其特征在于,所述装置包括:
采集模块,用于采集目标用户中每一个目标用户感兴趣的服务;
第一构建模块,用于构建每一个目标用户的初始的用户兴趣向量和每一个服务的初始的服务主题向量,其中,所述用户兴趣向量和所述服务主题向量均为概率向量;
生成模块,用于生成以所述目标用户和所述服务为顶点的二分图,其中,所述二分图中目标用户的顶点与服务的顶点之间存在连线时表示该目标用户对该服务感兴趣;
第二构建模块,用于根据所述用户兴趣向量和所述服务主题向量,构建基于所述二分图的目标函数P;
求解模块,用于求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值;
推荐模块,用于根据所述用户兴趣向量和所述服务主题向量,对所述目标用户进行服务推荐。
9.根据权利要求8所述的装置,其特征在于,所述目标函数P的具体表达为:
其中,un为第n个目标用户的用户兴趣向量,vm为第m个服务的服务主题向量,σn,m的值在所述二分图上第n个目标用户与第m个服务存在连线时为1,否则为0,N为所述二分图上所有目标用户对应的用户兴趣向量的数量,M为所述二分图上所有服务对应的服务主题向量的数量。
10.根据权利要求7或8所述的装置,其特征在于,所述求解模块包括:求解单元,用于采用既约梯度算法求解所述目标函数P,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611117521.0A CN106708978B (zh) | 2016-12-07 | 2016-12-07 | 一种基于二分图的服务推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611117521.0A CN106708978B (zh) | 2016-12-07 | 2016-12-07 | 一种基于二分图的服务推荐方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708978A true CN106708978A (zh) | 2017-05-24 |
CN106708978B CN106708978B (zh) | 2019-09-27 |
Family
ID=58936273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611117521.0A Active CN106708978B (zh) | 2016-12-07 | 2016-12-07 | 一种基于二分图的服务推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708978B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712663A (zh) * | 2018-05-03 | 2018-10-26 | 武汉斗鱼网络科技有限公司 | 基于二分图的直播间推荐方法、相关存储介质和设备 |
CN109040214A (zh) * | 2018-07-25 | 2018-12-18 | 北京邮电大学 | 一种云环境下可靠性增强的服务部署方法 |
CN109754274A (zh) * | 2017-11-06 | 2019-05-14 | 北京京东尚科信息技术有限公司 | 一种确定目标对象的方法和装置 |
CN111104599A (zh) * | 2019-12-23 | 2020-05-05 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN112015980A (zh) * | 2020-08-14 | 2020-12-01 | 山东大学 | 一种基于(α,β)-核的二分图推荐方法 |
US20220086179A1 (en) * | 2020-09-12 | 2022-03-17 | Microsoft Technology Licensing, Llc | Service access data enrichment for cybersecurity |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699693A (zh) * | 2013-12-05 | 2015-06-10 | 中国移动通信集团广东有限公司 | 一种信息处理方法及装置 |
US20160012088A1 (en) * | 2014-07-08 | 2016-01-14 | Palo Alto Research Center Incorporated | Parallel collective matrix factorization framework for big data |
CN105975440A (zh) * | 2016-05-05 | 2016-09-28 | 浙江理工大学 | 一种基于图计算模型的矩阵分解并行化方法 |
-
2016
- 2016-12-07 CN CN201611117521.0A patent/CN106708978B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699693A (zh) * | 2013-12-05 | 2015-06-10 | 中国移动通信集团广东有限公司 | 一种信息处理方法及装置 |
US20160012088A1 (en) * | 2014-07-08 | 2016-01-14 | Palo Alto Research Center Incorporated | Parallel collective matrix factorization framework for big data |
CN105975440A (zh) * | 2016-05-05 | 2016-09-28 | 浙江理工大学 | 一种基于图计算模型的矩阵分解并行化方法 |
Non-Patent Citations (1)
Title |
---|
BO JIANG: ""BIGSIR: A Bipartite Graph Based Service Recommendation Method"", 《2013 IEEE NINTH WORLD CONGRESS ON SERVICES》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754274A (zh) * | 2017-11-06 | 2019-05-14 | 北京京东尚科信息技术有限公司 | 一种确定目标对象的方法和装置 |
CN108712663A (zh) * | 2018-05-03 | 2018-10-26 | 武汉斗鱼网络科技有限公司 | 基于二分图的直播间推荐方法、相关存储介质和设备 |
CN108712663B (zh) * | 2018-05-03 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 基于二分图的直播间推荐方法、相关存储介质和设备 |
CN109040214A (zh) * | 2018-07-25 | 2018-12-18 | 北京邮电大学 | 一种云环境下可靠性增强的服务部署方法 |
CN109040214B (zh) * | 2018-07-25 | 2020-07-17 | 北京邮电大学 | 一种云环境下可靠性增强的服务部署方法 |
CN111104599A (zh) * | 2019-12-23 | 2020-05-05 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN111104599B (zh) * | 2019-12-23 | 2023-08-18 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN112015980A (zh) * | 2020-08-14 | 2020-12-01 | 山东大学 | 一种基于(α,β)-核的二分图推荐方法 |
CN112015980B (zh) * | 2020-08-14 | 2024-03-12 | 山东大学 | 一种基于(α,β)-核的二分图推荐方法 |
US20220086179A1 (en) * | 2020-09-12 | 2022-03-17 | Microsoft Technology Licensing, Llc | Service access data enrichment for cybersecurity |
US11647034B2 (en) * | 2020-09-12 | 2023-05-09 | Microsoft Technology Licensing, Llc | Service access data enrichment for cybersecurity |
Also Published As
Publication number | Publication date |
---|---|
CN106708978B (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708978A (zh) | 一种基于二分图的服务推荐方法及装置 | |
CN103164804B (zh) | 一种个性化的信息推送方法及装置 | |
CN103116639B (zh) | 基于用户-物品二分图模型的物品推荐方法及系统 | |
CN102262681B (zh) | 一种博客信息传播中识别关键博客集的方法 | |
CN106327227A (zh) | 一种信息推荐系统及信息推荐方法 | |
CN108921670B (zh) | 一种融合用户潜在兴趣、时空数据和类别流行度的药品交易推荐方法 | |
CN107423356A (zh) | 评价信息的处理方法及装置、计算机可读介质、电子设备 | |
CN104813320A (zh) | 处理数字通信量度量的系统和方法 | |
CN105354277A (zh) | 一种基于递归神经网络的推荐方法及系统 | |
CN109087162A (zh) | 数据处理方法、系统、介质和计算设备 | |
CN111709810A (zh) | 基于推荐模型的对象推荐方法及装置 | |
CN113157752B (zh) | 一种基于用户画像和情境的科技资源推荐方法及系统 | |
CN104778237A (zh) | 一种基于关键用户的个性化推荐方法和系统 | |
CN106777086A (zh) | 一种网页埋点的动态管理方法及装置 | |
CN110570279A (zh) | 一种基于用户实时行为的策略化推荐方法及装置 | |
CN105654307A (zh) | 基于用户反馈的商品推荐方法和系统 | |
Bijwe et al. | Fuzzy power flow solutions with reactive limits and multiple uncertainties | |
CN103353880A (zh) | 一种利用相异度聚类和关联的数据挖掘方法 | |
CN110321473A (zh) | 基于多模态注意力的多样性偏好信息推送方法、系统、介质及设备 | |
CN106251178A (zh) | 数据挖掘方法以及装置 | |
CN104239335A (zh) | 特定用户信息获取方法及装置 | |
Lu et al. | Spatial-domain fitness landscape analysis for combinatorial optimization | |
CN104008204A (zh) | 一种动态的多维情境感知电影推荐系统及其实现方法 | |
CN107831963A (zh) | 金融产品显示方法、装置、设备及存储介质 | |
CN108268519A (zh) | 一种推荐网络对象的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |