Часть речевого тегирования: тегирование неизвестных слов

В части речевого теггера наиболее вероятные теги для данного предложения определяются с помощью HMM по

    P(T*) = argmax P(Word/Tag)*P(Tag/TagPrev)
              T

Но когда слово «Word» не появилось в обучающем корпусе, P (слово / тег) дает НУЛЬ для всех возможных тегов, это не оставляет места для выбора лучшего.

Я пробовал несколько способов,

1) Назначение небольшой вероятности для всех неизвестных слов, P (UnknownWord / AnyTag) ~ Epsilon ... означает, что это полностью игнорирует P (слово / тег) для неизвестного слова, присваивая постоянную вероятность .. Итак, принятие решения по неизвестному слову по априорной вероятности .. Как и ожидалось, это не дает хорошего результата.

2) Сглаживание Лапласа Я с этим перепутал. Я не знаю, в чем разница между (1) и этим. Мой способ понимания сглаживания Лапласа добавляет постоянную вероятность (лямбда) ко всем неизвестным и известным словам. Таким образом, все неизвестные слова получат постоянную вероятность (долю лямбда), а вероятности известных слов будут одинаковыми, поскольку вероятность всех слов увеличивается на Лямбда. Сглаживание Лапласа такое же, как и предыдущее?

*) Есть ли лучший способ справиться с неизвестными словами?


person Community    schedule 27.09.2012    source источник


Ответы (2)


Ваши два подхода похожи, но, если я правильно понимаю, они отличаются одним ключевым моментом. В (1) вы назначаете дополнительную массу счетчикам неизвестных слов, а в (2) вы назначаете дополнительную массу всем счетчикам. Вы определенно хотите делать (2), а не (1).

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

Сглаживающие слова Лапласа подходят для HMM, но не очень хороши. Большинство людей применяют сглаживание с добавлением одной единицы, но вы можете поэкспериментировать с такими вещами, как добавление половины или что-то еще.

Если вы хотите выйти за рамки этого наивного подхода к сглаживанию, попробуйте «сглаживание по одному счету», как описано в Приложении к Учебник Джейсона Эйснера по HMM. Основная идея здесь заключается в том, что для неизвестных слов больше вероятностной массы должно быть присвоено тегам, которые появляются с более широким набором низкочастотных слов. Например, поскольку тег NOUN появляется на большом количестве разных слов, а DETERMINER появляется на небольшом количестве разных слов, более вероятно, что невидимое слово будет NOUN.

Если вы хотите стать еще интереснее, вы можете использовать модель процесса в китайском ресторане, взятую из непараметрической байесовской статистики, чтобы применить предварительное распределение для невидимых комбинаций слов / тегов. Подробную информацию можно найти в Байесовском выводе Кевина Найта.

person dhg    schedule 27.09.2012

Я думаю, что TnT tagger на основе HMM обеспечивает лучший подход к обработке неизвестных слова (см. подход в статье теггера TnT) .

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

person NQD    schedule 25.11.2015