Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

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

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

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

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

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

Обзор [ править ]

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

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

Словарь [ править ]

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

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

Грамматика [ править ]

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

Тексты ACE [ править ]

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

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

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

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

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

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

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

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

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

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

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

или переменные как аппозиции:

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

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

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

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

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

или, что то же самое:

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

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

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

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

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

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

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

Координация [ править ]

Согласование с помощью и возможно между предложениями и между фразами одного синтаксического типа.

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

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

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

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

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

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

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

Подчинение [ править ]

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

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

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

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

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

Обратите внимание на анафорическую ссылку через местоимение it в части then на именную фразу a card в части if .

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

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

Подчинение приговора принимает разные формы:

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

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

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

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

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

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

или, что то же самое:

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

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

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

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

Каждую карту вставляет покупатель.
Отрицание [ править ]

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

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

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

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

или нет :

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

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

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

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

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

Запросы [ править ]

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

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

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

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

Клиент вставляет карту?

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

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

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

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

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

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

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

Команды [ править ]

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

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

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

Ограничение двусмысленности [ править ]

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

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

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

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

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

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

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

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

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

Это предложение однозначно эквивалентно по смыслу пересказу:

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

Правила интерпретации [ править ]

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

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

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

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

давая пересказ:

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

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

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

Анафорические ссылки [ править ]

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

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

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

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

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

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

Потом:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Gellish
  • Обработка естественного языка
  • Программирование на естественном языке
  • Структурированный английский
    • ClearTalk , еще один машиночитаемый язык представления знаний
    • Inform 7 , язык программирования с английским синтаксисом

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

  1. ^ a b Норберт Э. Фукс; Каарел Кальюранд; Герольд Шнайдер (2006). «Attempto Controlled English решает проблемы представления знаний, рассуждений, взаимодействия и пользовательских интерфейсов» (PDF) . FLAIRS 2006 .
  2. ^ "Новости Attempto" .
  3. ^ Норберт Э. Фукс; Каарел Кальюранд; Тобиас Кун (2010). "Структуры представления дискурса для ACE 6.6" (PDF) . Технический отчет ifi-2010.0010, факультет информатики, Цюрихский университет .
  4. ^ Тобиас Кун (2007). «AceRules: выполнение правил на контролируемом естественном языке» (PDF) . Первая международная конференция по веб-рассуждениям и системам правил (RR 2007) .
  5. ^ Каарел Кальюранд; Норберт Э. Фукс (2007). «Вербализация OWL на английском языке, контролируемом попытками» (PDF) . OWL: Опыт и направления (OWLED 2007) .

Внешние ссылки [ править ]

  • Project Attempto