构建Neo4j相似图时平均相似度得分过高是否存在异常问题?
问题结论
你目前得到的0.6-0.85区间的平均Jaccard相似度属于符合业务场景的正常结果,不存在项目逻辑问题,不需要过度担忧。
得分偏高的核心原因
- 场景天然属性:你所用的是围绕单一主题构建的Twitter垂直子图,所有纳入计算的Twitter账号本身就属于同个内容圈层,日常@、互动的账号重合度天然远高于Neo4j官方样例所用的通用稀疏数据集,Jaccard得分偏高是场景自带的特征。
- 预处理操作的叠加影响:你已经做的筛选边权大于1的关系、预聚合2-3跳关联生成
RELATED_TO关系、改为无向图这些操作,本质都是过滤弱关联、强化有效关联,会直接拉高匹配到的节点对的重合度,最终推高平均得分。
合理性验证方法
你可以手动抽取若干组相似度得分在0.7以上的账号对,核查他们的发推内容、@对象重合度、所属的内容圈层,如果和你的业务预期一致,就说明这个得分是完全合理的,不需要硬套官方样例低于0.5的阈值标准。
可选优化方向
如果确实需要拉低平均得分让相似度区分度更高,可以尝试两个调整:
- 投影图时扩大邻居维度,比如把话题标签、参与的话题节点也纳入投影,扩大每个节点的邻居池,降低重合占比
- 放宽边权过滤规则,保留更多弱关联的交互关系
如果当前得分已经可以满足你后续社区划分、相似账号推荐等业务需求,直接调整similarityCutoff阈值使用即可,不需要强行对齐通用样例的指标表现。
内容的提问来源于stack exchange,提问作者CowCookie
相关产品推荐
相关产品推荐

