Статистическая языковая модель - это распределение вероятностей по последовательностям слов. Данной такой последовательности, скажем длины m , она присваивает вероятность ко всей последовательности.
Языковая модель предоставляет контекст, чтобы различать слова и фразы, которые звучат одинаково. Например, в американском английском фразы «распознавать речь» и «разрушить хороший пляж» звучат одинаково, но означают разные вещи.
Редкость данных - серьезная проблема при построении языковых моделей. При обучении не наблюдаются наиболее возможные последовательности слов. Одно из решений - сделать предположение, что вероятность слова зависит только от предыдущих n слов. Это известно как модель n -грамм или модель униграммы, когда n = 1. Модель униграммы также известна как модель мешка слов .
Оценка относительной вероятности различных фраз полезна во многих приложениях обработки естественного языка , особенно в тех, которые генерируют текст в качестве вывода. Язык моделирование используется в распознавании речи , [1] машинный перевод , [2] частеречной разметки , разбор , [2] Оптические распознавание символов , распознавание рукописного ввода , [3] поиск информации и другие приложения.
При распознавании речи звуки сопоставляются с последовательностями слов. Неоднозначности легче разрешить, если данные языковой модели объединить с моделью произношения и акустической моделью .
Языковые модели используются при поиске информации в модели вероятности запроса . Там с каждым документом в коллекции связана отдельная языковая модель . Документы ранжируются на основе вероятности запроса Q в языковой модели документа.: . Обычно для этой цели используется модель языка униграммы .
Типы моделей
Юниграмма
Модель униграммы можно рассматривать как комбинацию нескольких конечных автоматов с одним состоянием . [4] Он разделяет вероятности различных терминов в контексте, например, из
к
В этой модели вероятность каждого слова зависит только от собственной вероятности этого слова в документе, поэтому в качестве единиц у нас есть только конечные автоматы с одним состоянием. Сам автомат имеет распределение вероятностей по всему словарю модели, в сумме равное 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 (term) = 0. Общий подход состоит в создании модели максимального правдоподобия для всей коллекции и линейной интерполяции модели коллекции с моделью максимального правдоподобия для каждый документ для сглаживания модели. [5]
n -грамма
В модели 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 -грамм заполнен маркерами начала предложения, обычно обозначаемыми .
Кроме того, без маркера конца предложения вероятность неграмматической последовательности *, которую я видел , всегда была бы выше, чем вероятность более длинного предложения, которое я видел в красном доме.
Экспоненциальный
В языковых моделях максимальной энтропии отношения между словом и историей 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 Corpus [18]
- Многожанровый вывод на естественном языке
- Вопрос к естественному языку
- Пары вопросов Quora [19]
- Распознавание текстовых искажений [20]
- Тест семантического текстового сходства
- Тест с ответами на вопросы SQuAD [21]
- Stanford Sentiment Treebank [22]
- Виноград NLI
Критика
Хотя можно показать, что современные языковые модели, такие как GPT-2, соответствуют возможностям человека при выполнении некоторых задач, не совсем ясно, что они являются правдоподобными когнитивными моделями. Например, было показано, что повторяющиеся нейронные сети изучают шаблоны, которые люди не изучают, и не могут изучить шаблоны, которые люди усваивают. [23]
Смотрите также
- Статистическая модель
- Факторная языковая модель
- Модель языка кеширования
- Модель отступления Каца
- Трансформатор
- БЕРТ
- GPT-2
- GPT-3
Заметки
- ^ См. Закон Кучи .
Рекомендации
Цитаты
- ^ Кун, Роланд и Ренато Де Мори. « Модель естественного языка на основе кэша для распознавания речи ». Транзакции IEEE по анализу образов и машинному интеллекту 12.6 (1990): 570-583.
- ^ а б Андреас, Джейкоб, Андреас Влахос и Стивен Кларк. « Семантический анализ как машинный перевод ». Материалы 51-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 2: Краткие статьи). 2013.
- ^ Фам, Ву и др. « Dropout улучшает повторяющиеся нейронные сети для распознавания почерка ». 2014 14-я Международная конференция «Границы распознавания почерка». IEEE, 2014 г.
- ^ Кристофер Д. Мэннинг, Прабхакар Рагхаван, Хинрих Шютце: Введение в поиск информации, страницы 237–240. Издательство Кембриджского университета, 2009 г.
- ^ Buttcher, Clarke, и Кормак. Поиск информации: внедрение и оценка поисковых систем. стр. 289–291. MIT Press.
- ^ Крейг Трим, Что такое языковое моделирование? , 26 апреля 2013 г.
- ^ а б Девлин, Джейкоб; Чанг, Мин-Вэй; Ли, Кентон; Тутанова, Кристина (10.10.2018). «BERT: предварительная подготовка глубоких двунаправленных преобразователей для понимания языка». arXiv : 1810.04805 [ cs.CL ].
- ^ Карпаты, Андрей. «Неоправданная эффективность рекуррентных нейронных сетей» .
- ^ а б в Бенжио, Йошуа (2008). «Нейросетевые языковые модели» . Scholarpedia . 3 . п. 3881. Bibcode : 2008SchpJ ... 3.3881B . DOI : 10,4249 / scholarpedia.3881 .
- ^ а б в Миколов, Томас; Чен, Кай; Коррадо, Грег; Дин, Джеффри (2013). «Эффективная оценка представлений слов в векторном пространстве». arXiv : 1301.3781 [ cs.CL ].
- ^ а б Миколов, Томас; Суцкевер, Илья; Чен, Кай; Corrado irst4 = Greg S .; Дин, Джефф (2013). Распределенные представления слов и фраз и их композиционность (PDF) . Достижения в системах обработки нейронной информации . С. 3111–3119.
- ^ Харрис, Деррик (16 августа 2013 г.). «Мы находимся на пороге глубокого обучения для масс. Вы можете поблагодарить Google позже» . Гигаом .
- ^ Lv, Юаньхуа; Чжай, Чэнсян (2009). «Позиционные языковые модели для поиска информации в» (PDF) . Ход работы . 32-я международная конференция ACM SIGIR по исследованиям и разработкам в области информационного поиска (SIGIR).
- ^ Камбрия, Эрик; Хуссейн, Амир (28.07.2012). Sentic Computing: методы, инструменты и приложения . Springer Нидерланды. ISBN 978-94-007-5069-2.
- ^ Моциалов, Борис; Хасти, Хелен; Тернер, Грэм (август 2018). «Трансферное обучение для моделирования британского жестового языка» . Труды Пятого семинара по НЛП для похожих языков, разновидностей и диалектов (VarDial 2018) . Дата обращения 14 марта 2020 .
- ^ «Корпус языковой приемлемости (CoLA)» . nyu-mll.github.io . Проверено 25 февраля 2019 .
- ^ «КЛЕЙ Бенчмарк» . gluebenchmark.com . Проверено 25 февраля 2019 .
- ^ «Корпус парафраза исследований Microsoft» . Центр загрузки Майкрософт . Проверено 25 февраля 2019 .
- ^ Агаэбрахимян, Ахмад (2017), «Набор данных ответов на вопросы Quora», текст, речь и диалог , конспекты лекций по информатике, 10415 , Springer International Publishing, стр. 66–73, DOI : 10.1007 / 978-3-319-64206 -2_8 , ISBN 9783319642055
- ^ Саммонс, В.Г. Винод Видисваран, Дэн Рот, Марк; Vydiswaran, VG; Рот, Дэн. «Распознавание текстовых искажений» (PDF) . Проверено 24 февраля 2019 года .CS1 maint: несколько имен: список авторов ( ссылка )
- ^ «Стэнфордский набор данных с ответами на вопросы» . rajpurkar.github.io . Проверено 25 февраля 2019 .
- ^ «Рекурсивные глубинные модели для семантической композиционности по банку дерева настроений» . nlp.stanford.edu . Проверено 25 февраля 2019 .
- ^ Хорнштейн, Норберт; Ласник, Ховард; Патель-Гросс, Притти; Ян, Чарльз (2018-01-09). Синтаксические структуры через 60 лет: влияние Хомской революции в лингвистике . Walter de Gruyter GmbH & Co KG. ISBN 978-1-5015-0692-5.
Источники
- Дж. М. Понте и В. Б. Крофт (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 .
Внешние ссылки
Программное обеспечение
- BERT - представления двунаправленного кодера от трансформаторов
- CSLM - бесплатный набор инструментов для нейронных языковых моделей с прямой связью
- DALM - быстрое бесплатное программное обеспечение для запросов языковых моделей
- Генеративный предварительно обученный трансформатор
- IRSTLM на SourceForge.net - Бесплатное программное обеспечение для языкового моделирования
- Kylm (Kyoto Language Modeling Toolkit) - бесплатный набор инструментов моделирования языка на Java
- KenLM - быстрое бесплатное программное обеспечение для языкового моделирования
- LMSharp - Свободный набор языковых моделей для сглаженных по Кнезеру – Ней моделей n -граммы и рекуррентных моделей нейронных сетей.
- MITLM - инструментарий MIT Language Modeling. Свободное программное обеспечение
- NPLM - бесплатный набор инструментов для нейронных языковых моделей с прямой связью
- Библиотека OpenGrm NGram - бесплатное программное обеспечение для языкового моделирования. Построен на OpenFst.
- OxLM - бесплатный набор инструментов для нейронных языковых моделей с прямой связью
- Позиционная языковая модель
- RandLM на SourceForge.net - Бесплатное программное обеспечение для рандомизированного языкового моделирования
- RNNLM - бесплатный набор инструментов языковой модели рекуррентной нейронной сети
- SRILM - Проприетарное программное обеспечение для языкового моделирования
- VariKN - Бесплатное программное обеспечение для создания, выращивания и обрезки сглаженных моделей n -граммы Кнезера-Нея .
- Языковые модели, обученные на данных новостной ленты