word2vec中单词向量的特征


9

我正在尝试进行情绪分析。为了将单词转换为单词向量,我使用了word2vec模型。假设我的所有句子都在名为“句子”的列表中,并且将这些句子传递给word2vec,如下所示:

model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300,   window=5, sample=1e-3)

由于我对词向量不敏感,因此我有两个疑问。
1-将特征数量设置为300定义了单词向量的特征。但是这些功能意味着什么?如果此模型中的每个单词都由1x300 numpy数组表示,那么这300个功能对该单词表示什么?

2-在上述模型中,以“样本”参数表示的向下采样实际上有什么作用?

提前致谢。

Answers:


10

1-特征数量:就神经网络模型而言,它表示投影(隐藏)层中神经元的数量。由于投影层是基于分布假设建立的,因此每个单词的数值向量表示其与上下文单词的关系。

这些功能是由神经网络学习的,因为这是无监督的方法。每个向量都有几组语义特征。例如,让我们以经典示例为例,V(King) -V(man) + V(Women) ~ V(Queen)每个单词都由300维矢量表示。V(King)在向量中按一定顺序具有皇家,王国,男子气概,人类的语义特征。V(man)将具有男性气质,人类,以一定的顺序工作。因此,V(King)-V(Man)完成后,男性气质,人性特征将被废除,而当添加V(Women)具有女性气质的人性特征时,将添加人性特征,从而产生与V(Queen)。有趣的是,这些特征以一定顺序编码在向量中,以便数值计算(例如加法,减法)完美地工作。这是由于神经网络中无监督学习方法的性质所致。

2-有两种近似算法。Hierarchical softmaxnegative sampling。给定样本参数后,它将进行负采样。在分层softmax的情况下,对于每个单词向量,其上下文单词被赋予正输出,而词汇表中的所有其他单词被赋予负输出。时间复杂度的问题通过负采样解决。与否定采样一样,而不是整个词汇表,仅词汇表的采样部分被赋予负输出,并且训练向量的速度比以前的方法快得多。


对word2vec功能的这种解释具有误导性。空间中没有阳刚之气,矢量中也没有版税元素。如果真是这样,那么一个300维向量空间只能代表300个独立的语义二分法。
丹·希克斯

@DanHicks:我从来没有提到每个功能都是空间的维度。我只是告诉我们,这些语义特征按一定顺序编码在向量中,因此可以进行数学运算。
yazhi

“功能”通常是指用于表示大小写的变量,在这种情况下,是单词向量的元素/向量空间的维数。@Nain的问题显然以这种方式使用“功能”。您正在谈论的“语义特征”充其量只是谈论word2vec如何处理类比的一种模糊方式。它们根本不是词向量的特征。
丹·希克斯

1
您是对的。我已经将“语义特征”编辑为“语义特征”,答案中的“特征”仅表示向量的维数。
yazhi

0
  1. 根据分布假设,单词向量中的个体维数在现实世界中对单词的意义不大。您需要担心各个尺寸。如果您的问题是这样,我应该如何选择维度数,它完全基于实验数据,可以从100到1000。对于许多在Wiki文本上进行训练的实验,300维度通常会提供最佳效果结果。
  2. 样本参数是用于修剪高频单词的参数。例如“ the”,“ is”,“ was”,在预测内部单词时不会在窗口中考虑这些停用词,并且默认值可以很好地识别出频率较高的这些停用词。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.