聊天机器人

  1. 目前企业中常见的聊天机器人
    (1)QA BOT(问答机器人):回答问题
a.代表:智能客服
b.比如:提问和回答

(2)TASK BOT(任务机器人):帮助人们做事情

a.代表:siri
b.比如:设置明天早上9点的闹钟

(3)CHAT BOT(闲聊机器人):通用、开放聊天

a.代表:微软小冰
  1. 常见的聊天机器人是怎么实现的
    (1)问答机器人的常见实现手段
a.信息检索、搜索(简单,效果一般,对数据问答对的要求高)
	关键词:tfidf、SVM、朴素贝叶斯、RNN、CNN

b.知识图谱(相对复杂、效果好、很多论文)
	在图形数据库中存储知识和知识间的关系,把问答转化为查询语句,能够实现推理

(2)任务机器人的常见实现思路

a.语音转文字
b.意图识别、领域识别、文本分类
c.槽位填充:比如买机票的机器人 使用命令体识别填充 从{位置}到{位置}的票,2个位置
d.回话管理、回话策略
e.自然语言生成
f.文本转语音

(3)闲聊机器人的常见实现思路

a.信息检索(简单、能够回答的话术有限)
b.seq2seq 和其变种(答案覆盖率高,但是不能保证答案的通顺等)
  1. 企业中的聊天机器人是如何实现的
    (1)阿里小蜜-电商智能助力是如何实现的
参考地址:

a.主要交互过程

python智能问答机器人_知识图谱


从图中可以看出:

a.输入:语音转化为文本,进行理解之后根据上下文得到语义的表示
b.输出:根据语义的表示和生成方法得到文本,再把文本转化为语音输出

b.技术构架

python智能问答机器人_人工智能_02


可以看出其流程为:

a.判断用户意图
b.如果面向目标:可能是问答型或者是任务型
c.如果非面向目标:可能是语聊型

c.检索模型流程(小蜜还用了其他的模型,这里以此为例)

python智能问答机器人_自然语言处理_03


通过上图可知,小蜜的检索式回答的流程大致为:

a.对问题进行处理
b.根据问题进行召回,使用了提前准备的结构化的语料和训练的模型
c.对召回结果进行组成和日志记录
d.对召回的结果进行相似度计算,情感分析和属性识别
e.返回组装的结果

(2)58同城智能客服帮帮如何实现的

参考地址:http://www.6aiq.com/article/1536149308075?p=1&m=0

a.客服体系

python智能问答机器人_聊天机器人_04


58的客服主要用户为公司端和个人端,智能客服主要实现自动回答,如果回答不好会转到人工客服,其中自动回答需要覆盖的问题包括:业务咨询、投诉建议等b.智能客服整体架构

python智能问答机器人_自然语言处理_05


整体来看,58的客服架构分为三个部分

a.基础服务,实现基础的NLP的功能和意图识别
b.应用对话部分实现不同意图的模型,同时包括编辑运营等内容
c.提供对外的接口

c.业务咨询服务流程

大致流程

python智能问答机器人_python智能问答机器人_06


KB-Bot的流程大致为:

a.对问题进行基础处理
b.对答案通过tfidf等方法进行召回
c.对答案通过规则、深度神经网络等方法进行重排序
d.返回答案排序列表

使用融合的模型

python智能问答机器人_自然语言处理_07


在问答模型的深度网络模型中使用了多套模型进行融合来获取结果

a.在模型层应用了FastText,TextCNN和Bi-LSTM等模型
b.在特征层尝试使用了单字、词、词性、词语属性等多种特征

通过以上两个模型来组合获取相似的问题,返回相似问题ID对应的答案

d.58的闲聊机器人

python智能问答机器人_python智能问答机器人_08


58同城的闲聊机器人使用三种方法包括:

a.基于模板匹配的方法
b.基于搜索的方式获取(上上图)
c.使用seq2seq的神经网络来实现

e.解决不了转人工服务

智能客服解决不了的可以使用人工客服来实现

python智能问答机器人_python智能问答机器人_09