AIML , или язык разметки искусственного интеллекта , представляет собой диалект XML для создания программных агентов на естественном языке .
Расширение имени файла | .aiml |
---|---|
Разработано | Д-р Ричард С. Уоллес |
Первый выпуск | 16 июля 2001 г . [1] |
Последний релиз | |
Тип формата | Искусственный интеллект |
Расширен с | XML |
Открытый формат ? | да |
Веб-сайт | http://www.aiml.foundation/doc.html |
История
XML диалект называется AIML был разработан Ричард Уоллес и во всем мире свободного программного обеспечения между 1995 [ править ] и 2002 AIML легли в основу того, что было первоначально сильно растянут Элиза называется « ЭЛИС » . («Искусственный лингвистический Интернет-компьютерный объект»), который трижды выигрывал ежегодный конкурс Лебнера в области искусственного интеллекта [3] , а также был чемпионом Chatterbox Challenge [4] в 2004 году.
Поскольку набор ALICE AIML был выпущен под лицензией GNU GPL , и поскольку большинство интерпретаторов AIML предлагаются по бесплатной лицензии или лицензии с открытым исходным кодом , многие «клоны Alicebot» были созданы на основе исходной реализации программы и ее базы знаний AIML. Бесплатные наборы AIML [5] на нескольких языках были разработаны и предоставлены сообществом пользователей. Существуют интерпретаторы AIML, доступные на Java , Ruby , Python , C ++ , C # , Pascal и других языках (см. Ниже [ мертвая ссылка ] ). Доступны полуформальная спецификация [6] и схема W3C XML для AIML [7] .
С начала 2013 года фонд ALICE работает над проектом спецификации AIML 2.0. [8]
Элементы AIML
AIML содержит несколько элементов. Наиболее важные из них более подробно описаны ниже.
Категории
Категории в AIML образуют фундаментальную единицу знаний. Категория состоит как минимум из двух дополнительных элементов: шаблона и элементов шаблона . Вот простая категория:
КАК ВАШЕ ИМЯ Меня зовут Майкл Н.С. Эваниус.
Когда эта категория загружена, бот AIML ответит на ввод «Как вас зовут?» Ответом «Меня зовут Майкл Н.С. Эваниус».
Узоры
Шаблон - это строка символов, предназначенная для соответствия одному или нескольким пользовательским вводам. Буквальный образец вроде
КАК ТЕБЯ ЗОВУТ
будет соответствовать только одному входу, игнорируя регистр: «как вас зовут?». Но шаблоны также могут содержать подстановочные знаки, которые соответствуют одному или нескольким словам. Узор вроде
ЧТО ВАШЕ *
будет соответствовать бесконечному количеству входных данных, включая «как вас зовут», «какой у вас размер обуви», «какова ваша цель в жизни» и т. д.
Синтаксис шаблонов AIML - это очень простой язык шаблонов, существенно менее сложный, чем регулярные выражения, и поэтому ниже уровня 3 в иерархии Хомского . Чтобы компенсировать возможности простого сопоставления с образцом , интерпретаторы AIML могут предоставлять функции предварительной обработки для расширения сокращений, удаления орфографических ошибок и т. Д.
Сам синтаксис AIML по крайней мере такой же сложный, как и конечные автоматы, и как таковой, по крайней мере, уровня 3 в иерархии Хомского . Это потому, что состояние соотносится с одной темой . Чтобы реализовать такое поведение, тема должна иметь шаблон «*», чтобы убедиться, что состояние не было оставлено случайно. Государственный транзит реализуется с помощью тега. Таким образом, бот сможет «запомнить» обсуждаемую тему или даже привилегии пользователя, полученные во время чата.
Шаблоны
Шаблон определяет ответ на совпавший шаблон. Шаблон может быть таким же простым, как буквальный текст, например
Меня зовут Джон.
В шаблоне могут использоваться переменные, например, в примере
Меня зовут.
который подставит имя бота в предложение, или
Вы сказали мне, что вамлет.
который подставит в предложение возраст пользователя (если он известен).
Элементы шаблона включают базовое форматирование текста, условный ответ (if-then / else) и случайные ответы.
Шаблоны также могут перенаправлять на другие шаблоны, используя элемент, называемый srai (символическое сокращение в искусственном интеллекте). Это можно использовать для реализации синонимии, как в этом примере (где CDATA используется, чтобы избежать необходимости экранирования XML ):
КАК ВАШЕ ИМЯ .]]> < pattern> КАК ВАС НАЗЫВАЕТСЯ как вас зовут
Первая категория просто отвечает на ввод «как вас зовут?» С указанием имени бота. Вторая категория, однако, гласит, что ввод «как вас зовут» должен быть перенаправлен в категорию, которая соответствует вводу «как вас зовут» - другими словами, в нем говорится, что эти две фразы эквивалентны.
Шаблоны могут содержать другие типы контента, которые могут обрабатываться любым пользовательским интерфейсом, через который общается бот. Так, например, шаблон может использовать HTML-теги для форматирования, которые могут игнорироваться клиентами, не поддерживающими HTML.
Рекомендации
- ^ «Пресс-релиз: AIML 1.0 Standard Passed (ALICE AI Foundation)» . alicebot.org . Сан-Франциско, Калифорния. 16 июля 2001 года Архивировано из оригинала 15 июля 2007 года . Проверено 1 декабря 2013 года .
- ^ «AIML 2.1 (Фонд AIML)» . aiml.foundation/ . Архивировано из оригинального 14 мая 2019 года . Проверено 19 апреля 2020 .
- ^ "loebner.net - Информационный центр Thema loebner" . loebner.net . 26 октября 2007 года Архивировано из оригинала 30 декабря 2010 года . Проверено 10 ноября 2010 года .
- ^ "Вызов болтуна" . chatterboxchallenge.com . Архивировано из оригинала 25 марта 2006 года . Проверено 10 ноября 2010 года .
- ^ «Бесплатные наборы AIML - aitoold.org» . aitools.org . 17 мая 2006 Архивировано из оригинала 9 октября 2006 года.
- ^ «AIML 1.0.1 (ALICE AI Foundation)» . alicebot.org . 13 октября 2011 года Архивировано из оригинала 18 ноября 2013 года . Проверено 1 декабря 2013 года .
- ^ «AIML.xsd» . aitools.org . Архивировано из оригинала 17 марта 2006 года . Проверено 10 ноября 2010 года .
- ^ «Выпущен проект спецификации AIML 2.0» . alicebot.blogspot.com . 16 января 2013 г. Архивировано из оригинала 18 мая 2013 года . Проверено 19 июня 2014 года .