statikus beágyazási modellek: disztribúcióalapú
TRANSCRIPT
Statikus beágyazási modellek: disztribúcióalapú szójelentés-reprezentáció
Novák Borbála, Novák Attila
Pázmány Péter Katolikus Egyetem, Információs Technológiai és Bionikai Kar
MTA-PPKE Magyar Nyelvtechnológiai Kutatócsoport
Bevezetés
• A szavak reprezentációjának meghatározása a nyelvtechnológiai alkalmazások számára alapvető feladat
• Milyen reprezentáció az, ami a szavak jelentését, vagy azok morfoszintaktikai, szintaktikai viselkedését is meg tudja határozni?
• Folytonos vektorreprezentációk létrehozása neurális hálózatokon alapuló implementációk használatával magyar nyelvre
Miről lesz szó
• Szóbeágyazási modellek
– Háromféle magyar alapmodell különböző előfeldolgozással
• Modellinterpretáció („Dologfelismerő”)
– Hogyan lehet értelmezhető jegyeket rendelni a szavakhoz a modellek alapján
• CBOW-tag
– Felszíni szóalakokat és elemzéseket egyszerre tartalmazó modellek
• Szövegek tematikus címkézése
Szóbeágyazási modellek
Folytonos disztribúciós szemantikai modellek
• disztribúciós szemantika: a szavak jelentése szorosan összefügg azzal, hogy milyen kontextusban használjuk őket
• folytonos vektoros reprezentációk (word embedding)
– nyers szöveges korpuszból szemantikai információk kinyerésére
– az egymáshoz szemantikailag és/vagy morfológiailaghasonló szavak egymáshoz közel, a jelentésben eltérő elemek egymástól távol esnek az adott térben
• a statikus modellek önmagukban nem képesek a poliszémia, illetve homonímia kezelésére
• → dinamikus beágyazási/nyelvmodellek (ELMo, GPT, BERT stb.)
Folytonos disztribúciós szemantikai modellek
• A modell létrehozása:
– az egyes szavak fix méretű környezetét vesszük figyelembe neurális hálózat bemenete
– a környezetet reprezentáló vektorok súlyozott összegét használja a hálózat arra, hogy megjósolja a célszót
– a célszót helyesen megjósoló súlyvektor a neurális hálózat megfelelő rétegéből közvetlenül kinyerhető
– CBOW, ill. skip-gram modellek
Folytonos disztribúciós szemantikai modellek
Folytonos disztribúciós szemantikai modellek
CBOW SKIP-GRAM
Háromféle magyar alapmodell különböző előfeldolgozással
Kísérletek
• word2vec eszköz, CBOW modell
• Több mint 1 milliárd szavas magyar nyelvű webkorpusz
• 300 dimenziós hálózat
• 5 token sugarú környezet
Kísérletek
• Nyers szövegen tanított modell
– a szavak felszíni alakját reprezentáló vektorokat határozott meg
– az azonos tőhöz tartozó különböző ragozott alakok külön pozícióba kerültek a szemantikai térben
– jól reprezentálja a szemantikai és szintaktikai hasonlóságot
Kísérletek
Kísérletek
• Előfeldolgozott szövegen tanított modell
– a korpusz szófaji egyértelműsített változatát használtuk
– a szavak lemmáját tartottuk meg, melyek után, külön tokenként szerepeltek a morfológiai elemző által generált címkék
– a modell csak lemmákat tartalmazott, így robusztusabb modell jött létre az adatritkaság csökkenése miatt
A török megszállás nem feltétlenül jelentette a népesség pusztulását.
a [Det] török [Adj] megszállás [N] nem [Neg] feltétlenül [Adv] jelent
[V.Past.3Sg.Def] a [Det] népesség [N] pusztulás [N.Poss3Sg.Acc] . [.]
Kísérletek
Kísérletek
• Szófaji megkülönböztetést tartalmazó modell
– az előzőhöz hasonlóan, de a fő szófajcímkék a szótőhöz ragasztvaA török megszállás nem feltétlenül jelentette a népesség pusztulását.
a[Det] török[Adj] megszállás[N] nem[Neg] feltétlenül[Adv] jelent[V]
[Past.3Sg.Def] a[Det] népesség[N] pusztulás[N] [Poss3Sg.Acc] .[.]
Kísérletek
• Helyesírási hibák és nem sztenderd szóalakok
– a jelentésben hasonló szavak között megjelentek a különböző elírt változatok is
– olyan szóalakokhoz tartozó listákat is lekérdeztünk, melyek eleve hibásak
• hasonló jellegű helyesírási hibát tartalmaznak
• a lemmatizáló ugyanúgy rontotta el őket
• ezekben a listákban is érvényesül a szemantikai rangsor
• sok nem sztenderd vagy szleng szóalak
Kísérletek
A Dologfelismerő
A Dologfelismerő
• a szavak sokdimenziós térben való absztrakt reprezentációja az emberek számára önmagában nehezen értelmezhető (interpretálhatóság)
• szemantikai kategóriacímkéket teszünk hozzá az eredeti szóbeágyazási modellhez, amik az eredeti modell értelmezését segítik
• magyar nyelvre (de nyelvfüggetlen módszerrel)
Cél
• Szemantikai kategóriacímkék automatikus hozzáadása a szóbeágyazási tér területeinek azonosításával
• Módszer
1. kategóriacímkék kigyűjtése létező lexikai erőforrásokból
2. nyelvek közötti transzformáció
3. kategóriacímkék elhelyezése az eredeti modellnek megfelelő térben
Lexikai erőforrások
• Roget’s Thesaurus
– 990 szemantikai kategória 5 szófaj szerinti bontásban
– 91608 szó az eredeti változatban
• Longman Dictionary of Contemporary English (LDOCE)
– 213 szemantikai kategória, szófaj szerinti bontásban
– 28257 szó az eredeti változatban
• 4lang
– LDOCE definícióinak formális átiratabread: food, FROM/2742 flour, bake MAKE
show: =AGT CAUSE[=DAT LOOK =PAT], communicate
Lexikai erőforrások
• Az erőforrásokat egységes formára hoztuk
– a 4lang definícióit elemi egységekre bontva ezeket tekintettük kategóriacímkének
– a túl sok szót (>5) tartalmazó kategóriákat klaszterezésseltovább bontottuk az elemzett angol Wikipedia-ból épített angol szóbeágyazási modell alapján
bread: food, FROM/2742 flour, bake MAKE
show: =AGT CAUSE[=DAT LOOK =PAT], communicate
Angol nyelvű szóbeágyazási modell
• angol Wikipedia (2,25 milliárd szó)
• a magyar modellnek megfelelő előfeldolgozás– Stanford tagger, word2vec, CBOW modell, 300 dimenziós
hálózat, 5 token sugarú környezet
• az eredeti erőforrásokból csak az ebben a modellben is szereplő szavakat tartottuk meg
Szemantikus kategóriacímkék „beágyazása”
• A klaszterezés után létrejött kategóriacímkékhez a hozzájuk tartozó angol szavak vektorait átlagoltuk
Nyelvek közötti leképezés
• a különböző nyelvekre létrehozott szóbeágyazási modellek által definiált szemantikai terek leképezhetők egymásba
• egy kiindulási szótár alapján megtanult páronkénti lineáris transzformáció alkalmazásával
• kiindulási szótár: a 4lang szótárból kiválasztott 3477 angol-magyar szópár (mindkét nyelven elég gyakori szavak)
• a transzformáció pontossága (100 szópáron kiértékelve):
– első legközelebbi szóra: 38%
– első 5 legközelebbi szóra: 69%
– első 10 legközelebbi szóra: 81%
• a kategóriacímkékhez tartozó átlagvektorokat így a magyar térbe illesztettük
Nyelvek közötti leképezés
Az algoritmus áttekintése
Eredeti lexikon:
4L_food: sandwich#NN, fat#NN, bread#NN, pepper#NN, meal#NN, fork#NN, egg#NN, bowl#NN, salt#NN,…
Wikipedia angol modell
sandwich#NN = [0.123, 0.654, 0.653,…]EN
fat#NN = [0.633, 0.597, 0.251,…]EN
bread#NN = [0.775, 0.403, 0.965,…]EN
Klaszterezés
4L_food_1: sandwich#NN, bread#NN, meal#NN, egg#NN…
4L_food_2: pepper#NN, salt#NN,…
Átlagolás
4L_food_1 = [0.455,0.324,0.756…]EN4L_food_2 = [0.854, 0.267,0.124…]EN
Transzformáció
4L_food_1 = [0.455,0.324,0.756…]EN * Wtransz = [0.321,0.122,0.432…]HU4L_food_2 = [0.854,0.267,0.124…]EN * Wtransz = [0.734,0.342,0.711…]HU
Eredmények
• Koszinusz távolság alapján minden szóhoz lekérdezhetőek a legközelebbi kategóriacímkék (és fordítva)
• Általános szavak: 35 féle, kézzel ellenőrzött csoportba tartozó szavakat (összesen 50507 szó) vizsgáltunk
• Minden csoportban minden szóhoz mindhárom modellből lekérdeztük az első 10 legközelebbi kategóriacímkét
• A kapott címkéket összesítettük, az így kapott eredményeket vizsgáltuk
Eredmények
Kvantitatív kiértékelés
A dologfelismerő
• a szóbeágyazási modellekben implicit jelen lévő jelentéscsoportokat emberek által is értelmezhető szimbolikus jegyekké transzformáltuk
• nyelvfüggetlen módszer
• létező lexikai erőforrások felhasználásával
– nem feltétlenül a célnyelven
• tulajdonnevek, rövidítések, nem sztenderd szóalakok esetén is működik
CBOW-tag: annotált szövegekből vektortérmodellek
• grammatikai annotációt tartalmazó korpuszból épített szóbeágyazási modellek számos feladatban jobban teljesítenek
• a legtöbb gyakorlati nyelvtechnológiai feladatban szükség van a felszíni szóalakok vektor reprezentációjára
• cél: egy olyan vektortérmodell, amely egyszerre tartalmazza a felszíni szóalakok, a lemmák és a szavak közötti grammatikai viszonyok reprezentációját– triviális módon értelmezhető az ilyen különböző típusú
objektumok közötti távolság– lekérdezhető, hogy tipikusan milyen elemek állnak egymással
adott típusú kapcsolatban, pl.: az eat ige tárgyaként ételek listáját várjuk
• angol nyelvű modell, de nyelvfüggetlen módszer
Algoritmus és korpusz
• CBOW/A: a fastText algoritmus módosított változata
– egyszerre hozza létre egy elemzett korpusz alapján a felszíni szóalakok és a hozzájuk rendelt akár több különböző típusú annotáció vektorreprezentációját
• 2,25 milliárd token méretű angol Wikipedia korpusz
– SpaCy keretrendszerbe integrált angol neurális taggerrel és függőségi elemzővel elemeztük
A korpusz előkészítése
A módosított CBOW algoritmus
• első változat
– szövegkörnyezet: csak a felszíni szóalakok
– célszó: felszíni alakok és címkék
– rossz eredmény: a címkék modell által generált vektorreprezentációja az adott címkével annotált szó reprezentációjára merőleges
• a negative sampling algoritmus kizárólag negatív példaként látta bármely szó szövegkörnyezetében a címkéket
• a hálózat minden címke reprezentációját igyekezett a lehető legmesszebb juttatni a pozitív szövegkörnyezetként is előforduló felszíni szóalakok reprezentációjától
A módosított CBOW algoritmus
• második változat
– a szövegkörnyezetben egyenletes eloszlással mintavételeztük a felszíni alakokat és címkéiket
– címkék és a felszíni alakok egyaránt megjelentek pozitív és negatív tanítópéldaként
• tanítás– 300 dimenziós vektorok– Szóalapú modell– 5 token sugarú környezet– min. 5 előfordulás
Mire jó ez a modell?
• egyszerre tárolja
– a szavak felszíni alakjára,
– azok lemmájára és szófajára,
– a közöttük tipikusan fennálló függőségi viszonyokra jellemző reprezentációkat
• válaszolni tud olyan kérdésekre, mint pl.
Mit isznak?, Mit bányásznak?, Miben hiszünk? Ki eszik? Mit csinálunk egy csontvázzal?, stb.
• nehéz kiértékelni (nincs gold standard)
Mire jó ez a modell?
• eredmények: lekérdezések vizsgálata– legközelebbi szomszédok
koszinusz távolság alapján– megszorítások az
eredménylistára– Pl.: Mit isznak?
• lekérdezés: „drink ige tárgya” objektum legközelebbi szomszédai
• megszorítás: csak NOUN szófajcímkét tartalmazó elemek
Eredmények
• szemantikailag jól behatárolható vonzatú igék –mit eszünk?– eat ige tárgya vs. alanya
• tárgy: nem feltétlenül prototipikus, de az eat igéhez szorosan kapcsolódó ételek
• alany: kevésbé behatárolható, ritkán jelenik meg testes alanyként
– leak ige alanya• jól körülhatárolható
Eredmények
• más igék hasonló vonzatai - mit csinálunk még azzal, amit eszük?– az eat ige tárgyához leghasonlóbb tárggyal rendelkező igék listája,
– az eat igéhez leghasonlóbb igék,
– az eat ige tárgyához leghasonlóbb prepozíciós tárgyú igék listája
Eredmények
• a vonzatok irányából induló lekérdezések
– Egy-egy főnév tipikusan milyen igékkel áll valamilyen meghatározott viszonyban
– Pl. milyen igék tárgya a skeleton ’csontváz’ főnév?
Kiértékelés
• minden lekérdezéshez az első 40 jelöltet értékeltük ki
• helyes:
– ha az adott szó az adott viszonylatban helyes
– ha van olyan helyes és tipikus vonzat, amivel a másik ige által megnevezett tevékenységet tényleg szokták csinálni
Sajtószövegek automatikus címkézése
• webes hírportálokon kulcsszavak
• a címkézés segítése automatikus kulcsszavazással
• fastText: neurális osztályozóhálózat
– bemenet: az adott szöveg tokenjeireprezentációjának eredője
– kimenet: lehetséges címkékhez rendel illeszkedési értéket
– multinomiális logisztikus regresszió
A korpusz
Sentence Piece tokenizálás (32000 elemű szótár):
Az országos rádiófrekvencia is Mészárosé lehet
▁Az ▁országos ▁rádió fr ek v encia▁is ▁Mészáros é ▁lehet
Eredmények
6 modell: R, P, F1 (fentről le)
Az SP tokenizálás javítja a fedést (és az F1-et), kicsit csökkenti a pontosságot.
Ha külön modellt használunk a nevekhez, javul a teljesítmény
A teljesítmény a címkegyakoriság függvényében
Hetilapkorpusz: hagyományos v. nincs tokeninzálás
Nagyon alacsony fedés viszonylag gyakori címkékre is
A teljesítmény a címkegyakoriság függvényében
Hetilapkorpusz: SP tokenizálás
Sokkal magasabb fedés, ritka címkékre is
A teljesítmény a címkegyakoriság függvényében
Online korpusz: SP tokenizálás
Alacsonyabb P és R: nagy a címkeváltozatosság
A szubjektív teljesítmény sokkal jobb!
Címketípusok
Tanítóanyag: címketípusokElőfordulások a tesztanyagban
<5 >=5 <5 (a tanítóanyagban)
online nem név 51,90% 81,46% 18,54% 15,36%
név 48,10% 84,46% 15,54% 17,74%
hetilap nem név 4,13% 4,28% 95,72% 0,04%
név 95,87% 85,96% 14,04% 14,41%
Ezeket kihagyhatjuk
(gyorsabb tanítás, kisebb modell)
76% P @ 58% R
Olvasmánylista
• A. Joulin, E. Grave, P. Bojanowski, T. Mikolov, Bag of Tricks for Efficient Text Classification
• P. Bojanowski, E. Grave, A. Joulin, T. Mikolov, EnrichingWord Vectors with Subword Information
• Attila Novák, Borbála Novák:Cross-Lingual Generation and Evaluation of a Wide-Coverage Lexical Semantic Resource. LREC 2018
• Attila Novák, László Laki, Borbála Novák:CBOW-tag: a Modified CBOW Algorithm for Generating Embedding Models from Annotated Corpora.LREC 2020