You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于NetworkX特定有向图的A类节点相似度计算可用指标问询

适用于A-B参考关系图的A类节点相似度计算方法

针对你描述的A类节点指向B类节点、B无出边、A无入边的参考关系图,除了基础文献耦合外,还可以用以下几种相似度计算方法:

  • 加权文献耦合
    普通文献耦合仅统计共同B节点的数量,加权版本给不同B节点赋予差异化权重——比如被越少A节点指向的B,权重越高(类似TF-IDF的逆文档频率思路),能突出稀有参考节点对相似度的贡献。
    计算逻辑:先统计每个B节点的入度(即有多少A指向它),权重设为1/log(1 + 入度),然后累加A1和A2共同指向的B节点的权重之和。
    在NetworkX中可自行实现:遍历A节点的出邻居集合,结合B节点的入度数据计算。

  • Jaccard系数
    是文献耦合的归一化版本,消除了A节点自身参考数量差异的影响,计算共同B节点数占两个A节点所有参考B节点并集的比例。
    公式:J(A1,A2) = |N(A1) ∩ N(A2)| / |N(A1) ∪ N(A2)|(N(A)为A指向的B节点集合)。
    可通过NetworkX的nx.jaccard_coefficient实现,需先将有向图转换为无向二分图处理,或自行提取出邻居集合计算。

  • 余弦相似度
    将每个A节点映射为B节点空间的二进制向量(某B被指向则对应维度为1,否则为0),计算两个向量的余弦夹角。
    公式:cos(A1,A2) = (N(A1) · N(A2)) / (||N(A1)|| * ||N(A2)||),分子是共同B节点数,分母是两个A的参考数量的平方根乘积。
    可使用NetworkX的nx.cosine_similarity,或结合numpy手动实现向量运算。

  • 重叠系数
    更适合对比参考规模差异较大的A节点,计算共同B节点数占两个A节点中较小参考集合的比例。
    公式:O(A1,A2) = |N(A1) ∩ N(A2)| / min(|N(A1)|, |N(A2)|)。
    无现成NetworkX函数,但可通过提取出邻居集合快速实现。

  • Dice系数
    与Jaccard类似,但对共同参考节点的权重更高,公式:D(A1,A2) = 2*|N(A1) ∩ N(A2)| / (|N(A1)| + |N(A2)|),结果范围同样在0-1之间。

方法对比参考

  • 若需突出稀有参考节点的价值:选加权文献耦合
  • 若需消除自身参考规模的影响:选Jaccard或余弦相似度
  • 若需重点关注小参考集合的重叠程度:选重叠系数

内容的提问来源于stack exchange,提问作者Red Boraley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 10:48:19