51
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

Statikus beágyazási modellek: disztribúcióalapú

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Statikus beágyazási modellek: disztribúcióalapú

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

Page 2: Statikus beágyazási modellek: disztribúcióalapú

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

Page 3: Statikus beágyazási modellek: disztribúcióalapú

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

Page 4: Statikus beágyazási modellek: disztribúcióalapú

Szóbeágyazási modellek

Page 5: Statikus beágyazási modellek: disztribúcióalapú

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

Page 6: Statikus beágyazási modellek: disztribúcióalapú

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

Page 7: Statikus beágyazási modellek: disztribúcióalapú

Folytonos disztribúciós szemantikai modellek

Page 8: Statikus beágyazási modellek: disztribúcióalapú

Folytonos disztribúciós szemantikai modellek

CBOW SKIP-GRAM

Page 9: Statikus beágyazási modellek: disztribúcióalapú

Háromféle magyar alapmodell különböző előfeldolgozással

Page 10: Statikus beágyazási modellek: disztribúcióalapú

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

Page 11: Statikus beágyazási modellek: disztribúcióalapú

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

Page 12: Statikus beágyazási modellek: disztribúcióalapú

Kísérletek

Page 13: Statikus beágyazási modellek: disztribúcióalapú

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] . [.]

Page 14: Statikus beágyazási modellek: disztribúcióalapú

Kísérletek

Page 15: Statikus beágyazási modellek: disztribúcióalapú

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] .[.]

Page 16: Statikus beágyazási modellek: disztribúcióalapú

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

Page 17: Statikus beágyazási modellek: disztribúcióalapú

Kísérletek

Page 18: Statikus beágyazási modellek: disztribúcióalapú

A Dologfelismerő

Page 19: Statikus beágyazási modellek: disztribúcióalapú

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)

Page 20: Statikus beágyazási modellek: disztribúcióalapú

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

Page 21: Statikus beágyazási modellek: disztribúcióalapú

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

Page 22: Statikus beágyazási modellek: disztribúcióalapú

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

Page 23: Statikus beágyazási modellek: disztribúcióalapú

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

Page 24: Statikus beágyazási modellek: disztribúcióalapú

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

Page 25: Statikus beágyazási modellek: disztribúcióalapú

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

Page 26: Statikus beágyazási modellek: disztribúcióalapú

Nyelvek közötti leképezés

Page 27: Statikus beágyazási modellek: disztribúcióalapú

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

Page 28: Statikus beágyazási modellek: disztribúcióalapú

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

Page 29: Statikus beágyazási modellek: disztribúcióalapú

Eredmények

Page 30: Statikus beágyazási modellek: disztribúcióalapú

Kvantitatív kiértékelés

Page 31: Statikus beágyazási modellek: disztribúcióalapú

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

Page 32: Statikus beágyazási modellek: disztribúcióalapú

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

Page 33: Statikus beágyazási modellek: disztribúcióalapú

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

Page 34: Statikus beágyazási modellek: disztribúcióalapú

A korpusz előkészítése

Page 35: Statikus beágyazási modellek: disztribúcióalapú

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

Page 36: Statikus beágyazási modellek: disztribúcióalapú

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

Page 37: Statikus beágyazási modellek: disztribúcióalapú

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)

Page 38: Statikus beágyazási modellek: disztribúcióalapú

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

Page 39: Statikus beágyazási modellek: disztribúcióalapú

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ó

Page 40: Statikus beágyazási modellek: disztribúcióalapú

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

Page 41: Statikus beágyazási modellek: disztribúcióalapú

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?

Page 42: Statikus beágyazási modellek: disztribúcióalapú

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

Page 43: Statikus beágyazási modellek: disztribúcióalapú

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ó

Page 44: Statikus beágyazási modellek: disztribúcióalapú

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

Page 45: Statikus beágyazási modellek: disztribúcióalapú

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

Page 46: Statikus beágyazási modellek: disztribúcióalapú

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

Page 47: Statikus beágyazási modellek: disztribúcióalapú

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

Page 48: Statikus beágyazási modellek: disztribúcióalapú

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!

Page 49: Statikus beágyazási modellek: disztribúcióalapú
Page 50: Statikus beágyazási modellek: disztribúcióalapú

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

Page 51: Statikus beágyazási modellek: disztribúcióalapú

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