复旦大学 邱锡鹏 - 深度学习在自然语言处理中的应用

易曼蔓

2017/12/18 发布于 技术 分类

ArchSummit全球架构师峰会是InfoQ中国团队推出的面向高端技术管理者、架构师的技术大会,参会者中超过50%拥有8年以上的工作经验。 ArchSummit秉承“实践第一、案例为主”的原则,展示新技术在行业应用中的最新实践,技术在企业转型中的加速作用,帮助企业技术管理者、CTO、架构师做好技术选型、技术团队组建与管理,并确立技术对于产品和业务的关键作用。

文字内容
1. ArchSummit 2017 深度学习在自然语言处理中的应用 邱锡鹏 复旦⼤学 2017年12月8日 http://nlp.fudan.edu.cn/xpqiu
2. ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 4
3. 内容提纲 }  简介 }  自然语⾔处理 }  深度学习 }  语义表示学习 }  词表示 }  句⼦表示 }  自然语⾔处理的新范式 }  应用 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 5
4. 自然语言处理 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 6
5. 从人工智能开始 Alan Turing 自然语⾔处理:理解和⽣成 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 7
6. 什么是自然语言? }  语⾔是指在⼀个有限的字符集上,产⽣的符合⼀定规则 的字符串集合。 }  自然语⾔通常是指⼀种自然地随⽂化演化的语⾔。 }  自然语⾔ VS ⼈⼯语⾔ }  形式语⾔ (Chomsky,1950) }  区别 }  自然语⾔:歧义性 }  ⼈⼯语⾔:确定性 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 8
7. 歧义:以中文分词为例 }  不同的语⾔环境中的同形异构现象,按照具体语⾔环境 的语义进⾏切法。 }  交叉歧义 }  他/说/的/确实/在理 }  组合歧义 }  两个/⼈/⼀起/过去、个⼈/问题 }  从马/上/下来、马上/就/来 }  句⼦级歧义 伪歧义 }  白天鹅在⽔里游泳 }  该研究所获得的成果 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 9
8. 自然语言处理 }  自然语⾔处理包括语音识别、自然语⾔理解、自然语⾔ ⽣成、⼈机交互以及所涉及的中间阶段。 }  是⼈⼯智能和计算机科学的⼦学科。 自然语言处理不等于研究语言学(计算语言学)、文学。 Every time I fire a linguist, the performance of our speech recognition system goes up. -- Frederick Jelinek, 1985 https://en.wikiquote.org/wiki/Fred_Jelinek ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 10
9. 理想中的自然语言处理流程 这是一棵语法树 分词 这 是 一 棵 语法 树 词性标注 这 是 一 棵 语法 树 代词 动词 数词 量词 名词 动词 句法分析 应用 语义分析 机器翻译 自动问答 情感分析 …… 这 是 一 棵 语法 树 代词 动词 数词 量词 名词 动词 语义分析 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 这, 是,语法树 知识库 11
10. 主要任务 }  自然语⾔处理任务可以分为四类:词法分析、句法分析 、语义分析、应用。 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 12
11. 发展历程 }  1990年以前,基于规则(rule-based)的⽅法 }  使用⼿写的规则 }  1990年以后,基于语料库(corpus-based)的⽅法 }  也叫实证( empirical )⽅法或数据驱动(data-driven)⽅法 }  ⼤量使用统计或机器学习模型 }  典型应用:The mathematics of statistical machine translation: parameter estimation. 1993 }  2011年以后,基于神经⽹络(neural-based)的⽅法 }  端到端的神经⽹络模型 }  典型应用:Sequence to Sequence Learning with Neural Networks, 2014 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 15
12. 基于语料库的方法 }  语料库:⽂本数据的集合 }  技术⼿段: }  统计模型 }  机器学习模型 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 16
13. 实际的自然语言处理流程 我喜欢读书。 我讨厌读书。 分类模型 模型表示 特征抽取 参数学习 解码算法 情感分析 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 17
14. 文本分类 根据文本内容来判断文本的相应类别 + - ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 18
15. 换个角度看中文分词 1/0 [000010001000100011001] ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 19
16. 特征工程问题 }  在实际应用中,特征往往比分类器更重要 }  预处理:经过数据的预处理,如去除噪声等。比如在⽂本分类中, 去除停用词等。 }  特征提取:从原始数据中提取⼀些有效的特征。比如在图像分类中 ,提取边缘、尺度不变特征变换特征等。 }  特征转换:对特征进⾏⼀定的加⼯,比如降维和升维。降维包括 }  特征抽取(Feature Extraction): PCA、LDA }  特征选择(Feature Selection):互信息、TF-IDF ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 20
17. 深度学习 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 21
18. 深度学习 }  深度学习=表示学习+浅层学习 }  难点:贡献度分配问题 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 22
19. 表示学习与深度学习 }  ⼀个好的表示学习策略必须具备⼀定的深度 }  特征重用 }  指数级的表示能⼒ }  抽象表示与不变性 }  抽象表示需要多步的构造 https://mathteachingstrategies.wordpress.com/2008/11/24/concrete-and-abstract-representations-using -mathematical-tools/ ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 23
20. 深度学习与神经网络 }  深度学习天然不是神经⽹络,但神经⽹络天然是深度 学习! ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 24
21. 语言表示学习 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 25
22. 语义鸿沟 }  底层特征 VS ⾼层语义 }  ⼈们对⽂本、图像的理解 ⽆法从字符串或者图像的 底层特征直接获得 表示学习 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 床前明月光, 疑是地上霜。 举头望明月, 低头思故乡。 26
23. 语言表示 }  如何在计算机中表示语⾔的语义? 知识库 规则 分布式表示 •  ܴᖽ̵֗ᖌ̵ᑜੂ‫ݻ‬ᰁ •  አO(N)ӻ݇හᤒᐏ O(2k)‫܄‬ᳵ •  kԅᶋ0݇හ҅k
24. 一个生活中的例子:颜色 命名 红 绿 蓝 中国红 咖啡⾊ RGB值 [1,0,0] [0,1,0] [0,0,1] [0.67, 0.22, 0.12] [0.64, 0.16,0.16] ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 28
25. 词嵌入(Word Embeddings) 上海 北京 ⾼兴 难过 ᮕᲟỨ (॔෮य़਍) https://indico.io/blog/visualizing-with-t-sne/ Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 29
26. 分布式表示 --来自神经科学的证据 http://www.nature.com/nature/journal/v532/n7600/full/nature17637.html ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 30
27. 词嵌入 W("woman")−W("man") ≃ W("aunt")−W("uncle") W("woman")−W("man") ≃ W("queen")−W("king") W("中国")−W("北京") ≃ W("英国")−W("伦敦") From Mikolov et al. (2013) Socher et al. (2013) ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 31
28. 句子表示 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 32
29. 语言表示学习 }  词 }  短语 }  组合语义模型 ۹ }  句⼦ }  连续词袋模型 }  序列模型 }  递归组合模型 }  卷积模型 Ղ ጱ ॠ ࿈ ፥ ӧ }  篇章 Კ }  层次模型 ̶ ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 33
30. 循环神经网络 (RNN) 缺点:长距离依赖问题 ᮕᲟỨ (॔෮य़਍) RNN是图灵完全等价的 (Siegelmann and Sontag, 1995) FNN:模拟任何函数 RNN:模拟任何程序(计算过程)。 Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 34
31. 序列模型:RNN ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 35
32. 序列到序列模型 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 36
33. 文本序列的卷积 输⼊ Filter 卷积层 Pooling层 输出 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 37
34. 基于卷积模型的句子表示 Y. Kim. “Convolutional neural networks for sentence classification”. In: arXiv preprint arXiv:1408.5882 (2014). ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 38
35. 递归神经网络 给定⼀个语法树, p2 → ap1, p1 → bc. ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 39
36. 语言表示学习 离散 符号表示 表示 基于聚类的表示 表示学习模型 词 句⼦、篇章 One-Hot表示 词袋模型 N元模型 Brown聚类 K-means聚类 分布式表示 连续 表示 分散式表示 潜在语义分析 潜在狄利克雷分配 NNLM Skip-Gram模型 CBOW模型 连续词袋模型 序列模型 递归组合模型 卷积模型 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 40
37. 为什么语言表示学习更难? 152 层 22层 计算机视觉中的深层⽹络模型 ᮕᲟỨ (॔෮य़਍) 对应NLP的最底层:词汇 Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 41
38. 语言表示的几个问题 认知层面 模型层面 学习层面 •  主观性 •  常识 •  知识 •  长期依赖问题 •  语义组合问题 •  迁移学习 •  多任务学习 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 42
39. 长期依赖问题 }  梯度消失/爆炸(主要因素) }  改进:引⼊⼀个近似线性依赖的记忆单元来存储远距离的信息。 }  记忆容量(次要因素) }  记忆单元的存储能⼒和其⼤小相关。 }  改进:注意⼒机制与外部记忆 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 43
40. 注意力模型 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 45
41. 语言语义组合 }  如何组合自然语⾔的语义? }  参数共享? 共享 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 不共享 46
42. 动态语义组合网络 }  元⽹络(Meta network) }  ⽣成基⽹络参数 }  基⽹络(Basic Network) }  动态参数 Pengfei Liu, Xipeng Qiu, Xuanjing Huang, Dynamic Compositional Neural Networks over Tree Structure, In Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence (IJCAI), pp. 4054-4060, 2017. Pengfei Liu, Kaiyu Qian, Xipeng Qiu, Xuanjing Huang, Idiom-Aware Compositional Distributed Semantics, In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 1215-1224, 2017. ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 47
43. 多任务学习 }  知识共享 }  词性标注 }  组块分析 }  依次句法分析 }  ⽂本蕴涵 Hashimoto, K., Xiong, C., Tsuruoka, Y., & Socher, R. (2016). A Joint Many-Task Model: Growing a Neural Network for Multiple NLP Tasks. arXiv Preprint arXiv:1611.01587. ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 48
44. 如何学习任务无关的共享表示 }  对抗学习 Pengfei Liu, Xipeng Qiu, Xuanjing Huang, Adversarial Multi-task Learning for Text Classification, In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (ACL), pp. 1-10, 2017. ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 49
45. 自然语言处理的新范式 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 50
46. 自然语言处理任务 }  在得到字、句⼦表示之后,自然语⾔处理任务类型划分为 类别(对象) 到序列 序列到类别 同步的序列 到序列 异步的序列 到序列 ⽂本⽣ 成 ⽂本分 类 中⽂分 词 机器翻 译 图像描 述⽣成 情感分 析 词性标 注 自动摘 要 语义角 ⾊标注 减轻了对特征⼯程的依赖! ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 对话系 统 51
47. 应用例子 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 52
48. 传统统计机器翻译 }  源语⾔:f }  目标语⾔:e }  模型:​?????? =​argmax↓??????  ??????(?????? ??????) = ​argmax↓??????  ??????(?????? ??????)??????(??????) }  p(f e): 翻译模型 }  p(e) : 语⾔模型 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 53
49. 基于序列到序列的机器翻译 }  ⼀个RNN用来编码 }  另⼀个RNN用来解码 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 54
50. 看图说话 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 55
51. 看图说话 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 56
52. 生成LINUX内核代码 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 57
53. 作词机 }  RNN在“学习”过汪峰全部作品后自动⽣成的歌词 }  我在这里中的夜里 }  就像⼀场是⼀种⽣命的意旪 }  就像我的⽣活变得在我⼀样 }  可我们这是⼀个知道 }  我只是⼀天你会怎吗 }  可我们这是我们的是不要为你 }  我们想这有⼀种⽣活的时候 https://github.com/phunterlau/wangfeng-rnn ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 58
54. 作诗 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 59
55. 写字 }  把⼀个字母的书写轨迹看作是⼀连串的点。⼀个字母的“写法” 其实是每⼀个点相对于前⼀个点的偏移量,记为(offset x, offset y)。再增加⼀维取值为0或1来记录是否应该“提笔”。 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 60
56. Making Neural Nets Great Again ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 61
57. 阅读理解 }  三元组(Q,D,A) }  问题Q:(​??????↓1 ,​??????↓2 ,⋯,​??????↓?????? ) }  ⽂档D: (​??????↓1 ,​??????↓2 ,⋯,​??????↓?????? ) }  答案A:'>A:'>A:'>A: ​??????↓?????? ,⋯, ​??????↓??????  Fred moved to the bedroom and Joe went to the kitchen then Joe took the milk there and Dan journeyed to the bedroom; Joe discarded the milk. Where is the milk now ? A:'>A:'>A:'>A: the milk is in the kitchen Where is Dan now? A:'>A:'>A:'>A: I think he is in the bedroom SIMULATED WORLD QA ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 62
58. 一般流程 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 63
59. Bidirectional Attention (Seo et al.,2016) ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 64
60. Mnemonic Reader https://arxiv.org/abs/1705.02798 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 65
61. 文本摘要 http://www.abigailsee.com/2017/04/16 /taming-rnns-for-better-summarization.html ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 66
62. 文本摘要 http://www.abigailsee.com/2017/04/16 /taming-rnns-for-better-summarization.html ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 67
63. 对话 Li J, Monroe W, Ritter A, et al. Deep reinforcement learning for dialogue generation[J]. arXiv preprint arXiv:1606.01541, 2016. ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 68
64. 总结 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 69
65. 总结 }  模型 }  任务 离散表示 + 线性模型 分布式表示 + 非线性模型 理解 ⽣成 交互 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 70
66. 研究现状 ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 71
67. Lapata's scream [Lapata ACL talk 2017] ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 72
68. Noah's Bias [Smith ACL talk 2017] (structural) ᮕᲟỨ (॔෮य़਍) Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 73
69. Putting things together DL RL NLP function approximation correct training structural bias ᮕᲟỨ (॔෮य़਍) ? Ⴎଶ਍ԟࣁᛔᆐ᧍᥺॒ቘӾጱଫአ 74