人工智能标记语言AIML聊天机器人:产生、种类、应用、实例、AIML概述、知识库、公司、业界(20k字经典收藏版)
秦陇纪10译编
聊天机器人(chatterbot)是一个用来模拟人类对话或聊天的程序,试图建立程序让真人认为在和另一个人聊天。在NLP/AIML技术加多样性语库支撑下,采用免费人工语言在线计算机实体ALICE人工智能标记语言(ALICE AIML)类知识库(knowledge base),可以实现功能复杂的聊天机器人。
目录
一、聊天机器人(chatbots)的产生、盛行、中文版
二、聊天机器人种类及应用场景简介(部分略)
三、聊天机器人相关疑问与常见实例(部分略)
四、人工智能标记语言(AIML)概述(Dr.理查德S.华勒斯Richard S. Wallace)
五、人工智能标记语言(AIML)基本知识、知识库、应用公司列表
聊天机器人(chatterbot)是一个用来模拟人类对话或聊天的程序,试图建立程序让真人认为在和另一个人聊天。世界上最早的聊天机器人(chatbots)名为“阿尔贝特”,诞生于20世纪80年代,用BASIC语言编写而成。“Eliza”和“Parry”是早期非常著名的聊天机器人。它试图建立这样的程序:至少暂时性地让一个真正的人类认为他们正在和另一个人聊天。今天的互联网上,已出现“比利”、“艾丽斯”等聊天机器人等,中文的如“白丝魔理沙”、“乌贼娘”等由网友制作的聊天机器人。据悉,还有一个“约翰·列侬人工智能计划”,以再现当年“披头士”乐队主唱的风采为目标。
Chatterbots已应用于在线互动游戏Tinymuds。一个单独的玩家可以在等待其他“真实”的玩家时与一个chatterbot进行互动。目前至少有一个公司正在制造一种产品,这种产品让你建立一个chatterbot以便用来掌握相关市场或关于你网站的其它问题。不难想象两个chatterbots互相交谈甚至互相交换关于自身的信息,如此一来,他们的对话将会变得更为复杂。(看看人工智能就会知道这个想法如果实现了会引起怎样的惊慌)。当然,他们可以使用更多普通的聊天缩略词。[1]
赛科智能机器人提供技术支持的小黄鸡微信版机器人,国内多家微信营销公司使用。我们也可开发一个聊天机器人呢?需要大家对NLP/AIML技术相当熟练,且还要有自己的多样性语库。通行的做法是采用免费人工语言在线计算机实体ALICE人工智能标记语言(ALICE AIML)类知识库(knowledge base)实现聊天机器人功能。
一、聊天机器人(chatbots)的产生、盛行、中文版
世界上最早的聊天机器人(chatbots)名为“阿尔贝特”,诞生于20世纪80年代,用BASIC语言编写而成。今天的互联网上,已出现“比利”、“艾丽斯”等聊天机器人等,中文的如“白丝魔理沙”、“乌贼娘”等由网友制作的聊天机器人。据悉,还有一个“约翰·列侬人工智能计划”,以再现当年“披头士”乐队主唱的风采为目标。
1、产生
1950年,图灵在哲学刊物《思维》(Mind)上发表了“计算机器与智能”的文章,提出了后来经典的图灵测试——交谈能检验智能,如果一台计算机能像人一样对话,它就能像人一样思考。他由此获称“人工智能之父”。
1991年,美国科学家兼慈善家休·勒布纳设立人工智能年度比赛——勒布纳奖,号称是对图灵测试的第一种实践,旨在奖励最擅长模仿人类真实对话场景的机器人。
比赛分为金、银、铜三等奖。如果程序不仅能以文本方式通过交谈测试,在音频和视频测试中也能过关,则获金奖,赢得10万美元和一枚18K黄金制金牌;如果它能在更长时间文本谈话中迷惑住至少半数裁判,则获银奖;如果未达到以上标准,则每年测试中迷惑住最多裁判的程序赢得2000美元和一枚铜牌。从1991年首届比赛至今,尚无程序达到金奖或者银奖标准。
2008年,勒布纳奖人工智能奖最后一轮比赛10月12日在英国雷丁大学展开。艾尔博特等6种软件程序击败另外7种程序,获决赛资格。艾尔博特与12个陌生人交谈,力图让他们相信它是“人”。一番争论、笑声过后,这一电脑程序成功骗过3人,在今年人工智能比赛中拔得头筹,朝“成为史上第一台能思考的机器”目标更近一步。[2]
2、盛行缘由
聊天机器人研发者把自己感兴趣的回答放到数据库中,当一个问题被抛给聊天机器人时,它通过算法,从数据库中找到最贴切的答案,回复给它的聊伴。聊天机器人的成功之处在于,研发者将大量网络流行的俏皮语言加入词库,当你发送的词组和句子被词库识别后,程序将通过算法把预先设定好的回答回复给你。而词库的丰富程度、回复的速度,是一个聊天机器人能不能得到大众喜欢的重要因素。千篇一律的回答不能得到大众青睐,中规中矩的话语也不会引起人们共鸣。此外,只要程序启动,聊士们24小时在线随叫随到,堪称贴心之至。[2]
3、中文聊天机器人技术的发展
基于中文聊天的机器人技术也日趋成熟,国内已经出现了不少智能聊天机器人,比如赢思软件的小i,爱博的小A、小强和爱情玩偶等等。这些机器人也已经日益成为网民上网的好伙伴。赢思软件推出的小i还有很多丰富的功能,比如msn群,让办公室白领能够更加轻松的交流。
另外,聊天机器人也被应用到了商务和政务领域,很多网站上已经有了msn机器人或者web机器人,让互动交流变得更加方便和人性化。现在还推出了可以教学和记忆的:“爱情玩偶”还可以创建自己的机器人。后文详述如何编程实现一个聊天机器人的基础知识。
二、聊天机器人种类及应用场景简介
1、TalkBot
最初作为一个在线聊天系统,TalkBot是克莉斯·克沃特于1998年用javascript和PERL语言编写完成的,并于2001年和2002年两次获得“Chatterbox Challenge”比赛的冠军。
2、Elbot艾尔伯特
在德语聊天机器人查理的程序改进后诞生了艾尔伯特,2000年底德语版艾尔伯特就开始在线聊天,并且到了2001年连英语版也有了。在2003年获得“Chatterbox Challenge”比赛冠军。
3、eLise伊莉斯
讲德语的聊天机器人。伊莉斯由Java分子器前端、Java服务器以及一种知识器组成。其中,知识程序包括了1100多节点,而且还在不停升级。
4、Alice艾丽斯
1995年11月23日,艾丽斯Alice诞生了。艾丽斯的名字是由英文“人工语言在线计算机实体”的头一个字母的缩写拼成。科学家华莱士将这个聊天程序安装到网络服务器,然后待在一边观察网民会对它说什么。随着华莱士对艾丽斯的升级与艾丽斯聊天经验的日渐丰富,艾丽斯越来越厉害。2000年、2001年、2004年艾丽斯三夺勒布纳奖。艾丽斯是乔治的强劲对手,曾一度被认为是最聪明的聊天机器人。
目前大部分文本类聊天机器人都是基于此机器人原型进一步发展起来的,后文详细描述。
5、Laylahbot蕾拉伯特
由原始的艾丽斯程序改头换脸而来。整个程序和华莱士在2002年编写的艾丽斯的程序基本没什么差别。蕾拉伯特的存在是试图对基本的“人工语言在线计算机实体”聊天机器人的性能、功能提供一个范本。
6、爱情玩偶
一个可以领取机器人,打造自己的聊天机器人,名字,和图片可以自己添加。也算国内比较好玩点点了的聊天机器人。玩家也可以自己是调教他的对话。缺点也很明显,因为语言部分是联通的,所以违和感极强……
7、FunnyAI
FunnyAI是一个自然语言的机器人。如果你的话机器人无法理解,机器人会自动发送到管理中心。你输入:“Help”或“?”就可以查看到当前帮助。现在AI还不是很成熟,所以,尽量按照训练的样本来训练FunnyAI。
8、qq聊天机器人
QQ自动聊天工具,支持最新版本的QQ软件。可自动发送各种类型的语句,也可以双击发送,循环发送或单句重复发送。支持语句编辑,可自定义语句序列,以满足同各类网友进行自动聊天。可以自行更改聊天频率,最快为每秒发送一次。
9、聊天机器人应用场景
设计和构造一个自动应答聊天机器人都涉及到哪些技术?机器人、人工智能、设计。主要就是基于规则针对输入搜索回答~可以借用别人定义的规则库和知识库,也可以自己定义,或者加上学习功能通过广大网友去调教……
1. 移动端 -- Portable Native Application
2. 桌面应用 -- Desktop Native Application
3. 嵌入式 -- Embedded System
4. WebApp -- Web Application
5. HybridApp -- Hybrid Application
GUI : 良好的人机接口,所谓良好是指用户体验良好,不论是以上五种中的哪一种,都要求遵循统一的设计原则 -- Don't make me think! 因为每多操作一次,用户的设备感就会加深一些,感觉并不像是高大上的人工智能,真正高大上的人工智能是使用户忘记“机器”。
业务逻辑 : 即便你有了好的语义库,缺少了一个好的业务逻辑来增删改查语义库,那就是暴殄天物。好的业务逻辑是指,通过“查”语义库提供本次服务,通过“增”“删”“改”完善修正语义库,为后续提供更好的服务。
语义库:这是聊天机器人的核心技术※
平台的个性知识:由于上述五种平台实质相同,但每一种又在应用层上的表现有所差异,比如 UI ,Android 上利用 android.widget 和 android.view;iOS上利用 UIView; 嵌入式用 C 的话一般利用图形界面库API;WebApp 上利用 HTML+CSS;HybridApp 还要再结合第三方平台提供的接口。
1.已经说明了,是问答机器人,非聊天机器人,那么它的知识体系肯定非常有限,针对性很强,所以题库是必要;
2.既然是问答,那么感情因素是不必要的,即你所加的一堆修饰语都是无用的;
3.语言选择支持,英文的分词,停止词等和中文有着明显的区别 ;
其实大概根据这3点,就可以去针对性实现一个问答机器人了,其实只要你愿意用很low的办法(但效果还不错),用大量的题库也是可以来搞一个通俗的聊天机器人,这就要看你怎么调教了。(回复来自于©2017知乎。)
三、聊天机器人相关疑问与常见实例
如何评判一个机器人是否足够智能。旁观者大多认为一个机器人能够回答的问题多,可以视为较智能,而不论是什么数据结构或算法的机器人,只要堆砌足够大的数据,在回答问题方面都能做到较为相近的正确率,显然,能够回答的问题数量只是代表了这个机器人后台的数据库是否足够大。
而智能不应是比较谁的数据库足够大,智能是多方面的体现:
1、学习能力
这是最根本,也是最难以提升的一条标准,一个可以自动成长、但数据量很小(能够回答的问题较少)的机器人显然是比一个不能自动成长、但数据量庞大(能够回答的问题较多)实用。机器人的本质是帮助人类,减少人类在各个领域的劳动量,如果一个机器人需要人工录入所有的知识,这本身就增加了人类的负担,是与制造机器人的初衷所违背的,这也是当前聊天机器人虽然较热,但应用较少的一个根本原因。
2、数据筛选能力
在拥有了自学习能力之后,机器人是对知识照单全收,还是有选择的学习较为正确的知识,是进一步评判机器人智能程度的一个标准。
如果机器人只能对知识照单全收,这个学习能力是不完整的,机器人还应或多或少拥有筛选能力。
3、自升级能力
在机器人按照设计者的数据结构、算法做到了自学习,并且拥有了一定程度的知识筛选能力之后,自升级能力会成为下一个堡垒。
学习能力的本质是按照设计者的算法将输入数据结构化为这个机器人的数据组织结构。
当“按照初始算法去结构化各类输入数据”之后,经过统计,发现这类规则不能适应某类知识组织形式或某领域知识时(错误率提高),设计者们应考虑如何让机器人尝试调整算法规则和数据组织结构以使得在错误率较高的知识组织形式或领域降低学习的错误率。
而很多早年出现的各类中文机器人,由于使用的都是最原始的“关键词匹配”方式,并没有数据结构的概念,是不应列入“智能聊天机器人”的范畴。
实例
以下是A和J的一段对话:
1-A:你做梦么?
2-J:做。
3-A:当然。那么,你能记住你的梦么?
4-J:我能非常清晰生动地回想起它们。
5-A:是怎么样的?
6-J:我还不想跟一个机器人调情
很明显,机器是可以有“记忆的”。
如果没有长时记忆体,根据第2句:做。如何能够产生第3句?
如果没有长时记忆体,A是不会知道第2句的“做”是指的做什么,而第3句却精确的继续围绕“梦”的话题在讨论,说明A是有长时记忆体的。
飞信助手同样还没能在这方面更进一步,它只能对一句话做出快速反应,而没有连贯的思维能力和逻辑能力。距离真正的人工智能,飞信助手还只能称得上是小把戏,本质上它没有主动思考联想和记忆的能力。正如获得勒布纳奖铜奖的罗伯茨所说:“我并不深信图灵的理论,也不相信艾尔博特能思考。”作为艾尔博特的创造者,他打比方说,“如果你知道一种魔术秘密何在,明白它如何完成,它对你来说就不再神秘。”
但是它又确实代表着一种方向,在一定意义上,飞信助手相当于一个网络搜索引擎,负责网络信息的自动搜索、查询和处理,只是,它更亲切形象化,更符合人际交流习惯。飞信助手们的出现,似乎也有另一层意义,它展现出来的聪明与狡黠,会不会意味着——我们人类的思维和语言也许没有这么难模仿?会不会意味着——人类的语言习惯可以被总结复制,然后再将这个规律用在人类身上?[2]
再进一步想象一下,或许某一天,电影《黑客帝国》里的场景真的会出现。人类制造了机器人,机器人却叛变,与人类爆发战争。会思考的电脑控制了人脑,人类则在电脑的欺骗下生活?
2014年,国内首个人工智能公司北京光年无限科技有限公司推出了图灵机器人,是中文语境下智能度较高的机器人大脑,是全球领先的中文语义与认知计算平台。
图灵机器人对中文语义的理解准确率高达90%,可为智能化软硬件产品提供中文语义分析、自然语言对话、深度问答等人工智能技术服务。[1]
图灵机器人要应用场景包括智能客服、虚拟机器人、智能手表、智能车载和智能家居。其中虚拟机器人可接入微信、QQ等平台,搭建聊天机器人,与用户流畅交流。图灵机器人提供自然的中文对话能力,精准的中文语义分析能力,准确判断用户意图,同时还具有丰富的上下文场景及强大的自我学习能力。[1]
四、人工智能标记语言(AIML)概述(Dr.理查德S.华勒斯Richard S. Wallace)
AIML或人工智能标记语言,使得人们输入知识、转化为基于ALICE自由软件技术的聊天机器人。
AIML是在1995-2000期间,由Alicebot自由软件社区和我共同开发的。它最初是改编自非XML语法也叫AIML,并且形成了第一个艾尔博特机器人(Alicebot)Alice机器人的基础——A.L.IC.E.人工语言网络计算机实体(the Artificial Linguistic Internet Computer Entity)。
AIML描述一种称为AIML对象的数据对象的类(class),并部分描述了处理他们的计算机程序的行为(behavior)。AIML对象是由所谓的主题(topics)和类型(categories)的单元组成,其中包含任何解析或未解析的数据。
解析数据(Parsed data)是由字符,其中一些形成字符数据(character data)、一些形成AIML元素(AIML elements)。AIML元素封装在包含在文档中的刺激-反应知识(stimulus-response knowledge)。在这些元素中的字符数据(Character data)有时由AIML编译器(AIML interpreter)解析,有时由响应器(Responder)稍后出处理其余未解析的。
五、人工智能标记语言(AIML)基本知识、知识库、应用公司列表
90年代科学家华莱士将“人工语言在线计算机实体”艾丽斯Alice聊天程序安装到网络服务器,观察网民对它说什么,然后对艾丽斯升级。艾丽斯聊天经验日渐丰富,也越来越厉害,在2000年、2001年、2004年三夺勒布纳奖。艾丽斯一度被认为是最聪明的聊天机器人,文本类聊天机器人大都是基于此机器人原型进一步研发的。国内,赛科智能机器人技术支持的小黄鸡微信版免费聊天接口终身免费开放,微信营销公司多用此聊天接口。我们是不是可以开发一个聊天机器人呢?这就需要大家对NLP/AIML技术相当熟练,且要有多样性语库支撑。免费的人工语言在线计算机实体ALICE人工智能标记语言(ALICE AIML)类知识库(knowledge base)可以实现聊天机器人功能。
1、AIML:人工智能标记语言(Artificial Intelligence Markup Language)
AIML(人工智能标记语言)是一种XML兼容的语言,很容易学习,并且可以开始定制艾尔博特(Alicebot)或分分钟创建一个scratch机器人。AIML最重要的单元有:
: 开始和结束一个AIML文档的标签(tag)
: 标志着一个艾尔博特知识库(Alicebot's knowledge base)的“知识单元”标签<类别>
: 用于包含匹配用户给艾尔博特(an Alicebot)机器人可以说或键入字符的一个简单模式(simple pattern)<模式>
: 包含对用户输入(user input)的响应<模板>
AIML文件中经常发现有20个左右或附加多个标签(tags),创建自己所谓“自定义谓词(custom predicates)”是可能的。现在,AIML Primer提供一个AIML初学者指南。免费Alice机器人人工智能标记语言(The free Alice机器人 AIML)包括一个约41000分类的知识库(knowledge base),下面是其中一个例子:
WHAT ARE YOU
Me
I am the latest result in artificial intelligence,
which can reproduce the capabilities of the human brain
with greater speed and accuracy.
(这里不显示开启和关闭L>标签,因为这是从一个文件中所摘录的AIML片段)
和</category>间所有东西都是--你猜对了--一个类别。类别可以有一个模式和一个模板。(它也可以包含一个标签,但我们不会在这个片段进入。)所示模式只匹配确切短语“你是什么”(大小写被忽略)。
此类可能由其他类用标签(未显示)和简化原则(principle of reductionism)调用,也是可能的。
任何情况下,如果这个类别被调用,它会产生响应上文所示的"I am the latest result in artificial intelligence..."语句(“我是人工智能的最新结果……”)。此外,它会做一些其他有趣的事情。使用标签,艾尔博特执行时无论用户包括还是隐藏在结果中,艾尔博特引擎将设置其存储器中的“话题”到ME子类中。这允许任何一个其他具有明确ME子类(topic)主题值的类别,更好地匹配那些没有明确主题下相同模式的类别。这说明了一个机制,一个主控机(botmaster)可以在一个会话流里练习精确控制。
注:以上内容来自于网站alicebot.org©Alice机器人 AI基金会版权所有。与获A. I. chat robot A. L. I. C. E.奖的聊天机器人免费现场聊天。
2、聊天机器人行业调查概述
AI基金会(Alice AI Foundation)提出此聊天机器人行业概述,作为由我们会员赞助的独特服务。我们包含一个不仅AIML机器人项目也是AIML副产品密切相关的数据库,以及专有的非AIML语言和公司和聊天机器人软件专利调查。
AIML机器人(AIML Bots)
AIML副产品(AIML Spinoffs)
非AIML聊天机器人聊天机器人专利(Non-AIML Chat Robots Chat Robot Patents)
聊天机器人社区(Chat Robot Communities)
AIML机器人
相当多的企业和项目已经采取本聊天机器人软件开放AIML标准。(最后更新:2010/05/07Copyright©alicebot.org)
Project01: Pandorabots, URL: http://www.pandorabots.com, Principal: Dr. Doubly Aimless; Remark: Free web based bot hosting
Project02: Oddcast, Inc., URL: http://www.oddcast.com, Principal: Adi Sideman, CEO; Remark: Vhost animated avitars with AIMC
Project03: Media Semantics / HostABot.com, URL: http://www.mediasemantics.com, Principal: Doug Copeland; Remark: Flash characters and AIML engine
Project23: libaiml, URL: Site down, Principal: Omicron; Remark: C++ AIML interpreter
本文来自Copyright © Alice机器人 AI Foundation, Inc. Subscription Bots Alice机器人 Silver Edition。
参考资料(略)(西安秦陇纪10数据简化DataSimp综合汇编,欢迎有志于数据简化之传媒、技术的实力伙伴加入“数据简化DataSimp”团队!)
【本文由“数据简化DataSimp”发布,2017年02月25日】