python - Google assistant sdk [CUSTOM TYPES]:从自定义操作中捕获货币价值(10 美元、20 美元、50 美元)
问题描述
我想在我的自定义操作中使用自定义类型来捕获 $10、$5、$20 等值,因为这种数据没有 Schema.org 定义的类型。我将它添加到 json 文件中,但它不起作用。
这是在 raspbian 上运行的。使用谷歌助手 SDK 1.0.1 版本。该操作是针对西班牙语进行的。
{
"locale": "es",
"manifest": {
"displayName": "Imprimir",
"invocationName": "Imprimir",
"category": "PRODUCTIVITY"
},
"actions": [
{
"name": "com.example.actions.Imprimir",
"availability": {
"deviceClasses": [
{
"assistantSdkDevice": {}
}
]
},
"intent": {
"name": "com.example.intents.Imprimir",
"parameters": [
{
"name": "cantidad",
"type": "SchemaOrg_Number"
},
{
"name": "valor",
"type": "$Valor"
}
],
"trigger": {
"queryPatterns": [
"imprimir $SchemaOrg_Number:cantidad tickets de $Valor:valor"
]
}
},
"fulfillment": {
"staticFulfillment": {
"templatedResponse": {
"items": [
{
"simpleResponse": {
"textToSpeech": "De acuerdo"
}
},
{
"deviceExecution": {
"command": "com.example.commands.Imprimir",
"params": {
"cantidad": "$cantidad",
"valor": "$valor"
}
}
}
]
}
}
}
}
],
"types": [
{
"name": "$Valor",
"entities": [
{
"key": "1$",
"synonyms": [
"1 dolar"
]
},
{
"key": "2$",
"synonyms": [
"2 dolares"
]
},
{
"key": "5$",
"synonyms": [
"5 dolares"
]
},
{
"key": "10$",
"synonyms": [
"10 dolares"
]
},
{
"key": "20$",
"synonyms": [
"20 dolares"
]
}
]
}
]
}
它没有向我显示任何明显的错误。这就是我谈论订单时发生的事情:
ON_END_OF_UTTERANCE
ON_END_OF_UTTERANCE
ON_RECOGNIZING_SPEECH_FINISHED:
{"text": "imprimir dos ticket de $10"}
ON_RESPONDING_STARTED:
{"is_error_response": false}
ON_RESPONDING_FINISHED
ON_CONVERSATION_TURN_FINISHED:
{"with_follow_on_turn": false}
助理告诉我,她不明白。我在一个西班牙集团工作。
我知道我的自定义类型不起作用,因为未捕获事件。我确定 json 文件没有错误,因为如果我忽略“Valor”类型,将其替换为$SchemaOrg_Number
并省略“dolar”一词,gaction 运行良好。
我已经尝试过$SchemaOrg_priceCurrency
,但它捕获了美元、索尔、日元、欧元等货币的类型......
解决方案
您的同义词列表应包括每个可能的组合。如果您的查询将“$10”作为字符串,则需要作为同义词进行匹配,否则查询将根本不匹配。
推荐阅读
- javascript - 如何重启JS游戏?
- android - 如何使用 Gson 正确序列化/反序列化 kotlin 中的复杂对象?
- java - JDBC 侦听器未收到 DatabaseChangeNotification Android Studio
- django - Django 使用 RangeWidget 验证表单
- google-cloud-dataproc - 如何从 Cloud Function 运行创建 Dataproc 集群、运行作业、删除集群
- javascript - 将 Django ORM 数据获取到 Javascript 进行评估
- vb.net - 将以下 VB.NET 代码转换为 Lambda/LINQ
- vba - 将word注释转移到excel
- javascript - 如何在 php 中获取与 JS Date() 中相同的日期和时间
- c# - 在 .NET Core 2 应用程序中包含旧库