Jump to content

Синтаксический анализ (компьютерная лингвистика)

Синтаксический анализ — это автоматический анализ синтаксической структуры естественного языка, особенно синтаксических отношений (в грамматике зависимостей ) и маркировки диапазонов составляющих (в грамматике округов ). [1] Это мотивировано проблемой структурной двусмысленности в естественном языке: предложению может быть назначено несколько грамматических анализов, поэтому необходимы какие-то знания, выходящие за рамки правил вычислительной грамматики, чтобы определить, какой синтаксический анализ предназначен. Синтаксический анализ является одной из важных задач компьютерной лингвистики и обработки естественного языка и является предметом исследований с середины 20-го века, с появлением компьютеров.

Различные теории грамматики предлагают разные формализмы для описания синтаксической структуры предложений. Для вычислительных целей эти формализмы можно сгруппировать в грамматики округов и грамматики зависимостей . Парсеры каждого класса требуют использования разных типов алгоритмов, и подходы к этим двум проблемам приняли разные формы. Создание аннотированных человеком древовидных банков с использованием различных формализмов (например, универсальных зависимостей ) происходило параллельно с разработкой новых алгоритмов и методов синтаксического анализа.

Маркировка частей речи (которая устраняет некоторую семантическую двусмысленность) является связанной с ней проблемой и часто является предпосылкой или подзадачой синтаксического анализа. Синтаксический анализ может использоваться для извлечения информации (например, анализ событий, разметка семантических ролей, разметка объектов) и в дальнейшем может использоваться для извлечения формальных семантических представлений .

Анализ избирательного округа [ править ]

Синтаксический анализ округа включает в себя синтаксический анализ в соответствии с формализмами грамматики округа, такими как минимализм или формализм Penn Treebank . Это, по крайней мере, означает указание того, какие промежутки являются составляющими (например , [Человек] здесь. ) и какого типа это составляющая (например, [Человек] — именное словосочетание) на основе контекстно-свободной грамматики. (CFG), который кодирует правила формирования и слияния компонентов. [2]

Алгоритмы обычно требуют преобразования CFG в нормальную форму Хомского (с двумя дочерними элементами на каждую составляющую), что можно сделать без потери какой-либо информации о дереве или снижения выразительности с использованием алгоритма, впервые описанного Хопкрофтом и Ульманом в 1979 году. [3]

ККИ [ править ]

Самым популярным алгоритмом анализа округов является алгоритм Кока – Касами – Янгера (CKY). [4] [5] это алгоритм динамического программирования, который строит синтаксический анализ в худшем случае время, по приговору слова и — размер CFG, заданный в нормальной форме Хомского .

Учитывая проблему двусмысленности (например, двусмысленность присоединения предлогов в английском языке), приводящую к множеству приемлемых анализов, необходимо иметь возможность оценить вероятность синтаксических анализов, чтобы выбрать наиболее вероятный. Один из способов сделать это — использовать вероятностную бесконтекстную грамматику (PCFG), которая имеет вероятность каждого правила округа, и модифицировать CKY, чтобы максимизировать вероятности при синтаксическом анализе снизу вверх. [6] [7] [8]

Дальнейшей модификацией является лексикализованный PCFG, который присваивает заголовок каждому компоненту и кодирует правило для каждой лексемы в этом слоте заголовка. Таким образом, если PCFG может иметь правило «NP → DT NN» (именная группа является определителем и существительным), то в то время как лексикализованный PCFG будет иметь такие правила, как «NP(собака) → DT NN(собака)» или «NP (человек)» и т. д. На практике это приводит к некоторому улучшению производительности. [9] [10]

В более поздних работах нейронная оценка вероятностей промежутков (которая может учитывать контекст в отличие от (P)CFG) для передачи в CKY, например, с использованием рекуррентной нейронной сети или преобразователя. [11] поверх вложений слов .

В 2022 году Никита Китаев и др. [12] представил инкрементный синтаксический анализатор, который сначала изучает дискретные метки (из фиксированного словаря) для каждого входного токена с учетом только левого контекста, которые затем являются единственными входными данными для анализатора диаграмм CKY с вероятностями, рассчитанными с использованием изученного средства оценки нейронного диапазона. Этот подход не только лингвистически мотивирован, но и конкурирует с предыдущими подходами к анализу избирательного округа. Их работа получила награду за лучшую бумагу на ACL 2022 .

