csonk Hogyan működik a szövegosztályozás? - Egyesüljetek.AI
Kapcsolatba velünk
AI mesterkurzus:

AI 101

Hogyan működik a szövegosztályozás?

mm
korszerűsített on

A szövegosztályozás a szövegsorozatok elemzésének és címkézésnek a folyamata, tartalmuk alapján csoportba helyezve őket. A szövegbesorolás szinte minden mesterséges intelligencia vagy gépi tanulási feladat alapja, amely magában foglalja a természetes nyelvi feldolgozást (NLP). A szöveges besorolással a számítógépes programok sokféle feladatot, például spamfelismerést, hangulatelemzést és chatbot funkciókat hajthatnak végre. Hogyan működik pontosan a szövegosztályozás? Melyek a különböző szövegosztályozási módszerek? Az alábbiakban ezekre a kérdésekre keressük a választ.

Szövegosztályozás meghatározása

Fontos, hogy szánjunk egy kis időt, és győződjünk meg arról, hogy megértjük mi az a szövegbesorolásáltalánosságban, mielőtt belemerülnénk a szövegosztályozás különböző módszereibe. A szövegbesorolás egyike azoknak a kifejezéseknek, amelyeket számos különböző feladatra és algoritmusra alkalmaznak, ezért hasznos megbizonyosodni arról, hogy megértjük a szövegosztályozás alapfogalmát, mielőtt folytatnánk a végrehajtás különböző módjait.

Szövegbesorolásnak tekinthető minden, amihez különböző kategóriákat kell létrehozni a szöveghez, majd különböző szövegmintákat címkézni ezeknek a kategóriáknak. Mindaddig, amíg egy rendszer végrehajtja ezeket az alapvető lépéseket, szövegosztályozónak tekinthető, függetlenül a szöveg osztályozásának pontos módszerétől és attól, hogy végül hogyan alkalmazzák a szövegosztályozót. Az e-mail spam észlelése, a dokumentumok téma vagy cím szerinti rendszerezése, valamint a termékre vonatkozó véleményezés hangulatának felismerése mind a szöveges besorolás példája, mivel ezeket úgy érik el, hogy szöveget vesznek bemenetként, és osztálycímkét adnak ki az adott szövegrészhez.

Hogyan működik a szövegosztályozás?

Fotó: Quinn Dombrowski a Flickr-en keresztül, CC BY SA 2.0, (https://www.flickr.com/photos/quinnanya/4714794045)

A legtöbb szövegosztályozási módszer három különböző kategóriába sorolható: szabályalapú módszerek vagy gépi tanulási módszerek.

Szabályalapú osztályozási módszerek

A szabályokon alapuló szövegosztályozási módszerek kifejezetten megtervezett nyelvi szabályok használatával működnek. A rendszer a mérnök által létrehozott szabályok alapján határozza meg, hogy egy adott szöveg melyik osztályba tartozzon, szemantikailag releváns szövegelemek formájában keresve a nyomokat. Minden szabálynak van egy mintája, amelyhez a szövegnek egyeznie kell, hogy a megfelelő kategóriába kerüljön.

Hogy konkrétabbak legyünk, tegyük fel, hogy olyan szövegosztályozót szeretett volna megtervezni, amely képes megkülönböztetni a gyakori beszélgetési témákat, például az időjárást, a filmeket vagy az ételeket. Annak érdekében, hogy a szövegosztályozó felismerje az időjárásról szóló vitát, megkérheti, hogy keressen időjárással kapcsolatos szavakat az általa betáplált szövegminták törzsében. Kaphat egy listát a kulcsszavakról, kifejezésekről és egyéb releváns mintákról, amelyek segítségével megkülönböztethető a téma. Például utasíthatja az osztályozót, hogy keressen olyan szavakat, mint a „szél”, „eső”, „nap”, „hó” vagy „felhő”. Ezután megkérheti az osztályozót, hogy átnézze a bevitt szöveget, és megszámolja, hányszor jelennek meg ezek a szavak a szöveg törzsében, és ha gyakrabban fordulnak elő, mint a filmekhez kapcsolódó szavak, akkor a szöveget az időjárási osztályba sorolja.

A szabályalapú rendszerek előnye, hogy be- és kimeneteik az ember számára előre jelezhetők és értelmezhetők, és a mérnök kézi beavatkozásával javíthatók. Azonban a szabályokon alapuló osztályozási módszerek is kissé törékenyek, és gyakran nehezen általánosíthatók, mert csak az előre definiált mintákhoz tudnak ragaszkodni, amelyek be vannak programozva. Például a „felhő” szó utalhat a nedvességtartalomra is. égbolt, vagy utalhat egy digitális felhőre, ahol az adatokat tárolják. A szabályokon alapuló rendszerek számára nehéz kezelni ezeket az árnyalatokat anélkül, hogy a mérnökök elég sok időt töltenének azzal, hogy megpróbálják manuálisan előre jelezni és alkalmazkodni ezekhez a finomságokhoz.

Gépi tanulási rendszerek

Ahogy fentebb említettük, a szabályalapú rendszereknek vannak korlátai, mivel funkcióikat és szabályaikat előre programozni kell. Ezzel szemben a gépi tanuláson alapuló osztályozási rendszerek olyan algoritmusok alkalmazásával működnek, amelyek elemzik az adatkészleteket egy adott osztályhoz társított minták alapján.

A gépi tanulási algoritmusok előre felcímkézett/előre besorolt ​​példányokkal vannak táplálva, amelyeket a rendszer elemzi a releváns funkciók szempontjából. Ezek az előre felcímkézett példányok a betanítási adatok.

A gépi tanulási osztályozó elemzi a képzési adatokat, és megtanulja a különböző osztályokhoz társított mintákat. Ezt követően a láthatatlan példányokat megfosztják a címkéiktől, és az osztályozási algoritmushoz továbbítják, amely címkét rendel a példányokhoz. A hozzárendelt címkéket ezután összehasonlítja az eredeti címkékkel, hogy megtudja, mennyire volt pontos a gépi tanulási osztályozó, és felméri, hogy a modell mennyire tanulta meg, hogy milyen minták milyen osztályokat jeleznek előre.

A gépi tanulási algoritmusok numerikus adatok elemzésével működnek. Ez azt jelenti, hogy a szöveges adatokon gépi tanulási algoritmus használatához a szöveget numerikus formátumba kell konvertálni. Különféle módszerek léteznek a szöveges adatok numerikus adatként történő kódolására és az adatok köré gépi tanulási módszerek létrehozására. Az alábbiakban bemutatunk néhány különféle módot a szöveges adatok megjelenítésére.

Szavak zsákja

Szavak zacskója a szöveges adatok kódolásának és megjelenítésének egyik leggyakrabban használt megközelítése. A „szózsák” kifejezés onnan ered, hogy lényegében a dokumentumokban található összes szót egy „zsákba” rakod anélkül, hogy a szórendre vagy a nyelvtanra figyelne, csak a szavak gyakorisága a táskában. Ez egy hosszú tömböt vagy vektort eredményez, amely a bemeneti dokumentumokban lévő összes szó egyetlen reprezentációját tartalmazza. Tehát ha a beviteli dokumentumokban összesen 10000 10000 egyedi szó van, a jellemzővektorok XNUMX XNUMX szó hosszúak lesznek. Így kerül kiszámításra a szótáska/jellemzővektor mérete.

Fotó: gk_ via Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)

