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,以确定每一个用户兴趣向量的元素值和每一个服务主题向量的元素值。