2. AutoEncoder在NLP中的应用
1. AutoEncoder介绍
2. Applications of AutoEncoder in NLP
3. Recursive Autoencoder(递归自动编码器)
4. Stacked AutoEncoder(堆栈自动编码器)
1. 前言
深度学习是机器学习的一个分支,它设计大量的学习函数和概念模型。大多数机器学习需要大量的人工筛选的特征作为输入,通常特征筛选需要对数据的意义有深入的了解。并且一个能很好的适用于一组数据的特征可能并不使用于其他数据集。深度学习算法在不同层次上对数据进行抽象,每一个层都是根据上一个简单的层抽象定义。这是为什么深度学习能够在复杂的任务熵表现出强大能力的原因。
2. AutoEncoder介绍
在接下来的内容中,我们将主要讨论自动编码器(AE)在NLP中的应用。自动编码器是表示学习算法的一个很好的例子。它结合了编码器功能和解码器功能,以尽可能重建输入的方式进行训练,同时隐藏层表示具有有用的属性。
2.1 Recursive Autoencoder(递归自动编码器)
RAE是递归自动编码器,假设我们有一句话的分词后的向量表示方式,希望从词向量中推断这个句子大概率。我们先为句子构建二叉树结构。第一步,RAE重建两个叶子节点,而后再每个步骤中,重建一个叶子节点和上一个RAE中的隐藏节点,直到最后重建出整棵树,RAE的构建方式可以训练任意的输入。
2.2 Stacked Autoencoder(堆叠自动编码器)
我们后面将介绍如何使用堆叠自动编码器构建深度网络。SAE是通过依次训练单个自动编码器,使用反向传播进行微调,然后添加输出层(例如用于分类问题的softmax层)来完成的。已经证明单独训练层的方法导致准确性的显着提高。
3. AutoEncoder in NLP
自然语言处理(NLP)是一个研究领域,它对涉及计算机理解人类语言的问题感兴趣。NLP包含计算机科学中一些最古老,最困难的问题。近年来,深度学习使得一些看似棘手的问题取得了有希望的进展,如下所示。事实上,自动编码器已被用于尝试解决以下问题:
3.1 word Embeddings(词向量)
为了让计算机识别语言,我们需要能够使用单词,句子和段落并将它们映射到向量。我们将单词转换为向量的过程。有一下几种方法,词集模型、词代模型、n-gram、TF-IDF、word2vec。这些是传统的词向量模型,由Lebret和Collobert在2015年提出的论文《“The Sum of Its Parts”:
Joint Learning of Word and Phrase Representations with Autoencoders》,它使用自动编码器来共同学习单词和短语的表示。
3.2 NMT(机器翻译)
机器翻译是一个非常难的问题,它的目标是准确地将文本从一种语言翻译成另一种语言。
逐字翻译的传统方法会产生非常差的结果,部分原因是大多数现代语言之间存在显着的句法差异。解决方案是分析输入语言中的语法,生成解析树,然后执行转换,生成一个新的解析树,可用于生成输出语言中的文本。
但是,由于同音异义词而导致错误:在不同的语境中,词语可能会有非常不同的含义。解决方案是分析源语言中的语义,然后根据这个含义生成目标文本。这个含义可以用单词,句子和段落向量的形式编码。
这些不同的方法由Vauquois金字塔显示。通常,中间表示的深度越大,翻译质量越高。正如Chandar和Lauly在2014年提出的论文《Bilingual Autoencoders with Global Descriptors
for Modeling Parallel Sentences》,讨论如何使用自动编码器来构建双语单词和短语表示,不过说到机器翻译,不得不说的也是在2014年,由google提出的《Sequence to Sequence Learning
with Neural Networks》,其实AE和Seq2Seq有很多相似的地方。
3.3 Document Clustering(文档聚类)
文档聚类是将文档(例如网页或新闻报道)聚合成不同类别的问题。我们将主要讨论无监督的文档分类。这里的挑战是以什么样的方式表示文档,使得它们可以容易且准确地聚类。
2006年,Hinton使用自动编码器把804414个向量降低为2000个维度,每个向量代表新闻专线故事中的特定单词概率。从下面显示的结果可以看出,自动编码器明显优于基于PCA的语义分析的标准方法和Roweis在2000年提出的非线性降维算法。
3.4 Sentiment Analysis(情绪分析)
我们将研究情绪分析中最基本的任务:确定陈述的情绪。换句话说,我们想要判断给定的文本是正面的,中性的还是负面的。这种情绪分析在商业中具有重要的应用,例如股票预测以及产品研究和营销。
早期的方法只是寻找积极或消极的话语,并单独预测这种情绪。例如,包含“好”一词的评论可能是积极的。这种方法可以非常快速地实现,因此仍然有几家公司使用这种方法实时对大量数据进行情绪分析。然而,这样的策略可能是不准确的(大多数研究发现这种方法对于大约60-80%的测试数据是准确)。
2011年,由R Socher、Andrew Y. Ng等人发表的论文《Semi-Supervised Recursive Autoencoders
for Predicting Sentiment Distributions》讨论使用递归自动编码器的方法实现情绪分析。
4. 总结
文本主要介绍了AE在NLP中可以尝试去解决的问题,其实AE能有这么多用处,主要还是得益于AE算法的强大的数据压缩的功能,能够把无论什么形式的数据压缩到固定维度,供给进行下一步运算使用。
2. AutoEncoder在NLP中的应用的更多相关文章
- GAN︱GAN 在 NLP 中的尝试、困境、经验
GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响,但是这么好的理论是否可以成功地被应用到自然语言处理(NLP)任务呢? Ian Goodfellow 博士 一年前,网友 ...
- 从0到1,了解NLP中的文本相似度
本文由云+社区发表 作者:netkiddy 导语 AI在2018年应该是互联网界最火的名词,没有之一.时间来到了9102年,也是项目相关,涉及到了一些AI写作相关的功能,为客户生成一些素材文章.但是, ...
- 图解BERT(NLP中的迁移学习)
目录 一.例子:句子分类 二.模型架构 模型的输入 模型的输出 三.与卷积网络并行 四.嵌入表示的新时代 回顾一下词嵌入 ELMo: 语境的重要性 五.ULM-FiT:搞懂NLP中的迁移学习 六.Tr ...
- [转] 理解NLP中的卷积&&Pooling
转自:http://blog.csdn.net/malefactor/article/details/51078135 CNN是目前自然语言处理中和RNN并驾齐驱的两种最常见的深度学习模型.图1展示了 ...
- 转:使用RNN解决NLP中序列标注问题的通用优化思路
http://blog.csdn.net/malefactor/article/details/50725480 /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author ...
- [NLP/Attention]关于attention机制在nlp中的应用总结
原文链接: https://blog.csdn.net/qq_41058526/article/details/80578932 attention 总结 参考:注意力机制(Attention Mec ...
- 在NLP中深度学习模型何时需要树形结构?
在NLP中深度学习模型何时需要树形结构? 前段时间阅读了Jiwei Li等人[1]在EMNLP2015上发表的论文<When Are Tree Structures Necessary for ...
- 理解NLP中的卷积神经网络(CNN)
此篇文章是Denny Britz关于CNN在NLP中应用的理解,他本人也曾在Google Brain项目中参与多项关于NLP的项目. · 翻译不周到的地方请大家见谅. 阅读完本文大概需要7分钟左右的时 ...
- NLP中的预训练语言模型(五)—— ELECTRA
这是一篇还在双盲审的论文,不过看了之后感觉作者真的是很有创新能力,ELECTRA可以看作是开辟了一条新的预训练的道路,模型不但提高了计算效率,加快模型的收敛速度,而且在参数很小也表现的非常好. 论文: ...
随机推荐
- B. Eight Point Sets
B. Eight Point Sets http://codeforces.com/contest/334/problem/B time limit per test 1 second memor ...
- 基于js利用经纬度进行两地的距离计算(转)
转自:http://www.storyday.com/html/y2009/2212_according-to-latitude-and-longitude-distance-calculation- ...
- JAVA基本值类型
Java定义了8个简单(或基本)的数据类型:------------------------------------------------------字节型(byte),短整型(short),整型( ...
- 代码管理(一)git
代码管理工具有很多 主要的有两个 git 和 svn svn 衍生出来的软件有 cornerstone smartSVN git 的图形界面工具有 Sourcetree 前几年 s ...
- lineman 的理念与 modern web app
无意中翻到javascript 有个 lineman工具, 提供了一些脚手架 以及 默认的app目录结构,同时还附带了诸多前端的性能优化工具,在他的主页还发现其理念与我之前关于web app的开发模型 ...
- 设计模式之策略模式&简单工厂模式
学习设计模式已经有非常长一段时间了,事实上先前已经敲过一遍了.可是老认为没有学到什么,认识也不够深刻.如今趁着重构机房,再又一次来过,也不晚. 事实上在敲了机房之后,看看模式,事实上,曾经非常难理解. ...
- 转:ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转
站点地图不外乎就是罗列一个网站的层次结构,提炼地讲就是一个关系结构图.那么我们如何巧用ECharts图表组件内的简单关系结构图来实现一个站点的地图结构呢?另外如何点击某个节点的时候实现页面跳转呢? 针 ...
- Another app is currently holding the yum lock; waiting for it to exit.. yum被锁定无法使用
yum被锁定无法使用 Another app is currently holding the yum lock; waiting for it to exit.. 解决方法: rm -rf /var ...
- php分享二十五:跨域请求
问题: 跨域请求有几种方式? jsonp支持哪几种请求方式? 支持post请求吗? 支持get请求吗? 由于浏览器同源策略,凡是发送请求url的协议.域名.端口三者之间任意一与当前页面地址不同即为跨域 ...
- 【Android开发】之Android环境搭建及HelloWorld
原文链接:http://android.eoe.cn/topic/android_sdk Android开发之旅:环境搭建及HelloWorld Android开发之旅:环境搭建及HelloWorld ...