Embedding (NLP) (TL)

From Systems analysis Wiki
Jump to navigation Jump to search

Embedding (mula sa Ingles na embedding — «pagtatanim/paglalagay») — ito ay isang pundamental na teknolohiya sa larangan ng Machine Learning at natural language processing, na nagko-convert ng mga discrete o kumplikadong bagay (tulad ng mga salita, pangungusap, larawan) sa mga numerical na vector representations na may fixed na dimensyon. Ang mga vector na ito, o mga embedding, ay inilalagay sa multidimensional na espasyo sa paraang ang mga semantically na magkakatulad na bagay ay malapit sa isa't isa.

Kahulugan at Konsepto

Formally, ang embedding ay isang mapping function f:Xd, kung saan ang X — ang orihinal na espasyo ng mga bagay (halimbawa, bokabularyo ng mga salita), at ang d — isang multidimensional na vector space (espasyo ng mga embedding) na may dimensyon d. Ang dimensyon d ay mas maliit kaysa sa dimensyon ng orihinal na espasyo, na ginagawang dense ang mga representasyong ito.

Ang teoretikal na pundasyon para sa mga vector representation ng mga salita ay ang distributional semantics, na nagsasaad na ang kahulugan ng isang salita ay tinutukoy ng konteksto ng paggamit nito. Ibig sabihin, ang mga salitang matatagpuan sa magkakatulad na konteksto ay may magkakatulad na kahulugan at, samakatuwid, malapit na mga vector representation.

Mga Pangunahing Prinsipyo ng mga Embedding

  • Fixed na Dimensyon: Lahat ng bagay ay inilalagay sa mga vector ng parehong haba, anuman ang laki ng orihinal na datos (halimbawa, haba ng pangungusap).
  • Semantic na Pagkakalapitan: Ang distansya sa pagitan ng mga vector (madalas na sinusukat sa pamamagitan ng cosine similarity) ay sumasalamin sa semantic na pagkakalapitan ng mga orihinal na bagay.
  • Suporta sa mga Mathematical na Operasyon: Pinapanatili ng mga vector ang mga semantic na relasyon, na nagbibigay-daan sa pagsasagawa ng mga algebraic na operasyon sa kanila. Klasikong halimbawa: вектор(«король»)вектор(«мужчина»)+вектор(«женщина»)вектор(«королева»).

Kasaysayan at Pag-unlad

Mga Maagang Pamamaraan (1980–2000s)

Ang mga unang ideya ng vector representations ay lumitaw noong dekada 1980 sa loob ng pananaliksik sa mga neural network. Ang mga maagang pamamaraan ay nakabatay sa statistical na pagsusuri ng magkasamang paglabas ng mga salita.

Panahon ng Word2Vec (2013)

Ang rebolusyonaryong sandali ay ang pagbuo ng Word2Vec ng koponan ng Google sa ilalim ng pamumuno ni Tomas Mikolov noong 2013. Nagmungkahi ang Word2Vec ng dalawang mahusay at computationally na murang arkitektura para sa pagsasanay ng mga word embedding:

  • CBOW (Continuous Bag of Words): Hinuhulaan ang sentral na salita batay sa konteksto ng nakapaligid dito.
  • Skip-gram: Hinuhulaan ang mga kontekstwal na salita mula sa sentral na salita.

Ang Word2Vec ay naging unang popular na implementasyon ng mga vector representation, higit sa lahat dahil sa bukas na source code at mataas na bilis ng operasyon.

Pag-unlad ng mga Alternatibong Pamamaraan

Pagkatapos ng Word2Vec, lumitaw din ang iba pang mahahalagang modelo ng mga static embedding:

  • GloVe (2014): Isang modelong binuo sa Stanford University, na gumagamit ng global na istatistika ng magkasamang paglabas ng mga salita para sa pagsasanay ng mga vector.
  • FastText (2015): Isang modelong mula sa Facebook, na isinasaalang-alang ang morpolohiya ng mga salita sa pamamagitan ng pagrepresenta ng bawat salita bilang kabuuan ng mga vector ng mga n-gram ng character nito. Nagbibigay-daan ito na lumikha ng mga embedding kahit para sa mga salitang wala sa training vocabulary (Out-of-Vocabulary na mga salita).

Panahon ng mga Transformer at Contextual Embedding (2018–kasalukuyan)

Isang breakthrough ang naganap nang lumitaw ang arkitektura ng mga transformer at ang modelong BERT (2018). Nagdulot ito ng paglitaw ng mga contextual embedding, kung saan ang vector representation ng isang salita ay nakasalalay sa konteksto ng paggamit nito. Hindi tulad ng mga static na representasyon, kung saan ang isang salita ay magkakaroon ng parehong vector sa iba't ibang pangungusap, ang mga contextual na modelo ay nagge-generate ng iba't ibang embedding para sa bawat kaso.

Mga Uri ng Embedding

Ayon sa Antas ng Representasyon

  • Mga Word Embedding: Pangunahing uri, kung saan ang bawat salita ay kinakatawan ng isang hiwalay na vector (Word2Vec, GloVe).
  • Mga Sentence at Document Embedding: Kinakatawan ang mga buong parirala, pangungusap, o dokumento sa pamamagitan ng iisang vector (PV-DM, PV-DBOW).
  • Mga User at Object Embedding: Ginagamit sa mga recommendation system para sa pagrepresenta ng mga interes ng mga gumagamit at mga katangian ng mga produkto.

