Aiml 艾米尔:没有得到正确的答案
我正在努力学习AIML,但不明白我错在哪里:Aiml 艾米尔:没有得到正确的答案,aiml,Aiml,我正在努力学习AIML,但不明白我错在哪里: <aiml> <category> <pattern>I LIKE * ROME</pattern> <template> I love talking about <set name="topic">rome</set> too!
<aiml>
<category>
<pattern>I LIKE * ROME</pattern>
<template>
I love talking about
<set name="topic">rome</set>
too!
<random>
<li>Did you know that slaves made up 40% of the population of Ancient Rome?</li>
<li>Did you know the Colosseum could sit 250'000 people?</li>
</random>
</template>
</category>
<topic name="rome">
<category>
<pattern>No *</pattern>
<that>Did you know that slaves made up 40% of the population of Ancient Rome?</that>
<template>So I've taught you something!</template>
</category>
</topic>
</aiml>
我喜欢罗马
我喜欢谈论
罗马
也
你知道奴隶占古罗马人口的40%吗
你知道竞技场能容纳25万人吗
没有*
你知道奴隶占古罗马人口的40%吗?
所以我教了你一些东西!
第一部分很好,如果我输入“我喜欢罗马的历史”,我会得到预期的默认答案和一个随机答案
但是如果他给了我“奴隶”随机答案,而我说“不,我不知道”,他就不会给我“所以我教过你一些”答案。他是从他的代码中的其他地方得到答案的,但考虑到我已经设置了“主题”“还有<pattern>No _</pattern>
否_
在aiml文件中的某些地方。使用
标记是您的瓶颈。为了一张图片的价值,我在初始模板中更改了您的响应,它成功了
关于bot的第二个回复。如果使用了它,那么rome主题中的类别将永远不会起作用,因为
标记中的40$'ers必须是bot的最后一个响应
聊天机器人的回复可能有些混乱。以前,主题总是改为“罗马”,但为了让主题“罗马”中的模式起作用,聊天机器人必须谈论40%的人。我只是把这两者结合起来得到了相同的结果
还要注意,
标记中的问号没有放在那里。机器人会将其剥离并存储剩余结果
<?xml version="1.0" encoding="UTF-8"?>
<aiml>
<category>
<pattern>I LIKE * ROME</pattern>
<template>
<random>
<li>Did you know that slaves made up 40% of the population of Ancient <set name="topic">Rome</set>?</li>
<li>Did you know the Colosseum in could sit 250'000 people?</li>
</random>
</template>
</category>
<topic name="rome">
<category>
<pattern>No *</pattern>
<that>Did you know that slaves made up 40% of the population of Ancient Rome</that>
<template>
So I've taught you something!
</template>
</category>
</topic>
</aiml>
我喜欢罗马
你知道奴隶占古罗马人口的40%吗
你知道罗马圆形竞技场能容纳25万人吗
没有*
你知道奴隶占古罗马人口的40%吗
所以我教了你一些东西!
您可以在
标记中使用通配符(*
),因此您只能匹配bot答案的一部分(例如,“您知道奴隶是由谁组成的吗”)
另外请注意,该主题可以设置在
标记内,该标记不显示其内容
我使用Python AIML解释器测试了以下代码。它按预期工作,但是当主题名和
和
标记的内容是小写时,它就不工作了
<aiml>
<category>
<pattern>I LIKE * ROME</pattern>
<template>
I love talking about Rome too!
<think><set name="topic">ROME</set></think>
<random>
<li>Did you know that slaves made up 40 of the population of Ancient Rome?</li>
<li>Did you know the Colosseum could sit 250'000 people?</li>
</random>
</template>
</category>
<topic name="ROME">
<category>
<pattern>NO</pattern>
<that>* DID YOU KNOW THAT SLAVES MADE UP *</that>
<template>So I've taught you something!</template>
</category>
</topic>
</aiml>
我喜欢罗马
我也喜欢谈论罗马!
罗马
你知道奴隶占古罗马人口的40吗
你知道竞技场能容纳25万人吗
不
*你知不知道奴隶们是虚构的*
所以我教了你一些东西!