fix: 口语填充词+下载/表格加权,修复三个匹配错误
1. auto_reply.py: non_core_kw新增'一句/问一句/再问' - 用户说'我再问一句'中的'一句'是填充词,不应作为核心词 2. knowledge_base.py: 下载意图加权从2.5→4.0 - 强化heading含'下载'的section优先级 - 修复sdf1_login.md的'2.1 下载'被protect.md的'温馨提示'压过 3. knowledge_base.py: 表格内容奖励从3.0→5.0 - 强化含'操作'等关键词的表格section优先级 - 修复'操作方式'表格被'领地列表'描述压过
This commit is contained in:
@@ -277,6 +277,9 @@ class AutoReply:
|
||||
# "信息"/"内容"/"详情"等太泛,无法区分文档主题
|
||||
# 例:"服务器最近有哪些公告信息"的核心词应是{'公告'},而非{'公告','信息'}
|
||||
'信息', '内容', '详情', '情况', '介绍',
|
||||
# 2026-08-17 新增:口语填充词"一句"不应作为核心词
|
||||
# 用户常说"我再问一句","一句"是填充词,不影响查询意图
|
||||
'一句', '问一句', '再问',
|
||||
}
|
||||
core_kw = q_mean - non_core_kw
|
||||
doc_text = heading_clean + " " + title.lower() + " " + body_clean[:800]
|
||||
|
||||
+2
-2
@@ -591,7 +591,7 @@ class KnowledgeBase:
|
||||
# 否则皮肤文档会被放大到最高分,guide合并后压过真正的下载地址section
|
||||
if (any(w in query_stripped for w in ('下载', '下到', '哪下', '怎么下'))
|
||||
and '下载' in heading_clean and '皮肤' not in heading_clean):
|
||||
combined_scores[i] *= 2.5
|
||||
combined_scores[i] *= 4.0
|
||||
# ⭐ 精确短语匹配:文档包含完整查询短语 → 巨幅奖励
|
||||
# 防止"php端的管理员密码"匹配到不含"php"的云背包文档
|
||||
# ⭐ 使用full_text_phrase(排除链接文字),防止链接文字如"sdf1_login登录插件"误匹配
|
||||
@@ -643,7 +643,7 @@ class KnowledgeBase:
|
||||
# 或body中含查询核心名词
|
||||
body_relevant = any(n in body_stripped for n in query_tokens_set if len(n) >= 2)
|
||||
if heading_relevant or body_relevant:
|
||||
combined_scores[i] *= 3.0 # 相关表格 → 巨幅奖励
|
||||
combined_scores[i] *= 5.0 # 相关表格 → 巨幅奖励
|
||||
|
||||
# 短查询惩罚:分词数 ≤2 的短查询(如图标残片/短词)得分大幅降权
|
||||
# 防止 OCR 碎片中的高 IDF 词(如"下载")获得超过真实用户消息的分数
|
||||
|
||||
Reference in New Issue
Block a user