一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于邻域聚合的资源推荐方法及相关设备与流程

2022-03-05 00:42:43 来源:中国专利 TAG:

基于邻域聚合的资源推荐方法及相关设备
1.技术邻域
2.本技术涉及人工智能技术邻域,更具体地,涉及一种基于邻域聚合的资源推荐方法及相关设备。


背景技术:

3.随着在线社交网络的兴起和迅速普及,社交平台上的用户可以在微博、facebook、微信等社交平台上分享自己的观点和生活经验,构建自己的社交圈子。由此引出了社交推荐(social recommendation)问题。相关技术中基于社交推荐向用户所推荐的资源存在精准度不高的问题,从而导致用户需要二次进行资源筛选或者进行二次资源请求,造成用户的资源获取效率不高。


技术实现要素:

4.鉴于上述问题,本技术实施例提出了一种基于邻域聚合的资源推荐方法及相关设备,以提高资源推荐的精准度。
5.根据本技术实施例的一个方面,提供了一种基于邻域聚合的资源推荐方法,包括:根据所述目标用户的初始嵌入向量和所述目标用户所对应邻域用户集合对所述目标用户的邻域影响向量进行社交聚合,得到所述目标用户的目标嵌入向量;所述初始嵌入向量是根据所对应用户的用户属性信息和所对应用户的偏好资源信息确定的;根据所述目标用户所对应历史偏好资源的资源嵌入向量和所述目标用户的目标嵌入向量,生成所述目标用户的目标特征向量;所述资源嵌入向量是根据所对应资源的资源属性信息和所对应资源的关联用户信息生成的;根据所述目标用户的目标特征向量和资源集合中各资源的资源嵌入向量,确定所述目标用户对所述资源集合中各资源的偏好权重;根据所述偏好权重在所述资源集合中进行资源筛选,确定向所述目标用户推荐的目标资源。
6.根据本技术实施例的一个方面,提供了一种基于邻域聚合的资源推荐装置,包括:聚合模块,用于根据所述目标用户的初始嵌入向量和所述目标用户所对应邻域用户集合对所述目标用户的邻域影响向量进行社交聚合,得到所述目标用户的目标嵌入向量;所述初始嵌入向量是根据所对应用户的用户属性信息和所对应用户的偏好资源信息确定的;目标特征向量生成模块,用于根据所述目标用户所对应历史偏好资源的资源嵌入向量和所述目标用户的目标嵌入向量,生成所述目标用户的目标特征向量;所述资源嵌入向量是根据所对应资源的资源属性信息和所对应资源的关联用户信息生成的;偏好权重确定模块,用于根据所述目标用户的目标特征向量和资源集合中各资源的资源嵌入向量,确定所述目标用户对所述资源集合中各资源的偏好权重;目标资源确定模块,用于根据所述偏好权重在所述资源集合中进行资源筛选,确定向所述目标用户推荐的目标资源。
7.根据本技术实施例的一个方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上所述基于邻域聚合的资源推荐方法。
8.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上所述基于邻域聚合的资源推荐方法。
9.在本方案中,目标用户的目标特征向量结合了基于目标用户的用户属性信息、所对应偏好资源信息、目标用户的邻域用户集合、目标用户所历史偏好资源这四个维度上的特征来生成的,可以在多个维度反映目标用户的特征,所表达出目标用户的特征更全面和准确。以此为基础,根据目标用户的目标特征向量和各资源的资源嵌入向量确定向目标用户推荐的目标资源,可以保证所得到目标资源与目标用户的匹配性更高,保证了向目标用户所进行资源推荐的精准性。可以大幅减少因资源推荐准确性不高导致目标用户在所推荐的资源中再次进行资源筛选或者因资源推荐不准确而二次进行资源请求的概率,因此,有效提高了目标用户的资源获取效率。
10.而且,基于目标用户的初始嵌入向量与目标用户所对应邻域用户集合的邻域影响向量进行社交聚合,充分挖掘了目标用户所在社交网络对目标用户对于资源态度的影响,提高了社交推荐性能。
附图说明
11.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本邻域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。
13.图2是根据本技术的一实施例示出的基于邻域聚合的资源推荐方法的流程图。
14.图3是根据本技术一实施例示出的步骤210的流程图。
15.图4是根据本技术一实施例示出的步骤320的流程图。
16.图5是根据本技术一实施例示出的步骤210之前步骤的流程图。
17.图6是根据本技术一实施例示出的步骤230之前步骤的流程图。
18.图7是根据本技术另一实施例示出的步骤210之前步骤的流程图。
19.图8是根据本技术一实施例示出的步骤230的流程图。
20.图9是根据本技术一具体实施例示出的基于邻域聚合的资源推荐方法的流程图。
21.图10是根据本技术的一实施例示出的基于邻域聚合的资源推荐装置的框图。
22.图11示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
23.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本邻域的技术人员。
24.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本邻域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,
或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
25.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
26.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
27.需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
28.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。
29.如图1所示,系统架构可以包括终端设备(如图1中所示智能手机101、平板电脑102和便携式计算机103中的一种或多种,当然也可以是台式计算机等)、网络104和服务器105。网络104用以在终端设备和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
30.终端设备可以运行社交应用客户端,用于基于该社交应用客户端与好友进行交互、进行信息转发和分享、发布信息等。服务器105用于为社交应用客户端提供服务。
31.在本技术中,服务器105还可以进一步收集用户信息和资源的信息,其中资源可以是文章、博客、新闻、视频、广告、商品、应用程序、服务程序、公众号、商家等。所收集的用户信息可以包括用户的基本属性信息和用户的社交信息,所收集资源的信息可以包括资源的基本属性信息和用户对资源的互动信息。在此基础上,服务器105可以基于用户信息和资源信息,按照本技术的方案确定向用户进行资源推荐。
32.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、以及大数据和人工智能平台等基础云计算服务的云服务器。
33.以下对本技术实施例的技术方案的实现细节进行详细阐述:
34.图2示出了根据本技术的一个实施例示出的基于邻域聚合的资源推荐方法的流程图,该方法可以由具备处理能力的计算机设备执行,例如服务器等,在此不进行具体限定。参照图2所示,该方法至少包括步骤210至240,详细介绍如下:
35.步骤210,根据所述目标用户的初始嵌入向量和所述目标用户所对应邻域用户集合对所述目标用户的邻域影响向量进行社交聚合,得到所述目标用户的目标嵌入向量;所述初始嵌入向量是根据所对应用户的用户属性信息和所对应用户的偏好资源信息确定的。
36.目标用户泛指待进行资源推荐的用户,该目标用户可以是社交应用中的用户,还可以是其他集成社交功能的应用等,在此不进行具体限定。
37.用户属性信息可以包括用户的年龄、所在位置、性别、职业等基本属性,用户属性信息可以从用户在应用中的注册信息中获取。
38.用户的偏好资源信息用于指示用户所偏好的资源。在一些实施例中,可以通过用户与已发布资源之间的互动行为来确定用户的偏好资源,例如,用户的偏好资源可以是用户好评、点赞、收藏、分享、购买的资源等。在一些实施例中,用户的偏好资源还可以是与用户的兴趣标签相匹配的资源等。其中,用户的兴趣标签可以是基于用户发布的内容、用户分享的内容等为用户添加的标签。
39.在本技术的一些实施例中,可以将目标用户的用户属性信息进行向量化表示,得到目标用户的第一特征向量;并将目标用户的偏好资源信息进行向量化,得到目标用户的第二特征向量;然后,将目标用户的第一特征向量和第二特征向量进行融合,得到目标用户的初始嵌入向量。
40.在本技术的一些实施例中,可以通过多层感知机网络来进行第一特征向量和第二特征向量的融合。多层感知机网络在单层神经网络的基础上引入一个或多个隐藏层(hidden layer),隐藏层位于输入层和输出层之间。多层感知机网络是含有至少一个隐藏层的由全连接层组成的神经网络,且每个隐藏层的输出通过激活函数进行变换。多层感知机的层数和各隐藏层中隐藏单元个数都是超参数。
41.目标用户的邻域用户集合是由目标用户的邻域用户形成的集合。在一些实施例中,目标用户的邻域用户可以是与目标用户的关联度较高的用户,与目标用户的关联度较高的用户例如目标用户的好友、与目标用户互动频率较高的用户、目标用户所关注账号(例如所关注的公众号账户、博主等)的用户、所偏好资源类型与目标用户所偏好资源的类型相似或相同、所偏好资源与目标用户所偏好资源的相似度高于设定相似度阈值的用户等,在此不进行具体限定。
42.在本技术的另一些实施例中,目标用户的邻域用户还可以是与目标用户有关联且与目标用户之间的信任度评分不低于设定信任度评分阈值的用户。
43.在本技术的一些实施例中,可以从多个维度来计算目标用户与其他用户的关联度,例如,从好友维度和偏好资源维度来计算两用户之间的关联度,又例如,从好友维度、偏好资源维度、互动频率维度来计算两用户之间的关联度。在一些实施例中,目标用户的邻域用户还可以是与目标用户具有好友关系且与目标用户的偏好资源类型相似、或者偏好资源相似度较高的用户。
44.目标用户所对应邻域用户集合的邻域影响向量用户表征邻域用户集合中全部邻域用户的特征。在本技术的一些实施例中,邻域影响向量可以是将目标用户所对应邻域用户集合中的全部邻域用户的嵌入向量进行聚合得到。
45.不同用户的邻域用户集合存在差异,邻域用户集合不同,对应的,邻域影响向量也对应存在差异。对于用户而言,所在的社交圈子会影响该用户对资源的态度,而社交圈子对用户的影响可以通过用户所在社交圈子中与用户相关联的用户的特征来反映。因此,将目标用户所对应邻域用户集合的邻域影响向量与目标用户的初始嵌入向量进行社交聚合,实现了将目标用户的特征和所对应邻域用户集合的特征的聚合,使得所得到目标用户的目标嵌入向量不仅可以反映目标用户的特征还可以反映目标用户所对应邻域用户集合的特征,因此,目标嵌入向量引入了邻域用户集合对目标用户的影响。
46.步骤220,根据所述目标用户所对应历史偏好资源的资源嵌入向量和所述目标用户的目标嵌入向量,生成所述目标用户的目标特征向量;所述资源嵌入向量是根据所对应
资源的资源属性信息和所对应资源的关联用户信息生成的。
47.资源属性信息可以是资源的基本属性,例如,资源的名称、资源的发布时间、资源的发布方、资源所属的分类、资源的主题、资源的摘要等;对于文字类型的资源,资源的基本属性还可以包括资源的字数;对于音频或者视频类型的资源,资源的基本属性还可以包括音频或视频的的时长。值得一提的是,对于不同类型的资源,资源的分类原则可能存在差异,例如若资源为新闻,则资源的分类原则可以是资源的主题,例如娱乐、教育、科技等分类。
48.资源的关联用户信息可以用于指示资源的受众用户,或者用于指示对资源的好评度高于第一设定好评度阈值的用户。其中,资源的受众用户可以是根据由资源发布方所设定的受众用户条件确定的。对资源的好评度可以是根据该资源已发布期间对资源的用户反馈行为来计算得到,对资源的用户反馈行为例如转发资源、对资源进行点赞、评分、好评、分享、购买等用户行为。
49.在本技术的一些实施例中,可以将资源的资源属性信息进行向量化表示,得到资源的第一资源特征向量;并将资源属性信息的关联用户信息进行向量化,得到关联用户信息的第二资源特征向量;然后,将关联用户信息的第一资源特征向量和第二资源特征向量进行融合,得到资源的资源嵌入向量。
50.目标用户所对应历史偏好资源可以是目标用户所作出好评度高于第二设定好评度阈值的资源。同上,目标用户对资源所作出的好评度可以是根据资源的已发布期间目标用户对该资源所作出的用户反馈行为来计算得到。举例来说,若资源为商品,则可以根据目标用户在购买商品后,对该商品发布的评论、评分、以及是否进行商品链接转发等用户行为来计算目标用户对该商品的好评度。若资源为公众号文章,可以根据目标用户在阅读该公众号文章后,对该公众号文章的留言评论、点赞、转发、分享等用户行为来计算目标用户对该商品的好评度。
51.在本技术的一些实施例中,可以将目标用户所对应历史偏好资源的资源嵌入向量和所述目标用户的目标嵌入向量进行融合,得到目标用户的目标特征向量。所进行的融合可以是将目标用户所对应历史偏好资源的资源嵌入向量与目标用户的嵌入向量进行向量叠加,将叠加结果作为目标用户的目标特征向量。
52.由于目标用户所对应历史偏好资源中可以体现目标用户的特征,例如针对资源的偏好特征,因此,将目标用户所对应历史偏好资源的资源嵌入向量和所述目标用户的目标嵌入向量进行融合,可以保证所得到目标用户的目标特征向量进一步可以在历史偏好资源维度上反映目标用户的特征。
53.步骤230,根据所述目标用户的目标特征向量和资源集合中各资源的资源嵌入向量,确定所述目标用户对所述资源集合中各资源的偏好权重。
54.偏好权重用于指示目标用户对资源的感兴趣程度,偏好权重越高,表明目标用户对该资源的感兴趣程度越高,进而表明该资源与目标用户之间的匹配度越高。
55.在本技术的一些实施例中,可以通过训练之后的神经网络模型(例如下文中的偏好预测模型)来自动预测目标用户对各资源的偏好权重。
56.步骤240,根据所述偏好权重在所述资源集合中进行资源筛选,确定向所述目标用户推荐的目标资源。
57.在本技术的一些实施例中,可以根据偏好权重由高到低的顺序对资源集合中的资源进行排序,然后将排序中位于前设定数量的资源确定为向目标用户推荐的目标资源。在另一实施例中,还可以基于设定的偏好权重阈值,将资源集合中相对于目标用户的偏好权重高于该偏好权重阈值的资源确定为向目标用户推荐的目标资源。
58.在确定向所述目标用户推荐的目标资源后,当接收到目标用户发起的资源推荐请求后,向用户推送该目标资源。
59.在本方案中,目标用户的目标特征向量中结合了基于目标用户的用户属性信息、所对应偏好资源信息、目标用户的邻域用户集合、目标用户所历史偏好资源这四个维度上的特征来生成目标用户的目标特征向量,从而使得目标用户的目标特征向量可以多个维度反映目标用户的特征,所表达目标用户的特征更全面和准确。以此为基础,根据目标用户的目标特征向量和各资源的资源嵌入向量确定向目标用户推荐的目标资源,可以保证所得到目标资源与目标用户的匹配性更高,保证了向目标用户所进行资源推荐的精准性。可以大幅减少目标用户在所推荐的资源中再次进行资源筛选或者因资源推荐不准确而二次进行资源请求的概率,因此,有效提高了目标用户的资源获取效率。
60.在本技术的一些实施例中,如图3所示,步骤210,包括:步骤310,获取k级社交聚合所得到所述目标用户的k级嵌入向量;其中,所述目标用户的初始嵌入向量用于进行一级社交聚合;k为正整数。以及步骤320,获取用于(t 1)级社交聚合的(t 1)级邻域影响向量。
61.步骤330,将所述目标用户的k级嵌入向量和所述(k 1)级邻域影响向量进行(k 1)级社交聚合,得到所述目标用户的(k 1)级嵌入向量。
62.在本实施例的方案中,针对每一用户,将用户的初始嵌入向量与该用户所对应的邻域用户集合对目标用户的邻域影响向量逐级进行社交聚合,得到用户的各级嵌入向量。在此基础上,对于目标用户,可以对应将目标用户的邻域集合中各邻域用户的k级嵌入向量进行聚合,得到用于进行(k 1)社交聚合的(k 1)邻域影响向量。
63.在本技术的一些实施例中,所进行的(k 1)级社交聚合可以是将目标用户的k级嵌入向量与所对应的(k 1)级邻域影响向量进行向量连接,即将两个向量拼接为一个向量,将向量连接所得到的向量作为目标用户的(k 1)级嵌入向量。
64.步骤340,判断社交聚合级数(k 1)是否达到设定级数阈值。
65.若社交聚合级数(k 1)达到设定级数阈值,则执行步骤350:以目标用户的(k 1)级嵌入向量作为所述目标用户的目标嵌入向量。
66.若社交聚合级数(k 1)小于设定级数阈值,则执行步骤360:继续将所述目标用户的(k 1)级嵌入向量进行下一级社交聚合。
67.设定级数阈值可以根据需要进行设定,在此不进行具体限定。若当前所进行的社交聚合的级数(即社交聚合级数)达到设定级数阈值,则结束社交聚合,以当前社交聚合所得到目标用户的(k 1)级嵌入向量作为目标用户的目标嵌入向量;反之,则继续将目标用户的(k 1)级嵌入向量用于下一级社交聚合。
68.通过逐级进行社交聚合,可以准确挖掘目标用户的邻域用户集合对于目标用户的全局社交影响。而且,由于邻域影响向量是根据邻域用户集合中各邻域用户的嵌入向量生成的,邻域用户的嵌入向量是根据邻域用户的用户属性信息和对应的偏好资源信息生成的,目标用户的初始嵌入向量也是根据目标用户的用户属性信息和偏好资源信息生成的,
因此,逐级进行社交聚合,相当于实现了用户与资源之间的深度交互,可以有效挖掘用于反映用户对资源的态度的特征,可以保证后续所进行资源推荐的准确性。
69.在本技术的一些实施例中,如图4所示,步骤320,包括:步骤410,获取所述邻域集合中各邻域用户的t级嵌入向量。步骤420,将所述邻域集合中全部邻域用户的注意力系数与所述邻域集合中全部邻域用户的t级嵌入向量进行聚合,得到所述对应于(t 1)级社交聚合的(t 1)级邻域影响向量;其中,对应于1级社交聚合的1级邻域影响向量是根据所述邻域集合中各邻域用户的初始嵌入向量计算得到的。
70.注意力系数用于表征邻域用户的影响程度。在本技术的一些实施例中,可以先基于双曲正切函数和训练得到的权重矩阵计算各邻域用户的注意力分数,然后将各邻域用户的注意力分数进行归一化处理,得到各用户的注意力分数。在此基础上,在基于各邻域用户的注意力分数和各邻域用户的各级嵌入向量进行聚合,从而所对应得到的各级邻域影响向量可以反映目标用户所对应邻域用户集合中邻域用户对于目标用户的异质联系。
71.在本技术的一些实施例中,如图5所示,步骤210之前,该方法还包括:步骤510,根据所述目标用户的用户属性信息生成所述目标用户的第一特征向量;以及步骤520,根据所述目标用户的偏好资源信息生成所述目标用户的第二特征向量。
72.在本技术的一些实施例中,使用预先训练的第一嵌入层将目标用户的偏好资源信息映射为低维度的第一one-hot向量表示(该过程即是对目标用户的偏好资源信息进行one-hot编码),然后通过训练得到的参数矩阵将第一one-hot向量表示进行转换,得到目标用户的第二特征向量。
73.one-hot编码,又称独热编码、一位有效编码,其方法是使用n位状态寄存器来对n个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。换言之,对于每个特征,如果它有m个可能值,那么经过独热编码后,就变成了m个二元特征,并且,这些特征互斥,每次只有一个激活。例如成绩这个特征有3个状态值:好、中、差,经过独热编码就变成100、010、001。
74.同理,可以采用相同的方法来基于目标用户的用户属性信息生成目标用户的第一特征向量,在此不再赘述。
75.步骤530,将所述目标用户的第一特征向量和所述目标用户的第二特征向量进行融合,得到所述目标用户的初始嵌入向量。
76.在本技术的一些实施例中,可以通过训练后的多层感知机网络来进行目标用户的第一特征向量和第二特征向量的融合。具体的,步骤530,包括:将所述目标用户的第一特征向量与所述目标用户的第二特征向量进行向量连接,得到用户连接向量;将所述用户连接向量输入第一多层感知机网络,由所述第一多层感知机网络根据所述用户连接向量输出所述目标用户的初始嵌入向量。
77.通过多层感知机网络,实现了资源的第一资源特征向量和第二资源特征向量的有效融合。
78.在本技术的一些实施例中,如图6所示,步骤230之前,该方法还包括:步骤610,根据所述资源集合中各资源的资源属性信息生成所对应资源的第一资源特征向量;以及步骤620,根据所述资源集合中各资源的关联用户信息生成所对应资源的第二资源特征向量。
79.在本技术的一些实施例中,使用预先训练的第二嵌入层将目标用户的偏好资源信
息映射为低维度的第二one-hot向量表示,然后通过第二参数矩阵将第二one-hot向量表示进行转换,得到该资源的第二资源特征向量。
80.同理,可以基于相同的方法来根据资源的资源属性信息生成资源的第一资源特征向量,在此不再赘述。
81.步骤630,将资源所对应的第一资源特征向量和所对应的第二资源特征向量进行融合,得到所对应资源的资源嵌入向量。
82.同目标用户的初始嵌入向量,可以通过训练后的多层感知机网络进行第一资源特征向量和第二资源特征向量的融合。具体的,步骤630包括:将所述资源所对应的第一资源特征向量与所对应的第二资源特征向量进行向量连接,得到资源连接向量;将资源连接向量输入第二多层感知机网络,由所述第二多层感知机网络根据资源连接向量输出所述资源的初始嵌入向量。
83.通过多层感知机网络,实现了资源的第一资源特征向量和第二资源特征向量的有效融合。
84.在本技术的一些实施例中,如图7所示,步骤210之前,该方法还包括:
85.步骤710,根据所述目标用户的社交互动信息,计算所述目标用户与候选用户集中每一候选用户的社交信任度。
86.目标用户与候选用户的社交信任度是目标用户对于候选用户的信任度的量化表示。目标用户的社交互动信息用于指示目标用户与其他用户进行的互动行为,社交互动行为例如基于聊天窗口的聊天行为、对发布的内容(或者转发的内容)进行评论、点赞的行为、对对方的评论进行回复的行为等。同理,候选用户的社交互动信息用于指示候选用户与其他用户进行的社交互动行为。
87.根据目标用户的社交互动信息,可以确定目标用户与该候选用户进行各种互动行为(例如上文中对发布的内容进行评论的互动行为、基于聊天窗口的聊天行为等)的次数,然后,可以将目标用户与候选用户进行各种互动行为的次数进行加权,得到目标用户与该候选用户进行互动行为的总计互动次数。同时,按照相同的方法,根据目标用户的社交互动信息,还可以统计确定目标用户与其他用户的总计互动次数。
88.在本技术的一些实施例中,还可以仅按照目标用户的社交互动信息来计算目标用户与任一候选用户之间的社交信任度,可以按照如下的公式计算目标用户与一候选用户的社交信任度:
[0089][0090]
其中,h
i,j
表示目标用户i对于候选用户j的社交信任度;d
i,j
表示目标用户i与候选用户j的总计互动次数;表示目标用户i与其他用户的最小互动次数;表示目标用户i与其他用户的最大互动次数。
[0091]
在本技术的另一些实施例中,还可以进一步基于目标用户与各用户的互动次数和互动时间,计算目标用户与各用户的互动频率。基于目标用户与各用户的互动频率来计算目标用户与每一候选用户的社交信任度,例如可以按照如下的公式来计算目标用户与候选用户的社交信任度:
[0092][0093]
其中,f
i,j
表示目标用户i与候选用户j的互动频率;表示目标用户i与各用户的互动频率中的中位数。
[0094]
在本技术的一些实施例中,候选用户集的候选用户可以是目标用户的好友用户,还可以是目标用户的好友用户和关注用户等,在此不进行具体限定。
[0095]
步骤720,根据所述目标用户的偏好资源信息和候选用户集中各候选用户的偏好资源信息,计算所述目标用户与所述候选用户集中每一候选用户的资源偏好相似度。
[0096]
目标用户与候选用户的资源偏好相似度用于指示目标用户与候选用户在偏好资源上的相似度。
[0097]
根据目标用户的偏好资源信息和候选用户的偏好资源信息可以确定目标用户与该候选用户共同的偏好资源。在一实施例中,基于目标用户与该候选用户共同的偏好资源的数量和该目标用户的偏好资源的总数量,计算得到目标用户与该候选用户的资源偏好相似度。在另一实施例中,还可以基于每种偏好资源的相似权重,将目标用户与该候选用户共同的偏好资源所对应的相似权重进行加权,将加权结果作为目标用户与该候选用户的资源偏好相似度。
[0098]
步骤730,根据所述目标用户与所述候选用户集中每一候选用户的社交信任度和资源偏好相似度,在所述候选用户集中进行候选用户筛选。
[0099]
步骤740,将筛选出的候选用户添加至所述目标用户所对应邻域用户集合中。
[0100]
在本技术的一些实施例中,对于每一候选用户,可以将目标用户与候选用户的社交信任度和资源偏好相似度进行加权,将加权结果作为目标用户与候选用户之间的综合评分,然后基于该综合评分来在候选用户集中进行候选用户筛选。
[0101]
在本技术的一些实施例中,可以将综合评分高于设定分数阈值的候选用户添加到该目标用户对应的邻域用户集合中。进一步的,还可以设定邻域用户集合中的邻域用户数量(指定数量),从而,按照综合评分由高到低的顺序进行候选用户排序,将排序中位于前指定数量的候选用户添加到目标用户的邻域用户集合中。
[0102]
通过如上的过程,基于目标用户与候选用户之间的社交信任度和偏好资源相似度来确定目标用户对应的邻域用户集合,从而保证目标用户与邻域用户在社交上的关联度和资源上的关联度,而用户与目标用户关联度越高,该用户对目标用户的影响越大,保证基于与目标用户的社交信任度和偏好资源相似度来筛选确定的邻域用户集合可以准确反映目标用户所在社交圈子的特征。
[0103]
在本技术的一些实施例中,如图8所示,步骤230,包括:步骤810,将所述目标用户的目标特征向量与所述资源集合中每一资源的资源嵌入向量进行向量连接,得到所述目标用户相对于每一资源的连接特征向量。步骤820,将所述目标用户相对于每一资源的连接特征向量输入偏好预测模型。步骤830,由所述偏好预测模型根据所述目标用户相对于每一资源的连接特征向量进行偏好权重预测,输出所述目标用户对各资源的偏好权重。
[0104]
偏好预测模型是通过神经网络来构建的模型,神经网络例如全连接网络、循环神经网络、长短时记忆神经网络等,在此不进行具体限定。
[0105]
为了保证偏好预测模型的预测准确性,在步骤820之前,还需要通过训练数据对该偏好预测模型进行训练。训练数据可以包括样本用户的目标特征向量,样本资源的资源嵌入向量、以及样本用户对各样本资源的偏好评分;然后,将一样本用户的目标特征向量和一样本资源的资源嵌入向量输入到偏好预测模型,由该偏好预测模型基于样本用户的目标特征向量和样本资源的资源嵌入向量进行偏好权重预测,输出样本用户对于该样本资源的预测偏好权重;若该预测偏好权重与样本用户对该样本资源的偏好评分之间的偏差不在预设范围内,则对偏好预测模型的参数进行调整,并通过调整后的偏好预测模型重新预测该样本用户与该样本资源之间的预测偏好权重,直至预测偏好权重与样本用户对该样本资源的偏好评分之间的偏差在预设范围内。通过对偏好预测模型进行训练,可以保证偏好预测模型进行偏好权重预测的准确性。
[0106]
图9是根据本技术一具体实施例示出的基于邻域聚合的资源推荐方法的流程图。如图9所示,若以用户a作为目标用户,将用户a的第一特征向量和第二特征向量进行融合,得到用户a的初始嵌入向量。
[0107]
具体的,可以按照如下的过程进行用户a的第一特征向量和第二特征向量进行融合:
[0108][0109]
其中,表示用户a的初始嵌入向量;xa表示用户a的第一特征向量;pa表示用户a的第二特征向量;gu表示第一多层感知机网络;表示将两向量进行向量连接。
[0110]
同理,对于资源(待推荐的资源、以及用户a的历史偏好资源等),可以按照如下的过程确定资源的资源嵌入向量:
[0111][0112]
其中,vi表示资源i的资源嵌入向量;yi表示资源i的第一资源特征向量;qi表示资源i的第二资源特征向量;gv表示用于将第一资源特征向量和第二资源特征向量进行融合的第二多层感知机网络。
[0113]
然后,基于用户a的初始嵌入向量逐级进行社交聚合。在此之前,需要先计算用户a所对应邻域用户集合对用户a的各级邻域影响向量。具体的,先计算用户a所对应邻域用户集合中各邻域用户的注意力分数,可以按照如下的公式计算各邻域用户的注意力分数:
[0114][0115]
其中,ta表示用户a所对应邻域用户集合;b表示用户a所对应邻域用户集合中的一个邻域用户;wb表示权重矩阵;表示邻域用户b的初始嵌入向量;αb表示邻域用户b的注意力分数。
[0116]
然后将邻域用户的注意力分数进行归一化处理,在具体实施例中,可以通过softmax函数进行归一化处理。具体可按照如下公式进行归一化处理,得到各邻域用户的注意力系数:
[0117]
[0118]
其中,ρb表示邻域用户b的注意力系数。
[0119]
然后基于各邻域用户的注意力系数和各邻域用户的各级嵌入向量计算各级邻域影响向量,具体可以按照如下公式计算t 1级邻域影响向量:
[0120][0121]
其中,表示来自用户a的邻域用户集合ta的t 1级邻域影响向量;σ表示非线性激活函数;w表示权重矩阵。
[0122]
再将用户a的t级嵌入向量和用户a所对应邻域用户集合的k 1级邻域影响向量进行聚合,得到用户a的(k 1)级嵌入向量。具体可按照如下公式进行k级嵌入向量和k 1级邻域影响向量的聚合:
[0123][0124]
其中,w
t
表示用于进行t级社交聚合的权重矩阵。若社交聚合级数达到设定级数阈值k,则将用户a的k级嵌入向量作为用户a的目标嵌入向量。
[0125]
之后,将用户a所对应的全部历史偏好资源的资源嵌入向量进行加权平均,并将加权平均的结果与用户a的目标嵌入向量求和,得到用户a的目标特征向量。具体的,可以按照如下公式计算得到用户a的目标特征向量:
[0126][0127]
其中,ua表示用户a的目标特征向量,ra表示用户a的历史偏好资源集合;|ra|表示用户a的历史偏好资源集合中的资源数量;vj表示用户a的历史偏好资源集合中一历史偏好资源的资源嵌入向量。
[0128]
之后,将用户a的目标特征向量和候选资源集合中资源的资源嵌入向量进行向量连接:并将进行向量连接所得到的连接特征向量z1作为偏好预测模型的输入,由该偏好预测模型基于该连接特征向量z1输出用户a对于资源i的偏好权重r
ai

