推广 热搜: page  数据  小红  红书  考试  论文  数据分析  关键词  哪些  搜索 

Google科学家Danny Lan-chatbot_02 基于模板匹配的聊天机器人

   日期:2024-12-27     移动:https://sicmodule.kub2b.com/mobile/quote/13977.html

Eliza

Eliza诞生于1966年,发明者是MIT一名叫Joseph的教授。Eliza一开始的角色是一名心理学家,它所践行的疗法叫人本主义疗法,人本主义疗法特别有意思,他希望对求助者创造无条件的支持和鼓励,使的求助者能够发现自己的问题,所以他特别关注求助者的本身,机器人只是做一个陪伴,只要帮他理清思路而已。这样,Eliza可以避免被问到关于自己的问题,它只是做一个基本的陪伴而已,任务比较简单。


有趣的是Joseph发明Eliza之后发觉它特别powerful,很多人包括他的助手都愿意跟Eliza聊天,并且聊自己很私密的事情,最后还要求Joseph不能够看他们的聊天记录。Joseph就觉得未来机器人的发展会很可怕,会涉及到拥有私人的秘密,可以做很多坏事,他花了很多时间来反对研究Chatbot,反对自己的研究的成果。


我们来感受一下Eliza有多powerful。

Google科学家Danny Lan-chatbot_02 基于模板匹配的聊天机器人

这里有两段对话,左边的是Joseph发表的一段对话,这里我们可以看到,H表示的是human,就是来访者,B代表的就是Eliza。


我们可以看到,来访者开始先抱怨说男人都是一样的。Eliza就说,怎么会一样呢?来访者说,他们都喜欢烦我。Eliza说,能给个具体的例子吗?来访者说,我男朋友就逼我来这里。然后Eliza说,你男朋友逼你来这里吗?对话就这样继续下去。


到最后来访者说,你在某些方面挺像我父亲的,从这句话中可以看出,来访者已经把Eliza看成是一个真正的心理医生,这让Joseph觉得特别可怕。


右面是我实现的一个Eliza的一个中文版,如果你认真跟它对话,不调戏它,你才是可以看到,它有帮来访者理清思路的效果的。这里我先开始说,你好。然后它问我心情怎么样。我说心情不是很好啊。它就说,那是什么事情让你不开心?我说跟我妈吵架了。它说你跟你妈的关系如何?这句已经不是特别顺畅了。顺畅的话它应该是问一些吵架的事情。但是我们可以看到,就基本上语言的还是顺畅的,跟我们正常的人聊天还是有些相似之处的,我右边有放了一个二维码,如果大家感兴趣,可以去扫这个二维码,聊聊看。


Eliza的工作原理很简单,通过简单的模式匹配,甚至没有任何的语义理解,它也只能够处理文本。


图中是Eliza的一段伪代码,我们可以看到它是做一个简单的关键字匹配,这里它有大概两百多个模板,如果匹配到一个或者多个关键字,它就用关键字对应的模板去回复,如果匹配不到的话,它只是简单的把“我”改成“你”,然后返回原话,比如说我们前面看到的:来访者说“我父亲”,然后Eliza说“你父亲”;来访者说“我男朋友逼我来这里”,Eliza说“你男朋友逼你来这里”。只是简单的重复他的对话。


但是就是这些很简单的规则,基本是现在很多很有名的聊天机器人的基石,比如说ALICE、Mitsuku、机器人小冰等等,ALICE和Mitsuku都是Eliza的一个直接的延伸,只不过在此基础上极大的扩展了模板,并且加了一些跳转,但仅仅是扩大了模板使Chatbot就变得特别强大。

Mitsuku


ALICE和Mitsuku都是三届Loebner铜奖的获得者。Loebner奖是聊天机器人非常重要的奖项,它用来奖励每年最像人类的聊天机器人,2017年的获奖者是Mitsuku。和ALICE同时诞生的还有一个叫AIML的语言,通过这种AIML的语言,我们可以做到很快速的匹配。Mitsuku就是建立在这种语言的基础上的。


下面我们看一下Mitsuku的一些实例,这里有两个对话,左边是Mitsuku和Alexa的对比,这个视频发表于2016年10月底。


我们可以看到在2016年10月底,这个视频发表的时候,Alexa仍无法做多个回合的对话,这里当作者说到“it”的时候, Alexa的回答是去定义那个“it”。而Mitsuku是知道这个“it”代表的是印度,所以我们可以看到在多个回合的对话和对话的流利有趣程度来讲Mitsuku是要优于Alexa。这是因为Mitsuku的模板来源于网络,它跟微软小冰一样,通过收集网上大量的人的对话,只是返回一些人的言语而已,所以它的回答特别像人。但是Mitsuku除了聊天之外没有其他功能,而Alexa可以控制家电,可以帮你买东西,可以记录信息等等,就有用程度来讲,Alexa要远超于Mitsuk。


右边是我跟机器僧贤二的一段对话,大家可以看到这类Chatbot一个特点是它们的对话没有一个Topic的概念,就只能够“尬聊”,并不能维持一个Topic进行深入探讨,因为它并不知道你前面讲的是什么。


前例中,Mitsuku虽然能够知道前文聊天的内容是什么,但是如果我们更做比较复杂的指代,它就很难做到。工作原理上来说跟Eliza差不多,只做简单的模式查找替换,并不能针对语境做理解,而且它也不能够做一些语音的理解。


这里的展示的是,下面展示的是AMIL语言的一个简单的例子,我们可以看到它有一个叫Pattern的标注,这个Pattern就是我们人类说的话,它是用来匹配用户的话语的;下面有一个Template标注,是用来放置回复的模板的;最下面还有一个SRAI的一个标注,这是用来做跳转的,比如这里当用户说到:“What  are  you  called”的时候,它可以跳转到“What  is  your  name”这样一个模板。


Mitsuku这种模式之所以能够成功,一个原因是我们现在可以得到大量的用户的聊天数据。另一个原因是我们的语言会follow一个叫Zipf`s Law的分布。简单来说,我们如果把词语按词频来排序,那么这个词频大致会是1/X的一个分布,X表示的是词的排序,也就说人类语言并没有我们想象的那么复杂。


有人对英语做过统计,每个句子的第一个词大概有两千种可能,但是如果我们把第一个词放好之后,第二个词就只有两种可能了。所以总的句子的数量并不是特别多,当然如果我们每个人说话都像莎士比亚一样,非常具有创造性的话,那么Mitsuku这种方式可能就不太成功了。


本文地址:https://sicmodule.kub2b.com/quote/13977.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


0相关评论
相关最新动态
推荐最新动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号