如何在统计算法中使用Word2Vec CBOW?

How to use Word2Vec CBOW in statistical algorithm?

我看过几个在神经网络模型中使用 CBOW 的例子(虽然我没看懂)

我知道 Word2Vec 与 BOW 或 TFIDF 不相似,因为 CBOW 没有单一值

我看到的所有示例都使用神经网络。

我有 2 个问题

1- 我们能否将向量转换为单个值并将其放入数据框中,以便我们可以在逻辑回归模型中使用它?

2- 是否有 CBOW 逻辑回归的简单代码?

更多说明。

就我而言,我有一个语料库,我想比较 BOW 和 CBOW 的主要特征

转换为 BOW 后

我得到了这个数据集

RepID   Label   Cat   Dog   Snake   Rabbit  Apple Orange  ...
1       1       5     3     8       2       0 
2       0       1     0     0       6       9
3       1       4     1     5       1       7 

转换为 TFIDF 后

我得到了这个数据集

RepID   Label   Cat   Dog   Snake   Rabbit  Apple Orange  ...
1       1       0.38     0.42    0.02    0.22   0.00   0.19
2       0       0.75     0.20    0.08    0.12   0.37   0.21
3       1       0.17     0.84    0.88    0.11   0.07   0.44

我正在观察每个模型中前 3 个特征的结果

所以我的数据集变成了这样

BOW(我在这里为将要省略的值放空)

RepID   Label    Cat   Dog   Snake   Rabbit  Apple Orange  ...
1       1        5      null    8    null   null   7
2       0        null   null    null    6   9   2
3       1        4      null    5    null   7   null

TFIDF(我在这里为将要省略的值放空)

RepID   Label   Cat   Dog   Snake   Rabbit  Apple Orange  ...
1       1       0.38     0.42    null    0.22   null   null
2       0       0.75     null    null    null   0.37   0.21
3       1       null     0.84    0.88    null   null   0.44

我现在想对 Word2Ven CBOW 做同样的事情

我想取CBOW模型中的最高值

RepID   Label  Cat   Dog   Snake   Rabbit  Apple Orange  ...
1       1      v11     v12    v13    v14   v15   v16
2       0      v21     v22    v23    v24   v25   v26
3       1      v31     v32    v33    v34   v35   v36

变成这样

RepID   Label    Cat   Dog   Snake   Rabbit  Apple Orange  ...
1       1        v11     null    v13    null   v15   null
2       0        null     null    v23    null   v25   v26
3       1        v31     null    v33    v34   null   null

无论内部训练方法,CBOW还是skip-gram,词向量都是多维向量:它包含许多浮点数。

所以在一个层面上,这是一个“值”——其中“值”是一个向量。但它从来都不是一个数字。

词向量,即使具有所有维度,也绝对可以作为下游逻辑回归任务的输入。但确切的细节取决于您正在操作的数据以及您打算实现的目标 - 因此您可能想要扩展您的问题,或者询问更具体的后续行动,并提供有关特定 data/task 您的更多信息正在考虑。

另请注意:这在 scikit-learn 等库的管道中更常见。将密集的高维词向量本身(或从词向量派生的其他特征)直接放入“数据帧”通常是一个错误,与在更多 compact/raw 中使用如此大的特征向量相比,增加了开销和间接性(比如)numpy 数组的格式。