На основе перехода [ править ]

После успеха синтаксический анализ грамматик зависимостей на основе переходов, началась работа по адаптации подхода к синтаксическому анализу групп. Первую подобную работу провели Кенджи Сагае и Алон Лави в 2005 году, в которых для жадного принятия решений о переходе использовался классификатор на основе признаков. [13] За этим последовала работа Юэ Чжана и Стивена Кларка в 2009 году, которые добавили в декодер поиск луча, чтобы сделать более глобально оптимальный анализ. [14] Первым парсером этого семейства, превзошедшим по производительности парсер на основе диаграмм, был разработан Мухуа Чжу и др. в 2013 году, который решил проблему различий в длине различных последовательностей переходов из-за правил унарного округа (несуществующая проблема для анализа зависимостей) путем добавления операции заполнения. [15]

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

Последовательность к последовательности [ править ]

Другой подход к анализу избирательного округа с использованием моделей нейронных последовательностей был разработан Ориолом Виньялсом и соавт. в 2015 году. [16] В этом подходе синтаксический анализ составляющих моделируется как машинный перевод : задача состоит в преобразовании последовательности в последовательность из предложения в синтаксический анализ избирательного округа, в исходной статье используется глубокий LSTM с механизмом внимания . Для модели такого типа золотые обучающие деревья должны быть линеаризованы, но при преобразовании не теряется никакой информации. Это происходит в с декодером поиска луча шириной 10 (но они не обнаружили особой выгоды от большего размера луча и даже ограничение его жадным декодированием работает хорошо) и достигает конкурентоспособной производительности с традиционными алгоритмами контекстно-свободного анализа, такими как CKY.

Анализ зависимостей [ править ]

Анализ зависимостей — это анализ в соответствии с формализмом грамматики зависимостей, таким как Universal Dependances (который также является проектом, создающим многоязычные древовидные банки зависимостей). Это означает присвоение головы (или нескольких голов в некоторых формализмах, таких как расширенные зависимости, например, в случае координации ) каждому токену и соответствующему отношению зависимости для каждого ребра, в конечном итоге создавая дерево или граф по всему предложению. [17]

В целом существует три современные парадигмы моделирования анализа зависимостей: на основе переходов, на основе грамматики и на основе графов. [18]

На основе перехода [ править ]

Многие современные подходы к анализу дерева зависимостей используют анализ на основе переходов (базовую форму этого иногда называют дуговым стандартом ), как это сформулировано Йоакимом Нивре в 2003 году: [19] который расширяет синтаксический анализ сдвига-сокращения , сохраняя текущий стек токенов и выбирая из трех операций для следующего встреченного токена:

  • LeftArc (текущий токен является дочерним элементом вершины стека, не добавляется в стек)
  • RightArc (текущий токен является родителем вершины стека, заменяет вершину)
  • Shift (добавить текущий токен в стек)

Алгоритм можно сформулировать как сравнение двух верхних токенов стека (после добавления следующего токена в стек) или верхнего токена в стеке и следующего токена в предложении.

Данные обучения для такого алгоритма создаются с помощью оракула , который конструирует последовательность переходов из золотых деревьев, которые затем передаются в классификатор. Классификатор узнает, какая из трех операций является оптимальной с учетом текущего состояния стека, буфера и текущего токена. Современные методы используют нейронный классификатор, который обучен встраиванию слов , начиная с работы Данци Чена и Кристофера Мэннинга в 2014 году. [20] В прошлом также были распространены классификаторы на основе признаков, в которых признаки выбирались из тегов части речи, положения предложения, морфологической информации и т. д.

Это жадный алгоритм, поэтому он не гарантирует наилучшего анализа или даже обязательно корректного анализа, но он эффективен. [21] Также не обязательно, что конкретное дерево будет иметь только одну последовательность допустимых переходов, которые могут его достичь, поэтому динамический оракул (который может допускать множественный выбор операций) повысит производительность. [22]

Модификацией этого метода является анализ дуги , который добавляет еще одну операцию: Уменьшить (удалить верхний жетон в стеке). Практически это приводит к более раннему образованию дуги.

