我有一个单词嵌入文件,如下所示click here to see the complete file in github。我想知道生成单词嵌入的过程,这样我就可以为我的个人数据集生成单词嵌入
in -0.051625 -0.063918 -0.132715 -0.122302 -0.265347
to 0.052796 0.076153 0.014475 0.096910 -0.045046
for 0.051237 -0.102637 0.049363 0.096058 -0.010658
of 0.073245 -0.061590 -0.079189 -0.095731 -0.026899
the -0.063727 -0.070157 -0.014622 -0.022271 -0.078383
on -0.035222 0.008236 -0.044824 0.075308 0.076621
and 0.038209 0.012271 0.063058 0.042883 -0.124830
a -0.060385 -0.018999 -0.034195 -0.086732 -0.025636
The 0.007047 -0.091152 -0.042944 -0.068369 -0.072737
after -0.015879 0.062852 0.015722 0.061325 -0.099242
as 0.009263 0.037517 0.028697 -0.010072 -0.013621
Google -0.028538 0.055254 -0.005006 -0.052552 -0.045671
New 0.002533 0.063183 0.070852 0.042174 0.077393
with 0.087201 -0.038249 -0.041059 0.086816 0.068579
at 0.082778 0.043505 -0.087001 0.044570 0.037580
over 0.022163 -0.033666 0.039190 0.053745 -0.035787
new 0.043216 0.015423 -0.062604 0.080569 -0.048067
答案 0 :(得分:0)
我可以按照以下步骤将字典中的每个单词转换为上述格式:
- 最初用唯一整数
表示字典中的每个单词- 逐个取每个整数并执行数组([[integer]])并在下面的代码中将其作为输入数组提供
- 然后可以将对应于整数和相应输出向量的单词存储到json文件中(我使用output_array.tolist()来存储json格式的向量)
醇>
{{1}}
<强>参考强>
答案 1 :(得分:0)
重要的是要了解有多种方法可以为单词生成嵌入。例如,流行的word2vec可以使用CBOW或Skip-gram生成单词嵌入。
因此,可以有多个“程序”来生成单词嵌入。生成嵌入的一种更容易理解的方法(尽管有其缺点)是使用奇异值分解(SVD)。以下简要描述这些步骤。
您可以使用word2vec的skipgram模型查看此链接以获取更详细的说明,以生成嵌入。 Word2Vec Tutorial - The Skip-Gram Model