【问题标题】:Custom scoring function in Azure SearchAzure 搜索中的自定义评分功能
【发布时间】:2022-01-19 15:38:36
【问题描述】:

我将每个文档的向量表示为一个字段。是否可以针对所有这些字段运行我的自定义评分函数?

评分函数采用搜索查询和文档向量并返回一个数字。

【问题讨论】:

    标签: azure-cognitive-search


    【解决方案1】:

    您能否扩展您正在尝试创建的功能?您如何尝试从文档向量和查询中获取数字?文档向量是描述文档的嵌入吗?您是否希望将其与描述搜索查询本身的相同格式的另一个向量进行比较?如果这就是您正在尝试做的事情,那么到目前为止,我们还没有内置的支持来对密集向量进行评分。您最好的选择是使用支持/传统的评分方法从 Azure 搜索返回大量文档,然后在您自己的服务器上创建第二个排名器,该排名器将使用您自己的自定义算法重新排名结果(可以使用密集向量)。

    【讨论】:

    • 是的,你理解正确,文档向量是描述文档的嵌入。是否有计划添加此功能?我有数以百万计的文档,因此在合理的时间内返回所有内容并重新排名并不是真正可行的。 Sorl/Lucene 已经可以选择添加自定义记分器
    • 没有计划在不久的将来发布此功能,认为我们正在研究中/长期。对于 L2 排序器,您不必返回数百万个文档。人们通常实现 L2 ranker 的方式是首先使用基于标准术语的检索和排名过滤掉文档,然后使用他们的 L2 ranker 进行第二次传递。例如,如果您希望返回 100 个使用向量邻近度排序的文档,您可以从 Azure 搜索返回前 1000 个文档(通过基于 TFIDF 的算法进行排序),并使用 L2 对它们重新排序以保持前 100 个。
    【解决方案2】:

    据我目前了解到的情况,认知搜索不支持自定义评分功能。您可以将矢量表示转换为整数字段,然后应用内置的幅度函数。 https://docs.microsoft.com/en-us/azure/search/index-add-scoring-profiles#functions

    【讨论】:

      猜你喜欢
      • 2018-10-27
      • 2017-06-19
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-01
      • 2018-09-22
      • 2018-02-22
      相关资源
      最近更新 更多