Punctuation Normalizer 文本标点规范化 Skill
功能概述
文本标点规范化工具,读取结构化或半结构化文本文件,合并重复标点、统一标点与引号样式、清理标点周围空格并保留省略号。 适用于科研文本中标点混乱、连续符号过多、引号样式不统一的标点规整场景。
触发条件
当用户请求以下任务时,应使用此skill:
- 标点规范化
- 标点清理
- 合并重复标点
- 统一中英文标点
- 引号或省略号规整
核心参数说明
必需参数
--input:输入文件路径。--output:输出文件路径。
可选参数
--merge_repeated:是否合并重复标点,默认true。--max_repeat:允许的最大重复次数,默认1。--normalize_width:全半角规范化模式,默认auto。--normalize_quotes:是否规范化引号,默认true。--quote_style:引号风格,默认chinese。--normalize_ellipsis:是否规范化省略号,默认true。--remove_space_around_punct:是否移除标点周围的多余空格,默认true。--text_field:JSON/JSONL 输入时的文本字段名,默认text。
输入文件格式
csv:处理文本列并保持表头与其他列不变。json/jsonl:处理指定文本字段。txt/md:按单文本内容处理。
使用方法
python scripts/run_punctuation_normalizer.py --input input.csv --output output.csv
python scripts/run_punctuation_normalizer.py --input input.jsonl --output output.jsonl --quote_style english
处理示例
Wait!!! Really???→Wait! Really?中文!!!真的吗????好的。。→中文!真的吗?好的……“Smart quotes” and ‘single quotes’→“Smart quotes” and ‘single quotes’Ellipsis......→Ellipsis……Extra spaces before text→Extra spaces before text
输出示例
[OK] Punctuation normalization completed!
Total samples: 10
Modified samples: 6 (60.0%)
Unchanged samples: 4 (40.0%)
Modifications:
- Merged repeated punctuation: 3
- Normalized width: 2
- Normalized quotes: 0
- Normalized ellipsis: 2
- Removed extra spaces: 1
环境要求
- Python 3.10+
- 仅依赖标准库
注意事项
auto模式按中英文字符比例选择半角归一策略。- 省略号统一保留为
……。 - 不处理 HTML、表情、数字或拼写问题。
- 输出会保留原始行列结构和未修改字段。