fix: '关于我们'查询被打负分丢弃,index关于我们section回top1
根因:导航/目录类section全局惩罚-30误伤精确答案——index.md'## 🎈关于我们'heading含'关于我们'被罚-30,
base分14.29→-15.71负分,相关性检查全丢弃。
修复:惩罚列表移除'关于我们'(导航/目录/欢迎/总览/文档导航保留),
'关于我们'是查询意图主体,命中即答案本体。
回归:关于我们→index 14.29 top1;服务器介绍/下载/皮肤更新/操作模式/菜单/公告全绿
This commit is contained in:
+5
-1
@@ -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覆盖)
|
||||
|
||||
Reference in New Issue
Block a user