文档章节

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

_夜枫
 _夜枫
发布于 2017/07/07 15:55
字数 1414
阅读 27
收藏 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中的发展和应用

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

AI科技大本营
06/27
0
0
NLP 解决方案是如何被深度学习改写的?

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

MrBear
04/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
免费的NLP学习资源,了解一下

自然语言处理表示计算机系统理解人类语言的能力,它是人工智能的一部分。网上有很多种资源可以帮助你从零开始学习NLP。本文列出了适用于初学者和从业者的一些相关资源。 给初学者的自然语言资...

【方向】
09/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nginx 配置url 跳转

Step 1:前言 公司一个管理后台,每次访问要写很长的参数,想直接访问域名就去管理页面 Step 2:配置 location / { rewrite ^/$ http://pay-admin.sasha-lab.com/index.php?m=admin&c...

Linux_Anna
23分钟前
2
0
php7在FreeBSD系统下静态编译iconv,导致BUS ERROR (core dump)解决

bug页面: https://bugs.php.net/bug.php?id=72198 触发此bug需要很多条件: FreeBSD系统(10.0以上),Linux系统、MacOS下均无此问题 静态编译iconv扩展,动态iconv扩展也无此问题 系统安装了...

hell0cat
27分钟前
3
0
FireFox下载时文件名乱码问题解决

String filename = java.net.URLEncoder.encode(file.getName(), "UTF-8"); response.setHeader("Content-Disposition", "attachment;filename*=utf-8'zh_cn'" + filename);......

放飞E梦想O
34分钟前
1
0
Spring声明式事务不回滚问题

注解 @Transactional 声明事务 内部调用方法不会走代理方式调用,而是类内部的函数调用,有事务注解也不会开启事务 但是当A有事务调用B时,B会加入A事务中,使之为同一事务 A无事务 ,B有事务...

职业搬砖20年
35分钟前
3
0
高并发的“大杀器”:异步化、并行化

高并发的大杀器:异步化 同步和异步,阻塞和非阻塞 同步和异步,阻塞和非阻塞,这几个词已经是老生常谈,但是还是有很多同学分不清楚,以为同步肯定就是阻塞,异步肯定就是非阻塞,其实他们并...

微笑向暖wx
37分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部