【问题标题】:Am trying to built a chat bot using aiml with python我正在尝试使用 aiml 和 python 构建一个聊天机器人
【发布时间】:2017-10-12 18:19:08
【问题描述】:
import aiml
import os
kernel = aiml.kernel()
if os.path.isfile("bot_brain.brn"):
    kernel.bootstrap(brainFile = "bot_brain.brn")
else:
    kernel.bootstrap(learnFiles = "std-startup.xml", commands = "load aiml b")
    kernel.savebrain("bot_brain.brn")
while True:
    print kernel.respond(raw_input("Enter Your Message")).strip()
aiml.kernel()

它会抛出类似

的错误

Traceback(最近一次调用最后一次): 文件“init.py”,第 3 行,在 内核=目标。内核() AttributeError:“模块”对象没有属性“内核”

【问题讨论】:

  • 推荐这个post,这可能会有所帮助。

标签: python module aiml


【解决方案1】:

aiml.kernel() 应该是 aiml.Kernel()

注意,aiml 包仅适用于 Python 2。GitHub 上的 Py3kAiml 是 Python 3 的替代品。你也可以参考这个post

【讨论】:

  • 你可以使用 python --version 查看默认的python版本,可能你也安装了python3。
  • 是的,Kris 我已经检查过了.. 我正在使用 2.7
  • aiml.Kernel(),K 大写
  • 谢谢你,克里斯,它正在工作......我可以知道那个大写“K”的原因
  • @kumararaja python 是一种区分大小写的语言。所以函数 Kernel() 和 kernel() 是不一样的。模块中只定义了 Kernel()
【解决方案2】:

运行pip install python-aiml 不是 pip install aiml

【讨论】:

  • .. 你认为包重新安装如何帮助修复错字? (v0.9.2 >> 0.9.3)。这个问题已经存在三年了,所以他们可能已经为大写字母实现了一个指针,无论发布问题时 OP 的版本是什么。
  • 它解决了我的问题,我的研究结果 - 这是我提供的,他可能会觉得有帮助:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-03
  • 2013-01-12
  • 2017-03-05
  • 2012-10-24
  • 1970-01-01
相关资源
最近更新 更多