Skip to main content

Dataset & Chunk Strategy

๐Ÿ” Apa itu Chunk pada Dataset?โ€‹

Chunk adalah proses membagi dokumen besar menjadi potongan-potongan kecil yang lebih mudah dikelola. Bayangkan seperti memotong buku tebal menjadi beberapa bab atau bagian yang lebih kecil agar lebih mudah dibaca dan dipahami.

Mengapa Perlu Chunking?โ€‹

  • Efisiensi Pemrosesan: AI dapat memproses teks lebih cepat dalam potongan kecil
  • Akurasi Pencarian: Hasil pencarian menjadi lebih tepat dan relevan
  • Manajemen Memori: Menghindari overload sistem saat memproses dokumen besar
  • Konteks yang Jelas: Setiap chunk memiliki topik atau informasi yang fokus

โš™๏ธ Bagaimana Cara Kerja Chunking?โ€‹

Proses Chunking:โ€‹

  1. ๐Ÿ“ Input Dokumen

    • Sistem menerima dokumen lengkap (PDF, Word, teks, dll.)
  2. ๐Ÿงน Normalisasi Teks

    • Membersihkan format yang tidak perlu
    • Menyeragamkan spasi dan karakter
  3. โœ‚๏ธ Pembagian Chunk

    • Memotong berdasarkan ukuran yang ditentukan
    • Mempertahankan struktur kalimat dan kata
  4. ๐Ÿ”„ Overlap Handling

    • Membuat tumpang tindih antar chunk untuk konteks
  5. ๐Ÿ“Š Metadata Generation

    • Menambah informasi tambahan setiap chunk

๐Ÿ“ˆ Keuntungan Chunkingโ€‹

๐ŸŽฏ Untuk Sistem AI:โ€‹

  • Pencarian Semantik: Menemukan informasi dengan lebih akurat
  • RAG (Retrieval Augmented Generation): Menghasilkan jawaban yang lebih relevan
  • Vector Database: Penyimpanan dan pencarian yang optimal

๐Ÿš€ Untuk Performa:โ€‹

  • Kecepatan: Pemrosesan lebih cepat
  • Skalabilitas: Dapat menangani dokumen dalam jumlah besar
  • Resource Efficiency: Penggunaan memori yang lebih optimal

๐Ÿ’ก Untuk Pengguna:โ€‹

  • Hasil Relevan: Mendapat informasi yang tepat sasaran
  • Konteks Terjaga: Informasi tetap bermakna dan berkaitan

๐Ÿ› ๏ธ Konfigurasi Chunkingโ€‹

Parameter Utama:โ€‹

ParameterDeskripsiFungsi
MaxChunkSizeUkuran maksimal chunkMenentukan batas atas ukuran potongan
MinChunkSizeUkuran minimal chunkMenghindari potongan terlalu kecil
OverlapSizeUkuran tumpang tindihMenjaga konteks antar chunk
RespectSentenceHormati batas kalimatTidak memotong di tengah kalimat
PreserveWordsJaga keutuhan kataTidak memotong di tengah kata
RemoveEmptyHapus chunk kosongBersihkan hasil yang tidak berguna

๐Ÿ“Š Diagram Sederhana Chunkingโ€‹

Visualisasi MaxSize, MinSize, dan Overlap:โ€‹

DOKUMEN ASLI:
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Lorem ipsum dolor sit amet, consectetur adipiscing elit... โ”‚
โ”‚ Sed do eiusmod tempor incididunt ut labore et dolore magna... โ”‚
โ”‚ Ut enim ad minim veniam, quis nostrud exercitation ullamco... โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

HASIL CHUNKING:
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ CHUNK 1 โ”‚ โ† MaxSize: 1000 chars
โ”‚ Lorem ipsum dolor... โ”‚
โ”‚ (Size: 950 chars) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ†“ Overlap: 200 chars
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ CHUNK 2 โ”‚
โ”‚ ...consectetur... โ”‚ โ† Overlap dari chunk 1
โ”‚ Sed do eiusmod... โ”‚
โ”‚ (Size: 980 chars) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ†“ Overlap: 200 chars
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ CHUNK 3 โ”‚
โ”‚ ...tempor incididunt โ”‚ โ† Overlap dari chunk 2
โ”‚ Ut enim ad minim... โ”‚
โ”‚ (Size: 850 chars) โ”‚ โ† Di atas MinSize: 200
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Penjelasan Overlap:โ€‹

