node.js - 使用 Dialogflow REST API V2 批量更新训练短语时自动注释它们
问题描述
我正在使用对话流 REST API V2 来批量更新意图,即使用 Node.js 在我的对话流代理中向每个意图发布更多训练短语。我在 .txt 文件中有这些训练短语(短语由 '\n' 字符分隔),我的 node.js 脚本在调用 batchUpdate 方法之前将其解析为训练短语对象。我当前的代理有一堆我创建的自定义实体。我使用实体列表方法来获取我定义的所有实体并手动获取代码以检查我的训练短语中是否存在任何这些实体类型以相应地对其进行解析。
但是,我的问题是,我希望 dialogflow 在此过程中自动检测一些系统定义的实体(例如,@sys.given-name、@sys.date 等)。我在捕获自定义实体方面似乎没有任何问题,因为我的脚本“嗅出”这些实体类型并将我的训练短语分解为相应的部分。我希望 dialogflow 能够类似地注释系统定义的实体,而无需我再次手动将训练短语分解为多个部分。
我看到零件对象有一个我不完全理解的名为“userDefined”的参数。切换此参数并没有改变我的训练短语对象中的任何内容。我还可以看到TrainingPhrase对象带有一个我也尝试过的“类型”参数。我不清楚 TYPE_UNSPECIFIED 是什么意思,为什么EXAMPLE 是唯一的其他选项,它不允许@-prefixed 实体类型名称包含在训练短语中。
是否有一个我可能没有在我的训练短语对象中设置的参数以允许对话流自动检测这些带有@前缀的实体类型名称?
这是我在请求正文中使用的 intentBatch 对象。
{
"intentBatchInline": {
"intents": [
{
"displayName": "cheese",
"name": " projects/copy-c6f8c/agent/intents/07207104-75f1-4ed0-b97a-8d6931f9049e",
"trainingPhrases": [
{
"type": "TYPE_UNSPECIFIED",
"parts": [
{
"text": "Here's my Indian phone number: 5432543243",
"userDefined": false
}
]
}
]
}
],
}
}
解决方案
推荐阅读
- python - 多处理是否支持命名管道(FIFO)?
- python - 循环遍历大型 .tif 堆栈(图像光栅)并提取位置
- android - Github 推送失败:失败并出现错误:RPC 失败;curl 56 LibreSSL SSL_read:错误:140943FC:SSL 例程:SSL3_READ_BYTES:sslv3
- python - Python SQLite3 / 从表中选择行
- android - 当我从微调器中选择一个项目时,它不显示,但它被选中
- android - Firebase 部署错误
- node.js - 如果 spawn() 和 fork() 在同一个项目节点 js 中使用?
- google-apps-script - 从内容/背景脚本执行 Google App 脚本
- r - 带有法语词典的 Sentimentr 软件包
- json - smule的追随者名单和录音