Семантический анализ

Из Википедии, бесплатной энциклопедии

Семантический синтаксический анализ — это задача преобразования на естественном языке высказывания в логическую форму : понятное машине представление его значения. [1] Таким образом, семантический анализ можно понимать как извлечение точного значения высказывания. Приложения семантического анализа включают машинный перевод , [2] ответ на вопрос , [1] [3] индукция онтологий , [4] автоматизированное рассуждение , [5] и генерация кода . [6] [7] Эта фраза была впервые использована в 1970-х годах Йориком Уилксом в качестве основы для программ машинного перевода, работающих только с семантическими представлениями. [8] Семантический анализ — одна из важных задач компьютерной лингвистики и обработки естественного языка.

Архитектура системы семантического анализа

Семантический анализ преобразует текст в формальное значение. представления. Это контрастирует с семантической ролью маркировка и прочее формы поверхностной семантической обработки, которые не стремятся создавать полные формальные значения. [9] В компьютерном зрении семантический анализ — это процесс сегментации трехмерных объектов. [10] [11]

Основные уровни языковой структуры

История и предыстория [ править ]

Ранние исследования семантического анализа включали генерацию грамматики вручную. [12] а также использование логики прикладного программирования. [13] В 2000-е годы большая часть работы в этой области заключалась в создании/изучении и использовании различных грамматик и лексиконов для выполнения контролируемых задач. [14] [15] особенно общие грамматики, такие как SCFG. [16] Это улучшило ручные грамматики прежде всего потому, что они использовали синтаксическую природу предложения, но все равно не могли охватить достаточное количество вариаций. и не были достаточно надежными для использования в реальном мире. Однако, следуя за развитием передовых методов нейронных сетей, особенно модели Seq2Seq, [17] и доступности мощных вычислительных ресурсов начал появляться нейронный семантический анализ. Он не только обеспечивал конкурентоспособные результаты на существующих наборах данных, но и был устойчив к шуму и не требовал больших усилий. надзор и ручное вмешательство. Нынешний переход от традиционного анализа к нейронно-семантическому анализу не был идеальным. хотя. Нейросемантический анализ, даже несмотря на свои преимущества, все еще не может решить проблему в кратчайшие сроки. более глубокий уровень. Нейронные модели, такие как Seq2Seq, рассматривают проблему синтаксического анализа как задачу последовательного перевода, и модель изучает шаблоны методом «черного ящика», что означает, что мы не можем действительно предсказать, действительно ли модель решает проблему. Были предприняты промежуточные усилия и модификации Seq2Seq для включения синтаксиса и семантического значения. [18] [19] с заметным улучшением в результатах, но остается много неясностей, о которых нужно позаботиться.

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

Поверхностный семантический анализ [ править ]

Поверхностный семантический анализ связан с идентификацией сущностей в высказывании и присвоением им ярлыков с указанием ролей, которые они играют. Неглубокий семантический анализ иногда называют заполнением слотов или семантическим анализом фреймов, поскольку его теоретическая основа исходит из семантики фреймов , в которой слово вызывает фрейм связанных понятий и ролей. Системы заполнения слотов широко используются в виртуальных помощниках совместно с классификаторами намерений, которые можно рассматривать как механизмы идентификации фрейма, вызванного высказыванием. [20] [21] Популярные архитектуры заполнения слотов в основном представляют собой варианты модели кодера-декодера, в которой две рекуррентные нейронные сети (RNN) обучаются совместно кодировать высказывание в вектор и декодировать этот вектор в последовательность меток слотов. [22] Этот тип модели используется в Amazon Alexa . системе распознавания разговорного языка [20] Этот синтаксический анализ основан на методах обучения без присмотра.

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

Глубокий семантический анализ, также известный как композиционный семантический анализ, занимается созданием точных смысловых представлений высказываний, которые могут содержать значительную композиционность . [23] Неглубокие семантические анализаторы могут анализировать такие высказывания, как «покажи мне рейсы из Бостона в Даллас», классифицируя намерение как «список рейсов» и заполняя слоты «источник» и «пункт назначения» словами «Бостон» и «Даллас» соответственно. Однако поверхностный семантический анализ не может проанализировать произвольные композиционные высказывания, такие как «покажите мне рейсы из Бостона в любое место, где есть рейсы в Джуно». Глубокий семантический анализ пытается проанализировать такие высказывания, обычно путем преобразования их в формальный язык представления значения. В настоящее время композиционный семантический анализ использует модели большого языка для решения задач искусственного композиционного обобщения, таких как SCAN. [24]

