修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

搜索
    中文

      重叠相似度

      ✓ 文件回写 ✕ 属性回写 ✓ 直接返回 ✓ 流式返回 ✕ 统计值

      概述

      重叠相似度(Overlap Similarity)是杰卡德相似度的一种延申,也叫 Szymkiewicz–Simpson 系数。它用两个集合的交集大小除以两个集合中较小的集合的大小,以此来表示两个集合的相似程度。

      重叠相似度的取值范围 0 到 1;1 意味着其中一个集合是另一个集合的子集或两个集合完全一样,0 意味着两个集合没有任何共同元素。

      基本概念

      重叠相似度

      已知集合 A 和 B,它们之间的重叠相似度可以表示为:

      在下面的例子中,集合 A = {b,c,e,f,g},集合 B = {a,d,b,g},它们的交集 A⋂B = {b,g},因此它们之间的重叠相似度为 2 / 4 = 0.5

      邻居集合

      在 Ultipa 的重叠相似度算法中,收集两个目标节点的邻居集合用于计算其相似度时需注意以下几点:

      • 邻居集合中没有重复的节点;
      • 忽略自环边;
      • 忽略两个目标节点之间的边;
      • 忽略边方向。

      上图中,当计算节点 u 和节点 v 间的重叠相似度时,它们的邻居集合分别为 Nu = {a,b,c,d,e} 以及 Nv = {d,e,f},它们的重叠相似度为 2 / 3 = 0.6667

      在实践中,为了计算基于共同邻居的相似性指标,就像重叠相似度,有时可能需要将一些点属性转换为点 Schema。例如,当考虑两个申请之间的相似性时,申请的电话号码、邮箱、设备 IP 等信息可能是存储为 @application 类型的点的属性的。如果要使用这些信息来度量相似性,则应将它们设计为节点加入图中。

      语法

      • 命令:algo(similarity)
      • 参数:
      名称
      类型
      规范
      默认
      可选
      描述
      ids / uuids []_id / []_uuid / / 待计算的第一组节点的 ID / UUID
      ids2 / uuids2 []_id / []_uuid / / 待计算的第二组节点的 ID / UUID
      type string overlap cosine 相似度衡量指标;计算重叠相似度时,保持此项为 overlap
      limit int >=-1 -1 返回的结果条数,-1 返回所有结果
      top_limit int >=-1 -1 限制 top_list 的长度,-1 返回完整的 top_list

      本算法有两种计算模式:

      1. 配对:同时配置了 ids/uuidsids2/uuids2 时,将第一组与第二组中的节点两两配对(笛卡尔乘积),逐对计算相似度。
      2. 选拔:仅配置 ids/uuids 时,对于每一个节点,计算其与图中其他所有节点的相似度,目的是选拔与其最相似的节点,返回的 top_list 包含所有与其相似度大于 0 的结果并按相似度降序排列。

      示例

      示例图如下:

      文件回写

      计算模式 配置项 回写内容
      配对 filename node1,node2,similarity
      选拔 filename node,top_list
      algo(similarity).params({
        ids: "userC",
        ids2: ["userA", "userB", "userD"],
        type: "overlap"
      }).write({
        file:{ 
          filename: "sc"
        }
      })
      

      结果:文件 sc

      userC,userA,0.25
      userC,userB,0.5
      userC,userD,0
      
      algo(similarity).params({
        uuids: [1,2,3,4],
        type: "overlap"
      }).write({
        file:{ 
          filename: "list"
        }
      })
      

      结果:文件 list

      userA,userC:1.000000;userB:0.500000;userD:0.333333;
      userB,userC:1.000000;userA:0.500000;userD:0.500000;
      userC,userA:1.000000;userB:1.000000;
      userD,userB:0.500000;userA:0.333333;
      

      直接返回

      计算模式
      别名序号
      类型
      描述
      列名
      配对 0 []perNodePair 各点对及相似度 node1, node2, similarity
      选拔 0 []perNode 各点及其选拔结果 node, top_list
      algo(similarity).params({ 
        uuids: [1], 
        uuids2: [2,3,4],
        type: "overlap"
      }) as overlap
      return overlap 
      order by overlap.similarity desc
      

      结果:overlap

      node1 node2 similarity
      1 3 1
      1 2 0.5
      1 4 0.333333333333333
      algo(similarity).params({
        uuids: [1,2],
        type: "overlap",
        top_limit: 1
      }) as top
      return top
      

      结果:top

      node top_list
      1 3:1.000000,
      2 3:1.000000,

      流式返回

      计算模式
      别名序号
      类型
      描述
      列名
      配对 0 []perNodePair 各点对及相似度 node1, node2, similarity
      选拔 0 []perNode 各点及其选拔结果 node, top_list
      algo(similarity).params({ 
        uuids: [3], 
        uuids2: [1,2,4],
        type: "overlap"
      }).stream() as overlap
      where overlap.similarity > 0
      return overlap
      

      结果:overlap

      node1 node2 similarity
      3 1 1
      3 2 1
      algo(similarity).params({
        uuids: [1],
        type: "overlap",
        top_limit: 2
      }).stream() as top
      return top
      

      结果:top

      node top_list
      1 3:1.000000,2:0.500000,
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写