<< All versions

Skill v1.0.0

currentAutomated scan100/100
cas-bigdatalab/piflow/average-line-length-filter
──Details
PublishedOctober 23, 2026 at 09:21 PM
Content Hashsha256:cebe6ca330450b30...
Git SHAad8d0108a54a
──Files
Files (1 file, 3.9 KB)
SKILL.md3.9 KBactive
SKILL.md · 161 lines · 3.9 KB

version: "1.0.0" name: average_line_length_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_len

type: float required: false default: 10 description: 最小平均行长度

  • name: max_len

type: float required: false description: 最大平均行长度(默认无限制)

  • name: text_key

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

output_params:

  • name: output

type: json_file description: 过滤后的JSON文件,包含平均行长度在指定范围内的样本 tag: 数据筛选 publisher: COMMUNITY


Average Line Length Filter 平均行长度过滤 Skill

功能概述

本skill根据文本的平均行长度进行过滤,只保留平均行长度在指定范围内的样本。 常用于过滤过短或过长的文本行、清理格式不规范的文本等场景。

触发条件

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

  • 行长度过滤
  • 平均行长度筛选
  • 文本行长度过滤
  • 按行筛选
  • 清理过长文本
  • 清理过短文本

核心参数说明

必需参数

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

可选参数

参数说明默认值
--min_len最小平均行长度10
--max_len最大平均行长度无限制
--text_key文本字段的键名text

输入文件格式

json
[
{"text": "第一行\n第二行\n第三行"},
{"text": "只有一行"},
{"text": "长文本内容\n带有换行"}
]

使用方法

过滤平均行长度在10-100之间的样本(默认)

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

过滤平均行长度在20-50之间的样本

bash
python scripts/run_average_line_length_filter.py \
--input ./input.json \
--output ./output.json \
--min_len 20 \
--max_len 50

只设置最小长度(无上限)

bash
python scripts/run_average_line_length_filter.py \
--input ./input.json \
--output ./output.json \
--min_len 15

过滤示例

文本行数平均行长度过滤结果 (10-20)
a=1\nb\nc=1+2+3\nd=644过滤
Today is Sund Sunda and it's a happy day!\nYou know226过滤
a v s e e f g a qkc117保留
,。、„""«»1»112保留
Do you need a cup of coffee?125过滤

输出示例

命令行输出:

[OK] Average line length filtering completed!
Min length: 10
Max length: 20
Original documents: 6
Filtered documents: 2
Removed documents: 4
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. 平均行长度计算:总字符数 / 行数
  2. 默认值:max_len 默认无限制
  3. 过滤逻辑:只保留平均行长度在 [min_len, max_len] 范围内的样本
  4. 适用场景:清理过短/过长文本行、过滤格式不规范文本
All versions