Мене заінтригує концепція моделі максимальної ентропії Маркова (MEMM), і я думаю про те, щоб використати її для тегера частини мови (POS). На даний момент я використовую звичайний класифікатор максимальної ентропії (ME) для позначення кожного окремого слова. Для цього використовується ряд функцій, включаючи попередні два теги.
МЕМ використовують алгоритм Вітербі для пошуку оптимального шляху через ланцюг Маркова (тобто для пошуку повного оптимального набору тегів для речення, а не окремих оптимумів для кожного слова). Читаючи про це, схоже, це чудова витонченість та простота. Однак кожен етап покладається лише на "результати" попереднього етапу (тобто відповідно до ланцюга Маркова).
Однак моя модель ME використовує попередні два етапи (тобто теги для попередніх двох слів). Здається, у мене є два можливі підходи:
Як і у звичайній реалізації Viterbi, використовуйте набір шляхів, що зберігаються відповідно до одного (попереднього) етапу. Мій класифікатор ME використовував би цей і "заморожений" етап перед цим (заморожений у розглянутий шлях) для створення функції передачі.
Або я пишу алгоритм для відстеження двох етапів. Це складніше і більше не буде справжньою Марковою моделлю, оскільки кожна функція передачі (тобто від моделі ME) залежатиме від попередніх двох етапів, а не від одного етапу.
Мене вражає, що другий буде більш точним, хоча буде складнішим.
Я ще не знайшов прикладів цього під час пошуку літератури. Чи було випробувано? Чи двоступеневий підхід покращив загальну точність?