• 1.摘要
  • 2.基本信息
  • 3.背景
  • 4.AIML的元素
  • 4.1.category元素
  • 4.2.Pattern元素
  • 4.3.Template元素
  • 4.4.That元素

aiml

AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Richard Wallace和世界各地的自由软件社区在1995年至2002年发明的。

基本信息

  • 中文名

    人工智能标记语言

  • 外文名

    Artificial Intelligence Markup Language

  • 简称

    aiml

  • 发明时间

    1995-2002

背景

它的雏形是一个名为"A.L.I.C.E." ("Artificial Linguistic Internet Computer Entity")的高度扩展的Eliza机器人。ALICE总共赢得3次每年度的Loebner奖,并且在2004年获得了Chatterbox Challenge的冠军。由于A.L.I.C.E. 的AIML设置是在GNU GPL协议下发布的,所以已经有许多基于该程序和AIML库的“克隆ALICE”出现。目前AIML已经有了Java,Ruby,Python, C ,C#,Pascal等语言的版本。

AIML的元素

category元素

category是AIML库中的基本单位,每个category元素都至少包含两个子元素:pattern和template元素。下面是个简单的例子:

<category>

<pattern>WHAT IS YOUR NAME</pattern>

<template>My name is Leo.</template>

</category>

当这个AIML库被加载之后,你问机器人“WHAT IS YOUR NAME”,机器人便会回答“My name is Leo.”。

Pattern元素

Pattern主要用来匹配用户输入,在原生的英文AIML语法中Pattern支持 _ 和 * 的模糊匹配。例如:

<category>

<pattern>WHAT IS YOUR *</pattern>

<template>My name is Leo.</template>

</category>

只要用户的输入是以“WHAT IS YOUR ”开头,机器人就会回复“My name is Leo.”。

Template元素

很明显Template元素是机器人的对用户提问的回答,当用户的输入和同一个category下的Pattern相匹配是,就会将此category元素下的Template输出。