Языковая модель -Language model

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

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

Языковые модели используются при поиске информации в модели вероятности запроса . Там с каждым документом в коллекции связана отдельная языковая модель . Документы ранжируются на основе вероятности запроса Q в языковой модели документа : . Обычно для этой цели используется языковая модель униграмм .

Типы моделей

Униграмма

Модель униграммы можно рассматривать как комбинацию нескольких конечных автоматов с одним состоянием . Предполагается, что вероятности маркеров в последовательности независимы, например:

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

Условия Вероятность в документе
а 0,1
Мир 0,2
нравится 0,05
мы 0,05
Поделиться 0,3
... ...

Вероятность, сгенерированная для конкретного запроса, рассчитывается как

В разных документах есть модели униграмм с разной вероятностью попадания в них слов. Распределения вероятностей из разных документов используются для генерации вероятностей попаданий для каждого запроса. Документы можно ранжировать для запроса в соответствии с вероятностями. Пример униграммных моделей двух документов:

Условия Вероятность в Doc1 Вероятность в Doc2
а 0,1 0,3
Мир 0,2 0,1
нравится 0,05 0,03
мы 0,05 0,02
Поделиться 0,3 0,2
... ... ...

В контексте информационного поиска модели языка униграмм часто сглаживаются, чтобы избежать случаев, когда P (термин) = 0. Обычный подход заключается в создании модели максимального правдоподобия для всей коллекции и линейной интерполяции модели коллекции с моделью максимального правдоподобия для всей коллекции. каждый документ, чтобы сгладить модель.

н-грамм

В модели n -грамм вероятность увидеть предложение аппроксимируется как

Предполагается, что вероятность встретить i слово w i в контекстной истории предшествующих i  − 1 слов может быть аппроксимирована вероятностью встретить его в укороченной контекстной истории предшествующих n  − 1 слов ( n -го порядка Марковское свойство ). Чтобы уточнить, для n = 3 и i = 2 мы имеем .

Условная вероятность может быть рассчитана на основе частотных подсчетов n -граммовой модели:

Термины биграммные и триграммные языковые модели обозначают n -граммные модели с n  = 2 и n  = 3 соответственно.

Как правило, вероятности модели n - грамм не выводятся непосредственно из подсчета частот, потому что модели, полученные таким образом, имеют серьезные проблемы при столкновении с любыми n -граммами, которые ранее явно не наблюдались. Вместо этого необходима некоторая форма сглаживания, приписывающая часть общей вероятностной массы невидимым словам или n -граммам. Используются различные методы, от простого сглаживания «добавить один» (присваивание числа 1 невидимым n -граммам в качестве неинформативного априорного ) до более сложных моделей, таких как модели дисконтирования Гуда-Тьюринга или модели отсрочки .

Двунаправленный

Двунаправленные представления зависят как от пре-, так и от постконтекста (например, слов) на всех уровнях.

Пример

В биграммной ( n  = 2) языковой модели вероятность предложения « Я видел красный дом» аппроксимируется как

тогда как в языковой модели триграммы ( n  = 3) приближение равно

Обратите внимание, что контекст первых n  – 1 n -грамм заполнен маркерами начала предложения, обычно обозначаемыми <s>.

Кроме того, без маркера конца предложения вероятность неграмматической последовательности *Я видел всегда будет выше, чем вероятность более длинного предложения Я видел красный дом.

экспоненциальный

Языковые модели с максимальной энтропией кодируют отношения между словом и историей n-грамм, используя функции признаков. Уравнение

где функция статистической суммы , вектор параметров и функция признаков. В простейшем случае функция признаков — это просто индикатор наличия некой n-граммы. Полезно использовать априорную или некоторую форму регуляризации.

Логбилинейная модель — еще один пример экспоненциальной языковой модели.

Нейронная сеть

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

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

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

.

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

из вектора признаков, представляющего предыдущие k слов. Другой вариант состоит в том, чтобы использовать «будущие» слова, а также «прошлые» слова в качестве признаков, так что предполагаемая вероятность

.

Это называется моделью мешка слов . Когда векторы признаков для слов в контексте объединяются непрерывной операцией, эта модель называется архитектурой непрерывного набора слов (CBOW).

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

где k , размер обучающего контекста, может быть функцией центрального слова . Это называется моделью языка со скип-граммой . Модели «мешок слов» и «скип-грамм» лежат в основе программы word2vec .

Вместо использования языковых моделей нейронных сетей для получения фактических вероятностей обычно вместо этого используется распределенное представление, закодированное в «скрытых» слоях сети, как представления слов; затем каждое слово отображается в n - мерный вещественный вектор, называемый встраиванием слов , где n — размер слоя непосредственно перед выходным слоем. Представления в моделях скип-грамм имеют отличительную характеристику, заключающуюся в том, что они моделируют семантические отношения между словами как линейные комбинации , фиксируя форму композиционности . Например, в некоторых таких моделях, если v — функция, которая отображает слово w в его n - d векторное представление, то

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

Другой

Позиционная языковая модель оценивает вероятность того, что данные слова встречаются в тексте близко друг к другу, не обязательно непосредственно рядом. Точно так же модели мешка понятий используют семантику, связанную с многословными выражениями, такими как buy_christmas_present , даже когда они используются в информативных предложениях, таких как «сегодня я купил много очень хороших рождественских подарков».

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

Оценка и контрольные показатели

Оценка качества языковых моделей в основном проводится путем сравнения с эталонными тестами, созданными людьми, созданными на основе типичных языковых задач. Другие, менее известные, тесты качества исследуют внутренний характер языковой модели или сравнивают две такие модели. Поскольку языковые модели обычно предназначены для того, чтобы быть динамичными и учиться на основе данных, которые он видит, некоторые предлагаемые модели исследуют скорость обучения, например, путем проверки кривых обучения.

Для оценки систем языковой обработки были разработаны различные наборы данных. Это включает:

  • Корпус лингвистической приемлемости
  • КЛЕЙ тест
  • Microsoft Research Paraphrase Corpus
  • Многожанровый вывод на естественном языке
  • Вопрос Вывод естественного языка
  • Пары вопросов Quora
  • Распознавание текстового содержания
  • Эталон семантического текстового сходства
  • SQUAD вопрос-ответ Тест
  • Стэнфордское дерево настроений
  • Виноград НЛИ

Критика

Хотя можно показать, что современные языковые модели, такие как GPT-2, соответствуют способностям человека в некоторых задачах, неясно, являются ли они правдоподобными когнитивными моделями . Например, было показано, что рекуррентные нейронные сети изучают шаблоны, которые люди не изучают, и не могут изучать шаблоны, которые люди изучают.

Смотрите также

Заметки

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

Цитаты

Источники

  • Дж. М. Понте и В. Б. Крофт (1998). «Подход языкового моделирования к поиску информации». Исследования и разработки в области информационного поиска . стр. 275–281. CiteSeerX  10.1.1.117.4237 .{{cite conference}}: CS1 maint: использует параметр авторов ( ссылка )
  • Ф. Сонг и В. Б. Крофт (1999). «Общая языковая модель для поиска информации». Исследования и разработки в области информационного поиска . стр. 279–280. CiteSeerX  10.1.1.21.6467 .{{cite conference}}: CS1 maint: использует параметр авторов ( ссылка )
  • Чен, Стэнли; Джошуа Гудман (1998). Эмпирическое исследование методов сглаживания для языкового моделирования (технический отчет). Гарвардский университет. CiteSeerX  10.1.1.131.5458 .