当我在word2vec生成的word嵌入上应用scikit-learn的流形t-sne实现时,得到了奇怪的结果。
通常,(国王皇后)的距离和方向应该和(男人女人)一样,这在网上有很多例子。
我确信我的word2vec模型在使用Google新闻数据集时得到了正确的训练,而且大多数相似的查询(king man+woman)也会按预期返回queen。
转换后的二维矢量也被正确地绘制出来。因此,这一定与scikit-learn的t-sne转换有关。
我正在使用以下python代码进行转换:

vecs = np.concatenate(vecs)
np_vecs = np.array(vecs, dtype='float')
ts = TSNE(2)
reduced_vecs = ts.fit_transform(np_vecs)

python - scikit学习TSNE变换应用于单词向量时返回奇怪的结果-LMLPHP
我做错什么了还是库配置错了?

最佳答案

我也有同样的问题。正如用户1814735所说的,你不能仅仅输入几点就期望得到好的结果。用更大的一组词来喂养,帮助很大。

09-27 00:24
查看更多