这是仅与 Recommendations AI 相关的文档。如需在受限 GA 阶段试用 Retail Search 和统一 Retail 控制台,请与 Cloud 销售人员联系如果您不打算使用 Retail Search,请保留在 Recommendations 控制台上,直到收到进一步的通知。

如果您使用的是 v1beta 版 Recommendations AI,请迁移到 Retail API 版本

常见问题解答

还有其他难题,或是您的问题未在下面列出?请报告 Bug 或提出功能请求,并在 Google 网上论坛Stack Overflow 讨论。

常规

您是否有适用于零售 API 的客户端库,或有其他示例代码?

可以。您可以在此处查看 Recommendations AI 的客户端库指南,以了解每个库的设置和参考信息。

您还可以使用 Google API Discovery Service 代替原始 REST 调用。

是否所有推荐模型都个性化?

在为用户提供历史记录时,“为您推荐的模型”和“您可能喜欢的其他模型”会提供个性化建议。“经常一起购物”的模型未经过个性化处理。

请参阅推荐模型类型

我会立即收到个性化推荐,还是需要等待一段时间才能得到改善?

随着您收集更多用户历史记录,推荐功能会越来越好。“为您推荐的”模型会显示热门商品;“您可能喜欢的其他”模型则主要根据其他视图推荐类似商品。这两种模型都会立即考虑用户行为,因此发送实时事件非常重要。请参阅推荐模型类型

用户事件需要实时或非常接近实时地发送,以保证其有效性。如果每天只提交一次用户事件,或者每天分批提交用户事件,那么个性化模型可能不会像实时事件那样发送。

您的模型中使用了 Google 用户受众特征数据吗?

这些模型仅使用您提供的目录和用户事件数据。如果要包含人口统计数据,您可以添加其他可能在 Product.attributes[] 中使用的文本或数字自定义特性。此数据当前未被模型使用,但将来可能会使用。

请勿包含个人身份信息 (PII),例如电子邮件地址或用户名。我们建议您对受众特征数据进行匿名化处理,例如对值进行哈希处理或使用组 ID。

我能否根据用户群组的事件历史记录(而不是单个用户的历史记录)提出建议?

目前,系统会根据单个访问者 ID 或用户 ID 生成建议。您需要发出单个请求,然后将结果组合以基于组历史记录提出建议。如果用户具有通用元数据特性,您可以使用组 ID 作为用户 ID 来提供组级别建议。

我注意到您可以提交商品的图片网址。这些模型是否会考虑产品图片?

目前不可以。提供这些字段以便您可以检索此元数据以及返回的建议结果,以帮助渲染建议结果。在 Cloud Console 中预览模型的预测结果时,预测预览还可使用图片网址来显示图片。

我的公司不是零电子商务网站。我还可以继续使用 Recommendations AI 来预测 x、y、z 吗?

一些客户已将 Recommendations AI 用于内容推荐、视频流和游戏以及其他用例。但是,我们目前的内容和体验是根据零售电子商务用例设计的,可能尚不适合其他用例。

我可以将推荐模型用在网站的任一网页上吗?

可以,但每个模型都针对特定用例设计,并且可能仅在某些页面上才能实现最佳效果。请参阅推荐模型类型

“经常一起购买的商品”和“您可能会喜欢的其他商品”需要使用项目 ID,因此建议通过商品 ID 或购物车中的商品对其进行推荐。“经常一起购买的产品”的效果通常更适合购物车或结帐页面,而“其他可能感兴趣的商品”则最适合用于商品详情页面。“为您推荐”可放置在任意网页上,因为它只需要访问者 ID 作为输入,但它多用于首页展示位置。

我可否在电子邮件简报中使用 Recommendations AI 来推荐商品?

可以。可通过使用访问者 ID 或用户 ID 调用 API 并将结果整合到电子邮件模板中来完成。如果您希望在电子邮件读取时动态加载这些项目,则需要使用中间端点,例如Google Cloud Functions 函数,发送预测请求。该 API 仅提供经过排序的商品 ID 和元数据的列表,因此您还需要编写自己的代码来渲染图片结果。

我可以将 Recommendations AI 用于其他非网页用例(移动应用、自助服务终端)吗?

可以。您可以设置端点(例如Google Cloud Functions 函数)以获取应用的结果。您还需要类似的机制来发送实时事件。

我没有超过 3 个月的活动数据。我还可以继续使用 Recommendations AI 吗? 以后是否可以添加更多数据?

如果您可以为实时事件记录足够的流量,则近期数据可用于训练。如果您日后有额外的数据,可以在初始模型训练后上传。在每日重新训练期间,新回填的数据会合并到模型中。但是,如果数据与用于初始训练的事件明显不同,则可能需要调整模型。

模型最适合至少 3 个月商品网页浏览量、首页视图和添加到购物车,效果最理想(对于“经常一起购买”这两个不同日期的交易记录内模型)。

一到两周的详情页面浏览量足以开始训练“您可能喜欢的其商品”和“为您推荐”的模型,而“经常一起购买”模型通常需要更多浏览量,因为每天的购买量通常少于页面浏览量。使用更多数据可以有效地改进模型质量;最低金额可能不会产生最优结果。例如,一年的购买量可让模型更好地掌握季节性和流行趋势。

我可以同时推荐商品和类别吗?

Recommendations AI 目前仅返回商品推荐,但您可以获得每个返回商品类别(作为搜索结果的一部分)的类别。

我是否可以在不修改现有服务器端代码的情况下在网站上部署 Recommendations AI?

虽然可以这样做,但仍需一个端点来处理 AJAX 请求,因为零售预测 API 已经过身份验证并使用 POST 请求。这可通过 Google Cloud Functions 函数App Engine 或类似服务完成。

您是否集成了从 SQL 数据库或其他系统(如 BigQuery)上传的数据?

可以。对于事件,可以从 BigQuery 中读取示例代码。请参阅适用于 BigQuery 的 Google Analytics(分析)示例数据集

我认为功能 x、y、z 不错。能否将它添加到 Recommendations AI 中?

我们希望倾听您的宝贵意见!您可以通过客户支持团队、Google 支持或问题跟踪器提交功能请求。

我仍然可以使用旧版 API 吗?

