使用排名模型调整应用创建自定义排名模型

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

如果标准排名模型不满足你的相关性要求,则可以为经典搜索体验创建自定义排名模型。 使用排名模型优化应用,可以比以前更轻松地执行此操作。 该应用提供用于复制现有排名模型的用户界面、判断一组查询的结果、添加或删除排名功能以及调整这些功能的权重。 最后,可以评估更改,并在对结果满意时发布新的排名模型。

为什么要创建自定义排名模型?

在大多数情况下,SharePoint Server 中的排名模型提供良好的搜索结果排名,还可以使用查询规则影响搜索结果的排名。 但是,如果你对标准排名模型不提供的搜索结果有特定的相关性需求,则可以创建自定义排名模型。

下面是一些典型的用例:

  • 你添加了一个特定的托管属性,你认为该属性会影响网站上的项目排名。

示例:食品商店添加了一个新的托管属性“无麸质”,并希望将此托管属性包含在搜索结果的排名计算中。

  • 你希望为标准排名模型中的一个或多个托管属性提供比默认情况下更多的排名权重。

示例:一家会计公司希望 excel 工作簿 (文件类型) 具有比使用标准排名模型时更高的排名权重。

重要

创建自定义排名模型相当复杂,不应轻取此点。 为了获得好的结果,需要花费时间执行诸如判断大量查询之类的任务。

详细了解排名和排名模型:

获取 SharePoint Server 的应用程序

重要

对于 SharePoint Server 2013,建议从 2014 年 3 月起安装 SharePoint Server 2013 累积更新。

  • 安装应用程序并准备 SharePoint 场,以便使用与所有 SharePoint Server 应用相同的标准进程来允许应用: 安装和管理 SharePoint 应用

  • 若要使用应用,你必须是搜索服务应用程序管理员。

创建自定义排名模型 - 主要步骤

  • 单击应用图标 “排名模型优化应用 ”,转到应用的起始页。

按照以下主要步骤创建自定义排名模型。 在微调模型时,预期在不同的步骤之间来回切换。

  1. 步骤 1:复制现有排名模型并为其命名

  2. 步骤 2:添加判断集

  3. 步骤 3:判断集中查询的结果

  4. 步骤 4:添加排名功能并优化权重

  5. 步骤 5:评估更改

  6. 步骤 6:发布排名模型

步骤 1:复制现有排名模型并为其命名

启动应用时,会看到所有可用排名模型的列表。 首次使用时,这是 SharePoint 提供的一组标准排名模型。 这些排名模型标有 基本模型,允许的唯一操作是 复制 。 若要创建自定义排名模型,请复制现有模型,然后修改副本。 使用应用创建的任何模型都标有“非基础模型”,还可以编辑发布或删除这些模型。

SharePoint 提供的大多数标准排名模型都有一个线性阶段和一个神经阶段。 使用此应用,只能自定义排名模型的线性阶段,因为线性阶段更易于优化和自定义。

建议使用 具有两个线性阶段的搜索排名模型 作为自定义排名模型的基础,这样就可以更轻松地重新优化和自定义排名模型。

  1. 在现有排名模型列表中,选择要复制的模型。

  2. 单击右侧的箭头,然后选择“ 复制”。

  3. “编辑排名模型 ”页上,键入新排名模型的名称。

  4. 选择要对其测试查询的结果源。

步骤 2:添加判断集

可以将一个或多个判断集添加到排名模型。 判断集通常包括热门查询、对业务很重要的查询,或当前排名模型处理得不够好的查询。 在 “编辑排名模型 ”页上的“ 判断查询”下,选择 “添加判断集”。

  1. “编辑判断集 ”页上,选择以下一个或多个选项:
选项 说明
导入判断查询
如果已有一组针对查询返回的文档的查询和标签,则可以导入它们。 选择要上传的文件,然后单击“ 导入查询”。
导入文件必须是具有以下架构的 XML 类型:
<QuerySet Name="testRM - JudgementSet"><Query QueryString="query1" ><Judgements><Document Url="docUrl1" Label="Excellent" /><Document Url="docUrl2" Label="Good" /><Document Url="docUrl3" Label="Fair" /><Document Url="docUrl4" Label="Bad" /></Judgements></Query></QuerySet>可以使用四个标签来指示查询所需的结果:“优秀”、“良好”、“公平”和“”。
添加采样查询
如果搜索在网站上处于活动状态,则可以让应用从现有查询日志中选取一组随机查询。 应用将选择更常用的查询。
在框中指定要采样的查询数,然后单击“ 添加查询”。
手动添加查询
直接在应用中键入查询,每行一个查询,然后单击“ 添加查询”。
可以通过这种方式添加所有查询,也可以手动将更多查询添加到现有查询集。
  1. 如果导入了带有标签的判断查询,请单击“ 完成 ”以保存判断集。 如果从查询日志或手动添加了查询,则可以开始判断查询,请参阅步骤 3。

若要确保相关性指标是特定网站的排名模型性能的可靠指标,请确保:

  • 判断集中有足够的查询。 查询越多,在这些查询的前 10 个中判断的文档越多,就越好。

  • 你期望具有的查询范围具有代表性的混合。

步骤 3:判断集中查询的结果

现在,查看所有查询并评估每个查询的结果。 确定索引中特定文档作为特定查询的搜索结果的相关程度或期望程度。 你认为文档相关性越强或所需程度越高,其排名列表中的预期就越高。

注意

如果在上一步中导入了已判断的查询,则结果已有分级,你可以跳过此步骤。

  1. “编辑判断集 ”页上,对于每个查询,单击查询文本并选择“ 判断结果”。

  2. “评估查询 ”页上,可并排看到两组结果: 具有基础模型的结果具有当前模型的结果。 在对新排名模型进行任何更改之前,这两个结果集将相同。

  • 对于每个结果,请评估结果,并通过选择从 1 到 5 的星数来 (标签) 评分。 单星选项“断开链接”可用于无法访问的文档。

    对排名模型进行第一轮更改后,可以在此视图中并排比较两个结果集。 将当前排名模型与基础模型或新模型的最后保存版本进行比较。 这样,就可以评估已进行的不同自定义的效果。

  1. 为查询的结果评分后,单击“ 下一步查询 ”以继续完成判断集。

  2. 单击“ 完成 ”保存集。

完成并评估了判断集中的查询后,会看到该集的判断范围。 对模型进行更改后,可以看到不同判断集的新排名模型提高了多少相关性。

此列 显示以下信息
查询文本
判断集中的查询。
判断范围
当前排名前十的文档 URL 的百分比。
注意: 仅当判断覆盖率较高时,相关性指标才可靠。 若要增加覆盖范围,请判断查询的更多结果。
相关性与基础排名
对排名模型进行更改后,此图显示了与基础模型相比,新排名模型的查询的相关性得到了多少改进。 如果分数为 0.00%,则查询的两个模型之间没有差异。 如果分数为负值,则相关性已降低。
与已保存的模型
应用在处理排名模型时保留其草稿版本。 可以将当前草稿版本与新排名模型的上次保存版本进行比较。
此图显示了与上次保存的版本相比,模型当前草稿的相关性得到了多少改进或减少。

应用中使用的相关性指标是针对前五个结果计算的“折扣累积收益”。

步骤 4:添加排名功能并优化权重

复制现有排名模型时,新的排名模型包含与基础模型中相同的排名功能和权重。 可以添加更多托管属性作为其他排名功能、删除现有功能或优化现有功能的权重。

注意

只能选择已创建和配置的托管属性。 管理托管属性(例如创建新托管属性或将其设置为可搜索或可排序)不在此应用范围内。

步骤 4a:添加排名功能

  1. “编辑排名模型 ”页上的“ 添加和优化功能”下,单击“ 添加要自定义的功能”。

  2. “添加排名功能以自定义 ”页上,选择以下类型的排名功能:

