«Это первый день моего участия в ноябрьском испытании обновлений, ознакомьтесь с подробностями события:Вызов последнего обновления 2021 г."
[Эта статья является переводом «Обработка речи и языка» 8.4, и в нее добавлены собственные мысли некоторых переводчиков]
1. Цепь Маркова
Марковское предположение: при предсказании будущего прошлое не имеет значения, имеет значение только настоящее.
Цепь Маркова в основном состоит из следующих частей:
формула | Примечание |
---|---|
Q = | набор из N состояний |
A = | A представляет матрицу вероятности перехода,представляет вероятность перехода из состояния i в состояние j |
Начальное распределение вероятностей, которому подчиняется состояние,представляет вероятность того, что цепь Маркова начинается в состоянии i. если некоторое состояние j, это означает, что эти состояния нельзя использовать в качестве начального состояния o цепи Маркова, |
Пример: Последовательность погодных явлений
state=[hot、cold、warm]
π = [0.1, 0.7, 0.2] //表示马尔可夫链初始状态是状态1(hot)的可能性为0.1
Матрица перехода А:
состояние (i\j) | hot | cold | warm |
---|---|---|---|
hot | 0.6 | 0.1 | 0.3 |
cold | 0.1 | 0.8 | 0.1 |
warm | 0.3 | 0.1 | 0.6 |
В: Пожалуйста, используйте приведенные выше вероятности, чтобы рассчитать вероятность каждой из следующих последовательностей.
hot hot hot hot
cold hot cold hot
2. Скрытая марковская модель (The Hidden Markov Model)
Мы можем легко использовать цепи Маркова для вычисления вероятности наблюдаемой последовательности событий, но в некоторых случаях интересующие нас вещи скрыты, и мы не можем их непосредственно наблюдать, например, в тексте мы можем непосредственно наблюдать слова, но мы не можем напрямую знать части речи слов, теги слов должны быть выведены из последовательности слов, мы называем эти теги скрытыми, потому что их нельзя непосредственно наблюдать,
Скрытые марковские модели также поддерживают наблюдаемые события (например, слова, которые мы видим на входе). и скрытые события (такие как теги части речи), которые мы считаем причинными в вероятностной модели
2.1 Компоненты HMM
ГМ состоит из следующих частей:
формула | Примечание |
---|---|
Q = | набор из N состояний |
A = | A (матрица вероятности перехода) представляет матрицу вероятности перехода,представляет вероятность перехода из состояния i в состояние j такое, что для любого i |
Последовательность наблюдений T, каждое из которых получено из числа сигналов мозга. | |
Последовательность вероятностей наблюдения, также известная как вероятность эмиссии, представляет подчиненное состояние.может производить наблюденияВероятность | |
Начальное распределение вероятностей, которому подчиняется состояние,представляет вероятность того, что цепь Маркова начинается в состоянии i. если некоторое состояние j, это означает, что эти состояния нельзя использовать в качестве начального состояния o цепи Маркова, |
Скрытая марковская модель первого порядка состоит из двух упрощенных предположений Глоссарий
- Как и в цепях Маркова первого порядка, вероятность конкретного состояния зависит только от предыдущего состояния:
- выходное наблюдениеВероятность зависит только от состояния, которое произвело наблюдение, независимо от любого другого состояния и других наблюдений:
2.2 Компоненты тегера HMM
HMM состоит из двух компонентов: матрицы A и матрицы B.
Матрица A: вероятности перехода метки, который представляет вероятность появления текущей метки с учетом предыдущей метки. Например, за модальным глаголом, скорее всего, будет следовать основная форма глагола, т. е. VB, как вrace, поэтому мы ожидаем, что эта вероятность будет высокой. Мы вычисляем оценку максимального правдоподобия этой вероятности перехода, подсчитывая количество вхождений первого и второго в корпусе.
Набор тегов части речи:Woohoo. IBM.com/docs/this/Я тру...
Например, в корпусе WSJ слово MD появляется 13 124 раза, за ним следует VB 10 471 раз, поэтому его MLE оценивается как
Примеры задач по маркировке частей речи
В аннотации HMM вероятности оцениваются путем статистической аннотации обучающего корпуса. В этом примере мы будем использовать аннотированный корпус WSJ.
вероятность эмиссии,, указывая на то, что данная метка(например, MD), аналогом которого является данное слово(как will) Вероятность. MLE для этой вероятности выбросов равен
Среди 13124 вхождений MD в корпусе WSJ соответствующее словоwillиз 4046 раз:
Помните, что этот термин вероятности не спрашивает».willКакой наиболее вероятный ярлык для этого слова? "это будет апостериорная вероятность,НапротивОтветом является слегка извращенный вопрос: «Если бы нам нужно было сгенерировать MD, насколько вероятно, что этот модальный глагол будетwill? "
Как показано
По аналогии с цепью Маркова есть три состояния VB (глагол), MD (модальный глагол), NN (существительное), значение наблюденияПредставляет такие слова, как «будет», «назад» и т. д. , как видно из рисунка, матрица переходных вероятностейи наблюдаемая вероятность
Для моделей, которые содержат скрытые переменные, такие как HMM, под декодированием понимается задача определения последовательности скрытых значений, соответствующей последовательности наблюдений, т.е.
расшифровка: Учитывая HMMи последовательность наблюденийВ качестве входных данных найдите наиболее вероятную последовательность состояний.
Для маркировки частей речи указывается цель декодирования HMM.последовательность слов, выберите наиболее вероятную последовательность тегов:
На самом деле мы используем правило Байеса в HMM для расчета:
Продолжаем упрощать предыдущую формулу и сразу убираем знаменатель(Луна: Поскольку мы уже знаем эту последовательность слов, ее вероятность равна 1, что можно удалить напрямую)
Теггер HMM делает еще два упрощения:
- Вероятность появления слова зависит только от вероятности его собственной метки и не имеет ничего общего с соседними словами.
- Вероятность появления метки зависит только от ее предыдущей метки, а не от всей последовательности меток.
Из этих двух упрощений мы можем вывести формулу для наиболее вероятной последовательности меток из тегера биграмм:
2.3 Алгоритм Витерби (The Viterbi Algorithm)
Алгоритм декодирования HMM — Витерби, как показано на следующем рисунке (Viterbi)алгоритм. В качестве примера динамического программирования алгоритм Витерби подобен алгоритму минимального расстояния редактирования динамического программирования в главе 2 slp3.
Алгоритм Витерби сначала строит матрицу вероятностей илисетка(lattice), где каждый столбец для каждого наблюдения, для каждого состояния на диаграмме состояний в строке. Следовательно, в одном комбинаторном автомате каждый столбец (наблюдаемое значение) для каждого состоянияЕсть одна ячейка. На рисунке ниже показаноJanet will back the billРешетка, соответствующая этому предложению.
каждая ячейка сетки,, представляющий данный HMMперед "увидеть"наблюдения и пройти через наиболее вероятную последовательность состоянийпосле государстваВероятность. каждая ячейкаЗначение вычисляется рекурсивно, то есть каждый раз выбирается наиболее вероятный путь к ячейке. Формально вероятность, представленная каждой ячейкой, равна
Мы делаем это, беря максимальное значение из всех предыдущих возможных последовательностей состояний.представить наиболее вероятный путь. Как и другие алгоритмы динамического программирования, алгоритм Витерби рекурсивно заполняет каждую ячейку. Учитывая, что мы рассчитали, что во времени— вероятность пребывания в каждом состоянии, поэтому мы можем принять максимальную вероятность всех путей расширения в текущую ячейку как текущее времязначение вероятности. на времязаданное состояние, когда, его значениеМетод расчета
формула | Примечание |
---|---|
Вероятность пути Витерби в предыдущий момент | |
предыдущее состояниек текущему состояниюВероятность перехода | |
учитывая текущее состояние, наблюдаемое значениеВероятность наблюдения за состоянием |
Пример: Джанет поддержит счет, цель состоит в том, чтобы получить правильную последовательность меток:
Janet/NNP will/MD back/VB the/DT bill/NN
На рисунке выше (8.11) показаны возможные метки для каждого слова и выделена правильная последовательность частей речи, соответствующая предложению из этих скрытых состояний. А часть речи (состояние) реализуется как слово (значение наблюдения) с вероятностью 0. Состояние отображается серым цветом (типа DT невозможно -> Джанет)
Тогда разберем подробно:
На рис. 8.12 показаны вероятности перехода между состояниями.матрица:
То есть вероятность того, что предыдущий момент — MD, а следующий момент — VB, равна 0,7968.
На рис. 8.13 показановероятность, т. е. с учетом меткинаблюдаемое значениевероятность
На рис. 8.14 показана подробная версия рис. 8.11, сетка Витерби, используемая для вычисления оптимальной последовательности скрытых состояний для последовательности наблюдений «Джанет поддержит счет».
имеютстолбец состояния. Начнем со столбца 1 (соответствующего словуJanet), установите значение Витерби каждой ячейки как вероятность перехода(государствоНачальная вероятность , которую мы можем получить из рис. 8.12<s>
срок) то есть(вероятность метки NNP в качестве начала равна 0,2767), и мы можем видеть, что при этой метке ячейки словоJanetНаблюдаемое значение вероятности . Большинство ячеек в этом столбце - нули,так как JanetСлово не может быть ни одной из этих меток. Читатель должен увидеть это на рис. 8.14.
Далее обновитеwillкаждой ячейке столбца. Для каждого состояния мы вычисляем по уравнению 8.19., взяв максимальное значение разброса всех путей, ведущих к текущей ячейке в предыдущем столбце. Мы привели значения для ячеек MD, VB и NN. Каждая ячейка берет максимальное значение из 7 ячеек в предыдущем столбце, умноженное на соответствующую вероятность перехода; в этом примере большинство из них — нули. Затем умножьте на соответствующую вероятность наблюдения и возьмите максимальное значение. В этом примере конечное значение (Примечание переводчика: максимальное значение), 2.772e-8, статус NNP из предыдущего столбца. Читатель может продолжить заполнение оставшихся ячеек на рис. 8.14 и вернуться назад, чтобы увидеть, вернул ли алгоритм Витерби правильную последовательность состояний NNP MD VB DT NN.