聊天机器人的近期发展
讲完了一些著名的聊天机器人,下面我们来讲一些近期的发展。
总的来说,现在聊天机器人的研究方向是以端对端学习为主导的,什么是端对端呢?不同的系统有不同的解释,在这张图中,“端对端”表示的是我们用一个神经网络把自然语言理解、对话管理、自然语言生成一起学,这里有点像Eliza的模块,它是通过把文字放到一个神经网络中去学一些规则,而不是我们人为去定义一些规则。
下面一个是跟前面比较像,只是他把各个模块用不同的神经网络来学。
比如说它把自然语言生成当作一个模块,把自然语言理解当作一个模块,把对话系统当作一个模块,但这些模块都是一个神经网络系统。每个模块都是一个神经系统有一个好处:比如训练完了某个系统,我们可以把它连起来,然后再进行一个端对端的训练。
总结
总结一下,我们主要根据聊天机器人的功能和架构两条主线来讲一些历史和现代比较著名的一些机器人的功能和工作原理;了解了如何做一个非常简单的聊天机器人,比如说Eliza;另外了解了比如说小冰和Eliza是在不同的体系下的聊天机器人。
如果大家想亲自尝试一下,为大家提供一些非常有用的资源:比如说NTLK,NTLK里面有大量的自然语言处理工具,比如之前提到的Eliza的代码;
第二个是Stanford Parser,对自然语言处理非常有帮助,比如说它能帮助你理解哪些是城市、哪些是地名、哪些是人名,而且它还有中文版的,大家可以去尝试一下;
下面是一本叫《Speech and language Processing》的书,在这个Talk里面有很多内容都是引用这本书的,我感觉非常有用。
最后是一个Github code,是基于AIML语言的聊天机器人的版本,基于这个Code大家应该可以做出一个类似小冰或者贤二机器僧的一个Chatterbot。