taló Com funciona la classificació de textos? - Unite.AI
Connecteu-vos amb nosaltres
Classe magistral d'IA:

IA 101

Com funciona la classificació de textos?

mm
actualitzat on

La classificació de textos és el procés d'anàlisi de seqüències de text i assignar-los una etiqueta, agrupant-los en funció del seu contingut. La classificació del text és subjacent a gairebé qualsevol tasca d'IA o d'aprenentatge automàtic que impliqui processament del llenguatge natural (NLP). Amb la classificació de text, un programa informàtic pot dur a terme una gran varietat de tasques diferents, com ara el reconeixement de correu brossa, l'anàlisi de sentiments i les funcions de chatbot. Com funciona exactament la classificació de textos? Quins són els diferents mètodes per dur a terme la classificació de textos? Explorarem les respostes a aquestes preguntes a continuació.

Definició de la classificació del text

És important prendre una estona i assegurar-nos que entenem quina és la classificació del text, en general, abans d'aprofundir en els diferents mètodes de fer la classificació de textos. La classificació de textos és un d'aquests termes que s'aplica a moltes tasques i algorismes diferents, per la qual cosa és útil assegurar-nos que entenem el concepte bàsic de la classificació de textos abans de passar a explorar les diferents maneres en què es pot dur a terme.

Qualsevol cosa que impliqui la creació de diferents categories per al text i després etiquetar diferents mostres de text com aquestes categories, es pot considerar classificació de text. Mentre un sistema realitzi aquests passos bàsics es pot considerar un classificador de text, independentment del mètode exacte utilitzat per classificar el text i independentment de com s'apliqui finalment el classificador de text. La detecció de correu brossa, l'organització dels documents per tema o títol i el reconeixement del sentiment d'una ressenya d'un producte són exemples de classificació de text perquè s'aconsegueixen prenent el text com a entrada i generant una etiqueta de classe per a aquest fragment de text.

Com funciona la classificació de textos?

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

La majoria dels mètodes de classificació de textos es poden classificar en una de les tres categories diferents: mètodes basats en regles o mètodes d'aprenentatge automàtic.

Mètodes de classificació basats en regles

Els mètodes de classificació de textos basats en regles funcionen mitjançant l'ús de regles lingüístiques dissenyades explícitament. El sistema utilitza les regles creades per l'enginyer per determinar a quina classe ha de pertànyer un determinat fragment de text, buscant pistes en forma d'elements de text semànticament rellevants. Cada regla té un patró amb el qual el text ha de coincidir per col·locar-se a la categoria corresponent.

Per ser més concrets, suposem que voleu dissenyar un classificador de text capaç de distingir temes habituals de conversa, com ara el clima, les pel·lícules o el menjar. Per permetre que el vostre classificador de text reconegui la discussió sobre el temps, podeu dir-li que cerqui paraules relacionades amb el temps al cos de les mostres de text que s'està alimentant. Tindríeu una llista de paraules clau, frases i altres patrons rellevants que es podrien utilitzar per distingir el tema. Per exemple, podeu indicar al classificador que cerqui paraules com "vent", "pluja", "sol", "neu" o "núvol". Aleshores, podríeu fer que el classificador miri el text d'entrada i compti el nombre de vegades que aquestes paraules apareixen al cos del text i, si apareixen amb més freqüència que les paraules relacionades amb pel·lícules, classificaríeu el text com a pertanyent a la classe meteorològica.

L'avantatge dels sistemes basats en regles és que les seves entrades i sortides són predictibles i interpretables pels humans, i es poden millorar mitjançant la intervenció manual de l'enginyer. Tanmateix, els mètodes de classificació basats en regles també són una mica fràgils, i sovint tenen dificultats per generalitzar-se perquè només poden adherir-se als patrons predefinits que s'han programat. Com a exemple, la paraula "núvol" podria referir-se a la humitat del cel, o podria estar referint-se a un núvol digital on s'emmagatzemen les dades. És difícil que els sistemes basats en regles gestionen aquests matisos sense que els enginyers passin una bona quantitat de temps intentant anticipar-se i ajustar-se manualment a aquestes subtileses.

Sistemes d'aprenentatge automàtic

