# 选题推导系统策略分析报告(create_process_v2) ## 1. 系统概述 选题推导系统(增量剪枝版)是一个基于图数据库游走的内容选题生成系统,通过增量路径扩展和逐轮剪枝的方式,从人设数据中推导出高质量的内容选题。 ## 2. 核心策略分析 ### 2.1 路径推导机制 #### 2.1.1 增量扩展策略 - **增量式路径构建**:路径从单点开始,每轮在现有路径末端叠加新点,逐步延长 - **路径生长模式**:`["点A"] → ["点A", "点B"] → ["点A", "点B", "点C"] → ...` - **优势**: - 避免一次性生成完整路径的组合爆炸问题 - 可以在每轮及时评估和剪枝,减少无效计算 - 支持动态路径长度,适应不同的扩展情况 #### 2.1.2 广度优先遍历(BFS) - **全局候选池机制**: - 每轮所有保留路径同时向前扩展 - 所有路径的候选结果放入同一个全局候选池 - 从全局候选池中选择Top-K条最优路径 - **路径竞争机制**: - 不同路径之间竞争Top-K名额 - 表现好的路径可能有多个分支进入Top-K - 表现差的路径可能完全被淘汰 - **优势**: - 避免局部优化,确保全局最优 - 自动淘汰低质量路径分支 - 平衡探索广度和深度 #### 2.1.3 路径独立性原则 - **严格独立性**:每条路径的探索过程完全独立,只使用自己探索得到的数据 - **实现机制**: - 即使多条路径的末端点相同,也分别调用工具探索 - 通过`from_path_id`字段严格关联候选点与源路径 - 不允许不同路径共享探索结果 - **目的**: - 确保路径推导过程的可追溯性 - 避免数据污染和混淆 - 保证每条路径的完整性和独立性 #### 2.1.4 循环避免策略 - **禁止重复点**:路径中不允许出现重复的点 - **实现方式**:在添加新点之前,检查该点是否已在路径中出现 - **目的**:防止A→B→A这样的循环结构,确保路径的有向性 ### 2.2 数据抽象层次 #### 2.2.1 点与元素的区分 - **点(Point)**:图数据库中的节点,具有完整的路径名称 - 示例:`灵感点_情绪>积极>兴奋` - 包含:点名称、点类型、维度、元素列表 - **元素(Element)**:点的组成部分,具体的语义标签 - 示例:点`灵感点_情绪>积极>兴奋`的元素为`["情绪", "积极", "兴奋"]` - 来源:从点的`elements`字段中提取的key列表 - **优势**: - 点提供结构化的路径表示 - 元素提供细粒度的语义单元 - 分层抽象便于不同层次的处理 #### 2.2.2 笛卡尔积关系 - **组合空间**:路径中各点的元素列表形成笛卡尔积组合 - **示例**: - 点A元素:["情绪", "积极"] (2个) - 点B元素:["教育", "科普"] (2个) - 点C元素:["呈现", "视觉"] (2个) - 组合空间:2×2×2 = 8种可能组合 - **应用**:选题生成时从这些组合中推导最优内容方向 - **优势**:提供丰富的语义组合空间,支持多样化的选题生成 ### 2.3 评估与剪枝策略 #### 2.3.1 两层评估机制 **评估维度1:矛盾检测** - 检查路径中是否存在语义冲突 - 矛盾规则示例: - {"室内场景"} 与 {"户外景观"} 互斥 - {"严肃风格"} 与 {"搞笑氛围"} 互斥 - {"静态展示"} 与 {"动态演绎"} 互斥 - 判定逻辑:存在矛盾→不保留,无矛盾→通过 **评估维度2:人设风格检查** - 检查新点是否符合人设树中的高权重特征和常量点 - 评判标准: - 新点元素是否与常量点相关 - 新点风格是否与高权重特征一致 - 新点是否偏离核心人设定位 - 判定逻辑:符合人设→通过,不符合→不保留 #### 2.3.2 全局剪枝机制 **三步剪枝流程**: 1. **收集全局候选池** - 遍历所有旧路径,收集所有通过评估的扩展路径 - 形成全局候选池(可能包含数百条候选路径) 2. **全局排序** - 优先级1:新增点的置信度(降序) - 优先级2:路径深度(降序) - 优先级3:三点齐全程度(降序) 3. **保留Top-K** - 从全局排序结果中选择前K条路径 - 丢弃其余路径 **优势**: - 全局视角确保选择最优路径 - 自动淘汰低质量分支 - 控制计算复杂度 #### 2.3.3 增量评估策略 - **评估对象**:仅评估"在已有路径A上叠加点B"的合理性 - **非评估对象**:不从头评估整条路径 - **优势**: - 减少重复计算 - 提高评估效率 - 聚焦于新增点的合理性 ### 2.4 终止策略 #### 2.4.1 两个终止条件 1. **达到最大轮次**:`loop >= MAX_ROUNDS` 2. **无法继续扩展**:`edges_to_explore`为空或所有路径都无新候选点 #### 2.4.2 非终止条件 - **三点齐全**:不作为终止条件,而是作为探索策略的调整依据 - **实质支撑**:不作为终止条件 #### 2.4.3 灵活终止机制 - 路径可能在达到MAX_ROUNDS之前停止扩展 - 最终路径长度可能从3到MAX_ROUNDS不等 - 适应不同的图结构和数据密度 ### 2.5 探索策略优化 #### 2.5.1 三点齐全导向策略 - **触发条件**:路径已包含灵感点、目的点、关键点各至少一个 - **策略调整**: - 优先探索维度为"实质"的点 - 在候选点排序时给"实质"维度更高权重 - 仍可探索其他维度的点 - **未齐全时**: - 优先探索缺失类型的点 - 不限制维度 #### 2.5.2 目的 - 引导路径向更完整的结构发展 - 确保路径包含必要的实质层面支撑 - 提高最终选题的质量和可行性 ## 3. 工作流程结构 ### 3.1 第0轮:初始化(一次性) **步骤**: 1. 初始化状态变量 2. 提取常量点作为起始点 3. 调用工具获取初始关联点 4. 准备第一轮探索 **关键机制**: - 从人设树中提取所有`_is_constant`为true的常量点 - 对每个常量点调用`search_point_by_element_from_full_all_levels`获取关联点 - 每条路径初始只包含一个点 - 记录点的完整信息(点名称、类型、维度、元素列表、置信度) ### 3.2 第N轮:循环推导(N≥1) **步骤**: 1. 从保留的边出发,探索新关联点 2. 增量评估与剪枝 3. 准备下一轮探索 4. 检查终止条件 **关键机制**: - 对每条路径的末端点调用`search_point_by_path_from_full_all_levels` - 对探索到的关联点再次调用工具获取其元素信息 - 构建候选路径并过滤循环 - 增量评估每条候选路径 - 全局剪枝保留Top-K ### 3.3 第三阶段:选题生成 **步骤**: 1. 过滤有效路径(必须满足三点齐全+实质支撑) 2. 解析路径为选题(基于笛卡尔积) 3. 输出选题列表和执行摘要 **关键机制**: - 提取路径中的点信息并按类型分组 - 从点的元素字段提取具体元素值 - 生成核心元素组合(每个元素标记来源点和置信度) - 基于元素组合生成完整的选题描述、创作角度、预期效果 ## 4. 策略优势分析 ### 4.1 计算效率 - **增量扩展**:避免组合爆炸,逐步构建路径 - **逐轮剪枝**:及时淘汰低质量路径,减少无效计算 - **全局Top-K**:控制每轮保留的路径数量,确保可控的计算复杂度 ### 4.2 结果质量 - **全局视角**:广度优先遍历+全局剪枝确保选择最优路径 - **多维评估**:矛盾检测+人设风格检查确保路径合理性 - **笛卡尔积组合**:提供丰富的语义组合空间,支持多样化选题 ### 4.3 可追溯性 - **路径独立性**:每条路径的推导过程完全独立,可完整追溯 - **来源标记**:明确记录每个点的来源方式(起始点关联/关联边游走) - **元素溯源**:每个元素都标记来源点和置信度 ### 4.4 灵活性 - **动态路径长度**:适应不同的图结构和数据密度 - **灵活终止**:两个终止条件覆盖不同场景 - **策略调整**:三点齐全导向策略动态调整探索方向 ## 5. 潜在问题与改进方向 ### 5.1 计算成本 **问题**: - 路径独立性原则导致重复调用工具(即使末端点相同) - 全局候选池可能包含大量候选路径(如20条旧路径×10个候选=200条) **可能改进**: - 考虑缓存机制,减少重复的工具调用 - 在不影响可追溯性的前提下,共享相同点的探索结果 - 动态调整Top-K值,根据候选池质量自适应调整 ### 5.2 评估机制 **问题**: - 矛盾规则需要人工定义,可能不完整或过于严格 - 人设风格检查的判定标准较为主观 **可能改进**: - 引入基于语义相似度的矛盾检测模型 - 使用量化指标(如相似度分数)代替二元判定 - 引入更细粒度的评分机制,而非简单的通过/不通过 ### 5.3 路径多样性 **问题**: - 全局Top-K可能导致路径趋同,缺乏多样性 - 优先选择高置信度的路径,可能忽略创新性的组合 **可能改进**: - 引入多样性奖励机制,鼓励不同的路径组合 - 在Top-K选择时平衡质量和多样性 - 分层保留策略,确保不同类型的路径都有代表 ### 5.4 三点齐全策略 **问题**: - 三点齐全作为必要条件可能过于严格 - 某些高质量的两点组合可能被排除 **可能改进**: - 放宽必要条件,允许部分两点组合进入选题 - 引入不同的路径模式(如两点模式、四点模式) - 根据实际应用场景调整必要条件 ### 5.5 元素组合策略 **问题**: - 笛卡尔积可能产生大量无意义的组合 - 当前未充分利用元素之间的语义关系 **可能改进**: - 引入元素相关性分析,过滤无意义组合 - 基于元素共现频率优化组合选择 - 使用语义网络增强元素关系建模 ## 6. 总结 ### 6.1 核心特点 1. **增量式构建**:逐步扩展路径,避免组合爆炸 2. **广度优先遍历**:全局视角确保最优路径 3. **严格独立性**:路径推导过程完全可追溯 4. **两层评估**:矛盾检测+人设风格双重保障 5. **全局剪枝**:Top-K机制控制计算复杂度 6. **灵活终止**:适应不同的数据和场景 ### 6.2 适用场景 - 大规模图数据库的路径推导 - 需要可追溯性和可解释性的推荐系统 - 多约束条件下的内容生成任务 - 需要平衡探索广度和深度的搜索问题 ### 6.3 设计权衡 - **效率vs质量**:通过Top-K控制计算量,但可能损失部分多样性 - **独立性vs效率**:路径独立性保证可追溯性,但增加计算成本 - **严格性vs灵活性**:三点齐全+实质支撑保证质量,但可能过滤掉部分有价值的路径 ### 6.4 关键创新点 1. **路径独立性原则**:确保每条路径的推导过程完全独立和可追溯 2. **全局候选池+全局剪枝**:真正实现广度优先遍历,避免局部优化 3. **点-元素双层抽象**:支持不同粒度的处理和组合 4. **增量评估**:只评估新增点的合理性,避免重复计算 5. **动态探索策略**:根据路径完整度动态调整探索方向 --- **文档版本**:v1.0 **分析日期**:2026-03-16 **对应系统版本**:create_process_v2(增量剪枝版)