基于实现方式的聊天机器人分类

从实现的角度看,聊天机器人可以分为检索式和生成式。

检索式

检索式聊天机器人的回答是提前定义的,在聊天时机器人使用规则引擎、模式匹配或者机器学习训练好的分类器从知识库中挑选一个最佳的回复展示给用户。也就是说,需要事先准备一个知识库,聊天机器人系统接收到用户输入的句子后,在知识库中以检索的方式进行应答内容提取。这种实现方式对知识库的要求相对较高,需要预定义的知识库足够大,尽量多地匹配用户问句,否则检索式聊天机器人系统会经常出现找不到合适回复的情况。这种实现方式的优点是回答的质量高,表达比较自然。

生成式聊天机器人则采取不同的技术思路,不依赖于提前定义的回答,但是在训练机器人的过程中,需要大量的语料,语料包含上下文聊天信息和回复。使用这种模型的机器人在接收到用户输入的自然语言后,将采用一定技术手段自动生成一句话作为对用户输入的应答,生成式聊天机器人的优点是可能覆盖任意话题、任意句式的用户输入,缺点是生成的应答句子的质量很可能存在问题,比如出现语句不通顺、句法错误等比较低级的错误。

生成式

尽管目前在具体的生产环境中,提供聊天服务的一般都是基于检索的聊天机器人系统,但是基于深度学习的 seq2seq(sequence to sequence)模型的出现可能使基于生成的聊天机器人系统成为主流。

一些介绍seq2seq的网站 github 与 博文:

https://google.github.io/seq2seq/
https://github.com/google/seq2seq
https://blog.csdn.net/Jerr__y/article/details/53749693
https://caicai.science/2018/10/06/attention%E6%80%BB%E8%A7%88/
https://www.jianshu.com/p/d0f4a751012b

按照功能分类

v2-cb769f43232e4b033ab6d845c9c931c1_r.jpg