Ez a bejegyzés strukturált kérdések gyűjteménye arra vonatkozóan, hogy miért működik a TF-IDF mint szövegvektorizálási módszer, kezdve azzal az elsődleges kérdéssel, hogy miért van rá szükség.
Miért van szükségünk szöveg-vektorizálásra?
- Először is, a számítógépek csak a számokat értik. A számítógépnek a legalacsonyabb szinten (bytecode) érkező bemenetek bináris számok sorozata, ami azt jelenti, hogy a vokális nyelvekből származó szövegek értelmezéséhez szükségünk van ezekre a számok matematikai ábrázolására.
- Másodszor, a szöveg vektoros ábrázolása lehetővé teszi, hogy kihasználjuk a lineáris algebra erejét különböző műveletekhez (pont/keresztszorzatok, síkok, merőlegesek, normálok stb.). Ez segít a feltáró adatelemzésben (EDA), a geometriai intuícióban, a problémák megjelenítésében (1-D, 2-D és 3-D), valamint a lineáris algebrai módszerek magasabb dimenziókra (›3-D) történő extrapolálásában.
Mi a szabály a szöveg vektorokká alakítására?
Ha három szó angolul (w1, w2, w3), akkor vektoros ábrázolással rendelkezne (v1, v2, v3). Ezután a szabály leegyszerűsítve a következő:
"Ha a (w1, w2) "szemantikailag" jobban rokon szavak az angolban, mint a (w1, w3), akkor a (v1, v2) vektorok közötti távolságnak kisebbnek kell lennie, mint a (v1, v3) közötti távolságnak."
Például a szavak (jó, nagyszerű) szorosan összefüggenek jelentésükkel, mint (jó, rossz), így a (V(jó), V(nagy)) közötti „euklideszi” távolság kisebb lesz, mint az euklideszi távolság a (V(jó), V(rossz)) között.
Miért kell a hasonló szavaknak geometriailag közelebb lenniük?
A gépi tanulási modellek betanítása során a modell megpróbál megtanulni és egyenleteket (vagy feltételeket) definiálni a különböző csoportok osztályozására. Ha a hasonló pontok geometriailag közel vannak egymáshoz, akkor könnyebben osztályozható a különböző csoportok között. A következő kép a különböző adatcímkék közötti döntési határok megjelenítését segíti pozitív, negatív és nemi alapú/gender-semleges szavak példáival.
TF-IDF
A TF-IDF a hírhedt módszerek közé tartozik (többek között) a dokumentumokban lévő szavak szövegvektorizálására.
Dokumentum: szavak, szövegek vagy mondatok csoportja, amelyek egyetlen adatpontot képviselnek
Korpusz: Dokumentumok gyűjteménye
A TF a Term Frequency rövidítése, amely a szó előfordulásának valószínűségét jelenti a dokumentumban.
A fenti definícióhoz hasonlóan definiálhatjuk a dokumentum gyakoriságát, amely
a szó megtalálásának valószínűségét jelenti a korpusz dokumentumai között.
Az IDF a Inverse Document Frequency rövidítése. Ez a dokumentumgyakoriság inverzét jelenti, kivéve egy változást – a dokumentum gyakoriságának inverzének logaritmikustranszformációját.
Az IDF felméri a szó fontosságát a korpuszban (vagy az adatkészletben). Más szóval, a korpusz különböző dokumentumaiban ritkán előforduló szavak nagyobb jelentőséget kapnak.
Vegye figyelembe, hogy az egyenlet logaritmikus transzformációt használ a dokumentum gyakoriságának inverzére. Ebből adódik a következő kérdés.
Miért használunk logaritmikus skálát az IDF kiszámításához?
Ezt kétféleképpen próbálhatjuk meg indokolni, elméleti és gyakorlati úton.
Egyelméletimagyarázat, a szavak előfordulásának gyakorisága egy nyelvben (például az angolban) a „Zipf-törvényt” követi, a következőképpen fogalmazva: „Tekintettel néhány „korpusz” a „természetes nyelvű” megnyilatkozások közül bármely szó gyakorisága „fordított arányban” a „gyakoriságtáblázatban” elfoglalt rangjával.
Az angol nyelvnek ezzel a tulajdonságával a szavak gyakoriságának valószínűségi eloszlása követi a „hatalomtörvény” eloszlást. Manapság sok gépi tanulási algoritmus jobban teljesít a változók Gauss-eloszlásával. Az adatok Power Law eloszlásból Gauss eloszlására történő átalakításához használhatunk Box-Cox transzformációt a logaritmikus természet. Valószínűleg ez magyarázza, hogy a kutatási „cikkben” miért javasoltak logaritmikus transzformációt az IDF számára.
Másodszor, a gyakorlatiasabb intuíció az IDF tartományának csökkentése, így viszonylag összehasonlíthatóvá téve azt a TF-hez, így ha ezt a két számot megszorozzuk a TF-IDF-ben, az eredmény értéke hasonló hozzájárulásokkal jön létre mindkét.
Miért kell a TF és az IDF tartományának viszonylag összehasonlíthatónak lennie?
Vegye figyelembe a„the” és „hardworking” szavakat angolul. Tudjuk, hogy ez utóbbinak több jelentése van, és fontosnak kell tekinteni. A korpuszban lévő 'the' szó IDF-je (logtranszformáció nélkül) 1 lehet. Hogyan?
Nos, gondoljon egy korpuszra, amely 1000dokumentumot tartalmaz. Ha a 'a' szó mind az 1000dokumentumban előfordul, akkor az IDF definíciója szerint (logtranszformáció nélkül) 1000/1000 = 1.
Nos, mivel a „szorgalmas” egy ritkán előforduló szó, ennek IDF-je (logtranszformáció nélkül) 1000 lehet. Hogyan?
Tekintsük ugyanazt a korpuszt 1000dokumentummal. Ha a 'szorgalmas' szó csak egydokumentumban fordult elő, akkor az IDF meghatározása szerint (logtranszformáció nélkül) 1000 /1 = 1000.
Az IDF értéktartománya (logtranszformáció nélkül) most [11000] – a ritkán előforduló szavak miatt. Azonban a alap10 logaritmikus transzformációjával (az egyszerűség kedvéért) ez a tartomány [1,3]-ra csökken.
Ha megszorozzuk a TF-et és az IDF-et (a logtranszformáció nélkül), akkor az értékek most gyorsan felrobbannak (az IDF hatalmas tartománya miatt). Csökkenteni kell az IDF hatását ebben a termékben.
A hatalmas tartomány kompenzálására és a hatás tompítására logaritmikus transzformációt használunk az IDF-en, így a TF és az IDF hozzájárulása a TF-IDF számértékéhez összehasonlítható és relatív tartományon belül van.
Mi történik ezután a TF-IDF érték kiszámítása után?
Nos, minden szóhoz van egy TF-IDF érték. A dokumentum vektoros ábrázolásában az egyes szavakhoz tartozó dimenzió értéke a numerikus TF-IDF értéket tartalmazza. Ezt a vektort a modell betanítására, tesztelésére és értékelésére használják.
Mik a TF-IDF hátrányai?
Először is világosan láthatjuk, hogy két különböző szó lehet, a TF-IDF azonos értékeivel. Mert ez a mérőszám csak a szó előfordulásának számát veszi figyelembe a dokumentumban és a korpuszban.
Másodszor, azon a feltételezésen alapul, hogy a hasonló jelentésű szavak hasonló számú alkalommal fordulnak elő a korpuszban. Vagy más szóval azt is mondhatjuk, hogy a szó szemantikai jelentését ez a módszer magyarázza. Például: ízletes és finom két azonos jelentésű szó. Azonban nem tudjuk garantálni, hogy ezeknek a szavaknak a TF-IDF értékei relatívak és hasonlóak.
Nos, ezeket a hátrányokat leküzdjük a 2013-ban javasolt Word2Vec algoritmussal, amely a szövegvektorizálás legkorszerűbb technikájának bizonyul. A technika mentése a következő bejegyzéshez.
Remélem ez segít :)