关于 embedding-fusion-strategy
用于设计知识图谱嵌入策略的技能,面向需要为下游任务选择表示方法的实践者。它指导粒度、语义与结构方法、融合方案及策略文档的制定。
主要功能
- 01盘点图数据与任务需求
- 02选择节点至社区的粒度
- 03选择语义与结构方法
- 04比较五种融合方案
- 05生成策略规格文档
适用场景
- 01规划实体检索嵌入
- 02设计图链接预测表示
- 03融合文本与拓扑信息用于检索
- 04制定嵌入、索引和更新方案
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lyndonkl/ claude --skill embedding-fusion-strategy安装后在 Claude Code 中输入/embedding-fusion-strategy确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
resources/embedding-catalog.mdmethodology.mdresources/evaluators/rubric_embedding_strategy.json详细介绍
目录
嵌入融合策略
工作流
复制此清单,并按步骤完成:
Embedding Fusion Strategy Progress:
- [ ] Step 1: Identify available features and data sources
- [ ] Step 2: Determine task requirements and success criteria
- [ ] Step 3: Select granularity level(s)
- [ ] Step 4: Choose semantic embedding approach
- [ ] Step 5: Choose structural embedding approach
- [ ] Step 6: Design fusion strategy
- [ ] Step 7: Produce embedding strategy specification
步骤 1:识别可用特征和数据源
盘点知识图谱中现有的信号:节点文本属性(名称、描述、类型)、边标签和属性、图拓扑(密度、直径、异质性),以及任何可用的外部文本语料或预训练模型。了解原始素材有助于确定哪些嵌入方案可行。有关嵌入类型的完整分类,请参阅 resources/methodology.md。
步骤 2:确定任务要求和成功标准
明确下游任务:实体检索、链接预测、问答、节点分类、推荐或子图匹配。不同任务适用的粒度和融合方法各不相同。制定评估指标(MRR、Hits@K、F1、延迟预算)。有关任务与方法的映射及选择标准,请参阅 resources/methodology.md。
步骤 3:选择粒度级别
使用粒度选择指南选择要嵌入的图级别。许多策略会结合多种粒度(例如,用于检索的节点嵌入,加上用于重排序的子图嵌入)。有关各级别的具体技术,请参阅 resources/embedding-catalog.md。
步骤 4:选择语义嵌入方法
选择捕捉基于文本的含义的方法:使用大模型编码器生成丰富的上下文嵌入,使用 Sentence-BERT 高效计算句子级相似度,或使用邻域文本描述获得上下文感知的语义。根据计算预算和时效性要求选择合适的方法。有关语义方法的详情和权衡,请参阅 resources/methodology.md。
步骤 5:选择结构嵌入方法
选择捕捉图拓扑的方法:使用 Node2Vec 灵活采样邻域,使用 DeepWalk 进行均匀随机游走,使用 GraphSAGE 对未见节点进行归纳学习,或使用位置编码捕捉图角色。根据图密度和更新频率选择合适的方法。有关完整的结构技术目录,请参阅 resources/embedding-catalog.md。
步骤 6:设计融合策略
使用融合方法之一组合语义和结构嵌入。关键决策包括:早期融合还是后期融合、对齐训练、维度管理,以及是否为每个实体维护多个向量。有关详细的融合设计方法(包括动态与静态方案的权衡及存储注意事项),请参阅 resources/methodology.md。
步骤 7:编写嵌入策略规范
使用输出模板记录完整设计。包括嵌入维度、训练流程、索引策略和更新机制。使用 resources/evaluators/rubric_embedding_strategy.json 进行自我评估。最低标准:平均分数 >= 3.0。
粒度选择指南
| 粒度 | 描述 | 使用场景 |
|---|---|---|
| 节点 | 将文本属性与局部结构上下文结合,嵌入单个实体 | 实体检索、节点分类、实体链接、推荐 |
| 边 | 嵌入关系,包括关系类型、端点上下文和边属性 | 链接预测、关系分类、三元组验证 |
| 路径 | 嵌入节点和边序列,以捕捉多跳模式和元路径语义 | 多跳推理、路径发现、可解释检索 |
| 子图 | 嵌入局部邻域(自我网络、模式),以捕捉社区结构 | 子图匹配、异常检测、社区感知检索 |
| 社区 | 嵌入簇或分区,以概括图中的高层区域 | 主题建模、粗粒度搜索、分层导航 |
融合方法
拼接
通过拼接组合语义向量和结构向量:v_fused = [v_semantic; v_structural]。方法简单且能保留所有信息,但会使维度加倍,并将两种信号视为相互独立。
适用场景:基线方法、快速原型开发,或下游模型能够学习权重时。
基于注意力的融合
学习语义和结构成分的权重:v_fused = alpha * v_semantic + (1 - alpha) * v_structural,其中 alpha 根据实体或查询进行学习。该方法可让模型强调信息量最大的信号。
适用场景:不同实体或查询的语义信号与结构信号相对重要性不同时。
对比对齐
使用对比损失(例如 InfoNCE)训练语义嵌入和结构嵌入,使同一实体的两种嵌入相互接近。由此生成共享嵌入空间,使两种视图保持一致,并支持跨模态检索。
适用场景:需要统一空间、跨模态搜索,或有可用于对齐的训练数据时。
后期融合/重排序
使用双编码器(分别进行语义检索和结构检索),然后通过同时考虑两种信号的交叉编码器进行重排序。这样可将快速候选生成与精确评分分开。
适用场景:大规模检索中,在查询时进行完整融合的成本过高;或延迟预算允许采用两阶段流水线时。
多向量表示
为每个实体保留多个嵌入(语义维度、结构角色、上下文变体)。使用最大相似度或注意力池化,将查询与最相关的维度进行匹配。
适用场景:具有多种角色或含义的实体、分面搜索,或单一向量会丢失过多信息时。
输出模板
EMBEDDING STRATEGY SPECIFICATION
=================================
Domain: [Knowledge graph domain and scale]
Task: [Primary downstream task(s)]
Success Metrics: [MRR, Hits@K, latency, etc.]
Granularity Level(s): [Node / Edge / Path / Subgraph / Community]
Semantic Approach:
- Method: [LLM encoder / Sentence-BERT / Description-based / etc.]
- Input: [What text is embedded]
- Dimension: [embedding size]
- Model: [specific model name/version]
- Update frequency: [static / periodic / real-time]
Structural Approach:
- Method: [Node2Vec / DeepWalk / GraphSAGE / Positional / etc.]
- Parameters: [walk length, dimensions, neighborhood size, etc.]
- Dimension: [embedding size]
- Update frequency: [static / periodic / incremental]
Fusion Strategy:
- Method: [Concatenation / Attention / Contrastive / Late Fusion / Multi-Vector]
- Final dimension: [fused embedding size]
- Alignment training: [loss function, training procedure if applicable]
- Rationale: [why this fusion approach for this task]
Indexing & Storage:
- Index type: [HNSW / IVF / flat / etc.]
- Vector database: [if applicable]
- Approximate nearest neighbor parameters: [ef, nprobe, etc.]
- Storage estimate: [total size]
Update & Maintenance:
- Recomputation strategy: [full retrain / incremental / streaming]
- Staleness tolerance: [how old before recompute]
- Incremental update mechanism: [if applicable]
NEXT STEPS:
- Implement embedding pipeline
- Train fusion/alignment if applicable
- Build ANN index and benchmark retrieval quality
- Validate end-to-end on downstream task
- Monitor embedding drift in production