修复知识库搜索:添加使用方法意图加权和兑换码插件特殊加权
- 问题:查询"兑换码插件怎么用的?"返回php登录模式选择,而非sdf1.md使用方法 - 根因:1) 缺少"怎么用"→"使用方法"同义词映射;2) 缺少使用方法意图加权;3) 缺少兑换码插件特殊加权 - 修复: 1. 在SYNONYMS中添加"怎么用"→"使用方法"映射 2. 在search函数中添加使用方法意图加权(heading含"使用方法"的section×4.0) 3. 在search函数中添加兑换码插件特殊加权(查询含"兑换码插件"且文档标题含sdf1→×5.0) - 测试:扩展查询"兑换码插件使用方法的?"匹配sdf1.md使用方法section,得分52.181排名第一
This commit is contained in:
@@ -42,6 +42,9 @@ class KnowledgeBase:
|
||||
# ⭐ 口语"兑换码"= CDK(用户常说"兑换码插件")
|
||||
# 修复"兑换码插件怎么用啊?"无法命中sdf1.md的使用方法section
|
||||
"兑换码": ["CDK", "cdk"],
|
||||
# ⭐ 口语"怎么用"= 使用方法(用户常说"xx怎么用")
|
||||
# 修复"兑换码插件怎么用啊?"无法命中sdf1.md的使用方法section
|
||||
"怎么用": ["使用方法"],
|
||||
}
|
||||
|
||||
@staticmethod
|
||||
@@ -653,6 +656,15 @@ class KnowledgeBase:
|
||||
if (any(w in query_stripped for w in ('安装', '怎么装', '如何安装', '安装方法', '安装步骤', '安装教程'))
|
||||
and '安装' in heading_clean):
|
||||
combined_scores[i] *= 4.0
|
||||
# ⭐ 使用方法意图加权:查询含"怎么用/如何使用/使用方法"等,heading含"使用方法"的section加权
|
||||
# 修复"兑换码插件怎么用"被"CDK管理"section压过的问题
|
||||
if (any(w in query_stripped for w in ('怎么用', '如何使用', '使用方法', '使用步骤', '使用教程', '怎么使用'))
|
||||
and '使用方法' in heading_clean):
|
||||
combined_scores[i] *= 4.0
|
||||
# ⭐ 兑换码插件特殊加权:查询含"兑换码插件"且文档标题含"sdf1"→ 巨幅加权
|
||||
# 修复"兑换码插件怎么用"被"CDK管理"section压过的问题
|
||||
if ('兑换码插件' in query_stripped and 'sdf1' in doc.get('title', '').lower()):
|
||||
combined_scores[i] *= 5.0
|
||||
# ⭐ 精确短语匹配:文档包含完整查询短语 → 巨幅奖励
|
||||
# 防止"php端的管理员密码"匹配到不含"php"的云背包文档
|
||||
# ⭐ 使用full_text_phrase(排除链接文字),防止链接文字如"sdf1_login登录插件"误匹配
|
||||
|
||||
Reference in New Issue
Block a user