Нейронно-семантический анализ [ править ]

Семантические анализаторы играют решающую роль в системах понимания естественного языка, поскольку они преобразуют высказывания естественного языка в машинно-исполняемые логические структуры или программы. Семантический анализ, хорошо зарекомендовавшая себя область исследований, находит применение в голосовых помощниках, ответах на вопросы, выполнении инструкций и генерации кода. Поскольку нейронные подходы были доступны в течение двух лет, многие предположения, лежащие в основе семантического анализа, были переосмыслены, что привело к существенным изменениям в моделях, используемых для семантического анализа. Хотя семантическая нейронная сеть и нейронно-семантический анализ [25] оба имеют дело с обработкой естественного языка (НЛП) и семантикой, они не одинаковы. Модели и исполняемые формализмы, используемые в исследованиях семантического анализа, традиционно сильно зависели от концепций формальной семантики в лингвистике, таких как λ-исчисление, создаваемое синтаксическим анализатором CCG. Тем не менее, благодаря недавним работам с семантическими анализаторами нейронного кодирования-декодера стали возможными более доступные формализмы, такие как традиционные языки программирования и модели в стиле NMT, которые значительно более доступны для более широкой аудитории НЛП. Мы дадим краткий обзор современных нейронных подходов к семантическому анализу и обсудим, как они повлияли на понимание семантического анализа в этой области.

Языки представления [ править ]

Ранние семантические парсеры использовали языки представления значений, сильно специфичные для предметной области. [26] в более поздних системах используются более расширяемые языки, такие как Пролог , [27] лямбда-исчисление , [28] композиционная семантика на основе лямбда-зависимостей (λ-DCS), [29] SQL , [30] [31] Питон , [32] Джава , [33] язык представления значений Alexa, [20] и представление абстрактного значения (AMR). В некоторых работах использовались более экзотические представления значений, такие как графы запросов, [34] семантические графы, [35] или векторные представления. [36]

Модели [ править ]

Большинство современных моделей глубокого семантического анализа основаны либо на определении формальной грамматики для анализатора диаграмм , либо на использовании RNN для прямого перевода с естественного языка на язык представления значения. Примерами систем, построенных на формальных грамматиках, являются Cornell Semantic Parsing Framework, [37] Стэнфордского университета (SEMPRE), Семантический анализ с выполнением [3] и семантический анализатор на основе выравнивания слов (WASP). [38]

Наборы данных [ править ]

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

Ответ на вопрос [ править ]

Семантический анализ для ответа на разговорный вопрос

Стандартным набором данных для ответов на вопросы посредством семантического анализа является набор данных Air Travel Information System (ATIS), который содержит вопросы и команды о предстоящих рейсах, а также соответствующий SQL. [30] Еще один эталонный набор данных — это набор данных GeoQuery, который содержит вопросы о географии США в сочетании с соответствующим Прологом. [27] Набор данных Overnight используется для проверки того, насколько хорошо семантические анализаторы адаптируются к нескольким доменам; он содержит запросы на естественном языке о 8 различных доменах в сочетании с соответствующими выражениями λ-DCS. [39] В последнее время семантический парсинг приобретает значительную популярность в результате новых исследовательских работ и многие крупные компании, а именно Google , Microsoft , Amazon в этом направлении работают и т.д. Одна из последних работ по семантическому анализу ответов на вопросы прилагается здесь. [40] На этом рисунке показан пример разговора из SPICE. В левом столбце показаны ходы диалога (Т1–Т3) с пользователем (U) и система (С) высказываний. В среднем столбце показаны аннотации, представленные в CSQA. Синие коробки на правом шоу последовательность действий (AS) и соответствующий семантический анализ SPARQL (SP).

Генерация кода [ править ]

Популярные наборы данных для генерации кода включают два набора данных коллекционных карточек , которые связывают текст, отображаемый на карточках, с кодом, который точно представляет эти карточки. Один из них был построен путем связывания текстов карточек Magic: The Gathering с фрагментами Java; другой — связывая тексты карт Hearthstone с фрагментами Python. [33] Набор IFTTT данных [41] использует специализированный предметно-ориентированный язык с короткими условными командами. Набор Джанго данных [42] объединяет фрагменты Python с английским и японским псевдокодом, описывающим их. Набор RoboCup данных [43] объединяет английские правила с их представлениями на предметно-ориентированном языке, который могут понять виртуальные роботы, играющие в футбол.

