一种基于元路径相似度的用户推荐方法、系统、服务器及存储介质与流程

文档序号:18103995发布日期:2019-07-06 11:31阅读:236来源:国知局
一种基于元路径相似度的用户推荐方法、系统、服务器及存储介质与流程

本发明涉及大数据领域,具体涉及一种基于元路径相似度的用户推荐方法、系统、服务器及存储介质。



背景技术:

在直播平台上,为了给用户推荐其感兴趣的直播间,通常采用基于用户或者直播间的协同过滤方法,需要计算用户或者直播间之间的相似度,常规的方法是将用户对直播间的观看看成向量,通过计算向量之间的余弦距离计算相似度,采用simrank基于用户-直播间关系的随机游走方法计算相似度,所述常规方法存在一些问题,直接采用观看向量只考虑了是否观看的关系,没有观看时长对相似度的影响,simrank运用了图结构,但是在大数据的条件下算法时间复杂度非常高,上述方法并不能解决对大多数用户推荐热门直播的问题。



技术实现要素:

鉴于现有技术存在的问题,本发明的目的是提供一种基于元路径相似度的用户推荐方法、系统、服务器及存储介质,通过构建用户与直播间的异构网络,并统计用户观看时长,计算直播间相似度贡献系数,得到用户间的相似度,根据用户间的相似度,推荐热门直播给用户。

为了实现上述目的,本发明采用的技术方案为一种基于元路径相似度的用户推荐方法,所述方法包括以下步骤:

s1、在直播平台中,建立用户与直播间观看和被观看的异构网络;

s2、基于步骤s1中异构网络,统计用户对直播间的观看时长,并对观看时长进行处理得到观看时长序号;

s3、根据用户在直播间的观看时长,计算用户相似度贡献系数,再根据所述用户相似度贡献系数,计算用户观看所述直播间的相似度贡献系数;

s4、定义异构网络的元路径,并根据元路径、观看时长序号和直播间相似度贡献系数,计算用户间的相似度;

s5、基于用户的协同过滤及用户间的相似度,得到待推荐用户的相似用户,并将相似用户观看的直播间推荐至待推荐用户。

在上述技术方案中,所述步骤s2中,观看时长统计包括以下步骤:

s21、统计时间t内用户u对直播间r的观看时长wur;

s22、将所有的wur取对数去除观看时长分布的长尾,得出lgwur=ln(wur);

s23、将步骤s22中得出的所有lgwur进行从小到大的排序,并进行等频切分,切分后,将lgwur转换为所在切分段数的序号swur。

在上述技术方案中,所述步骤s21中时间t设为7天或30天。

在上述技术方案中,所述步骤s3还包括以下步骤:

s31、将所有的直播间相似度贡献系数初始化为1,即sr=1(r∈r),其中,r为所有直播间的集合;

s32、根据用户的观看时长分配各直播间相似度贡献系数,得到每个用户的相似度贡献系数su为其中,ur是用户u观看的直播间集合,r是其中的任意一个;ru是观看了直播间r的用户集合,u是其中的任意一个;

s33、根据步骤s32得到直播间相似度贡献系数为其中,|ru|是观看了直播间r的用户总数。

在上述技术方案中,所述步骤4中用户间相似度计算公式为:其中,suv是用户u和用户v之间相似度;ru是用户u观看的直播间集合,rv是用户v观看的直播间集合,ru∩rv是用户u和v共同观看的直播间集合,i是其中的任意一个;coni是直播间i的相似度贡献系数。

本发明还公开一种基于元路径相似度的用户推荐系统,所述系统包括构建模块、统计模块、第一计算模块、第二计算模块、推荐模块;

构建模块,用于在直播平台中,建立用户与直播间观看和被观看的异构网络;

统计模块,用于基于构建模块中异构网络,统计用户对直播间的观看时长,并对观看时长进行处理得到观看时长序号;

第一计算模块,用于根据用户在直播间的观看时长,计算用户相似度贡献系数,再根据所述用户相似度贡献系数,计算用户观看所述直播间的相似度贡献系数;

第二计算模块,用于定义异构网络的元路径,并根据元路径、观看时长序号和直播间相似度贡献系数,计算用户间的相似度;

推荐模块,用于基于用户的协同过滤及用户间的相似度,得到待推荐用户的相似用户,并将相似用户观看的直播间推荐至待推荐用户。

在上述技术方案中,所述统计模块包括以下模块:

时长统计模块,用于统计时间t内用户u对直播间r的观看时长wur;

对数模块,用于将所有的wur取对数去除观看时长分布的长尾,得出lgwur=ln(wur);

转换模块,用于将对数模块中得出的所有lgwur进行从小到大的排序,并进行等频切分,切分后,将lgwur转换为所在切分段数的序号swur。

在上述技术方案中,所述第一计算模块包括以下模块:

初始化模块,用于将所有的直播间相似度贡献系数初始化为1,即sr=1(r∈r),其中,r为所有直播间的集合;

