Embedding (NLP) (HU)
Embedding (az angol embedding – „beágyazás" szóból) — a gépi tanulás és a természetes nyelvfeldolgozás területének egy alapvető technológiája, amely diszkrét vagy összetett objektumokat (például szavakat, mondatokat, képeket) rögzített dimenziójú numerikus vektoros reprezentációkká alakít át. Ezek a vektorok, azaz az embeddingek, egy többdimenziós térben helyezkednek el oly módon, hogy a szemantikailag hasonló objektumok közel kerüljenek egymáshoz.
Meghatározás és koncepció
Formálisan az embedding egy leképezési függvény, ahol az objektumok eredeti tere (például egy szótár), pedig egy többdimenziós vektortér (az embedding-tér) dimenzióval. A dimenzió lényegesen kisebb, mint az eredeti tér dimenziója, ami ezeket a reprezentációkat sűrűvé (dense) teszi.
A szavak vektoros reprezentációinak elméleti alapját a disztribúciós szemantika adja, amely szerint egy szó jelentését a használat kontextusa határozza meg. Vagyis azok a szavak, amelyek hasonló kontextusokban fordulnak elő, hasonló jelentéssel bírnak, és következésképpen közeli vektoros reprezentációval rendelkeznek.
Az embeddingek alapelvei
- Rögzített dimenzió: Minden objektum azonos hosszúságú vektorra képeződik le, függetlenül az eredeti adat méretétől (például a mondat hosszától).
- Szemantikai közelség: A vektorok közötti távolság (amelyet gyakran koszinusz-hasonlósággal mérnek) tükrözi az eredeti objektumok szemantikai közelségét.
- Matematikai műveletek támogatása: A vektorok megőrzik a szemantikai relációkat, ami lehetővé teszi algebrai műveletek elvégzését rajtuk. Klasszikus példa: Failed to parse (syntax error): {\displaystyle ext{вектор}( ext{«король»}) - ext{вектор}( ext{«мужчина»}) + ext{вектор}( ext{«женщина»}) \approx ext{вектор}( ext{«королева»})} .
Történet és fejlődés
Korai megközelítések (1980–2000-es évek)
A vektoros reprezentációk első elgondolásai az 1980-as években jelentek meg a neurális hálózatok kutatásának keretében. A korai módszerek a szavak együttes előfordulásának statisztikai elemzésén alapultak.
A Word2Vec korszaka (2013)
Forradalmi pillanatot jelentett a Word2Vec kifejlesztése a Google csapata által, Tomáš Mikolov vezetésével, 2013-ban. A Word2Vec két hatékony és számításilag olcsó architektúrát javasolt a szó-embeddingek tanítására:
- CBOW (Continuous Bag of Words): A középső szót jósolja meg a körülötte lévő kontextus alapján.
- Skip-gram: A kontextuális szavakat jósolja meg a középső szóból kiindulva.
A Word2Vec az első népszerű vektoros reprezentációs megvalósítás lett, nagyrészt a nyílt forráskódnak és a magas feldolgozási sebességnek köszönhetően.
Alternatív megközelítések fejlődése
A Word2Vec után más jelentős statikus embedding-modellek is megjelentek:
- GloVe (2014): A Stanford Egyetemen fejlesztett modell, amely globális együttes előfordulási statisztikákat használ a vektorok tanításához.
- FastText (2015): A Facebook modellje, amely figyelembe veszi a szavak morfológiáját azáltal, hogy minden szót az alkotó karakter n-gramok vektorainak összegeként reprezentál. Ez lehetővé teszi embeddingek létrehozását olyan szavakhoz is, amelyek nem szerepeltek a tanítószótárban (Out-of-Vocabulary szavak).
A transformer- és kontextuális embedding-korszak (2018–napjainkig)
Áttörést hozott a transformer architektúra és a BERT modell megjelenése (2018). Ez kontextuális embeddingek kialakulásához vezetett, ahol egy szó vektoros reprezentációja a használat kontextusától függ. A statikus reprezentációkkal ellentétben, ahol a „kulcs" szónak ugyanaz a vektora lenne a „zár kulcsa" és a „hegedűkulcs" mondatokban, a kontextuális modellek minden esethez különböző embeddinget generálnak.
Az embeddingek típusai
Reprezentációs szint szerint
- Szó-embeddingek: Az alapvető típus, ahol minden szót külön vektor reprezentál (Word2Vec, GloVe).
- Mondat- és dokumentum-embeddingek: Egész kifejezéseket, mondatokat vagy dokumentumokat egyetlen vektorral ábrázolnak (PV-DM, PV-DBOW).
- Felhasználói és elem-embeddingek: Ajánlórendszerekben használják a felhasználók érdeklődésének és a termékek jellemzőinek reprezentálására.
Kontextualitás szerint
- Statikus embeddingek: Minden szóhoz egyetlen rögzített vektor tartozik, kontextustól függetlenül (Word2Vec, GloVe, FastText).
- Kontextuális embeddingek: Ugyanannak a szónak különböző reprezentációit generálják a környezetétől függően. Főbb képviselők:
- BERT: Kétirányú transformer-alapú modell.
- ELMo: Kétirányú LSTM-modell.
- RoBERTa, DistilBERT, ALBERT: A BERT továbbfejlesztett változatai.
Modalitás szerint
- Szöveges embeddingek: A legelterjedtebb típus, amely magában foglalja szavak, mondatok és dokumentumok reprezentációit.
- Vizuális embeddingek: Képek reprezentációi számítógépes látással kapcsolatos feladatokhoz.
- Multimodális embeddingek: Különböző adattípusokat (szöveg, kép, hang) egyetlen vektortérbe integrálnak. Példa erre az ImageBind, amely hat modalitás adatait képes összekapcsolni.
Architektúrák és tanítási módszerek
Klasszikus módszerek
- One-hot kódolás: A legegyszerűbb módszer, ahol minden szót egy szótár méretű vektor kódol, amelynek megfelelő pozíciójában egyes áll. Hátrányai: magas ritkaság és szemantikai információ hiánya.
- Mátrix-faktorizáció: Dimenziócsökkentési módszerek (például LSA), amelyeket szavak együttes előfordulási mátrixaira alkalmaznak.
Neurális hálózati architektúrák
- Sekély neurális hálózatok: A Word2Vec CBOW és Skip-gram architektúrái kétrétegű neurális hálózatokat használnak a hatékony tanításhoz.
- Transformerek: Az a architektúra, amely az attention mechanizmusnak köszönhetően forradalmasította a területet.
Modern megközelítések
- Maszkolással végzett önfelügyelt tanulás: A BERT a maszolt szavak előrejelzésének feladatát használja kontextuális reprezentációk tanításához.
- Kontraszt-alapú tanulás: Olyan módszerek, amelyek maximalizálják a szemantikailag közeli (pozitív) párok hasonlóságát, és minimalizálják a távolabbi (negatív) párok hasonlóságát.
Az embeddingek alkalmazásai
Az embeddingek számos területen széles körű alkalmazást találnak:
Természetes nyelvfeldolgozás
- Keresés és információ-visszakeresés: A szemantikai keresés minőségének javítása, lehetővé téve dokumentumok tartalom szerinti – nem kulcsszó alapú – megtalálását.
- Szövegosztályozás: A vektoros reprezentációk bemeneti adatként szolgálnak az osztályozók számára, növelve azok pontosságát.
- Érzelemelemzés: Szövegek érzelmi tónusának meghatározása a kontextus figyelembevételével.
- Gépi fordítás: A forrás- és célnyelv szemantikájának jobb megértése.
Ajánlórendszerek
A felhasználói és termék-embeddingek a személyre szabott ajánlórendszerek alapját képezik, beleértve:
- Kollaboratív szűrés: a felhasználói viselkedés embeddingjein alapulva.
- Tartalmi szűrés: a termékjellemzők embeddingjeit felhasználva.
Számítógépes látás
- Képosztályozás és -keresés: Konvolúciós neurális hálózatok és Vision Transformerek kép-embeddinget hoznak létre képek osztályozásához és vizuálisan hasonló képek kereséséhez.
Bioinformatika és orvostudomány
- Orvosi adatok elemzése: Klinikai feljegyzések és betegségdiagnosztika elemzése.
- Molekuláris reprezentációk: Embeddingek létrehozása kémiai vegyületek tulajdonságainak előrejelzéséhez.
Technikai szempontok és optimalizálás
- Dimenziópoptimalizálási módszerek: Matryoshka Representation Learning (MRL) — egy innovatív megközelítés, amely lehetővé teszi különböző dimenziójú embeddingek előállítását egyetlen modellből, a fontos információt a vektor elejére koncentrálva.
- Embedding-kvantálás: A számábrázolás pontosságának csökkentése (például 8 vagy 4 bitre) a számítások gyorsítása és a memóriafelhasználás csökkentése érdekében.
- Integráció adatbázisokkal: A modern vektoros adatbázisok (például Milvus, Pinecone) és a hagyományos adatbázis-kezelő rendszerek bővítményei (például pgvector a PostgreSQL-hez) lehetővé teszik az embeddingek hatékony tárolását és keresését.
Hivatkozások
- Szavak vektoros reprezentációja — Wikipédia
- Szavak vektoros reprezentációja — NEERC
Irodalom
- 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.