Sono incuriosito dal concetto di un modello di entropia di Markov (MEMM) e sto pensando di usarlo per un tagger di Part of Speech (POS). Al momento, sto usando un classificatore convenzionale di massima entropia (ME) per taggare ogni singola parola. Questo utilizza una serie di funzionalità, inclusi i due tag precedenti.
I MEMM usano l'algoritmo di Viterbi per trovare il percorso ottimale attraverso la catena di Markov (cioè per trovare un set ottimale completo di tag per la frase piuttosto che singoli ottimum per ogni parola). Leggendolo, sembra che abbia una meravigliosa eleganza e semplicità. Tuttavia, ogni fase si basa solo sui "risultati" della fase precedente (ovvero secondo una catena di Markov).
Tuttavia, il mio modello ME utilizza le due fasi precedenti (ovvero i tag per le due parole precedenti). Sembra che io abbia due possibili approcci:
Come con un'implementazione convenzionale di Viterbi, utilizzare una serie di percorsi memorizzati secondo uno (il precedente) stadio. Il mio classificatore ME userebbe questo e uno stadio "congelato" prima di questo (congelato nel percorso in esame) per produrre la funzione di trasferimento.
Oppure scrivo l'algoritmo per tenere traccia di due fasi. Questo è più complicato e non sarebbe più un vero modello Markov perché ogni funzione di trasferimento (cioè dal modello ME) dipenderebbe dalle due fasi precedenti e non da una fase.
Mi sembra che il secondo sarà più preciso, anche se sarà più complicato.
Devo ancora trovare alcuni esempi di questo durante la mia ricerca di letteratura. È stato provato? L'approccio a due fasi ha migliorato la precisione complessiva?