我最近接受了使用python的aiml,我尝试过最简单的程序,但即便如此,这似乎也给我带来了麻烦,我无法弄清楚原因。
这是python脚本:
import aiml
kernel = aiml.Kernel()
kernel.learn("std-startup.xml")
kernel.respond("load aiml b")
while True:
print (kernel.respond(raw_input("Enter your message >> ")))
以下是std-startup.xml的内容:
<category>
<pattern>
LOAD AIML B
</pattern>
<template>
<learn>basic-chat.aiml</learn>
</template>
</category>
这是basic-chat.aiml的内容:
<category>
<pattern>HELLO</pattern>
<template>
Well, hello!
</template>
</category>
<category>
<pattern>WHAT ARE YOU</pattern>
<template>
I'm a bot, silly!
</template>
</category>
我收到此错误警告:找不到输入匹配:load aiml b。
我之前见过一些人与他们打交道并且我已经尝试了他们的解决方案,但似乎没有任何效果。提前感谢您提供的任何智慧
答案 0 :(得分:0)
没关系我让它工作了,我废弃了以下一行:
kernel.learn("std-startup.xml")
并将其替换为:
kernel.learn("basic-chat.aiml")
这加载了basic-chat.aiml文件,我收到了所需的输出,即使它意味着我的python文件中有更多行代码
答案 1 :(得分:0)
在python 3中使用输入而不是raw_input for python 2 raw_input将起作用。
希望有帮助