invisible_char_cleaner 不可见字符清洗Skill
功能概述
移除 63 个不可见/干扰码点,分 6 大类:(1) BOM(U+FEFF);(2) 零宽空格/词连接符;(3) 双向文本标记(LRM/RLM/嵌入/隔离);(4) 软连字符;(5) C0 控制字符(保留 \t \n \r);(6) 其他(韩文填充符、蒙古文分隔符、行/段分隔符等)。
触发条件
- 不可见字符清洗 / 零宽空格清除
- BOM 清除
- 控制字符清洗
- 文本底层字符清理
- 多来源数据预处理
核心参数说明
必需参数
| 参数 | 说明 |
|---|---|
--input_path |
输入 CSV/TSV/Excel 等结构化文件路径 |
--output_path |
输出清洗后文件路径 |
可选参数
| 参数 | 说明 | 默认值 |
|---|---|---|
--text_columns |
需要处理的文本列,逗号分隔;不填则处理全部字符串列 | 全部字符串列 |
--keep_format |
保留 ZWJ/ZWNJ 等格式控制字符 | False |
输入文件格式
输入为结构化表格,文本列可包含 BOM、零宽字符、软连字符、双向控制符等不可见字符:
id,text
1,"wordbreak and softhyphen"
支持的文件格式
- CSV (.csv) / TSV (.tsv) / Excel (.xls, .xlsx) / SPSS (.sav)
使用方法
python scripts/invisible_char_cleaner.py \
--input_path <输入文件> \
--output_path <输出文件> \
[--text_columns col1,col2] \
[--keep_format]
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
--input_path |
是 | 输入文件路径 |
--output_path |
是 | 输出文件路径 |
--text_columns |
否 | 处理的文本列 |
--keep_format |
否 | 保留 ZWJ/ZWNJ(阿拉伯文等需要) |
输出示例
[OK] 不可见字符清洗完成 -> output.csv
文本列: ['text']
清理码点数: 63 (含ZWJ/ZWNJ)
环境要求
使用仓库内 Python 环境运行,无额外第三方依赖;读取/写入复用共享 data_io。
注意事项
- ZWJ()和 ZWNJ()默认删除,阿拉伯文/梵文场景使用
--keep_format - C0 控制字符保留 \t(制表符)、\n(换行)、\r(回车)
- 使用 translate 高速删除,不修改其他字符