Все еще не знакомы с CRF (условным случайным полем)?

машинное обучение
Все еще не знакомы с CRF (условным случайным полем)?

"Это 6-й день моего участия в ноябрьском испытании обновлений, ознакомьтесь с подробностями события:Вызов последнего обновления 2021 г."

Концепции и принципы

Полное имя CRFConditional Random Field, условное случайное поле.

RandomОтносится к случайным переменным X и Y .Conditionalотносится к условной вероятности. Это означает, что CRF является дискриминационной моделью. Как правило, дискриминационные модели вычисляют условные вероятности, а генеративные модели вычисляют совместные распределения вероятностей.

CRF — это сериализованный алгоритм маркировки, который получает входную последовательность, такую ​​как X=(x_1,x_2,...,x_n), и выводит целевую последовательность Y=(y_1,y_2,...,y_n), которую также можно рассматривать как и модель seq2seq.

Например, в задаче определения частей речивходная последовательностьпредставляет собой набор слов,выходная последовательностьявляется соответствующим словом. Здесь прописные буквы X,Y используются для обозначения последовательности.

В дополнение к маркировке частей речи CRF также может использоваться для таких задач, как анализ фрагментов и распознавание именованных объектов. В общем случае входная последовательность X называетсяobservation sequence, Y называетсяпоследовательность состояний.

Ограничения HMM

Скрытая марковская модель (HMM)

1. Модель определяет совместные вероятности и должна перечислять возможные значения всех последовательностей наблюдений, что для большинства полей затруднительно.

2. На основании наблюдения, что каждый элемент последовательности условно независим друг от друга. То есть наблюдение в любое время связано только с одним состоянием в последовательности состояний. иБольшинство реальных последовательностей наблюдений в реальном мире формируются за счет наличия множества взаимодействующих функций и зависимостей между элементами в более длинном диапазоне последовательности наблюдений. ``

image.png

Основная идея CRF

Применительно к nlp это означает указание части речи для каждого слова в предложении (вместо предсказания части речи для каждого слова в отдельности). Например, это предложение:

Bob drank coffee at Starbucks.

После указания части речи каждого слова это выглядит так:

Bob (名词) drank(动词) coffee(名词) at(介词) Starbucks(名词).

Используйте условное случайное поле, чтобы решить эту проблему:

Вот 5 слов, которые мы будем: (существительное, глагол, существительное, предлог, существительное) в виде помеченной последовательности, называемой l.

Существует множество видов необязательных последовательностей аннотаций, и нам приходится выбирать среди множества необязательных последовательностей аннотаций,Выберите наиболее надежную последовательность аннотаций с наивысшей оценкой в ​​качестве нашей аннотации для этого предложения..

Если мы дадим оценку каждой последовательности меток, если есть последовательность меток, за которой следует глагол или глагол в метке, дайте ей отрицательную оценку!

После глагола, упомянутого выше, глагол представляет собой функцию признаков.Мы можем определить (или использовать нейронную сеть для изучения) набор функций признаков, использовать этот набор функций признаков для оценки последовательности меток и соответственно выбрать наиболее надежную метку. .

Это,Каждая функция признаков может использоваться для оценки последовательности меток, а сумма оценок всех функций характеристик в наборе для одной и той же последовательности меток является окончательным значением оценки последовательности меток.

Собственные функции в линейной цепной CRF

Параметры характеристической функции

  • Предложение s (то есть предложение, которое мы хотим отметить частью речи)
  • i, используется для обозначения i-го слова (позиции) в предложении s
  • lil_i, указывающая часть речи i-го слова, помеченного последовательностью меток, которая будет оцениваться
  • li1l_{i-1}, указывающая часть речи i-1-го слова, помеченного последовательностью меток, которая будет оцениваться
  • Выходное значение: либо 0, либо 1.0 указывает, что оцениваемая последовательность меток не соответствует этому признаку, а 1 указывает, что оцениваемая последовательность меток соответствует этому признаку.

идея функциональной функции

Чтобы построить условное случайное поле:

  1. Чтобы определить набор функций признаков, каждая из которых принимает в качестве входных данных все предложение s, текущую позицию i, метку в позиции i и i-1,
  2. Назначьте вес каждой функциональной функции
  3. Для каждой последовательности меток l все функции признаков взвешиваются и суммируются, и при необходимости суммированное значение может быть преобразовано в значение вероятности.

CRF использует аннотированный корпус для формирования слов (группировка слов) из слов, не только учитывая информацию о частоте слов и слов, но и контекст контекста, и обладает хорошей способностью к обобщению, поэтому он больше подходит для неоднозначных слов и незарегистрированных слов. хороший эффект (и CRF решает эту проблему и не нормализует в каждом узле, а глобально нормализует все признаки, поэтому можно получить глобальное оптимальное значение)

Цепь Маркова

Например: человек хочет начать из А в пункт назначения F, а потом он должен по очереди пройти В, С, D, Е, поэтому есть такое состояние:

Если вы хотите добраться до B, вы должны пройти через A; если вы хотите добраться до C, вы должны пройти через A, B и так далее, если вы хотите добраться до F, вы должны пройти через A, B, C, D. , Э.

Если приведенное выше состояние записать в виде последовательности, это будет: {достичь A, достичь B, достичь c, ..., достичь F}, и, очевидно, каждое значение состояния последовательности состояний зависит от того, было ли удовлетворено предыдущее состояние. .

Ну вот так,"Каждое значение состояния последовательности состояний зависит от конечного числа предыдущих состояний." - это цепь Маркова.

Скрытая марковская модель (HMM)

Также используйте приведенный выше пример человека, идущего от А к F.

Человек сегодня хочет посетить A, B, C, D, E, F, но мы не знаем, какой из них он хочет посетить в первую очередь.

Каждый раз, когда этот человек приходит, он покупает вам подарок, но этот парень так взволнован, что подарок, который он приносит вам, повторяется, поэтому в конце концов у вас будет такое наблюдение:{礼物1,礼物2,礼物1,礼物3,礼物2,礼物2}(Так что я до сих пор не знаю, какой из них он хочет посетить первым, а потом какой).

В результате мы не знаем последовательности состояний (мы не знаем, в каком порядке он идет), но мы знаем последовательность наблюдений, и каждое наблюдение должно быть порождено состоянием (подарок нужно покупать, когда он идет). куда-то уходит).

Итак, этот пример описывает:не знаю последовательность состояний(то есть Марковская цепь), но знаю, чтоСоблюдайте случайные последовательностипроцесс, и этот процесс является скрытой марковской моделью.

использованная литература

Условное случайное поле CRF - представляет --- кожуру грейпфрута-

Условное случайное поле (CRF) - 1 - Введение - Blood Shadow Snow Dream