首页 理论教育 自编译word2vec函数优化

自编译word2vec函数优化

时间:2023-06-28 理论教育 版权反馈
【摘要】:自编译函数需要自己设置环境,只有两个函数:word2vec和distance。3)查看train_word2vec.R,其中有在R中如何调用word2vec的API。具体的可以从http://download.csdn.net/download/sinat_26917383/9513075下载得到完整的自编译函数、说明以及上述提到的PDF文档。由于word2vec计算的是余弦值,距离范围为0~1之间,值越大代表这两个词关联度越高,所以越排在上面的词与输入的词越紧密。

自编译word2vec函数优化

自编译函数需要自己设置环境,只有两个函数:word2vec和distance。注意事项如下:

1)仔细阅读“.c.call extensions.pdf”文件,该文件详细写出了如何在计算机中搭建一个适用于R语言二进制数据库。

2)Windows系统下,需要下载“Rtools.exe”文件,并改变环境变量的路径,同时重启计算机。

3)查看train_word2vec.R,其中有在R中如何调用word2vec的API。

具体的可以从http://download.csdn.net/download/sinat_26917383/9513075下载得到完整的自编译函数、说明以及上述提到的PDF文档。

● word2vec函数

>word2vec<-function(train_file,output_file,

binary=1, #输出格式,1—binary,0—txt

cbow=0, #训练算法,0—n-gram模型,1—词袋模型(CBOW)

num_threads=1,#线程

num_features=300, #输出的词向量维数

window=10, #窗口大小(www.xing528.com)

min_count=40, #最低词频,默认为5

sample=1e-3, #下采样阈值(词频下限,建议.00001-.01)

classes=0)

除了上面所提到的参数,还有:

①alpha表示学习速率。

②classes表示词聚类簇的个数,从相关源码中可以得出,该聚类一般采用k-means算法,模型训练完成之后,得到了.bin这个词向量文件,文件的存储类型由binary参数决定,如果为0,便可以直接用编辑器打开,进行查看。

● distance函数

其中word2vec中提供了distance求词的cosine相似度,并排序。也可以在训练时,设置-classes参数来指定聚类的簇个数,使用kmeans进行聚类。

由于word2vec计算的是余弦值,距离范围为0~1之间,值越大代表这两个词关联度越高,所以越排在上面的词与输入的词越紧密。

distance(file_name,word,size)输出是一个list,然后可以得到cos距离。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