什么是AIML,人工智能标志语言

 

 

AIML是Artificial Intelligence Markup Language的缩写。这种语言基于XML,它易学习易掌握。使用AIML可以很容易的定制一个Alicebot或者从头开始创建一个Alicebot。Alicebot是种聊天机器人,参见http://www.alicebot.org/ 。

下面简单的介绍下AIML的语法。

AIML语言中最重要的四个标志:

· <aiml>: 这个标签用来标志一个AIML文档的开始和结束。

· <category>: 这个标志表示在Alicebot的知识体系里暂时无法理解的东西。

· <pattern>: 用来描述一个简单的模式表示用户会同Alicebot说什么。

· <template>: 用来描述Alicebot的回复。

还有20余种标签会在AIML文件中经常碰到。你也可以创建你自己的“定制标签”。现在就开始学习使用AIML吧,这里有一个初级教程 AIML Primer

举例说明吧。免费的A.L.I.C.E. AIML 已经包含了一个基本的知识库,描述了大概41,000个category。看这个例子:

<category>
    <pattern>WHAT ARE YOU</pattern>
    <template>
        <think><set name="topic">Me</set></think> 
        I am the latest result in artificial intelligence,
        which can reproduce the capabilities of the human brain
        with greater speed and accuracy.
    </template>
</category>

<aiml>标签在这里没有显示出来,因为这里只是文档的一个节选。

如你所见<categoray>与</category>之间,就是描述一个category啦!每个category可以有一个pattern和一个template,还可以有一个<that>标签的,但是我不想在这里讨论它。

如上的category中的pattern只能够匹配精确的"what are you"(大小写忽略)。What are you 你不会不认识吧,好吧,直译是"你是什么东西啊?"

每个category还有可能被另外一个category调用,此时使用<srai>标签,这里也不作深入讨论。可以参见reductionism. Reductionism大根是还原论,简约化的意思。很难译出!

不管哪种情况,如果这个category被激发了,alicebot就会回答:"I am the latest result in artificial intelligence…" ,前面<template>里面的东东。意思是:我是最先进的人工智能的产物。我能够以超快的速度和准确度模拟人脑的功能。另外,还有一些其它有趣的事情发生呢。注间到<think>标签吗?这会让Alicebot联想到这个对话的相关的一个限制,比如上面的例子就告诉alicebot,这个对向在讨论你自己。set name="topic",又赋值Me。于是对于alicebot的其它N多category,同样是topic的值为Me的category会被优先采纳。由此,这个机制能让你更好更准确的控制对话的流程。想想还有更多的机制呢,就看你的创造力设计一个聪明的聊天机器人啦!

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *