Семантический анализ — это задача преобразования высказывания на естественном языке в логическую форму : понятное для машины представление его значения. [1] Таким образом, семантический анализ можно понимать как извлечение точного значения высказывания. Приложения семантического анализа включают машинный перевод , [2] ответы на вопросы , [1] [3] индукцию онтологии , [4] автоматизированное рассуждение , [5] и генерацию кода . [6] [7] Эта фраза была впервые использована в 1970-х годах Йориком Уилксом в качестве основы для программ машинного перевода, работающих только с семантическими представлениями. [8] Семантический анализ — одна из важных задач в компьютерной лингвистике и обработке естественного языка.
Семантический анализ отображает текст в формальные смысловые представления. Это контрастирует с маркировкой семантических ролей и другими формами поверхностной семантической обработки, которые не нацелены на создание полных формальных значений. [9]
В компьютерном зрении семантический анализ представляет собой процесс сегментации для 3D-объектов. [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] оба имеют дело с обработкой естественного языка (NLP) и семантикой, они не являются одним и тем же. Модели и исполняемые формализмы, используемые в исследованиях семантического анализа, традиционно сильно зависели от концепций формальной семантики в лингвистике, таких как λ-исчисление, производимое парсером CCG. Тем не менее, более доступные формализмы, такие как традиционные языки программирования и модели в стиле NMT, которые значительно более доступны для более широкой аудитории NLP, стали возможными благодаря недавней работе с семантическими парсерами на основе нейронных кодировщиков-декодеров. Мы дадим краткое изложение современных нейронных подходов к семантическому анализу и обсудим, как они повлияли на понимание семантического анализа в этой области.
Представление языков
Ранние семантические парсеры использовали высоко предметно-специфичные языки представления значений, [26] с более поздними системами, использующими более расширяемые языки, такие как Prolog , [27] лямбда-исчисление , [28] композиционная семантика на основе зависимостей лямбда (λ-DCS), [29] SQL , [30] [31] Python , [32] Java , [33] язык представления значений Alexa, [20] и абстрактное представление значений (AMR). В некоторых работах использовались более экзотические представления значений, такие как графы запросов, [34] семантические графы, [35] или векторные представления. [36]
Модели
Большинство современных моделей глубокого семантического анализа основаны либо на определении формальной грамматики для анализатора диаграмм , либо на использовании RNN для прямого перевода с естественного языка на язык представления значений. Примерами систем, построенных на формальных грамматиках, являются Cornell Semantic Parsing Framework, [37] Stanford University 's Semantic Parsing with Execution (SEMPRE) [3] и Word Alignment-based Semantic Parser (WASP). [38]
Наборы данных
Наборы данных, используемые для обучения моделей статистического семантического анализа, делятся на два основных класса в зависимости от области применения: используемые для ответов на вопросы с помощью запросов к базе знаний и используемые для генерации кода.
Вопрос ответ
Стандартный набор данных для ответов на вопросы с помощью семантического анализа — это набор данных Air Travel Information System (ATIS), который содержит вопросы и команды о предстоящих рейсах, а также соответствующий SQL. [30] Другим эталонным набором данных является набор данных GeoQuery, который содержит вопросы о географии США в паре с соответствующим Prolog. [27] Набор данных Overnight используется для проверки того, насколько хорошо семантические парсеры адаптируются к нескольким доменам; он содержит запросы на естественном языке о 8 различных доменах в паре с соответствующими выражениями λ-DCS. [39] В последнее время семантический анализ приобретает значительную популярность в результате новых исследовательских работ, и многие крупные компании, а именно Google , Microsoft , Amazon и т. д., работают в этой области. Одна из последних работ по семантическому анализу для ответов на вопросы прилагается здесь. [40] На этом рисунке показано представление примера разговора из SPICE. Левый столбец показывает диалоговые ходы (T1–T3) с высказываниями пользователя (U) и системы (S). Средний столбец показывает аннотации, представленные в CSQA. Синие поля справа показывают последовательность действий (AS) и соответствующие семантические разборы SPARQL (SP).
Генерация кода
Популярные наборы данных для генерации кода включают два набора данных торговых карточек , которые связывают текст, который появляется на карточках, с кодом, который точно представляет эти карточки. Один был создан путем связывания текстов карт Magic: The Gathering с фрагментами Java; другой путем связывания текстов карт Hearthstone с фрагментами Python. [33] Набор данных IFTTT [41] использует специализированный доменно-ориентированный язык с короткими условными командами. Набор данных Django [42] спаривает фрагменты Python с английским и японским псевдокодом, описывающим их. Набор данных RoboCup [43] спаривает английские правила с их представлениями на доменно-ориентированном языке, который могут понимать виртуальные роботы, играющие в футбол.
Области применения
В области обработки естественного языка (NLP) семантический анализ занимается преобразованием человеческого языка в формат, который машинам проще понять и осмыслить. Этот метод полезен в ряде контекстов:
Голосовые помощники и чат-боты: семантический анализ повышает качество взаимодействия с пользователем на таких устройствах, как интеллектуальные колонки и чат-боты для обслуживания клиентов, за счет понимания и ответа на запросы пользователей на естественном языке.
Поиск информации: улучшает понимание и обработку пользовательских запросов поисковыми системами и базами данных, что приводит к более точным и релевантным результатам поиска.
Машинный перевод : Чтобы улучшить качество и контекст перевода, машинный перевод подразумевает понимание семантики одного языка с целью точного перевода на другой.
Текстовая аналитика: Бизнес-аналитика и мониторинг социальных сетей извлекают пользу из содержательных идей, которые можно извлечь из текстовых данных посредством семантического анализа. Примерами таких идей являются анализ настроений , тематическое моделирование и анализ тенденций.
Вопросно-ответные системы: Эти системы, найденные в таких системах, как IBM Watson, помогают понимать и анализировать запросы на естественном языке, чтобы предоставлять точные ответы. Они особенно полезны в таких областях, как обслуживание клиентов и образовательные ресурсы.
Системы управления и контроля: семантический анализ помогает точно интерпретировать голосовые или текстовые команды, используемые для управления системами в таких приложениях, как программные интерфейсы или умные дома.
Категоризация контента: это полезный инструмент для онлайн-публикаций и управления цифровым контентом, поскольку он помогает классифицировать и организовывать огромные объемы текстового материала путем анализа его семантического содержания.
Технологии, связанные с доступностью: Помогает создавать инструменты для людей с ограниченными возможностями, такие как сурдоперевод и преобразование текста в речь .
Юридическая и медицинская информатика: семантический анализ позволяет извлекать и структурировать важную информацию из юридических документов и медицинских записей для поддержки исследований и принятия решений.
Семантический анализ направлен на повышение эффективности и результативности различных приложений путем устранения разрыва между человеческим языком и машинной обработкой в каждой из этих областей.
Оценка
Производительность семантических парсеров также измеряется с использованием стандартных метрик оценки, таких как синтаксический парсинг. Это может быть оценено по отношению точных совпадений (процент предложений, которые были идеально проанализированы), а также точности , полноте и F1-оценке, рассчитанной на основе правильных назначений избирателей или зависимостей в парсинге относительно этого числа в справочных и/или гипотезных парсингах. Последние также известны как метрики PARSEVAL. [44]
^ ab Jia, Robin; Liang, Percy (2016-06-11). «Рекомбинация данных для нейронного семантического анализа». arXiv : 1606.03622 [cs.CL].
^ Андреас, Якоб, Андреас Влахос и Стивен Кларк. «Семантический анализ как машинный перевод». Труды 51-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 2: Краткие доклады). Том 2. 2013.
^ ab Берант, Джонатан и др. «Семантический анализ на Freebase из пар вопрос-ответ». EMNLP. Том 2. № 5. 2013.
^ Пун, Хойфунг и Педро Домингос. «Неконтролируемая индукция онтологии из текста». Труды 48-го ежегодного заседания Ассоциации компьютерной лингвистики. Ассоциация компьютерной лингвистики, 2010.
^ Калиши, Цезари, Йозеф Урбан и Йиржи Выскочил. «Автоматизация формализации с помощью статистического и семантического анализа математики». Международная конференция по интерактивному доказательству теорем. Springer, Cham, 2017.
^ Рабинович, Максим; Стерн, Митчелл; Кляйн, Дэн (2017-04-25). «Абстрактные синтаксические сети для генерации кода и семантического анализа». arXiv : 1704.07535 [cs.CL].
^ Инь, Пэнчэн; Нойбиг, Грэм (2017-04-05). «Синтаксическая нейронная модель для генерации кода общего назначения». arXiv : 1704.01696 [cs.CL].
^ Уилкс, И. и Фасс, Д. (1992) Семейство семантики предпочтений, в «Компьютерах и математике с приложениями», том 23, выпуски 2–5, страницы 205–221.
^ Хойфунг Пун, Педро Домингос Неконтролируемый семантический анализ, Труды конференции 2009 года по эмпирическим методам обработки естественного языка, 2009 г.
^ Армени, Иро и др. «Трехмерный семантический анализ крупномасштабных внутренних пространств». Труды конференции IEEE по компьютерному зрению и распознаванию образов. 2016.
^ Ци, Чарльз Р. и др. «Pointnet: Глубокое обучение на точечных наборах для трехмерной классификации и сегментации». Труды конференции IEEE по компьютерному зрению и распознаванию образов. 2017.
^ Уоррен, DHD и Перейра, FCN и др. «Эффективная легко адаптируемая система для интерпретации запросов на естественном языке». Comput. Linguist., 8(3-4):110–122. 1982
^ Зелле, Дж. М. и Муни, Р. Дж. и др. «Изучение разбора запросов к базе данных с использованием индуктивного логического программирования». Труды национальной конференции по искусственному интеллекту, страницы 1050–1055, 1996.
^ Цеттлмойер и Коллинз и др. «Обучение отображению предложений в логическую форму: структурированная классификация с вероятностными категориальными грамматиками». Труды Двадцать первой конференции по неопределенности в искусственном интеллекте, UAI'05, страницы 658–666, 2005.
^ Квятковски, Т., Цеттлемойер, Л., Голдвотер, С. и Стидман, М. и др. «Построение вероятностных грамматик ccg из логической формы с унификацией более высокого порядка». Труды конференции 2010 года по эмпирическим методам в обработке естественного языка, страницы 1223–1233, 2010.
^ Ва Вонг, И. и Дж. Муни, Р. и др. «Изучение синхронных грамматик для семантического анализа с помощью лямбда-исчисления». Труды 45-го ежегодного заседания Ассоциации компьютерной лингвистики, страницы 960–967, 2007.
^ Донг, Л. и Лапата, М. и др. «От языка к логической форме с нейронным вниманием.» Труды 54-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 1: Длинные статьи), страницы 33–43, 2016.
^ Пэнчэн Инь, Грэм Нойбиг и др. «Синтаксическая нейронная модель для генерации кода общего назначения». Труды 55-го ежегодного собрания Ассоциации компьютерной лингвистики (Том 1: Длинные статьи), страницы 440–450, 2017.
^ Ши, Т., Татвавади, К., Чакрабарти, К., Мао, И., Полозов, О. и Чен, В. и др. «A Incsql: Обучение инкрементальных анализаторов текста в SQL с недетерминированными оракулами». Опубликовано Microsoft Research, 2018.
^ abc Кумар, Анджишну и др. «Просто спроси: построение архитектуры для расширяемого самостоятельного понимания устной речи». Препринт arXiv arXiv:1711.00549 (2017).
^ Бапна, Анкур и др. «На пути к семантическому анализу кадров с нулевым кадром для масштабирования домена». Препринт arXiv arXiv:1707.02363 (2017).
^ Лю, Бин и Ян Лейн. «Рекуррентные модели нейронных сетей на основе внимания для обнаружения совместных намерений и заполнения слотов». Препринт arXiv arXiv:1609.01454 (2016).
^ Лян, Перси и Кристофер Поттс. «Объединение машинного обучения и композиционной семантики». Annu. Rev. Linguist. 1.1 (2015): 355-376.
^ Эндрю Дроздов, Натанаэль Шерли, Экин Акюрек, Натан Скейлс, Синин Сун, Синьюнь Чэнь, Оливье Буске, Денни Чжоу. «КОМПОЗИЦИОННЫЙ СЕМАНТИЧЕСКИЙ АНАЛИЗ С ИСПОЛЬЗОВАНИЕМ КРУПНЫХ ЯЗЫКОВЫХ МОДЕЛЕЙ» Корнелльский университет, 30 сентября 2022 г.
^ Мэтт Гарднер, Прадип Дасиги, Шринивасан Айер, Алан Сур, Люк Зеттлмойер. «Нейронный семантический анализ» Труды 56-го ежегодного собрания Ассоциации компьютерной лингвистики: краткие учебные пособия, июль 2018 г.
^ Вудс, Уильям А. Семантика для вопросно-ответной системы . Т. 27. Garland Pub., 1979.
^ ab Zelle, John M. и Raymond J. Mooney. «Изучение разбора запросов к базе данных с использованием индуктивного логического программирования». Труды национальной конференции по искусственному интеллекту . 1996.
^ Вонг, Юк Ва и Рэймонд Муни. «Изучение синхронных грамматик для семантического анализа с помощью лямбда-исчисления». Труды 45-го ежегодного собрания Ассоциации компьютерной лингвистики . 2007.
^ Лян, Перси. «Композиционная семантика на основе лямбда-зависимости». Препринт arXiv arXiv:1309.4408 (2013).
^ ab Hemphill, Charles T., John J. Godfrey и George R. Doddington. «Пилотный корпус систем разговорного языка ATIS». Речь и естественный язык: Труды семинара, состоявшегося в Хидден-Вэлли, Пенсильвания, 24–27 июня 1990 г. 1990.
^ Айер, Шринивасан и др. «Изучение нейронного семантического анализатора на основе отзывов пользователей». Препринт arXiv arXiv:1704.08760 (2017).
^ Инь, Пэнчэн и Грэм Нойбиг. «Синтаксическая нейронная модель для генерации кода общего назначения». Препринт arXiv arXiv:1704.01696 (2017).
^ ab Ling, Wang и др. «Скрытые предсказательные сети для генерации кода». Препринт arXiv arXiv:1603.06744 (2016).
^ Йих, Скотт Вен-тау и др. «Семантический анализ с помощью поэтапной генерации графа запросов: ответы на вопросы с использованием базы знаний» (2015).
^ Редди, Сива, Мирелла Лапата и Марк Стидман. «Масштабный семантический анализ без пар вопрос-ответ». Труды Ассоциации компьютерной лингвистики 2.1 (2014): 377-392.
^ Гуу, Кельвин, Джон Миллер и Перси Лян. «Обход графов знаний в векторном пространстве». Препринт arXiv arXiv:1506.01094 (2015).
^ Арци, Йоав. «Корнеллский SPF: структура семантического анализа Корнелла». Препринт arXiv arXiv:1311.3011 (2013).
^ Вонг, Юк Ва; Муни, Рэймонд Дж. (2006-06-04). Обучение семантическому анализу с помощью статистического машинного перевода. Труды основной конференции по технологиям человеческого языка Конференции североамериканского отделения Ассоциации компьютерной лингвистики -. Ассоциация компьютерной лингвистики. стр. 439–446. CiteSeerX 10.1.1.135.7209 . doi :10.3115/1220835.1220891.
^ Ван, Юши, Джонатан Берант и Перси Лян. «Создание семантического анализатора за одну ночь». Труды 53-го ежегодного собрания Ассоциации компьютерной лингвистики и 7-й Международной совместной конференции по обработке естественного языка (Том 1: Длинные статьи) . Том 1. 2015.
^ Лаура Перес-Бельтракини, Параг Джейн, Эмилио Монти, Мирелла Лапата. Семантический анализ для ответов на вопросы в разговорной речи с использованием графов знаний «Труды EACL 2023». 28 января 2023 г.
^ Куирк, Крис, Рэймонд Муни и Мишель Гэлли. «От языка к коду: изучение семантических парсеров для рецептов «если это, то то». Труды 53-го ежегодного собрания Ассоциации компьютерной лингвистики и 7-й Международной совместной конференции по обработке естественного языка (том 1: длинные статьи) . Том 1. 2015.
^ Ода, Юсуке и др. «Изучение генерации псевдокода из исходного кода с использованием статистического машинного перевода (t)». Автоматизированная программная инженерия (ASE), 2015 г. 30-я международная конференция IEEE/ACM по . IEEE, 2015.
^ Кульманн, Грегори и др. «Руководство обучающимся с подкреплением с помощью советов на естественном языке: первые результаты в RoboCup soccer». Семинар AAAI-2004 по супервизорному контролю обучающихся и адаптивных систем . 2004.
^ Black, E.; Abney, S.; Flickenger, D.; Gdaniec, C.; Grishman, R.; Harrison, P.; Hindle, D.; Ingria, R.; Jelinek, F.; Klavans, J.; Liberman, M.; Marcus, M.; Roukos, S.; Santorini, B.; Strzalkowski, T. (1991). Процедура количественного сравнения синтаксического покрытия английских грамматик. Речь и естественный язык: Материалы семинара, состоявшегося в Пасифик-Гроув, Калифорния, 19–22 февраля 1991 г.