Все они пока поддерживают только проективные деревья, в которых ребра не пересекаются, учитывая порядок токенов в предложении. Для непроективных деревьев Nivre в 2009 году модифицировал анализ на основе переходов, основанный на стандарте дуги, добавив операцию Обмен (поменяйте местами два верхних жетона в стеке, предполагая формулировку, при которой следующий токен всегда добавляется в стек первым). Это увеличивает время выполнения до в худшем случае, но практически все еще почти линейный. [23]

Основанный на грамматике [ править ]

Подход динамического программирования на основе диаграмм к анализу проективных зависимостей был предложен Майклом Коллинзом. [24] в 1996 году и дополнительно оптимизирован Джейсоном Эйснером. [25] в том же году. [26] Это адаптация CKY (ранее упомянутого для анализа округов) к зависимостям с заголовками, преимуществом которого является то, что единственным отличием от анализа округов является то, что каждый компонент возглавляется одним из своих узлов-потомков. Таким образом, можно просто указать, какой дочерний элемент обеспечивает заголовок для каждого правила округа в грамматике (например, NP возглавляет его дочерний элемент N), чтобы перейти от анализа CKY округа к анализу CKY зависимостей.

Первоначальная адаптация Макдональдса имела продолжительность , а оптимизация динамического программирования Эйснера сократила время выполнения до . В своей статье Эйснер предложил три различных метода оценки вероятностей промежутков.

На основе графика [ править ]

Исчерпывающий поиск возможного ребра в дереве зависимостей с обратным отслеживанием в случае создания неправильно сформированного дерева дают базовую линию среда выполнения для анализа зависимостей на основе графов. Этот подход был впервые официально описан Майклом А. Ковингтоном в 2001 году, но он утверждал, что это «алгоритм, который в той или иной форме известен с 1960-х годов». [27]

Задачу синтаксического анализа также можно смоделировать как поиск охватывающей древовидность с максимальной вероятностью по графу всех возможных ребер зависимостей, а затем выбор меток зависимостей для найденных ребер в дереве. Учитывая это, мы можем использовать расширение алгоритма Чу-Лю/Эдмондса с помощью средства оценки ребер и средства оценки меток. Этот алгоритм был впервые описан Райаном Макдональдом , Фернандо Перейрой , Кирилом Рыбаровым и Яном Хаичем в 2005 году. [28] Он может обрабатывать непроективные деревья в отличие от стандартного анализатора дуговых переходов и CKY. Как и раньше, системы оценки могут быть нейронными (обученными на встраивании слов) или основанными на признаках. Это происходит в с расширением алгоритма Тарьяном. [29]

Оценка [ править ]

Производительность синтаксических анализаторов измеряется с использованием стандартных показателей оценки. Подходы к анализу как групп, так и зависимостей могут быть оценены по соотношению точных совпадений (процент предложений, которые были полностью проанализированы), а также точность , отзыв и показатель F1, рассчитанные на основе правильных назначений групп или зависимостей в синтаксическом анализе относительно этого числа. при анализе ссылок и/или гипотез. Последние также известны как метрики PARSEVAL. [30]

Анализ зависимостей также можно оценить с помощью оценки привязанности . Оценка немаркированного прикрепления (UAS) — это процент токенов с правильно назначенными заголовками, а оценка помеченного прикрепления (LAS) — это процент токенов с правильно назначенными заголовками и метками отношений зависимости. [31]

Преобразование между синтаксическими анализами [ править ]

Учитывая, что большая часть работы по синтаксическому анализу английского языка зависела от Penn Treebank , который использовал формализм округов, во многих работах по анализу зависимостей были разработаны способы детерминированного преобразования формализма Пенна в синтаксис зависимостей, чтобы использовать его в качестве обучающих данных. Одним из основных алгоритмов преобразования был Penn2Malt, который переосмыслил предыдущую работу над этой проблемой. [32]

