fix: 跨轮语义去重+KB核心名词加权,修复公告信息匹配到基本信息

1. monitor.py: 新增跨轮语义去重(5分钟TTL, Jaccard≥30%)
   - _recent_user_queries列表 + _is_semantically_duplicate()
   - _poll候选构建阶段检查,回复后写入记录

2. auto_reply.py: non_core_kw新增通用信息类名词
   - '信息','内容','详情','情况','介绍'不应作为核心词
   - 原因:公告信息核心词应是{公告}而非{公告,信息}

3. knowledge_base.py: core_nouns新增公告/更新
   - 查询含核心名词时,section含该名词→2倍加分,不含→0.3倍惩罚
   - 修复近期公告(2.93)被基本信息(6.56)压过的问题
This commit is contained in:
youpaishidifu
2026-08-17 12:09:23 +08:00
parent 0fe4f018ba
commit 174b606721
3 changed files with 56 additions and 2 deletions
+4
View File
@@ -273,6 +273,10 @@ class AutoReply:
# "下载"是动作而非查询对象,真正核心的是被查询的插件名
# 例:"登录插件去哪儿下载"的核心词应是{'登录'},而非{'下载'}
'下载', '下到', '哪下', '在哪下', '怎么下',
# 2026-08-17 新增:通用信息类名词不应作为核心词
# "信息"/"内容"/"详情"等太泛,无法区分文档主题
# 例:"服务器最近有哪些公告信息"的核心词应是{'公告'},而非{'公告','信息'}
'信息', '内容', '详情', '情况', '介绍',
}
core_kw = q_mean - non_core_kw
doc_text = heading_clean + " " + title.lower() + " " + body_clean[:800]