La classificazione del testo è il processo di analisi delle sequenze di testo e assegnazione di un’etichetta, inserendole in un gruppo in base al loro contenuto. La classificazione del testo è alla base di quasi tutte le attività di intelligenza artificiale o apprendimento automatico che coinvolgono l’ elaborazione del linguaggio naturale (NLP). Con la classificazione del testo, un programma per computer può eseguire un’ampia varietà di attività diverse come il riconoscimento dello spam, l’analisi del sentiment e le funzioni di chatbot. Come funziona esattamente la classificazione del testo? Quali sono i diversi metodi per eseguire la classificazione del testo? Esploreremo le risposte a queste domande di seguito.

Definizione della classificazione del testo
È importante prendersi un po ‘di tempo per assicurarsi di aver capito cos’è la classificazione del testo , in generale, prima di approfondire i diversi metodi di classificazione del testo. La classificazione del testo è uno di quei termini che viene applicato a molti compiti e algoritmi diversi, quindi è utile assicurarsi di aver compreso il concetto di base della classificazione del testo prima di passare all’esplorazione dei diversi modi in cui può essere eseguita.

Tutto ciò che implica la creazione di diverse categorie per il testo e quindi l’etichettatura di diversi campioni di testo come queste categorie, può essere considerato una classificazione del testo. Finché un sistema esegue questi passaggi di base, può essere considerato un classificatore di testo, indipendentemente dal metodo esatto utilizzato per classificare il testo e indipendentemente da come il classificatore di testo viene eventualmente applicato. Rilevare lo spam e-mail, organizzare i documenti per argomento o titolo e riconoscere il sentiment di una recensione per un prodotto sono tutti esempi di classificazione del testo perché si ottengono prendendo il testo come input ed emettendo un’etichetta di classe per quel pezzo di testo.

Come funziona la classificazione del testo?

La maggior parte dei metodi di classificazione del testo può essere inserita in una delle tre diverse categorie: metodi basati su regole o metodi di apprendimento automatico.

Metodi di classificazione basati su regole
I metodi di classificazione del testo basati su regole funzionano tramite l’uso di regole linguistiche progettate in modo esplicito. Il sistema utilizza le regole create dall’ingegnere per determinare a quale classe dovrebbe appartenere un dato pezzo di testo, cercando indizi sotto forma di elementi di testo semanticamente rilevanti. Ogni regola ha uno schema a cui il testo deve corrispondere per essere inserito nella categoria corrispondente.

Per essere più concreti, supponiamo che tu voglia progettare un classificatore di testo in grado di distinguere argomenti comuni di conversazione, come il tempo, i film o il cibo. Per consentire al tuo classificatore di testo di riconoscere la discussione sul tempo, potresti chiedergli di cercare le parole relative al tempo nel corpo dei campioni di testo che viene alimentato. Avresti un elenco di parole chiave, frasi e altri modelli pertinenti che potrebbero essere utilizzati per distinguere l’argomento. Ad esempio, potresti chiedere al classificatore di cercare parole come “vento”, “pioggia”, “sole”, “neve” o “nuvola”. Puoi quindi fare in modo che il classificatore guardi il testo di input e conti il ​​numero di volte che queste parole compaiono nel corpo del testo e se compaiono più comunemente delle parole relative ai film, classificheresti il ​​testo come appartenente alla classe meteorologica.

Il vantaggio dei sistemi basati su regole è che i loro input e output sono prevedibili e interpretabili dall’uomo e possono essere migliorati attraverso l’intervento manuale dell’ingegnere. Tuttavia, anche i metodi di classificazione basati su regole sono alquanto fragili e spesso hanno difficoltà a generalizzare perché possono aderire solo a schemi predefiniti che sono stati programmati. Ad esempio, la parola “nuvola” potrebbe riferirsi all’umidità nel sky, o potrebbe riferirsi a un cloud digitale in cui sono archiviati i dati. È difficile per i sistemi basati su regole gestire queste sfumature senza che gli ingegneri spendano una discreta quantità di tempo cercando di anticipare manualmente e adeguarsi a queste sottigliezze.

Sistemi di machine learning
Come accennato in precedenza, i sistemi basati su regole hanno dei limiti, poiché le loro funzioni e regole devono essere pre-programmate. Al contrario, i sistemi di classificazione basati sull’apprendimento automatico funzionano applicando algoritmi che analizzano i set di dati per i modelli associati a una particolare classe.