A jellemzővektor méretének meghatározása után az összes dokumentum listájában minden dokumentumhoz hozzárendeljük a saját vektorát, amely számokkal van kitöltve, amely jelzi, hogy a szóban forgó szó hányszor szerepel az aktuális dokumentumban. Ez azt jelenti, hogy ha az „étel” szó nyolcszor szerepel egy szöveges dokumentumon belül, akkor a megfelelő jellemzővektor/szolgáltatástömb nyolcas a megfelelő pozícióban.

Másképpen fogalmazva, a bemeneti dokumentumokban megjelenő összes egyedi szó egy zacskóba van halmozva, majd minden dokumentum egy azonos méretű szóvektort kap, amelyet ezután kitöltenek azzal, hogy a különböző szavak hányszor szerepelnek a dokumentumban. .

A szöveges adatkészletek gyakran nagyszámú egyedi szót tartalmaznak, de legtöbbjüket nem használják túl gyakran. Emiatt a szóvektor létrehozásához használt szavak száma általában egy kiválasztott értékre (N) van korlátozva, és ekkor a jellemzővektor dimenziója Nx1 lesz.

Term Frequency-Inverse Document Frequency (TF-IDF)

Egy másik módja annak, hogy egy dokumentumot a benne lévő szavak alapján ábrázoljon, a szinkronizálás Term Frequency-Inverse Document Frequency (TF-IDF). A TF-IDF megközelítés egy vektort is létrehoz, amely a benne lévő szavak alapján reprezentálja a dokumentumot, de a Bag-of-words-től eltérően ezek a szavak nemcsak gyakoriságukkal súlyozva. A TF-IDF figyelembe veszi a szavak fontosságát a dokumentumokban, és megpróbálja számszerűsíteni, hogy ez a szó mennyire releváns a dokumentum tárgyához. Más szavakkal, a TF-IDF a gyakoriság helyett a relevanciát elemzi, és a jellemzővektorban a szószámot egy TF-IDF pontszám helyettesíti, amelyet a teljes adatkészletre számítanak ki.

A TF-IDF megközelítés úgy működik, hogy először kiszámítja a kifejezés gyakoriságát, vagyis azt, hogy az egyedi kifejezések hányszor jelennek meg egy adott dokumentumon belül. A TF-IDF azonban arra is ügyel, hogy korlátozza az olyan rendkívül gyakori szavak, mint a „the”, „or” és „and” befolyását, mivel ezek a „stopszavak” nagyon gyakoriak, de nagyon kevés információt közölnek a dokumentum tartalmáról. Ezeket a szavakat le kell számolni, erre utal a TF-IDF „inverz dokumentumfrekvenciás” része. Ez azért van így, mert minél több dokumentumban szerepel egy adott szó, annál kevésbé hasznos ez a szó a többi dokumentumtól való megkülönböztetésében az összes dokumentum listájában. A TF-IDF által egy szó fontosságának kiszámításához használt képlet úgy készült, hogy megőrizze a leggyakoribb és szemantikailag leggazdagabb szavakat.

