文档章节

自然语言处理的通用深度学习方法

_夜枫
 _夜枫
发布于 2017/07/07 15:55
字数 1414
阅读 26
收藏 0

了解更多知识请点击原文链接

 

6月5号,由阿里巴巴iDST邀请到了江辉老师,在北京阿里巴巴绿地中心阿里同学们做了一场A New General Deep Learning Approach for Natural Language Processing的讲座。

DingTalk20170630102819.png

分享概要

如今在NLP领域各种CNN,RNN及其变种网络层出不穷,但是它们在复杂度,模型训练等方面都有不少问题。在这样的现状下,能否有一种更简单的机制代替这样的复杂网络,同时又取得与其相当甚至更好的效果,这成为了很多人的诉求。

江辉老师直接切入了NLP的痛点之一——变长编码(variable-length encoding)。即NLP需要处理的往往不是定长(fixed-size)的数据,而是变长的短语,句子,段落甚至篇章。也是因为变长编码的原因,才使得NLP领域大量引入CNN和RNN模型。
DingTalk20170629102441.png

技术核心

于是江辉老师及其团队,提出了FOFE-net架构,即FOFE(Fixed-size Ordinally-Forgetting Encoding) + DNN,来解决变长编码问题,同时降低模型复杂度,提高训练速度甚至整体效果
DingTalk20170629103259.png

FOFE是一种简单精妙的rule-base编码方式。上图中,左侧1-of-K是传统的one-hot编码,右侧是FOFE编码的计算过程的例子,下方是计算公式,公式中,z是整个编码,t表达不同的时刻,e是当前时刻的词的one-hot向量。运算当前t时刻的FOFE等于上个时刻t-1的FOFE编码乘上一个打折系数(遗忘系数)alpha,然后加上t时刻词的one-hot,通俗的说就是,在one-hot的基础上利用了数值的大小表明了词的位置信息

FOFE是简单的,同时是精妙的,江辉老师也给出了FOFE的理论证明
DingTalk20170629104721.png

解决了变长编码到定长编码的问题,那么后续只需要使用DNN(多层)就能完成很多任务,此次分享中,江辉老师展示了NLP的多个任务上使用FOFE-net和其他方法的结果对比
DingTalk20170629105039.png
(红色部分为重点介绍的任务)

实验结果

 

由于文章篇幅有限,本文仅详细讲述Word Embedding任务,其他任务仅简单描述方法和结果
DingTalk20170629105256.png

用了FOFE编码后Word Embedding变得非常简单,甚至并不需要深度学习相关的做法就能达到很好的性能。如图上所示,词表的长度为K,对于每个词w,我们使用该词左右两侧的若干词做FOFE编码,如果该词出现多次,那么left FOFE和right FOFE则是所有出现词w的上下文FOFE编码的平均(该做法只是策略之一),得到词到词context FOFE编码的矩阵后(K * 2K,2K是因为左右两个FOFE长度),使用SVD等sparse to dense的手段就能得到Word Embedding

DingTalk20170629105912.png

这种简单的方式得到的效果轻松超越了word2vec,GloVe等方法

除此外江辉老师还介绍了NLP中不少任务上FOFE-net的做法和表现(下面只列举部分):
1. 语言模型。使用FOFE方式编码词w历史的词,然后经过DNN预测下一个词的概率分布。在Google-1B的数据上,表现出惊人效果(超越绝大多数方法,并与谷歌的最好算法相当),并且训练时间上大大降低(google使用32GPU,FOFE使用1GPU)。
2. 命名实体识别。假定某个词序列S=wn~wn+m为实体,使用FOFE编码S左右两侧的context,作为特征进入DNN,输出判断该词序列S是否是实体,是何种实体。在CoNLL03任务上,得到不错的效果。
3. 信息抽取。在2015 KBP-EDL,2016 KBP-EDL上表现不俗。

还有不少任务,如指代消解,文本分类,实体链接,句法分析等都在分享中有分析和对比,由于篇幅原因不能一一列举

听众收获

江辉老师的分享非常精彩,虽然只有一个小时左右,干货多多,让人意犹未尽。
QA环节也有热烈的讨论:
1. 问:FOFE编码在处理长句子时,是否会因为alpha不断打折而导致浮点精度问题丢失了一些词的信息?答:可以采用双向的FOFE编码减缓浮点精度问题
2. 问:FOFE编码是否能再进入RNN,CNN然后效果是否会进一步提升?答:这个工作有学生做过,训练速度下降了,但是效果并没有好

