Tagging di parte del discorso (PoS)

Il tagging è una sorta di classificazione che può essere definita come l'assegnazione automatica della descrizione ai token. Qui il descrittore è chiamato tag, che può rappresentare una parte del discorso, informazioni semantiche e così via.

Ora, se parliamo di tag di parte del discorso (PoS), allora può essere definito come il processo di assegnazione di una delle parti del discorso alla parola data. Viene generalmente chiamato tagging POS. In parole semplici, possiamo dire che il tagging POS è un compito di etichettare ogni parola in una frase con la sua parte appropriata del discorso. Sappiamo già che parti del discorso includono nomi, verbi, avverbi, aggettivi, pronomi, congiunzione e loro sottocategorie.

La maggior parte del tagging POS rientra in tagging POS Rule Base, tagging POS stocastico e tagging basato sulla trasformazione.

Etichettatura POS basata su regole

Una delle più antiche tecniche di codifica è la codifica POS basata su regole. I tagger basati su regole utilizzano il dizionario o il lessico per ottenere possibili tag per taggare ogni parola. Se la parola ha più di un tag possibile, i tag basati su regole utilizzano regole scritte a mano per identificare il tag corretto. La disambiguazione può essere eseguita anche nell'etichettatura basata su regole analizzando le caratteristiche linguistiche di una parola insieme alle sue parole precedenti e seguenti. Ad esempio, supponiamo che se la parola precedente di una parola è articolo, la parola deve essere un sostantivo.

Come suggerisce il nome, tutto questo tipo di informazioni nella codifica POS basata su regole è codificato sotto forma di regole. Queste regole possono essere:

  • Regole del modello di contesto

  • Oppure, come espressione regolare compilata in automi a stati finiti, intersecata con una rappresentazione della frase lessicalmente ambigua.

Possiamo anche comprendere l'etichettatura POS basata su regole dalla sua architettura a due fasi:

  • First stage - Nella prima fase, utilizza un dizionario per assegnare a ciascuna parola un elenco di potenziali parti del discorso.

  • Second stage - Nella seconda fase, utilizza grandi elenchi di regole di disambiguazione scritte a mano per ordinare l'elenco in una singola parte del discorso per ogni parola.

Proprietà della codifica POS basata su regole

I tagger POS basati su regole possiedono le seguenti proprietà:

  • Questi tagger sono tagger basati sulla conoscenza.

  • Le regole nella codifica POS basata su regole vengono create manualmente.

  • Le informazioni sono codificate sotto forma di regole.

  • Abbiamo un numero limitato di regole circa 1000.

  • Il livellamento e la modellazione del linguaggio sono definiti in modo esplicito nei tagger basati su regole.

Tagging POS stocastico

Un'altra tecnica di etichettatura è la codifica POS stocastica. Ora, la domanda che sorge qui è quale modello può essere stocastico. Il modello che include frequenza o probabilità (statistica) può essere chiamato stocastico. Qualsiasi numero di approcci diversi al problema dell'etichettatura della parte del discorso può essere indicato come tagger stocastico.

Il tagger stocastico più semplice applica i seguenti approcci per il tagging POS:

Approccio basato sulla frequenza delle parole

In questo approccio, i tagger stocastici disambiguano le parole in base alla probabilità che una parola ricorra con un particolare tag. Possiamo anche dire che il tag incontrato più frequentemente con la parola nel training set è quello assegnato a un'istanza ambigua di quella parola. Il problema principale di questo approccio è che può produrre sequenze di tag inammissibili.

Probabilità di sequenza di tag

È un altro approccio di etichettatura stocastica, in cui il tagger calcola la probabilità che una data sequenza di tag si verifichi. È anche chiamato approccio n-gram. Si chiama così perché il miglior tag per una data parola è determinato dalla probabilità con cui si verifica con gli n tag precedenti.

Proprietà della codifica POST stocastica

I tagger POS stocastici possiedono le seguenti proprietà:

  • Questa codifica POS si basa sulla probabilità che si verifichi il tag.

  • Richiede corpus formativo

  • Non ci sarebbe probabilità per le parole che non esistono nel corpus.

  • Utilizza diversi corpus di test (diversi dal corpus di addestramento).

  • È il tagging POS più semplice perché sceglie i tag più frequenti associati a una parola nel corpus di formazione.

