【问题标题】:How to calculate vectors with word2vec如何用 word2vec 计算向量
【发布时间】:2019-07-23 02:25:27
【问题描述】:

假设我有很多图片。假设有 10 张图片,每张由 50 人注释。 所以图片 1 可能是“海滩、度假、放松、沙滩、阳光……”我现在用特定领域的内容训练 word2vec。我有每个单词的向量并且可以表示它们。但我现在想要的是创建一个代表每张图片的最终向量。所以一个向量代表 50 个注释(海滩、度假、放松、沙滩、阳光……)

假设每个向量用 100 个维度表示 - 我是否只是添加所有 50 个向量的第一个维度(100 个维度),而不是所有 50 个向量的第二个维度......等等。

我非常感谢任何可以帮助我的 cmets!

我试过这个,但我不确定这是否是正确的方法。 我也尝试过 doc2vec,但我想这是有问题的,因为注释的词序无关——但与 doc2vec 相关。???

【问题讨论】:

    标签: gensim


    【解决方案1】:

    一些想法:

    注释列表与自然语言叙述文本完全不同——无论是在标记的相对频率上,还是在相邻标记的重要性方面。因此,您可能想尝试更广泛的训练参数。例如,使用一个巨大的window(远大于你的每个文本)基本上可以否定注释的(可能是任意的)顺序,将每个单词放在其他单词的上下文中。 (这会增加训练时间,但可能会在其他方面有所帮助。)另外,查看新可调的 ns_exponent 参数 - gensim docs 引用的论文表明与默认值非常不同的值可能有助于某些推荐上下文.

    也就是说,将多个向量组合为一个的最简单方法是将它们全部平均。无论这是否适合您的目的,您都必须进行测试。 (它不可避免地会丢失大量独立向量的信息,但如果你的建模的其他方面足够强大——足够的训练数据、足够的维度——真正重要的共享方面可能会保留在摘要向量中。)

    (您可以在另一个recent answer 中看到一些用于平均词向量的代码。)

    你也可以试试Doc2Vec。它不比Word2Vec 更依赖于排序——某些模式使用window 大小的上下文,其中相邻单词相互影响。 (但其他模式不会,或者如上所述,超大的window 基本上可以使相邻距离的相关性降低)。

    【讨论】:

    • 事情开始运行需要一段时间。不过谢谢你 - 一切都解决了!我终于使用了 Doc2Vec,效果非常好。
    猜你喜欢
    • 2019-11-14
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2018-01-20
    • 2017-07-05
    • 1970-01-01
    相关资源
    最近更新 更多