01. Pemisahan Teks Karakter (CharacterTextSplitter)
ℹ️
Pada bagian ini, anda akan memerlukan file berikut: appendix-keywords.txt (opens in a new tab)
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
Terminal
%pip install -qU langchain-text-splitters
- Buka file
./data/appendix-keywords.txt
dan baca isinya. - Simpan isi yang dibaca ke dalam variabel
file
.
Python
# 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.
Python
# Cetak sebagian dari isi yang dibaca dari file.
print(file[:500])
Output :
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.
Python
from langchain_text_splitters import CharacterTextSplitter
text_splitter = CharacterTextSplitter(
# Menentukan pemisah yang akan digunakan saat membagi teks. Nilai default adalah "\n\n".
# separator=" ",
# Menentukan ukuran maksimum dari chunk teks yang telah dibagi.
chunk_size=450,
# Menentukan jumlah karakter yang tumpang tindih antara chunk teks yang telah dibagi.
chunk_overlap=50,
# Menentukan fungsi untuk menghitung panjang teks.
length_function=len,
# Menentukan apakah pemisah adalah ekspresi reguler.
is_separator_regex=False,
)
- Gunakan
text_splitter
untuk membagi teksfile
menjadi unit dokumen. - Cetak dokumen pertama
(texts[0])
dari daftar dokumen yang telah dibagi.
Python
# Gunakan text_splitter untuk membagi teks state_of_the_union menjadi dokumen.
texts = text_splitter.create_documents([file])
print(texts[0]) # Cetak dokumen pertama dari dokumen yang telah dibagi.
output:
Output
page_content='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'
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.
Python
metadatas = [
{"document": 1},
{"document": 2},
] # Definisikan daftar metadata untuk dokumen.
documents = text_splitter.create_documents(
[
file,
file,
], # Berikan data teks yang akan dibagi sebagai daftar.
metadatas=metadatas, # Berikan metadata yang sesuai dengan setiap dokumen.
)
print(documents[0]) # Cetak dokumen pertama dari dokumen yang telah dibagi.
output:
Output
page_content='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' metadata={'document': 1}
Gunakan metode split_text()
untuk membagi teks.
text_splitter.split_text(file)[0]
membagi teksfile
menggunakantext_splitter
dan mengembalikan elemen pertama dari potongan teks yang telah dibagi.
Python
# Bagi teks file menggunakan text_splitter dan kembalikan elemen pertama dari teks yang telah dibagi.
text_splitter.split_text(file)[0]
output:
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