在链接图表中检测社区

您可以使用基于知识图谱的链接图表来检测社区,以找到彼此之间紧密连接且与其他社区中的实体连接松散的实体。 社区是根据链接图表中当前存在的实体检测的,而不是根据整个知识图谱中的内容来检测的。

社区检测算法可帮助您可视化使用其他分析方法可能无法发现的密切相关实体组。 社区可以显示社交网络中有影响力的群组、科学合作和研究模式、基于共享联系而更有可能相互认识的个人等等。

一个社区可以有一个实体作为成员。 您的分析还可以识别与网络其余部分隔离的实体。

下面描述了计算社区、自定义方法参数和探索结果的方法。

社区检测方法

基于知识图谱的链接图表有六种社区检测方法:Louvain、Girvan-Newman、双连通、弱连接、强连接和标签传播。 从社区表视图 社区检测检测方法下拉列表中选择方法。 一次只能使用一个方法。

Louvain

Louvain 社区检测方法是一种等级聚类算法,用于检测大型网络中的社区。 该方法评估社区中实体的紧密连接程度,并将结果与随机网络中实体的连接程度进行比较。 此方法是打开“社区”表时的默认方法。

如果社区内的关系比随机网络中的关系更紧密,则模块化是积极的。 随着社区中的关系更加紧密,模块化增加。

该方法首先通过优化模块化来检测小型社区。 模块化是衡量节点如何划分为社区的质量。 如果社区内的关系比随机网络中的关系更紧密,则模块化是积极的且实体被放置在社区中。 社区中的关系越紧密,模块化得分越高。

该过程反复重复,通过随机社区分配评估规模不断扩大的社区。

Girvan-Newman

Girvan-Newman 社区检测方法通过考虑将社区相互连接的关系的中介等级来标识社区。 计算图中所有实体之间的最短路径,计算所有遍历关系的中介中心性。 连接不同社区的关系具有最高的中介中心性,因为它们必须被最频繁地遍历才能从一个社区到另一个社区。

去除具有最高中介中心性的关系,并重复该过程。 随着中心关系的消除,社区变得更加清晰。 关系被迭代地删除,直到所有剩余的关系都具有相同的中介中心性。

对于非常大的链接图表,此过程可能需要很长时间。

双连通

双连通方法可在网络中找到相互连接的社区。 通过关系连接的两个实体是同一个社区的一部分。 如果关系允许您从一个实体转到另一个实体,并且在删除社区中的一个关系后仍然如此,则其他实体属于同一社区。 每个实体可以属于许多社区。

带三个相互连接社区的链接图表

在此示例中,C 是所有三个社区的一部分,因为它与每个社区中的实体都有关系。 实体 A、B 和 C 形成一个社区,因为它们每个都相互连接,并且当它们之间的关系之一被删除时,它们仍然保持相互连接。 当 C 与 D 或 C 与 E 或 C 与 F 之间的关系被删除时,D、E 和 F 分别不再与 A 和 B 连接,因此它们不属于 A、B 和 C 社区。

弱连接

弱连接社区是所有实体通过路径相互连接的社区。 不考虑链接图表中实体之间关系的方向;也就是说,链接图表被评估为无向图。

带两个弱连接社区的链接图表

在此示例中,有两个弱连接社区。 A、B、C、D、E 和 F 形成一个社区,X、Y 和 Z 形成另一个社区。 这些社区中的每一个都具有连接所有实体的关系。 没有任何关系将 X、Y、Z 社区与 A、B、C、D、E、F 社区连接起来。

如果图中的每个实体都以某种方式连接到每个其他实体,则整个图是弱连接的。

强连接

强连接社区是在考虑关系的方向时社区中的所有实体都相互连接的社区。 也就是说,链接图表被评估为有向图。

这意味着,如果您从社区中的任何地方开始并追踪遵守每个关系方向的路径,您就可以到达到社区中的所有实体。

带一些强连接社区的链接图表

在此示例中,X、Y、Z 社区和 A、B、C、D 社区紧密连接,因为您可以从任一社区中的任何实体开始,并遵循定向关系到达所有其他实体。

E 和 F 是他们自己的社区,因为它们与任何其他实体没有紧密的连接。 您可以从 A、B、C、D 社区到达 F,但您无法从 F 到达更大的社区。 同样,您可以从 E 到达 A、B、C、D 社区,但无法从更大的社区到达 E。

标签传播