Работа в направлении преобразования зависимостей в группу участников выигрывает от более быстрого выполнения алгоритмов анализа зависимостей. Один из подходов заключается в использовании ограниченного синтаксического анализа CKY, игнорируя диапазоны, которые явно нарушают структуру анализа зависимостей, и, таким образом, сокращая время выполнения до . [33] Другой подход состоит в том, чтобы обучить классификатор находить порядок для всех зависимых элементов каждого токена, в результате чего получается структура, изоморфная анализу округа. [34]

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

  1. ^ Юрафски и Мартин 2021 .
  2. ^ Юрафски и Мартин 2021 , глава 13.
  3. ^ Ланге, Мартин; Лейсс, Ганс (2009). «В CNF или не в CNF? Эффективная, но презентабельная версия алгоритма CYK» (PDF) . Информатика Дидактика . 8 .
  4. ^ Младший, Дэниел Х. (1967). «Распознавание и синтаксический анализ контекстно-свободных языков за время n 3 « » Информация и контроль . 10 (2): 189–208. doi : 10.1016/S0019-9958(67)80007-X .
  5. ^ Касами, Т. (1966). «Эффективный алгоритм распознавания и синтаксического анализа для контекстно-свободных языков» . Бедфорд, Массачусетс: Кембриджская исследовательская лаборатория ВВС. {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  6. ^ Цветков Юлия; Титов Иван; Берг-Киркпатрик, Тейлор; Кляйн, Дэн (2018). «Алгоритмы НЛП: анализ I» (PDF) . Алгоритмы НЛП . Университет Карнеги-Меллон . Проверено 29 сентября 2021 г.
  7. ^ Саломаа, Арто (1969). «Вероятностные и взвешенные грамматики» . Информация и контроль . 15 (6): 529–544. дои : 10.1016/S0019-9958(69)90554-3 .
  8. ^ Бут, Тейлор Л. (1969). Вероятностное представление формальных языков . 10-й ежегодный симпозиум по теории коммутации и автоматов.
  9. ^ Чен, Даньци; Нарасимхан, Картик (2019). «Анализ избирательного округа» (PDF) . COS 484: Обработка естественного языка .
  10. ^ Коллинз, Майкл (2003). «Статистические модели, управляемые головой, для анализа естественного языка» . Компьютерная лингвистика . 29 (4): 589–637. дои : 10.1162/089120103322753356 . S2CID   7901127 .
  11. ^ Китаев, Никита; Кляйн, Дэн (2018). Анализ избирательного округа с помощью самообслуживающегося кодировщика . Материалы 56-го ежегодного собрания Ассоциации компьютерной лингвистики. стр. 2676–2686.
  12. ^ Китаев, Никита; Лу, Томас; Кляйн, Дэн (2022). Изучил дополнительные представления для синтаксического анализа . Материалы 60-го ежегодного собрания Ассоциации компьютерной лингвистики. стр. 3086–3095.
  13. ^ Сагаэ, Кенджи; Лави, Алон (2005). Анализатор на основе классификатора с линейной сложностью во время выполнения . Материалы девятого международного семинара по технологиям синтаксического анализа. стр. 125–132.
  14. ^ Чжан, Юэ; Кларк, Стивен (2009). Анализ китайского дерева на основе переходов с использованием глобальной дискриминационной модели . Материалы 11-й Международной конференции по технологиям синтаксического анализа (IWPT'09). стр. 162–171.
  15. ^ Чжу, Мухуа; Чжан, Юэ; Чен, Вэньлян; Чжан, Мин; Чжу, Цзинбо (2013). Быстрый и точный анализ составляющих сдвига-сокращения . Материалы 51-го ежегодного собрания Ассоциации компьютерной лингвистики. стр. 434–443.
  16. ^ Виньялс, Ориол; Кайзер, Лукаш; Ку, Терри; Петров, славянин; Суцкевер, Илья; Хинтон, Джеффри (2015). Грамматика как иностранный язык . Достижения в области нейронных систем обработки информации 28 (NIPS 2015).
  17. ^ Юрафски и Мартин, 2021 , глава 14.
  18. ^ Кюблер, Макдональд и Нивр 2009 .
  19. ^ Нивре, Иоаким (2003). Эффективный алгоритм анализа проективных зависимостей . Материалы восьмой международной конференции по технологиям синтаксического анализа. стр. 149–160.
  20. ^ Чен, Даньци; Мэннинг, Кристофер (2014). Быстрый и точный анализатор зависимостей с использованием нейронных сетей . Материалы конференции 2014 года по эмпирическим методам обработки естественного языка (EMNLP). стр. 740–750.
  21. ^ Стимне, Сара (17 декабря 2014 г.). «Разбор зависимостей на основе перехода» (PDF) . Синтаксический анализ (5ЛН455) . Уппсальский университет . Проверено 22 октября 2021 г.
  22. ^ Гольдберг, Йоав; Нивре, Иоаким (2012). Динамический оракул для анализа зависимостей Arc-Eager . Труды COLING 2012. С. 959–976.
  23. ^ Нивре, Иоаким (2009). Анализ непроективных зависимостей за ожидаемое линейное время . Материалы совместной конференции 47-го ежегодного собрания ACL и 4-й международной совместной конференции по обработке естественного языка AFNLP. стр. 351–359.
  24. ^ Коллинз, Майкл Джон (1996). Новый статистический парсер на основе лексических зависимостей биграмм . 34-е ежегодное собрание Ассоциации компьютерной лингвистики. стр. 184–191.
  25. ^ Эйснер, Джейсон М. (1996). Три новые вероятностные модели для анализа зависимостей: исследование . ОХЛАЖДЕНИЕ.
  26. ^ Стимне, Сара (15 декабря 2014 г.). «Алгоритмы Коллинза и Эйснера» (PDF) . Синтаксический анализ (5ЛН455) . Уппсальский университет . Проверено 22 октября 2021 г.
  27. ^ Ковингтон, Майкл А. (2001). Фундаментальный алгоритм анализа зависимостей . Материалы 39-й ежегодной Юго-восточной конференции ACM. CiteSeerX   10.1.1.136.7335 .
  28. ^ Макдональд, Райан; Перейра, Фернандо; Рыбаров Кирилл; Гаич, Ян (2005). Анализ непроективных зависимостей с использованием алгоритмов связующего дерева . Материалы конференции по технологиям человеческого языка и конференции по эмпирическим методам обработки естественного языка. стр. 523–530.
  29. ^ Гольдберг, Йоав (2021). «Анализ зависимостей» (PDF) . Введение в обработку естественного языка . Университет Бар-Илан . Проверено 22 октября 2021 г.
  30. ^ Блэк, Э.; Эбни, С.; Фликенджер, Д.; Гданец, К.; Гришман, Р.; Харрисон, П.; Хиндл, Д.; Ингрия, Р.; Елинек, Ф.; Клаванс, Дж.; Либерман, М.; Маркус, М.; Рукос, С.; Санторини, Б.; Стшалковски, Т. (1991). Процедура количественного сравнения синтаксического охвата грамматик английского языка . Речь и естественный язык: материалы семинара, состоявшегося в Пасифик-Гроув, Калифорния, 19-22 февраля 1991 г.
  31. ^ Кюблер, McDonald & Nivre 2009 , глава 6.
  32. ^ Нивр, Иоаким; Холл, Йохан; Нильссон, Йенс (2006). MaltParser: управляемый данными анализатор-генератор для анализа зависимостей . Материалы Пятой Международной конференции по языковым ресурсам и оценке (LREC'06).
  33. ^ Конг, Линпэн; Раш, Александр М.; Смит, Ной А. (2015). Преобразование зависимостей во фразовые структуры . Материалы конференции Североамериканского отделения Ассоциации компьютерной лингвистики 2015 года: технологии человеческого языка. стр. 788–798.
  34. ^ Фернандес-Гонсалес, Даниэль; Мартинс, Андре FT (2015). Парсинг как редукция . Материалы 53-го ежегодного собрания Ассоциации компьютерной лингвистики и 7-й Международной совместной конференции по обработке естественного языка. стр. 1523–1533.

Дальнейшее чтение [ править ]

Анализ зависимостей

  • Кюблер, Сандра; Макдональд, Райан; Нивре, Иоаким (2009). Грэм Херст (ред.). Анализ зависимостей . Обобщающие лекции по технологиям человеческого языка. Морган и Клейпул.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9b608a7130cb9007e0c26cf0b7c38c4d__1704668460
URL1:https://arc.ask3.ru/arc/aa/9b/4d/9b608a7130cb9007e0c26cf0b7c38c4d.html
Заголовок, (Title) документа по адресу, URL1:
Syntactic parsing (computational linguistics) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)