Я не совсем понимаю, как использовать начальное и конечное состояния в скрытой марковской модели. Нужны ли они для разработки и реализации матриц перехода и эмиссии?
Нужны ли начальное и конечное состояния в HMM при реализации алгоритма Витерби для тегов POS?
Ответы (2)
Начальное/конечное состояния необходимы для моделирования того, будет ли тег находиться в начале или в конце предложения.
Например, если у вас есть предложение из пяти слов, и вы рассматриваете два тега
- Det Существительное Глагол Det Существительное
- Det Существительное Глагол Det Adj
Оба они выглядят довольно хорошо с точки зрения переходов, потому что Det->Noun и Det->Adj очень вероятны. НО, предложение оканчивается на Adj гораздо меньше, чем на существительное, чего вы не получили бы без конечного тега. Итак, что вы действительно хотите сравнить, так это
- НАЧАЛО Det Существительное Глагол Det Существительное КОНЕЦ
- START Det Существительное Глагол Det Adj END
Затем вы будете вычислять P(END|Существительное) и P(END|Adj).
Если вы проводите контролируемое обучение, то получение вероятностей с помощью START/END ничем не отличается от других тегов, вам просто нужно добавить специальные теги к каждому предложению перед подсчетом. Итак, если в вашем учебном корпусе есть:
Det Noun Verb
Det Noun Verb Det Noun
Затем вы изменили бы его, чтобы он был
START Det Noun Verb END
START Det Noun Verb Det Noun END
И вычислить, например:
- P(Det|СТАРТ) = 2/2
- P(КОНЕЦ|Глагол) = 1/2
- Р(КОНЕЦ|Существительное) = 1/3
Кроме того, выбросы тривиальны: P(START|START)=1 и P(END|END)=1.
Я думаю, что этот вопрос действительно зависит от вашего корпуса. Если, скажем, корпус, который вы используете, состоит из полных предложений (с точки зрения семантики), то я предлагаю вам добавить начальное и конечное состояния, чтобы улучшить языковую модель. Но если корпус заполнен фрагментами предложений, то я не думаю, что начальные/конечные состояния помогут. Они могут даже дать обратный эффект.
По сути, в пост-тегах начальные состояния пытаются смоделировать, какие теги с большей вероятностью появятся в начале предложения. Конечные состояния аналогичны. Итак, если предложения в вашем корпусе действительно являются предложениями, эти начальные и конечные состояния научат вашу языковую модель тому, как начинать или заканчивать предложение.