标签传播方法是一种基于信息在图形中移动的方式来确定社区的算法。 首先,实体被分配一个标签。 然后,随机选择的实体评估其邻居并确定其大多数邻居使用哪个标签。 实体更新其标签以匹配其大多数邻居拥有的标签。 实体评估其邻居并更新其标签的过程会一次又一次地重复。

经过几次迭代后,标签往往会在紧密连接的社区中占据主导地位,并且难以跨越到图中连接较少的其他区域。 使用的迭代次数越多,标签从紧密连接社区跨越到弱连接社区的机会就越大。 当每个节点都具有其大多数邻居都具有的标签时,即使指定的迭代次数尚未完成,算法也会结束。

每次使用标签传播方法时,可以根据用于执行分析的选项生成不同的社区组。 您可以更改用于初始化算法使用的随机数生成器的种子数、生成的解决方案数量以及用于生成每个解决方案的算法迭代次数。

社区表显示了多次运行产生的所有解决方案的聚合。 您可以通过使用 Solution 字段对社区表进行排序来查看每次运行的结果。 默认情况下,会生成 20 个种解决方案。 第一次运行的结果与分区 0 相关联,第二十次运行的结果与表中的分区 19 相关联。

可用的设置允许您确定标签传播方法的一些参数。 单击社区表顶部工具栏上的选项按钮,然后单击标签传播标题。

打开社区表

默认情况下,链接图表中实体的社区是使用 Louvain 方法确定的,并在社区表 社区检测 中进行了描述。 使用检测方法下拉列表评估使用另一种方法的社区。 表中的所有行都将更新以显示新社区结果的属性。

表格每个社区都有一行。 每个社区的属性显示在表的不同字段中:

  • Solution- 仅在选中显示解决方案列选项时显示标签传播方法;默认情况下选中该选项。 此字段为标签传播方法生成的每个解决方案提供标识符。
  • Community— 对于除标签传播之外的所有社区检测方法,此字段显示社区的标识符,默认情况下用于对表中的行进行排序。 对于标签传播方法,此列显示一个值,该值标识由此方法生成的一个解决方案中的社区。
  • Count— 社区中的实体数量。
  • Entity— 社区中每个实体的显示名称。 默认情况下会列出前五个实体。 如果社区包含五个以上的实体,您可以通过单击列表底部的 + 更多来显示其他实体。 单击 -更少以显示更少的实体。
  • Type— 社区中每个实体的实体类型。 默认列出前五个实体的类型。 当列表中显示更多实体时,其对应的实体类型也会列在 Type 列中。 单击类型列表底部的 +更多以显示其他实体类型。 单击 -更少以显示更少的实体类型。

要在链接图表中查看实体的社区,请完成以下步骤:

  1. 在功能区链接图表选项卡的分析组中,单击社区 社区检测

    随即打开社区表 社区检测。 社区表视图选项卡上显示的名称将标识为其计算了社区的链接图表。 默认使用 Louvain 方法。 默认情况下,将使用 Community 字段对表中的行进行排序。

    社区表描述了链接图表中紧密相关的实体组。

  2. 单击检测方法下拉列表,然后单击另一种评估社区的方法。

    重新评估链接图表中的社区,并更新表中的行以表示结果。

包含文档

默认情况下,即使社区存在于链接图表中,在检测到社区时也不考虑文档实体;但是,您可以在计算中包含文档实体。 例如,您可以确定连接到某些实体的文档是否也属于这些社区。

  1. 选中或取消选中社区表顶部工具栏上的包含文档复选框。
    • 选中 - 检测社区时包含文档实体。 文档将根据所选方法被考虑并包含在各自的社区中。

    • 未选中 - 在检测社区时排除文档实体。 文档不会被考虑或包含在社区中。 这是默认设置。

社区表会自动更新以反映对此设置的更改。 文档实体被添加到表中或从表中删除,并且社区会自动重新计算。

在链接图表中标识社区

当在社区表中选择一行或多行时,由这些行定义的社区中的所有实体都会在表的 Entity 字段和关联的链接图表中被选中。 单击行号或 CommunityCountSolution 字段中的值以选择表中的一行。

您可以单击 Entity 字段中的一个或多个单独的实体进行选择。 同样,如果在链接图表中选择了实体,则它会在相应的社区表的 Entity 字段中被选中。 使用标签传播检测方法,实体可以出现在社区表中的多个行中,并且在它出现的所有行中都被选中。

