stubs Kā darbojas teksta klasifikācija? - Apvienojieties.AI
Savienoties ar mums
AI meistarklase:

AI 101

Kā darbojas teksta klasifikācija?

mm
Atjaunināts on

Teksta klasifikācija ir process, kurā tiek analizētas teksta secības un piešķirtas tām etiķete, ierindojot tās grupā, pamatojoties uz to saturu. Teksta klasifikācija ir gandrīz jebkura AI vai mašīnmācīšanās uzdevuma pamatā, kas saistīts ar dabiskās valodas apstrādi (NLP). Izmantojot teksta klasifikāciju, datorprogramma var veikt dažādus dažādus uzdevumus, piemēram, surogātpasta atpazīšanu, sentimenta analīzi un tērzēšanas robota funkcijas. Kā tieši darbojas teksta klasifikācija? Kādas ir dažādas teksta klasifikācijas metodes? Tālāk mēs izpētīsim atbildes uz šiem jautājumiem.

Teksta klasifikācijas noteikšana

Ir svarīgi veltīt kādu laiku un pārliecināties, ka mēs saprotam kāda ir teksta klasifikācija, vispār, pirms iedziļināties dažādās teksta klasifikācijas metodēs. Teksta klasifikācija ir viens no tiem terminiem, kas tiek lietots daudziem dažādiem uzdevumiem un algoritmiem, tāpēc ir lietderīgi pārliecināties, ka mēs saprotam teksta klasifikācijas pamatjēdzienu, pirms sākam izpētīt dažādus veidus, kā to var veikt.

Jebko, kas ietver tekstam dažādu kategoriju izveidi un pēc tam dažādu teksta paraugu marķēšanu kā šīs kategorijas, var uzskatīt par teksta klasifikāciju. Kamēr sistēma veic šīs pamatdarbības, to var uzskatīt par teksta klasifikatoru neatkarīgi no precīzās teksta klasificēšanas metodes un neatkarīgi no tā, kā teksta klasifikators galu galā tiek piemērots. E-pasta surogātpasta noteikšana, dokumentu kārtošana pēc tēmas vai virsraksta un produkta atsauksmes noskaņojuma atpazīšana ir teksta klasifikācijas piemēri, jo to panāk, izmantojot tekstu kā ievadi un izvadot šīs teksta daļas klases etiķeti.

Kā darbojas teksta klasifikācija?