个人思考

如有不对,欢迎评论区拍砖
1. 问:如何在使用FOFE编码的同时融入更多其他信息,如词的标签,词性等,因为FOFE编码之后已经是整个sentence粒度,而词的标签还停留在word粒度?答:使用相同的编码方式编码额外的信息,如FOFE词性vector,FOFE词标签vector等;
2. 问: 为什么FOFE-net会得到更优的性能?答:猜测。FOFE极大简化了网络复杂度,使得网络被训练得非常好,换句话说CNN和RNN这样得复杂网络在现有的BP算法下,很有可能没有被训得很好。这样的简化网络结构换取效果提升的思路貌似是个不错的方向

参考资料

The Fixed-Size Ordinally-Forgetting Encoding Method for Neural Network Language Models

 

 

了解更多知识请点击原文链接

 

本文转载自:http://click.aliyun.com/m/25389/

共有 人打赏支持
_夜枫
粉丝 10
博文 506
码字总数 0
作品 0
朝阳
后端工程师
NLP 解决方案是如何被深度学习改写的?

雷锋网(公众号:雷锋网) AI 科技评论按:英特尔人工智能产品事业部,数据科学主任 Yinyin Liu 近日撰写了一篇文章,介绍了深度学习为自然语言处理带来的种种变化。有趣的大趋势是首先产生在 ...

MrBear
04/27
0
0
公开课 | 微信高级研究员解析深度学习在NLP中的发展和应用

近年来,深度学习方法极大的推动了自然语言处理领域的发展。几乎在所有的 NLP 任务上我们都能看到深度学习技术的应用,并且在很多的任务上,深度学习方法的表现大大的超过了传统方法。可以说...

AI科技大本营
06/27
0
0
采用通用语言模型的最新文本分类介绍

雷锋网(公众号:雷锋网)按:本文为雷锋字幕组编译的技术博客,原标题 Introducing state of the art text classification with universal language models,作者为 Jeremy Howard and Sebast...

雷锋字幕组
06/11
0
0
Salesforce 开发了一个处理不同 NLP 任务的通用模型

Salesforce研究院(Salesforce Research)创建的自然语言处理架构可以处理多种模型和任务。在通常情况下,自然语言处理(NLP)针对每种功能(如翻译、情感分析和问题和答案)都需建一个模型。...

达尔文
06/25
0
0
资源 | DMLC团队发布GluonCV和GluonNLP:两种简单易用的DL工具箱

  选自Gluon   机器之心编译   参与:思源、李亚洲      近日,DMLC 发布了简单易用的深度学习工具箱 GluonCV 和 GluonNLP,它们分别为计算机视觉和自然语言处理提供了顶级的算法实...

机器之心
04/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

配置Spring的注解支持

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 配置Spring的注解支持 以上也提到了使用注解来配...

凯哥学堂
32分钟前
0
0
关于Spring Aop存在的一点问题的思考

在本人前面的文章Spring Aop原理之切点表达式解析中讲解了Spring是如何解析切点表达式的,在分析源码的时候,出现了如下将要讲述的问题,我认为是不合理的,后来本人单纯使用aspectj进行试验...

爱宝贝丶
34分钟前
0
0
JavaScript 概述

JavaScript是面向Web的编程语言。绝大多数现代网站都使用了JavaScript,并且所有的现代Web浏览器——基于桌面系统、游戏机、平板电脑和智能手机的浏览器——均包含了JavaScript解释器。这使得...

Mr_ET
今天
0
0
Java Run-Time Data Areas(Java运行时数据区/内存分配)

Java运行时数据区(内存分配) 本文转载官网 更多相关内容可查看官网 中文翻译可参考 2.5. Run-Time Data Areas The Java Virtual Machine defines various run-time data areas that are use...

lichuangnk
今天
0
0
docker learn :services docker-compose.yml

docker-compose.yml定义了服务的运行参数 version: "3" services: web: # replace username/repo:tag with your name and image details image: hub.c.163.com/dog948453219/friendlyhello d......

writeademo
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部