9.2.1. 常用¶
AIML(人工智能标记语言)是一种基于 XML 的用于定义规则的语言,主要由卡内基梅隆大学的 Richard Wallace 和 OSS 社区于 1995 年至 2000 年间开发。它也被称为描述机器人定义的语言,称为 A.L.I.C.E.(人工语言互联网计算机实体)。
备注
目前,使用机器学习进行意图理解是主流。但 AIML 似乎仍然有需求,因为它的优点是机器人不会因为定义之外的因素而运行。
AIML基金会: http://www.aiml.foundation/doc.html
规则¶
<aiml> 框架:
<?xml version="1.0" encoding="UTF-8"?>
<aiml version="1.0.1" encoding="UTF-8">
</aiml>
<category>:
<category>
<pattern>WHAT IS YOUR NAME</pattern>
<template>My name is Michael N.S Evanious.</template>
</category>
# 使用 CDATA 来避免 XML 转义
# srai: 元素重定向到其他模式
<category>
<pattern>WHAT IS YOUR NAME</pattern>
<template><![CDATA[My name is <bot name="name"/>.]]></template>
</category>
<category>
<pattern>WHAT ARE YOU CALLED</pattern>
<template>
<srai>what is your name</srai>
</template>
</category>
资源¶
A collection of free AIML files from Mitsuku Chatbot creator Steve Worswick: https://github.com/pandorabots/Free-AIML
PyAIML is an interpreter for AIML (Artificial Intelligence Markup Language). cloned from sf.net(中文版): https://github.com/andelf/PyAIML
Base content for AIML 2.0 chatbot: https://github.com/pandorabots/rosie