请求提供R中word2vec包复现king-man+woman=queen的可行代码及模型
实现king - man + woman = queen的R代码方案
依赖包与模型准备
- 安装R包
keras:该包支持直接加载bin格式的预训练word2vec模型 - 预训练模型:搜索获取
GoogleNews-vectors-negative300.bin(经典的word2vec预训练模型,bin格式)
完整代码
# 安装并加载依赖包 install.packages("keras") library(keras) # 加载预训练词向量模型 word_vecs <- load_word2vec_format( filepath = "GoogleNews-vectors-negative300.bin", binary = TRUE, skip_first_line = FALSE ) # 执行向量运算:king - man + woman calc_vec <- word_vecs["king", ] - word_vecs["man", ] + word_vecs["woman", ] # 计算余弦相似度并排序取Top5 sim_scores <- cosine_similarity(calc_vec, word_vecs) top_results <- sim_scores[order(-sim_scores[,1]), ][1:5, ] print(top_results)
结果说明
运行代码后,输出的Top结果中queen会位于首位,完成经典类比的复现。
内容的提问来源于stack exchange,提问作者vonjd
相关产品推荐
相关产品推荐

