Agent skill

intelligent-text-chunking

Split large texts into meaningful, AI-optimized chunks while preserving semantic coherence and document structure. Use when processing large documents for AI training, RAG systems, or when you need to break down content while maintaining context and relationships.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/intelligent-text-chunking

SKILL.md

Intelligent Text Chunking

Overview

A sophisticated text segmentation skill that splits large texts into meaningful, AI-optimized chunks while preserving semantic coherence, document structure, and contextual relationships. Essential for processing large documents for AI training, RAG systems, and memory-constrained applications.

Capabilities

  • Semantic Awareness: Respects topic boundaries and meaning transitions
  • Structure Preservation: Maintains document hierarchy and formatting context
  • Multi-language Support: Handles accented characters and diverse writing systems
  • Configurable Strategies: Multiple chunking approaches for different use cases
  • Context Preservation: Intelligent overlap management for context continuity
  • Quality Optimization: Balances chunk size with content coherence

Chunking Strategies

1. Semantic Chunking

Split text based on meaning and topic boundaries rather than arbitrary size limits.

2. Structural Chunking

Follow document organization (headings, sections, lists) for natural divisions.

3. Fixed-Size Chunking

Create consistent-sized chunks with intelligent boundary selection.

4. Sliding Window Chunking

Create overlapping chunks for enhanced context preservation.

Implementation Examples

Language-Aware Processing

python
# Multi-language sentence detection
sentence_patterns = {
    'english': ['.', '!', '?', ';'],
    'chuukese': ['.', '!', '?'],
    'general': ['.', '!', '?', ';', '。', '!', '?']
}

def detect_language_patterns(text):
    has_accents = bool(re.search(r'[áéíóúàèìòùāēīōūâêîôû]', text))
    return 'chuukese' if has_accents else 'english'

Basic Usage

python
from .intelligent_chunker import IntelligentTextChunker, ChunkType

chunker = IntelligentTextChunker(
    max_chunk_size=1024,
    overlap_ratio=0.15,
    preserve_sentences=True
)

chunks = chunker.chunk_document(text, ChunkType.SEMANTIC)

Best Practices

  1. Size Balancing: Balance chunk size with content coherence
  2. Context Preservation: Use appropriate overlap for your use case
  3. Language Awareness: Configure for specific languages when known
  4. Quality Validation: Check chunk quality with sample reviews
  5. Use Case Optimization: Choose strategy based on downstream use

Dependencies

  • re: Regular expression pattern matching
  • spacy: Advanced sentence segmentation
  • nltk: Natural language processing utilities
  • langdetect: Language identification support

Didn't find tool you were looking for?

Be as detailed as possible for better results