Recommendations AI 已从 Recommendations Engine API 迁移到 Retail API。如果您使用的是 Recommendations Engine API(处于 Beta 版阶段),我们建议您将建议迁移到正式版 Retail API(服务端点 https://retail.googleapis.com)。

先前的 API(服务端点 https://recommendationengine.googleapis.com)及其文档仍然可用,但它们不再更新。

目录和商品

Recommendations AI 如何处理新商品的冷启动?

对于没有任何交易记录的商品,我们会根据类似商品进行推荐。在这些情况下,请务必在目录中定义恰当的商品标题、类别和说明。

对于冷启动用户(没有历史记录的访问者),模型会从最热门的常规商品开始,并随着接收到更多用户事件而实时提高个性化程度。

请参阅目录和目录信息以及商品参考页面

我可以将 Merchant Center 目录用于推荐吗?

可以,您可以使用 Merchant Center Data Transfer Service 将 Merchant Center 目录导出到 BigQuery。然后,我们可以直接从 BigQuery 读取目录。请参阅从 Merchant Center 导入目录数据

还有哪些方法可以导入我的目录?

  • BigQuery:直接从表或视图导入。
  • Cloud Storage:使用文本文件(每行一个 JSON 目录项)导入。
  • 内嵌导入:通过 API 调用导入(使用每行一个 JSON 目录项的文本文件)。
  • 创建商品项:使用 Products 创建方法。

如何及时更新目录?目录的更新频率是多少?

请参阅使您的目录保持最新状态

如果您有一种简单的方式来接收目录更改通知(例如通过 Pub/Sub、消息队列、事件等),则您可以使用导入创建 API 方法。

否则,我们建议您每天更新目录。您可以从 Cloud Storage 或 BigQuery 进行全面更新,也可以执行增量更新(即,仅新建和更改的项目)。

例如,Cloud Scheduler 可用于进行每天 BigQuery 导入调用。

目录大小上限和下限是多少?

没有最低大小要求,但非常小的产品目录大小(少于 100 个项目)可能会不利于推荐,因为推荐的商品数量非常少。

目录最多包含 4000 万项。

请参阅关于默认配额和限制以及如何请求更改配额的文档。

我公司在多个国家/地区运营网站。我是否应该对所有数据使用一个目录?

通常情况下,最好只使用一个包含所有项的目录。所有事件都必须使用单一币种提交。目前无法在同一项目中拥有多个目录,但可以使用过滤器标记将建议过滤到特定网站。

如果各个网站的目录差别和用户事件模式截然不同,我们通常建议为每个网站创建一个单独的项目,并提供他们各自的独立推荐。

但是,如果存在流量低于主网站的类似网站,且没有足够的事件为所有单个网站生成高质量的模型,那么最好使用单个目录。

要使用一个目录,目录项 ID 应保持一致,也就是说,同一商品的所有网站上都应使用相同的商品 ID,这样同一个商品就不会重复展示产品。

过滤标记最多可能需要 24 小时才能更新,因此,如果针对具体国家/地区的供应情况(缺货)的要求需要满足,那么这些规则通常要由一条在业务预测后过滤结果的业务规则进行处理。

Recommendations AI 是否支持每个目录使用多种货币?

不支持,Recommendations AI 支持每个目录使用一种货币类型。必须使用单一币种将事件上传到 Recommendations AI。

如果您打算使用 Recommendations AI Cloud Console 来获取收入指标,请确保所有事件都使用同一个币种,或将它们全部转换为同一币种,然后再上传到 Recommendations AI。

我有多个共享目录或类似项的网站。Recommendations AI 可以提供跨网站建议吗?

我们通常建议只在网站存在明显重叠时使用单个目录;他们应该共享很多或所有相同产品。然后,与多区域网站一样,您可以使用过滤条件标记仅返回特定预测调用的网站特定项。

如果网站没有共享多个或任意目录项,或者具有不同的使用模式,则应使用多个目录。使用多个目录需要为每个目录使用单独的 Google Cloud 项目。

添加更多元数据可改进模型吗?模型是否会考虑字段 x,y,z 吗?

如需了解必填字段,请参阅必需的目录项信息

其他元数据字段为可选字段(例如图片、itemAttributes)。它们可用于预测预览、结果分析、训练和调节。建议添加颜色、大小、材质等有用的属性。您可以通过指定 returnProduct:true 将这些字段作为预测结果的一部分返回,因此这些字段对呈现结果很有帮助。图片和项特性用于 Cloud Console 中的预测预览

目录项的哪些属性可用作模型训练的输入?

结合使用用户行为和商品属性。所使用的主要字段包括 ID、标题、类别层次结构、价格和网址。您可以添加在 Product.attributes[] 中可能有用的其他自定义键值对特性。

图片网址更便捷,您可以通过指定 returnProduct:true 来将此元数据作为预测结果的一部分返回,这样可以节省额外的调用以检索此信息。通过图片网址,当您在 Cloud Console 中预览模型的预测结果时,预测预览也可以显示图片。

我的产品支持哪些语言?

Retail API 支持大多数语言。模型会自动检测文本语言。如需所支持语言的列表,请参阅紧凑语言检测器 GitHub README

请注意,您的目录可以包含不同语言的文本,但复制商品以提供多语言文本会降低模型性能。

我的目录包含主项/变体或父项/子项 SKU。是否支持这些格式?

可以。这与 Merchant Center 中的 item_group_id 类似。您需要确定希望重新获得建议的方式(父级或子级),以及事件是父级还是子级级别的。

如需详细了解商品级别,请参阅使用商品级别

在发送任何项或事件之前,先确定并设置了正确的商品级别。您可以更改商品级别,但需要重新加入项并重新调整模型。

用户事件

我可以与 Google Analytics 360 集成吗?

您可以使用 Google Analytics 360 (GA360) 中的历史数据。与 Merchant Center 数据类似,可以将 GA360 数据导出至 BigQuery,然后 Recommendations AI 可以直接从 BigQuery 读取事件。

对于实时事件,我们建议将跟踪像素与 Google 跟踪代码管理器集成,因为事件会从 GA360 延迟。

如何将事件发送至 Recommendations AI?

用户通常使用 Cloud Storage 或 API 导入功能导入历史事件,然后使用 JavaScript Pixel 或跟踪代码管理器代码中的实时事件或后端的写入方法流式传输实时事件。

如果我无法发送模型所需的所有用户事件类型,该怎么办?每个模型需要的最低事件类型有哪些?

每个模型和优化目标的要求略有不同。请参阅用户事件数据要求

通常每个目录项的事件数量越多,模型性能越好。对于流量较大并且目录较少的网站,您可以从少量的历史事件开始,但通常仍至少需要数周的历史数据和后续的实时事件。

我的加入购物车和购买完成事件没有收入或数量值。我应该提交什么?

如果您没有数量值,可以传递不影响模型结果的默认值 1。商品应始终设置 displayPrice(可以是向用户显示的任何值,例如折扣价格)。originalPrice 和费用为可选项。

我的数据仅涵盖有限的事件类型。我还可以继续使用 Recommendations AI 吗?

如需了解每种模型类型的最低数据要求,请参阅用户事件数据要求

预测结果

我可以返回的预测结果数量有限制吗?

默认情况下,预测请求会在响应中返回 20 个项。您可以通过提交 pageSize 值来增加或减少此数值。

如果您需要返回 100 多个项,请与 Google 支持团队联系以提高限额。但请注意,返回 100 多个项可能会增加响应延迟时间。

我能查看模型做出特定商品推荐的原因吗?

目前不能。

我可以下载和缓存预测结果吗?

由于预测结果会实时响应您网站上的用户活动,因此我们不建议使用已缓存的预测。该模型每天都会重新训练模型,将更改纳入目录,并对可以改变结果的用户事件中的新趋势做出回应。

我需要根据业务规则重新调整返回的建议。系统是否支持本功能?

可以。虽然您可以根据业务规则重新调整返回的建议的优先级,但请注意,重新排序建议或过滤推荐结果可能会降低模型的整体优化效果。

在返回的建议集中按照价格由高到低的顺序对订单进行排序,该排序还可以作为“您可能喜欢的其他商品”和“为您推荐的商品”模型的内置自定义项。

请参阅价格重排序

我可以创建和使用的过滤器标记数量是否有限制?

您可以创建或可使用的唯一标记数量没有硬性限制。不过,该系统并非旨在为每个项目处理多个过滤器标签。如果可能,我们建议为每个目录项最多保留 10 个过滤器标记。在整个目录中都可以使用超过 10 个值;这是针对每件商品的限制。总标记(所有项标签的数量总和)上限为 1 亿。

请参阅 Recommendations AI 配额和限制的文档。

模型

我已上传目录和事件,但当我调用预测 API 时仍然会收到此响应:“推荐模型尚未准备就绪。您可以在预测请求中将“dryRun”设置为 true 以进行集成,这会从目录中返回任意目录项(请勿用于生产流量)。”

这通常意味着您的模型尚未完成训练。如果您模型创建已超过 10 天,但仍收到此响应,请与支持团队联系。

训练模型需要多长时间?

初始模型训练和调整需要 2-5 天才能完成。此后,除非停用,否则每天会自动重新训练模型。请参阅暂停和恢复模型训练

我可以下载或导出模型吗?

没有。

我可以在新项目中使用现有项目中创建的模型吗?

不可以。您需要在新项目中创建和重新训练模型。

我想对我的分类网页使用模型。可以这样做吗?

可以。“为您推荐”功能在类别页面上非常有用。类别页与首页相似,区别于前者只能显示属于该类别的商品。您可以使用推荐给您的带有过滤器标签的标准模型来实现此目的。例如,您可以向目录中的项添加自定义过滤器标记(对应于每个类别页面)。发送预测请求时,将用户事件对象设置为 category-page-view,并在“filter”字段中指定特定类别页面的标记。仅返回与所请求的过滤条件标记匹配的建议结果。在此用例中应停用多样性,因为多样性可能会与基于类别的过滤标记冲突。

我可以停用模型的个性化功能吗?

默认情况下,对于“您可能喜欢的其他类型”“为您推荐”推荐模型类型,会根据用户提供个性化的预测结果。

我们不建议停用个性化功能,因为这会对模型性能产生负面影响。

如果您需要显示与正在查看的商品相关的目录项,而非基于用户之前与您的网站的互动情况进行显示,则可以在预测请求中使用虚构的访问者 ID 以接收非个性化推荐内容。请确保只针对您不想个性化的展示位置中的请求执行此操作。

Recommendations AI Cloud Console

我已清除许多事件,但信息中心仍然会显示这些事件类型的计数。

这是正常现象,Cloud Console 信息中心会显示特定时间段内提取的事件数量;但不会显示当前的数量或事件数量。

如何判断我的目录或用户事件是否有错误?

如果存在语法问题或者由于某种原因无法处理请求,则目录项更新或用户事件的大多数 API 调用都会返回错误。

Cloud Console 信息中心会显示未联接事件所占百分比,这也是发现目录或事件问题所适用的指标。如果的目录中不包含指定项目 ID,则会发生未联接的事件(或未连接的预测调用)。这通常意味着目录过期,需要上传新的或已更改的目录项,但也可能由于传递了错误项目 ID。请检查您的请求,确保项目 ID 正确映射到相应的目录,然后检查您上传的目录以确保项存在。

Cloud MonitoringCloud Logging 可用于监控事件的状态。例如,如果在某个时间段内没有事件或者预测调用低于特定阈值,您将收到提醒。

为什么我的建议展示位置显示为无效?如何激活它们?

为了使用推荐展示位置,您需要先提交目录用户事件数据来训练相应的模型。模型训练完成后,信息中心会指示模型已可供查询。

Cloud Console 会以何种货币报告收入指标?

Recommendations AI Cloud Console 会以上传的数据中使用的货币报告指标。Recommendations AI 不支持每个目录使用多种货币,也不会转换货币。

如果您打算使用 Recommendations AI Cloud Console 来获取收入指标,请确保所有事件都使用同一个币种,或将它们全部转换为同一币种,然后再上传到 Recommendations AI。