Attempto Controlled English

редактировать

Attempto Controlled English (ACE ) - это контролируемый естественный язык, то есть подмножество стандартного английского языка с ограниченным синтаксисом и ограниченной семантикой, описываемым небольшим набором правил построения и интерпретации. Он находится в разработке в Цюрихском университете с 1995 года. В 2013 году была анонсирована версия ACE 6.7.

ACE может служить представлением знаний, спецификация и язык запросов и предназначена для профессионалов, которые хотят использовать формальные обозначения и формальные методы, но могут не быть знакомы с ними. Хотя ACE кажется совершенно естественным - его может прочитать и понять любой человек, говорящий по-английски - на самом деле это формальный язык.

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

Вот несколько простых примеров:

  1. Каждая женщина - человек.
  2. Женщина есть человек.
  3. Мужчина примеряет новый галстук. Если галстук нравится его жене, мужчина покупает его.

Правила построения ACE требуют, чтобы каждое существительное вводилось определителем (a, every, no, some, по крайней мере, 5,...). Что касается приведенного выше списка примеров, правила интерпретации ACE решают, что (1) интерпретируется как универсально квантифицированный, а (2) интерпретируется как экзистенциально квантифицированный. Такие предложения, как «Женщины - люди», не соответствуют синтаксису ACE и, следовательно, недействительны.

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

Механизм анализа попыток (APE) однозначно переводит тексты ACE в структуры представления дискурса (DRS), которые используют вариант языка логики первого порядка. DRS может быть дополнительно переведен на другие формальные языки, например, AceRules с различной семантикой, OWL и SWRL. Преобразование текста ACE в (фрагмент) логики первого порядка позволяет пользователям обосновать текст, например, проверить, проверить и запросить это.

Содержание

  • 1 Обзор
    • 1.1 Словарь
    • 1.2 Грамматика
      • 1.2.1 Тексты ACE
      • 1.2.2 Простые предложения
      • 1.2.3 Составные предложения
        • 1.2.3.1 Координация
        • 1.2.3.2 Подчинение
        • 1.2.3.3 Количественная оценка
        • 1.2.3.4 Отрицание
      • 1.2.4 Запросы
      • 1.2.5 Команды
    • 1.3 Ограничение двусмысленности
      • 1.3.1 Избежание двусмысленности
      • 1.3.2 Правила интерпретации
    • 1.4 Анафорические ссылки
  • 2 См. Также
  • 3 Ссылки
  • 4 Внешние ссылки

Обзор

В качестве обзора текущей версии 6.6 ACE этот раздел:

  • Кратко описывает словарь
  • Дает отчет о синтаксисе
  • Обобщает обработку неоднозначности
  • Объясняет обработку анафорических ссылок.

Словарь

Словарь ACE включает:

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

Грамматика

Грамматика ACE определяет и ограничивает форму и значение предложений и текстов ACE. Грамматика ACE выражается в виде набора правил построения. Значение предложений описывается в виде небольшого набора правил интерпретации. В Руководстве по поиску и устранению неисправностей описано, как использовать ACE и как избежать ошибок.

Тексты ACE

Текст ACE - это последовательность повествовательных предложений, которые могут быть анафорически взаимосвязаны. Кроме того, ACE поддерживает вопросы и команды.

Простые предложения

Простое предложение утверждает, что что-то имеет место - факт, событие, состояние.

Температура -2 ° C.
Клиент вставляет 2 карты.
Действительны карта и код.

Простые предложения ACE имеют следующую общую структуру:

подлежащее + глагол + дополнения + дополнения

У каждого предложения есть подлежащее и глагол. Дополнения (прямые и косвенные объекты) необходимы для переходных глаголов (вставлять что-то) и двойных переходных глаголов (давать что-то кому-то), тогда как дополнения (наречия, предложные фразы) необязательны.

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

Доверенный клиент вставляет две действительные карты.

притяжательные существительные и предложные фразы:

Клиент Джона вставляет карту Мэри.

или переменные в качестве аппозиций:

Джон вставляет карточку A.

Другие модификации существительных возможны посредством относительных предложений:

