人工智能机器人(aiml语言)

aiml

背景  AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Richard Wallace和世界各地的自由软件社区在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输出。





http://baike.baidu.com/view/6886059.htm


没有更多推荐了,返回首页