- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
深度学习与智能问答
展开查看详情
1 .深度学习与智能问答 来也联合创始⼈人&CTO 胡⼀一川 2019.5
2 .01 背景介绍 02 问题定义 03 架构与模型 04 总结
3 .来也:定制你的对话机器器⼈人 来 也 创 办 于 2 0 1 5 年年 , 由 常 春 藤 盟 校 ( I v y 核⼼心技术涵盖⾃自然语⾔言处理理(NLP)、深度学 League)归国博⼠士发起,致⼒力力于做⼈人机共⽣生时 习、强化学习、个性化推荐和多轮多模交互等。 代具备全球影响⼒力力的智能机器器⼈人公司。 公司已获得数⼗十项专利利和国家⾼高新技术企业认证。 2015年年,推出⾯面向C端⽤用户的陪伴式机器器⼈人“⼩小来”,已通过微信服务了了1000万个⼈人⽤用户。 2017年年,推出⾯面向企业客户推出B端产品智能对话机器器⼈人平台 “吾来”。
4 .⼈人机交互的发展趋势 时间 2000年年 2010年年 2020年年及以后 设备 个⼈人计算机 智能⼿手机 IoT设备 输⼊入⽅方式 键盘&⿏鼠标 触摸 ⾃自然语⾔言 产品形态 ⽹网站 APP 对话机器器⼈人 GUI CUI
5 .智能问答的应⽤用场景1:辅助⼈人⼯工 • 客服 • 营销 • 特定领域、重复性的对话
6 .智能问答的应⽤用场景2:作为GUI的有益补充 • 语⾳音助⼿手 • ⾼高效率 • 个性化
7 .智能问答的应⽤用场景3:Voice-only Apps • 智能⾳音箱 • ⻋车载设备 • 可穿戴设备
8 .智能问答 [Duan 2017]
9 . 基于知识图谱的问答 知识图谱(三元组) (姚明,别名,⼤大姚) • ⽤用三元组的⽅方式来进⾏行行知识表示 (姚明,出⽣生⽇日期,1980年年9⽉月12⽇日) (姚明,妻⼦子,叶莉) • 问答模型对问题进⾏行行理理解,从知识图 (姚明,身⾼高,226厘⽶米) 谱中查找或推理理出答案 (叶莉,身⾼高,190厘⽶米) (叶莉,星座,天蝎座) • 特点 • ⾼高度结构化的知识表示 • 优点:⽀支持复杂的查询或推理理 • 缺点:构建成本⾼高 • 常常在搜索引擎中被使⽤用 姚明的⽼老老婆是 姚明的妻⼦子叶莉 问答模型 什什么星座? 是天蝎座。
10 . 基于⽂文档的问答 ⽂文档 1980年年9⽉月12⽇日傍晚,姚明出⽣生于上海海 • ⽤用⽂文档的⽅方式来进⾏行行知识表示 市第六⼈人⺠民医院,出⽣生时体重5公⽄斤, ⽐比普通新⽣生⼉儿重了了⼏几乎⼀一倍。姚明的⽗父 • 问答模型从⽂文档中找到答案或包含答 亲姚志源身⾼高2⽶米08,⺟母亲⽅方凤娣身⾼高 案的短语或句句⼦子 1⽶米88,两⼈人均是打篮球出身。当时姚 家居住在⻄西康路路⼀一⽼老老式⾥里里弄弄住宅。 • ⼜又称为机器器阅读理理解任务(Machine Reading Comprehension) • 特点 • ⾮非结构化的知识表示 • 依赖⼤大量量基于⽂文档的问答对作为训练数据 姚明⽣生下来 问答模型 5公⽄斤 有多重?
11 . 基于常⻅见问题的问答 问答对 Q:没有订单号可以查快递吗? A:您可以使⽤用⼿手机号查询。 • ⽤用问答对的⽅方式来进⾏行行知识表示 Q:快递订单号是什什么格式? A:快递单号由12位数字组成。 • 问答模型找到和⽤用户问题最匹配的问 答对,并给出答案 Q:怎么查快递的重量量? A:请提供快递单号。 • 特点 • 易易于维护 • 符合实际业务场景 我忘记快递单 您可以使⽤用 号了了,还能查 问答模型 ⼿手机号查询。 询快递么?
12 .从问答对到知识库 Q • 知识点:由若⼲干个问题,以及 Q A 能回答这些问题的答案组成 Q Q • 知识库:由若⼲干个知识点组成 A A • 为什什么⽤用这种⽅方式? • 减轻⼈人⼯工维护答案的⼯工作量量 Q • 同⼀一知识点下的问题语义相近, 是很好的训练数据 A Q Q Q A Q A Q A
13 .⼀一些定义 • 知识点: ki • 知识点 ki 包含的问题: pij, j ∈ [1, | ki | ] • 知识点问题 pij 包含的词: wij(t), t ∈ [1, | pij | ] • 知识点 ki 的答案: ai • ⽤用户的问题: q q 问答模型 ai
14 . 架构:检索 + 匹配 + 排序 计算⽤用户问题 返回若⼲干个知 和知识点问题 识点中的问题 的相似度 为每个知识 ⽤用户问题 检索 匹配 排序 点计算⼀一个 排序分数
15 .检索 • 为知识库中所有问题 P 建⽴立索引,可被检索 • 为什什么使⽤用检索? • 输⼊入为⽤用户问题 q • 知识点太多,减少候选集⼤大⼩小 • 知识点变化频繁,索引实时⽣生效 • 输出为命中的问题集合 Pretrieved P = {pij} q 检索 Pretrieved ⊂ P
16 .匹配 • 输⼊入为两个句句⼦子:1)⽤用户问题 q;2)检索召回的知识点问题 p; • 输出为匹配的分数 s,代表 q 和 p 的匹配程度 • 有多个匹配模型,输出多个匹配分数 s1,s2, … ,sk q 匹配模型 k sk ∈ R p ∈ Pretrieved
17 .排序 • 排序模型是有监督的,如逻辑回归(LR) • 输⼊入:每个 (q, p) 对的匹配特征 {sk} • 输出:排序分数 • 根据排序分数可对知识点进⾏行行排序,找到对应的知识点和答案 训练数据 {sk} 排序模型 r ∈ [0,1]
18 . 架构:检索 + 匹配 + 排序 检索返回 n 个 针对每个候选问题 候选问题 计算 k 个特征 s11 p1 匹配 s12 排序 r1 s1k s21 p2 匹配 s22 排序 r2 q 检索 s2k sn1 pn 匹配 sn2 排序 rn snk
19 . 基于词袋的匹配特征(BoW - Bag of Words) • 最⻓长公共⼦子串串:q 和 p 最⻓长公共⼦子串串在 p 中占⽐比 • 编辑距离:q 和 p 的编辑距离除以 p 的⻓长度 {wi ∈ q} | {wi ∈ q} ∩ {wj ∈ p} | 匹配 s∈R • Jaccard: | {w ∈ q} ∪ {w ∈ p} | i j {wj ∈ p} P(wi, wj ) • 互信息: ∑ P(wi, wj )log P(wi)P(wj ) wi∈q,wj ∈p • 缺点:语义表示能⼒力力太弱
20 . 词向量量(WE - Word Embedding) CBoW Skip-gram w(t-2) w(t-2) w(t-1) w(t-1) SUM w(t) w(t) w(t+1) w(t+1) w(t+2) w(t+2) [Mikolov 2013]
21 . 基于句句⼦子表示的匹配特征 句句⼦子表示 vp • ⽤用IDF对词向量量进⾏行行加权平均 (Weighted average of word p 词向量量 embeddings) 匹配分数 ∑ Cosine vq = IDFwivwi q 词向量量 wi∈q 句句⼦子表示 vq q 的句句⼦子表示 wi 的词向量量
22 . 基于句句⼦子交互的匹配特征 • Word Mover’s Distance (WMD) p 词向量量 句句⼦子交互 匹配分数 q 词向量量 [Kusner 2015]
23 .利利⽤用知识库优化词向量量 • 充分利利⽤用知识点中的问题语义相同/相近这个事实,作为监督信号 • fastText:类似word2vec中CBOW的思路路,⽤用⼀一个问题中的词预测问题所属的知识点 平均后的词向量量具有预 测知识点的能⼒力力,因此 w(t-2) wij(1) 可以作为句句⼦子表示 w(t-1) wij(2) SUM w(t) SUM ki w(t+1) wij(N-1) w(t+2) wij(N) [Mikolov 2016]
24 . 深度匹配(DM - Deep Match) • 利利⽤用知识库中的句句对作为监督信号,训练匹配模型 • 利利⽤用深度神经⽹网络,让句句对产⽣生交互 • ESIM:Enhanced Sequence Inference Model 输⼊入编码 句句对交互 预测编码 池化 (Bi-LSTM) (Attention) (Bi-LSTM) Average 句句对 & 分数 Max [Chen 2016]
25 . 将匹配和排序融合 p1 排序 r1 p2 排序 r2 q 检索 pn 排序 rn
26 .BERT • BERT: Bidirectional Encoder Representations from Transformers Masked Language Model Next Sentence Prediction [Alammar 2018]
27 .基于 BERT 的排序 句句对 Classification 分类 BERT Layer [Devlin 2018]
28 . 多任务学习(MTL - Multi-Task Learning) 单任务学习 多任务学习 Classification 分类 Layer Classification 分类 Layer 句句对 Classification 分类 句句对 Classification BERT BERT 分类 Layer Layer Classification 分类 Layer
29 .总结 • 基于不不同的知识表示⽅方式,智能问答可分为不不同类型:基于知识图谱、 基于表格、基于⽂文档、基于常⻅见问题等 • 基于常⻅见问题的问答是智能问答中最基础和最通⽤用的任务,通常采⽤用 检索 + 匹配 + 排序 的架构 • 深度学习在该任务中的应⽤用 • 基于浅层⽹网络的词向量量或句句⼦子表示(如 word2vec、fastText) • 基于深度神经⽹网络⽣生成匹配特征(如ESIM) • 基于⼤大规模预训练⽹网络的深度排序模型(如 BERT) • 多任务学习