škrbina Kako deluje klasifikacija besedila? - Združi se.AI
Povežite se z nami

AI 101

Kako deluje klasifikacija besedila?

mm
Posodobljeno on

Klasifikacija besedila je postopek analiziranja besedilnih zaporedij in jim dodeljevanja oznak, ki jih uvrščajo v skupine glede na njihovo vsebino. Klasifikacija besedila je podlaga za skoraj vse naloge umetne inteligence ali strojnega učenja, ki vključujejo obdelavo naravnega jezika (NLP). Z razvrščanjem besedila lahko računalniški program izvaja široko paleto različnih nalog, kot so prepoznavanje neželene pošte, analiza razpoloženja in funkcije chatbota. Kako natančno deluje klasifikacija besedil? Katere so različne metode za izvedbo klasifikacije besedil? Spodaj bomo raziskali odgovore na ta vprašanja.

Definiranje klasifikacije besedila

Pomembno je, da si vzamemo nekaj časa in se prepričamo, da razumemo kakšna je klasifikacija besedila, na splošno, preden se poglobimo v različne metode klasifikacije besedila. Klasifikacija besedila je eden od tistih izrazov, ki se uporablja za veliko različnih nalog in algoritmov, zato je koristno, da se prepričate, da razumete osnovni koncept klasifikacije besedila, preden nadaljujete z raziskovanjem različnih načinov, kako jo je mogoče izvesti.

Vse, kar vključuje ustvarjanje različnih kategorij za besedilo in nato označevanje različnih vzorcev besedila kot te kategorije, se lahko obravnava kot klasifikacija besedila. Dokler sistem izvaja te osnovne korake, se lahko šteje za klasifikator besedila, ne glede na natančno uporabljeno metodo za klasifikacijo besedila in ne glede na to, kako se klasifikator besedila na koncu uporabi. Zaznavanje neželene elektronske pošte, organiziranje dokumentov po temi ali naslovu in prepoznavanje občutka ocene za izdelek so vsi primeri razvrščanja besedila, ker se dosežejo tako, da se besedilo vzame kot vhod in izpiše oznaka razreda za ta del besedila.

Kako deluje klasifikacija besedila?

Fotografija: Quinn Dombrowski prek Flickra, CC BY SA 2.0, (https://www.flickr.com/photos/quinnanya/4714794045)

Večino metod za razvrščanje besedil lahko uvrstimo v eno od treh različnih kategorij: metode, ki temeljijo na pravilih, ali metode strojnega učenja.

Klasifikacijske metode na podlagi pravil

Metode razvrščanja besedil, ki temeljijo na pravilih, delujejo z uporabo eksplicitno oblikovanih jezikovnih pravil. Sistem uporablja pravila, ki jih ustvari inženir, da določi, kateremu razredu naj pripada določen del besedila, pri čemer išče namige v obliki semantično relevantnih elementov besedila. Vsako pravilo ima vzorec, s katerim se mora besedilo ujemati, da se uvrsti v ustrezno kategorijo.

Če smo bolj konkretni, recimo, da ste želeli oblikovati klasifikator besedila, ki bi lahko razlikoval običajne teme pogovorov, kot so vreme, filmi ali hrana. Če želite svojemu besedilnemu klasifikatorju omogočiti, da prepozna razpravo o vremenu, mu lahko naročite, naj poišče besede, povezane z vremenom, v telesu vzorcev besedila, ki mu jih daje. Imeli bi seznam ključnih besed, fraz in drugih ustreznih vzorcev, ki bi jih lahko uporabili za razlikovanje teme. Na primer, klasifikatorju lahko naročite, naj poišče besede, kot so "veter", "dež", "sonce", "sneg" ali "oblak". Nato bi lahko klasifikator pregledal vneseno besedilo in preštel, kolikokrat se te besede pojavijo v telesu besedila, in če bi se pojavile pogosteje kot besede, povezane s filmi, bi besedilo razvrstili v vremenski razred.

Prednost sistemov, ki temeljijo na pravilih, je v tem, da so njihovi vhodi in izhodi predvidljivi in ​​si jih lahko razlagajo ljudje ter jih je mogoče izboljšati z ročnim posredovanjem inženirja. Vendar pa so metode razvrščanja, ki temeljijo na pravilih, tudi nekoliko krhke in imajo pogosto težave pri posploševanju, ker se lahko držijo samo vnaprej določenih vzorcev, ki so bili programirani. Kot primer bi se beseda "oblak" lahko nanašala na vlago v nebo ali pa se nanaša na digitalni oblak, kjer so shranjeni podatki. Sistemi, ki temeljijo na pravilih, težko obravnavajo te nianse, ne da bi inženirji porabili precej časa za ročno predvidevanje in prilagajanje teh razlik.

Sistemi strojnega učenja

Kot je navedeno zgoraj, imajo sistemi, ki temeljijo na pravilih, omejitve, saj morajo biti njihove funkcije in pravila vnaprej programirani. Nasprotno pa klasifikacijski sistemi, ki temeljijo na strojnem učenju, delujejo z uporabo algoritmov, ki analizirajo nize podatkov za vzorce, ki so povezani z določenim razredom.

Algoritmom strojnega učenja se posredujejo vnaprej označeni/predrazvrščeni primerki, ki se analizirajo glede ustreznih funkcij. Ti vnaprej označeni primeri so podatki o usposabljanju.

Klasifikator strojnega učenja analizira podatke o usposabljanju in se uči vzorcev, ki so povezani z različnimi razredi. Po tem se nevidnim primerkom odvzamejo oznake in se posredujejo algoritmu za razvrščanje, ki primerkom dodeli oznako. Dodeljene oznake se nato primerjajo z izvirnimi oznakami, da se ugotovi, kako natančen je bil klasifikator strojnega učenja, pri čemer se oceni, kako dobro se je model naučil, kateri vzorci napovedujejo, katere razrede.

Algoritmi strojnega učenja delujejo z analizo numeričnih podatkov. To pomeni, da je treba za uporabo algoritma strojnega učenja na besedilnih podatkih besedilo pretvoriti v numerično obliko. Obstajajo različne metode kodiranja besedilnih podatkov kot numeričnih podatkov in ustvarjanje metod strojnega učenja okoli teh podatkov. Spodaj bomo obravnavali nekaj različnih načinov za predstavitev besedilnih podatkov.

Bag-of-Words

Vreča z besedami je eden najpogosteje uporabljenih pristopov za kodiranje in predstavljanje besedilnih podatkov. Izraz "vreča z besedami" izhaja iz dejstva, da v bistvu vzamete vse besede v dokumentih in jih vse spravite v eno "vrečo", ne da bi bili pozorni na besedni red ali slovnico, pozorni ste le na pogostost besed v vrečki. Posledica tega je dolgo polje ali vektor, ki vsebuje eno samo predstavitev vseh besed v vhodnih dokumentih. Torej, če je v vhodnih dokumentih skupno 10000 edinstvenih besed, bodo značilni vektorji dolgi 10000 besed. Tako se izračuna velikost vektorja besedne vrečke/značilnosti.

Fotografija: gk_ prek Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)

