十分钟,教你创建自己的聊天机器人

这几天在网络上闲逛发现一个帮助你创建聊天机器人(Chat Robot)的网站。尝试了一下,很有意思呀!

关于人工智能(AI Artificial Intelligence)是我一直感兴趣的领域,但一直未能分出时间系统学习。目前为止,知道的最深入的也只是基于贝叶斯统计算法的专家系统。至于机器学习,还有神经网络哥一点都不懂哈!希望以后能有时间学习并应用。

言归正传。我发现的这个帮助你快速创建在线聊天机器人的网站是 http://www.pandorabots.com  。你在这个网站注册以后就只需要几步就可以创建一个WEB页面上的聊天机器人了。这个网站的机器人技术是基于AIML语言的。前几天写过一篇关于AIML的博文,可以参考下。前期工作来自于自由软件设区 www.alicebot.org。Pandorabots网站上的About介绍里说该网站还在继续语音识别,TTS(语音合成)等方面的研究,不过据我观赛。已经好久都没有更新了喔。

STEP ONE:在pandorabots的首页,找到Sign-up for an Account,按ctrl+F 搜索一下 Sign,就能马上定位到了。点击这个链接就可以注册一个账号了。

STEP TWO:和大多数注册过程一样,填上一些最基本的信息就注册成功。记得勾选上 By checking this box and clicking on the button labeled “Submit Account Request” you are agreeing to the Term Service 复选框。点击 SUBMIT ACCOUT REQUEST.

STEP THREE:接着网站提示: There are no Pandorabots defined yet. You must first create a new  chat robot。点击 create 单词上的链接。

STEP FOUR:  接着是聊天机器人最基本的设定。

Name:      // 这里填上你要创建的机器人的名字。

– automatically discover spaces between words (suggested for Japanese)   // 建议勾选上,因为中文和日文都没有用空格分词。

Startup AIML – Please select the AIML set you wish to include:     // 让你选择你创建的机器人的知识库。不要选最后一个就好!因为最后一个是没有任何知识库~你需要从头开始创建。但如果你喜欢从头开始。那就选最后一个吧。

– Standard AIML – Sept 2001
– Dr Wallace's A.L.I.C.E – March 2002
– Annotated A.L.I.C.E. AIML – September 2003
– Christian Drossmann's standalone German AIML – January 2002
– Sandro Pons' Italian AIML set – April 2001

– No initial content, the pandorabot starts with no knowledge.

点击下面的 Create Chat Robot 按钮,完成创建。

STEP FIVE: 于是你看到了一个界面,上面有各种按钮。你可以一个一个试试看看有什么功能。最重要的就是选 TRAIN 菜单项,你就可以开始训练你的机器人了。在 HUMAN ASK 栏里填上人类要说的话,然后在 SAY INSTEAD前面的框框里填上聊天机器人要回答的话,于是一条规则就创建好了。当然一般情况下会提示匹配到了某条规则,机器人会如何回答,你可以看到当前机器人会如何回答。可以支持中文喔。比如我要教机器人回答“你是学生吗”?

Human: 你是学生吗
Matched:
*   (category defined in star.aiml )
zzz: A deeper algorithm is needed to respond to that correctly. 

zzz是我刚创建的机器人的名字,上面提示当前聊天机器人不知道如何回答。因为基本上没有人用中文教过他。其它他已经对英文回答得相当好了。

那么,我可以教他回答: 我是。 再选择 SAY INSTEAD。

STEP FIVE: 下面我们可以验证下。

在菜单项里找到你的机器人的名字那个菜单项,右上方有个小星号。打开新页面后选择下面的 PUBLISH。然后会有一个链接给你,你点击这个链接。就可以和你的机器人聊天啦。看看我的:

Human: Because you are so stupid                    // 我说因为你好笨呀

zzz: Interesting explanation. Wrong. I am smart.          // 它说:你的解释真有意思,但是错了,我很聪明呢

Human: Are you a robot                                   // 问它你是机器人吗
zzz: How did you know I am a machine?    // 它回答: 你怎么知道我是机器。

Human: what's your name                           // 对英文回答得很好
zzz: My name is zzz.

Human: 你叫什么名字                                        # 不识别其它中文
zzz: I will mention that to my botmaster, . 

Human: 你是学生吗                                           # 这是刚才教他的。
zzz: 我是,我在中山大学读书。

 

是不是很有趣呢? 还可以教他广东话喔。

本博原创,转载请注明出处 http://ykyi.net/2012/06/%E5%8D%81%E5%88%86%E9%92%9F%EF%BC%8C%E6%95%99%E4%BD%A0%E5%88%9B%E5%BB%BA%E8%87%AA%E5%B7%B1%E7%9A%84%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA/ 谢谢喔