<< All versions

Skill v1.0.0

currentAutomated scan100/100
cas-bigdatalab/piflow/alphanumeric-filter
──Details
PublishedOctober 24, 2026 at 10:41 AM
Content Hashsha256:f59f00bd3c126270...
Git SHAad8d0108a54a
──Files
Files (1 file, 4.1 KB)
SKILL.md4.1 KBactive
SKILL.md · 170 lines · 4.1 KB

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

name_zh: 字母数字比例过滤器算子 input_params:

  • name: input

type: string required: true description: 输入JSON文件路径

  • name: output

type: string required: true description: 输出JSON文件路径

  • name: min_ratio

type: float required: false default: 0.25 description: 最小字母数字比例

  • name: max_ratio

type: float required: false default: 1.0 description: 最大字母数字比例

  • name: tokenization

type: bool required: false default: false description: 是否使用tokenization计算比例

  • name: text_key

type: string required: false default: text description: 文本字段的键名

output_params:

  • name: output

type: json_file description: 过滤后的JSON文件,包含保留的样本数据 tag: 数据筛选 publisher: COMMUNITY


Alphanumeric Filter 字母数字比例过滤 Skill

功能概述

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

触发条件

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

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

核心参数说明

必需参数

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

可选参数

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

输入文件格式

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

使用方法

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

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

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

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

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

bash
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格式:

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

环境要求

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

bash
pip install py-data-juicer

注意事项

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