资讯专栏INFORMATION COLUMN

聊天机器人与Alice的AIML

ningwang / 1136人阅读

摘要:聊天机器人从世纪年代起相继出现爱情玩偶等,其中曾被认为是最聪明的机器人。显然现有的聊天机器人没有一个可以达到这个标准。

聊天机器人从20世纪80年代起相继出现:TalkBot、Elbot、eLise、Alice、Laylahbot、爱情玩偶等,其中Alice曾被认为是最聪明的机器人。

1991年,美国科学家兼慈善家休·勒布纳设立人工智能年度比赛——勒布纳奖:
金奖为在音视频中都要让人无法辨认其是真人或机器人。
银奖则是在文本测试中至少让半数裁判误认其为人类。
显然现有的聊天机器人没有一个可以达到这个标准。

目前的聊天机器人有一种可以理解为一个数据库检索工具,将问答存入数据库,(大家称这种库叫语料库)当人提问时它会拿着问题去搜索答案,使用关键词匹配显得稍有技术一点。甚至有好几个答案对应一个问题,可以随机显示或者在逻辑判断一下,选合适的回答,这样就显得不那么枯燥,这属于问题和答案一对多。

另外一种情况是,比如人类问天气如何,它会反问人类在哪个城市,根据城市回答天气。这种比较困难,因为这就不是单纯的检索,这需要一些逻辑判断和记忆。记忆很难做到,这要求它需要记住上面聊到的人和事,这种情况处于属于问题和答案多对一。

机器人有学习功能,一般是人类触发预先设定的关键字使它来保存对话者的答案到数据库。

我们今天就详细聊一聊最聪明的机器人Alice:
Alice机器人的核心就是aiml,aiml外观上就像一个xml文件,通过特定标签指定问题和答案,包含一些正则和逻辑判断。而且它有点记忆哦。
AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言)
Alice机器人可以不用数据库,因为它的问题和答案都在这个文件里。

一个简单的aiml文档是这样的:




    hi
    

    

代表一次会话,用来匹配对方的问题,如果匹配成功,回答