SuperAPI AI 工具集

network-social-graph

数据与分析

查看项目

更新于 10-15 09:47

技能介绍

用途

该技能用于从对话数据中的回复链或父子关系构建并分析有向交互图。核心原则是:边代表回复,节点代表参与者,发起者与回应者之间的不对称性揭示社交结构——在推断关系之前,先测量图。

主要能力

  • 从对话数据中提取回复对,构建有向边(回复者 → 被回复内容的作者)。
  • 构建加权有向交互图,边权重为源到目标的交互次数。
  • 过滤无意义交互,通过最小权重和最小正文长度减少噪声。
  • 计算图级指标:密度、互惠性、入度/出度中心性、介数中心性、弱连通分量。
  • 提取目标用户的自我网络(ego network),包括直接对话者及其之间的连接。
  • 识别频繁对话者并按交互模式分类:平衡互惠、自我主导、对方主导、单向。
  • 在全局网络、自我层面和每个对话者三个层面测量互惠模式,并计算发起比率。
  • 检测受众依赖的语气变化,基于传播适应理论(CAT)比较用户对不同对话者的语言特征。
  • 在图足够大时运行社区检测。

使用方式

按十步工作流执行:

  1. 从对话数据提取回复对。
  2. 构建有向交互图。
  3. 过滤有意义交互。
  4. 计算图级指标。
  5. 提取目标用户的自我网络。
  6. 识别频繁对话者。
  7. 测量互惠模式。
  8. 检测受众依赖的语气变化。
  9. 运行社区检测(如果图足够大)。
  10. 将发现写入 docs/analysis/10-network-social-graph.md。

数据格式适配:列名可映射到实际数据,如 Reddit 导出(id、parent_id、author)、论坛导出(帖子 ID、reply_to 字段)、聊天导出(消息 ID、in_reply_to 或线程引用)。若父内容不在数据集中(已删除、来自其他导出或外部),边无法构建,需记录为“孤立引用”并报告数量。

过滤阈值取决于语料规模:交互少于100时 min_weight=1、min_body_length=5;100-500时 min_weight=2、min_body_length=10;500-2000时 min_weight=2-3、min_body_length=15;2000以上时 min_weight=3-5、min_body_length=20。

适用场景

  • 具有回复链或父子引用的对话数据(论坛帖子、评论树、消息存档)。
  • 需要识别用户的频繁对话者和交互模式。
  • 测量交互是互惠还是单向。
  • 检测用户是否因回复对象不同而改变语气、词汇或声音。
  • 从大型交互数据集中提取单个用户的自我网络。
  • 将交互模式输入下游人物画像或原型分析。

限制

  • 内容没有回复结构(独立文档、文章、无线程的评论)时不适用。
  • 仅需内容级分析(情感、主题建模)时不适用,应改用 NMF 或 VADER 技能。
  • 交互总数少于10条时数据不足,无法计算任何图指标。
  • 不能仅凭交互频率推断现实世界的个人关系。
  • 语气变化检测需要至少2个对话者,否则返回“对话者不足”。
  • 介数中心性计算对超过1000个节点的图开销较大,代码中已做限制。