Tagging basato sulla trasformazione

Il tagging basato sulla trasformazione viene anche chiamato tagging Brill. È un'istanza dell'apprendimento basato sulla trasformazione (TBL), che è un algoritmo basato su regole per la codifica automatica del POS al testo dato. TBL, ci permette di avere una conoscenza linguistica in una forma leggibile, trasforma uno stato in un altro usando regole di trasformazione.

Trae ispirazione da entrambi i tagger spiegati in precedenza: basati su regole e stocastici. Se vediamo somiglianza tra tagger basato su regole e trasformazione, quindi come basato su regole, si basa anche sulle regole che specificano quali tag devono essere assegnati a quali parole. D'altra parte, se vediamo somiglianze tra stocastico e tagger di trasformazione quindi come stocastico, è una tecnica di apprendimento automatico in cui le regole vengono automaticamente indotte dai dati.

Working of Transformation Based Learning (TBL)

Per comprendere il funzionamento e il concetto di tagger basati sulla trasformazione, dobbiamo comprendere il funzionamento dell'apprendimento basato sulla trasformazione. Considera i seguenti passaggi per comprendere il funzionamento di TBL:

  • Start with the solution - Il TBL di solito inizia con qualche soluzione al problema e funziona in cicli.

  • Most beneficial transformation chosen - In ogni ciclo, TBL sceglierà la trasformazione più vantaggiosa.

  • Apply to the problem - Al problema verrà applicata la trasformazione scelta nell'ultimo passaggio.

L'algoritmo si interromperà quando la trasformazione selezionata nel passaggio 2 non aggiungerà più valore o non ci saranno più trasformazioni da selezionare. Questo tipo di apprendimento è più adatto nelle attività di classificazione.

Vantaggi dell'apprendimento basato sulla trasformazione (TBL)

I vantaggi di TBL sono i seguenti:

  • Impariamo un piccolo insieme di semplici regole e queste regole sono sufficienti per taggare.

  • Lo sviluppo e il debug sono molto semplici in TBL perché le regole apprese sono facili da capire.

  • La complessità nel tagging è ridotta perché in TBL c'è l'intreccio di regole apprese dalla macchina e regole generate dall'uomo.

  • Il tagger basato sulla trasformazione è molto più veloce del tagger modello Markov.

Svantaggi dell'apprendimento basato sulla trasformazione (TBL)

Gli svantaggi di TBL sono i seguenti:

  • L'apprendimento basato sulla trasformazione (TBL) non fornisce probabilità di tag.

  • In TBL, il tempo di formazione è molto lungo soprattutto su grandi corpora.

Etichettatura POS Hidden Markov Model (HMM)

Prima di approfondire il tagging POS HMM, dobbiamo comprendere il concetto di Hidden Markov Model (HMM).

Modello Markov nascosto

Un modello HMM può essere definito come il modello stocastico doppiamente incorporato, in cui il processo stocastico sottostante è nascosto. Questo processo stocastico nascosto può essere osservato solo attraverso un altro insieme di processi stocastici che produce la sequenza di osservazioni.

Esempio

Ad esempio, viene eseguita una sequenza di esperimenti di lancio di monete nascoste e vediamo solo la sequenza di osservazione composta da testa e croce. I dettagli effettivi del processo - quante monete utilizzate, l'ordine in cui sono selezionate - ci sono nascosti. Osservando questa sequenza di testa e croce, possiamo costruire diversi HMM per spiegare la sequenza. Di seguito è riportata una forma di modello Markov nascosto per questo problema:

Abbiamo assunto che ci siano due stati nell'HMM e ciascuno degli stati corrisponda alla selezione di una moneta diversa. La seguente matrice fornisce le probabilità di transizione di stato:

$$ A = \ begin {bmatrix} a11 & a12 \\ a21 & a22 \ end {bmatrix} $$

Qui,

  • aij = probabilità di transizione da uno stato all'altro da i a j.

  • a11 + a12= 1 e 21 + 22 = 1

  • P1 = probabilità di testa della prima moneta, ovvero il bias della prima moneta.

  • P2 = probabilità di testa della seconda moneta, ovvero il bias della seconda moneta.

