考虑社交网络用户群紧密度的信息推荐方法及系统
文献发布时间:2023-06-19 09:35:27
技术领域
本申请涉及社交网络挖掘技术领域,特别是涉及考虑社交网络用户群紧密度的信息推荐方法及系统。
背景技术
本部分的陈述仅仅是提到了与本申请相关的背景技术,并不必然构成现有技术。
基于图的多点之间最短距离计算问题是指给定一个有向或无向非负加权图G,在该图G上选择任意多个点的集合S,计算集合S中任意两点在图G上的最短距离。两点之间的最短距离是指这两点之间的最短路线上所有边的权重之和。现实中,若干应用的数据模型都可以抽象为有向图或者无向图。社交网络可以抽象为图结构,每个用户看作图上的一个顶点,用户之间的好友或者关注关系则被是为相应顶点的边,用户之间的互动次数则可以抽象为边的权重。在实际应用中,查询图上多点对之间的最短距离是一个基础性问题,可以作为一个算法模块应用到多个领域。
在对社交网络的一组用户关系的密切程度进行分析时,往往需要了解指定的这组用户中两两用户之间关系的密切程度,而用户关系的密切程度可以表示为社交网络中用户之间的最短距离。
在给定的图G上计算顶点集合V中任意两个顶点之间最短距离时,目前的方法普遍采用迪杰斯特拉算法,依次以集合V中每个顶点为起点,对图G进行遍历,直至找到该点到其他顶点的最短距离,这类方法存在以下不足:
(1)如何快速计算出多节点复杂社交网络环境下,指定一组用户节点中任意两个用户节点之间的最短距离,然后将用户节点之间的最短距离加权求和,得到该组用户的关系紧密度。
(2)整个计算过程是顺序执行,当集合V中顶点数目较多时,耗时巨大。
(3)在以集合S中每个顶点为起点进行图的遍历时,存在大量的重复计算,难以实现已有计算结果的共享利用。
(4)虽然某些已有工作采用双向宽度优先遍历策略计算两点之间的最短路线,但是需要维护大量路线且宽度优先遍历策略的搜索范围过大,导致查询效率不高。
(5)现有技术中信息推荐的过程中,没有考虑用户群关系紧密度,对于关系不够紧密的群体内的用户相互之间推荐信息或产品是没有意义和价值的,甚至会浪费商家的成本。
综上所述,现有技术中如何设计一种高效并行计算策略以提高极大图上多点之间最短距离的计算效率,尚缺乏有效的解决方案。
发明内容
为了解决现有技术的不足,本申请提供了考虑社交网络用户群紧密度的信息推荐方法;
第一方面,本申请提供了考虑社交网络用户群紧密度的信息推荐方法;
考虑社交网络用户群紧密度的信息推荐方法,包括:
获取社交网络中待分析用户群中的所有用户;
根据待分析用户群中的所有用户,构建图结构;即,将每个用户看作图结构的一个顶点,如果用户之间存在好友关系或关注关系,则表示用户所对应的顶点之间存在对应连接的边,用户之间互动的次数看作边的权重;
基于图结构,获取顶点集合,查询顶点集合中任意两个顶点之间的最短距离;
将任意两个顶点之间的最短距离加权求和,得到待分析用户群的关系紧密度;
判断待分析用户群的关系紧密度是否大于设定阈值,如果是,则对待分析用户群中的每个用户进行信息推荐,即将待分析用户群中其他用户喜好的商品或服务推荐给当前用户;如果否,就不进行信息推荐。
第二方面,本申请提供了考虑社交网络用户群紧密度的信息推荐系统;
考虑社交网络用户群紧密度的信息推荐系统,包括:
获取模块,其被配置为:获取社交网络中待分析用户群中的所有用户;
图结构构件模块,其被配置为:根据待分析用户群中的所有用户,构建图结构;即,将每个用户看作图结构的一个顶点,如果用户之间存在好友关系或关注关系,则表示用户所对应的顶点之间存在对应连接的边,用户之间互动的次数看作边的权重;
查询模块,其被配置为:基于图结构,获取顶点集合,查询顶点集合中任意两个顶点之间的最短距离;
推荐模块,其被配置为:将任意两个顶点之间的最短距离加权求和,得到待分析用户群的关系紧密度;
判断待分析用户群的关系紧密度是否大于设定阈值,如果是,则对待分析用户群中的每个用户进行信息推荐,即将待分析用户群中其他用户喜好的商品或服务推荐给当前用户;如果否,就不进行信息推荐。
第三方面,本申请还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
第五方面,本申请还提供了一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现前述第一方面任意一项的方法。
与现有技术相比,本申请的有益效果是:
快速计算出社交网络复杂环境下,指定一组用户节点中任意两个用户节点之间的最短距离,然后将任意两个用户之间的最短距离进行加权求和,从而计算得到指定用户群的关系紧密度。针对关系紧密度大于设定阈值的指定用户群,对群内的用户进行彼此之间的信息推荐。针对关系紧密度小于等于设定阈值的指定用户群,对群内的用户不执行信息推荐。节省商家的成本,也提升用户的体验。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为图G的一个实例(v
图2为初始化时每个源点分别对应的最小堆以及当前“理论可到达最短距离”;
图3为初始化时每个源点到图G中其它各个顶点的距离;
图4、图6、图8、图10、图12、图14、图16分别为搜索算子每执行第一步,每个源点分别对应的最小堆以及当前“理论可到达最短距离”;
图5、图7、图9、图11、图13、图15、图17分别为搜索算子每执行第一步,每个源点到图G中其它各个顶点的距离。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例提供了考虑社交网络用户群紧密度的信息推荐方法;
考虑社交网络用户群紧密度的信息推荐方法,包括:
S101:获取社交网络中待分析用户群中的所有用户;
S102:根据待分析用户群中的所有用户,构建图结构;即,将每个用户看作图结构的一个顶点,如果用户之间存在好友关系或关注关系,则表示用户所对应的顶点之间存在对应连接的边,用户之间互动的次数看作边的权重;
S103:基于图结构,获取顶点集合,查询顶点集合中任意两个顶点之间的最短距离;
S104:将任意两个顶点之间的最短距离加权求和,得到待分析用户群的关系紧密度;
判断待分析用户群的关系紧密度是否大于设定阈值,如果是,则对待分析用户群中的每个用户进行信息推荐,即将待分析用户群中其他用户喜好的商品或服务推荐给当前用户;如果否,就不进行信息推荐。
应理解的,所述用户关系矩阵中,如果两个用户之间存在好友关系或关注关系,则两个用户之间的数值为1,否则为0。
作为一个或多个实施例,所述S103:基于图结构,获取顶点集合,查询顶点集合中任意两个顶点之间的最短距离;具体步骤包括:
S1031:将顶点集合V中每个顶点v
S1032:搜索算子v
S1033:搜索算子v
S1034:任意两个搜索算子r
S1035:搜索算子v
S1036:当顶点集合V中任意顶点v
进一步地,S1031:将顶点集合V中每个顶点v
S10311:为搜索算子v
S10312:为搜索算子r
进一步地,S1032:搜索算子v
S10321:搜索算子r
S10322:搜索算子v
S10323:搜索算子v
进一步地,S1033:搜索算子v
S10331:从最小堆
S10332:将临界顶点v
进一步地,所述S10331:从最小堆
S103311:搜索算子r
S103312:更新源点v
S103313:遍历最小堆
S103314:遍历最小堆
S103315:重复S103311-S103314,不断更新源点v
进一步地,所述S103312的具体步骤为:
S1033121:当Dist(v
S1033122:当Dist(v
进一步地,所述S1034:任意两个搜索算子r
S10341:搜索算子v
S10342:当搜索算子v
S10343:假设v
S10344:比较Dist(p
S10345:重复步骤S10341-S10344,直至满足S10344的约定条件。
进一步地,S1035:搜索算子r
S10351:搜索算子v
S10352:当集合R
本申请的一种典型的实施方式中,以图1所示图G以及V={v
步骤(1)将顶点v
步骤(2)搜索算子r
步骤(3)搜索算子r
步骤(4)搜索算子r
步骤(5)搜索算子r
示例性的,所述步骤(1)为集合V中的顶点v
步骤(1.1)为搜索算子r
步骤(1.2)为搜索算子r
示例性的,以搜索算子r
步骤(2.1)搜索算子r
步骤(2.2)搜索算子r
步骤(2.3)搜索算子r
示例性的,所述步骤(3)搜索算子r
步骤(3.1)从最小堆
步骤(3.2)将边界顶点v
示例性的,所述步骤(3.1)计算源点v
步骤(3.1.1)搜索算子r
步骤(3.1.2)更新源点v
示例性的,所述步骤(3.1.2)的具体步骤为:
步骤(3.1.2.1)当Dist(v
步骤(3.1.2.2)当Dist(v
步骤(3.1.3)遍历最小堆
步骤(3.1.4)遍历最小堆
步骤(3.1.5)重复步骤(3.1.1)-(3.1.4),不断更新源点v
如图2所示,初始化时,
图4、图6、图8、图10、图12、图14分别给出了搜索算子r
示例性的,所述步骤(4)搜索算子r
步骤(4.1)搜索算子r
步骤(4.2)当搜索算子r
步骤(4.3)假设v
步骤(4.4)比较Dist(p
步骤(4.5)重复步骤4.1-4.4,直至满足步骤(4.4)的约定条件。
如图1-图17所示,当搜索算子r
此时,HDist(v
当搜索算子r
此时,HDist(v
当搜索算子r
此时,HDist(v
如图2和图3所示,初始化步骤;如图4和图5所示,搜索算子r
实施例二
本实施例提供了考虑社交网络用户群紧密度的信息推荐系统;
考虑社交网络用户群紧密度的信息推荐系统,包括:
获取模块,其被配置为:获取社交网络中待分析用户群中的所有用户;
图结构构件模块,其被配置为:根据待分析用户群中的所有用户,构建图结构;即,将每个用户看作图结构的一个顶点,如果用户之间存在好友关系或关注关系,则表示用户所对应的顶点之间存在对应连接的边,用户之间互动的次数看作边的权重;
查询模块,其被配置为:基于图结构,获取顶点集合,查询顶点集合中任意两个顶点之间的最短距离;
推荐模块,其被配置为:将任意两个顶点之间的最短距离加权求和,得到待分析用户群的关系紧密度;
判断待分析用户群的关系紧密度是否大于设定阈值,如果是,则对待分析用户群中的每个用户进行信息推荐,即将待分析用户群中其他用户喜好的商品或服务推荐给当前用户;如果否,就不进行信息推荐。
此处需要说明的是,上述获取模块、图结构构件模块、查询模块和推荐模块对应于实施例一中的步骤S101至S104,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
- 考虑社交网络用户群紧密度的信息推荐方法及系统
- 基于社交网络和大数据分析的用户群组更新方法及系统