Gli algoritmi di apprendimento automatico vengono alimentati con istanze pre-etichettate / pre-classificate che vengono analizzate per funzionalità pertinenti. Queste istanze pre-etichettate sono i dati di addestramento.

Il classificatore di machine learning analizza i dati di addestramento e apprende i modelli associati alle diverse classi. Dopodiché, le istanze invisibili vengono private delle loro etichette e alimentate all’algoritmo di classificazione che assegna alle istanze un’etichetta. Le etichette assegnate vengono quindi confrontate con le etichette originali per vedere quanto fosse accurato il classificatore di apprendimento automatico, valutando quanto bene il modello ha appreso quali schemi prevedono quali classi.

Gli algoritmi di apprendimento automatico operano analizzando i dati numerici. Ciò significa che per utilizzare un algoritmo di apprendimento automatico sui dati di testo, il testo deve essere convertito in un formato numerico. Esistono vari metodi per codificare i dati di testo come dati numerici e creare metodi di apprendimento automatico attorno a questi dati. Tratteremo alcuni dei diversi modi per rappresentare i dati di testo di seguito.

Un sacco di parole
Il sacchetto di parole è uno degli approcci più comunemente usati per codificare e rappresentare i dati di testo. Il termine “borsa di parole” deriva dal fatto che essenzialmente prendi tutte le parole nei documenti e le metti tutte in una “borsa” senza prestare attenzione all’ordine delle parole o alla grammatica, prestando attenzione solo alla frequenza delle parole in la borsa. Ciò si traduce in una lunga matrice, o vettore, contenente un’unica rappresentazione di tutte le parole nei documenti di input. Quindi, se ci sono 10000 parole univoche in totale nei documenti di input, i vettori delle caratteristiche saranno lunghi 10000 parole. Questo è il modo in cui viene calcolata la dimensione del vettore di word bag / feature.

Dopo che la dimensione del vettore della caratteristica è stata determinata, a ogni documento nell’elenco dei documenti totali viene assegnato il proprio vettore riempito con numeri che indicano quante volte la parola in questione appare nel documento corrente. Ciò significa che se la parola “cibo” appare otto volte in un documento di testo, il vettore / matrice di caratteristiche corrispondente avrà un otto nella posizione corrispondente.

In altre parole, tutte le parole univoche che compaiono nei documenti di input sono tutte impilate in un sacchetto e quindi ogni documento riceve un vettore di parole della stessa dimensione, che viene quindi riempito con il numero di volte in cui le diverse parole appaiono nel documento .

I set di dati di testo contengono spesso un gran numero di parole uniche, ma la maggior parte di esse non viene utilizzata molto frequentemente. Per questo motivo, il numero di parole utilizzate per creare il vettore parola è tipicamente limitato a un valore scelto (N) e quindi la dimensione del vettore della caratteristica sarà Nx1.

Frequenza termine-frequenza documento inverso (TF-IDF)
Un altro modo per rappresentare un documento in base alle parole in esso contenute è denominato Term Frequency-Inverse Document Frequency (TF-IDF) . Un approccio TF-IDF crea anche un vettore che rappresenta il documento in base alle parole in esso contenute, ma a differenza di Bag-of-words queste parole sono pesate non solo dalla loro frequenza . TF-IDF considera l’importanza delle parole nei documenti, cercando di quantificare quanto sia rilevante quella parola rispetto all’oggetto del documento. In altre parole, TF-IDF analizza la rilevanza invece della frequenza e i conteggi delle parole in un vettore di caratteristiche vengono sostituiti da un punteggio TF-IDF che viene calcolato rispetto all’intero set di dati.

Un approccio TF-IDF opera calcolando prima la frequenza dei termini, il numero di volte in cui i termini univoci compaiono all’interno di un documento specifico. Tuttavia, TF-IDF si preoccupa anche di limitare l’influenza di parole estremamente comuni come “il”, “o” e “e”, poiché queste “parole chiave” sono molto comuni ma trasmettono pochissime informazioni sul contenuto del documento. Queste parole devono essere scontate, che è ciò a cui si riferisce la parte della “frequenza del documento inverso” di TF-IDF. Questo avviene perché più documenti in cui compare una parola specifica, meno utile è quella parola per distinguerla dagli altri documenti nell’elenco di tutti i documenti. La formula che TF-IDF utilizza per calcolare l’importanza di una parola ha lo scopo di preservare le parole che sono le più frequenti e le più ricche semanticamente.

