Google I/O2018谷歌助手实现真人对话,如何用Python实现人机对话

实例演示Python开发语言调用AIML库,实现简单的人机对话功能。

在2018年Google开发者大会( I/O)的主题演讲中,Google CEO 颂达尔·皮柴 (Sundar Pichai) 表示,Google Assistant 部门的一个最重要的目标,就是让用户和虚拟助手的对话变得更加自然,就像和真人交流那样。

AI人工智能无疑是未来发展的趋势,Python之所以适合AI项目,其实也是基于Python的很多有用的库都可以在AI中使用。上一篇文章为大家介绍了Python强大的工具库,这篇将演示Python开发语言调用AIML库,简单实现人机对话功能。

一、准备工作:

开发环境:Windows 7 ×64 英文版

JetBrains PyCharm 2017.1.3 x64

测试环境:Windows 7 ×64 英文版

需要技术:

1、Python语言的熟练掌握,Python版本2.7

2、Python服务端开发框架tornado的使用

3、aiml库接口的简单使用

4、HTML+CSS+Javascript(jquery)的熟练使用

5、Ajax技术的掌握

二、实现过程:

1、安装Python aiml库

如何安装Python aiml库,需要另写一篇文章,有时间介绍,或者有需要的可以留言。

2、获取alice资源

Python aiml安装完成后在Python安装目录下的 Lib/site-packages/aiml下会有alice子目录,将此目录复制到工作区。 或者在Google code上下载alice brain: aiml-en-us-foundation-alice.v1-9.zip

3、Python下加载alice

取得alice资源之后就可以直接利用Python aiml库加载alice brain了:

注意加载时需要切换工作目录到alice(刚才复制的文件夹)下。

4、 与alice聊天

加载之后就可以与alice聊天了,每次只需要调用respond接口:

5. 用Tornado搭建聊天机器人网站

Tornado可以很方便地搭建一个web网站的服务端,并且接口风格是Rest风格,可以很方便搭建一个通用的服务端接口。

这里写两个方法:

get:渲染界面

post:获取请求参数,并分析,返回聊天结果

Class类的代码如下:

6. 简单搭建一个聊天界面

该界面是基于BootStrap的,我们简单搭建这么一个聊天的界面用于展示我们的接口结果。同时进行简单的聊天。

7、接口调用

我们异步请求服务端接口,并将结果渲染到界面

8、Python服务端代码及Html前端代码有需要的请留言获取。

三、系统测试

1、首先我们将我们的服务运行起来

2、调用测试

然后我们进行前台界面的调用

这里我们可以看到,我们的项目完美运行,并且达到预期效果。

可能遇到问题:中文乱码 经过测试,中文目前不能进行对话,只能使用英文进行对话操作,有待改善

可以说这是一个技术含量很简单的小案例,在AI时代下任何与人工智能相关的东西都有其发展空间,Python亦是如此,任何Python问题欢迎留言讨论。

仅仅两年前的 I/O,Google Assistant 才首次亮相。很难想象一个刚两岁的新产品已经如此强大,影响和改变着用户数字生活的方方面面。Python编程语言的兴起和AI人工智能的快速发展有着密不可分的关系。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180510A0RHND00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券