使用 Looker 部署对话式分析的最佳实践

借助对话分析,用户可以在 Looker 实例中使用自然语言提问,查询以 LookML 建模的数据。

本指南提供了一些策略和最佳实践,可帮助 Looker 管理员和 LookML 开发者成功配置、部署和优化对话式分析。本指南涵盖了以下主题:

通过准备 LookML 模型和对话式分析,您可以提高用户采用率,并确保用户获得准确且实用的问题解答。

了解 Gemini for Google Cloud 如何以及何时使用您的数据

对话式分析的 LookML 最佳实践

对话式分析功能会利用以下两种主要输入内容来解读自然语言问题:

  1. LookML 模型:对话式分析会分析 Looker 探索中定义的结构、字段(维度、度量)、标签和说明。

  2. 不同的字段值:对话式分析会检查字段(尤其是字符串维度)中的数据值,以确定用户可能会询问的可用类别和实体。基数(唯一值的数量)可能会影响这些值的使用方式。

虽然对话式分析功能非常强大,但其有效性直接取决于这两个输入的质量和清晰度。下表列出了不清晰或模棱两可的 LookML 可能会对对话式分析产生哪些负面影响,以及可用于改进输出和用户体验的解决方案。

常见的 LookML 质量问题 更清晰的对话式分析解决方案
不够清晰:没有明确标签或说明的字段对于对话分析和用户来说都是模棱两可的。 应用清晰的标签:使用 label 参数为字段提供直观且适合业务的名称,以便用户在提问时使用。
字段膨胀:公开过多的字段,尤其是内部 ID(主键)、从联接继承的重复字段或中间计算字段,可能会使对话式分析可用的选项变得杂乱无章。 隐藏无关字段:确保所有主键、外键、联接中的冗余字段和纯技术字段都保持隐藏状态。

(可选)扩展探索:如果您的探索包含大量字段,请考虑创建扩展现有探索的新探索。这样一来,您就可以为对话式分析量身打造热门内容的专用版本,而无需修改其他内容可能依赖的探索。
命名冲突:如果探索中的不同视图内有多个字段的名称或标签相似或相同,可能会导致字段选择不正确。 撰写详尽的说明:说明可为对话式分析提供关键背景信息。使用 description 参数执行以下任务:
  • 使用自然语言清楚地描述相应字段。
  • 包含公司或行业专用术语或同义词。
  • 说明计算方式或背景信息。对话式分析功能使用说明来更好地识别字段含义并映射用户字词。

例如,标签为 user_count 的字段的说明可以是“访问网站的唯一身份用户总数”。

标准化命名:检查字段名称和标签是否一致且清晰。
隐藏的复杂性:如果过度依赖信息中心级自定义字段或表格计算,则潜在的关键业务逻辑将无法供对话式分析使用。 纳入自定义逻辑:确定重要且常用的自定义字段表格计算。将这些字段的逻辑转换为 LookML 维度和度量,以便对话式分析可以使用它们。
杂乱的数据:以下类型的不一致或结构不良的数据会让对话式分析难以准确解读查询。
  • 值差异:大小写或命名惯例不一致(例如,值 completeCompleteCOMPLETE 混用)可能会导致对话分析中的数据重复或数据关系不正确。
  • 数据类型不一致:如果列本应为数值,但偶尔包含字符串值,则字段类型会被强制设为 string,从而导致无法进行数值运算。
  • 时区不明确:时间戳字段中缺少标准时区可能会导致过滤或汇总不正确。
解决数据质量问题:尽可能标记在数据整理过程中发现的数据质量问题(不一致的值、类型、时区)。与数据工程团队合作,清理源数据或在 ETL/数据建模层中应用转换。

如需了解有关编写简洁高效的 LookML 的更多最佳实践,请参阅以下文档:

何时向 LookML 添加上下文,何时向对话式分析添加上下文

在对话式分析中,您可以向 LookML 和代理指令添加上下文输入内容,例如字段同义词和说明。在决定向何处添加背景信息时,请遵循以下指南:始终为 true 的背景信息应直接添加到 LookML 模型中。Looker 探索可用于多个位置,包括信息中心和对话分析,因此在 LookML 中应用的情境必须适用于所有可能与数据互动的用户。

代理上下文应为定性,并侧重于用户,并且可以有多个代理通过一个探索来为不同的用户提供服务。以下是一些应包含在代理指令中但不应包含在 LookML 中的上下文示例:

  • 与代理互动的用户是谁?他们的职责是什么?是公司内部人员还是外部人员?他们之前的数据分析经验如何?
  • 用户的目标是什么?他们希望在对话结束时做出哪种类型的决策?
  • 该用户会提出哪些类型的问题?
  • 哪些字段是此用户的特有字段?相应用户永远不需要使用的字段有哪些?

本指南建议采用以下分阶段方法在 Looker 中实现对话分析:

借助此方法,您可以从较小的受控范围开始,验证设置,然后扩展到更多用户和数据。

第 1 阶段:整理数据并定义初始范围

在此阶段,您需要准备数据,以便用户使用对话分析功能进行查询,并定义初始部署的范围。请遵循以下建议,从小范围着手并进行受控测试:

  • 限制初始用户访问权限:为了进行内部测试和验证,请使用 Looker 的权限系统向一小部分熟悉数据的用户授予 Gemini 角色
  • 限制 Gemini 对 Looker 模型的访问权限:授予 Gemini 角色时,您还可以限制 Gemini 可以访问哪些模型。首先,考虑将 Gemini 的访问权限限制为一两个您为对话式分析精心挑选的模型。
  • 选择精选的探索:先从一两个结构合理的探索开始,这些探索基于相对干净的数据,可提供清晰的商业价值。按照对话分析的 LookML 最佳实践中的详细说明,针对 Looker 中的对话分析优化这些探索。

第 2 阶段:配置代理并进行内部验证

在此阶段,您需要构建并完善对话式分析代理,然后让内部用户对其进行全面测试,以确认其准确性和有效性。此阶段涉及以下步骤:

  1. 创建精选代理:创建仅基于您在精选和初始设置阶段准备的精选探索的对话式分析代理。
  2. 使用代理指令优化:使用代理指令提供更多背景信息和进一步的指导。例如:

    • 为字段名称或值定义同义词。
    • 针对某些字段应如何使用,提供具体背景信息或规则。
  3. 进行内部验证并迭代:让熟悉数据的用户对代理进行全面测试。提出各种问题、测试边缘情况并找出弱点。根据测试反馈进行以下更改:

    1. 优化 LookML。例如,调整 labeldescriptionhidden LookML 参数的值。
    2. 调整智能体指令。
    3. 继续标记数据质量问题。

第 3 阶段:将对话分析功能推广给更多用户

在此阶段,您可以通过授予访问权限、收集反馈和迭代代理来扩大对话分析功能的用户群。此阶段涉及以下步骤:

  1. 授予有针对性的访问权限:向拥有 Gemini 角色的其他用户授予对话式分析访问权限,并鼓励这些用户使用您创建的经过审核的特定代理。
  2. 发布并收集反馈:主动征求有关以下主题的反馈:

    • 回答的准确性
    • 易用性
    • 信息缺失或结果令人困惑
  3. 持续迭代:根据反馈进一步优化 LookML 和代理指令,并优先处理数据清理工作。

  4. 扩大访问权限:在代理证明稳定且有价值后,通过授予 Gemini 角色,将访问权限扩大到其他相关用户群组,并引入新的精选代理。您还可以按照之前阶段中使用的相同流程,引入新的精选代理并扩大对 Gemini 角色可用的模型的访问权限。