首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chaquopy不支持AIML

Chaquopy不支持AIML
EN

Stack Overflow用户
提问于 2021-02-17 21:36:45
回答 2查看 43关注 0票数 1

我正在尝试使用Android Studio制作一个AI聊天机器人,它应该使用Python内核。我学习了如何使用Chaquopy在Android Studio中运行Python脚本,但是当我运行导入aiml库的.py文件时,总是出现“没有找到输入匹配”的错误。下面是我在Android Studio中使用Chaquopy运行的文件home.py的代码:

代码语言:javascript
复制
import aiml

kernel = aiml.Kernel()
kernel.learn("std_startup.xml")
kernel.respond("load aiml b")

def response(message):
    res = kernel.respond(message)
    if res is None or res=="":
        return "Sorry"
    else:
        return res

这是std_startup.xml

代码语言:javascript
复制
<aiml version="2.0" encoding="UTF-8">
<category>
    <pattern>LOAD AIML B</pattern>
    <template>
        <learn>basic_chat.xml</learn>
    </template>
</category>
</aiml>

这是basic_chat.xml

代码语言:javascript
复制
<aiml version="2.0" encoding="UTF-8">
<category>
        <pattern>HELLO</pattern>
        <template>
            <random>
                <li>Hey there!</li>
                <li>H1!</li>
                <li>Hello!</li>
            </random>
        </template>
    </category>    
</aiml>

Android项目活动中的代码是:

代码语言:javascript
复制
    if (!Python.isStarted()) {
                 Python.start(new AndroidPlatform(this));
    }
    Python python = Python.getInstance();
    PyObject pythonFile = python.getModule("home");
    PyObject response = pythonFile.callAttr("response", message.toString());
    button.setText(response.toString());

所有文件都在同一个目录中。Chaquopy在简单的python程序上运行得很好,当我在cmd上运行它时,home.py也运行得很好。我已经尝试在代码中将.xml更改为.aiml,但仍然不起作用。我还尝试更改了aiml版本。我做错了什么?或者Chaquopy只是不支持AIML?如果需要修改,请提出建议

EN

回答 2

Stack Overflow用户

发布于 2021-02-17 22:48:01

Android应用程序的当前目录可能在任何地方,但它不太可能是包含数据文件的目录。因此,不要使用简单的文件名传递std_startup.xml,而是使用相对于__file__的路径,如the FAQ中所述。

我不知道std_startup.xml中的文件名是如何计算的。如果它们是相对于std_startup.xml文件的位置的,那么您当前的方法应该可以很好地工作。如果它们是相对于当前目录的,那么您可能需要以编程方式生成std_startup.xml文件,以便它可以包含basic_chat.xml的绝对路径。

票数 0
EN

Stack Overflow用户

发布于 2021-03-19 20:33:01

尝试直接学习basic.aiml文件。并将扩展名更改为.aiml

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66243022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档