首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AIML -将用户输入解析为Python的变量

AIML -将用户输入解析为Python的变量
EN

Stack Overflow用户
提问于 2016-06-04 16:51:30
回答 2查看 1.3K关注 0票数 1

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

例如,我想从用户那里获取一个日期,然后将其提供给google日历API。有没有办法提取'date‘变量并将其解析为Python (或任何其他语言)的google日历API?

代码语言:javascript
复制
<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>

最终,我试图实现的目标应该是这样的对话:

代码语言:javascript
复制
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 )

我探索了像mustache这样的模板引擎,但显然它不能与AIML (或者更确切地说是xml)对话。有没有人可以给我一个好的例子/教程来帮助我入门?

ps:我使用的是pandorabots API和python2.7

EN

回答 2

Stack Overflow用户

发布于 2016-07-05 20:13:09

在pyAIML接口中,查找关键字"predicates":

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

它返回使用

代码语言:javascript
复制
<set name="date"><star/></set>

然后你就可以很容易地用python解析它了。

但这让我更接近这个问题:我需要AIML做什么?AIML在这里的附加值是什么?

票数 2
EN

Stack Overflow用户

发布于 2017-04-09 03:30:38

我也在寻找类似问题的信息。在@Berry Tsakala提供的答案的帮助下...我找到了解决我的问题的办法。以下是上述示例的详细和改进版本,case...that可能对其他有相同问题的人有用……

代码语言:javascript
复制
<category><pattern>Hi bot, could you check if I am available on *</pattern>
<template>Let me check your schedules on <set name="date"><star/></set>
</template>
</category>

然后在您的python脚本中,您可以将其存储在一个变量中,

代码语言:javascript
复制
import aiml
kernel = aiml.Kernel()
kernel.learn("std-startup.xml")
kernel.respond("load aiml b")
while True:
    try:
        kernel.respond(raw_input("Enter your message >> "))
        appointment_date = kernel.getPredicate('date')
        print appointment_date

如果您发现任何错误或需要改进,请随时对答案进行任何更正。希望你能发现它是有用的:)

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

https://stackoverflow.com/questions/37628307

复制
相关文章

相似问题

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