NLP Flashcards
Cos’è l’NLP? + Espressioni Regolari
IIl Natural Language Processing (NLP) è un ramo dell’intelligenza artificiale dedicato alla comprensione, interpretazione e generazione del linguaggio umano, sia scritto che parlato.
Le espressioni regolari, o regex, sono pattern di caratteri utilizzati per individuare corrispondenze all’interno di testi, essenziali nel NLP per identificare e manipolare testi basandosi su modelli specifici come parole chiave o strutture grammaticali.
Cos’è ELIZA?
ELIZA è uno dei primi programmi di elaborazione del linguaggio naturale creati negli anni ‘60.
Simulava una conversazione terapeutica utilizzando semplici regole di sostituzione di parole e pattern matching.
Questo programma era in grado di imitare un terapeuta attraverso l’analisi delle risposte dell’utente e il riutilizzo delle stesse per formulare domande o risposte in modo apparentemente sensato. Sebbene fosse molto basilare rispetto alle capacità attuali del NLP, ELIZA riusciva a creare l’illusione di una conversazione intelligente
Cos’è il word segmentation? + Maximum Matching Word Segmentation algorithm
Il word segmentation è il processo di dividere una stringa di caratteri in singole parole, soprattutto in lingue come il cinese e il giapponese dove non ci sono spazi tra le parole.
L’algoritmo di Maximum Matching Word Segmentation è una tecnica usata per dividere un testo senza spazi in parole, utilizzando un dizionario di parole conosciute. Cerca di trovare la divisione delle parole massimizzando la corrispondenza con il dizionario.
L’approccio di base è cercare la parola più lunga che corrisponda a una parola nel dizionario, separarla dal resto del testo e ripetere il processo sul testo rimanente. L’algoritmo può operare da sinistra a destra o da destra a sinistra per ottenere la migliore segmentazione possibile, con l’obiettivo di minimizzare le ambiguità.
Text Normalization in NLP?
La normalizzazione del testo nel Natural Language Processing (NLP) è il processo di rendere uniforme e coerente il testo per renderlo più facilmente processabile dalle macchine. Questo è importante perché il testo umano può variare molto nella sua rappresentazione dello stesso concetto. La normalizzazione cerca di ridurre questa variabilità.
Alcuni passaggi comuni di normalizzazione del testo includono la tokenizzazione (dividere il testo in unità più piccole), il lowercase (trasformare tutto il testo in minuscolo), la rimozione della punteggiatura, delle stopwords e il processo di stemming e lemmatization per ridurre le parole alle loro forme di base.
Cos’è Minimum edit distance e come funziona tra 2 parole (con la tabella)
La minimum edit distance (distanza minima di modifica) è un concetto utilizzato nell’ambito del Natural Language Processing (NLP) per misurare la somiglianza tra due parole o stringhe, calcolando il numero minimo di operazioni necessarie per trasformare una parola nell’altra. Le operazioni considerate sono l’inserimento di un carattere, la cancellazione di un carattere o la sostituzione di un carattere con un altro.
Una delle metodologie per calcolare la minimum edit distance è l’algoritmo di Wagner-Fischer, che utilizza una tabella per trovare il numero minimo di operazioni richieste. Consideriamo due parole, ad esempio “casa” e “cassa”. Costruiamo una tabella in cui le righe rappresentano i caratteri di una parola e le colonne rappresentano i caratteri dell’altra.
Inizializziamo la prima riga e la prima colonna con i numeri da 0 a N (dove N è la lunghezza della rispettiva parola). Questi numeri rappresentano il costo di trasformare una stringa vuota in una stringa della lunghezza corrispondente.
Calcoliamo il costo di trasformazione per riempire la tabella utilizzando la seguente formula:
Se i caratteri nella stessa posizione sono uguali, il costo sarà lo stesso della cella diagonale superiore sinistra.
Altrimenti, il costo sarà il minimo tra:
Il costo della cella sopra (cancellazione) +1
Il costo della cella a sinistra (inserimento) +1
Il costo della cella diagonale superiore sinistra (sostituzione) +2
Il valore nell’angolo in basso a destra della tabella sarà la minimum edit distance tra le due parole.
Minimum edit distance con backtrace
è uguale alla normale minimum edit distance ma teniamo segnate con delle frecce da dove proviene quel valore
Cos’è il Probabilistic language Models?
I modelli linguistici probabilistici sono strumenti usati nell’elaborazione del linguaggio naturale che cercano di capire quanto sia probabile una sequenza di parole o una frase in un certo contesto linguistico. Questi modelli cercano di capire meglio come funziona la lingua umana guardando a quanto spesso certe parole vengono usate insieme o seguono altre parole. In sostanza, cercano di prevedere quale sarà la prossima parola o sequenza di parole basandosi su ciò che è stato detto finora.
Cosa sono i Unigram, Bigram, N-gram models?
I modelli di n-grammi sono modelli probabilistici utilizzati nell’elaborazione del linguaggio naturale (NLP) per calcolare la probabilità di una sequenza di parole in base alle parole precedenti. Questi modelli si suddividono in base al numero di parole (o token) considerate in ogni unità o “gramma”.
- Unigrammi (1-grammi): Sono modelli che considerano la probabilità di ogni singola parola indipendentemente dalle altre. La probabilità di una singola parola in un unigramma è calcolata come:( P(w_i) )Dove ( w_i ) rappresenta una parola specifica nell’insieme del testo.
- Bigrammi (2-grammi): Questi modelli calcolano la probabilità di una parola dato che la parola precedente è già nota. La probabilità di una parola data la parola precedente in un bigramma è calcolata come:( P(w_i | w_{i-1}) )Dove ( w_i ) è una parola specifica e ( w_{i-1} ) è la parola precedente nella sequenza.
- Trigrammi (3-grammi): Sono modelli che valutano la probabilità di una parola in base alle due parole precedenti. La probabilità di una parola data le due parole precedenti in un trigramma è calcolata come:( P(w_i | w_{i-2}, w_{i-1}) )Dove ( w_i ) è una parola specifica, ( w_{i-1} ) è la parola immediatamente precedente e ( w_{i-2} ) è la parola ancora prima nella sequenza.
In generale, gli n-grammi rappresentano la probabilità di una parola o di una sequenza di parole basandosi su n parole precedenti. Questi modelli sono utilizzati per modellare il linguaggio naturale e sono utili per molte applicazioni nell’NLP, come la predizione del prossimo token in un testo, la traduzione automatica, il riconoscimento vocale e molto altro ancora. La scelta del valore di n (unigramma, bigramma, trigramma, etc.) dipende spesso dalla complessità del modello e dalle specifiche esigenze dell’applicazione.
Cos’è la perplexity?
La perplexity è una misura che indica quanto un modello linguistico è incerto nel predire la prossima parola o frase. Più bassa è la perplexity, più il modello è sicuro e preciso nella sua predizione. Si basa sulla probabilità di predire una sequenza di parole: se il modello ha molte opzioni tra cui scegliere, la perplexity sarà alta; se è sicuro nella sua predizione, la perplexity sarà bassa.
Si può usare come branch factor.
Utilizzare la perplexity come branch factor significa interpretare la perplexity come una misura della “larghezza” del modello linguistico, cioè quanti possibili “rami” o “opzioni” il modello ha a disposizione per predire la prossima parola o frase.
laplace smoothing
La Laplace smoothing viene impiegata per risolvere il problema dell’eccessiva fiducia attribuita ai dati di addestramento quando si calcolano le probabilità condizionate. In sostanza, consiste nell’aggiungere una piccola quantità (solitamente un valore fisso, come 1) a tutte le frequenze di conto, sia quelle che appaiono nei dati di addestramento che quelle che non lo fanno. Questo assicura che nessuna probabilità condizionata sia esattamente uguale a zero.
+ formula