将word2vec GoogleNews-vectors-negative300.bin.gz导入并使用到R中

时间:2017-01-27 21:40:55

标签: r word2vec

我是word2vec算法的忠实粉丝。我已经获得了由谷歌研究团队制作的矢量二进制文件,我想对此进行一些分析(我之前在比谷歌制作的数据集小得多的数据集上做过)。

我无法将文件GoogleNews-vectors-negative300.bin.gz导入到R中。

我已经提取了它,并使用rword2vec(在github上找到)从bin转换为txt文件。 包里面有一种搜索功能,但它很懒散。

这就是为什么我现在尝试在R中导入文件并将其转换为数据帧,如果可能的话,使用结构:

name | vec1 | ... | vec300

我曾尝试内置readBin(无法获取名称),还有readTines with txt(没有完成)或readr包和read_lines(只做12Mb大向量)

你能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

我终于找到了办法。

使用包rword2vec,可以使用包中提供的函数bin_to_txt或框架。有关详细信息,请参阅提供的小插图。

library(rword2vec)
dist=distance(file_name = "GoogleNews-vectors-negative300.bin",search_word = "king",num = 10)
dist
           word              dist
1         kings 0.713804960250854
2         queen 0.651095926761627
3       monarch 0.641319692134857
4  crown_prince 0.620422065258026
5        prince 0.615999639034271
6        sultan 0.586482524871826
7         ruler 0.579756796360016
8       princes 0.564655303955078
9  Prince_Paras 0.543294668197632
10       throne 0.542210519313812