如何让 bixby 提示可选输入?
How can I get bixby to prompt for optional inputs?
在较高级别,我想设置一个具有一些必需输入和一些可选输入的操作。用户开始后,he/she 将提示输入任何缺少的必填项。 If/when所需的输入已收集,请问用户是否要指定更多可选输入。
具体用例是基于语音的房地产搜索。我设置了一些必需的输入,例如邮政编码、价格和卧室数量。然后我想 bixby 询问 "would you like to refine your search even further?" 如果用户说是,我们可以询问浴室数量、停车安排和其他更小众的参数。我不想让所有这些都成为必需的,如果他们想按 "pools" 或一些未广泛使用的参数进行过滤,我必须提示每个人。基于语音,我不想只将它作为屏幕上的复选框,因为那时扬声器上的某个人将无法使用该参数。
我想到了 2 种可能的解决方案,但我不知道它们是否可行(至少不依赖基于语音的胶囊屏幕上的控件):
1) 将搜索变成交易,然后尝试用硬塞法确认来询问用户是否想要添加更多细化,而不是正常的确认。也许像银行转账这样的事情,但否定确认会导致 bixby 询问她之前没有询问的信息:https://bixbydevelopers.com/dev/docs/sample-capsules/walkthroughs/simple-transactional#sample-capsule-walkthrough
2) 再输入 2 个必需的输入,一个布尔值称为 "WantsOptionalParameters",另一个称为 "OptionalParameters",它将是一个包含所有可选参数的结构。然后它会提示输入 WantsOptionalParameters,就像正常的必需输入一样,如果是 "True",我可以有一个子操作,它会请求每个参数来构造一个 OptionalParameters 对象。然后我们可以将该输出提供给搜索。或者,如果 WantsOptionalParameters 为假,我们可以自动构造包含所有否定响应的 OptionalParameters 并将其输入到原始操作中。
这两种解决方案都需要更多的研究和测试,我什至不知道它们是否有效,所以我希望能请教你们的智慧!
以下是我对它的看法。每个领域都有通常用于开始对话的关键输入和可以改进对话的可选输入。
开始房地产示例对话的一些一般方法(完全由我自己的经验驱动,也许还有更多)
- 90210的楼市怎么样?
- 给我看看洛杉矶 25 万美元以下的房子?
- 告诉我有 4 间卧室的房子(靠近我?)
您可以将此类输入组合到一个名为 RequiredInputs 的 input-group
中,它需要 OneOrMoreOf
这些参数来启动胶囊。
您还可以在另一个名为 OptionalInputs 的 input-group
中收集 optional/niche 输入,它需要 ZeroOrMoreOf
并将它们提供给您的胶囊逻辑
也有可能所有的输入都是同等重要的,都是可选的!这完全取决于领域以及胶囊开发人员如何处理此类输入。
但在一般意义上,一旦输入集输入并向用户显示初始结果,胶囊开发人员便可以对
进行大量控制
- 塑造未来的对话 AND
- 突出胶囊功能。
因此,您可以控制对话并提供为用户(以及胶囊开发者!)提供最大价值的选项,而不是向用户提供一组选项!
例如,您的胶囊能够以市场上其他胶囊无法做到的方式深入分析和完善结果。因此,您想通过 followup
将此功能突出显示为首选
或者您可能有一个基于先前经验和您对该领域的知识的对话路径。所以,你可以说,我可以通过 X、Y、Z 选项进一步优化结果。
这种情况更有用,并且不太可能(通过选项)最终用户不知所措。
希望对您有所帮助!
在较高级别,我想设置一个具有一些必需输入和一些可选输入的操作。用户开始后,he/she 将提示输入任何缺少的必填项。 If/when所需的输入已收集,请问用户是否要指定更多可选输入。
具体用例是基于语音的房地产搜索。我设置了一些必需的输入,例如邮政编码、价格和卧室数量。然后我想 bixby 询问 "would you like to refine your search even further?" 如果用户说是,我们可以询问浴室数量、停车安排和其他更小众的参数。我不想让所有这些都成为必需的,如果他们想按 "pools" 或一些未广泛使用的参数进行过滤,我必须提示每个人。基于语音,我不想只将它作为屏幕上的复选框,因为那时扬声器上的某个人将无法使用该参数。
我想到了 2 种可能的解决方案,但我不知道它们是否可行(至少不依赖基于语音的胶囊屏幕上的控件):
1) 将搜索变成交易,然后尝试用硬塞法确认来询问用户是否想要添加更多细化,而不是正常的确认。也许像银行转账这样的事情,但否定确认会导致 bixby 询问她之前没有询问的信息:https://bixbydevelopers.com/dev/docs/sample-capsules/walkthroughs/simple-transactional#sample-capsule-walkthrough
2) 再输入 2 个必需的输入,一个布尔值称为 "WantsOptionalParameters",另一个称为 "OptionalParameters",它将是一个包含所有可选参数的结构。然后它会提示输入 WantsOptionalParameters,就像正常的必需输入一样,如果是 "True",我可以有一个子操作,它会请求每个参数来构造一个 OptionalParameters 对象。然后我们可以将该输出提供给搜索。或者,如果 WantsOptionalParameters 为假,我们可以自动构造包含所有否定响应的 OptionalParameters 并将其输入到原始操作中。
这两种解决方案都需要更多的研究和测试,我什至不知道它们是否有效,所以我希望能请教你们的智慧!
以下是我对它的看法。每个领域都有通常用于开始对话的关键输入和可以改进对话的可选输入。
开始房地产示例对话的一些一般方法(完全由我自己的经验驱动,也许还有更多)
- 90210的楼市怎么样?
- 给我看看洛杉矶 25 万美元以下的房子?
- 告诉我有 4 间卧室的房子(靠近我?)
您可以将此类输入组合到一个名为 RequiredInputs 的 input-group
中,它需要 OneOrMoreOf
这些参数来启动胶囊。
您还可以在另一个名为 OptionalInputs 的 input-group
中收集 optional/niche 输入,它需要 ZeroOrMoreOf
并将它们提供给您的胶囊逻辑
也有可能所有的输入都是同等重要的,都是可选的!这完全取决于领域以及胶囊开发人员如何处理此类输入。
但在一般意义上,一旦输入集输入并向用户显示初始结果,胶囊开发人员便可以对
进行大量控制- 塑造未来的对话 AND
- 突出胶囊功能。
因此,您可以控制对话并提供为用户(以及胶囊开发者!)提供最大价值的选项,而不是向用户提供一组选项!
例如,您的胶囊能够以市场上其他胶囊无法做到的方式深入分析和完善结果。因此,您想通过 followup
或者您可能有一个基于先前经验和您对该领域的知识的对话路径。所以,你可以说,我可以通过 X、Y、Z 选项进一步优化结果。
这种情况更有用,并且不太可能(通过选项)最终用户不知所措。
希望对您有所帮助!