Problemi di etichettatura e modello di Markov nascosto

Sommario:

Anonim

Tagging di frasi

Contrassegnare la frase in un senso più ampio si riferisce all'aggiunta di etichette del verbo, del nome, ecc. Dal contesto della frase. L'identificazione dei tag POS è un processo complicato. Pertanto, l'etichettatura generica di POS non è possibile manualmente poiché alcune parole possono avere significati diversi (ambigui) a seconda della struttura della frase. La conversione del testo sotto forma di elenco è un passaggio importante prima di taggare poiché ogni parola nell'elenco viene ripetuta e conteggiata per un particolare tag. Si prega di vedere il codice sottostante per capirlo meglio

import nltktext = "Hello Guru99, You have to build a very good site, and I love visiting your site."sentence = nltk.sent_tokenize(text)for sent in sentence:print(nltk.pos_tag(nltk.word_tokenize(sent)))

PRODUZIONE

[('Hello', 'NNP'), ('Guru99', 'NNP'), (',', ','), ('You', 'PRP'), ('have', 'VBP'), ('build', 'VBN'), ('a', 'DT'), ('very', 'RB'), ('good', 'JJ'), ('site', 'NN'), ('and', 'CC'), ('I', 'PRP'), ('love', 'VBP'), ('visiting', 'VBG'), ('your', 'PRP$'), ('site', 'NN'), ('.', '.')]

Spiegazione del codice

  1. Codice per importare nltk (toolkit in linguaggio naturale che contiene sottomoduli come tokenize di frasi e tokenize di parole.)
  2. Testo i cui tag devono essere stampati.
  3. Tokenizzazione di frasi
  4. Il ciclo For è implementato in cui le parole vengono tokenizzate dalla frase e il tag di ogni parola viene stampato come output.

In Corpus ci sono due tipi di tag POS:

  • Basato su regole
  • Tagger POS stocastici

Tagger POS basato su regole: per le parole con significato ambiguo, viene applicato un approccio basato su regole sulla base di informazioni contestuali. Lo si fa controllando o analizzando il significato della parola precedente o successiva. Le informazioni vengono analizzate dall'ambiente circostante della parola o da se stesse. Pertanto le parole sono contrassegnate dalle regole grammaticali di una particolare lingua come le maiuscole e la punteggiatura. ad esempio, il tagger di Brill.

2. Tagger POS stocastico: diversi approcci come la frequenza o la probabilità vengono applicati con questo metodo. Se una parola è per lo più etichettata con un particolare tag nel training set, nella frase di prova viene assegnato quel particolare tag. La parola tag dipende non solo dal proprio tag ma anche dal tag precedente. Questo metodo non è sempre accurato. Un altro modo è calcolare la probabilità di occorrenza di un tag specifico in una frase. Pertanto il tag finale viene calcolato controllando la più alta probabilità di una parola con un tag particolare.

Modello Markov nascosto:

I problemi di etichettatura possono anche essere modellati utilizzando HMM. Considera i token di input come sequenza osservabile mentre i tag sono considerati stati nascosti e l'obiettivo è determinare la sequenza di stati nascosti. Ad esempio x = x 1 , x 2 ,…, x n dove x è una sequenza di token mentre y = y 1 , y 2 , y 3 , y 4 … y n è la sequenza nascosta.

Come funziona il modello HMM?

HMM utilizza la distribuzione join che è P (x, y) dove x è la sequenza di input / sequenza di token e y è la sequenza di tag.

La sequenza di tag per x sarà argmax y1… .yn p (x1, x2,… .xn, y1, y2, y3,…). Abbiamo classificato i tag dal testo, ma le statistiche di tali tag sono vitali. Quindi la parte successiva è il conteggio di questi tag per lo studio statistico.