【发布时间】:2020-11-23 18:48:18
【问题描述】:
我在 Gensim 中使用来自维基百科的预训练词向量 "glove-wiki-gigaword-100"。正如this example documentation 所示,您可以使用
model_gigaword.wv.most_similar(positive=['dirty','grimy'],topn=10)
但是,我想查询与给定向量最相似的词,指定为数组(与预训练模型中的词向量格式相同)。例如,在预训练模型中添加或减去两个词向量的结果,如
vec = model_gigaword['king']-model_gigaword['man']
输出:(对于vec)
array([-0.696 , -1.26119 , -0.49109 , 0.91179 , 0.23077281,
-0.18835002, -0.65568995, -0.29686698, -0.60074997, -1.35762 ,
-0.11816999, 0.01779997, -0.74096 , 0.21192 , -0.407071 ,
-1.04871 , -0.480674 , -0.95541 , -0.06046999, 0.20678002,
-1.1516 , -0.98955095, 0.44508 , 0.32682198, -0.03306001,
-0.31138003, 0.87721 , 0.34279 , 0.78621 , -0.297459 ,
0.529243 , -0.07398 , 0.551844 , 0.54218 , -0.39394 ,
0.96368 , 0.22518003, 0.05197001, -0.912573 , -0.718755 ,
0.08056 , 0.421177 , -0.34256 , -0.71294 , -0.25391 ,
-0.65362 , -0.31369498, 0.216278 , 0.41873002, -0.21784998,
0.21340999, 0.480393 , 0.47077006, -1.00272 , 0.16624999,
-0.07340002, 0.09219003, -0.02021003, -0.58403 , -0.47306 ,
0.05066001, -0.64416003, 0.80061007, 0.224344 , -0.20483994,
-0.33785298, -1.24589 , 0.08900005, -0.08385998, -0.195515 ,
0.08500999, -0.55749 , 0.19473001, -0.0751 , -0.61184 ,
-0.08018 , -0.34303 , 1.03759 , -0.36085004, 0.93508005,
-0.00997001, -0.57282 , 0.33101702, 0.271261 , 0.47389007,
1.1219599 , -0.00199997, -1.609 , 0.57377803, -0.17023998,
-0.22913098, -0.33818996, -0.367797 , 0.367965 , -1.08955 ,
-0.664806 , 0.05213001, 0.40829998, 0.125692 , -0.44967002],
dtype=float32)
如何获得与vec 最相似的词?
【问题讨论】:
-
我已将答案更新为更简单的解决方案。
标签: python nlp gensim word2vec