我正在从事休闲的AIML项目,遇到了pandorabots。我想知道是否有一种方法可以将用户输入中的变量解析为其他语言(在本例中为python)或框架,以便我们可以通过任何模板通过其他第三方API进行进一步的处理?

例如,我想从用户那里获取一个日期,然后将其输入到Google日历API中。有没有一种方法可以提取“日期”变量并将其解析为Python(或其他任何语言)的Google Calendar API?

<category><pattern># 1 MAY 2016 #</pattern>
    <think>{{ date }}</think> #is there a way to parse "1 May 2016" as a
                              #variable date in python?
    <template>...
    </template>
</category>


最终,我要实现的目标是进行如下对话:

User: Hi bot, could you check if I am available on 1 May 2016?
Bot: Nope, you have a gathering at Mike's! #(<--- Response rendered after
                         checking user's schedule on 1 May via google calendar )


我探索了像胡子一样的模板引擎,但显然它与AIML(或xml)没有联系。是否有人可以为我提供一个可以帮助我入门的好例子/教程?

ps:我正在使用pandorabots API和python2.7

最佳答案

在pyAIML API中,查找关键字“ predicates”:


kernel.getPredicate('date')
kernel.getBotPredicate('dat')


它返回使用设置的谓词

<set name="date"><star/></set>


然后,您可以使用python轻松解析它。

但这使我更接近问题:我需要AIML做什么? AIML在这里有什么附加值?

10-08 12:54