如何将AIML与Python结合使用

如何将AIML与Python结合使用,python,nltk,aiml,pandorabots,Python,Nltk,Aiml,Pandorabots,我想将python脚本集成到我用aiml编写的pandorabot中 我知道你可以用javascript标记aiml语法,但是我没有找到任何关于python的文档,除了以下使用(越界)标记在后台运行服务的文档: <oob> <mrl> <service>python</service> <method>exec</method> <param>myfuction()<param&

我想将
python
脚本集成到我用
aiml
编写的
pandorabot

我知道你可以用
javascript
标记
aiml
语法,但是我没有找到任何关于
python
的文档,除了以下使用
(越界)标记在后台运行服务的文档:

<oob>
  <mrl>
    <service>python</service>
    <method>exec</method>
    <param>myfuction()<param>
  </mrl>
</oob>

python
执行官
myfuction()
标记代表,它是
程序ab
的一部分,这是一个用于实际机器人技术的
java框架

但是我想只在网上使用我的
应用程序

我也遇到了pyAiml,但到目前为止,我还不知道它如何帮助我实现我的目标

我的目标

我想使用
python
,因为它操纵
NLTK
(),这是一个处理大量文学语料库的自然语言工具包,我想将这个库集成到我的bot功能中

假设我有一个
PYTHON
,它将运行一个PYTHON脚本

该脚本将
导入nltk
(及其语料库),将AIML
模式
,或“问题”链接到PYTHON
模板
,或“答案”


关于我如何做到这一点有什么线索吗?非常感谢。

虽然我没有使用python和pandorabots的经验,但我确实使用过php,这是我在概念上提出的。目标是类似的,但在我的例子中,我需要从外部api添加pandorabot响应的信息,以下是我所做的:

我使用符号/分隔符来
1.标记需要修改的响应。
2.使用分隔符将响应分为需要修改的部分和不需要修改的部分。
3.在我的例子中,可修改的部分是php函数调用,其中函数已经预定义。
4.然后,我将来自api的响应与未修改的bot响应相结合,并将其呈现给客户端

最终的结果是,我基本上能够将aiml响应转换为php调用


示例:
在我的例子中,我在响应的开头使用“#”将响应标记为可修改。我使用“%”标记我要修改的段的开头和结尾,并使用“,”分隔函数调用和参数

因此,存储的aiml响应如下所示:

<template>#Response to be modified %method call,param1% continued response.</template>

我相信您可以使用类似的逻辑来提取查询并将其发送到nltk。希望这会有所帮助。

虽然我没有使用python和pandorabots的经验,但我确实使用过php,这是我在概念上提出的。目标类似,但在我的情况下,我需要为pandorabot res添加信息ponse来自外部api,以下是我所做的:

我使用符号/分隔符来
1.标记需要修改的响应。
2.使用分隔符将响应分为需要修改的部分和不需要修改的部分。
3.在我的例子中,可修改的部分是php函数调用,其中函数已经预定义。
4.然后,我将来自api的响应与未修改的bot响应相结合,并将其呈现给客户端

最终的结果是,我基本上能够将aiml响应转换为php调用


示例:
在我的例子中,我在响应的开头使用了“#”,将响应标记为可修改。我使用“%”标记要修改的段的开头和结尾,并使用“%”分隔函数调用和参数

因此,存储的aiml响应如下所示:

<template>#Response to be modified %method call,param1% continued response.</template>
我相信您可以使用类似的逻辑来提取查询并将其发送到nltk。希望这有帮助