《中国人工智能学会通讯》——7.3 分布式表示
7.3 分布式表示
深度学习最早在自然语言处理中的应用是神经网络语言模型[4] ,其背后的一个基本假设是使用低维、稠密、连续的向量表示词汇,又被称为分布式词表示(Distributed Word Representation)或词嵌入(Word Embedding)。从直觉上来讲,使用该项技术,可以将相似的词汇表示为相似的向量,如“马铃薯”和“土豆”的词向量比较相似。这样,如果我们在训练数据中只观察到了“马铃薯”,即使在测试时出现了“土豆”,也能通过词向量判断其与“马铃薯”比较相似,从而在一定程度上缓解了自然语言处理中常见的数据稀疏问题。
在理论上,将原有高维、稀疏、离散的词汇表示方法(又称为 One-hot 表示)映射为分布式表示是一种降维方法,可有效克服机器学习中的“维数灾难(Curse of Dimensionality)”问题,从而获得更好的学习效果。同时这种分布式表示的表达能力更强,理论上其表达能力与其维度成指数关系,而传统离散表示是线性关系。另外一种对分布式词表示的理解是,不同维度表示了词的不同主题,各维度上的数值表示了一个词对于不同主题的权重,这相当于将原来线性不可分的一个词抽取出其各个属性,从而更有利于分类(最终还是线性分类)。这就好比我们要区分不同种族的人,只通过人名(相当于传统的离散词表示方式)不好区分,而如果能将每个人抽取出各种“属性 - 值”对(相当于转换为分布式词表示),如眼睛的颜色、鼻子的高度等,就更容易进行人种的区分了。
分布式词表示近年来被广泛应用于自然语言处理中,通常有直接和间接两种应用方式。所谓直接应用,即使用学习到的分布词表示进行词语之间的相似度计算或者句法语义关系的学习。事实上,对词语之间相似度的表达能力,也一度被用于评价学习获得的分布式词表示,常用的评测集有WordSim-353 ( 英文 ) 等。
另一方面,分布式词表示能够在一定程度上表达特定的句法语义关系则是其另一个非常有趣的性质。这种性质首先由 Mikolov et al 发现[5] ,他们通过对数据的观察,发现满足相同句法或语义关系的两个词对,其分布式表示的差向量也非常接近,如V(Woman)-V(Man)≈V(Queen)-V(King)。这意味着,只需要通过简单的向量运算,就可以表达词汇之间所蕴含的句法或语义关系。该性质后来被广泛应用于知识图谱(Knowledge Graph)或本体(Ontology)的构建等任务[6] 。
分布式词表示的另一方面应用为间接应用,即将其作为上层系统的输入,利用该表示的各种优秀性质,提高上层系统的准确率。最简单的做法是将分布式词表示作为额外的特征输入给上层系统[7] ,这样上层系统可以不进行任何修改,仍然使用传统的线性模型,通过分布式词表示增强词汇特征的泛化能力,提高准确率。另一种做法是将上层系统替换为多层非线性神经网络模型,这样分布式词表示在作为特征输入给系统的同时,也可以通过反向传播机制进行微调(Fine-tuning),从而更加适用于具体的自然语言处理任务。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《中国人工智能学会通讯》——7.2 基于深度学习的自然语言处理
7.2 基于深度学习的自然语言处理 深度学习旨在模拟人脑对事物的认知过程,一般是指建立在含有多层非线性变换的神经网络结构之上,对数据的表示进行抽象和学习的一系列机器学习算法。该方法已对语音识别、图像处理等领域的进步起到了极大的推动作用,同时也引起了自然语言处理领域学者的广泛关注。 如图 1 所示,深度学习为自然语言处理的研究主要带来了两方面的变化,一方面是使用统一的分布式(低维、稠密、连续)向量表示不同粒度的语言单元,如词、短语、句子和篇章等;另一方面是使用循环、卷积、递归等神经网络模型对不同的语言单元向量进行组合,获得更大语言单元的表示。除了不同粒度的单语语言单元外,不同种类的语言,甚至不同模态(语言、图像等)的数据都可以通过类似的组合方式,表示在相同的语义向量空间中;然后通过在向量空间中的运算来实现分类、推理、生成等各种能力,并应用于各种相关的任务之中。下面分别对这两方面加以详细的阐述。
- 下一篇
《中国人工智能学会通讯》——7.4 语义组合
7.4 语义组合 分布式词表示的思想可以进一步扩展,即通过组合(Composition)的方式来表示短语、句子,甚至是篇章等更大粒度的语言单元。目前主要通过三种神经网络结构来实现不同的组合方式,即循环神经网络(顺序组合)、卷积神经网络(局部组合)和递归神经网络(根据句法结构进行组合) [8] 。下面以句子“我 喜欢 红 苹果”为例,说明不同组合方式的基本原理及其优缺点,具体可以参见图 1 中“深度学习”部分。 循 环 神 经 网 络(RNN,Recurrent NeuralNetwork)从左至右顺序地对句子中的单元进行两两组合,首先将“我”和“喜欢”组合,生成隐层h 1 ;然后将 h 1 与“红”进行组合,生成 h 2 ,以此类推。传统的循环神经网络模型存在严重的梯度消失(Vanishing Gradient)或者梯度爆炸(ExplodingGradient)问题,尤其是当句子较长,即网络的层数较多时。深度学习中一些常用的技术,如使用ReLU 激活函数、正则化,以及恰当的初始化权重参数等都可以部分解决这一问题。另一类更好的解决方案是减小网络的层数,以 LSTM 和 GRU 等为代表的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Mario游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池