Я не совсем понимаю, как использовать начальное и конечное состояния в скрытой марковской модели. Необходимы ли они для разработки и реализации матриц перехода и излучения?Это начальное и конечное состояния в HMM, необходимые при реализации алгоритма Витерби для маркировки POS?
ответ
Начальные/конечные состояния необходимы для моделирования того, может ли тег появляться в начале или в конце предложения.
Например, если у вас есть пять слов предложение и вы рассматривали два оснащений
- Det Существительное Глагол Det Существительное
- Det Существительное Глагол Det Adj
Оба они выглядят довольно хорошо с точки зрения переходов, потому что Det-> Noun и Det-> Adj оба очень вероятны. НО, гораздо меньше для предложения заканчивается в Adj, чем в существительном, то, что вы не получите без конечного тега. Так что вы действительно хотите, чтобы сравнить это
- START Det Существительное Глагол Det Существительное END
- 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 | START) = 2/2
- P (END | Verb) = 1/2
- P (END | Существительное) = 1/3
Кроме того, выбросы являются тривиальными: P (START | START) = 1 и P (END | END) = 1
Я думаю, что этот вопрос действительно зависит от вашего корпуса. Если, скажем, корпус, который вы используете, состоит из полных предложений (семантически), то я предлагаю вам добавить начальное и конечное состояния для улучшения языковой модели. Но если корпус полон фрагментов предложения, то я не думаю, что начало/конец состояний помогут. Они могут даже иметь неприятные последствия.
В основном, в поведении, статические состояния пытаются смоделировать, какие теги чаще появятся в начале предложения. Конечные состояния аналогичны. Так что, если предложения в вашем корпусе действительно являются предложениями, эти состояния начала/конца научат вашей языковой модели начинать или заканчивать предложение.
Правильно, но у меня нет этой информации ни на матрице перехода, ни на матрице излучения. Должен ли я также следить за показаниями POS после полной остановки? – Michael
Просто отредактирован. Это помогает? – dhg
Конечно!Я пытаюсь реализовать теггера bigram, хотя, поэтому мне нужно вставить эти состояния START и END в каждое предложение в моем корпусе? – Michael