博客> 文章
将图形分析应用于《权力的游戏》中
作者:Amy Hodler & Mark Needham,Neo4j(特邀作者),2019年6月12日
标签。图形DBMS,Neo4j
在这篇文章中,我们回顾了企业如何整合图形交易和分析处理,然后深入研究图形算法。我们将提供在《权力的游戏》数据上使用图算法的例子来说明如何开始。请注意,这些内容的一部分来自于我们的O'Reilly书籍《图算法》。Apache Spark和Neo4j中的实际例子,你可以免费下载。
Neo4j在一个统一的平台上提供原生的图存储、计算和分析。我们的目标是帮助企业以连接为先的方式揭示人员、流程、地点和系统之间的相互关系。Neo4j图谱平台为处理人工智能、欺诈检测、实时推荐和主数据的应用提供支持。
融合交易和分析处理
一段时间以来,交易和分析处理之间的界限一直很模糊。在线交易处理(或OLTP)操作通常是短期的活动,如订票或给账户充值。它意味着很多低延迟的查询处理和高数据完整性。这与在线分析处理(OLAP)有很大的不同,后者有利于对具有多个数据源、格式和类型的历史数据进行更复杂的查询和分析。
现代数据密集型应用现在将实时交易操作与分析结合起来。这种处理方式的合并是由软件以及低成本、大内存硬件的进步所推动的。 将分析和交易结合在一起,使持续的分析成为常规操作的一个自然组成部分。
我们现在可以通过使用一个单一的、统一的平台来简化我们的架构,用于这两种类型的处理。这意味着我们的分析查询可以利用实时数据,我们可以在被称为混合交易和分析处理(HTAP)的情况下简化分析的迭代过程。
混合平台支持交易所需的低延迟查询处理和高数据完整性,同时整合大量数据的复杂分析。
图形分析和算法
随着数据变得越来越相互关联,系统越来越复杂,利用我们数据中丰富和不断变化的关系是非常重要的。如果你已经在使用图形数据库,这是一个很好的时机,可以在你的实践中加入图形分析,以揭示数据的结构和预测模式。
在这个最高层次上,图形分析被应用于理解或预测动态群体的行为。这需要了解一个群体的连接和拓扑结构。图算法通过使用专门为使用连接而开发的数学,通过其连接来检查网络的整体性质来完成这一任务。通过这种方法,我们可以理解连接系统的结构并对其过程进行建模。
利用图,我们可以对从金融市场到IT服务的动态环境进行建模,为机器学习找到更多的预测元素以打击金融犯罪,或者为个性化的体验和建议发掘社区。图分析法帮助我们推断关系和预测行为。
图谱算法的类别
图谱算法提供了分析连接数据的最有效方法之一,因为其数学计算是专门为操作关系而建立的。 有许多类型的图算法和类别。 三个经典类别考虑了图的整体性质:寻路、中心性和社区检测。然而,其他图算法,如相似性和链接预测算法,考虑并比较具体的节点。
- 寻路(和搜索)算法是图分析和算法的基础,探索节点之间的路线。这些算法被用来确定最佳路线,用于物流规划、最低成本路由和游戏模拟等用途。
- 中心性算法帮助我们了解图中单个节点的作用和影响。它们很有用,因为它们能确定最重要的节点,并帮助我们了解群体的动态,如可信度、可及性、事情传播的速度和群体之间的桥梁。
- 社区算法评估相关的笔记集,找到成员在组内有更多关系的社区。识别这些相关的集合揭示了节点的集群、孤立的群体和网络结构。这有助于推断同行群体的类似行为或偏好,估计复原力,找到嵌套关系,并为其他分析准备数据。
- 相似性算法着眼于单个节点的相似程度。 通过比较节点的特性和属性,我们可以确定最相似的实体并对差异进行评分。这有助于建立更加个性化的推荐,以及开发本体和层次结构。
- 链接预测算法考虑了节点的接近程度以及结构元素,如节点之间的潜在三角形,以估计新关系形成的可能性或存在未记录的连接。 这类算法有很多应用,从药物再利用到犯罪调查。
将图形分析应用于《权力的游戏》中
现在,让我们深入研究在每个人最喜欢的奇幻剧《权力的游戏》的数据集上应用图算法。
NEuler--图算法的游乐场
我们将使用NEuler Graph Algorithms Playground Graph App来完成这项工作。NEuler提供了一个直观的用户界面,让用户无需输入任何代码就能执行各种图算法。这是一个Neo4j实验室的项目,帮助人们快速熟悉图算法并探索有趣的数据。 关于该应用的更多信息,包括安装说明,可在发布的博文中找到。
一旦NEuler安装完毕,我们就需要加载《权力的游戏》样本图,如下面的打印屏幕所示。

这个数据集是基于Andrew Beveridge的《权力的网络》,包含了不同季节的人物和他们的互动。
分析《权力的游戏
数据集加载完毕后,我们准备开始分析它。 我们的重点是这部电视剧的第二季,但我们会偶尔展示其他季节的结果以进行比较。
我们将使用社区检测算法来寻找维斯特洛的用户集群,并使用中心度算法来寻找最重要和最有影响力的人物。
Louvain模块化算法检测网络中的社区,基于启发式的最大化模块化分数。(模块化分数的范围是-1和1,作为社区内部关系密度与外部社区关系密度的衡量标准)。如果我们对《权力的游戏》第二季的数据集进行运行,并将输出格式可视化,我们会看到下面的图表。

在左上角的紫色群组中,我们可以看到丹妮莉丝群组是独立的,与其他所有人断开了联系。该群组中的人没有与其他任何人互动。我们最初认为数据或算法一定有问题,于是运行了另一种社区检测算法--连接成分,以证实我们的发现。
连接部件算法是一种社区检测算法,它根据用户之间是否有任何路径来检测用户集群。如果我们运行该算法,我们会看到下面的可视化图。

