wordVectors开源算法包实现word2vec词向量生成

传送门:rword2vec开源算法包实现word2vec词向量生成

#安装wordVectors包

devtools::install_github(“bmschmidt/wordVectors”)

该包使用李舰的word2vec代码训练word2vec模型,可以读取和写入二进制的word2vec格式(方便导入预先训练好的模型),并提供读取模型一部分(行或列)的工具,以便在内存有限的情况下探索模型

该在R中创建了一个新类VectorSpaceModel,它为探索word2vec或glove模型提供了比原生矩阵更好的语法

#构造训练模型+创建文本向量
model<-train_word2vec(train_file, output_file = "vectors.bin", vectors = 100,
threads = 1, window = 12, classes = 0, cbow = 0, min_count = 5,iter = 5, force = F, negative_samples = 5)

#一般用法
model[[‘原告’]]
model[rownames(model)=='原告',]

model %>% closest_to(~"king"-"man"+"woman")
#两种写法等价
model %>% closest_to(model[rownames(model)=="king",]-model[rownames(model)=="man",]+model[rownames(model)=="woman")

#返回向量空间模型中n个最接近vector向量的单词
closest_to(matrix|VectorSpaceModel, vector, n = 10, fancy_names = TRUE)

#读取向量空间模型,binary参数可基于文件类型名估计(默认即可)
read.vectors(filename, vectors = guess_n_cols(), binary = NULL, ...)

#两者或多个相似词的向量平均
model[[c("被告","原告")]]
model[[c("被告","原告"),average=F]]

#余弦相似度计算
cosineSimilarity(VSM_1,VSM_2)  #计算向量空间模型_1中每个向量与向量空间模型_2中每个向量的余弦相似度
cosineSimilarity(model[rownames(model)=='原告',],model[rownames(model)=='被告',])


cosineDistance(VSM_1,VSM_2)是cosineSimilarity的倒数(它不是真正的距离度量,但可以用作聚类等)

#返回与向量平行部分的vector,reject返回与向量正交的部分vector
project(VSM,vector)
project(model,model[rownames(model)=='被告',])

#计算VSM中每个元素大小
magnitudes(matrix)

猜你喜欢

转载自blog.csdn.net/qq_38984677/article/details/81227346
今日推荐