您可以单击 Type 字段中的实体类型以选择社区中该类型的所有实体。

  1. 单击社区表中的行以选择该社区中的实体。

    Entity 字段和链接图表中选择相应的实体。

    在社区表和链接图表中选择社区中的实体。

  2. 单击 Type 字段中的类型以选择社区中该类型的所有实体。

    Entity 字段和链接图表中选择相应的实体。

    在社区表和链接图表中选择社区中的指定类型实体。

  3. 单击 Entity 字段中的实体以将其选中。

    实体在 Entity 字段和链接图表中被选中。

    在社区表和链接图表中选择特定实体。

  4. 单击 Entity 字段中实体列表底部的 +更多Type 字段类型列表底部以查看社区中的所有实体和类型。
  5. 单击 Entity 字段中实体列表底部的 -更少Type 字段类型列表底部以查看社区中的更少实体和类型。

在社区表中搜索实体

哪个社区包含感兴趣的实体可能并不明显。 您可以搜索实体以在社区表视图中选择它。

  1. 单击社区表顶部工具栏上的搜索文本框。
  2. 在链接图表中输入实体的显示名称。

    社区表中的行会自动过滤以仅显示其显示名称与您输入的名称匹配的实体。 表中仅显示表示已过滤实体的行。

    在搜索文本框中输入实体的显示名称以在社区表中搜索实体。

  3. 选择包含您感兴趣的实体的社区。
  4. 单击搜索文本框中的删除按钮 删除 以清除搜索并查看社区表中的所有行。

    社区中的所有实体都可见并保持选中状态。 所有社区都在表中可见。

过滤社区表中显示的实体类型

默认情况下,社区表包括链接图表中的所有实体类型。 对于大型链接图表,该表可能会显示过多信息,无法进行处理。 可以过滤表中显示的类型以仅显示在各自社区中的指定实体类型。

  1. 单击社区表顶部工具栏中的类型按钮 类型过滤器

    随即显示一个下拉列表,其中包含知识图谱中的所有实体类型,即使链接图表中没有该类型的实体。 将默认选中所有实体类型。

  2. 在下拉列表中,选中在社区表中需要的实体类型。 取消选中您不想在表中需要的实体类型。 如果未在列表中看到,请键入实体类型的名称;将自动过滤实体类型列表,可以在已过滤的列表中选中或取消选中相应实体类型。

    所选实体类型的总数将显示在工具栏上的类型按钮旁边。

社区表中的实体将自动更新。 与选中的实体类型关联的实体出现在表中。 与未选中的实体类型关联的实体将从表中删除。

重新计算社区

当最初打开链接图表的社区表时,会检测到社区并在表底部显示一条消息,指示社区是最新的。

在链接图表中添加或删除实体和关系后,之前检测到的社区可能不再反映链接图表的内容。 社区表将在底部显示一条消息,指示社区已过期。

  1. 在社区表视图的底部,单击刷新按钮 刷新

    从社区表中删除所有行并重新计算新社区。

表底部的消息表明社区是最新的。

设置标签传播选项

标签传播方法允许您对在链接图表中检测社区的过程进行一些控制。

您可以确定此方法产生了多少解决方案,以及用于开发每个解决方案的迭代次数。 此外,可以提供种子数来初始化算法中使用的随机数生成器。 使用不同的种子值,可以产生不同的解决方案。

选项面板中选择设置后,更新社区表以重新计算社区。

  1. 单击社区表顶部工具栏中的选项按钮 选项

    选项面板随即显示。

  2. 选项面板中,单击标签传播标题以查看可用设置。
  3. 随机数生成器的种子文本框中,键入一个值。

    默认设置为零。

  4. 解决方案数文本框中,键入运行算法以生成链接图表的一组社区的次数。

    默认设置为 1。

    解决方案数为 1 时,为链接图表生成一组社区。 这些社区与 Solution 字段中的零值相关联。 当解决方案数为 10 时,为链接图表生成 10 组社区,第十次运行的社区与 Solution 字段中的值 9 相关联。

  5. 迭代次数文本框中,输入用于确定标签传播算法生成的一个解决方案的最终社区组的最大迭代次数。

    默认设置为 1,000。

  6. 显示解决方案列复选框允许您选择是否可以对发现的社区进行排序以评估每次运行或算法产生的解决方案。
    • 选中 - 显示 Solution 字段。 这是默认设置。
    • 未选中 - 不显示 Solution 字段。
  7. 在社区表视图的右下角,单击刷新按钮 刷新 以查看更新的结果。