我有一个包含大约10K顶点和100K边的 JUNG图,我想得到任意一对顶点之间相似性的度量。 顶点表示概念(例如狗,房屋等),链接表示概念之间的关系(例如相关,is_a,is_part_of等)。
顶点密集地相互关联,因此最短路径方法不会产生良好的结果(最短路径总是非常短)。
您建议采用哪种方法对顶点之间的连接进行排名?
JUNG有some algorithms来评估顶点的重要性,但我不明白两个顶点之间是否存在相似性度量。 SimPack似乎也很有希望。
任何提示?
答案 0 :(得分:2)
centrality
分数不测量顶点对的相似性,而是测量网络中单个节点的某种(取决于方法)中心性。因此,这种方法可能不是你想要的。
SimPack
确实有一个很好的目标,但对于图形,它实现了基于同构的比较,而不是比较多个图的相似性而不是一个给定图的节点对。因此,现在这已超出范围。
您所寻求的是所谓的graph clustering
方法(也称为网络模块确定或网络社区确定方法),它将图(网络)划分为多个分区,以便每个分区中的节点与其他分区的节点相比,彼此之间的互联性更强。。
最经典的方法可能是Newman&的中介集中性聚类。 Girvan,您可以利用dendrogram进行相似度计算,is in JUNG。当然,现在有很多方法。您可能想尝试(无耻插件)我们的ModuLand method,或者在Electronic Supplementary Material的末尾阅读模块检测算法的精确表格。这是一个overlapping graph clustering
方法族,即每个节点的结果是包含属于任何相应网络集群的强度的向量。成对节点相似性很容易从这些节点到簇的矢量对中推导出来。
图形聚类非常重要,您可能需要针对非常精确的特定领域结果调整任何方法,但这取决于读者;)祝你好运!