从python到AIML

时间:2016-07-16 13:34:12

标签: python aiml

我正在尝试创建我想要用于家庭自动化项目的第一个聊天机器人。

这可能听起来很愚蠢,也许这不是可行的方法,但我希望得到你的意见,也许还有办法让它发挥作用。

我希望能够询问我的机器人我的位置是什么,我希望它运行我的python代码,返回我当前的位置,然后得到答案。

这是我的 location.py

from pyicloud import PyiCloudService
import googlemaps
import aiml


api_key = "##################3"

gmaps = googlemaps.Client(key= api_key)

api = PyiCloudService('###email####','###password###')

longitude = api.iphone.location()['longitude']
latitude = api.iphone.location()['latitude']


current_location  = gmaps.reverse_geocode((latitude, longitude))
street = current_location[0]['address_components'][1]['long_name']
house_number = current_location[0]['address_components'][0]['long_name']


def get_location():
    current_location = ('%s,%s' % (street, house_number))
    return current_location

现在我不知道怎么把它放到我的aiml文件中。

<?xml version="1.0" encoding="UTF-8"?>
 <aiml>
<category>
<pattern>WHAT IS MY LOCATION</pattern>
<template>??????</template>
</category>

</aiml>

我希望这有一定道理:)

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您的位置是芝加哥,您可以在Python中使用kernel.setPredicate("location", "Chicago"),然后在AIML中输出值,如下所示:

<category>
<pattern>WHAT IS MY LOCATION</pattern>
<template>Your location: <get name="location"></get></template>
</category>

查看examples here