Metode ini melibatkan pemecahan teks menjadi kalimat, kemudian mengelompokkan setiap tiga kalimat, dan menggabungkan kalimat-kalimat yang mirip di ruang embedding.
# Membuka file data/appendix-keywords.txt dan membuat objek file bernama 'f'.withopen("./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" dan
Membuat 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 file menjadi unit dokumen menggunakan text_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.
# File konfigurasi untuk mengelola kunci API sebagai variabel lingkungan
from dotenv import load_dotenv
# Memuat informasi kunci API
load_dotenv()
from langchain_experimental.text_splitter import SemanticChunker
from langchain_openai.embeddings import OpenAIEmbeddings
# Menginisialisasi pemisah chunk semantik menggunakan OpenAI embeddings.
text_splitter = SemanticChunker(OpenAIEmbeddings())
chunks = text_splitter.split_text(file)
# Print the first chunk from the split chunks.
print(chunks[0])
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 teks seperti kata atau kalimat menjadi vektor kontinu berdimensi rendah, memungkinkan komputer untuk memahami dan memproses teks. Contoh: Kata "apel" dapat direpresentasikan sebagai vektor seperti [0.65, -0.23, 0.17]. Kata Kunci Terkait: Pemrosesan Bahasa Alami, Vektorisasi, Pembelajaran Mendalam
Token
Definisi: Token mengacu pada tindakan membagi teks menjadi unit yang lebih kecil, yang biasanya berupa kata, kalimat, atau frasa. Contoh: Kalimat "Saya pergi ke sekolah" dibagi menjadi "Saya", "pergi ke", dan "sekolah."
Kata Kunci Terkait: Tokenisasi, Pemrosesan Bahasa Alami, Penguraian
Tokenizer
Definisi: Tokenizer adalah alat yang digunakan untuk membagi data teks menjadi token. Ini digunakan dalam pemrosesan bahasa alami untuk melakukan pra-pemrosesan data. Contoh: Kalimat "Saya suka pemrograman." dibagi menjadi ["Saya", "suka", "pemrograman", "."]. Kata Kunci Terkait: Tokenisasi, Pemrosesan Bahasa Alami, Penguraian
VectorStore
Definisi: Vector store adalah sistem yang menyimpan data yang telah diubah menjadi format vektor. Ini digunakan untuk tugas-tugas seperti pencarian, klasifikasi, dan analisis data lainnya.
# Membagi teks menggunakan text_splitter.
docs = text_splitter.create_documents([file])
print(docs[0].page_content) # Mencetak isi dari dokumen pertama yang telah dibagi.
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 teks seperti kata atau kalimat menjadi vektor kontinu berdimensi rendah, memungkinkan komputer untuk memahami dan memproses teks. Contoh: Kata "apel" dapat direpresentasikan sebagai vektor seperti [0.65, -0.23, 0.17]. Kata Kunci Terkait: Pemrosesan Bahasa Alami, Vektorisasi, Pembelajaran Mendalam
Token
Definisi: Token mengacu pada tindakan membagi teks menjadi unit yang lebih kecil, yang biasanya berupa kata, kalimat, atau frasa. Contoh: Kalimat "Saya pergi ke sekolah" dibagi menjadi "Saya", "pergi ke", dan "sekolah."
Kata Kunci Terkait: Tokenisasi, Pemrosesan Bahasa Alami, Penguraian
Tokenizer
Definisi: Tokenizer adalah alat yang digunakan untuk membagi data teks menjadi token. Ini digunakan dalam pemrosesan bahasa alami untuk melakukan pra-pemrosesan data. Contoh: Kalimat "Saya suka pemrograman." dibagi menjadi ["Saya", "suka", "pemrograman", "."]. Kata Kunci Terkait: Tokenisasi, Pemrosesan Bahasa Alami, Penguraian
VectorStore
Definisi: Vector store adalah sistem yang menyimpan data yang telah diubah menjadi format vektor. Ini digunakan untuk tugas-tugas seperti pencarian, klasifikasi, dan analisis data lainnya.
text_splitter = SemanticChunker(
# Menginisialisasi semantic chunker menggunakan model embedding dari OpenAI.
OpenAIEmbeddings(),
# Mengatur jenis ambang batas pemisahan ke persentil.
breakpoint_threshold_type="percentile",
breakpoint_threshold_amount=70,
)
docs = text_splitter.create_documents([file])
for i, doc in enumerate(docs[:5]):
print(f"[Chunk {i}]", end="\n\n")
print(doc.page_content) # Mencetak isi dari dokumen pertama yang telah dibagi.
print("===" * 20)
[Chunk 0]
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 teks seperti kata atau kalimat menjadi vektor kontinu berdimensi rendah, memungkinkan komputer untuk memahami dan memproses teks. Contoh: Kata "apel" dapat direpresentasikan sebagai vektor seperti [0.65, -0.23, 0.17].
============================================================
[Chunk 1]
Kata Kunci Terkait: Pemrosesan Bahasa Alami, Vektorisasi, Pembelajaran Mendalam
Token
Definisi: Token mengacu pada tindakan membagi teks menjadi unit yang lebih kecil, yang biasanya berupa kata, kalimat, atau frasa. Contoh: Kalimat "Saya pergi ke sekolah" dibagi menjadi "Saya", "pergi ke", dan "sekolah."
Kata Kunci Terkait: Tokenisasi, Pemrosesan Bahasa Alami, Penguraian
Tokenizer
Definisi: Tokenizer adalah alat yang digunakan untuk membagi data teks menjadi token. Ini digunakan dalam pemrosesan bahasa alami untuk melakukan pra-pemrosesan data.
============================================================
[Chunk 2]
Contoh: Kalimat "Saya suka pemrograman." dibagi menjadi ["Saya", "suka", "pemrograman", "."]. Kata Kunci Terkait: Tokenisasi, Pemrosesan Bahasa Alami, Penguraian
VectorStore
Definisi: Vector store adalah sistem yang menyimpan data yang telah diubah menjadi format vektor. Ini digunakan untuk tugas-tugas seperti pencarian, klasifikasi, dan analisis data lainnya.
============================================================
[Chunk 3]
Contoh: Menyimpan vektor embedding kata dalam basis data memungkinkan akses cepat. Kata Kunci Terkait: Embedding, Basis Data, Vektorisasi
SQL
Definisi: SQL (Structured Query Language) adalah bahasa pemrograman yang digunakan untuk mengelola data dalam basis data. SQL dapat melakukan berbagai tugas seperti query, modifikasi, penyisipan, dan penghapusan data.
============================================================
[Chunk 4]
Contoh: SELECT * FROM users WHERE age > 18; mengambil informasi pengguna yang berusia di atas 18 tahun. Kata Kunci Terkait: Basis Data, Query, Manajemen Data
CSV
Definisi: CSV (Comma-Separated Values) adalah format file yang digunakan untuk menyimpan data, di mana setiap nilai dipisahkan oleh koma. Ini digunakan untuk menyimpan dan menukar data dalam bentuk tabel secara sederhana.
============================================================
print(len(docs)) # Mencetak panjang dari docs.
text_splitter = SemanticChunker(
# Menginisialisasi semantic chunker menggunakan model embedding dari OpenAI.
OpenAIEmbeddings(),
# Menggunakan standar deviasi sebagai ambang batas pemisahan.
breakpoint_threshold_type="standard_deviation",
breakpoint_threshold_amount=1.25,
)
# Membagi teks menggunakan text_splitter.
docs = text_splitter.create_documents([file])
docs = text_splitter.create_documents([file])
for i, doc in enumerate(docs[:5]):
print(f"[Chunk {i}]", end="\n\n")
print(doc.page_content) # Mencetak isi dari dokumen pertama yang telah dibagi.
print("===" * 20)
[Chunk 0]
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 teks seperti kata atau kalimat menjadi vektor kontinu berdimensi rendah, memungkinkan komputer untuk memahami dan memproses teks. Contoh: Kata "apel" dapat direpresentasikan sebagai vektor seperti [0.65, -0.23, 0.17]. Kata Kunci Terkait: Pemrosesan Bahasa Alami, Vektorisasi, Pembelajaran Mendalam
Token
Definisi: Token mengacu pada tindakan membagi teks menjadi unit yang lebih kecil, yang biasanya berupa kata, kalimat, atau frasa. Contoh: Kalimat "Saya pergi ke sekolah" dibagi menjadi "Saya", "pergi ke", dan "sekolah."
Kata Kunci Terkait: Tokenisasi, Pemrosesan Bahasa Alami, Penguraian
Tokenizer
Definisi: Tokenizer adalah alat yang digunakan untuk membagi data teks menjadi token. Ini digunakan dalam pemrosesan bahasa alami untuk melakukan pra-pemrosesan data.
============================================================
[Chunk 1]
Contoh: Kalimat "Saya suka pemrograman." dibagi menjadi ["Saya", "suka", "pemrograman", "."]. Kata Kunci Terkait: Tokenisasi, Pemrosesan Bahasa Alami, Penguraian
VectorStore
Definisi: Vector store adalah sistem yang menyimpan data yang telah diubah menjadi format vektor. Ini digunakan untuk tugas-tugas seperti pencarian, klasifikasi, dan analisis data lainnya.
============================================================
[Chunk 2]
Contoh: Menyimpan vektor embedding kata dalam basis data memungkinkan akses cepat. Kata Kunci Terkait: Embedding, Basis Data, Vektorisasi
SQL
Definisi: SQL (Structured Query Language) adalah bahasa pemrograman yang digunakan untuk mengelola data dalam basis data. SQL dapat melakukan berbagai tugas seperti query, modifikasi, penyisipan, dan penghapusan data.
============================================================
[Chunk 3]
Contoh: SELECT * FROM users WHERE age > 18; mengambil informasi pengguna yang berusia di atas 18 tahun. Kata Kunci Terkait: Basis Data, Query, Manajemen Data
CSV
Definisi: CSV (Comma-Separated Values) adalah format file yang digunakan untuk menyimpan data, di mana setiap nilai dipisahkan oleh koma. Ini digunakan untuk menyimpan dan menukar data dalam bentuk tabel secara sederhana.
============================================================
[Chunk 4]
Contoh: File CSV dengan header seperti Nama, Usia, dan Pekerjaan bisa berisi data seperti John Doe, 30, Pengembang. Kata Kunci Terkait: Format Data, Pemrosesan File, Pertukaran Data
JSON
Definisi: JSON (JavaScript Object Notation) adalah format pertukaran data ringan yang menggunakan teks yang mudah dibaca oleh manusia dan mesin untuk mewakili objek data. Contoh: {"nama": "John Doe", "usia": 30, "pekerjaan": "Pengembang"} adalah contoh data dalam format JSON. Kata Kunci Terkait: Pertukaran Data, Pengembangan Web, API
Transformer
Definisi: Transformer adalah jenis model pembelajaran mendalam yang digunakan dalam pemrosesan bahasa alami untuk tugas-tugas seperti penerjemahan, ringkasan, dan pembuatan teks. Transformer didasarkan pada mekanisme Attention. Contoh: Google Translate menggunakan model transformer untuk melakukan penerjemahan antara berbagai bahasa. Kata Kunci Terkait: Pembelajaran Mendalam, Pemrosesan Bahasa Alami, Attention
HuggingFace
Definisi: HuggingFace adalah pustaka yang menyediakan berbagai model pralatih dan alat untuk pemrosesan bahasa alami. HuggingFace membantu peneliti dan pengembang melakukan tugas NLP dengan mudah. Contoh: Anda dapat melakukan tugas seperti analisis sentimen dan pembuatan teks menggunakan pustaka Transformers dari HuggingFace. Kata Kunci Terkait: Pemrosesan Bahasa Alami, Pembelajaran Mendalam, Pustaka
Transformasi Digital
Definisi: Transformasi digital adalah proses menggunakan teknologi untuk menginovasi layanan, budaya, dan operasi perusahaan. Ini berfokus pada peningkatan model bisnis dan meningkatkan daya saing melalui teknologi digital.
============================================================
print(len(docs)) # Mencetak panjang dari docs.
text_splitter = SemanticChunker(
# Menginisialisasi pemisah chunk semantik menggunakan model embedding dari OpenAI.
OpenAIEmbeddings(),
# Mengatur jenis ambang batas pemisahan ke rentang interkuartil.
breakpoint_threshold_type="interquartile",
breakpoint_threshold_amount=0.5,
)
# Membagi teks menggunakan text_splitter.
docs = text_splitter.create_documents([file])
# Cetak hasilnya.
for i, doc in enumerate(docs[:5]):
print(f"[Chunk {i}]", end="\n\n")
print(doc.page_content) # Mencetak isi dari dokumen pertama yang telah dibagi.
print("===" * 20)
[Chunk 0]
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 teks seperti kata atau kalimat menjadi vektor kontinu berdimensi rendah, memungkinkan komputer untuk memahami dan memproses teks. Contoh: Kata "apel" dapat direpresentasikan sebagai vektor seperti [0.65, -0.23, 0.17]. Kata Kunci Terkait: Pemrosesan Bahasa Alami, Vektorisasi, Pembelajaran Mendalam
Token
Definisi: Token mengacu pada tindakan membagi teks menjadi unit yang lebih kecil, yang biasanya berupa kata, kalimat, atau frasa. Contoh: Kalimat "Saya pergi ke sekolah" dibagi menjadi "Saya", "pergi ke", dan "sekolah."
Kata Kunci Terkait: Tokenisasi, Pemrosesan Bahasa Alami, Penguraian
Tokenizer
Definisi: Tokenizer adalah alat yang digunakan untuk membagi data teks menjadi token. Ini digunakan dalam pemrosesan bahasa alami untuk melakukan pra-pemrosesan data.
============================================================
[Chunk 1]
Contoh: Kalimat "Saya suka pemrograman." dibagi menjadi ["Saya", "suka", "pemrograman", "."]. Kata Kunci Terkait: Tokenisasi, Pemrosesan Bahasa Alami, Penguraian
VectorStore
Definisi: Vector store adalah sistem yang menyimpan data yang telah diubah menjadi format vektor. Ini digunakan untuk tugas-tugas seperti pencarian, klasifikasi, dan analisis data lainnya.
============================================================
[Chunk 2]
Contoh: Menyimpan vektor embedding kata dalam basis data memungkinkan akses cepat. Kata Kunci Terkait: Embedding, Basis Data, Vektorisasi
SQL
Definisi: SQL (Structured Query Language) adalah bahasa pemrograman yang digunakan untuk mengelola data dalam basis data. SQL dapat melakukan berbagai tugas seperti query, modifikasi, penyisipan, dan penghapusan data.
============================================================
[Chunk 3]
Contoh: SELECT * FROM users WHERE age > 18; mengambil informasi pengguna yang berusia di atas 18 tahun. Kata Kunci Terkait: Basis Data, Query, Manajemen Data
CSV
Definisi: CSV (Comma-Separated Values) adalah format file yang digunakan untuk menyimpan data, di mana setiap nilai dipisahkan oleh koma. Ini digunakan untuk menyimpan dan menukar data dalam bentuk tabel secara sederhana.
============================================================
[Chunk 4]
Contoh: File CSV dengan header seperti Nama, Usia, dan Pekerjaan bisa berisi data seperti John Doe, 30, Pengembang. Kata Kunci Terkait: Format Data, Pemrosesan File, Pertukaran Data
JSON
Definisi: JSON (JavaScript Object Notation) adalah format pertukaran data ringan yang menggunakan teks yang mudah dibaca oleh manusia dan mesin untuk mewakili objek data. Contoh: {"nama": "John Doe", "usia": 30, "pekerjaan": "Pengembang"} adalah contoh data dalam format JSON. Kata Kunci Terkait: Pertukaran Data, Pengembangan Web, API
Transformer
Definisi: Transformer adalah jenis model pembelajaran mendalam yang digunakan dalam pemrosesan bahasa alami untuk tugas-tugas seperti penerjemahan, ringkasan, dan pembuatan teks. Transformer didasarkan pada mekanisme Attention.
============================================================