Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Статистическая языковая модель представляет собой распределение вероятностей над последовательностями слов. Для такой последовательности, скажем длины m , она присваивает вероятность всей последовательности.

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

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

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

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

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

Типы моделей [ править ]

Юниграмма [ править ]

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

к

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

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

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

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

n -gram [ править ]

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

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

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

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

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

Двунаправленный [ править ]

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

Пример [ править ]

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

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

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

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

Экспоненциальный [ править ]

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

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

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

Нейронная сеть [ править ]

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

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

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

.

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

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

.

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

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

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

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

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

Другое [ править ]

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

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

Контрольные показатели [ править ]

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

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

См. Также [ править ]

  • Статистическая модель
  • Факторная языковая модель
  • Модель языка кеширования
  • Модель отступления Каца
  • Трансформатор
  • БЕРТ
  • GPT-2
  • GPT-3

Заметки [ править ]

  1. ^ См. Закон Кучи .

Ссылки [ править ]

Цитаты [ править ]

  1. ^ Кун, Роланд и Ренато Де Мори. « Модель естественного языка на основе кэша для распознавания речи ». Транзакции IEEE по анализу образов и машинному интеллекту 12.6 (1990): 570-583.
  2. ^ а б Андреас, Джейкоб, Андреас Влахос и Стивен Кларк. « Семантический разбор как машинный перевод ». Материалы 51-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 2: Краткие статьи). 2013.
  3. ^ Фам, Ву и др. « Dropout улучшает повторяющиеся нейронные сети для распознавания почерка ». 2014 14-я Международная конференция «Границы распознавания почерка». IEEE, 2014.
  4. ^ Кристофер Д. Мэннинг, Прабхакар Рагхаван, Хинрих Шютце: Введение в поиск информации, страницы 237–240. Издательство Кембриджского университета, 2009 г.
  5. ^ Buttcher, Clarke, и Кормак. Поиск информации: внедрение и оценка поисковых систем. стр. 289–291. MIT Press.
  6. ^ Крейг Трим, Что такое языковое моделирование? , 26 апреля 2013 г.
  7. ^ а б Девлин, Джейкоб; Чанг, Мин-Вэй; Ли, Кентон; Тутанова, Кристина (10.10.2018). «BERT: предварительная подготовка глубоких двунаправленных преобразователей для понимания языка». arXiv : 1810.04805 [ cs.CL ].
  8. ^ Karpathy, Андрей. «Неоправданная эффективность рекуррентных нейронных сетей» .
  9. ^ a b c Бенхио, Йошуа (2008). «Нейросетевые языковые модели» . Scholarpedia . 3 . п. 3881. Bibcode : 2008SchpJ ... 3.3881B . DOI : 10,4249 / scholarpedia.3881 .
  10. ^ a b c Миколов, Томас; Чен, Кай; Коррадо, Грег; Дин, Джеффри (2013). «Эффективная оценка представлений слов в векторном пространстве». arXiv : 1301.3781 [ cs.CL ].
  11. ^ a b Миколов, Томас; Суцкевер, Илья; Чен, Кай; 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 . Проверено 25 февраля 2019 .
  17. ^ "КЛЕЙ Benchmark" . gluebenchmark.com . Проверено 25 февраля 2019 .
  18. ^ "Microsoft Research Paraphrase Corpus" . Центр загрузки Майкрософт . Проверено 25 февраля 2019 .
  19. ^ Aghaebrahimian, Ahmad (2017), "Quora Вопрос Ответ Dataset", текст, речь и диалог , Lecture Notes в области компьютерных наук, 10415 , Springer International Publishing, С. 66-73,. Дои : 10.1007 / 978-3-319- 64206-2_8 , ISBN 9783319642055
  20. ^ Саммонс, В.Г. Винод Видисваран, Дэн Рот, Марк; Vydiswaran, VG; Рот, Дэн. «Распознавание текстовых искажений» (PDF) . Проверено 24 февраля 2019 года . CS1 maint: multiple names: authors list (link)
  21. ^ «Стэнфордский набор данных с ответами на вопросы» . rajpurkar.github.io . Проверено 25 февраля 2019 .
  22. ^ "Рекурсивные глубинные модели семантической композиционности по банку дерева настроений" . nlp.stanford.edu . Проверено 25 февраля 2019 .

Источники [ править ]

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

Внешние ссылки [ править ]

Программное обеспечение [ править ]

  • BERT - представления двунаправленного кодера от трансформаторов
  • CSLM - бесплатный набор инструментов для нейронных языковых моделей с прямой связью
  • DALM - быстрое бесплатное программное обеспечение для запросов языковых моделей
  • Генеративный предварительно обученный трансформатор
  • IRSTLM на SourceForge.net - Бесплатное программное обеспечение для языкового моделирования
  • Kylm (Kyoto Language Modeling Toolkit) - бесплатный набор инструментов моделирования языка на Java
  • KenLM - быстрое бесплатное программное обеспечение для языкового моделирования
  • LMSharp - Бесплатный языковая модель инструментарий для Кнезера-Ней-сглаженных п -gram моделей и рецидивирующий сеть нейронных моделей
  • MITLM - инструментарий MIT Language Modeling. Бесплатно программное обеспечение
  • NPLM - бесплатный набор инструментов для нейронных языковых моделей с прямой связью
  • Библиотека OpenGrm NGram - бесплатное программное обеспечение для языкового моделирования. Построен на OpenFst.
  • OxLM - бесплатный набор инструментов для нейронных языковых моделей с прямой связью
  • Позиционная языковая модель
  • RandLM на SourceForge.net - Бесплатное программное обеспечение для рандомизированного языкового моделирования
  • RNNLM - бесплатный набор инструментов языковой модели рекуррентной нейронной сети
  • SRILM - Фирменное программное обеспечение для языкового моделирования
  • VariKN - Бесплатное программное обеспечение для создания, выращивания и обрезки сглаженных моделей n -граммы Кнезера-Нея .
  • Языковые модели, обученные на данных новостной ленты