OpenParable
Skip to content
← Back to skills

Alphanumeric Filter

Documents
alphanumeric_filter

Alphanumeric Filter is an Agent Skill for documents published in the cas-bigdatalab/piflow repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

字母数字比例过滤器。过滤文本中字母/数字比例不在指定范围内的样本。 当用户提到文本过滤、比例筛选、字母比例、数字比例、清理乱码文本等需求时使用此skill。 即使用户没有明确说出"过滤",只要任务涉及根据文本中字母或数字的比例来筛选数据, 就应该使用此skill。

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/cas-bigdatalab/piflow/blob/HEAD/workspace/skills/alphanumeric_filter/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/alphanumeric-filter, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Alphanumeric Filter 字母数字比例过滤 Skill

功能概述

本skill根据文本中字母/数字字符的比例进行过滤,只保留比例在指定范围内的样本。 常用于清理乱码文本、过滤特殊字符过多的内容等场景。

触发条件

当用户请求以下任务时,应使用此skill:

  • 文本过滤
  • 比例筛选
  • 字母比例过滤
  • 数字比例过滤
  • 清理乱码文本
  • 特殊字符过滤

核心参数说明

必需参数

参数说明
--input输入JSON文件路径
--output输出JSON文件路径

可选参数

参数说明默认值
--min_ratio最小字母数字比例0.25
--max_ratio最大字母数字比例1.0
--tokenization是否使用tokenization计算False
--text_key文本字段的键名text

输入文件格式

[
  {"text": "正常的英文文本内容"},
  {"text": "包含123数字的文本"},
  {"text": "只有符号!!!..."},
  {"text": "混合内容abc123中文"}
]

使用方法

过滤字母数字比例在0.25-1.0之间的样本(默认)

python scripts/run_alphanumeric_filter.py \
  --input ./input.json \
  --output ./output.json

过滤字母数字比例在0.3-0.8之间的样本

python scripts/run_alphanumeric_filter.py \
  --input ./input.json \
  --output ./output.json \
  --min_ratio 0.3 \
  --max_ratio 0.8

使用tokenization模式(更精确但更慢)

python scripts/run_alphanumeric_filter.py \
  --input ./input.json \
  --output ./output.json \
  --tokenization True

过滤示例

文本字母数字比例过滤结果 (0.2-0.9)
Hello World高保留
a=1\nb\nc=1+2+3中保留
,。、„""«»1»低过滤
emoji表情😊😸31231中保留

输出示例

命令行输出:

[OK] Alphanumeric filtering completed!
   Min ratio: 0.25
   Max ratio: 1.0
   Tokenization: False
   Original documents: 6
   Filtered documents: 5
   Removed documents: 1
   Input file: ./input.json
   Output file: ./output.json

输出JSON格式:

[
  {"text": "过滤后保留的文本1"},
  {"text": "过滤后保留的文本2"}
]

环境要求

安装依赖: 本SKILL使用依赖 data_juicer,请在调用前安装好python环境并安装data_juicer:

pip install py-data-juicer

注意事项

  1. 比例计算:默认按字符计算,tokenization=True 时按token计算
  2. 默认值:max_ratio 默认无限制(保留所有高比例样本)
  3. 过滤逻辑:只保留比例在 [min_ratio, max_ratio] 范围内的样本
  4. 适用场景:清理乱码、过滤特殊字符过多的文本