故障排查GitHub issue2 分钟阅读排错/错误码

解决FastGPT知识库检索主语权重偏低的召回偏差问题

当提问包含特定专有主语(如缩写I-CSCF、组合词“网测”)的问题时,知识库无法精准召回包含该主语的文档,仅召回包含相关通用词汇的内容。例如检索“网测有哪些产品?”时,因知识库中“网测”相关文档较少,会召回大量“网络测试”相关文档,无法匹配真实意图的“网测(公司)”相关内容。

现象

当提问包含特定专有主语(如缩写I-CSCF、组合词“网测”)的问题时,知识库无法精准召回包含该主语的文档,仅召回包含相关通用词汇的内容。例如检索“网测有哪些产品?”时,因知识库中“网测”相关文档较少,会召回大量“网络测试”相关文档,无法匹配真实意图的“网测(公司)”相关内容。

可能原因

一是知识库中对应问题核心主语的文档数量较少,检索时被通用相关文档覆盖;二是未对问题中的专有组合词、缩写进行特殊分词处理,导致词汇被拆分,无法精准匹配目标文档。

排查步骤

  1. 确认问题中的核心主语是否为专有名词、缩写或组合词。
  2. 检查知识库中是否存在包含该核心主语的文档。
  3. 验证检索结果是否召回了与问题核心主语无关的通用词汇相关文档。

解决与验证

可通过两种方式解决该问题。第一种方式为自定义分词,将问题中的专有组合词(如“网测”)作为单个词汇处理,避免被拆分,提升其检索权重。第二种方式为针对缩写、型号类问题,提取关键信息进行SQL查询作为替代方案。验证时重新发起检索,确认召回的文档与问题核心主语强相关,无无关通用内容。

来源: FastGPT GitHub issue #2035