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

Статистический языковая модель это распределение вероятностей над последовательностями слов. Учитывая такую ​​последовательность, скажем, длины м, он присваивает вероятность ко всей последовательности.

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

Редкость данных - серьезная проблема при построении языковых моделей. При обучении не наблюдаются наиболее возможные последовательности слов. Одно из решений - сделать предположение, что вероятность слова зависит только от предыдущего п слова. Это известно как п-грамма модель или модель юниграммы, когда п = 1. Модель униграммы также известна как мешок слов модель.

Оценка относительная вероятность разных фраз полезно во многих обработка естественного языка приложения, особенно те, которые генерируют текст в качестве вывода. Языковое моделирование используется в распознавание речи,[1] машинный перевод,[2] тегирование части речи, разбор,[2] Оптическое распознавание символов, распознавание почерка,[3] поиск информации и другие приложения.

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

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

Типы моделей

Юниграмма

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

к

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

УсловияВероятность в документе
а0.1
Мир0.2
нравится0.05
мы0.05
Поделиться0.3
......

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

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

УсловияВероятность в Doc1Вероятность в Doc2
а0.10.3
Мир0.20.1
нравится0.050.03
мы0.050.02
Поделиться0.30.2
.........

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

п-грамма

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

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

Условную вероятность можно рассчитать из п-грамма модели частота подсчетов:

Условия биграмма и триграмма языковые модели обозначают п-грамма модели с п = 2 и п = 3 соответственно.[6]

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

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

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

Пример

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

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

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

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

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

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

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

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

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

Модели нейронного языка (или модели языка непрерывного пространства) использовать непрерывные представления или вложения слов делать свои прогнозы.[8] В этих моделях используются Нейронные сети.

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

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

.

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

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

.

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

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

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

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

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

Другой

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

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

Контрольные точки

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

  • Корпус языковой приемлемости[16]
  • Тест GLUE[17]
  • Корпорация Microsoft Research Paraphrase Corpus[18]
  • Многожанровый вывод на естественном языке
  • Вопрос к логическому выводу на естественном языке
  • Пары вопросов Quora[19]
  • Распознавание текстовых искажений[20]
  • Тест семантического текстового сходства
  • Тест на ответы на вопросы SQuAD[21]
  • Стэнфордское мнение Treebank[22]
  • Виноград НЛИ

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

Примечания

  1. ^ Видеть Закон кучи.

Рекомендации

Цитаты

  1. ^ Кун, Роланд и Ренато Де Мори. "Модель естественного языка на основе кеша для распознавания речи. "Транзакции IEEE по анализу образов и машинному интеллекту 12.6 (1990): 570-583.
  2. ^ а б Андреас, Джейкоб, Андреас Влахос и Стивен Кларк. "Семантический анализ как машинный перевод. "Труды 51-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 2: Краткие статьи). 2013.
  3. ^ Pham, Vu, et al. "Dropout улучшает повторяющиеся нейронные сети для распознавания почерка. »14-я Международная конференция« Границы распознавания рукописного ввода », 2014 г. IEEE, 2014 г.
  4. ^ Кристофер Д. Мэннинг, Прабхакар Рагхаван, Хинрих Шютце: Введение в поиск информации, страницы 237–240. Издательство Кембриджского университета, 2009 г.
  5. ^ Батчер, Кларк и Кормак. Поиск информации: внедрение и оценка поисковых систем. стр. 289–291. MIT Press.
  6. ^ Крейг Трим, Что такое языковое моделирование?, 26 апреля 2013 г.
  7. ^ а б Девлин, Джейкоб; Чанг, Мин-Вэй; Ли, Кентон; Тутанова, Кристина (10.10.2018). «BERT: предварительная подготовка глубоких двунаправленных преобразователей для понимания языка». arXiv:1810.04805 [cs.CL ].
  8. ^ Карпаты, Андрей. «Неоправданная эффективность рекуррентных нейронных сетей».
  9. ^ а б c Бенжио, Йошуа (2008). «Нейросетевые языковые модели». Scholarpedia. 3. п. 3881. Bibcode:2008SchpJ ... 3.3881B. Дои:10.4249 / scholarpedia.3881.
  10. ^ а б c Миколов, Томас; Чен, Кай; Коррадо, Грег; Дин, Джеффри (2013). «Эффективная оценка представлений слов в векторном пространстве». arXiv:1301.3781 [cs.CL ].
  11. ^ а б Миколов, Томас; Суцкевер Илья; Чен, Кай; Corrado irst4 = Greg S .; Дин, Джефф (2013). Распределенные представления слов и фраз и их композиционность (PDF). Достижения в системах обработки нейронной информации. С. 3111–3119.
  12. ^ Харрис, Деррик (16 августа 2013 г.). «Мы находимся на пороге глубокого обучения для масс. Вы можете поблагодарить Google позже». Гигаом.
  13. ^ Lv, Юаньхуа; Чжай, Чэнсян (2009). "Позиционные языковые модели для поиска информации в" (PDF). Труды. 32-я международная конференция ACM SIGIR по исследованиям и разработкам в области информационного поиска (SIGIR).
  14. ^ Камбрия, Эрик; Хуссейн, Амир (28.07.2012). Sentic Computing: методы, инструменты и приложения. Springer Нидерланды. ISBN  978-94-007-5069-2.
  15. ^ Моциалов, Борис; Хасти, Хелен; Тернер, Грэм (август 2018). «Трансферное обучение для моделирования британского жестового языка». Труды Пятого семинара по НЛП для похожих языков, разновидностей и диалектов (VarDial 2018). Получено 14 марта 2020.
  16. ^ "Корпус лингвистической приемлемости (CoLA)". nyu-mll.github.io. Получено 2019-02-25.
  17. ^ «КЛЕЙ Benchmark». gluebenchmark.com. Получено 2019-02-25.
  18. ^ "Корпорация Microsoft Research Paraphrase Corpus". Центр загрузок Microsoft. Получено 2019-02-25.
  19. ^ Агаэбрагимян, Ахмад (2017), «Набор данных ответов на вопросы Quora», Текст, речь и диалог, Конспект лекций по информатике, 10415, Springer International Publishing, стр. 66–73, Дои:10.1007/978-3-319-64206-2_8, ISBN  9783319642055
  20. ^ Саммонс, В.Г. Винод Видисваран, Дэн Рот, Марк; Выдисваран, В.Г .; Рот, Дэн. «Распознавание текстовых искажений» (PDF). Получено 24 февраля, 2019.CS1 maint: несколько имен: список авторов (связь)
  21. ^ "Стэнфордский набор данных с ответами на вопросы". rajpurkar.github.io. Получено 2019-02-25.
  22. ^ «Рекурсивные глубинные модели для семантической композиционности по банку дерева настроений». nlp.stanford.edu. Получено 2019-02-25.

Источники

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

внешняя ссылка

Программного обеспечения