Approfondimento sul modello LSTM-CRF |  di Alexey Kravets |  Ottobre 2023

 | Intelligenza-Artificiale

Con il codice PyTorch

Nel campo in rapida evoluzione dell’elaborazione del linguaggio naturale, i Transformers sono emersi come modelli dominanti, dimostrando prestazioni notevoli in un’ampia gamma di attività di modellazione di sequenze, tra cui l’etichettatura di parti del discorso, il riconoscimento di entità denominate e la suddivisione in blocchi. Prima dell’era dei Transformers, i Campi casuali condizionali (CRF) erano lo strumento di riferimento per la modellazione di sequenze e in particolare i CRF a catena lineare che modellano le sequenze come grafici diretti mentre i CRF più in generale possono essere utilizzati su grafici arbitrari.

Questo articolo sarà suddiviso come segue:

  1. introduzione
  2. Punteggi di emissione e transizione
  3. Funzione di perdita
  4. Stima efficiente della funzione di partizione tramite l’algoritmo Forward
  5. Algoritmo di Viterbi
  6. Codice LSTM-CRF completo
  7. Svantaggi e conclusioni

L’implementazione delle CRF in questo articolo è basata su Questo eccellente tutorial. Tieni presente che non è sicuramente l’implementazione più efficiente disponibile e manca anche di funzionalità di batching, tuttavia è relativamente semplice da leggere e comprendere e poiché lo scopo di questo tutorial è quello di comprendere il funzionamento interno dei CRF, è perfettamente adatto per noi.

Nei problemi di tagging in sequenza, abbiamo a che fare con una sequenza di elementi di dati di input, come le parole all’interno di una frase, dove ciascun elemento corrisponde a un’etichetta o categoria specifica. L’obiettivo primario è quello di assegnare correttamente l’etichetta appropriata ad ogni singolo elemento. All’interno del modello CRF-LSTM possiamo identificare due componenti chiave per fare ciò: probabilità di emissione e di transizione. Nota in realtà tratteremo i punteggi nello spazio logaritmico anziché le probabilità per la stabilità numerica:

  1. I punteggi di emissione si riferiscono alla probabilità di osservando una particolare etichetta per un dato elemento di dati. Nel contesto del riconoscimento dell’entità con nome, ad esempio, ogni parola in una sequenza è affiliata a una delle tre etichette: inizio di un’entità (B), parola intermedia di un’entità (I) o una parola esterna a qualsiasi entità (O ). Le probabilità di emissione quantificano la probabilità che una parola specifica venga associata a una particolare etichetta. Questo è espresso matematicamente come P(y_i | x_i), dove y_i denota l’etichetta e x_i rappresenta il…

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *