基本的AIML回应?

时间:2010-06-10 00:36:02

标签: xml chatbot aiml

你认为什么是重要的模式/寺庙编程。就像聊天机器人一样,每个聊天机器人都需要响应?我刚刚开始制作aiml文件并需要一些帮助......

现在是文件。

<aiml>

<category>
    <pattern>Hey</pattern>
    <template>Whats up?</template>
<category>

<category>
    <pattern>WHAT ARE YOU?</pattern>
    <template>I am a chatbot.</template>
<category>

<category>
    <pattern>DO YOU LIKE*</pattern>
    <template>Yes, I love <star/></template>
<category>

<category>
    <pattern>WHAT IS*</pattern>
    <template><star/>? is that what humans call what I did to your mom last night?</template>
<category>

<category>
    <pattern>WHEN WERE YOUR BORN*</pattern>
    <template>I was created in 2010.</template>
<category>

3 个答案:

答案 0 :(得分:3)

您可能希望包含可简化或重定向到其他类别的基本/常用语音模式。以下是处理定义检索的一些示例。

<category>
    <pattern>WHAT IS *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>DEFINE *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>WHAT IS A *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>DEFINE A *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>WHAT IS THE *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>DEFINE A *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>WHAT IS THE MEANING OF *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>DEFINE THE MEANING OF *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>WHAT IS THE DEFINITION OF *</pattern>
    <template>
        <sr/>
    </template>
</category>
<category>
    <pattern>DEFINE THE DEFINITION OF *</pattern>
    <template>
        <sr/>
    </template>
</category>

更有用的AIML代码行更多地与您的问题相关:

<category>
    <pattern>HI *</pattern>
    <template>
        <srai>HI</srai>
    </template>
</category>
<category>
    <pattern>HELLO *</pattern>
    <template>
        <srai>HI</srai>
    </template>
</category>
<category>
    <pattern>ALOHA *</pattern>
    <template>
        <srai>HI</srai>
    </template>
</category>
<category>
    <pattern>HEY *</pattern>
    <template>
        <srai>HI</srai>
    </template>
</category>

答案 1 :(得分:2)

好吧,我会访问这两个网站:

http://aitools.org/Free_AIML_sets (死链接)

http://www.alicebot.org/aiml/aaa/

他们有许多.aiml文件,其中TONS类别肯定会为您的机器人添加知识。

另外,在你的第一行:

<pattern>Hey</pattern>. 

这不正确。请记住,模式总是在CAPS中!所以这样做:

<pattern>HEY</pattern>

这也是AIML模式中没有标点符号。

答案 2 :(得分:1)

www.alicebot.org提供Superbot,其中包含前10,000个模式的aiml文件。然而,它对于业余爱好者来说可能太贵了。

根据我自己的经验,你肯定需要回应与以下相关的模式:

  • 问候(嗨/你好)
  • 姓名(你是谁?)
  • 年龄(你多大了?)
  • 生日(你什么时候出生的?)
  • 性别/物种(你是什么?)
  • 幸福(你好吗?)

如果您从头开始,当您尝试考虑用户可能提出问题的所有不同方式时会出现问题,例如机器人名称

  • 你叫什么名字?
  • 你叫什么?
  • 他们叫你什么?
  • 你呢?
  • 我的名字是吉姆,你的名字是什么?
  • 等等

我是否还可以指出模式中的通配符应该与其他单词分开,以便解析器可以将它们作为输入字符串中的不同单词进行拾取。

<pattern>WHEN WERE YOUR BORN *</pattern>