fix: '关于我们'查询被打负分丢弃,index关于我们section回top1

根因:导航/目录类section全局惩罚-30误伤精确答案——index.md'## 🎈关于我们'heading含'关于我们'被罚-30,
base分14.29→-15.71负分,相关性检查全丢弃。

修复:惩罚列表移除'关于我们'(导航/目录/欢迎/总览/文档导航保留),
'关于我们'是查询意图主体,命中即答案本体。

回归:关于我们→index 14.29 top1;服务器介绍/下载/皮肤更新/操作模式/菜单/公告全绿
This commit is contained in:
youpaishidifu
2026-08-19 20:28:34 +08:00
parent 0de88aa084
commit 81a9a7c51c
+5 -1
View File
@@ -985,7 +985,11 @@ class KnowledgeBase:
# ⭐ 导航/目录类section全局惩罚:文档导航/目录/总览表格列出全部主题词,
# TF-IDF+核心名词bonus会让它们得分虚高(如index"文档导航"对"皮肤更新"
# 查询得28分压过skin文档)。导航section永远不是具体问题的答案 → 重罚。
if any(k in heading_no_links for k in ('导航', '目录', '关于我们', '欢迎', '总览', '文档导航')):
# ⚠ "关于我们"除外:它是查询意图主体(index"关于我们"=服务器简介即为
# 精确答案),"关于我们"查询曾被该项误判-30打入-15.71负分丢弃。
_nav_penalty_kw = ('导航', '目录', '欢迎', '总览', '文档导航')
_q_is_aboutus = '关于我们' in query_stripped and '关于我们' in heading_no_links
if any(k in heading_no_links for k in _nav_penalty_kw) and not _q_is_aboutus:
bonus -= 30.0
reranked.append((idx, doc, score + bonus))
# ⭐ 否定式查询惩罚(在reranking后执行,防止被bonus覆盖)