(一)文本嵌入式表示方法实战(词、句和段落向量:Word2Vec,GloVe,Paragraph2vec,FastText,DSSM)

本文深入探讨了文本嵌入式表示方法,包括Word2Vec的CBOW和Skip-gram模型、层次Softmax与负抽样,以及GloVe的原理。通过对词、句和段落向量的分布式表示,展示了这些方法如何捕捉文本的语义关系。实验部分涵盖了C和Python实现的Word2Vec,并对比了不同参数设置的影响。
摘要由CSDN通过智能技术生成

《文本嵌入式表示方法实战》系列文章是基于2017年我于研一下半学期做的两场长时间的组会汇报ppt上形成的文章(学习和实验长达3个月,因为当时主要以上课为主,实验都是课余时间做的。。),由于当时我正处于入门阶段,理解和表述定有不当之处,还请各位同学老师批评指教。。。

《文本嵌入式表示方法实战》系列文章全部链接如下:

(一)文本嵌入式表示方法实战(词、句和段落向量:Word2Vec,GloVe,Paragraph2vec,FastText,DSSM)

(二)文本嵌入式表示方法实战(词、句和段落向量:Word2Vec,GloVe,Paragraph2vec,FastText,DSSM)

(三)文本嵌入式表示方法实战(词、句和段落向量:Word2Vec,GloVe,Paragraph2vec,FastText,DSSM)


1 前言

文本特征提取和表示方法历来是自然语言处理的核心问题之一,因为文本是符号数据,只要两个词只要构成的字不同或者构成的字相同就难以刻画他们之间的关系(例如“麦克风”和“话筒”这样的同义词,从字面上看不出两者含义相同)。

自然语言处理与图像处理和语音处理不同的地方是文本是符号数据,图像和语音的处理对象都是信号数据。信号数据可以很方便的从数学上进行刻画和描述,可以直接作为特征输入到深度学习模型中,而这也是深度学习能够在图像处理和语音处理取得重大突破的重要原因之一。

目前主要流行的文本表示方法是词嵌入(词向量)分布式表示方法,目前已经被广泛应用于各项自然语言处理任务中。分布式表示方法主要基于分布式假说(distributional hypothesis,上下文相似的词,其语义也相似。该假说由 Harris 在 1954 年提出,并由 Firth 在 1957 年进一步明确和完善)。

接下来需要界定几个概念:(参考来斯惟博士的毕业论文)

分布表示(distributional representation):分布(distributional)描述的是上下文的概率分布,因此用上下文描述语义的表示方法(基于分布假说的方法)都可以称作分布表示。与之相对的是形式语义表示。

分布式表示(distributed representation):分布式(distributed)描述的是把信息分布式地存储在向量的各个维度中,与之相对的是局部表示(local representation),如词的独热表示(one-hot representation),在高维向量中只有一个维度描述了词的语义。一般来说,通过矩阵降维或神经网络降维可以将语义分散存储到向量的各个维度中,因此,这类方法得到的低维向量一般都可以称作分布式表示。

本文主要从原理介绍结合实验实践来介绍目前主流的Word2VecGloVeParagraph2vecFastTextDSSM五种文本嵌入式方法(分布式表示方法),这几种方法分别从不同的文本粒度(子词、词、句、段落)探索了文本嵌入式表示方法。

2 相关工作

2.1 基于矩阵的分布表示

较为经典的方法是基于矩阵的分布表示方法。基于矩阵的分布表示通常又称为分布语义模型,这类方法需要构建一个“词-上下文”矩阵,从矩阵中获取词的表示。这类方法具体可以分为三个步骤:

一、选取上下文。最常见的有三种方法:

n    第一种,将词所在的文档作为上下文,形成“词-文档”矩阵;

n    第二种,将词附近上下文中的各个词(如上下文窗口中的 5 个词)作为上下文,形成“词-词”矩阵;

n    第三种,将词附近上下文各词组成的 n 元词组(n-gram)作为上下文。在这三种方法中,“词-文档”矩阵非常稀疏,而“词-词”矩阵相对较为稠密,效果一般好于前者。“词-n 元词组”相对“词-词”矩阵保留了词序信息,建模更精确,但由于比前者更稀疏,实际效果不一定能超越前者。

二、确定矩阵中各元素的值。“词-上下文”共现矩阵根据其定义,里面各元素的值应为词与对应的上下文的共现次数。然而直接使用原始共现次数作为矩阵的值在大多数情况下效果并不好,因此研究人员提出了多种加权和平滑方法,最常用的有 tf-idf(词频-逆文档频)、 PMI (点互信息)和直接取 log。

三、矩阵分解(可选)。在原始的“词-上下文”矩阵中,每个词表示为一个非常高维(维度是不同上下文的总个数)且非常稀疏的向量,使用降维技术可以将这一高维稀疏向量压缩成低维稠密向量。降维技术可以减少噪声带来的影响,但也可能损失一部分信息。最常用的分解技术包括奇异值分解(SVD)、非负矩阵分解(NMF)、典型关联分析(Canonical Correlation Analysis, CCA)、Hellinger PCA(HPCA)。

基于矩阵的分布表示在这些步骤的基础上,衍生出了若干不同方法,如经典的 LSA 就是使用“词-文档”矩阵, tf-idf 作为矩阵元素的值,并使用 SVD分解,得到词的低维向量表示。在这类方法中,最新的GloVe 模型就是借鉴了这种词共现矩阵的思想,后面会介绍该模型。 举一个“词-上下文矩阵”简单的例子。假设我们的语料库由三句话构成:

1→ I like deep learning.

2→ I like NLP.

3→ I enjoy flying.

然后设置统计窗口大小为1,并采用对称窗口(考虑词左侧和右侧,非对称窗口则考虑一侧),可以得到矩阵如图1所示:

图1

n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值