旧实现 set(text) 对中文文本按单字拆分,导致不同文档间字符集合高度 重叠(共享 "的""是""在" 等常用字),去重过于激进,大量相关文档被误杀。 新实现: - 使用 jieba 分词提取 2 字及以上实词 - 词级 Jaccard 相似度区分度大幅提升 - 预分词优化:对所有候选文档一次性分词,避免重复调用 - 内容窗口从 200 字符扩大到 500 字符 性能对比(同一问题): - MMR_USE_EMBEDDING=True: 57s,回答 3707 字 - 旧 Jaccard(字符级): 10s,回答 56 字(几乎无内容) - 新 Jaccard(词级): 22s,回答 1594 字(含表格、引用、图片)
7.3 KiB
7.3 KiB