A TF-IDF megközelítéssel létrehozott jellemzővektorok normalizált értékeket tartalmaznak, amelyek összege egy, és minden szóhoz a TF-IDF képlettel számított súlyozott értéket rendel.

Szó beágyazások

Szóbeágyazások olyan szövegábrázolási módszerek, amelyek biztosítják, hogy a hasonló jelentésű szavak hasonló numerikus ábrázolással rendelkezzenek.

Szóbeágyazások szavak „vektorizálásával” működnek, ami azt jelenti, hogy a szavakat valós értékű vektorokként jelenítik meg egy vektortérben. A vektorok rácsban vagy mátrixban léteznek, és van irányuk és hosszuk (vagy nagyságuk). Amikor a szavakat vektorként ábrázoljuk, a szavak valós értékekből álló vektorokká alakulnak. Minden szó egy vektorra van leképezve, és a hasonló jelentésű szavaknak hasonló irányuk és nagyságuk van. Az ilyen típusú kódolás lehetővé teszi, hogy a gépi tanulási algoritmus bonyolult szavak közötti kapcsolatokat tanuljon meg.

A különböző szavakat képviselő beágyazások a szóban forgó szavak felhasználási módjának megfelelően jönnek létre. Mivel a hasonló módon használt szavaknak hasonló vektorai lesznek, a szóbeágyazások létrehozásának folyamata automatikusan lefordítja a szavak jelentésének egy részét. Ezzel szemben a szavak zsákos megközelítése törékeny reprezentációkat hoz létre, ahol a különböző szavaknak még akkor is eltérő lesz a reprezentációja, ha nagyon hasonló kontextusban használják őket.

Ennek eredményeként a szóbeágyazás jobban megragadja a mondaton belüli szavak kontextusát.

Különféle algoritmusok és megközelítések léteznek a szóbeágyazások létrehozására. A leggyakoribb és legmegbízhatóbb szóbeágyazási módszerek közé tartozik: rétegek beágyazása, word2vec és GloVe.

Rétegek beágyazása

A szóbeágyazások gépi tanulási/mélytanulási rendszer melletti használatának egyik lehetséges módja az, hogy használjon beágyazó réteget. A beágyazási rétegek olyan mély tanulási rétegek, amelyek a szavakat beágyazásokká alakítják, amelyeket aztán betáplálnak a mély tanulási rendszer többi részébe. A beágyazások szót a hálózati betanítás során tanulják meg egy adott szövegalapú feladathoz.

A szóbeágyazási megközelítésben a hasonló szavaknak hasonló a reprezentációja, és közelebb állnak egymáshoz, mint a különböző szavakhoz.

A beágyazási rétegek használatához először a szöveget elő kell feldolgozni. A dokumentumban lévő szövegnek egy-hot kódolásúnak kell lennie, és előre meg kell adni a vektor méretét. Az egyszeri szöveget ezután szóvektorokká alakítják, és a vektorokat átadják a gépi tanulási modellnek.

Word2Vec

Word2Vec egy másik gyakori módszer a szavak beágyazására. A Word2Vec statisztikai módszereket használ a szavak beágyazássá alakítására, és neurális hálózat alapú modellekhez optimalizált. A Word2Vec-et a Google kutatói fejlesztették ki, és ez az egyik leggyakrabban használt beágyazási módszer, mivel megbízhatóan hoz létre hasznos, gazdag beágyazásokat. A Word2Vec reprezentációk hasznosak a nyelv szemantikai és szintaktikai közös pontjainak azonosítására. Ez azt jelenti, hogy a Word2Vec ábrázolások a hasonló fogalmak közötti kapcsolatokat ragadják meg, és meg tudják különböztetni, hogy a „Király” és a „Királynő” közös vonása a királyság, a „király” pedig „férfiasságot”, míg a királynő a „nőiséget”.

Kesztyű

GloVE, vagy globális vektor a szóábrázoláshoz, a Word2Vec által használt beágyazási algoritmusokra épít. A GloVe beágyazási módszerek egyesítik a Word2Vec és a mátrixfaktorizációs technikák, például a látens szemantikai elemzés szempontjait. A Word2Vec előnye, hogy képes kontextust rögzíteni, de kompromisszumként rosszul rögzíti a globális szövegstatisztikát. Ezzel szemben a hagyományos vektoros ábrázolások jók a globális szövegstatisztikák meghatározásában, de nem hasznosak a szavak és kifejezések kontextusának meghatározásában. A GloVE mindkét megközelítés legjobbjából merít, és globális szövegstatisztikák alapján hoz létre szókontextust.

Blogger és programozó szakterületekkel Gépi tanulás és a Deep Learning témákat. Daniel abban reménykedik, hogy segíthet másoknak az AI erejét társadalmi javára használni.