I vettori di caratteristiche creati dall’approccio TF-IDF contengono valori normalizzati che si sommano a uno, assegnando a ciascuna parola un valore ponderato come calcolato dalla formula TF-IDF.

Incorporamenti di parole
Gli incorporamenti di parole sono metodi di rappresentazione del testo che garantiscono che le parole con significati simili abbiano rappresentazioni numeriche simili.

Gli incorporamenti di parole funzionano “vettorizzando” le parole , nel senso che rappresentano le parole come vettori di valore reale in uno spazio vettoriale. I vettori esistono in una griglia o matrice e hanno una direzione e una lunghezza (o grandezza). Quando si rappresentano le parole come vettori, le parole vengono convertite in vettori costituiti da valori reali. Ogni parola è mappata su un vettore e le parole con significato simile hanno direzione e grandezza simili. Questo tipo di codifica consente a un algoritmo di apprendimento automatico di apprendere relazioni complicate tra le parole.

Gli incorporamenti che rappresentano parole diverse vengono creati in relazione a come vengono utilizzate le parole in questione. Poiché le parole usate in modi simili avranno vettori simili, il processo di creazione di word embedding traduce automaticamente parte del significato che hanno le parole. L’approccio di un sacco di parole, al contrario, crea rappresentazioni fragili in cui parole diverse avranno rappresentazioni dissimili anche se utilizzate in contesti molto simili.

Di conseguenza, gli incorporamenti di parole sono più efficaci nel catturare il contesto delle parole all’interno di una frase.

Esistono diversi algoritmi e approcci utilizzati per creare word embedding. Alcuni dei metodi di incorporamento di parole più comuni e affidabili includono: livelli di incorporamento, word2vec e GloVe.

Livelli incorporati

Un potenziale modo per utilizzare gli incorporamenti di parole insieme a un sistema di machine learning / deep learning è utilizzare un livello di incorporamento . I livelli di incorporamento sono livelli di apprendimento profondo che convertono le parole in incorporamenti che vengono quindi immessi nel resto del sistema di apprendimento profondo. Le parole incorporate vengono apprese mentre la rete si allena per una specifica attività basata su testo.

In un approccio di incorporamento di parole, parole simili avranno rappresentazioni simili e saranno più vicine l’una all’altra che a parole dissimili.

Per utilizzare i livelli di incorporamento, il testo deve essere preelaborato prima. Il testo nel documento deve essere codificato a caldo e la dimensione del vettore deve essere specificata in anticipo. Il testo one-hot viene quindi convertito in vettori di parole ei vettori vengono passati nel modello di apprendimento automatico.

Word2Vec

Word2Vec è un altro metodo comune per incorporare le parole. Word2Vec utilizza metodi statistici per convertire le parole in incorporamenti ed è ottimizzato per l’uso con modelli basati su reti neurali. Word2Vec è stato sviluppato dai ricercatori di Google ed è uno dei metodi di incorporamento più comunemente usati, poiché produce in modo affidabile incorporamenti utili e ricchi. Le rappresentazioni Word2Vec sono utili per identificare i punti in comune semantici e sintattici nel linguaggio. Ciò significa che le rappresentazioni di Word2Vec catturano le relazioni tra concetti simili, essendo in grado di distinguere che la comunanza tra “King” e “Queen” è regalità e che “King” implica “man-ness” mentre Queen implica “Woman -ness”.

GLOVE

GloVE, o Global Vector for Word Representation , si basa sugli algoritmi di incorporamento utilizzati da Word2Vec. I metodi di incorporamento di GloVe combinano aspetti di Word2Vec e tecniche di fattorizzazione di matrici come l’analisi semantica latente. Il vantaggio di Word2Vec è che può catturare il contesto, ma come compromesso cattura male le statistiche di testo globali. Al contrario, le rappresentazioni vettoriali tradizionali sono utili per determinare le statistiche di testo globali ma non sono utili per determinare il contesto di parole e frasi. GloVE attinge dal meglio di entrambi gli approcci, creando un contesto di parole basato su statistiche di testo globali.

Di ihal