02. Pemisahan Teks Karakter Secara Rekursif (RecursiveCharacterTextSplitter)

RecursiveCharacterTextSplitter

Pemotong teks (text splitter) ini direkomendasikan untuk teks umum. Pemotong ini bekerja dengan menerima daftar karakter sebagai parameter. Pemotong akan mencoba membagi teks berdasarkan urutan dari daftar karakter yang diberikan hingga chunk cukup kecil.

Daftar karakter default adalah ["\n\n", "\n", " ", ""].

  • Ini membagi secara rekursif dalam urutan paragraf -> kalimat -> kata

Pendekatan ini membantu menjaga agar potongan teks tetap bersama sebanyak mungkin karena paragraf (diikuti oleh kalimat dan kemudian kata) dianggap sebagai unit yang paling terkait secara semantik.

  • Cara teks dibagi: Teks dibagi menurut daftar karakter ["\n\n", "\n", " ", ""].

  • Cara ukuran chunk diukur: Ukuran diukur berdasarkan jumlah karakter.

pip install -qU langchain-text-splitters
  • Buka file appendix-keywords.txt dan baca isinya.

  • Simpan isi yang dibaca ke dalam variabel file.

# Buka file appendix-keywords.txt dan buat objek file yang disebut f.
with open("./data/appendix-keywords.txt") as f:
    file = f.read()  # Baca isi file dan simpan dalam variabel file.

Cetak sebagian dari isi yang dibaca dari file.

# Cetak sebagian dari isi yang dibaca dari file.
print(file[:500])

output:

Ini adalah contoh penggunaan RecursiveCharacterTextSplitter untuk membagi teks menjadi chunk yang lebih kecil.

  • Atur chunk_size menjadi 250 untuk membatasi ukuran setiap chunk.

  • Atur chunk_overlap menjadi 50 untuk memungkinkan tumpang tindih 50 karakter antara chunk yang berdekatan.

  • Gunakan fungsi len sebagai length_function untuk menghitung panjang teks.

  • Atur is_separator_regex ke False agar tidak menggunakan ekspresi reguler sebagai pemisah.

  • Gunakan text_splitter untuk membagi teks file menjadi unit dokumen.

  • Dokumen yang telah dibagi disimpan dalam daftar texts.

  • Cetak dokumen pertama dan kedua dari dokumen yang telah dibagi menggunakan print(texts[0]) dan print(texts[1])

output:

Gunakan fungsi text_splitter.split_text() untuk membagi teks file.

output:

Last updated