用机器学习打造聊天机器人(二) 概念篇

本文是用机器学习打造聊天机器人系列的第二篇,有助我们先了解下聊天机器人的相关概念。

什么是聊天机器人?

聊天机器人是一个程序,该程序会回应人类的话,其载体可以是一个网页、一个桌面应用、一个app。
人类使用文字或者语音的方式和其交流,其同样以文字或者语音的方式反馈给人类。
如果为这样的程序套上一个音箱外表,就是智能音箱;套上一个动物外表,就是机器宠物;套上一个高仿真妹子外表,就是机器人伴侣~,它可以全天24小时和你不间断的聊天,心甘情愿听你想说的话,心甘情愿说你想听的话。

聊天机器人有哪些常见的套路?

基于硬编码:

预设定一套规则逻辑,遇到某关键字就从一组回复中随机挑选一个出来进行回复。比如网上有这样一个思路:

其优点是实现简单,颇有些四两拨千斤的意思,缺点是容易翻车,比如遇到下面的情况:

基于模板:

预设定一系列问题模板,比如xxx怎么样?xxx什么时候上映?等,匹配到模板后,将xxx提取出来到知识图谱中查询出答案。该方法的优点是对于同样的问式只需要准备一类模板,比如“xxx怎么样?“,”xxx什么时候上映?”中的xxx可以匹配任何电影的名字,缺点是要为每个问式实现一个对应的查询逻辑。

一问一答:

预设定一系列问答对,直接根据用户的提问找到对应的意图分类,比如问的是电影领域还是电脑领域等,然后根据问题,通过语义理解算法匹配到当前领域下的一系列问题,返回得分最高的问题的答案。该方法的优点是回复可控,精准,缺点是需要大量的问答对。

基于生成:

不预设任何问题模板或者问答对,根据预训练好的序列模型,自动从问题生成对应的答案。该方法无需提前准备语料,但是生成的句子的语法往往会有错误且不可控(有时候会说出一些意想不到的话,比如不文明,反人类或者政治敏感的话) 。

本系列中,我们将基于第三种方法,也就是"一问一答"的方式打造一款聊天机器人。

下一篇《用机器学习打造聊天机器人(三) 设计篇》将介绍我们打造聊天机器人的思路。

ok,本篇就这么多内容啦~,感谢阅读O(∩_∩)O。

本博客内容来自公众号“程序员一一涤生”,欢迎扫码关注 o(∩_∩)o

posted @ 2019-12-09 16:43  程序员一一涤生  阅读(1153)  评论(0编辑  收藏  举报