fix: 增强噪声压制 - 检测混合文字乱码(Latin+CJK交错)
- 在_is_noise_text中新增混合文字乱码检测 - 检测Latin大写字母被CJK分割成多个不连续块的模式 - 如'HHWH尸端自哪内柙登录槟J!'这类OCR垃圾现在会被过滤 - 修复unicode_radicals.md末尾格式错误(缺少补充字符列) - 从git追踪中移除easyocr_worker_state.json(运行时状态文件)
This commit is contained in:
+10
@@ -4937,6 +4937,16 @@ class MessageMonitor:
|
|||||||
if _match_count >= 2:
|
if _match_count >= 2:
|
||||||
logger.debug(f"[ocr] 过滤器2结果: 检测到多个协议特征词({_match_count}个),返回True: {text[:60]!r}")
|
logger.debug(f"[ocr] 过滤器2结果: 检测到多个协议特征词({_match_count}个),返回True: {text[:60]!r}")
|
||||||
return True
|
return True
|
||||||
|
# ⭐ 混合文字乱码检测:OCR将不同行/区域的文字混在一起
|
||||||
|
# 如"HHWH尸端自哪内柙登录槟J!" — Latin大写字母散落在CJK字符中间
|
||||||
|
# 正常聊天中Latin缩写是连续块(如"登录PHP服务器"、"GTA5玩家")
|
||||||
|
# 乱码特征:Latin大写被CJK分割成多个不连续块(≥2组)
|
||||||
|
if re.search(r'[A-Z]', text) and re.search(r'[\u4e00-\u9fff]', text):
|
||||||
|
_upper_groups = len(re.findall(r'[A-Z]+', text))
|
||||||
|
if _upper_groups >= 2:
|
||||||
|
logger.debug(f"[ocr] 过滤器2结果: 检测到混合文字乱码({_upper_groups}组大写字母分散),"
|
||||||
|
f"返回True: {text[:60]!r}")
|
||||||
|
return True
|
||||||
# ⭐ Task #1457: 360安全弹窗内容过滤(防误触发查库+回复)
|
# ⭐ Task #1457: 360安全弹窗内容过滤(防误触发查库+回复)
|
||||||
# 360安全卫士/杀毒弹窗常被OCR识别为用户消息,如"这是敲诈病毒,会勒索您的钱财"
|
# 360安全卫士/杀毒弹窗常被OCR识别为用户消息,如"这是敲诈病毒,会勒索您的钱财"
|
||||||
# 以下关键词覆盖360常见报毒/安全警告弹窗
|
# 以下关键词覆盖360常见报毒/安全警告弹窗
|
||||||
|
|||||||
+2
-2
@@ -218,8 +218,8 @@
|
|||||||
| 丿 | U+4E3F | 撇 | 儿→丿 | 儿 |
|
| 丿 | U+4E3F | 撇 | 儿→丿 | 儿 |
|
||||||
| 丨 | U+4E28 | 竖 | 中→丨 | 中 |
|
| 丨 | U+4E28 | 竖 | 中→丨 | 中 |
|
||||||
| 虱 | U+8671 | 虱 | 虱→搁 | 虱 |
|
| 虱 | U+8671 | 虱 | 虱→搁 | 虱 |
|
||||||
| 凵 | U+51F5 | 凵 | 凵→儿| 凵
|
| 凵 | U+51F5 | 凵 | 凵→儿 | 凵 |
|
||||||
| 乍 | U+4E4D | 作 | 乍→作 | 乍
|
| 乍 | U+4E4D | 作 | 乍→作 | 乍 |
|
||||||
|
|
||||||
## 使用说明
|
## 使用说明
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user