CHUNK 1: [Text A + Text B + Text C]
โ†“ (Overlap)
CHUNK 2: [Text B + Text C + Text D]
โ†“ (Overlap)
CHUNK 3: [Text C + Text D + Text E]

๐ŸŽฏ Contoh Konfigurasi untuk Kasus Berbedaโ€‹

1. ๐Ÿ“– Dokumen Akademik/Research Papersโ€‹

{
"max_chunk_size": 1500,
"min_chunk_size": 300,
"overlap_size": 300,
"respect_sentence": true,
"preserve_words": true,
"remove_empty": true
}

Mengapa konfigurasi ini?

  • Chunk besar: Paper akademik butuh konteks yang luas
  • Overlap tinggi: Menjaga konsistensi argumen antar section
  • Respect sentence: Menjaga struktur akademik

2. ๐Ÿ“ฐ Artikel Beritaโ€‹

{
"max_chunk_size": 800,
"min_chunk_size": 150,
"overlap_size": 100,
"respect_sentence": true,
"preserve_words": true,
"remove_empty": true
}

Mengapa konfigurasi ini?

  • Chunk sedang: Berita biasanya ringkas dan to-the-point
  • Overlap rendah: Setiap paragraf berita relatif independen
  • Min size kecil: Quotes atau info penting bisa pendek

3. ๐Ÿ“š Manual/Tutorialโ€‹

{
"max_chunk_size": 1200,
"min_chunk_size": 250,
"overlap_size": 250,
"respect_sentence": true,
"preserve_words": true,
"remove_empty": true
}

Mengapa konfigurasi ini?

  • Overlap tinggi: Step-by-step instructions saling berkaitan
  • Chunk sedang-besar: Instruksi butuh konteks yang cukup
  • Respect sentence: Menjaga kejelasan instruksi

4. ๐Ÿ’ผ Dokumen Legal/Kontrakโ€‹

{
"max_chunk_size": 2000,
"min_chunk_size": 400,
"overlap_size": 400,
"respect_sentence": true,
"preserve_words": true,
"remove_empty": true
}

Mengapa konfigurasi ini?

  • Chunk besar: Klausul legal butuh konteks lengkap
  • Overlap tinggi: Referensi silang antar klausul penting
  • Min size tinggi: Hindari potongan legal yang tidak bermakna

5. ๐Ÿ’ฌ Chat/Conversation Logsโ€‹

{
"max_chunk_size": 600,
"min_chunk_size": 100,
"overlap_size": 50,
"respect_sentence": false,
"preserve_words": true,
"remove_empty": true
}

Mengapa konfigurasi ini?

  • Chunk kecil: Percakapan biasanya pendek-pendek
  • Overlap rendah: Setiap exchange relatif mandiri
  • No respect sentence: Chat bisa tidak formal

6. ๐Ÿ”ง Dokumentasi Teknis/APIโ€‹

{
"max_chunk_size": 1000,
"min_chunk_size": 200,
"overlap_size": 200,
"respect_sentence": true,
"preserve_words": true,
"remove_empty": true
}

Mengapa konfigurasi ini?

  • Balanced: Code examples + explanation butuh balance
  • Overlap sedang: Method/function saling berkaitan
  • Standard size: Sesuai untuk pembacaan teknis

๐Ÿ“‹ Tips Memilih Konfigurasi yang Tepatโ€‹

๐ŸŽฏ Pertimbangan Utama:โ€‹

  1. Jenis Konten

    • Formal vs Informal
    • Terstruktur vs Bebas
    • Teknis vs Umum
  2. Tujuan Penggunaan

    • Pencarian informasi
    • Question answering
    • Summarization
  3. Karakteristik Dokumen

    • Panjang rata-rata paragraf
    • Kompleksitas bahasa
    • Struktur dokumen

โšก Quick Guidelines:โ€‹

Jenis DokumenMaxSizeMinSizeOverlap
Artikel Pendek600-800100-15050-100
Paper Akademik1200-1500250-300200-300
Manual/Guide1000-1200200-250150-250
Legal Document1500-2000300-400300-400
Code Documentation800-1000150-200100-200