Ko je velikost vektorja značilnosti določena, je vsakemu dokumentu na seznamu skupnih dokumentov dodeljen lasten vektor, napolnjen s številkami, ki označujejo, kolikokrat se zadevna beseda pojavi v trenutnem dokumentu. To pomeni, da če se beseda "hrana" pojavi osemkrat v enem dokumentu z besedilom, bo ta ustrezen vektor/matrika funkcij imel osmico na ustreznem mestu.

Povedano drugače, vse unikatne besede, ki se pojavijo v vhodnih dokumentih, se zložijo v eno vrečko in nato vsak dokument dobi besedni vektor enake velikosti, ki se nato izpolni s številom pojavov različnih besed v dokumentu. .

Nabori besedilnih podatkov bodo pogosto vsebovali veliko število edinstvenih besed, vendar se večina od njih ne uporablja zelo pogosto. Iz tega razloga je število besed, uporabljenih za ustvarjanje besednega vektorja, običajno omejeno na izbrano vrednost (N), nato pa bo dimenzija značilnega vektorja Nx1.

Pogostost termina – inverzna pogostost dokumenta (TF-IDF)

Drugi način predstavitve dokumenta na podlagi besed v njem je sinhronizacija Pogostost termina – inverzna pogostost dokumenta (TF-IDF). Pristop TF-IDF ustvari tudi vektor, ki predstavlja dokument na podlagi besed v njem, vendar za razliko od Bag-of-words so te besede tehtajo več kot le njihova pogostost. TF-IDF upošteva pomembnost besed v dokumentih in poskuša kvantificirati, kako pomembna je ta beseda za predmet dokumenta. Z drugimi besedami, TF-IDF analizira ustreznost namesto pogostosti in število besed v vektorju značilnosti se nadomesti z rezultatom TF-IDF, ki se izračuna glede na celoten nabor podatkov.

Pristop TF-IDF deluje tako, da najprej izračuna pogostost izraza, kolikokrat se edinstveni izrazi pojavijo v določenem dokumentu. Vendar pa TF-IDF skrbi tudi za omejitev vpliva zelo pogostih besed, kot so »the«, »ali« in »in«, saj so te »zaporne besede« zelo pogoste, vendar posredujejo zelo malo informacij o vsebini dokumenta. Te besede je treba opustiti, na kar se nanaša del TF-IDF o "inverzni pogostosti dokumenta". To je storjeno zato, ker v več dokumentih, v katerih se prikaže določena beseda, manj je ta beseda uporabna pri razlikovanju od drugih dokumentov na seznamu vseh dokumentov. Formula, ki jo TF-IDF uporablja za izračun pomembnosti besede, je zasnovana tako, da ohrani besede, ki so najpogostejše in pomensko najbolj bogate.

