智能分组算法
Intelligent Grouping Algorithm
基于时长、场景和角色重叠度的贪心分镜分组算法
子问题
1.双重约束贪心填装
2.场景切换断点检测
3.角色重叠度计算(Jaccard)
4.组时长重算与自动命名
5.增量分组:新增元素仅对未分配部分执行分组,保护已有手动调整
6.时长钳位:组总时长强制映射到 API 合法枚举值范围
各项目的解法1 solutions
Signals
横向对比
| 维度 | moyin-creator |
|---|---|
| 分组策略 | 单遍顺序贪心填装,O(n) 时间复杂度 |
| 约束模型 | 时长上限(15s) + 镜头数上限(4个) 双重硬约束 |
| 断点检测 | sceneName 变化时软断开,受 Jaccard 阈值豁免 |
| 相似度算法 | characterIds 集合的 Jaccard 系数,阈值 0.5 |
| 增量能力 | 首次全量 + 后续仅对未分配镜头增量追加 |
| 命名策略 | 三级回退:场景名+镜头范围 → 序号+镜头范围 → 纯序号 |
最佳实践
1.场景切换优先断开保证叙事连贯
2.角色重叠度阈值允许跨场景同组
3.最后一组允许不满最小数量
4.纯函数设计:分组算法不依赖 UI 状态,便于测试和复用
5.配置可覆盖:Partial<Config> 合并默认值,适配不同 API 限制