Possiamo anche creare un modello HMM assumendo che ci siano 3 o più monete.

In questo modo, possiamo caratterizzare HMM dai seguenti elementi:

  • N, il numero di stati nel modello (nell'esempio precedente N = 2, solo due stati).

  • M, il numero di osservazioni distinte che possono apparire con ogni stato nell'esempio precedente M = 2, cioè H o T).

  • A, la distribuzione di probabilità della transizione di stato - la matrice A nell'esempio precedente.

  • P, la distribuzione di probabilità dei simboli osservabili in ogni stato (nel nostro esempio P1 e P2).

  • I, la distribuzione di stato iniziale.

Uso di HMM per la codifica POS

Il processo di tagging POS è il processo di ricerca della sequenza di tag che molto probabilmente ha generato una determinata sequenza di parole. Possiamo modellare questo processo POS utilizzando un Hidden Markov Model (HMM), dovetags sono i hidden states che ha prodotto il observable output, cioè, il words.

Matematicamente, nel tagging POS, siamo sempre interessati a trovare una sequenza di tag (C) che massimizzi -

P (C|W)

Dove,

C = C 1 , C 2 , C 3 ... C T

W = W 1 , W 2 , W 3 , W T

Dall'altro lato della medaglia, il fatto è che abbiamo bisogno di molti dati statistici per stimare ragionevolmente questo tipo di sequenze. Tuttavia, per semplificare il problema, possiamo applicare alcune trasformazioni matematiche insieme ad alcune ipotesi.

L'uso di HMM per eseguire un tag POS è un caso speciale di interferenza bayesiana. Quindi, inizieremo riaffermando il problema usando la regola di Bayes, che dice che la suddetta probabilità condizionata è uguale a -

(PROB (C1,..., CT) * PROB (W1,..., WT | C1,..., CT)) / PROB (W1,..., WT)

Possiamo eliminare il denominatore in tutti questi casi perché ci interessa trovare la sequenza C che massimizza il valore di cui sopra. Ciò non influirà sulla nostra risposta. Ora, il nostro problema si riduce a trovare la sequenza C che massimizza -

PROB (C1,..., CT) * PROB (W1,..., WT | C1,..., CT) (1)

Anche dopo aver ridotto il problema nell'espressione precedente, richiederebbe una grande quantità di dati. Possiamo fare ipotesi di indipendenza ragionevoli sulle due probabilità nell'espressione sopra per superare il problema.

Prima ipotesi

La probabilità di un tag dipende dal precedente (modello bigram) o dai due precedenti (modello trigram) o dai precedenti n tag (modello n-gram) che, matematicamente, possono essere spiegati come segue:

PROB (C1,..., CT) = Πi=1..T PROB (Ci|Ci-n+1…Ci-1) (n-gram model)

PROB (C1,..., CT) = Πi=1..T PROB (Ci|Ci-1) (bigram model)

L'inizio di una frase può essere spiegato assumendo una probabilità iniziale per ogni tag.

PROB (C1|C0) = PROB initial (C1)

Seconda ipotesi

La seconda probabilità nell'equazione (1) sopra può essere approssimata supponendo che una parola appaia in una categoria indipendente dalle parole nelle categorie precedenti o successive che possono essere spiegate matematicamente come segue:

PROB (W1,..., WT | C1,..., CT) = Πi=1..T PROB (Wi|Ci)

Ora, sulla base delle due ipotesi precedenti, il nostro obiettivo si riduce a trovare una sequenza C che massimizzi

Πi=1...T PROB(Ci|Ci-1) * PROB(Wi|Ci)

Ora la domanda che sorge qui è se convertire il problema nella forma sopra ci ha davvero aiutato. La risposta è: sì, lo ha fatto. Se disponiamo di un ampio corpus con tag, le due probabilità nella formula sopra possono essere calcolate come:

PROB (Ci=VERB|Ci-1=NOUN) = (# of instances where Verb follows Noun) / (# of instances where Noun appears) (2)

PROB (Wi|Ci) = (# of instances where Wi appears in Ci) /(# of instances where Ci appears) (3)