AIML - AIML

Язык разметки искусственного интеллекта
Расширение имени файла
.aiml
РазработанД-р Ричард С. Уоллес
изначальный выпуск16 июля 2001 г.; 19 лет назад (2001-07-16) [1]
Последний релиз
2.1 (версия 1.0.2.22)
(9 марта 2018 г.; 2 года назад (2018-03-09) [2])
Тип форматаИскусственный интеллект
Расширен сXML
Открытый формат ?да
Интернет сайтhttp://www.aiml.foundation/doc.html

AIML, или Искусственный интеллект Язык разметки, является XML диалект для создания естественный язык программные агенты.

История

В Диалект XML под названием AIML был разработан Ричард Уоллес и всемирный сообщество свободного программного обеспечения между 1995[нужна цитата ] и 2002. AIML легла в основу того, что изначально было сильно расширенным Элиза называется "A.L.I.C.E.. »(« Искусственный лингвистический Интернет-компьютерный объект »), выигравший ежегодную Конкурс на премию Лебнера в области искусственного интеллекта[3] трижды, а также испытание болтун[4] Чемпион 2004 года.

Поскольку A.L.I.C.E. Набор AIML был выпущен под GNU GPL, и поскольку большинство переводчиков AIML предлагаются в рамках свободный или лицензия с открытым исходным кодом, многие «клоны Alicebot» были созданы на основе оригинальной реализации программы и ее базы знаний AIML. Бесплатные наборы AIML[5] на нескольких языках были разработаны и предоставлены сообществом пользователей. Есть переводчики AIML, доступные в Ява, Рубин, Python, C ++, C #, Паскаль, и другие языки (см. ниже[мертвая ссылка ]Полуформальная спецификация.[6] и схему W3C XML для AIML[7] доступны.

С начала 2013 года фонд A.L.I.C.E работал над проектом спецификации для AIML 2.0.[8]

Элементы AIML

AIML содержит несколько элементов. Наиболее важные из них более подробно описаны ниже.

Категории

Категории в AIML образуют фундаментальную единицу знаний. Категория состоит как минимум из двух дополнительных элементов: шаблон и шаблон элементы. Вот простая категория:

<category>  <pattern>КАК ТЕБЯ ЗОВУТ</pattern>  <template>Меня зовут Майкл Н.С. Эваниус.</template></category>

Когда эта категория загружена, бот AIML ответит на ввод «Как вас зовут?» Ответом «Меня зовут Майкл Н.С. Эваниус».

Узоры

Шаблон - это строка символов, предназначенная для соответствия одному или нескольким пользовательским вводам. Буквальный образец вроде

КАК ТЕБЯ ЗОВУТ

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

ЧТО ВАШЕ *

будет соответствовать бесконечному количеству входных данных, включая «как вас зовут», «какой у вас размер обуви», «какова ваша цель в жизни» и т. д.

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

Сам синтаксис AIML не менее сложен, чем конечные автоматы и как таковой не менее 3-го уровня в Иерархия Хомского. Это потому, что состояние коррелирует с одним тема. Для реализации этого поведения в теме должен быть шаблон «*», чтобы гарантировать, что состояние не было оставлено случайно. Государственный транзит осуществляется с <думать> <установить имя ="тема">состояние2</set></think> Тег. Таким образом, бот сможет «запомнить» обсуждаемую тему или даже привилегии пользователя, полученные во время чата.

Шаблоны

Шаблон определяет ответ на совпавший шаблон. Шаблон может быть таким же простым, как буквальный текст, например

Меня зовут Джон.

Шаблон может использовать переменные, такие как пример

Меня зовут .

который подставит имя бота в предложение, или

Вы сказали мне, что вам  лет.

который подставит в предложение возраст пользователя (если он известен).

Элементы шаблона включают в себя базовое форматирование текста, условный ответ (if-then / else) и случайные ответы.

Шаблоны также могут перенаправлять на другие шаблоны, используя элемент, называемый срай (Символическое сокращение в искусственном интеллекте). Это можно использовать для реализации синонимии, как в этом примере (где CDATA используется, чтобы избежать необходимости XML-экранирование ):

<category>  <pattern>КАК ТЕБЯ ЗОВУТ</pattern>  <template><![CDATA[My name is <bot name="name"/>.]]></template></category><category>  <pattern>КТО ВАС ЗВОНИТЕ</pattern>  <template>    <srai>как тебя зовут</srai>  </template></category>

Первая категория просто отвечает на ввод «как вас зовут?» С указанием имени бота. Вторая категория, однако, гласит, что ввод «как вас зовут» должен быть перенаправлен в категорию, которая соответствует вводу «как вас зовут» - другими словами, в нем говорится, что эти две фразы эквивалентны.

Шаблоны могут содержать другие типы контента, которые могут обрабатываться любым пользовательским интерфейсом, через который общается бот. Так, например, шаблон может использовать HTML-теги для форматирования, которые могут игнорироваться клиентами, не поддерживающими HTML.

использованная литература

  1. ^ «Пресс-релиз: стандарт AIML 1.0 пройден (A.L.I.C.E. AI Foundation)». alicebot.org. Сан-Франциско, Калифорния. 16 июля 2001 г. Архивировано с оригинал 15 июля 2007 г.. Получено 1 декабря 2013.
  2. ^ «AIML 2.1 (Фонд AIML)». aiml.foundation/. Архивировано из оригинал 14 мая 2019 г.. Получено 19 апреля 2020.
  3. ^ "loebner.net - Informationen zum Thema loebner". loebner.net. 26 октября 2007 г. Архивировано с оригинал 30 декабря 2010 г.. Получено 10 ноября 2010.
  4. ^ "Вызов болтуна". chatterboxchallenge.com. Архивировано из оригинал 25 марта 2006 г.. Получено 10 ноября 2010.
  5. ^ «Бесплатные наборы AIML - aitoold.org». aitools.org. 17 мая 2006 г. Архивировано с оригинал 9 октября 2006 г.
  6. ^ «AIML 1.0.1 (A.L.I.C.E. AI Foundation)». alicebot.org. 13 октября 2011. Архивировано с оригинал 18 ноября 2013 г.. Получено 1 декабря 2013.
  7. ^ "AIML.xsd". aitools.org. Архивировано из оригинал 17 марта 2006 г.. Получено 10 ноября 2010.
  8. ^ «Проект спецификации AIML 2.0 выпущен». alicebot.blogspot.com. 16 января 2013. Архивировано с оригинал 18 мая 2013 г.. Получено 19 июн 2014.