如何用语音训练时间选择器?
How do I train time-picker with voice?
[bixby] 如果用户 select 显示屏幕上的时间,我的 Bixby 胶囊可以正常工作,但如果他们尝试 select 通过语音输入,则无法正常工作。在本示例中,我遵循了为 "duration" 提供的培训,但它似乎不适用于 enter link description here "time"
结构(就寝时间){
描述(描述)
角色 (time.Time)
}
动作(准备用户数据){
说明("Prepare user data")
类型(搜索)
搜集 {
// 保留它以检索任何以前存储的 UserData
计算输入(previousUserData){
类型(用户数据)
最小(必填) 最大(一个)
计算{
意图{
目标:获取用户数据
}
}
}
input (username) {
type (UserName)
min (Required) max (One)
}
input (wakeuptime) {
type (WakeupTime)
min (Required) max (One)
}
input (bedtime) {
type (BedTime)
min (Required) max (One)
}
input (message) {
type (Message)
min (Required) max (One)
}
}
output (UserData)
}
这次训练是"not learned",当我调用话语时,它一直在问我
[![唤醒训练
[]4][5]
[5]: https://i.stack.imgur.com/YQvlg.jpgenter 代码在这里
没有实际的胶囊代码,我只能推测。
首先,概念应该是 viv.time.DateTimeExpression 以便更好地使用自然语言,例如“今晚 9 点”。您可以阅读有关 viv.time.DateTimeExpression here 的更多信息。
其次,话语 "bedtime" 不是时间的预期 NL 输入。它应该更具体,例如“晚上 9 点”或“本周三上午 8 点”或“明天晚上 8 点”。
第三个话题更像是一个单挑。如果对 viv.time.DateTimeExpression 使用“9PM Wednesday”等语句,您可能会得到超过 1 个 return 的值。这是令人困惑但可以理解的,因为它可能是已经过去的星期三或即将到来的星期三。所以开发人员应该考虑到这一点,并在建模或 JS 中处理这种情况。
我花了一些时间做了一个样品胶囊。除了以下两个问题外,这并不难做到:
- 目标必须是用户定义的概念,因此不能是viv.time.Time。
必须是 MyTime,它是 viv.time.Time 的滚动。
- NL“晚上 9 点”必须被视为 viv.time.DateTimeExpression,因此它需要一个额外的步骤到 MyTime(作用于 viv.time.Time)
请看附件截图。对于可以测试的完整胶囊,可以download it。
[bixby] 如果用户 select 显示屏幕上的时间,我的 Bixby 胶囊可以正常工作,但如果他们尝试 select 通过语音输入,则无法正常工作。在本示例中,我遵循了为 "duration" 提供的培训,但它似乎不适用于 enter link description here "time"
结构(就寝时间){ 描述(描述) 角色 (time.Time) }
动作(准备用户数据){ 说明("Prepare user data") 类型(搜索) 搜集 { // 保留它以检索任何以前存储的 UserData 计算输入(previousUserData){ 类型(用户数据) 最小(必填) 最大(一个) 计算{ 意图{ 目标:获取用户数据 } } }
input (username) {
type (UserName)
min (Required) max (One)
}
input (wakeuptime) {
type (WakeupTime)
min (Required) max (One)
}
input (bedtime) {
type (BedTime)
min (Required) max (One)
}
input (message) {
type (Message)
min (Required) max (One)
}
}
output (UserData)
}
这次训练是"not learned",当我调用话语时,它一直在问我
[![唤醒训练
[
[5]: https://i.stack.imgur.com/YQvlg.jpgenter 代码在这里
没有实际的胶囊代码,我只能推测。
首先,概念应该是 viv.time.DateTimeExpression 以便更好地使用自然语言,例如“今晚 9 点”。您可以阅读有关 viv.time.DateTimeExpression here 的更多信息。
其次,话语 "bedtime" 不是时间的预期 NL 输入。它应该更具体,例如“晚上 9 点”或“本周三上午 8 点”或“明天晚上 8 点”。
第三个话题更像是一个单挑。如果对 viv.time.DateTimeExpression 使用“9PM Wednesday”等语句,您可能会得到超过 1 个 return 的值。这是令人困惑但可以理解的,因为它可能是已经过去的星期三或即将到来的星期三。所以开发人员应该考虑到这一点,并在建模或 JS 中处理这种情况。
我花了一些时间做了一个样品胶囊。除了以下两个问题外,这并不难做到:
- 目标必须是用户定义的概念,因此不能是viv.time.Time。 必须是 MyTime,它是 viv.time.Time 的滚动。
- NL“晚上 9 点”必须被视为 viv.time.DateTimeExpression,因此它需要一个额外的步骤到 MyTime(作用于 viv.time.Time)
请看附件截图。对于可以测试的完整胶囊,可以download it。