Esplorazione dell’NLP – Avvio dell’NLP (Step #4)

Esplorazione NLP - Avvio NLP (Step #4)

Se sei nuovo alla mia serie “Exploring NLP”, per favore guarda il mio articolo introduttivo qui.

Esplorare e padroneggiare l’NLP – Un viaggio nelle profondità

Ciao, sono Deepthi Sudharsan, uno studente di terzo anno di laurea che sta seguendo il corso di B.Tech in Intelligenza Artificiale. Dato che sono già…

VoAGI.com

Ben tornato! Continuando la serie, condividerò alcune delle mie note sulla marcatura POS (principalmente). Vorrei ringraziare in particolare il signor Sachin Kumar S della CEN, Amrita Coimbatore, per aver tenuto questo corso per me in questo semestre e alcune delle informazioni e immagini raccolte qui provengono da risorse e materiali forniti o creati da lui.

Marcatura POS (Parti del Discorso):

È il livello più basso dell’Analisi Sintattica. È il compito di assegnare le etichette delle Parti del Discorso alle parole.

Questo tipo di etichettatura sequenziale può essere visto anche nell’etichettatura delle sequenze genetiche nell’analisi del genoma.

Dato una frase, ad esempio, “Sembra cioccolato”, le etichette POS saranno le seguenti:

PRP è un pronome personale, VB sta per verbo, IN sta per preposizione o congiunzione subordinante e N sta per sostantivo, ecc.

Classi Aperte e Chiuse:

Le classi aperte sono classi alle quali vengono frequentemente aggiunte nuove parole. Esempio: sostantivi, verbi, ecc. Mentre nelle classi chiuse, hanno un insieme predefinito di parole che rientrano in quelle classi come, ad esempio, articoli.

Nella marcatura POS, c’è un problema di ambiguità poiché le parole spesso hanno più di un’etichetta POS. Ad esempio, “like” può essere assegnato sia alle etichette IN che VB.

I tipi di etichette possono essere di due tipi: granularità grossolana e granularità fine.

  1. I tipi di etichette a granularità grossolana includono sostantivi, verbi, aggettivi, ecc.

2. A granularità fine, includono sostantivo-proper-singolare, verbo-passato, aggettivo-semplice, ecc.

Modi per Trovare le Etichette POS:

  1. Predizione punto per punto – prevedere singolarmente l’etichetta di ciascun token utilizzando un classificatore
  2. Modello di sequenza generativo – utilizzando HMM (Hidden Markov Model)
  3. Modelli di sequenza discriminativi – CRF (Conditional Random Field), previsione strutturata, ecc.

HMM per la Marcatura POS:

Stati osservabili – Parole nella sequenza di parole/frasi data

Stati nascosti/non osservabili – Etichette POS

Per calcolare la probabilità associata a una particolare sequenza di etichette, in HMM, vengono utilizzate le probabilità di transizione ed emissione.

  1. Una transizione avviene da uno stato nascosto a un altro o gli stati nascosti hanno una transizione da uno stato al prossimo stato nascosto. Una certa probabilità è associata durante il passaggio da uno stato a un altro che è nota come probabilità di transizione.
  2. L’emissione corrisponde alla generazione di un token da uno stato nascosto. Una certa probabilità è associata a uno stato nascosto dato per generare un token

Presupposti fatti nell’HMM :

Forza bruta:

Assegniamo casualmente i POS tag alla frase, ad esempio, “It/PRP looks/N like/PRP chocolate/VB”. Ora calcoliamo la probabilità della sequenza.

Assegniamo i POS tag corretti alla frase, ad esempio, “It/PRP looks/VB like/IN chocolate/N”. Ora calcoliamo la probabilità della sequenza.

Algoritmo di Viterbi:

L’algoritmo di Viterbi è un metodo di programmazione dinamica per trovare la sequenza di tag o stati nascosti più probabile. È una sorta di ottimizzazione dell’HMM per trovare gli stati nascosti più probabili.

Nella frase data, “It looks like Chocolate”, il token “like” ha due POS tag, VB e IN. Viene eliminato il percorso con la probabilità più bassa e il passaggio all’indietro restituisce il percorso o la sequenza.

In questo esempio, la probabilità della sequenza <S> PRP VB VB N <E> diventa 0.

Ecco un frammento del codice che ho scritto per Viterbi. Pubblicherò il codice qui presto.

Riferimenti:

  1. https://universaldependencies.org/docsv1/en/pos/all.html#al-en-pos/ADJ
  2. https://universaldependencies.org/u/pos/
  3. https://youtu.be/IqXdjdOgXPM
  4. https://www.freecodecamp.org/news/an-introduction-to-part-of-speech-tagging-and-the-hidden-markov-model-953d45338f24/
  5. https://www.mygreatlearning.com/blog/pos-tagging/
  6. Speech and Language, Jurafsky

Parti precedenti di questa serie:

Parte #1 : https://medium.com/@deepthi.sudharsan/exploring-nlp-kickstarting-nlp-step-1-e4ad0029694f

Parte #2 : https://medium.com/@deepthi.sudharsan/exploring-nlp-kickstarting-nlp-step-2-157a6c0b308b

Parte #3 : https://medium.com/@deepthi.sudharsan/exploring-nlp-kickstarting-nlp-step-3-e6ea6963679d