[0129]
偏好预测模型中包括多层神经网络层,在各神经网络层中所进行的运算可以表示为:
[0130]
z2=σ(w2·
z1);(公式10)
[0131]
......
[0132]zl-1
=σ(w
l-1
·zl-2
);(公式11)
[0133]rai
=w
l
·zl-1
(公式12)
[0134]
其中,l表示偏好预测模型的神经网络层的层数,w
l
表示第l层神经网络层的权重系数。
[0135]
最后,基于用户a对各资源的偏好权重进行资源筛选,确定向用户a推荐的目标资源,并向用户a所确定的目标资源。
[0136]
在本实施例中,将目标用户的邻域用户集合中各邻域用户的各级嵌入向量进行聚合得到各级邻域影响向量,并将各级邻域影响向量与目标用户的各级嵌入向量进行逐级聚合,该过程即是利用图卷积神经网络(gcns,graph convolutional networks)建模递归的
社交聚合,来传播目标用户的全局社交影响,而且,引入了注意力机制,纳入了各邻域用户对目标用户的异质联系(不同的邻域用户对用户产生的影响不同),联合社交深度和社交强度两个角度共同构建目标用户的嵌入向量,从而,保证了所得到目标用户的目标嵌入向量对于目标用户的特征表达的全面性和准确性,因此,基于目标用户的目标嵌入向量进行的资源推荐可以保证为目标用户所确定的目标资源的准确性和与目标用户的匹配性,有效提高了资源推荐的效率。
[0137]
以下介绍本技术的装置实施例,可以用于执行本技术上述实施例中的方法。对于本技术装置实施例中未披露的细节,请参照本技术上述方法实施例。
[0138]
图10是根据一实施例示出的基于邻域聚合的资源推荐装置的框图,如图10所示,该基于邻域聚合的资源推荐装置包括:聚合模块1010,用于根据所述目标用户的初始嵌入向量和所述目标用户所对应邻域用户集合对所述目标用户的邻域影响向量进行社交聚合,得到所述目标用户的目标嵌入向量;所述初始嵌入向量是根据所对应用户的用户属性信息和所对应用户的偏好资源信息确定的。目标特征向量生成模块1020,用于根据所述目标用户所对应历史偏好资源的资源嵌入向量和所述目标用户的目标嵌入向量,生成所述目标用户的目标特征向量;所述资源嵌入向量是根据所对应资源的资源属性信息和所对应资源的关联用户信息生成的。偏好权重确定模块1030,用于根据所述目标用户的目标特征向量和资源集合中各资源的资源嵌入向量,确定所述目标用户对所述资源集合中各资源的偏好权重。目标资源确定模块1040,用于根据所述偏好权重在所述资源集合中进行资源筛选,确定向所述目标用户推荐的目标资源。
[0139]
在本技术的一些实施例中,聚合模块1010,包括:第一获取单元,用于获取t级社交聚合所得到所述目标用户的t级嵌入向量;其中,t为正整数;以及第二获取单元,用于获取用于(t 1)级社交聚合的(t 1)级邻域影响向量;社交聚合单元,用于将所述目标用户的t级嵌入向量和所述(t 1)级邻域影响向量进行(t 1)级社交聚合,得到所述目标用户的(t 1)级嵌入向量;其中,所述目标用户的初始嵌入向量用于进行一级社交聚合;目标嵌入向量确定单元,用于若社交聚合级数(t 1)达到设定级数阈值,则以目标用户的(t 1)级嵌入向量作为所述目标用户的目标嵌入向量;下一级社交聚合单元,用于若社交聚合级数(t 1)小于设定级数阈值,则继续将所述目标用户的(t 1)级嵌入向量进行下一级社交聚合。
[0140]
在本技术的一些实施例中,第二获取单元,包括:第三获取单元,用于获取所述邻域集合中各邻域用户的t级嵌入向量;聚合单元,用于将所述邻域集合中全部邻域用户的注意力系数与所述邻域集合中全部邻域用户的t级嵌入向量进行聚合,得到所述对应于(t 1)级社交聚合的(t 1)级邻域影响向量;其中,对应于1级社交聚合的1级邻域影响向量是根据所述邻域集合中各邻域用户的初始嵌入向量计算得到的。
[0141]
在本技术的一些实施例中,基于邻域聚合的资源推荐装置,还包括:第一特征向量生成模块,用于根据所述目标用户的用户属性信息生成所述目标用户的第一特征向量;以及第二特征向量生成模块,用于根据所述目标用户的偏好资源信息生成所述目标用户的第二特征向量;第一融合模块,用于将所述目标用户的第一特征向量和所述目标用户的第二特征向量进行融合,得到所述目标用户的初始嵌入向量。
[0142]
在本技术的一些实施例中,第一融合模块,包括:第一向量连接单元,用于将所述目标用户的第一特征向量与所述目标用户的第二特征向量进行向量连接,得到用户连接向
量;初始嵌入向量输出模块,用于将所述用户连接向量输入第一多层感知机网络,由所述第一多层感知机网络根据所述用户连接向量输出所述目标用户的初始嵌入向量。
[0143]
在本技术的一些实施例中,基于邻域聚合的资源推荐装置,还包括:第一资源特征向量生成模块,用于根据所述资源集合中各资源的资源属性信息生成所对应资源的第一资源特征向量;以及第二资源特征向量生成模块,用于根据所述资源集合中各资源的关联用户信息生成所对应资源的第二资源特征向量;第二融合模块,用于将资源所对应的第一资源特征向量和所对应的第二资源特征向量进行融合,得到所对应资源的资源嵌入向量。
[0144]
在本技术的一些实施例中,基于邻域聚合的资源推荐装置,还包括:社交信任度计算模块,用于根据所述目标用户的社交互动信息,计算所述目标用户与候选用户集中每一候选用户的社交信任度;资源偏好相似度计算模块,用于根据所述目标用户的偏好资源信息和候选用户集中各候选用户的偏好资源信息,计算所述目标用户与所述候选用户集中每一候选用户的资源偏好相似度;候选用户筛选模块,用于根据所述目标用户与所述候选用户集中每一候选用户的社交信任度和资源偏好相似度,在所述候选用户集中进行候选用户筛选;添加模块,用于将筛选出的候选用户添加至所述目标用户所对应邻域用户集合中。
[0145]
在本技术的一些实施例中,偏好权重确定模块1030,包括:第二向量连接单元,用于将所述目标用户的目标特征向量与所述资源集合中每一资源的资源嵌入向量进行向量连接,得到所述目标用户相对于每一资源的连接特征向量;输入单元,用于将所述目标用户相对于每一资源的连接特征向量输入偏好预测模型;偏好权重输出单元,用于由所述偏好预测模型根据所述目标用户相对于每一资源的连接特征向量进行偏好权重预测,输出所述目标用户对各资源的偏好权重。
[0146]
图11示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0147]
如图11所示,计算机系统1100包括中央处理单元(central processing unit,cpu)1101,其可以根据存储在只读存储器(read-only memory,rom)1102中的程序或者从存储部分1108加载到随机访问存储器(random access memory,ram)1103中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在ram 1103中,还存储有系统操作所需的各种程序和数据。cpu1101、rom1102以及ram 1103通过总线1104彼此相连。输入/输出(input/output,i/o)接口1105也连接至总线1104。
[0148]
以下部件连接至i/o接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至i/o接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
[0149]
特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实
施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(cpu)1101执行时,执行本技术的系统中限定的各种功能。
[0150]
需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0151]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0152]
描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0153]
作为另一方面,本技术还提供了一种计算机可读存储介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载计算机可读指令,当该计算机可读存储指令被处理器执行时,实现上述任一实施例中的方法。
[0154]
根据本技术的一个方面,还提供了一种电子设备,其包括:处理器;存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时,实现上述任一实施例中的方法。
[0155]
根据本技术实施例的一个方面,提供了计算机程序产品或计算机程序,该计算机
程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中的方法。
[0156]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0157]
通过以上的实施方式的描述,本邻域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
[0158]
本邻域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术邻域中的公知常识或惯用技术手段。
[0159]
应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献