我是word2vec算法的忠实粉丝。我已经获得了由谷歌研究团队制作的矢量二进制文件,我想对此进行一些分析(我之前在比谷歌制作的数据集小得多的数据集上做过)。
我无法将文件GoogleNews-vectors-negative300.bin.gz导入到R中。
我已经提取了它,并使用rword2vec(在github上找到)从bin转换为txt文件。 包里面有一种搜索功能,但它很懒散。
这就是为什么我现在尝试在R中导入文件并将其转换为数据帧,如果可能的话,使用结构:
name | vec1 | ... | vec300
我曾尝试内置readBin(无法获取名称),还有readTines with txt(没有完成)或readr包和read_lines(只做12Mb大向量)
你能指出我正确的方向吗?答案 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