Com s'ha esmentat anteriorment, els sistemes basats en regles tenen limitacions, ja que les seves funcions i regles s'han de programar prèviament. Per contra, els sistemes de classificació basats en l'aprenentatge automàtic operen aplicant algorismes que analitzen conjunts de dades per a patrons associats a una classe concreta.

Els algorismes d'aprenentatge automàtic s'alimenten d'instàncies preetiquetades/preclassificades que s'analitzen per a les funcions rellevants. Aquestes instàncies preetiquetes són les dades d'entrenament.

El classificador d'aprenentatge automàtic analitza les dades d'entrenament i aprèn patrons associats a les diferents classes. Després d'això, les instàncies no vistes es retiren de les seves etiquetes i s'alimenten a l'algoritme de classificació que assigna a les instàncies una etiqueta. A continuació, es comparen les etiquetes assignades amb les etiquetes originals per veure quina precisió era el classificador d'aprenentatge automàtic, mesurant com de bé el model va aprendre quins patrons prediuen quines classes.

Els algorismes d'aprenentatge automàtic funcionen mitjançant l'anàlisi de dades numèriques. Això vol dir que per utilitzar un algorisme d'aprenentatge automàtic en dades de text, el text s'ha de convertir en un format numèric. Hi ha diversos mètodes per codificar dades de text com a dades numèriques i crear mètodes d'aprenentatge automàtic al voltant d'aquestes dades. A continuació, tractarem algunes de les diferents maneres de representar dades de text.

Bossa-de-Paraules

Bossa de paraules és un dels enfocaments més utilitzats per codificar i representar dades de text. El terme "bossa de paraules" prové del fet que essencialment agafeu totes les paraules dels documents i les poseu totes en una "bossa" sense parar atenció a l'ordre de les paraules o la gramàtica, prestant atenció només a la freqüència de paraules a la bossa. Això resulta en una matriu llarga, o vector, que conté una única representació de totes les paraules dels documents d'entrada. Així, si hi ha 10000 paraules úniques en total als documents d'entrada, els vectors de característiques tindran 10000 paraules. Així és com es calcula la mida de la paraula bossa/vector de característiques.

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

Després de determinar la mida del vector de característiques, a cada document de la llista de documents totals se li assigna el seu propi vector ple de números que indiquen quantes vegades la paraula en qüestió apareix al document actual. Això vol dir que si la paraula "menjar" apareix vuit vegades dins d'un document de text, la matriu de característiques/vector de característiques corresponent tindrà un vuit a la posició corresponent.

Dit d'una altra manera, totes les paraules úniques que apareixen als documents d'entrada s'amunteguen en una bossa i, a continuació, cada document obté un vector de paraules de la mateixa mida, que s'omple amb el nombre de vegades que apareixen les diferents paraules al document. .

Els conjunts de dades de text sovint contenen un gran nombre de paraules úniques, però la majoria d'elles no s'utilitzen amb molta freqüència. Per aquest motiu, el nombre de paraules utilitzades per crear el vector de paraules normalment es limita a un valor escollit (N) i aleshores la dimensió del vector de característiques serà Nx1.

Freqüència de termini - Freqüència inversa del document (TF-IDF)

Una altra manera de representar un document a partir de les paraules que hi ha és el doblat Freqüència de termini - Freqüència inversa del document (TF-IDF). Un enfocament TF-IDF també crea un vector que representa el document basant-se en les paraules que hi ha, però a diferència de Bag-of-words, aquestes paraules són ponderats per més que la seva freqüència. TF-IDF considera la importància de les paraules dels documents, intentant quantificar la rellevància d'aquesta paraula per al tema del document. En altres paraules, TF-IDF analitza la rellevància en lloc de la freqüència i els recomptes de paraules en un vector de característiques es substitueixen per una puntuació TF-IDF que es calcula pel que fa a tot el conjunt de dades.

Un enfocament TF-IDF funciona calculant primer la freqüència dels termes, el nombre de vegades que els termes únics apareixen en un document específic. Tanmateix, TF-IDF també té cura de limitar la influència de paraules extremadament comunes com "el", "o" i "i", ja que aquestes "paraules limitades" són molt comunes però transmeten molt poca informació sobre el contingut del document. Aquestes paraules s'han de descomptar, que és a què es refereix la part de "freqüència inversa del document" de TF-IDF. Això es fa perquè com més documents es mostri una paraula específica, menys útil serà aquesta paraula per distingir-la de la resta de documents de la llista de tots els documents. La fórmula que utilitza TF-IDF per calcular la importància d'una paraula està dissenyada per preservar les paraules que són les més freqüents i les més riques semànticament.