Vektorji značilnosti, ustvarjeni s pristopom TF-IDF, vsebujejo normalizirane vrednosti, ki seštevajo na ena in vsaki besedi dodelijo uteženo vrednost, kot je izračunana s formulo TF-IDF.

Vdelave besed

Besedne vdelave so metode predstavljanja besedila, ki zagotavljajo, da imajo besede s podobnim pomenom podobne številčne predstavitve.

Besedne vdelave delujejo z "vektorizacijo" besed, kar pomeni, da predstavljajo besede kot realno vredne vektorje v vektorskem prostoru. Vektorji obstajajo v mreži ali matriki in imajo smer in dolžino (ali velikost). Pri predstavljanju besed kot vektorjev se besede pretvorijo v vektorje, sestavljene iz realnih vrednosti. Vsaka beseda je preslikana v en vektor in besede, ki so podobne po pomenu, imajo podobno smer in velikost. Ta vrsta kodiranja omogoča, da se algoritem strojnega učenja nauči zapletenih odnosov med besedami.

Vdelave, ki predstavljajo različne besede, so ustvarjene glede na to, kako se zadevne besede uporabljajo. Ker bodo imele besede, ki se uporabljajo na podoben način, podobne vektorje, postopek ustvarjanja vdelanih besed samodejno prevede nekaj pomenov, ki jih imajo besede. Pristop vreče besed nasprotno ustvarja krhke predstavitve, kjer bodo imele različne besede različne predstavitve, tudi če se uporabljajo v zelo podobnih kontekstih.

Posledično so vdelane besede boljše pri zajemanju konteksta besed v stavku.

Za ustvarjanje vdelanih besed se uporabljajo različni algoritmi in pristopi. Nekateri najpogostejši in zanesljivi načini vdelave besed vključujejo: vdelane plasti, word2vec in GloVe.

Vdelava slojev

Eden od možnih načinov za uporabo vdelav besed skupaj s sistemom za strojno/globoko učenje je uporabite vdelano plast. Vdelane plasti so plasti globokega učenja, ki pretvorijo besede v vdelane, ki se nato vnesejo v preostali sistem globokega učenja. Besedne vdelave se naučijo, ko se omrežje usposablja za določeno besedilno nalogo.

Pri pristopu vdelave besed bodo podobne besede imele podobne predstavitve in bodo bližje druga drugi kot različnim besedam.

Če želite uporabiti vdelane plasti, je treba besedilo najprej predhodno obdelati. Besedilo v dokumentu mora biti enkratno kodirano, velikost vektorja pa je treba določiti vnaprej. Enkratno besedilo se nato pretvori v besedne vektorje in vektorji se posredujejo v model strojnega učenja.

Word2Vec

Word2Vec je še ena pogosta metoda vdelave besed. Word2Vec uporablja statistične metode za pretvorbo besed v vdelave in je optimiziran za uporabo z modeli, ki temeljijo na nevronski mreži. Word2Vec so razvili Googlovi raziskovalci in je ena najpogosteje uporabljenih metod vdelave, saj zanesljivo zagotavlja uporabne, bogate vdelave. Predstavitve Word2Vec so uporabne za prepoznavanje pomenskih in sintaktičnih skupnih značilnosti v jeziku. To pomeni, da predstavitve Word2Vec zajamejo razmerja med podobnimi koncepti, saj lahko razlikujejo, da je skupnost med »kraljem« in »kraljico« licenčnina in da »kralj« implicira »moškost«, medtem ko kraljica implicira »ženskost«.

GloVe

GloVE ali globalni vektor za predstavitev besed, gradi na algoritmih za vdelavo, ki jih uporablja Word2Vec. Metode vdelave GloVe združujejo vidike Word2Vec in tehnik faktorizacije matrike, kot je latentna semantična analiza. Prednost Word2Vec je, da lahko zajame kontekst, vendar kot kompromis slabo zajame globalno statistiko besedila. Nasprotno pa so tradicionalne vektorske predstavitve dobre pri določanju globalne statistike besedila, vendar niso uporabne za določanje konteksta besed in besednih zvez. GloVE črpa iz najboljšega iz obeh pristopov in ustvarja besedni kontekst na podlagi globalne statistike besedila.

Bloger in programer s posebnostmi v strojno učenje in Globoko učenje teme. Daniel upa, da bo drugim pomagal uporabiti moč umetne inteligence za družbeno dobro.