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-splittersBuka file
appendix-keywords.txtdan 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_sizemenjadi 250 untuk membatasi ukuran setiap chunk.Atur
chunk_overlapmenjadi 50 untuk memungkinkan tumpang tindih 50 karakter antara chunk yang berdekatan.Gunakan fungsi
lensebagailength_functionuntuk menghitung panjang teks.Atur is_separator_regex ke
Falseagar tidak menggunakan ekspresi reguler sebagai pemisah.
Gunakan
text_splitteruntuk membagi teksfilemenjadi unit dokumen.Dokumen yang telah dibagi disimpan dalam daftar
texts.Cetak dokumen pertama dan kedua dari dokumen yang telah dibagi menggunakan
print(texts[0])danprint(texts[1])
output:
Gunakan fungsi text_splitter.split_text() untuk membagi teks file.
output:
Last updated