04. SemanticChunker
SemanticChunker
Membagi teks berdasarkan kesamaan semantik
Metode ini melibatkan pemecahan teks menjadi kalimat, kemudian mengelompokkan setiap tiga kalimat, dan menggabungkan kalimat-kalimat yang mirip di ruang embedding.
Menginstal paket dependensi
pip install -qU langchain_experimental langchain_openaiMuat teks sampel dan cetak isinya.
# Membuka file data/appendix-keywords.txt dan membuat objek file bernama 'f'.
with open("./data/appendix-keywords.txt") as f:
file = f.read() # Membaca isi file dan menyimpannya ke dalam variabel 'file'.
# Mencetak sebagian isi yang telah dibaca dari file.
print(file[:350])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" danMembuat SemanticChunker
SemanticChunker adalah salah satu fitur eksperimental di LangChain, yang berfungsi untuk membagi teks menjadi chunk yang secara semantik serupa.
Hal ini memungkinkan pemrosesan dan analisis data teks yang lebih efektif.
Membagi teks menjadi chunk yang secara semantik terkait menggunakan SemanticChunker.
Text Splitting
Bagilah teks
filemenjadi unit dokumen menggunakantext_splitter.
Periksa chunk yang telah dibagi.
Anda dapat mengubah chunk menjadi dokumen menggunakan fungsi create_documents()
Breakpoints
Chunker ini bekerja dengan menentukan titik di mana kalimat harus "dipisahkan." Ini dilakukan dengan memeriksa perbedaan embedding antara dua kalimat.
Jika perbedaan tersebut melebihi ambang batas tertentu, kalimat-kalimat tersebut akan dipisahkan.
Video. referensi: https://youtu.be/8OJC21T2SL4?si=PzUtNGYJ_KULq3-w&t=2580
Percentile
Metode pemisahan dasar didasarkan pada percentile.
Dalam metode ini, semua perbedaan antara kalimat dihitung, dan kemudian pemisahan dilakukan berdasarkan percentile yang ditentukan.
Periksa hasil pemisahan.
Cetak panjang dari docs.
Standard Deviation
Dalam metode ini, pemisahan terjadi ketika ada perbedaan yang lebih besar dari breakpoint_threshold_amount standar deviasi yang ditentukan.
Atur parameter breakpoint_threshold_type ke "standard_deviation" untuk menentukan bahwa pemisahan chunk didasarkan pada standar deviasi.
Periksa hasil pemisahan.
Cetak panjang dari docs.
Interquartile
Dalam metode ini, chunk dibagi menggunakan rentang interkuartil (interquartile range atau IQR).
Atur parameter breakpoint_threshold_type ke "interquartile" untuk menentukan ambang pemisahan chunk berdasarkan rentang interkuartil
Cetak panjang dari docs
Last updated