youpaishidifu 15e0f25fd7 修复Task #1739:OCR噪声+碎片化关键词导致核心词覆盖率不足
根因:
1. OCR将"定义的,txt"误识别为"定义的 txt",'txt'成为独立token
2. jieba将"版号"切成'版'和'号'(单字词),查询中无完整"版号"词
3. 同义词映射"版号"→["版本号"]未被应用,因为src不在query中
4. 核心词膨胀到4个,要求≥2命中,但文档只命中1个(版本号)

修复:
1. 添加代码块标记过滤(txt/md/java/py等),防止噪声抬高分母
2. 添加碎片组合扩展:检测相邻单字组合是否在SYNONYMS中
   - '版'+'号' → '版本号'(同义词映射"版号"→["版本号"])
3. 放宽has_ht=True时的核心词阈值:从50%降至固定1个命中
   - 当标题已命中核心词时,只需1个核心词命中即可通过

影响:
- 修复OCR噪声导致的误判
- 修复jieba碎片化导致的漏匹配
- 提升对复合词(如版号→版本号)的识别能力
- 不影响正常查询(真实代码文件名仍可通过子串回退匹配)
2026-09-17 18:08:40 +08:00

消息问答助手 (Message Bot)

Windows 桌面工具,监控微信/QQ 新消息 → 在本地知识库中搜索答案。

功能

  • 消息监控:通过 Windows UI Automation 监听微信/QQ 聊天新消息
  • 本地知识库:支持 Markdown (.md) / 文本 (.txt) 文件,自动建索引
  • 智能问答:jieba 分词 + TF-IDF 余弦相似度搜索
  • GUI 控制:开关、知识库路径、平台选择、轮询间隔

快速开始

# 1. 安装依赖
pip install -r requirements.txt

# 2. 准备知识库
#    在某个文件夹放 .md / .txt 文件

# 3. 启动
python main.py

在 GUI 中选择知识库文件夹 → 开启监控 → 微信/QQ 收到新消息时自动搜索并展示答案。

技术栈

  • customtkinter — 现代化桌面 GUI
  • uiautomation — Windows UI 自动化(消息读取)
  • jieba — 中文分词
  • scikit-learn — TF-IDF 向量化 + 余弦相似度
S
Description
No description provided
Readme
75 MiB
Languages
Python 99%
Batchfile 0.6%
PowerShell 0.4%