在这里,我们只有两个社区:左边是丹妮莉丝的社区,右边是绝大多数其他角色。这证实了我们从鲁文模块化算法中的发现,如果我们把记忆延伸到第二季,我们会记得丹妮莉丝是在一个远离其他主要角色的岛上。
分析社区结构的另一种方法是计算一个用户所处的三角形的数量。该图中的三角形意味着角色A与角色B互动,角色B与角色C互动,而角色C与角色A互动。
如果我们运行三角形计数算法并选择表格输出格式,我们会看到以下输出。
我们也会注意到,这个算法会返回一个系数分数。这个聚类系数衡量我们的邻居与他们可能的最大连接程度相比有多大。1分表示我们所有的邻居都互相影响。因此,虽然乔佛里在整体三角形上得分很高(邻居互动的原始数量),但我们注意到,小指头和珊莎的邻居有更高的连接概率(聚类系数)。
接下来,我们将使用中心性算法来寻找重要人物。
中心性算法
最简单的中心性算法是程度中心性,它衡量与一个节点相连的关系数量。我们可以用这种算法来寻找有最多互动的人物。
当我们运行该算法时,我们会看到以下输出。

乔佛里和提利昂与最多的人互动,这告诉我们该剧第二季主要以这些角色为基础。这并不一定意味着这些人是最有影响力的角色,但他们肯定是那些说话多的人
Betweenness Centrality算法检测的是一个节点对图中信息流的影响程度。它经常被用来寻找那些作为图中一个部分到另一个部分的桥梁的节点。
我们可以用这种算法来寻找与维斯特洛内部的子社区联系紧密的人。如果我们运行该算法并选择图表输出类型,我们将看到以下输出。
图表选项将在适用时显示,是观察许多中心性算法的好方法,其中排名比实际分数更重要。我们在这里看到,乔佛里从程度中心性的排名1下降到这里只有排名6,而艾莉亚从程度中心性的排名5上升到这里的排名1。在第二季中,艾莉亚在路上,她将作为一个桥梁节点,在与她互动的人和王国其他地方的人之间发挥作用。
我们也可以向前看一看第七季,看看事情有什么变化。
琼恩现在绝大部分是基于间性中心性排名最靠前的人物。他的得分是下一个人的两倍。他很可能充当了一群人之间的粘合剂,这些人除了与乔恩之外,不与核心群体之外的人互动。
另一个衡量重要性的方法是PageRank,它衡量整体,包括间接影响。它不仅能找到那些本身就很重要的人,还能找到那些与更有影响力的人互动的人。
对于上述PageRank结果,我们看到了一些熟悉的面孔--乔佛里和提利昂在 "程度中心 "方面也排名靠前,而艾莉亚在 "间隔中心 "方面排名靠前。请注意,对于其他数据集,特别是那些关系复杂的数据集,我们可能会看到中心度排名的更多变化。
现在让我们回到过去,比较一下在第一季中运行PageRank,它的输出结果如下。
奈德显然是这个阶段最有影响力的人物,但遗憾的是,这种情况并没有持续下去!通过对细分数据的比较结果(也许是按时间、地理或人口统计),我们可以揭示一个更深层次的故事。
最后,让我们通过展示如何在可视化输出格式中结合社区检测和中心度算法的结果来结束这篇文章。
下图根据节点的Louvain模块化集群给它们着色,并根据它们的PageRank得分来确定其大小。

现在我们不仅可以看到聚类,还可以看到某个聚类中最重要的人物。不出所料,我们得知丹妮莉丝是孤立集群中最重要的角色。我们还将看到其他一些熟悉的面孔,包括蓝色集群中的艾莉亚和泰温,黄色集群中的提利昂、瑟曦和乔佛里,以及绿色集群中的琼恩。
我们希望你在阅读这篇分析报告时能像我们在写这篇报告时一样开心。仅仅通过查看《权力的游戏》的元数据就能了解到这么多,这很吸引人。
如果你想了解更多关于图分析及其应用,你可以在O'Reilly Graph Algorithms一书的免费电子版中找到Spark和Neo4j的实际例子和工作代码。
关于作者。![]() | Mark Needham是Neo4j的图形倡导者和开发者关系工程师。他致力于帮助用户接受图和Neo4j,为具有挑战性的数据问题建立复杂的解决方案。马克在图形数据方面有很深的造诣,此前他曾帮助Neo4j建立因果聚类系统。他在他的热门博客markhneedham.com/blog上写下了他作为一个图形专家的经验,并在推特上@markhneedham。 |
![]() | Amy E. Hodler是一名网络科学爱好者,也是Neo4j的人工智能和图分析项目经理。她提倡使用图分析技术来揭示现实世界网络中的结构并预测动态行为。艾米帮助团队应用新的方法,在EDS、微软、惠普(HP)、日立物联网和Cray Inc.等公司产生新的机会。艾米热爱科学和艺术,对复杂性研究和图论非常着迷。她的推特是@amyhodler。 |
分享此页面
| 关于我们广告和服务隐私政策联系我们 | |
| 关注DB-Engines。 | Copyright © 2021 solid IT gmbh |
特色产品
最快的统一分析仓库,具有极大规模的数据库内机器学习。免费试用Vertica,没有时间限制。
SkySQL,终极的
MariaDB云,就在这里。
用于企业应用的现代数据库。快速构建。规模大。节省更多。
今天就开始吧。
利用Astra快速构建云原生应用程序,Astra是用于
现代数据应用程序的开源、多云堆栈。
以5GB的免费容量开始。
亲自看看图形数据库如何让你的生活更轻松。
免费在线使用Neo4j。

