QCon2019 NLP深度培训 高扬
2020-03-01 465浏览
- 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.路还很漫长,我们还有很多工作要做! 欢迎交流!
- 130.