Els vectors de característiques creats per l'enfocament TF-IDF contenen valors normalitzats que sumen un, assignant a cada paraula un valor ponderat tal com es calcula mitjançant la fórmula TF-IDF.

Incrustacions de paraules

Incrustacions de paraules són mètodes de representació de text que garanteixen que les paraules amb significats semblants tinguin representacions numèriques semblants.

Incrustacions de paraules operen “vectoritzant” paraules, el que significa que representen paraules com a vectors de valor real en un espai vectorial. Els vectors existeixen en una quadrícula o matriu, i tenen una direcció i longitud (o magnitud). Quan es representen paraules com a vectors, les paraules es converteixen en vectors formats per valors reals. Cada paraula s'assigna a un vector i les paraules que tenen un significat similar tenen una direcció i magnitud similars. Aquest tipus de codificació fa possible que un algorisme d'aprenentatge automàtic aprengui relacions complicades entre paraules.

Les incrustacions que representen diferents paraules es creen pel que fa a com s'utilitzen les paraules en qüestió. Com que les paraules que s'utilitzen de manera semblant tindran vectors similars, el procés de creació d'incrustacions de paraules tradueix automàticament part del significat que tenen les paraules. En canvi, l'enfocament d'una bossa de paraules crea representacions fràgils on paraules diferents tindran representacions diferents encara que s'utilitzin en contextos molt similars.

Com a resultat, les incrustacions de paraules són millors per capturar el context de les paraules dins d'una frase.

Hi ha diferents algorismes i enfocaments utilitzats per crear incrustacions de paraules. Alguns dels mètodes d'inserció de paraules més comuns i fiables inclouen: incrustació de capes, word2vec i GloVe.

Incrustació de capes

Una manera potencial d'utilitzar les incrustacions de paraules juntament amb un sistema d'aprenentatge automàtic/aprenentatge profund és fer-ho utilitzar una capa d'incrustació. Les capes d'inserció són capes d'aprenentatge profund que converteixen les paraules en incrustacions que després s'introdueixen a la resta del sistema d'aprenentatge profund. Les incrustacions de paraules s'aprenen a mesura que la xarxa s'entrena per a una tasca específica basada en text.

En un enfocament d'inserció de paraules, paraules semblants tindran representacions semblants i estaran més a prop les unes de les altres que no pas amb paraules diferents.

Per utilitzar capes d'inserció, primer cal preprocessar el text. El text del document ha d'estar codificat en calent i la mida del vector s'ha d'especificar per endavant. A continuació, el text calent es converteix en vectors de paraules i els vectors es passen al model d'aprenentatge automàtic.

Word2Old

Word2Old és un altre mètode comú d'incrustar paraules. Word2Vec utilitza mètodes estadístics per convertir paraules en incrustacions i està optimitzat per utilitzar-lo amb models basats en xarxes neuronals. Word2Vec va ser desenvolupat pels investigadors de Google i és un dels mètodes d'inserció més utilitzats, ja que proporciona incrustacions riques i útils de manera fiable. Les representacions de Word2Vec són útils per identificar aspectes comuns semàntics i sintàctics en el llenguatge. Això vol dir que les representacions de Word2Vec capturen relacions entre conceptes similars, podent distingir que la similitud entre "Rei" i "Reina" és la reialesa i que "Rei" implica "home" mentre que Queen implica "home".

Guant

GANT, o vector global per a la representació de paraules, es basa en els algorismes d'inserció utilitzats per Word2Vec. Els mètodes d'inserció de GloVe combinen aspectes tant de Word2Vec com de tècniques de factorització matricial com l'anàlisi semàntica latent. L'avantatge de Word2Vec és que pot capturar context, però com a compensació capta malament les estadístiques globals de text. Per contra, les representacions vectorials tradicionals són bones per determinar estadístiques globals de text, però no són útils per determinar el context de paraules i frases. GloVE es basa en el millor dels dos enfocaments, creant un context de paraula basat en estadístiques globals de text.