Foto: Quinn Dombrowski, izmantojot Flickr, CC BY SA 2.0, (https://www.flickr.com/photos/quinnanya/4714794045)

Lielāko daļu teksta klasifikācijas metožu var iedalīt vienā no trim dažādām kategorijām: uz kārtulām balstītās metodes vai mašīnmācīšanās metodes.

Uz likumiem balstītas klasifikācijas metodes

Uz likumiem balstītas teksta klasifikācijas metodes darbojas, izmantojot skaidri izstrādātus lingvistiskos noteikumus. Sistēma izmanto inženiera izveidotos noteikumus, lai noteiktu, kurai klasei konkrētajam teksta fragmentam vajadzētu piederēt, meklējot norādes semantiski atbilstošu teksta elementu veidā. Katram noteikumam ir paraugs, kuram ir jāatbilst tekstam, lai tas tiktu ievietots attiecīgajā kategorijā.

Lai būtu konkrētāk, pieņemsim, ka vēlējāties izveidot teksta klasifikatoru, kas spēj atšķirt izplatītas sarunu tēmas, piemēram, laikapstākļus, filmas vai ēdienu. Lai teksta klasifikators varētu atpazīt diskusijas par laikapstākļiem, varat likt tam meklēt ar laikapstākļiem saistītus vārdus teksta paraugu pamattekstā. Jums būs atslēgvārdu, frāžu un citu atbilstošu modeļu saraksts, ko varētu izmantot, lai atšķirtu tēmu. Piemēram, varat likt klasifikatoram meklēt tādus vārdus kā “vējš”, “lietus”, “saule”, “sniegs” vai “mākonis”. Pēc tam jūs varētu likt klasifikatoram pārskatīt ievades tekstu un saskaitīt, cik reižu šie vārdi parādās teksta pamattekstā, un, ja tie parādās biežāk nekā vārdi, kas saistīti ar filmām, teksts tiek klasificēts kā piederīgs laikapstākļu klasei.

Uz noteikumiem balstītu sistēmu priekšrocība ir tā, ka to ievades un izvades ir paredzamas un cilvēkiem saprotamas, un tās var uzlabot, inženierim manuāli iejaucoties. Tomēr uz noteikumiem balstītas klasifikācijas metodes ir arī nedaudz trauslas, un tām bieži ir grūti vispārināt, jo tās var ievērot tikai iepriekš definētus modeļus, kas ir ieprogrammēti. Piemēram, vārds “mākonis” varētu apzīmēt mitrumu debesis, vai arī tas var attiekties uz digitālo mākoni, kurā tiek glabāti dati. Uz noteikumiem balstītām sistēmām ir grūti tikt galā ar šīm niansēm, ja inženieri netērē pietiekami daudz laika, mēģinot manuāli paredzēt un pielāgoties šīm smalkumiem.

Mašīnmācīšanās sistēmas

Kā minēts iepriekš, uz noteikumiem balstītām sistēmām ir ierobežojumi, jo to funkcijām un noteikumiem jābūt iepriekš ieprogrammētiem. Turpretim uz mašīnmācīšanos balstītas klasifikācijas sistēmas darbojas, piemērojot algoritmus, kas analizē datu kopas par modeļiem, kas saistīti ar noteiktu klasi.

Mašīnmācīšanās algoritmi tiek ievadīti ar iepriekš iezīmētiem/iepriekš klasificētiem gadījumiem, kuros tiek analizētas atbilstošās funkcijas. Šie iepriekš iezīmētie gadījumi ir apmācības dati.

Mašīnmācīšanās klasifikators analizē apmācības datus un apgūst modeļus, kas saistīti ar dažādām klasēm. Pēc tam neredzētiem gadījumiem tiek noņemtas etiķetes, un tās tiek ievadītas klasifikācijas algoritmā, kas gadījumiem piešķir etiķeti. Pēc tam piešķirtās etiķetes tiek salīdzinātas ar sākotnējām etiķetēm, lai redzētu, cik precīzs bija mašīnmācīšanās klasifikators, novērtējot, cik labi modelis uzzināja, kādi modeļi paredz, kuras klases.

Mašīnmācīšanās algoritmi darbojas, analizējot skaitliskos datus. Tas nozīmē, ka, lai teksta datos izmantotu mašīnmācīšanās algoritmu, teksts ir jāpārvērš ciparu formātā. Ir dažādas metodes teksta datu kodēšanai kā skaitliskiem datiem un mašīnmācīšanās metožu izveidei ap šiem datiem. Tālāk mēs apskatīsim dažus dažādus teksta datu attēlošanas veidus.

Vārdu maiss

Vārdu maiss ir viena no visbiežāk izmantotajām pieejām teksta datu kodēšanai un attēlošanai. Termins “vārdu maiss” cēlies no tā, ka jūs būtībā ņemat visus vārdus dokumentos un saliekat tos visus vienā “maisā”, nepievēršot uzmanību vārdu secībai vai gramatikai, pievēršot uzmanību tikai vārdu biežums maisā. Tā rezultātā tiek izveidots garš masīvs vai vektors, kas satur vienu visu ievades dokumentu vārdu attēlojumu. Tātad, ja ievades dokumentos kopā ir 10000 10000 unikālu vārdu, pazīmju vektori būs XNUMX XNUMX vārdu gari. Šādi tiek aprēķināts vārda maisa/iezīmju vektora lielums.

Fotoattēls: gk_, izmantojot Machinelearning.co, (https://machinelearnings.co/text-classification-using-neural-networks-f5cd7b8765c6)

Pēc pazīmju vektora lieluma noteikšanas katram dokumentam kopējo dokumentu sarakstā tiek piešķirts savs vektors, kas piepildīts ar cipariem, kas norāda, cik reižu attiecīgais vārds parādās pašreizējā dokumentā. Tas nozīmē, ka, ja vienā teksta dokumentā vārds “pārtika” parādās astoņas reizes, atbilstošajam pazīmju vektoram/iezīmju masīvam būs astoņi attiecīgajā pozīcijā.

Citiem vārdiem sakot, visi unikālie vārdi, kas parādās ievades dokumentos, tiek sakrauti vienā maisā, un tad katrs dokuments iegūst vienāda izmēra vārdu vektoru, kas pēc tam tiek aizpildīts ar to, cik reižu dažādi vārdi parādās dokumentā. .

Teksta datu kopās bieži būs liels skaits unikālu vārdu, taču lielākā daļa no tiem netiek lietoti ļoti bieži. Šī iemesla dēļ vārdu vektora izveidei izmantoto vārdu skaits parasti ir ierobežots līdz izvēlētajai vērtībai (N), un tad pazīmju vektora dimensija būs Nx1.

Terminu biežums – apgrieztā dokumentu biežums (TF-IDF)

Vēl viens veids, kā attēlot dokumentu, pamatojoties uz tajā esošajiem vārdiem, ir dublēts Terminu biežums – apgrieztā dokumentu biežums (TF-IDF). TF-IDF pieeja arī izveido vektoru, kas attēlo dokumentu, pamatojoties uz tajā esošajiem vārdiem, taču atšķirībā no vārdu maisa šie vārdi ir ne tikai to biežums. TF-IDF ņem vērā vārdu nozīmi dokumentos, mēģinot kvantificēt, cik šis vārds ir saistīts ar dokumenta priekšmetu. Citiem vārdiem sakot, TF-IDF analizē atbilstību, nevis biežumu, un vārdu skaits pazīmju vektorā tiek aizstāts ar TF-IDF punktu skaitu, kas tiek aprēķināts attiecībā uz visu datu kopu.

TF-IDF pieeja darbojas, vispirms aprēķina terminu biežumu — cik reižu unikālie termini parādās noteiktā dokumentā. Tomēr TF-IDF arī rūpējas, lai ierobežotu tādu ārkārtīgi izplatītu vārdu kā “the”, “or” un “and” ietekmi, jo šie “stopvārdi” ir ļoti izplatīti, taču tie sniedz ļoti maz informācijas par dokumenta saturu. Šie vārdi ir jāatskaita, uz ko attiecas TF-IDF daļa “apgrieztā dokumenta frekvence”. Tas tiek darīts tāpēc, ka jo vairāk dokumentos tiek parādīti konkrēti vārdi, jo mazāk noderīgs šis vārds ir, lai to atšķirtu no citiem dokumentiem visu dokumentu sarakstā. Formula, ko TF-IDF izmanto, lai aprēķinātu vārda nozīmi, ir paredzēta, lai saglabātu vārdus, kas ir visbiežāk sastopamie un semantiski bagātākie.

Iezīmju vektori, kas izveidoti, izmantojot TF-IDF pieeju, satur normalizētas vērtības, kuru summa ir viens, katram vārdam piešķirot svērtu vērtību, kas aprēķināta pēc TF-IDF formulas.

Vārdu iegultnes

Vārdu iegulšana ir teksta attēlošanas metodes, kas nodrošina, ka vārdiem ar līdzīgu nozīmi ir līdzīgi skaitliski attēlojumi.

Vārdu iegulšana darbojas, "vektorizējot" vārdus, kas nozīmē, ka tie attēlo vārdus kā reālās vērtības vektorus vektoru telpā. Vektori pastāv režģī vai matricā, un tiem ir virziens un garums (vai lielums). Vārdus attēlojot kā vektorus, vārdi tiek pārvērsti vektoros, kas sastāv no reālām vērtībām. Katrs vārds ir kartēts vienā vektorā, un vārdiem, kuriem ir līdzīga nozīme, ir līdzīgs virziens un apjoms. Šāda veida kodēšana ļauj mašīnmācīšanās algoritmam apgūt sarežģītas attiecības starp vārdiem.

Iegulumi, kas apzīmē dažādus vārdus, tiek veidoti atkarībā no attiecīgo vārdu lietošanas veida. Tā kā vārdiem, kas tiek lietoti līdzīgā veidā, būs līdzīgi vektori, vārdu iegulšanas izveides process automātiski pārtulko daļu no vārdu nozīmes. Turpretī pieeja vārdu maisam rada trauslus attēlus, kur dažādiem vārdiem būs atšķirīgi attēlojumi, pat ja tie tiek lietoti ļoti līdzīgos kontekstos.

Tā rezultātā vārdu iegulšana spēj labāk uztvert vārdu kontekstu teikumā.

Lai izveidotu vārdu iegulšanu, tiek izmantoti dažādi algoritmi un pieejas. Dažas no visizplatītākajām un uzticamākajām vārdu iegulšanas metodēm ir: iegulšanas slāņi, word2vec un GloVe.

Slāņu iegulšana

Viens no iespējamiem veidiem, kā izmantot vārdu iegulšanu kopā ar mašīnmācīšanās/dziļās mācīšanās sistēmu, ir izmantojiet iegulšanas slāni. Iegulšanas slāņi ir dziļās mācīšanās slāņi, kas pārvērš vārdus iegulumos, kas pēc tam tiek ievadīti pārējā dziļās mācīšanās sistēmā. Vārdu iegulšana tiek apgūta, tīklam trenējot konkrētu uz tekstu balstītu uzdevumu.

Vārdu iegulšanas pieejā līdzīgiem vārdiem būs līdzīgi attēlojumi un tie būs tuvāk viens otram nekā atšķirīgiem vārdiem.

Lai izmantotu iegulšanas slāņus, teksts vispirms ir iepriekš jāapstrādā. Tekstam dokumentā ir jābūt vienreizējai kodētai, un vektora izmērs ir jānorāda iepriekš. Pēc tam viens karstais teksts tiek pārveidots par vārdu vektoriem, un vektori tiek nodoti mašīnmācīšanās modelī.

Word2Vec

Word2Vec ir vēl viena izplatīta vārdu iegulšanas metode. Word2Vec izmanto statistikas metodes, lai pārvērstu vārdus iegulumos, un tas ir optimizēts lietošanai ar neironu tīklu modeļiem. Word2Vec izstrādāja Google pētnieki, un tā ir viena no visbiežāk izmantotajām iegulšanas metodēm, jo ​​tā droši nodrošina noderīgas, bagātīgas iegulšanas. Word2Vec attēlojumi ir noderīgi, lai identificētu valodas semantiskās un sintaktiskās kopības. Tas nozīmē, ka Word2Vec attēlojumi aptver attiecības starp līdzīgiem jēdzieniem, spējot atšķirt, ka kopība starp “karali” un “karaliene” ir autoratlīdzība un ka “karalis” nozīmē “vīrišķību”, savukārt karaliene nozīmē “sievietiskums”.

Cimds

GloVE jeb globālais vektors vārdu attēlošanai, balstās uz Word2Vec izmantotajiem iegulšanas algoritmiem. GloVe iegulšanas metodes apvieno gan Word2Vec, gan matricas faktorizācijas paņēmienus, piemēram, latento semantisko analīzi. Word2Vec priekšrocība ir tā, ka tā var uztvert kontekstu, bet kā kompromiss tas slikti uztver globālo teksta statistiku. Un otrādi, tradicionālie vektora attēlojumi ir labi, lai noteiktu globālo teksta statistiku, taču tie nav noderīgi, lai noteiktu vārdu un frāžu kontekstu. GloVE izmanto labāko no abām pieejām, veidojot vārdu kontekstu, pamatojoties uz globālo teksta statistiku.

Emuāru autors un programmētājs ar specialitātēm Mašīnu mācīšana un Dziļa mācīšanās tēmas. Daniels cer palīdzēt citiem izmantot mākslīgā intelekta spēku sociālā labuma gūšanai.