01. Pemisahan Teks Karakter (CharacterTextSplitter)

CharacterTextSplitter

Metode ini adalah pendekatan yang paling sederhana.

Pada dasarnya, teks dibagi berdasarkan "\n\n" pada tingkat karakter, dan ukuran chunk diukur berdasarkan jumlah karakter.

  • Metode Pemisahan Teks: Berdasarkan karakter tunggal

  • Pengukuran Ukuran Chunk: Berdasarkan jumlah karakter

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

  • Simpan isi yang dibaca ke dalam variabel file.

# Buka file data/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 :

Pencarian Semantik

Definisi: Pencarian semantik adalah metode pencarian yang melampaui pencocokan kata kunci sederhana dengan memahami makna dari pertanyaan pengguna untuk mengembalikan hasil yang relevan.
Contoh: Jika seorang pengguna mencari "planet tata surya," maka akan mengembalikan informasi tentang planet yang terkait seperti "Jupiter" dan "Mars."
Kata Kunci Terkait: Pemrosesan Bahasa Alami, Algoritma Pencarian, Penambangan Data

Embedding

Definisi: Embedding adalah proses mengubah data

Berikut adalah kode yang membagi teks menjadi beberapa chunk menggunakan CharacterTextSplitter.

  • Parameter separator menetapkan kriteria untuk pembagian. Nilai defaultnya adalah "\n\n".

  • Parameter chunk_size diatur ke 250, membatasi ukuran maksimum setiap chunk menjadi 250 karakter.

  • Parameter chunk_overlap diatur ke 50, memungkinkan tumpang tindih 50 karakter antara chunk yang berdekatan.

  • Parameter length_function diatur ke len, menentukan fungsi yang digunakan untuk menghitung panjang teks.

  • Parameter is_separator_regex diatur ke False, memperlakukan separator sebagai string biasa dan bukan ekspresi reguler.

  • Gunakan text_splitter untuk membagi teks file menjadi unit dokumen.

  • Cetak dokumen pertama (texts[0]) dari daftar dokumen yang telah dibagi.

output:

Berikut adalah contoh pengiriman metadata bersama dengan dokumen.

Perhatikan bahwa metadata dibagi bersama dengan dokumen.

  • Metode create_documents menerima daftar data teks dan metadata sebagai argumen.

output:

Gunakan metode split_text() untuk membagi teks.

  • text_splitter.split_text(file)[0] membagi teks file menggunakan text_splitter dan mengembalikan elemen pertama dari potongan teks yang telah dibagi.

output:

Last updated