Натуральный вывод
- 1 year ago
- 0
- 0
Индукция грамматики (или грамматический вывод ) — процедура машинного обучения , которая восстанавливает формальную грамматику языка на основе набора наблюдений (примеров) с известной принадлежностью этому языку. В результате процедуры строится модель наблюдаемых объектов в виде набора правил вывода или , конечного автомата или автомата другого вида. В более общем смысле, грамматический вывод — это одно из направлений машинного обучения, в котором пространство примеров состоит из дискретных комбинаторных объектов, таких как строки, деревья, графы.
Грамматический вывод часто фокусируется на задаче обучения конечных автоматов различного типа (см. статью о деталях этих подходов), поскольку существуют эффективные алгоритмы решения этой задачи с 1980-х годов.
С начала 2000-х эти подходы были распространены на задачу вывода контекстно-свободных грамматик и более богатых формализмов, таких как множественных контекстно-свободных грамматик и параллельных множественных контекстно-свободных грамматик. Другие классы грамматик, для которых изучался грамматический вывод изучался и для других классов грамматик — контекстуальных грамматик и языков образцов ( англ. pattern language ).
Простейший вид обучения — это когда алгоритм обучения получает лишь набор примеров, а иногда и контрпримеров, слов рассматриваемого языка. Существуют и другие модели обучения. Одной из часто изучаемых альтернатив является случай, когда обучающийся может спрашивать о принадлежности слова языку как, например, в модели точного обучения или минимальной адекватной модели учителя ( англ. minimally adequate teacher model ), которую ввела Англуин .
Разработано большое разнообразие методов для грамматического вывода. Два классических источника — статьи Фу 1977 года и 1982 года . Дуда, Харт и Сторк также посвятили небольшой раздел этой проблеме и цитируют много источников. Базовый метод проб и ошибок, который они представили, обсуждается ниже. Для подходов по выводу подклассов регулярных языков , в частности, см. . Более свежей книгой является книга де ла Хигеры (2010) , в которой освещается теория грамматического вывода регулярных языков и конечных автоматов. Д’Улизия, Ферри и Грифони дали обзор исследований по методам грамматического вывода для естественных языков.
Метод, предложенный в разделе 8.7 статьи Дауда, Харта и Сторка , предлагает последовательное угадывание грамматических правил и проверки их на положительных и отрицательных наблюдениях. Набор правил расширяется так, чтобы можно было сгенерировать каждый положительный пример, но если данный набор правил генерирует отрицательный пример, он должен быть отброшен. Этот конкретный подход можно охарактеризовать, как «проверка гипотезы», представляет собой некоторое подобие алгоритма Митчела . Текст статьи Дауда, Харта и Сторка даёт простой пример, который хорошо иллюстрирует процесс, но выполнимость такого неуправляемого подхода проб и ошибок для более крупных задач сомнительна.
Грамматический вывод с помощью эволюционных алгоритмов является процессом эволюции представления грамматики целевого языка посредством некоторого эволюционного процесса. Формальные грамматики могут легко быть представлены как деревья правил вывода, к которым могут быть применены эволюционные операторы. Алгоритмы этого вида берут начало от генетического программирования , начало которому положил Джон Коза . Другие ранние работы по простым формальным языкам использовали бинарное строковое представление генетических алгоритмов, но внутренняя иерархическая структура грамматик, лежащая в основе языка расширенной формы Бэкуса — Наура , делает деревья более гибким подходом.
Коза представил программы языка Lisp как деревья. Он сумел найти аналогии среди генетических операторов стандартным операторам на деревьях. Например, обмен поддеревьев эквивалентен соответствующему процессу генетического кроссинговера , где подстроки генетического кода преобразуются в индивидуальность следующего поколения. Годность измеряется путём оценки выходного кода Lisp. Похожие аналогии между древесными структурами представлений языка Lisp и представлениями грамматик в виде деревьев, делают технику применения генетического программирования возможной для индукции грамматики.
В случае индукции грамматики, перенесение поддеревьев соответствует обмену правил вывода, что даёт возможность разбора фраз некоторого языка. Оператор годности для грамматики основывается на некоторой мере, как хорошо она разбирает некоторую группу предложений из целевого языка. В представлении грамматики в виде дерева терминальный символ производящего правила соответствует листу дерева. Его родительский узел соответствует нетерминальному символу (например, именной группе или глагольной группе ) в наборе правил. В конце концов, корневой узел может соответствовать последовательности нетерминальных.
Подобно всем жадным алгоритмам , жадные алгоритмы грамматического вывода принимают в итеративной манере решение, которое кажется лучшим на данном этапе. Под решением обычно понимают создание нового правила, удаление существующего правила, выбор применяемого правила, слияние существующих правил. Поскольку понятия «этап» и «лучший» можно определить по-разному, создано несколько алгоритмов жадного грамматического вывода.
Следующие алгоритмы порождения контекстно-свободных грамматик принимают решение после каждого прочитанного символа:
Следующие алгоритмы генерации контекстно-свободных грамматик сначала читают всю последовательность символов, а затем начинают принимать решения:
Более свежие подходы основываются на . Алгоритмы, использующие эти подходы, были применены к обучению контекстно-свободным грамматикам и , и была доказана их корректность и эффективность для больших подклассов этих грамматик
Англуин определила образец как «строку постоянных символов из алфавита Σ и переменных символов из непересекающегося множества». Язык таких образцов является набором всех непустых основных примеров, то есть всех строк, получающихся соответствующей заменой переменных символов непустыми строками постоянных символов . Образец называется описательным для конечного набора строк, если его язык минимален (учитывая включение множеств) среди всех языков образцов, включая входное множество.
Англуин дала
полиномиальный алгоритм
для вычисления из заданного входного множества строк всех описательных образцов от одной переменной
x
. С этой целью она строит автомат, представляющий все возможные относящиеся к делу образцы. Используя изощрённые аргументы о длинах слов, которые зависят только от единственной переменной
x
, число состояний может быть значительно сокращено
.
Эрлебах с сотрудниками дал более эффективную версию алгоритма Англуин обучения образцам, а также параллельную версию алгоритма .
Аримура и др. показали, что класс языков, полученный из ограниченного объединения образцов, может быть обучен за полиномиальное время .
( англ. pattern theory ), сформулированная Ульфом Гренандером , является математическим формализмом для описания знаний о мире в виде образцов. Отличием предложенного подхода к искусственному интеллекту от других состоит в том, что он начинается не с определения алгоритмов и машин для распознавания и классификации образов. Скорее, метод предписывает словарь для формулирования и переписывания образцов на точном языке.
Вдобавок к новому алгебраическому языку, новый статистический подход был введён с целью:
Принципы индукции грамматики были применены у другим аспектам обработки естественного языка , и (среди многих других задач) к , машинному переводу на основе примеров , анализе морфем и вывода происхождения названий мест. Индукция грамматики использовалась также для сжатия без потерь и статистического вывода через принципы сообщений минимальной длины и описаний минимальной длины . Индукция грамматики использовалась также в некоторых .
x
может встретиться несколько раз, но не должно быть какой-либо другой переменной
y