Привет всем, в следующей статье мы поговорим о том, что такое языковая модель и ее применение.После улучшения мы кратко объясним оценку производительности языковой модели.Эти три пункта будут основным содержанием этой статьи.
Прежде чем читать эту статью, я надеюсь, что вы сможете получить в качестве основы следующие накопленные знания, такие как основные понятия теории вероятностей, такие как оценка максимального правдоподобия, байесовская классификация, байесовская теория принятия решений и т. д., или даже некоторые простые базовые понятия. в том числе теории информации, такие как информационная энтропия и т. д., и если это можно понять на простом формальном языке, это будет более совершенным.Без лишних слов, я сразу приступлю к основному содержанию этой статьи.
1: Зачем нужны новые подходы?
Из моих предыдущих статей о формальных языках мы можем примерно понять, что формальные языки имеют следующие недостатки:
1: Например, в больших системах естественного языка, таких как китайский и английский, формальные языки сложнее построить точные грамматики.
2: Логические правила формальных языков слишком сложны и фактически не соответствуют нашей привычке изучать языки.
3: Есть какие-то предложения, например, грамматика вашего предложения верна, но в нашей жизни это невозможно, и формальный язык не может распознать эти предложения.
Чтобы решить эти проблемы, ученые нашли новое направление после долгих исследований.После многих исследований ученые обнаружили, что на основе большого количества корпусов и использования статистических средств для построения моделей они обнаружили, что они может хорошо улучшить язык Эффективность модели.
А пока давайте подумаем, почему появление статистических методов задает направление для обработки естественного языка?
Во-первых, до применения статистических методов появление больших корпусов обеспечивало возможность реализации методов статистической обработки естественного языка (на мой взгляд, это тоже может быть ограничением). , по сравнению с формальным языком, может быть больше. Это соответствует человеческим привычкам, чтобы обнаружить общие правила использования языка. Таким образом, мы можем использовать модели машинного обучения для автоматического приобретения языковых знаний. Этот метод может быть более обильны и основаны на возможностях машин. Мы даже можем обнаружить способность рассуждать на неизвестных языках. [Кроме того, с широким применением машинного обучения во всех сферах жизни многие отрасли не предъявляют столь высоких требований к собственным знаниям в области бизнеса. , только когда данных недостаточно. В этом случае нам нужно больше бизнес-знаний, но пока у нас есть подходящие и достаточные массивные данные, мы действительно можем начать бизнес и напрямую получить подходящие математические модели, чтобы получить мудрость и знания , и, таким образом, получить ценность для бизнеса]
Любая система обработки информации на самом деле нуждается в поддержке большого количества данных и баз знаний, особенно в дисциплинах, управляемых данными, таких как машинное обучение.Знания корпуса и языка являются основными ресурсами, хотя в различной обработке естественного языка они играли другую роль. в направлении, но на самом деле это основа или даже узкое место естественного языка.
2: языковая модель
Языковые модели играют важную роль в обработке естественного языка, особенно в распознавании речи, машинном переводе, сегментации слов и анализе грамматики на основе статистических моделей, потому что я недавно изучаю модели n-грамм, эта модель на самом деле относительно проста и интуитивно понятна, но при недостатке данных необходимо использовать алгоритм сглаживания Что такое n-грамма и какой алгоритм сглаживания проще использовать?
Синтаксис 1:n-грамм:
Построение языковой модели обычно представляет собой частотное распределение P(s) строки s, где P(s) относится к частоте строки s как предложения. Например, если ваша мантра в порядке, у вас может быть 100 предложения Скажем, 25 предложений OK, тогда мы можем считать, что вероятность P(ok) равна 1/4, а вероятность появления в "how are you" равна 0, потому что мало кто будет смешивать OK в таких предложениях, Здесь мы следует отметить, что языковая модель отличается от формального языка.Языковая модель не имеет ничего общего с тем, является ли предложение грамматическим или нет.Даже если предложение полностью грамматически и логично, мы можем чувствовать себя неловко.Тогда вероятность этого предложения появление близко к 0.
Далее дается определение языковой модели:
Для предложения, состоящего из L примитивов (слов, слов, словосочетаний), S=W1,W2,.....Wn, его формула расчета вероятности может выглядеть как:
В этом предложении вероятность генерации i-го слова определяется предыдущими сгенерированными словами i-1. Обычно мы называем предыдущие i-1 слова историей i-го слова. метод вычисления легко выявить проблему.Если длина предыдущей истории слов продолжает увеличиваться, а количество различных историй увеличивается экспоненциально, предполагая, что текущая длина равна i-1, то размер такого словарного набора станет L ^i-1 историй, но в этом случае мы должны учитывать вероятность генерации i-го слова во всех L^i-1 случаях, например:
Если предположить, что L=5000, I=3, то количество таких свободных параметров должно быть L^i, а это 125 миллиардов, мы, глядя на эти данные, недоумеваем, как правильно оценить эти параметры по обучающим данным. конечно, мы не можем принять такой глупый метод.Чтобы решить эту проблему, ученые справились с методом и могут отображать историю (w1, w2, ....wi-1) в эквивалентность класс E ( w1,w2,....wi-1), теперь предположим:
Таким образом, количество этого свободного параметра также будет значительно уменьшено.Общим методом является сопоставление двух историй с одним и тем же классом эквивалентности тогда и только тогда, когда слова ближайших n-1 из двух историй одинаковы. , если E1=E2, то история внутри такая же.
Удовлетворение вышеуказанной языковой модели должно стать n-граммой, но при ее использовании не следует выбирать слишком большое n, иначе слишком много классов эквивалентности, а свободные параметры все еще существуют.В этом случае это ничем не отличается от отсутствия улучшения . Обнаружено, что n = 3 очень подходит. Когда n = 1, wi не зависит от истории. Когда n = 2, этот wi связан только с wi-1. В этом случае он называется марковским первым порядком. chain , когда n=3, фактически относится к двум словам перед wi; это также называется цепью Маркова второго порядка.
В качестве примера возьмем троичную грамматику:
В предыдущем введении мы могли подумать, что вероятность того, что это слово на самом деле связано только с предыдущим словом, тогда мы можем получить следующее уравнение:
Чтобы сделать p(wi|wi-1) значимым для i=1, нам нужно добавить маркер начала предложения, чтобы сделать сумму вероятностей равной 1, для этого необходимо добавить EOS, поэтому наш расчет:
Чтобы оценить условную вероятность P(WI|WI-1), мы вычисляем частоту wi-1, слов wi, появляющихся в этом случае, а затем нормализуем, формула выглядит следующим образом:
Таким образом, текст, используемый для построения языковой модели, становится обучающим текстом.Такая грамматическая модель n-грамм обычно обучается с миллионами слов.Приведенную выше формулу можно назвать MLE, оценка максимального правдоподобия.
Для модели n-грамм n> 2 условная вероятность TCM учитывает вероятность предыдущих слов n-1.Чтобы сделать n> 2 истинным, мы берем:
Рассмотрим следующий пример, предполагая, что обучающий корпус S состоит из следующих трех предложений:
1:BROWN READ HOLY BIBLE
2:MARK READ A TEXT BOOK
3:HE READ A BOOK BY DAVID
Затем используйте метод оценки максимального правдоподобия, чтобы вычислить вероятность p(BROWN READ A BOOK)
Результат выглядит следующим образом:
Итак, результат следующий:
Вероятность появления этого предложения равна 0,06, что является простым применением n-грамм.
В следующей статье мы обсудим выбор модели и оценку производительности модели.