优化病句过滤器:放行包含核心动作词的'问'开头消息

- 扩大例外规则:不仅检查疑问词,还检测下载/地址/查询等核心动作词
- 修复'问一下登录插件下载地址'等不含疑问词的正常查询被误杀
- 保持对其他缺主语碎片(其/将/把/被/认/帮/想/试开头)的严格过滤
This commit is contained in:
youpaishidifu
2026-08-15 22:59:10 +08:00
parent e456320deb
commit 5b88ea509f
+2 -2
View File
@@ -4042,8 +4042,8 @@ class MessageMonitor:
continue continue
# "问"开头的消息单独处理:排除"问一嘴"、"问一下"等正常查询 # "问"开头的消息单独处理:排除"问一嘴"、"问一下"等正常查询
if re.match(r'^问', line) and not re.search(r'[。!?,,;;::?]$', line): if re.match(r'^问', line) and not re.search(r'[。!?,,;;::?]$', line):
# 如果包含疑问词且长度>8,视为正常查询放行 # 如果包含疑问词或核心动作词且长度>8,视为正常查询放行
if len(line) > 8 and re.search(r'[在何哪什怎么哪]', line): if len(line) > 8 and (re.search(r'[在何哪什怎么多少]', line) or re.search(r'(下载|地址|查询|查看|了解|咨询|知道|怎么|如何)', line)):
pass # 放行 pass # 放行
else: else:
logger.debug(f"[{platform}] OCR 过滤: 病句(缺主语) line={line!r}") logger.debug(f"[{platform}] OCR 过滤: 病句(缺主语) line={line!r}")