考虑一个搜索系统,其中用户提交查询“查询”并根据某种排名算法检索产品。假设这些产品是根据它们的质量订购的,例如 p_0、p_1、...、p_10 等等。
我想生成模仿这种排名算法的向量嵌入。最接近查询向量的乘积向量理想情况下应该是 p_0,下一个应该是 p_1,依此类推。
我试图通过提供与句子出现在同一搜索会话中的产品来为产品构建 word2vec 嵌入。然后,我计算了乘积向量的加权平均值,以找到查询向量,使查询向量更接近顶部结果。尽管最接近的结果通常是给定查询的最佳结果,但随后的结果包括一些永远不会显示为最佳结果的结果。
word2vec 是否有一个技巧可以学习排名算法或我可以尝试的任何其他技术?我已经研究了具有非度量距离的多维矢量缩放,但对于超过 100Ks 的产品,它对我来说似乎没有可扩展性。