Text Splitter 长文本规则切分 Skill
功能概述
本skill用于将超长文本按照指定规则进行切分,生成粒度均匀的短文本片段。支持段落、句子、固定长度、非空行以及科研论文章节标题切分,适配科研论文、实验综述、长篇文稿等资料的粒度拆分需求。
触发条件
当用户请求以下任务时,应使用此skill:
- 长文本切分/拆分
- 按段落分割文本
- 按句子分割文本
- 文本分块/分片
- 论文章节切分/按摘要引言方法结论分割
- 将长文档拆成短片段
核心参数说明
必需参数
--input:输入文件路径--output:输出文件路径
可选参数
--split_mode:paragraph / sentence / length / line / section--max_length:length 模式最大字符数--overlap:length 模式重叠字符数--min_length:最小片段长度--separator:自定义分隔符--output_format:jsonl / txt / json--keep_metadata:是否保留元信息--text_field:JSON/JSONL 输入时的文本字段名--language:section 模式下论文语言--custom_sections:自定义章节标题--include_default:是否包含默认章节关键词--keep_title:section 模式下是否保留标题--min_section_length:section 模式下最小章节长度
输入文件格式
- 纯文本 (.txt, .md)
- JSON (.json) - 读取指定字段或数组中的文本字段
- JSONL (.jsonl) - 逐行处理
切分模式说明
1. 段落模式 (paragraph)
按空行分割文本,适合结构清晰的文档。
2. 句子模式 (sentence)
按句号、问号、感叹号等句末标点分割,适合需要句子级粒度的场景。
3. 长度模式 (length)
按固定字符长度切分,可设置重叠区域,适合需要均匀分块的场景。
4. 行模式 (line)
按非空行切分,每个非空行作为一个片段。
5. 章节模式 (section)
按科研论文章节标题切分,识别摘要、引言、方法、结果、结论、参考文献、附录等标题及其编号变体。
使用方法
按段落切分
python scripts/run_text_splitter.py \
--input long_document.txt \
--output chunks.jsonl \
--split_mode paragraph
按句子切分
python scripts/run_text_splitter.py \
--input article.txt \
--output sentences.jsonl \
--split_mode sentence
按固定长度切分(带重叠)
python scripts/run_text_splitter.py \
--input paper.txt \
--output chunks.jsonl \
--split_mode length \
--max_length 500 \
--overlap 50
按科研论文章节切分
python scripts/run_text_splitter.py \
--input paper.txt \
--output sections.jsonl \
--split_mode section \
--language auto
输出示例
JSONL 格式输出
{"chunk_id": 0, "text": "摘要\n本文研究了...", "section_name": "摘要", "start_pos": 0, "end_pos": 12, "source": "paper.txt"}
{"chunk_id": 1, "text": "引言\n随着科技发展...", "section_name": "引言", "start_pos": 13, "end_pos": 28, "source": "paper.txt"}
执行结果
[OK] Text split completed!
Input file: paper.txt
Split mode: section
Language: zh
Split count: 8
Output file: sections.jsonl
Average chunk length: 390 chars
注意事项
- 句子模式同时支持中文(。!?)和英文(.!?)句末标点
- 长度模式切分时会尽量在词边界处断开,避免截断词语
- 过短的片段(低于min_length)会被合并到相邻片段
- JSONL 输入默认处理每行的 "text" 字段,可通过 text_field 指定其他字段
- 章节模式识别基于行首匹配,支持带序号格式(如 "1. 引言"、"第一章 引言")
- PDF 文件需要先转换为文本再处理