Word Vector

本文介绍了Word Vector的转换方法,包括One-hot Encoding、基于SVD的方法和迭代方法Word2Vec。Word2Vec包含CBOW和Skip-Gram模型,以及Negative Sampling和Hierarchical Softmax。此外,还提到了GloVe方法,它通过全局统计信息优化词向量。评估方法包括内部和外部评估,如近义词查找、情感分析和窗口分类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Word Vector 方法

通常情况下,我们需要解决的问题都是和数字来打交道。对于nlp而言,语言中包含很多非数字的词语,要想实现对一句话的理解,首要做的是将词语转化为向量。将词语转化为向量的方法主要有3大种。下面分别进行介绍:

1、One hot Encoding

即将词语转化为一个长度为单词库中单词数量相同的向量,该向量在该词的位置处值为1,其他位置处值为0。这种表达方式很简单,但缺点也是很明显的。向量维度较高,同时这些数字没有实际意义。比如hotel = [0 0 1], motel = [1 0 0],通过点积两个向量值为0,而两个词意是很接近的,显然不太符合实际需求。

2、SVD based method

SVD的基本思路是矩阵分解,那么首先我们需要获取矩阵。矩阵的形式有2种:word-document word-word。其中word-document矩阵的维度是MxV(其中M是指document的数量,V是指词库的数量)。而word-word matrix 也称作Window based Co-occurrence Matrix,统计的是以某词为中心词的情况下,在window size内其他词出现的次数。这主要是因为根据window的大小的不同,得到的矩阵也不同,维度是VxV。
得到矩阵后,处理的基本思路是:
a、将矩阵X做svd分解, X=USVT
b、选择U的前K列得到K维的词向量
这种方法可以表征词与词之间的关系,但同时也面临以下问题:
a、随着词库中新增词语以及语料库的增加,矩阵的维度可能是经常变化的。
b、矩阵可能是很稀疏的,因为大部分的词语使用频率较低
c、矩阵的维度是很高的
d、进行SVD分解时的复杂度较高
e、词频可能是极不平衡的
解决以上问题的一些思路:
a、忽略一些功能性的词语比如:the、 he、has等
b、计算词频时参考词语到中心词的距离加适当的权重
c、应用皮尔逊相关系数,取代原来的值,将负值设为0。

3、迭代方法:Word2Vec

这种方法的基本思路是通过将一些词向量看做参数,设计目标函数,利用一些优化方法去获得这些参数的值。
Word2Vec实际上包含2种算法和2种训练方法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值