0

在高层次上,我想设置一个包含一些必需输入和一些可选输入的操作。用户开始后,将提示他/她输入缺少的任何必需输入。如果/何时收集了所需的输入,我想问一下用户是否要指定更多可选输入。

具体用例是基于语音的房地产搜索。我设置了一些必需的输入,例如邮政编码、价格和卧室数量。然后我想让 bixby 询问“您想进一步优化您的搜索吗?” 如果用户说是,我们可以询问浴室数量、停车安排和其他更多利基参数。我不想让所有这些都成为必需,并且如果他们想通过“池”或某些未广泛使用的参数进行过滤,我必须提示每个人。并且基于语音,我不想只是将它作为屏幕上的复选框,因为扬声器上的某人将无法使用该参数。

我已经想到了 2 个潜在的解决方案,但我不知道它们是否会起作用(至少不依赖屏幕上的控件来实现基于语音的胶囊):

1)将搜索变成一个交易,然后代替正常的确认,尝试强行确认,询问用户是否要添加更多细化。也许像银行转账这样的事情,但否定的确认会导致 bixby 要求她以前没有要求的信息:https ://bixbydevelopers.com/dev/docs/sample-capsules/walkthroughs/simple-transactional#sample-capsule -演练

2) 再做 2 个必需的输入,一个名为“WantsOptionalParameters”的布尔值和另一个名为“OptionalParameters”的布尔值,它将是一个包含所有可选参数的结构。然后它会像正常的必需输入一样提示 WantsOptionalParameters,如果这是“真”,我可以有一个子操作,它会要求每个参数构造一个 OptionalParameters 对象。然后我们可以将该输出输入到搜索中。或者,如果 WantsOptionalParameters 为 false,我们可以自动构造带有所有否定响应的 OptionalParameters 并将其输入到原始操作中。

这两种解决方案都需要更多的研究和测试,我什至不知道它们是否会起作用,所以我希望能呼吁你们的智慧!

4

1 回答 1

1

这是我对其价值的看法。每个域都有通常用于启动对话的关键输入和可以优化对话的可选输入。

以房地产为例开始对话的一些一般方法(完全由我自己的经验驱动,也许还有更多)

  • 90210房地产市场如何?
  • 给我看看洛杉矶 25 万美元以下的房子吗?
  • 带我看看有 4 间卧室的房子(靠近我吗?)

您可以将这些输入组合到一个input-group名为RequiredInputs中,它需要OneOrMoreOf这些参数来启动胶囊。

您还可以在另一个input-group称为OptionalInputs的选项中收集可选/利基输入,该输入需要ZeroOrMoreOf并将它们输入到您的胶囊逻辑中

也有可能所有输入都同样重要并且都是可选的!它完全取决于领域以及胶囊开发人员如何处理此类输入。

但在一般意义上,一旦输入集进入并将初始结果显示给用户,胶囊开发者就有很大的控制权

  • 塑造未来的对话和
  • 突出胶囊功能。

因此,您可以控制对话并提供为用户(以及胶囊开发者!)提供最大价值的选项,而不是向用户提供一组选项。

例如,您的胶囊能够以市场上其他胶囊无法做到的方式深入分析和提炼结果。因此,您希望通过以下方式突出显示此功能作为首选followup

或者,您可能有一个基于先前经验和您对该领域知识的对话路径。所以,你可以说,我可以通过 X、Y、Z 选项进一步细化结果。

这种情况更有可能是有用的并且不太可能压倒(有选项)最终用户。

希望这可以帮助!

于 2019-04-19T17:49:13.417 回答