Chatbot 分类

苏骏
2023-12-01

一.分类

        1. 依照应用场景的不同,Chatbot可以分为开放域chatbot和封闭域chatbot,也可以说是开放领域和垂直领域;

        2. 按照问答轮次的不同,Chatbot能够分为单轮bot和多轮bot,当然单轮bot更像是检索了;

        2. 根据技术方案的不同,Chatbot也可以分为检索式Chatbot和生成式Chatbot.

二.中文语料   

        中文公开聊天语料库: https://github.com/codemayq/chinese_chatbot_corpus

        baidu_qa数据集:  http://research.baidu.com/Downloads

        或者是根据一些英文语料,翻译过来。

三.项目

        首先当然是自己的项目啦(一些简单的demo):https://github.com/yongzhuo/nlp_xiaojiang/tree/master/ChatBot

        自己动手做聊天机器人(第一次用的): https://github.com/warmheartli/ChatBotCourse

         基于向量匹配的情景式聊天机器人(台湾佬的感觉还不错): https://github.com/zake7749/Chatbot

         seq2seq(用起来很舒服,尤其是tricks):https://github.com/qhduan/just_another_seq2seq

         seqGan(起码能跑起来不是): https://github.com/zhaoyingjun/chatbot

四.技术       

      1.模板匹配,

                你还别嫌弃,在与规则匹配工业界,匹配的方式还是应用最广的,什么seq2seq、GAN还是太遥远了一些。   

                1. AIML便很出名啦,基于xml直接匹配的,可以看看这里,github地址:  https://github.com/andelf/PyAIML;

                2. java的话,我推荐一个项目,anbf文法,当初用起来还不错,github地址: https://github.com/nradov/abnffuzzer;

                3. 当然,用的多的,似乎还是根据正则re定义的一些规则,像那些天气、音乐、笑话这样的技能领域,业界用的多是规

                 则匹配,像构建[北京][天气][怎么样]这样的模板来维护,也没你想象的那么困难。

       2. 检索式chatbot

               检索式chatbot有很多实现方式方法。

                       1. 关键词、同义词、主题

                       2. 搜索引擎技术

                       3. 构建句向量匹配等(词向量word2vec、glove,句向量bert)

                       .........

               这种方式,主要是先维护一个预先构建好的问答库,

               好处是专业领域问答比较精准,域值比较好控制;

               我觉得近来比较火的知识图谱聊天机器人,别看它自动推理看起来很牛气,

               我觉得他的本质还是个数据库,脱不了检索式chatbot的范畴。

        3. 生成式chatbot

                生成式chatbot也有很多技术实现哇,

                各种encode-decode模型(cnn、rnn、bilstm、transformer)

                seqGan

原文链接:https://blog.csdn.net/rensihui/article/details/89418850

 类似资料: