获取个性化的浏览结果

浏览是一种没有查询的导航搜索。浏览使用导航方法来显示与最终用户选择的类别或过滤条件匹配的搜索结果。如果与用户互动结合使用,您可以为用户提供个性化浏览。 个性化浏览会根据用户互动历史记录和内容特征提供实时、用户专属的 Feed。其目的是在遵守您的策略控制的同时,针对已定义的 KPI 优化搜索结果。例如,房地产网站可以为英国伦敦和澳大利亚悉尼的用户提供不同的首页;购物网站可以根据用户个人资料提供量身定制的结果。

本页面介绍了如何获取自定义搜索数据存储区的浏览结果,以及设置搜索应用的一些最佳实践。

个性化浏览简介

Agent Search 个性化浏览使用神经网络根据预测的用户 互动和转化情况对 文档进行排名。例如,通过个性化浏览,您可以根据预测的点击或咨询可能性,在酒店目录中提供排名靠前的条目或在网站中提供排名靠前的文章,并将它们返回给用户。

个性化浏览的核心是一个复杂的模型,它可以学习用户导航模式、文档内容和特征以及用户转化事件之间的复杂关系。以下是一些重要功能:

  • 排名:该模型会根据预测的效果(与您定义的目标相比)对商品进行排名,该效果取决于配置的搜索参数,例如过滤条件、自定义排名和服务控制(例如提升、提权或同义词)。

  • 训练和优化:在初始训练后,该模型会使用实时用户事件流不断优化。该模型会随着时间的推移进行调整和改进。

  • 多样性:该模型会隐式学习多样性,因为它会记录来自非互动的负面信号,例如被忽略的链接、在页面上花费的时间和跳出率。

下表列出了搜索和浏览之间的区别。

功能 搜索 浏览
用途 查找特定信息 探索和发现内容
示例 在 Google 搜索中搜索“温哥华最好的韩国餐厅” 根据餐厅可能所属的类别浏览餐厅,例如“餐厅 > 韩国 > 温哥华 > 4 星及以上”
用户意图 通常以目标为导向 探索性
起点 通常是搜索栏中的查询或关键字 通常是使用菜单、面包屑导航、链接或其他导航方法(例如分面)的特定网站或平台
方法 输入关键字或短语,并应用搜索和服务配置 使用空查询进行搜索,并应用搜索和服务配置
结果 相关结果列表 数据存储区中与过滤条件匹配的所有文档

工作流程和最佳实践

个性化浏览是一项由 Google 代管式服务,Google 会处理底层深度学习模型和数据流水线。为了充分利用这项服务,在开发搜索应用时,您的主要技术职责包括以下内容:

  • 数据预配:收集并提供包含文档和用户事件的全面数据存储区。
  • 目标定义:使用提供的用户事件指定要优化的 KPI,例如点击率 (CTR)、高价值操作和每次会话收入。确保您收集的用户事件类型支持这些目标。
  • 搜索参数:在搜索请求中定义和配置搜索参数和服务控制。例如,用于过滤允许的列表或文章的日期范围,或用于根据博客的评分重新排序博客的提升控制。

在 Agent Search 搜索应用中,浏览是指不使用查询或使用空查询进行搜索。如需在自定义搜索数据 存储区中获取浏览结果,您可以调用 search 方法,并将查询留空。

一般来说,以下是获取最佳个性化浏览结果的步骤:

  1. 确保数据正确且一致:

    • 每个用户事件都有准确的时间戳。
    • 所有用户事件的用户 ID 都一致。
    • 用户事件和数据存储区之间的文档 ID 匹配。如果您使用站点地图,则其网址必须与用户事件中的网址匹配。
    • 过滤条件,用于在浏览的页面上提供确切的内容。 如需了解详情,请参阅 过滤网站搜索过滤结构化和非结构化数据的自定义搜索
  2. 准备和注入文档

  3. 准备和注入用户事件

    • 准备至少 30 天的用户事件,用于初始模型训练。 您可以同时使用 历史用户事件实时用户事件,也可以仅使用其中一种。 实时事件可以获得更好的个性化结果。
    • 记录并分享 search 事件(用于捕获浏览数据)、view-item 事件和 conversion 事件。
    • 所有用户事件都必须包含以下内容:
      • eventType ,例如用于搜索和浏览的 searchview-itemconversion
      • userPseudoId,这是一个一致的假名用户标识符。
      • eventTime,这是事件记录时间的 ISO 8601 时间戳 (UTC)。
      • documents.id 按文档 ID 匹配的用户看到的顺序显示 。
      • searchInfo.searchQuery ,用于注册用户的搜索查询。
      • pageInfo.pageCategory ,用于添加上下文,例如“HomepageCarousel”“Properties > VIC > Richmond”。
      • filter ,用于描述生成展示列表时使用的过滤逻辑。这通常由 pageCategory 字段捕获,或通过系统理解捕获。

    如需了解详情,请参阅 userEvents

  4. 启用模型训练和模型流水线

    准备好数据并收集用户事件后,请与您的 Google 客户工程师 (CE) 联系。CE 可以审核您的数据并为您的应用启用个性化模型。

  5. 获取个性化浏览结果

    向搜索请求添加更多字段,例如过滤条件和排名调整,例如提升或自定义排名。

  6. 维护数据并确保数据始终是最新的

    随着时间的推移,请确保数据存储区中的文档保持最新状态,并不断上传新的用户事件。这样可以确保模型能够访问最新的文档和用户互动,从而提供个性化结果。

获取包含网站数据的应用的浏览结果

如需使用 API 获取包含网站数据的应用的浏览结果,请执行以下操作:

  1. 找到应用 ID。如果您已拥有应用 ID,请跳到下一步。

    1. 在 Google Cloud 控制台中,前往 AI Applications 页面。

      前往应用

    2. 应用 页面上,找到应用的名称,并从 ID 列获取应用的 ID。

  2. 使用engines.servingConfigs.search方法,使用 空查询或不使用查询,如下所示:

    REST

    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \
    -d '{
    "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search",
    "orderBy": "ORDER_BY",
    "params": {
         "searchType": "0"
     },
    "filter": "FILTER",
    "boostSpec": "BOOST_SPEC",
    }'
    

    替换以下内容:

    • PROJECT_ID:您的 Google Cloud 项目的 ID。
    • APP_ID:您要查询的 Agent Search 应用的 ID。
    • ORDER_BY:可选。结果的排列顺序。要排序的属性必须具有数值解释,例如 date。如需了解详情,请参阅对网页搜索 结果进行排序。
    • FILTER:可选,但建议提供。用于通过使用 过滤表达式来过滤搜索结果的文本字段。默认值为空字符串。如需详细了解如何使用 filter 字段,请参阅 过滤网站搜索
    • BOOST_SPEC:可选。用于 提升或隐藏文档的规范。值:
      • BOOST: 范围在 [-1,1] 之间的浮点数。当值为负时,结果会被降权(在结果列表中位置下沉)。当值为正时,结果会被提权(在结果列表中位置上浮)。
      • CONDITION: 一个文本过滤表达式,用于选择要应用提升的文档。该过滤条件的求值结果必须为布尔值。如需查看过滤表达式示例, 请参阅 过滤表达式语法高级索引编制语法。 如需了解如何提升结构化搜索的搜索结果,请参阅提升搜索结果

    您应该会收到类似如下所示的截断 JSON 响应。 该响应包含按搜索请求中设置的字段确定的顺序列出的分项搜索结果。