分配模块,用于根据用户的观看时长分配各直播间相似度贡献系数,得到每个用户的相似度贡献系数su为其中,ur是用户u观看的直播间集合,r是其中的任意一个;ru是观看了直播间r的用户集合,u是其中的任意一个;

获取模块,用于根据分配模块得到直播间相似度贡献系数为其中,|ru|是观看了直播间r的用户总数。

本发明还公开一种基于元路径相似度的用户推荐系统的服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述一种基于元路径相似度的用户推荐方法的步骤。

本发明还公开一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述一种基于元路径相似度的用户推荐的运算方法的步骤。

本发明一种基于元路径相似度的用户推荐方法、系统、服务器及存储介质,具有以下有益效果:本申请的推荐方法是通过构建用户与直播间的异构网络,并统计用户观看时长,计算直播间相似度贡献系数,得到用户间的相似度,本申请的推荐方法与常规方法相比,考虑了观看时长,能够快速给直播间用户推荐热门直播。

附图说明

图1为本发明实施例一提供的一种基于元路径相似度的用户推荐方法的流程图;

图2本发明实施例二提供一种基于元路径相似度的用户推荐系统模块图;

图3为本发明实施例三提供的服务器的结构示意图。

具体实施方式

本发明提供一种基于元路径相似度的用户推荐方法、系统、服务器及存储介质,本方法通过构建用户与直播间的异构网络,并统计用户观看时长,计算直播间相似度贡献系数,得到用户间的相似度,根据用户间的相似度,得出待推荐用户的相似用户,并将相似用户观看的直播间推荐至待推荐用户。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明如图1所示实施例一提供一种基于元路径相似度的用户推荐方法,所述方法包括以下步骤:

s1、在直播平台中,建立用户与直播间观看和被观看的异构网络;

其中,所述异构网络是描述不同实体之间关系的网络结构;

s2、基于步骤s1中异构网络,统计用户对直播间的观看时长,并对观看时长进行处理得到观看时长序号;

所述步骤s2中,观看时长统计包括以下步骤:

s21、统计时间t内用户u对直播间r的观看时长wur;

s22、将所有的wur取对数去除观看时长分布的长尾,得出lgwur=ln(wur);

其中,所述长尾分布是重尾分布的一个子类型,就是指尾巴很长的分布。这种分布会使得采样不准,估值不准,因为尾部占了很大部分。且尾部的数据少。

s23、将步骤s22中得出的所有lgwur进行从小到大的排序,并进行等频切分,切分后,将lgwur转换为所在切分段数的序号swur。

其中,将观看时长进行转换为序号相当于一个分桶,是在两个用户对某个直播间的观看时长均在相同的区间内,则认为其对直播间的感兴趣程度是相同的,去除由其他原因产生的噪音。

可选的,所述步骤s21中时间t设为7天或30天。

s3、根据用户在直播间的观看时长,计算用户相似度贡献系数,再根据所述用户相似度贡献系数,计算用户观看所述直播间的相似度贡献系数;

其中,所述步骤s3还包括以下步骤:

s31、将所有的直播间相似度贡献系数初始化为1,即sr=1(r

∈r),其中,r为所有直播间的集合;

s32、根据用户的观看时长分配各直播间相似度贡献系数,得到每个用户的相似度贡献系数su为其中,ur是用户u观看的直播间集合,r是其中的任意一个;ru是观看了直播间r的用户集合,u是其中的任意一个;

s33、根据步骤s32得到直播间相似度贡献系数为其中,|ru|是观看了直播间r的用户总数。

其中,用户相似度贡献系数是以用户为对象计算的对直播间的观看时长占比,表示用户的兴趣分布。直播间相似度贡献系数是以直播间为对象计算的观看该直播间的用户平均观看时长占比,表示看该直播间的用户有多大份额的兴趣是投入在这个直播间上的。

s4、定义异构网络的元路径,并根据元路径、观看时长序号和直播间相似度贡献系数,计算用户间的相似度;

可选的,定义的元路径为用户-直播间-用户,即表示用户观看了相同的直播间,其中,元路径代表了一种由实体组成的语义联系。

其中,所述步骤4中用户间相似度计算公式为

其中,suv是用户u和用户v之间相似度;ru是用户u观看的直播间集合,rv是用户v观看的直播间集合,ru∩rv是用户u和v共同观看的直播间集合,i是其中的任意一个;coni是直播间i的相似度贡献系数。

其中,所述相似度是指两个物体的相似度本质上反映在某种度量空间下两者的距离远近,通过考虑在网络中不同的链路路径(即元路径),在异构网络中的信息推导出相似的各种语义,通过以不同的方式定量的元路径,能进一步定义具有不同性质的相似度测量。相似度计算是数据挖掘领域的首要任务之一,它有益于后续最邻近搜索、聚类、分类等相关任务。对于网络数据挖掘而言,很多相似度的计算都局限在同构的对象之间。然而,基于不同的元路径,数据之间会展现出丰富的语义关联关系。