Ayon sa Kontekstwalidad

  • Mga Static Embedding: Ang bawat salita ay nagtataglay ng isang fixed na vector, anuman ang konteksto (Word2Vec, GloVe, FastText).
  • Mga Contextual Embedding: Nagge-generate ng iba't ibang representasyon para sa parehong salita depende sa kapaligiran nito. Mga pangunahing kinatawan:
    • BERT: Bidirectional na modelo batay sa mga transformer.
    • ELMo: Bidirectional na LSTM na modelo.
    • RoBERTa, DistilBERT, ALBERT: Mga pinahusay na variant ng BERT.

Ayon sa Modalidad

  • Mga Tekstwal na Embedding: Pinaka-karaniwang uri, kasama ang mga representasyon ng mga salita, pangungusap at dokumento.
  • Mga Visual na Embedding: Mga representasyon ng mga larawan para sa mga gawain ng computer vision.
  • Mga Multimodal na Embedding: Pinagsasama ang iba't ibang uri ng datos (teksto, larawan, audio) sa isang pinag-isang vector space. Halimbawa nito ang ImageBind, na kayang mag-ugnay ng datos mula sa anim na modalidad.

Mga Arkitektura at Pamamaraan ng Pagsasanay

Mga Klasikal na Pamamaraan

  • One-hot encoding: Pinakasimpleng pamamaraan, kung saan ang bawat salita ay naka-encode sa isang vector na may sukat ng bokabularyo na may isa sa kaugnay na posisyon. Mga disadvantage: mataas na sparsity at kawalan ng semantic na impormasyon.
  • Matrix Factorization: Mga pamamaraan ng dimensionality reduction (halimbawa, LSA), na inilalapat sa mga matrix ng magkasamang paglabas ng mga salita.

Mga Neural Network na Arkitektura

  • Mga Mababaw na Neural Network: Ang mga arkitektura ng CBOW at Skip-gram sa Word2Vec ay gumagamit ng dalawang-layer na mga neural network para sa epektibong pagsasanay.
  • Mga Transformer: Arkitektura na rebolusyonaryo ang naging epekto sa larangan dahil sa mekanismo ng attention.

Mga Modernong Pamamaraan

  • Self-supervised Learning na may Mask: Gumagamit ang BERT ng gawain ng paghula ng mga nakatakpang salita para sa pagsasanay ng mga contextual na representasyon.
  • Contrastive Learning: Mga pamamaraan na nagma-maximize ng pagkakatulad ng mga semantically na magkalapit na (positibo) pares at nagmi-minimize ng pagkakatulad ng mga malayo (negatibo) pares.

Mga Gamit ng Embedding

Ang mga embedding ay malawak na ginagamit sa iba't ibang larangan:

Natural Language Processing

  • Paghahanap at information retrieval: Pagpapabuti ng kalidad ng semantic search, na nagbibigay-daan sa paghanap ng mga dokumento ayon sa kahulugan, hindi sa mga keyword.
  • Klasipikasyon ng teksto: Ang mga vector representation ay nagsisilbing input data para sa mga classifier, na nagpapataas ng kanilang katumpakan.
  • Sentiment analysis: Pagtukoy ng emosyonal na kulay ng mga teksto na isinasaalang-alang ang konteksto.
  • Machine translation: Pagpapabuti ng pag-unawa sa semantika ng pinagmulan at target na mga wika.

Mga Recommendation System

Ang mga embedding ng mga gumagamit at produkto ay nagsisilbing pundasyon ng mga personalized na recommendation system, kabilang ang:

  • Collaborative Filtering: batay sa mga embedding ng gawi ng mga gumagamit.
  • Content-based Filtering: gamit ang mga embedding ng mga katangian ng produkto.

Computer Vision

  • Klasipikasyon at Paghahanap ng Larawan: Ang mga convolutional neural network at Vision Transformer ay lumilikha ng mga embedding ng larawan para sa klasipikasyon at paghahanap ng mga visually na magkakatulad.

Bioinformatics at Medisina

  • Pagsusuri ng Medikal na Datos: Pagsusuri ng mga clinical na rekord at diagnostic ng mga sakit.
  • Mga Molecular na Representasyon: Paglikha ng mga embedding para sa paghula ng mga katangian ng mga chemical compound.

Mga Teknikal na Aspeto at Optimisasyon

  • Mga Pamamaraan ng Dimensionality Optimization: Matryoshka Representation Learning (MRL) — isang makabagong pamamaraan na nagbibigay-daan sa pagkuha ng mga embedding ng iba't ibang dimensyon mula sa isang modelo, na tinitipong ang mahalagang impormasyon sa simula ng vector.
  • Quantization ng Embedding: Pagbabawas ng katumpakan ng representasyon ng mga numero (halimbawa, hanggang 8 o 4 na bit) para mapabilis ang mga kalkulasyon at makatipid ng memorya.
  • Integrasyon sa mga Database: Ang mga modernong vector database (halimbawa, Milvus, Pinecone) at mga extension para sa mga tradisyonal na DBMS (halimbawa, pgvector para sa PostgreSQL) ay nagbibigay-daan sa epektibong pag-iimbak at paghahanap ng mga embedding.

Mga Sanggunian

  • Vector representation ng mga salita — Wikipedia
  • Vector representation ng mga salita — NEERC

Talasanggunian

  • 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.