QCon2019 NLP深度培训 高扬

QCon大会

2019/06/25 发布于 书籍 分类

文字内容
1. NLP “ 高 扬 《白话大数据与机器学习》著书人 前重庆工商大学研究生导师 金山办公软件AI工程组架构师 ” “ ”
2. 高扬,珠海金山办公软件有限责任公司AI工程组架构师。 前重庆工商大学研究生导师。 曾在金山软件西山居游戏工作室、欢聚时代等公司任架构师、技术专家职务,负责人工 智能、大数据等领域的技术方案及落地研究工作。 著有《白话大数据与机器学习》、《白话深度学习与Tensorflow》、《白话强化学习 与Pytorch》、《数据科学家养成手册》等多本技术畅销书。
3. 拷贝不走样
4. 拷贝不走样 Phase 1:通过123报数,分成3组。每组6~7人。 Phase 2:按顺序上台选择词汇,并进行传递。每组人均20秒,以组为单位倒计时。 要求: (1)由队尾人看词板,开始信息传递 (2)轻拍前方人肩膀,开始表演 (3)不能发出包括且不限于汉语、英语、日语、法语、俄语、粤语、豫语在内的有实质 性含义的词语发音 (4) 最后一人讲猜到的词汇内容写在白板上
5. 量化与分词 文本分类 深度学习补充 词向量技术 文档向量技术 命名实体识别 知识图谱 新技术前沿 企业应用
6. 两大类任务 自然语言理解(降维) 分类任务 摘要提取 自然语言生成(升维) 问答系统 写稿机器人
7. 量化是第一个问题
8. 汉字的编码 GB 2312(收录6763个汉字) 啊——1601 UTF-8(Unicode的一种) 啊——0x554A
9. 量化是科学的概念 “科学”——明治维新时期日本学界初用“科学”一词翻译英文中的“Science”, 这个词是由日本启蒙思想家西周 翻译并引入的(科学——かがく)。在欧洲的语言体 系中,来源于拉丁文“Scientia”指的是“知识”、“学问”,在近代侧重关于自然的 学问。 西周(にし あまね),1829年~1897年,日本启蒙思想家。
10. 量化的含义 向量,矩阵,多维空间 一个词(文章)有多大,它们之间的量什么关系 y = f (x θ )
11. 分词技术 句子:“山东东阿阿胶是一种药材” 词汇:“山东东阿阿胶”、“是”、“一种”、“药材”。 ! ! ! !
12. 分词算法 基于词表 FMM(正向最大匹配法) BMM(逆向最大匹配法) 基于传统机器学习 HMM(隐马尔可夫模型) CRF(条件随机场模型) ME(最大熵模型) 基于深度学习
13. 分词算法 基于词表 FMM(正向最大匹配法) BMM(逆向最大匹配法) ! ! ……! ! ! ! ! ! ! ! ! ……! ! ! !
14. 分词算法 基于传统机器学习 HMM(隐马尔可夫模型) 1 2 ! !
15. 分词算法 基于传统机器学习 HMM(隐马尔可夫模型) X 珠 海 金 山 软 件 是 一 个 老 企 业 Y B E B M M E S B E S B E ! ! ! B E M S B 0 0.4 0.5 0.1 E …… …… …… …… B B B B E E E E M M S S M …… …… …… …… 珠 金 一 企 海 件 个 业 山 软 是 老 S …… …… …… …… 0.02 0.01 0.01 0.02 …… …… …… …… …… …… …… ……
16. VSM(Vector Space Model)模型 Gerard Salton和McGill,1969年 TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆词频) 一种归一化的词性特征
17. TF-IDF 词频 (TF) 是一词语出现的次数除以该文件的总词语数。 例: 一篇文件的总词语数是100个 “汽车”出现了5次 “汽车”一词在该文件中的词频就是5/100=0.05 “汽车”一词在100份文件出现过,而文件总数是10,000份的话,其逆向文件频率就 是 lg(10000 / 100)=2。 “汽车”的TF-IDF向量值为0.05 * 2=0.1 TF-IDF分数和词频和逆向文件频率成正比。
18. TF-IDF ! 1 ! 0.1! 0.05! 0.05! 0! 0! 0.001! 0.001! 0.0001! 0.0001! ! ! ! ! 2 ! 0.001! 0.001! 0.001! 0.05! 0.1! 0! 0.001! 0.0001! 0.0001! ! 3 ! 0.001! 0.001! 0.001! 0.001! 0.001! 0.1! 0.1! 0.0001! 0.0001!
19. 基于VSM模型 朴素贝叶斯(Naïve Bayesian) 逻辑回归(Logistic Regression) 支持向量机(SVM,Support Vector Machine)
20. 基于VSM模型 朴素贝叶斯(Naïve Bayesian) P( A B) P( B) = P( B A) P( A) P( D j x) = P( x D j ) P( D j ) n P ( x D ) P ( D ) ∑ i i i =1
21. 基于VSM模型 朴素贝叶斯(Naïve Bayesian) P( A B) P( B) = P( B A) P( A) P( A) < P( A B) P( A) > P( A B)
22. 基于VSM模型 朴素贝叶斯(Naïve Bayesian) P( xi yk ) = Alpha:平滑系数 N yk , xi + α N yk + nα
23. 基于VSM模型 朴素贝叶斯(Naïve Bayesian) 优点: 很容易理解,很容易训练 负载很低,并发很高(CPU:每秒100个) 缺点: 精度相对有限(典型的文段,85%到90%)
24. 线性回归 y = ax + b y = f (x θ )
25. 线性回归 e1 = ax1 + b − y1
26. 线性回归 ∂Loss(a, b) an+1 = an −η ⋅ ∂a ∂Loss(a, b) bn+1 = bn − η ⋅ ∂b
27. 深度神经网络 x1 w1 x2 w2 x3 w3 w4 x4 w5 x5 f ( x) = wx + b
28. 激励函数 f ( x) = 1 1+ e − ( wx + b ) y = max( x, 0)
29. 丰富的逻辑计算功能 ! ! x1 x2 1 1 0 0 1 0 1 0 x1 x2 1 1 0 0 1 0 1 0 ! x 1 0 y期望值 0 1 y期望值 1 0 0 0 y 真实值 0.999954602 4.54E-05 4.54E-05 9.36E-14 y期望值 1 1 1 0 y 真实值 1 0.999954602 0.999954602 4.54E-05 y 真实值 4.54E-05 0.999954602
30. 深度神经网络
31. 深度神经网络 y = cos( x) ⎧ w1 x + b1 , x ∈ [ x1 , x2 ] ⎪w x + b , x ∈[ x , x ] ⎪ 2 2 2 3 y=⎨ w x + b , x ∈ [ x , x ] 3 3 3 4 ⎪ ⎪⎩ ......
32. 词向量化:One-Hot向量(独热向量) 我: 你: [100000……] [010000……] 天气: [001000……] 好: [000100……] ! ! ! ! ! !
33. Word Embedding(Word2Vector)
34. Word Embedding(Word2Vector) 上下文约束: 金碧辉煌的(故宫)令人流连忘返。 金碧辉煌的(克里姆林宫)令人流连忘返。 (哥哥)比我年龄大。 (姐姐)比我年龄大。 (弟弟)比我年龄小。 (中国)的首都是(北京)。 (美国)的首都是(华盛顿)。
35. Word Embedding(Word2Vector) CBOW C=4 One-Hot Dimension=N 金碧辉煌 0 0 1 0 0 0 0 0 0 0 0 的 0 0 0 0 0 1 0 0 0 0 0 Mean 令人 0 0 0 0 0 0 0 0 0 1 0 流连忘返 1 0 0 0 0 0 0 0 0 0 0 W N*V C个1*V Computation:W*Input 0 0 0 0 0 0 0 0 0 0 1 1*V W' V*N 故宫 独热编码
36. Word Embedding(Word2Vector) CBOW C=4 One-Hot Dimension=N 金碧辉煌 0 0 1 0 0 0 0 0 0 0 0 的 0 0 0 0 0 1 0 0 0 0 0 Mean 令人 0 0 0 0 0 0 0 0 0 1 0 流连忘返 1 0 0 0 0 0 0 0 0 0 0 W N*V C个1*V Computation:W*Input R 0 1*V 0 金碧辉煌=00 1 1 0 1 0 1 1 流连忘返=01 0 0 0 0 0 0 0 0 0 0 0 1 1 令人=10 故宫 哈夫曼编码 故宫 独热编码
37. Word Embedding(Word2Vector) 1、词汇之间有空间解释性 [0.23, −0.7,1.22,0.2,0.33,1.5, −2.2,...,1.76] Paris – France + Italy = Rome! ! – = – ! 2、不同的语料不同的结果 科技类:“小米”、“苹果”、“IBM”、“华为” 农业知识:“小米”、“苹果”、“菠萝”、“花生”
38. Word Embedding(Word2Vector) 余弦相似度与欧氏距离 Ai B cos(θ ) = A 2 B 2 ! 2 d = ( x1 − x2 ) + ( y1 − y2 ) ! ! ! 2
39. Word Embedding(Word2Vector) 中文版本: Word Embedding Character Embedding Glyce-Vector ! ! ! ! Glyce: Glyph-vectors for Chinese Character Representations!
40. 词向量技术出现的意义 1、高精度的分类任务成为可能 2、高精度的情感分析成为可能 3、高精度的内容提取功能成为可能
41. 基于词向量技术的分类网络——TextCNN 卷积网络 1 1 1 1 1 1 1 1 1
42. 基于词向量技术的分类网络——TextCNN Feature Map可视化
43. 基于词向量技术的分类网络——TextCNN ! ! ! !
44. 基于词向量技术的分类网络——TextCNN “视野”的问题 “我喜欢” “我喜欢这个” “我喜欢这个电影”
45. 基于词向量技术的分类网络——TextCNN 1、训练很快 一个3万样本的10分类问题,仅需要训练1小时左右(GPU) 正确率85%以上 2、代码开源
46. 文档向量化 1、平均法 2、Doc2Vec
47. 文档向量化 1、平均法 相当于求重心 1 doc − vec = N n w ∑ i i =1
48. 文档向量化 2、Doc2Vec (1) 先准备n篇文档作为语料 (2) 迭代训练 1! 2! …! n!
49. 文档向量化 2、Doc2Vec 训练: 例:中国是亚洲强国 D 文章ID 0 0 0 1 0 0 0 0 x M ean/A verage 0 0 0 0 0 0 0 1 中国 0 0 1 0 0 0 0 0 是 0 0 0 0 0 1 0 0 亚洲 0 0 0 1 0 0 0 0 y= W 1 1 + e− ( wx+b ) 强国
50. 文档向量化 2、Doc2Vec 推理(预测): ∂Loss ∂x x M ean/A verage 0 0 0 0 0 0 0 1 中国 0 0 1 0 0 0 0 0 是 0 0 0 0 0 1 0 0 亚洲 0 0 0 1 0 0 0 0 y= W 1 1 + e− ( wx +b ) 强国
51. 向量搜索与加速 B-TREE索引 有序类型的搜索利器
52. 向量搜索与加速 前置知识——K-means聚类算法 2 d = ( x1 − x2 ) + ( y1 − y2 ) 2
53. 向量搜索与加速 Bisecting K-means
54. 向量搜索与加速
55. 向量搜索与加速 应用(kNN,k Nearest Neighbour) ! !
56. 向量搜索与加速 应用(kNN,k Nearest Neighbour)
57. 向量搜索与加速 应用(kNN,k Nearest Neighbour)
58. 命名实体识别(NER,Named Entity Recognition) 句子:“今天,北京下了大雪。我和王小明一起去了暨南大学参加社团活动。原定去年 3月13号的活动,被延迟到了今天,也是有很多原因的。” 提取: 北京:地名; 王小明:人名; 暨南大学:组织机构名; 3月13号:日期;
59. 用途: 智能填表
60. 用途: 简历解析 XX! XX! XX! XX! XX!
61. 用途: 知识抽取
62. 实现方式: 规则法 深度学习法 !
63. 规则法 Regular Expression(正则表达式) 词表过滤 例如:识别一个机构 “XX局”、“XX部”、“XX院”、“XX代表处”、“XX大学” 规则: [停用词 名词]xxxxxxx[局 部 院 代表处 大学]
64. 规则法 优点: 书写简洁,基于经验 缺点: 未登录词汇永远无法识别,不能“自动”进化,不能训练
65. 深度学习法 Bi-LSTM+CRF
66. 深度学习法 例:前年张小明去深圳参加了第1届赛事,后来就没去过。 输入: 前年张小明去深圳参加了第1届赛事,后来就没去过。 输出: 前(O)年(O)张(B-PER)小(I-PER)明(E-PER)去(O)深(B-LOC)圳(ELOC)参(O)加(O)了(O)第(O)1(O)届(O)赛(O)事(O),后(O) 来(O)就(O)没(O)去(O)过(O)。
67. 深度学习法 RNN-LSTM RNN! ! LSTM!
68. 深度学习法 RNN-LSTM ! ! ! ! ! ! E! !
69. 深度学习法 Bi-LSTM
70. CRF(Conditional Random Fields,条件随机场) 例: 金山软件是一家公司 “金山软件”——主语, “是”——谓语, “一家”——定语, “公司”——宾语。
71. CRF(Conditional Random Fields,条件随机场) 例: 金山软件是一家公司 “金山软”——主语, “件是”——谓语, “一家公司”——宾语, 或者 “金山软件”——主语, “是”——谓语, “一家”——谓语, “公司”——补语。
72. CRF(Conditional Random Fields,条件随机场) 学到了什么? 例:“XXX去了YYYY当老师” 人名 地名 组织机构名
73. 逻辑形式
74. 构造知识图谱的步骤 关系挖掘 实体统一 指代消解
75. 关系挖掘(知识抽取) 规则+深度学习 例: 中国的首都是北京 ! ! “中国” “首都是”“北京” ! 中国人爱喝的绿茶是一种饮料 主语:绿茶 谓语:是 宾语:饮料 定语:中国人爱喝的、一种 ! ! ! ! ! !
76. 关系挖掘(知识提取) 句子:“Barack Obama is the 44th and current President of the United States” 构建Bag:(Barack Obama,United States)-> KB -> president_of
77. 关系挖掘(知识提取) LSTM-LSTM-Bias
78. 关系挖掘(知识提取) LSTM-LSTM-Bias 复杂关系的挖掘理论上都成为可能: 王健林说,王思聪这孩子从小就聪明:王健林、王思聪、父子 荣归故里的刘邦在沛县组织了很多孩子一起唱《大风歌》:刘邦、沛县、故乡 老张经常指导小李的工作,也说他工作认真努力:老张、小李、领导
79. 实体统一 实体名称不同但是意义指代相同或基本相同,需要进行合并 例: “上海”和“上海市”, “Bruce Lee”和“李小龙” 方法: 规则:词表 挖掘:关系挖掘合并 (名词要有对应关系) ! ! ! ! ! !
80. 指代消解 代词的真实指代含义 识别主语名词,识别上下文代词。 例:广州是南中国最繁华的城市之一。它有着悠久的历史,有完整的轻重工业配套产 业链。你一定会爱上这里。
81. 图数据库 DeepDive是斯坦福大学(http://deepdive.stanford.edu/)开源的一个图数据库 项目
82. 图数据库 DeepDive 底层支持MySQL、Postgres、GreenPlum等
83. 不同来源 不同属性 不同等级 ! ! ! ! ! ! ! ! !
84. 应用1 关联挖掘 链接嵌入
85. 应用2 推荐系统:协同过滤(Collaborative Filtering) Item-CF 你买了A物品,由于B物品像A物品,所以给你推荐B。 User-CF 甲买了A物品,由于你像甲,所以给你推荐A物品。
86. 应用2 推荐系统:协同过滤(Collaborative Filtering) 余弦相似度: ! Ai B cos(θ ) = A i B 𝐴 𝐶 ! 𝐵
87. 应用2 推荐系统 刘慈欣 编剧 科幻 题材 灾难 《流浪地球》 主题 喜欢 推荐? 主题 《疯狂的外星人》 喜剧 题材 编剧 科幻 刘慈欣
88. 图数据库 企业级选择
89. Attention机制 注意力,更好地区分与学习输入输出序列元素之间的影响 ! ! f (x θ ) g(x θ )
90. Attention机制 注意力,更好地区分与学习输入输出序列元素之间的影响 G ood evening < EN D > Encoder code D ecoder 晚 上 好
91. Attention机制 通过辅助权重矩阵 G ood evening < EN D > Encoder code h1 h2 h3 h1* w11 + h2* w12 + h3* w13 = c1 C1 晚 上 好 C2 C3 h1* w21 + h2* w22 + h3* w23 = c2 h1* w31 + h2* w32 + h3* w33 = c3 D ecoder
92. Attention机制在其它领域也有应用 NLP
93. Attention机制在其它领域也有应用 CV
94. Attention机制在其它领域也有应用 ASR/TTS
95. Attention机制在其它领域也有应用 DRL
96. 迁移学习(Transfer Learning) 1+1 = 2!
97. 迁移学习(Transfer Learning)
98. 迁移学习(Transfer Learning) 预先训练 特征提取 加速新任务
99. -0.35! 0.76! 0.24! 迁移学习(Transfer Learning) ! ! ! ! ! y= 1 1+ e − ( wx + b ) wx = w1 x1 + w2 x2 + w3 x3
100. 迁移学习(Transfer Learning) Image Caption
101. 迁移学习(Transfer Learning) Image Caption
102. 迁移学习(Transfer Learning) Image Caption
103. 迁移学习(Transfer Learning)
104. 迁移学习(Transfer Learning)
105. Transformer——《Attention is All You Need》,Google,2017 在Encoder和Decoder中的大量的Attention模块
106. BERT——《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》,Google,2018 双向Transformer,预训练
107. BERT MNLI QQP QNLI SST-2 CoLA STS-B MRPC RTE WNLI !
108. BERT
109. BERT的成绩
110. BERT缺陷 1、训练很久,调优勉强 TPU: Tensor Processing Unit,谷歌研发,8bit精度 每秒180万亿次计算 平均每瓦特计算能力为GPU 25倍,CPU的40倍 训练成本:BERT采用4-16个TPU,训练4天 训练语料:Wikipedia + BookCorpus,共33亿个词 调优:1个GPU,3到4天
111. BERT缺陷 2、预测很慢 3.4亿个参数 每个预测任务(NER,分类)——3到40秒不等
112. ELMo——《Deep Contextualized Word Representations》,University of Washington,2018 提取方法:双向LSTM
113. GPT/GPT-2——《Improving Language Understanding by Generative PreTraining》,OpenAI,2018 提取方法:单项Transformer
114. BERT/GPT/ELMo 企业应用建议使用GPT BERT! Large/Base ! Parameters! 345M/ 110M! Training Time! 256 TPU 4 Days! GPT-2! ELMo! Original/Small ! 150M! 93.6M/13.6M! 8 GPU P100 Month! 1
115. 使用步骤 1、下载GPT-2(BERT)预训练模型 2、在自己的任务上训练模型 3、注意是否让与训练模型参与Fine-Tuning ! ! Feature! ! ! !
116. 架构与功能需求 1、数据流 2、离线任务 3、在线任务 4、权限控制 ! GUI! ! !
117. 数据流集群 ! IP ! ! ! ! !
118. 在线任务集群 Worker! Worker! Worker! LB! Elastic Search! Worker! RR! Worker! Worker! HDFS!
119. 在线任务集群 Worker! Textract! TextCNN! LDA! Elastic Search! NER! ! GUI!
120. 离线任务集群 HDFS! Spark! Tensorflow! Worker! ! MLLib!
121. 权限控制 Code! Git! Auth Check! Docker! Spark!
122. 重要指标 集群有500个CPU 热数据60TB数据 在线库400GB 每天处理6000万篇文档 ! ! Tensorflow on OpenCL! https://github.com/hughperkins/tf-coriander!
123. 客户端落地 用户隐私 私有化部署
124. 客户端落地 原生小尺寸模型 SqueezeNet/MobileNet Cin ×W × H × Cout
125. 客户端落地 原生小尺寸模型 SqueezeNet/MobileNet
126. 客户端落地 原生小尺寸模型 SqueezeNet/MobileNet
127. 1、不要盲目迷信深度学习,很多简单的需求用简单的方法一样能做得很好。 2、精确的语言模型的训练,需要极为庞大的计算资源和海量的高质量语料。 3、在适当的场合适当地运用迁移学习,使用公开训练的强大模型帮助自己的业务进步。
128. 4、改进自己的业务,可以尝试使用一些新方法,比如尝试建立自己垂直领域的知识图 谱和图数据库。 5、高并发场景的应用注意业务对实时性的容忍性,可以采用队列削峰或动态容器扩展 相关技术来分别对待处理。 6、移动端落地需要借助小型化手段,一方面注意业界最新的模型,如果无法实现可以 再考虑使用SVD、Pruning、Quantization等多种技术来进行矩阵的压缩。
129. 路还很漫长,我们还有很多工作要做! 欢迎交流!