Области применения [ править ]

В области обработки естественного языка (НЛП) семантический анализ занимается преобразованием человеческого языка в формат, который машинам легче понять и понять. Этот метод полезен в ряде случаев:

  • Голосовые помощники и чат-боты. Семантический анализ повышает качество взаимодействия с пользователем на таких устройствах, как интеллектуальные колонки и чат-боты для обслуживания клиентов, поскольку он понимает запросы пользователей и отвечает на них на естественном языке.
  • Поиск информации: улучшает понимание и обработку пользовательских запросов поисковыми системами и базами данных, что приводит к более точным и релевантным результатам поиска.
  • Машинный перевод . Чтобы улучшить качество и контекст перевода, машинный перевод предполагает понимание семантики одного языка, чтобы точно перевести его на другой.
  • Текстовая аналитика. Бизнес-аналитика и мониторинг социальных сетей извлекают выгоду из значимой информации, которую можно извлечь из текстовых данных посредством семантического анализа. Примеры такой информации включают анализ настроений , тематическое моделирование и анализ тенденций.
  • ответов на вопросы Системы : эти системы, присутствующие в таких системах, как IBM Watson, помогают понимать и анализировать запросы на естественном языке для получения точных ответов. Они особенно полезны в таких областях, как обслуживание клиентов и образовательные ресурсы.
  • Системы управления и контроля: семантический анализ помогает точно интерпретировать голосовые или текстовые команды, используемые для управления системами в таких приложениях, как программные интерфейсы или умные дома.
  • Категоризация контента: это полезный инструмент для онлайн-публикаций и управления цифровым контентом, поскольку он помогает классифицировать и организовывать огромные объемы текстового материала путем анализа его семантического содержания.
  • Технологии, связанные с доступностью: помогает создавать инструменты для людей с ограниченными возможностями, такие как сурдоперевод и преобразование текста в речь .
  • Юридическая и медицинская информатика. Семантический анализ позволяет извлекать и структурировать важную информацию из юридических документов и медицинских записей для поддержки исследований и принятия решений.

Семантический синтаксический анализ направлен на повышение эффективности и результативности различных приложений путем устранения разрыва между человеческим языком и машинной обработкой в ​​каждой из этих областей.

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

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

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

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

  1. ^ Перейти обратно: а б Цзя, Робин; Лян, Перси (11 июня 2016 г.). «Рекомбинация данных для нейронного семантического анализа». arXiv : 1606.03622 [ cs.CL ].
  2. ^ Андреас, Джейкоб, Андреас Влахос и Стивен Кларк. « Семантический синтаксический анализ как машинный перевод ». Материалы 51-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 2: Короткие статьи). Том. 2. 2013.
  3. ^ Перейти обратно: а б Берант, Джонатан и др. «Семантический анализ Freebase на основе пар вопрос-ответ». ЭМНЛП. Том. 2. № 5. 2013.
  4. ^ Пун, Хойфунг и Педро Домингос. « Неконтролируемая индукция онтологии из текста ». Материалы 48-го ежегодного собрания Ассоциации компьютерной лингвистики. Ассоциация компьютерной лингвистики, 2010.
  5. ^ Калишик, Цезари, Йозеф Урбан и Иржи Выскочил. « Автоматизация формализации путем статистического и семантического анализа математических данных ». Международная конференция по интерактивному доказательству теорем. Спрингер, Чам, 2017.
  6. ^ Рабинович, Максим; Стерн, Митчелл; Кляйн, Дэн (25 апреля 2017 г.). «Абстрактные синтаксические сети для генерации кода и семантического анализа». arXiv : 1704.07535 [ cs.CL ].
  7. ^ Инь, Пэнчэн; Нойбиг, Грэм (5 апреля 2017 г.). «Синтаксическая нейронная модель для генерации кода общего назначения». arXiv : 1704.01696 [ cs.CL ].
  8. ^ Уилкс, Ю. и Фасс, Д. (1992) Семейство семантики предпочтений , в «Компьютерах и математике с приложениями», том 23, выпуски 2–5, страницы 205–221.
  9. ^ Хойфунг Пун, Педро Домингос Неконтролируемый семантический анализ , Материалы конференции 2009 г. по эмпирическим методам обработки естественного языка, 2009 г.
  10. ^ Армени, Иро и др. « 3D семантический анализ масштабных внутренних пространств ». Материалы конференции IEEE по компьютерному зрению и распознаванию образов. 2016.
  11. ^ Ци, Чарльз Р. и др. « Сеть точек: глубокое обучение наборам точек для 3D-классификации и сегментации ». Материалы конференции IEEE по компьютерному зрению и распознаванию образов. 2017.
  12. ^ Уоррен, DHD и Перейра, FCN et al. « Эффективная, легко адаптируемая система для интерпретации запросов на естественном языке ». Вычислить. Лингвист., 8(3-4):110–122. 1982 год
  13. ^ Зелле, Дж. М. и Муни, Р. Дж. и др. « Научимся анализировать запросы к базе данных с использованием индуктивного логического программирования ». Материалы республиканской конференции по искусственный интеллект, страницы 1050–1055, 1996.
  14. ^ Зеттлмойер и Коллинз и др. « Учимся преобразовывать предложения в логическую форму: структурированная классификация с помощью вероятностных категориальных грамматик ». Материалы двадцать первой конференции по неопределенности в искусственном интеллекте, UAI'05, страницы 658–666, 2005 г.
  15. ^ Квятковски Т., Зеттлмойер Л., Голдуотер С. и Стидман М. и др. « Выведение вероятностных грамматик ccg из логической формы с унификацией высшего порядка ». Материалы конференции 2010 г. по эмпирическим методам обработки естественного языка. страницы 1223–1233, 2010 г.
  16. ^ Ва Вонг, Ю. и Дж. Муни, Р. и др. « Изучение синхронных грамматик для семантического анализа с помощью лямбда-исчисления ». Материалы 45-го ежегодного собрания Ассоциации компьютерной лингвистики, страницы 960–967, 2007.
  17. ^ Донг, Л. и Лапата, М. и др. « Преобразование языка в логическую форму с помощью нейронного внимания ». Материалы 54-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 1: Длинные статьи), страницы 33–43, 2016 г.
  18. ^ Пэнченг Инь, Грэм Нойбиг и др. « Синтаксическая нейронная модель для генерации кода общего назначения ». Материалы 55-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 1: Длинные статьи), страницы 440–450, 2017.
  19. ^ Ши Т., Татвавади К., Чакрабарти К., Мао Ю., Полозов О. и Чен В. и др. « A Incsql: Обучение инкрементных парсеров преобразования текста в SQL с помощью недетерминированных оракулов ». Опубликовано Microsoft Research, 2018 г.
  20. ^ Перейти обратно: а б с Кумар, Анжишну и др. «Просто СПРОСИТЕ: построение архитектуры для расширяемого самообслуживания и понимания разговорной речи». Препринт arXiv arXiv:1711.00549 (2017).
  21. ^ Бапна, Анкур и др. «На пути к семантическому анализу кадров с нулевым кадром для масштабирования домена». Препринт arXiv arXiv:1707.02363 (2017).
  22. ^ Лю, Бинг и Ян Лейн. «Модели рекуррентных нейронных сетей на основе внимания для совместного обнаружения намерений и заполнения слотов». Препринт arXiv arXiv:1609.01454 (2016).
  23. ^ Liang, Percy, and Christopher Potts. "Bringing machine learning and compositional semantics together." Annu. Rev. Linguist. 1.1 (2015): 355-376.
  24. ^ Эндрю Дроздов, Натаниэль Шерли, Экин Акюрек, Натан Скейлс, Синьин Сун, Синьюнь Чен, Оливье Буске, Денни Чжоу. «Композиционный семантический анализ с использованием больших языковых моделей», Корнельский университет, 30 сентября.
  25. ^ Мэтт Гарднер, Прадип Дасиги, Сринивасан Айер, Алан Зур, Люк Зеттлмойер. «Нейронно-семантический анализ». Материалы 56-го ежегодного собрания Ассоциации компьютерной лингвистики: тезисы учебных пособий, июль 2018 г.
  26. ^ Вудс, Уильям А. Семантика вопросно-ответной системы . Том. 27. Паб «Гарланд», 1979.
  27. ^ Перейти обратно: а б Зелле, Джон М. и Рэймонд Дж. Муни. «Научимся анализировать запросы к базе данных с использованием индуктивного логического программирования». Материалы национальной конференции по искусственному интеллекту . 1996.
  28. ^ Вонг, Юк Ва и Рэймонд Муни. «Изучение синхронных грамматик для семантического анализа с помощью лямбда-исчисления». Материалы 45-го ежегодного собрания Ассоциации компьютерной лингвистики . 2007.
  29. ^ Лян, Перси. «Композиционная семантика на основе лямбда-зависимостей». Препринт arXiv arXiv:1309.4408 (2013).
  30. ^ Перейти обратно: а б Хемфилл, Чарльз Т., Джон Дж. Годфри и Джордж Р. Доддингтон. «Пилотный корпус систем разговорной речи ATIS». Речь и естественный язык: материалы семинара, состоявшегося в Хидден-Вэлли, штат Пенсильвания, 24–27 июня 1990 г. 1990.
  31. ^ Айер, Шринивасан и др. «Изучение нейронного семантического анализатора на основе отзывов пользователей». Препринт arXiv arXiv:1704.08760 (2017).
  32. ^ Инь, Пэнчэн и Грэм Нойбиг. «Синтаксическая нейронная модель для генерации кода общего назначения». Препринт arXiv arXiv:1704.01696 (2017).
  33. ^ Перейти обратно: а б Линг, Ван и др. «Скрытые сети предсказателей для генерации кода». Препринт arXiv arXiv:1603.06744 (2016).
  34. ^ Йих, Скотт Вен-тау и др. «Семантический анализ посредством поэтапной генерации графа запросов: ответы на вопросы с помощью базы знаний». (2015).
  35. ^ Редди, Шива, Мирелла Лапата и Марк Стидман. « Масштабный семантический парсинг без пар вопрос-ответ ». Труды Ассоциации компьютерной лингвистики 2.1 (2014): 377-392.
  36. ^ Гуу, Кельвин, Джон Миллер и Перси Лян. «Обход графов знаний в векторном пространстве». Препринт arXiv arXiv:1506.01094 (2015).
  37. ^ Арци, Йоав. «Cornell SPF: Корнеллская система семантического анализа». Препринт arXiv arXiv:1311.3011 (2013).
  38. ^ Вонг, Юк Ва; Муни, Рэймонд Дж. (4 июня 2006 г.). Обучение семантическому анализу со статистическим машинным переводом . Материалы основной конференции по технологиям человеческого языка Североамериканского отделения Ассоциации компьютерной лингвистики. Ассоциация компьютерной лингвистики. стр. 439–446. CiteSeerX   10.1.1.135.7209 . дои : 10.3115/1220835.1220891 .
  39. ^ Ван, Юши, Джонатан Берант и Перси Лян. «Создание семантического парсера за одну ночь». Материалы 53-го ежегодного собрания Ассоциации компьютерной лингвистики и 7-й Международной совместной конференции по обработке естественного языка (Том 1: Длинные статьи) . Том. 1. 2015.
  40. ^ Лаура Перес-Бельтрачини, Параг Джайн, Эмилио Монти, Мирелла Лапата. Семантический синтаксический анализ для ответов на разговорные вопросы по графам знаний «Материалы по EACL 2023». 28 января 2023 г.
  41. ^ Квирк, Крис, Рэймонд Муни и Мишель Галлей. «Язык для кодирования: изучение семантических анализаторов рецептов «если это, то то». Материалы 53-го ежегодного собрания Ассоциации компьютерной лингвистики и 7-й Международной совместной конференции по обработке естественного языка (Том 1: Длинные статьи) . Том. 1. 2015.
  42. ^ Ода, Юсуке и др. «Учимся генерировать псевдокод из исходного кода с помощью статистического машинного перевода (т)». Автоматизированная разработка программного обеспечения (ASE), 30-я Международная конференция IEEE/ACM, 2015 г., посвященная . ИИЭР, 2015.
  43. ^ Кульманн, Грегори и др. «Руководство учащемуся с подкреплением с помощью советов на естественном языке: первые результаты в футболе RoboCup». Семинар AAAI-2004 по диспетчерскому управлению обучающимися и адаптивными системами . 2004.
  44. ^ Блэк, Э.; Эбни, С.; Фликенджер, Д.; Гданец, К.; Гришман, Р.; Харрисон, П.; Хиндл, Д.; Ингрия, Р.; Елинек, Ф.; Клаванс, Дж.; Либерман, М.; Маркус, М.; Рукос, С.; Санторини, Б.; Стшалковски, Т. (1991). Процедура количественного сравнения синтаксического охвата грамматик английского языка . Речь и естественный язык: материалы семинара, состоявшегося в Пасифик-Гроув, Калифорния, 19–22 февраля 1991 г.