s5、基于用户的协同过滤及用户间的相似度,得到待推荐用户的相似用户,并将相似用户观看的直播间推荐至待推荐用户。

其中,所述协同过滤的主要功能是预测和推荐。是通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。基于用户的协同过滤算法(user-basedcollaborativefiltering),是通过用户的历史行为数据发现用户对直播间的喜欢(如直播间观看、发送弹幕或送礼物),并对这些喜好进行度量和打分。根据不同用户对相同直播间的态度和偏好程度计算用户之间的关系。在有相同喜好的用户间进行直播间的推荐。在个性化推荐系统中,当一个用户a需要个性化推荐时,可以先找和他有相似兴趣的其他用户,然后把那些用户喜欢的、而用户a没有看过的直播间推荐给a。这种方法成为基于用户的协同过滤算法(user-cf)。具体的,相似度计算通过找到和目标用户兴趣相似的用户集合构建推荐矩阵:找到这个集合中用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。相似度计算目标是找到目标用户与其他已知偏好的用户的相似度,协同过滤(cf)主要利用用户行为的相似度。给定用户u和用户v,令n(u)表示用户曾经有过正反馈的物品集合,令n(v)为用户v曾经有过正反馈的物品集合。基于用户的协同过滤算法是一个用户和其他用户的兴趣偏好类似,那么他们喜欢的东西都应该是差不多,即人以群分的概念。

本发明实施例二如图2所示还提供一种基于元路径相似度的用户推荐系统,其特征在于,所述系统包括构建模块、统计模块、第一计算模块、第二计算模块、推荐模块;

构建模块,用于在直播平台中,建立用户与直播间观看和被观看的异构网络;

统计模块,用于基于构建模块中异构网络,统计用户对直播间的观看时长,并对观看时长进行处理得到观看时长序号;

第一计算模块,用于根据用户在直播间的观看时长,计算用户相似度贡献系数,再根据所述用户相似度贡献系数,计算用户观看所述直播间的相似度贡献系数;

第二计算模块,用于定义异构网络的元路径,并根据元路径、观看时长序号和直播间相似度贡献系数,计算用户间的相似度;

推荐模块,用于基于用户的协同过滤及用户间的相似度,得到待推荐用户的相似用户,并将相似用户观看的直播间推荐至待推荐用户。

其中,所述统计模块包括以下模块:

时长统计模块,用于统计时间t内用户u对直播间r的观看时长wur;

对数模块,用于将所有的wur取对数去除观看时长分布的长尾,得出lgwur=ln(wur);

转换模块,用于将对数模块中得出的所有lgwur进行从小到大的排序,并进行等频切分,切分后,将lgwur转换为所在切分段数的序号swur。

其中,所述第一计算模块包括以下模块:

初始化模块,用于将所有的直播间相似度贡献系数初始化为1,即sr=1(r∈r),其中,r为所有直播间的集合;

分配模块,用于根据用户的观看时长分配各直播间相似度贡献系数,得到每个用户的相似度贡献系数su为其中,ur是用户u观看的直播间集合,r是其中的任意一个;ru是观看了直播间r的用户集合,u是其中的任意一个;

获取模块,用于根据分配模块得到直播间相似度贡献系数为其中,|ru|是观看了直播间r的用户总数。

通过以下实施例对本发明进行说明

若用户u1对直播间i1的观看时长序号是2,对直播间i2的观看时长序号是1;用户u2对直播间i1的观看时长序号是20,对直播间i2的观看时长序号是10;用户u1和u2共同观看的直播间只有i1和i2;直播间i1的相似度贡献系数是0.05,直播间i1的相似度贡献系数是0.15,那么得到的用户间的相似度为:

本发明实施例三如图3所示提供一种基于元路径相似度的用户推荐系统的服务器结构示意图,所述实施例的服务器包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32。所述处理器30执行所述计算机程序32时实现上述各方法实施例中的步骤,所述处理器30执行所述计算机程序32时实现上述装置实施例中各模块的功能。

所述一种基于元路径相似度的用户推荐系统的服务器可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备,所述一种基于元路径相似度的用户推荐系统的服务器可包括,但不限于,处理器30、存储器31。图3仅仅是对此服务器的示例,并不构成对此服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,所述一种基于元路径相似度的用户推荐系统的服务器还可以包括输入输出设备33、显示设备34等。

所述处理器30可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器31可以是所述一种基于元路径相似度的用户推荐系统的服务器的内部存储单元、硬盘或内存。所述存储器31也可以是所述服务器的外部存储设备,或配备的插接式硬盘,智能存储卡,安全数字卡,闪存卡等。

进一步地,所述存储器31还可以既包括所述服务器的内部存储单元也包括外部存储设备。所述存储器31用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。

所述的输入输出设备33可用于接收输入的数字或字符信息,具体的,输入输出设备33还可以包括但不限于键盘、鼠标、操作杆等中的一种和多种。

所述的显示设备34可用于显示由用户输入的信息或提供给用户信息以及终端的各种菜单,显示设备34可包括显示面板,可选的,可采用液晶显示器。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

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

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