Доверенное лицо вставляет карточку, которая ему принадлежит.

которые описаны ниже, поскольку они составляют составное предложение. Мы также можем подробно описать событие вставки, например путем добавления наречия:

Покупатель вставляет несколько карточек вручную.

или, эквивалентно:

Покупатель вручную вставляет несколько карточек.

или, добавляя предложные фразы:

Покупатель вставляет несколько карточек

Мы можем объединить все эти разработки, чтобы прийти к:

доверенный клиент Джона вставляет действительную карту Мэри вручную в слот A.

Составные предложения

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

Координация

Координация по и возможна между предложениями и между фразами одного синтаксического типа.

Клиент вставляет карту, и автомат проверяет код.
Есть клиент, который вставляет карту и вводит код.
Клиент вставляет карту и вводит код.
Старый и проверенный покупатель вводит карточку и код.

Обратите внимание, что согласование словосочетаний существительного дает карточку и код представляет собой объект множественного числа.

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

Клиент вставляет карту или автомат проверяет код.
Клиент вставляет карту или вводит код.
У клиента есть карта, которая недействительна или повреждена.

Координация с помощью и или регулируется стандартным логическим порядком связывания, т. Е. Связывает сильнее, чем или. Запятые можно использовать для отмены стандартного порядка привязки. Таким образом, предложение:

Клиент вставляет VisaCard или вставляет MasterCard и вставляет код.

означает, что клиент вставляет VisaCard и код или, альтернативно, MasterCard и код.

Подчинение

Существует четыре конструкции подчинения: относительные предложения, предложения «если-то», модальность и подчинение предложений.

Относительные предложения, начинающиеся с who, which и позволяющие добавлять детали к существительным:

Клиент, которому доверяют, вставляет свою карточку.

С помощью предложений if-then мы может указывать условные или гипотетические ситуации:

Если карта действительна, то покупатель вставляет ее.

Обратите внимание на анафорическое упоминание через местоимение it в тогда-части к существительной фразе карта в if-части.

Модальность позволяет нам выразить возможность и необходимость:

Доверенный клиент может / должен вставить карту.
Возможно / необходимо, чтобы доверенный клиент вставил карту.

Подчинение предложений принимает различные формы:

Верно / неверно, что покупатель вставляет карту.
Невозможно доказать, что клиент вставляет карту.
Клерк считает, что клиент вставляет карту.
Количественная оценка

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

Чтобы выразить, что все вовлеченные клиенты вставляют карты, мы можем написать

Каждый клиент вставляет карту.

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

Карточка вставляется каждым покупателем.

или, что эквивалентно:

Есть карта, которую вставляет каждый покупатель.

Чтобы указать, что каждую карту вставляет покупатель, мы пишем:

Каждая карта вставляется покупателем.

или, несколько косвенно:

Для каждой карты есть покупатель, который ее вставляет.
Отрицание

Отрицание позволяет нам заявить, что что-то не так:

Клиент не вставляет карту.
Карта недействительна.

Чтобы отрицать что-то для всех объектов определенного класса используется no:

Ни один покупатель не вставляет более двух карт.

или, нет:

Нет клиента, вставляющего карту.

Чтобы отрицать полную В первом заявлении используется отрицание предложения:

То, что покупатель вставляет карту, неверно.

Эти формы отрицания являются логическими отрицаниями, т.е. они утверждают, что что-то доказуемо не так. Отрицание как несостоятельность утверждает, что положение дел нельзя доказать, то есть нет информации о том, так обстоит дело или нет.

Невозможно доказать, что клиент вставляет карту.

Запросы

ACE поддерживает две формы запросов: да / нет-запросы и белые-запросы.

Запросы типа "да / нет" запрашивают наличие или отсутствие определенной ситуации. Если мы указали:

Покупатель вставляет карту.

тогда мы можем спросить:

Вставляет ли покупатель карту?

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

С помощью wh-запросов, то есть запросов со словами запроса, мы можем запросить текст на предмет деталей указанной ситуации. Если мы указали:

Доверенный клиент вручную вставляет действительную карту утром в банк.

мы можем запросить каждый элемент предложения, за исключением глагола.

Кто вставляет карту?
Какой клиент вставляет карту?
Что вставляет покупатель?
Как покупатель вставляет карту?
Когда покупатель вводит карту?
Где покупатель вводит карту?

Запросы также могут быть построены из последовательности декларативных предложений, за которыми следует одно вопросительное предложение, например:

Есть покупатель и есть карта, которую покупатель вводит. Клиент вводит карту?

Команды

ACE также поддерживает команды. Некоторые примеры:

Джон, иди в банк!
Джон и Мэри, подожди!
Каждая собака, лает!
Брат Джона, дайте книгу to Mary!

Команда всегда состоит из существительной фразы (адресат), за которой следует запятая, за которой следует несогласованная глагольная фраза. Кроме того, команда должна заканчиваться восклицательным знаком.

Ограничение неоднозначности

Для ограничения неоднозначности полного естественного языка ACE использует три простых средства:

  • Некоторые неоднозначные конструкции не являются частью языка; вместо них доступны однозначные альтернативы
  • Все оставшиеся неоднозначные конструкции интерпретируются детерминированно на основе небольшого количества правил интерпретации
  • Пользователи могут либо принять назначенную интерпретацию, либо они должны перефразировать ввод

Предотвращение двусмысленности

На естественном языке относительные предложения в сочетании с согласованиями могут привести к двусмысленности:

Клиент вставляет действительную карту и открывает счет.

В ACE предложение имеет однозначное значение, что клиент открывает счет, что отражено в перефразировке:

Карта действительна. Клиент вставляет карту. Клиент открывает счет.

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

Клиент вставляет действительная карта, открывающая счет.

Это предложение однозначно эквивалентно перефразированию:

Карта действительна. Карта открывает счет. Клиент вставляет карточку.

Правила интерпретации

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

Покупатель вставляет карту с кодом.

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

Покупатель вставляет карту с кодом.

что дает перефразирование:

На карте есть код. Клиент вставляет карту.

или - чтобы указать, что клиент вставляет карту и код - как:

Клиент вставляет карту и код.

Анафорические ссылки

Обычно ACE тексты состоят из нескольких предложений:

Покупатель вводит карту и код. Если код действителен, SimpleMat принимает карту.

Чтобы выразить, что все вхождения карты и кода должны означать одну и ту же карту и один и тот же код, ACE предоставляет анафорические ссылки через определенный артикль:

Клиент вводит карту и код. Если код действителен, SimpleMat принимает карточку.

Во время обработки текста ACE все анафорические ссылки заменяются самой последней и наиболее конкретной доступной именной фразой, которая совпадает по роду и номеру. В качестве примера «самого последнего и самого конкретного» предположим, что синтаксическому анализатору ACE дано предложение:

Покупатель вводит красную и синюю карточки.

Затем:

Карта правильная.

относится ко второй карте, в то время как:

красная карта правильная.

относится к первой карте.

Существительные словосочетания в предложениях «если-то», предложения с универсальной квантификацией, отрицания, модальность и подчиненные предложения не могут быть анафорически переданы из последующих предложений, т.е. такие именные фразы не «доступны» из следующего текста. Таким образом, для каждого из предложений:

Если покупатель владеет картой, он вводит ее.
Каждый покупатель вводит карту.
Покупатель не вводит карту.
Клиент может ввести карту.
Клерк считает, что покупатель вводит карту.

мы не можем ссылаться на карту с:

Карта правильная.

Анафорические ссылки также возможны через личные местоимения:

Клиент вводит карту и код. Если он действителен, SimpleMat принимает карту.

или через переменные:

Клиент вводит карту X и код Y. Если Y действителен, то SimpleMat принимает X.

Анафорические ссылки через определенные статьи и переменные могут быть объединены:

Клиент вводит карту X и код Y. Если код Y действителен, SimpleMat принимает карту X.

Обратите внимание, что имена собственные, такие как SimpleMat, всегда относятся к одному и тому же объекту.

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-12 16:39:52
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте