Embedding (NLP) (ID)

From Systems analysis Wiki
Jump to navigation Jump to search

Embedding (dari bahasa Inggris: embedding — «penyematan») adalah teknologi fundamental dalam bidang machine learning dan pemrosesan bahasa alami yang mengubah objek diskrit atau kompleks (seperti kata, kalimat, gambar) menjadi representasi vektor numerik berdimensi tetap. Vektor-vektor ini, atau embedding, ditempatkan dalam ruang multidimensi sedemikian rupa sehingga objek-objek yang secara semantik mirip berada berdekatan satu sama lain.

Definisi dan Konsep

Secara formal, embedding adalah fungsi pemetaan f:Xd, di mana X adalah ruang objek asal (misalnya, kamus kata), dan d adalah ruang vektor multidimensi (ruang embedding) dengan dimensi d. Dimensi d jauh lebih kecil daripada dimensi ruang asal, sehingga representasi ini bersifat padat (dense).

Landasan teoritis representasi vektor kata adalah semantik distribusional, yang menyatakan bahwa makna sebuah kata ditentukan oleh konteks penggunaannya. Artinya, kata-kata yang muncul dalam konteks serupa memiliki makna yang mirip dan, akibatnya, representasi vektor yang berdekatan.

Prinsip-Prinsip Utama Embedding

  • Dimensi tetap: Semua objek dipetakan ke dalam vektor dengan panjang yang sama, terlepas dari ukuran data asal (misalnya, panjang kalimat).
  • Kedekatan semantik: Jarak antara vektor (sering diukur melalui cosine similarity) mencerminkan kedekatan semantik objek-objek asalnya.
  • Dukungan operasi matematika: Vektor mempertahankan relasi semantik, sehingga memungkinkan dilakukannya operasi aljabar atas vektor tersebut. Contoh klasik: вектор(«король»)вектор(«мужчина»)+вектор(«женщина»)вектор(«королева»).

Sejarah dan Perkembangan

Pendekatan Awal (1980–2000-an)

Gagasan awal representasi vektor muncul pada tahun 1980-an dalam kerangka penelitian neural network. Metode-metode awal didasarkan pada analisis statistik kemunculan bersama kata-kata.

Era Word2Vec (2013)

Momen revolusioner terjadi dengan dikembangkannya Word2Vec oleh tim Google di bawah pimpinan Tomas Mikolov pada tahun 2013. Word2Vec mengusulkan dua arsitektur yang efisien dan hemat komputasi untuk melatih embedding kata:

  • CBOW (Continuous Bag of Words): Memprediksi kata pusat berdasarkan konteks di sekitarnya.
  • Skip-gram: Memprediksi kata-kata kontekstual dari kata pusat.

Word2Vec menjadi implementasi representasi vektor pertama yang populer, sebagian besar berkat kode sumber terbuka dan kecepatan kerjanya yang tinggi.

Perkembangan Pendekatan Alternatif

Setelah Word2Vec, muncul model-model static embedding penting lainnya:

  • GloVe (2014): Model yang dikembangkan di Universitas Stanford, yang menggunakan statistik global kemunculan bersama kata untuk melatih vektor.
  • FastText (2015): Model dari Facebook yang mempertimbangkan morfologi kata dengan merepresentasikan setiap kata sebagai jumlah vektor n-gram karakternya. Hal ini memungkinkan pembuatan embedding bahkan untuk kata-kata yang tidak ada dalam kamus pelatihan (kata Out-of-Vocabulary).

Era Transformer dan Embedding Kontekstual (2018–sekarang)

Terobosan terjadi dengan munculnya arsitektur transformer dan model BERT (2018). Hal ini melahirkan embedding kontekstual, di mana representasi vektor sebuah kata bergantung pada konteks penggunaannya. Berbeda dengan representasi statis, di mana kata "kunci" akan memiliki vektor yang sama dalam kalimat "kunci pintu" dan "kunci musik", model kontekstual menghasilkan embedding yang berbeda untuk setiap kasus.

Jenis-Jenis Embedding

Berdasarkan Tingkat Representasi

  • Embedding kata: Jenis dasar, di mana setiap kata direpresentasikan oleh vektor tersendiri (Word2Vec, GloVe).
  • Embedding kalimat dan dokumen: Merepresentasikan seluruh frasa, kalimat, atau dokumen dalam satu vektor (PV-DM, PV-DBOW).
  • Embedding pengguna dan objek: Digunakan dalam sistem rekomendasi untuk merepresentasikan minat pengguna dan karakteristik produk.

Berdasarkan Kontekstualitas

  • Embedding statis: Setiap kata diberi satu vektor tetap, terlepas dari konteks (Word2Vec, GloVe, FastText).
  • Embedding kontekstual: Menghasilkan representasi yang berbeda untuk kata yang sama tergantung pada lingkungannya. Representasi utama:
    • BERT: Model dua arah berbasis transformer.
    • ELMo: Model LSTM dua arah.
    • RoBERTa, DistilBERT, ALBERT: Varian-varian BERT yang ditingkatkan.

Berdasarkan Modalitas

  • Embedding teks: Jenis yang paling umum, mencakup representasi kata, kalimat, dan dokumen.
  • Embedding visual: Representasi gambar untuk tugas-tugas computer vision.
  • Embedding multimodal: Menggabungkan berbagai jenis data (teks, gambar, audio) dalam satu ruang vektor bersama. Contohnya adalah ImageBind, yang mampu menghubungkan data dari enam modalitas.

Arsitektur dan Metode Pelatihan

Metode Klasik

  • Pengkodean one-hot: Metode paling sederhana, di mana setiap kata dikodekan dengan vektor berukuran kamus dengan angka satu pada posisi yang sesuai. Kekurangan: tingkat kejarangan yang tinggi dan tidak adanya informasi semantik.
  • Faktorisasi matriks: Metode pengurangan dimensi (misalnya, LSA) yang diterapkan pada matriks kemunculan bersama kata.

Arsitektur Neural Network

  • Neural network dangkal: Arsitektur CBOW dan Skip-gram dalam Word2Vec menggunakan neural network dua lapis untuk pelatihan yang efisien.
  • Transformer: Arsitektur yang merevolusi bidang ini berkat mekanisme attention.

Pendekatan Modern

  • Pelatihan mandiri dengan masking: BERT menggunakan tugas prediksi kata yang dimasking untuk melatih representasi kontekstual.
  • Pelatihan kontrastif: Metode yang memaksimalkan kemiripan pasangan yang secara semantik dekat (positif) dan meminimalkan kemiripan pasangan yang jauh (negatif).

Penerapan Embedding

Embedding memiliki penerapan luas di berbagai bidang:

Pemrosesan Bahasa Alami

  • Pencarian dan temu kembali informasi: Meningkatkan kualitas pencarian semantik, memungkinkan pencarian dokumen berdasarkan makna, bukan kata kunci.
  • Klasifikasi teks: Representasi vektor berfungsi sebagai data masukan bagi pengklasifikasi, meningkatkan akurasinya.
  • Analisis sentimen: Menentukan nuansa emosional teks dengan mempertimbangkan konteks.
  • Penerjemahan mesin: Meningkatkan pemahaman semantik bahasa sumber dan bahasa target.

Sistem Rekomendasi

Embedding pengguna dan produk menjadi dasar sistem rekomendasi yang dipersonalisasi, termasuk:

  • Penyaringan kolaboratif: berdasarkan embedding perilaku pengguna.
  • Penyaringan berbasis konten: menggunakan embedding karakteristik produk.

Computer Vision

  • Klasifikasi dan pencarian gambar: Convolutional neural network dan Vision Transformer menghasilkan embedding gambar untuk klasifikasi dan pencarian gambar yang serupa secara visual.

Bioinformatika dan Kedokteran

  • Analisis data medis: Analisis catatan klinis dan diagnosis penyakit.
  • Representasi molekuler: Pembuatan embedding untuk prediksi sifat senyawa kimia.

Aspek Teknis dan Optimasi

  • Metode optimasi dimensi: Matryoshka Representation Learning (MRL) — pendekatan inovatif yang memungkinkan perolehan embedding berbeda dimensi dari satu model, dengan memusatkan informasi penting di awal vektor.
  • Kuantisasi embedding: Pengurangan presisi representasi angka (misalnya, hingga 8 atau 4 bit) untuk mempercepat komputasi dan menghemat memori.
  • Integrasi dengan basis data: Basis data vektor modern (misalnya, Milvus, Pinecone) dan ekstensi untuk DBMS tradisional (misalnya, pgvector untuk PostgreSQL) memungkinkan penyimpanan dan pencarian embedding secara efisien.

Pranala Luar

  • Representasi vektor kata — Wikipedia
  • Representasi vektor kata — NEERC

Daftar Pustaka

  • Mikolov, T. et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.
  • Mikolov, T. et al. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546.
  • Pennington, J.; Socher, R.; Manning, C. (2014). GloVe: Global Vectors for Word Representation. PDF.
  • Bojanowski, P. et al. (2017). Enriching Word Vectors with Subword Information. arXiv:1607.04606.
  • Joulin, A. et al. (2017). Bag of Tricks for Efficient Text Classification. arXiv:1607.01759.
  • Peters, M. E. et al. (2018). Deep Contextualized Word Representations. ACL Anthology.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Reimers, N.; Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. arXiv:1908.10084.
  • Kusupati, A. et al. (2022). Matryoshka Representation Learning. arXiv:2205.13147.
  • Radford, A. et al. (2021). Learning Transferable Visual Models From Natural Language Supervision. PMLR 139.
  • Girdhar, R. et al. (2023). ImageBind: One Embedding Space To Bind Them All. CVPR 2023.