智能客服方案及技术架构

  • 格式:pptx
  • 大小:1.48 MB
  • 文档页数:26

下载文档原格式

  / 26
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Case2’:00183号商品快递到伊犁邮费多少?—— 意图:商品查询;实体:目的地-伊犁,商品Id-00183,商品属性-邮费 。 Case3’:02465号商品有保修吗?——意图:商品查询;实体:商品Id-02465,商品属性-保修。 table_name: column: product_query 商品Id->product_id 邮费->postage 保修->guarantee
解决方案三
聊天机器人实现技术
语义理解NLU
用来识别用户所提问题 用于提取用户对话中所
的意图,也就是用户希
望做一件什么事
提供的和意图相关的参
数(实体),例如时间、 地点等
意图识别
实体抽取
举个例子,小明是一家小淘宝店主,他要为自己的淘宝店开发一款客服机器人,主要回答和商品属性(品牌、价格、邮费、 售后等)相关的问题。
本体查询
谓语消歧陈述
查询陈述
构造查询语句
执行查询语句
本体库
语义理解(意图识别、实体抽取):Python+TensorFlow+RNN等 知识图谱:Java+NLP 知识库存储:数据库+文本文件( json/xml等) API接口调用:Java+HttpRequest(RESTful) 前端:知识库的整理(以什么格式)、意图创建、实体创建、常见问题、模板配置、人工标记
完毕,谢谢大家!
源自文库
问题理解
构建知识库查询
查询知识库
多轮对话的上下文管理 结合上下文
提问:今天北京多少度啊?
回答:35度
提问:有雾霾吗? (北京有雾霾吗?) 回答:空气质量优。
提问:那上海呢?(上海有雾霾吗?)
回答:空气质量也是优。
聊天机器人解决方案
自然语言处理、文本挖掘、知识图谱
用户问题->标准问题->答案
知识库中存储的是一对对的“问题-答案”对(QA Pair)。这些Pair可以是 人工构建的,源于客户系统或者旧有知识库的,也可以是从互联网上爬取下 来的。当用户输入问题后,将其和知识库现有的标准问题进行一一比对,寻 找与用户问题最相近的标准问题,然后将该问题组对的答案返回给用户。
实体值,作为本次语言理解的补充。
机器人反问
例如:在商品查询的目标属性为邮费时,目的地缺失,这时候就需要主动要求用户输入对应的值。 思路: 1.在配置意图和实体模板时,需设置[邮费]相依赖的实体(商品ID、目的地) 2.创建意图表,实体表,建立意图表与实体表间的关系,实体与实体间的关系 3.识别出意图后,提取实体,如果发现缺失,则一个接一个提示用户输入对应的指(配置回答模板)
Case1:有粉色的手机壳吗?—— 意图:商品推荐;实体:商品类型-手机,商品颜色-粉色 。 Case2:00183号商品快递到伊犁邮费多少?—— 意图:查询邮费;实体:目的地-伊犁,商品Id-00183。 Case3:02465号商品有保修吗?——意图:保修查询;实体:商品Id-02465。
Case2’:00183号商品快递到伊犁邮费多少?—— 意图:商品查询;实体:目的地-伊犁,商品Id-00183,商品属性-邮费 。 Case3’:02465号商品有保修吗?——意图:商品查询;实体:商品Id-02465,商品属性-保修。
用户问题->答案
知识库中存储的不是问题-答案对,而仅存储答案(文档)。
当接收到用户问题后,直接拿问题去和知识库中的一篇篇文档比对,找到在 内容上关联最紧密的那篇,作为答案返回给用户。
解决方案二
用户问题->语义理解->知识库查询->查询结果生成答案
从用户的问题当中识别出用户的意图,并抽取这个意图针对的实体。 相应的,知识库内存储的知识,除了包含知识内容本身之外,还应该在结构 上能够表示知识之间的关联关系。 在提取了意图和实体后,构造出对知识库的查询(Query),实施查询,得 出结果后生成回答,回复给用户。
突增问题
用户画像
FAQ管理
KG构建管理
流程设计
满意度
模板匹配
语义理解
意图识别 构建知识图谱 实体抽取
文档查询
用 户 问 题
AIML 格式
构建查询 关键词提取 自然语言处理
常见问题
查询知识库 构造Jena查询
填注模板
ES
答案处理
语料获取
人工编写 网络爬取 开源语料库 用户日志语料
语料预处理
人工标记 模板配置 业务咨询 阅读用户日志
意图(Intent) 商品查询 商品查询 订机票
知识库、知识查询和结果返回
知识库用于存储知识,本身可以是各种形式:数据库,API ,或者文本文件等。用户的问题 经过语义理解,被提取成了意图和若干实体。
知识库类型
关系型数据库
构造查询
根据意图和实体,确定tabmeName,where 条件,和目标column等要素,构建SQL Query 根据意图和实体,确定要调用的API类型和参 数,构造Http Request 根据意图和实体,确定对应的文件路径和对 其中存储数据结构的查询
目的地->destination
Case2’:SELECT postage FROM product_query WHERE product_id = '00183' AND destination= '伊犁' Case3’:SELECT guarantee FROM product_query WHERE product_id = '02465'
Query 在 MySQL 中运行的结果(比如是26元),被放到一个预置的针对商品查询的答案模板里,生成答案。 预置模板 : ${商品Id}号商品的${商品属性}是${Query_Result}。 生成答案 : 00183号商品的邮费是26元。
上下文管理
每次用户新输入的信息都要先进行语言理解,再结合目前已经存储的上下文信息,或更新 Context,或读取之 前的 Context 作为补充信息。 可以将意图,和几种实体类型对应的实体值存储在 Context 中。 当新的用户语句输入后,若能从中提取出新的意图或实体值,则用新值更新 Context,否则,读入现有的对应
具体怎么定义,要与知识库的结构及中间控件(语义理解+对话管理)结合起来决定, 怎么简单怎么来
意图识别-分类模型
分类模型和 seq2seq 判别模型的训练都属于有监督学习,
因此,所有的训练数据都是标注数据。 因此,在进入训练阶段前必须要经过一个步骤:人工标注。 如果大家真的在工作中应用机器学习,标注就是无法逾越的 脏活累活。
实体抽取-Seq2Seq判别模型
人工标记
语料(Utterance) [00183]{商品Id}号商品快递到[伊犁]{目的地}[邮费]{商品属性}多少? [02465]{商品Id}号商品有[保修]{商品属性}吗? 订[一张]{数量}[2018.12.1]号{时间}[北京]{出发地}到[南京]{目的地}的机票
解决方案一
“关键词”
用户问题->标准问题的匹配方法可以是关键词匹配(包括正则表达式匹配);也可以是先将 用户问题和标准问题都转化为向量,再计算两者之间的距离(余弦距离、欧氏距离、交叉熵、 Jaccard距离等),找到距离最近且距离值低于预设阈值的那个标准问题,作为查找结果。 但关键字匹配覆盖面太小。距离计算的话,在实践中比对出来的最近距离的两句话,可能在 语义上毫无关联,甚至满拧(比如一个比另一个多了一个否定词)
架构及开发流程
产品架构
应用场景
问答咨询 业务办理 销售引导 知识主力 ......
接入渠道
Web
微信
APP
聊天工具
......
调度策略 NLP 中控
第三方系统
知识包
行业知识
智能知识库
搜索引擎(语义检索/文档检索...)
会话管理
意图训练
数据监控
高频问题
客服大脑
互联网数据
静态知识FAQ
动态知识KG
实体抽取
问题解决型
解决方案
小Y(智能机器人) 实现技术 架构及开发流程
问题解决型机器人
问题解决型机器人,存在的目的是为了帮用户解决具体问题, 例如:售前咨询、售后报修、订机票、酒店、餐厅座位等等
需要提供给用户自己都不知道的信息--知识库 1.理解用户问题,知道用户在问什么 2.将用户的问题转化为对知识库的查询
语义理解 NLU
分词 词性标注
模型训练
命名实体识别 文本分类
Word2Vec
卷积神经网络
Keras
TensorFlow
保存模型
本体构建
网络爬取 本体库
客户文档
实体词典
语义解析
命名实体识别 依存句法分析 歧义陈述构建 实体消歧陈述 语义图构建 谓语消歧陈述
知识图谱
Knowledge Graph
语义图陈述构建
回答生成
将SQL Query的结果填注到答案模 板中,生成回答问题的自然语言 将API返回的结果填注到答案模板 中,生成回答问题的自然语言 将获取的内容填注到模板中,生成 回答问题的自然语言
API 文本文件( json/xml等)
例如,我们选择 MySQL 作为小明的淘宝店小助手的知识库。则商品相关数据都存储在 table 中。知识库里 有一个 Table,名字叫product_query,其中每一个 row 对应一种产品,每个 column 对应一个属性。

相关主题