排名功能类型 说明
基于判断查询的建议功能
当为足够数量的判断文档提取特征向量时,应用可以建议添加特征。 建议将是具有强烈相关性 (负或正) 与自动优化提供的相关性判断的排名特征。 只有在至少对此排名模型运行一次自动优化后,此选项才可用。 请参阅本文后面的有关自动优化的详细信息。
可搜索文本托管属性
选择要在搜索结果排名计算中使用的托管属性。
如果在属性值中选择查询词的邻近度很重要,则可以稍后输入功能的邻近度权重。 应用使用变体 isExact=1 和 isDiscounted=1。
可排序的数字托管属性
也称为静态排名功能。
托管属性必须是 Integer 类型。 应用使用理性转换。
选择一个托管属性,并输入该属性的默认值。 如果未显式设置某个项的值,将使用默认值。
具有特定值的可排序属性
也称为已存储静态排名功能。 选择一个托管属性,并输入该属性的默认值。
具有值:此数字是正在优化的特定存储桶。
基于基础模型的排名功能
使用此选项可优化现有功能的权重。 在现有排名功能之间进行选择。
  1. 单击“ 添加功能”。 重复步骤以添加更多要自定义的功能。 所选排名功能显示在 “编辑排名模型 ”页上。

还可以从模型中删除特征。

自定义排名模型以提高 SharePoint 中的相关性中详细了解排名功能和排名功能聚合。

步骤 4b:调整权重

最初,新功能的权重为零,但基础模型中的现有排名特征除外。 若要为排名功能提供不同的功能,可以使用自动优化或手动优化。

自动优化

通过自动优化,为判断集提供的判断用于自动设置特征的权重,以尝试最大化相关性。 如果至少有 10 个查询且每个查询至少有 10 个判断,则自动优化选项可用。 判断越多,自动优化就越可靠。

  • 在“ 自动优化 ”选项卡上,单击“ 自动优化权重 ”按钮。

    注意

    自动优化选项包括大量的计算,对于包含 10 个查询的判断集,可能需要大约 5 分钟的时间。

手动优化

通过手动优化,可以设置或更改单个排名功能的权重。 避免 (负或正) 的非常大的值。

  1. 在“ 手动优化 ”选项卡上,通过在“权重”框中输入或更改值来设置或更改功能的 权重

  2. 单击“ 保存权重 ”,对与此模型关联的所有判断集运行评估。

  3. 评估更改,请参阅步骤 5。

步骤 5:评估更改

应用允许你评估自定义排名模型如何更改相关性。 这对于你认为 重要的查询特别有用。

重要

创建自定义排名模型时,这会影响使用该排名模型的所有查询。 测试自定义排名模型对许多查询的影响。

  • “手动优化”列表下的“示例查询”框中键入查询,以查看特定查询的结果。 可以将结果与左侧的基本模型 上次保存的模型进行比较,并将结果与当前模型比较在右侧。 如果需要,还可以将查询添加到此页面中的判断集。

  • 还可以通过对判断集运行评估来评估特定设置的效果。 在 “法官查询”下的判断集列表中,单击该集右侧的箭头,然后从菜单中选择“ 评估相关性 ”。

注意

更改排名功能的权重会影响结果的排序,希望提供改进的相关性。 重新排序后,尚未判断的新文档可能会进入查询的前 10 个结果。 如果发生这种情况, 判断范围 值将下降,判断集,你可能必须提供额外的判断。

  • 添加、删除和优化功能后,保存更改。 新的自定义排名模型显示在你开始使用的可用排名模型列表中。 它标记为 “非基础模型”。

步骤 6:发布排名模型

默认情况下,新的排名模型可用于添加应用的网站。 如果要更广泛地使用自定义排名模型,则必须发布它。

  1. “选择排名模型” 列表中,单击右侧的箭头,然后从菜单中选择“ 发布 ”。

  2. 选择以下选项之一:

  • 当前站点 (默认可用)

  • 当前网站集

  • 所有网站集 (整个 Search Service 应用程序)

  1. 单击“发布”。

发布排名模型时,将获得标识排名模型的 GUID。 可以在搜索中使用 GUID,例如,在配置 搜索结果 Web 部件时,或以编程方式设置查询的 RankingModelId 属性。

有关排名和排名模型的详细信息