首页 > 解决方案 > 训练短语顺序有保证吗?

问题描述

我想将 Dialogflow 训练短语与我们的 APP 记录与name(通常称为“key”、“internal-id”或“code”的 Dialogflow 术语)联系起来。为了在通过 Dialogflow API(例如batch_update_intents)创建意图(具有多个训练短语)时做到这一点,需要在每个训练短语的输入参数和 Dialogflow 创建的训练短语(返回 generated name)之间进行一些绑定。

其中,'tie' 或 'bind' 表示我的 APP 记录通过 uniq-id 引用 Dialogflow 训练短语name。例如,tp1下面指的是 Dialogflow 训练短语“今天找到了吗?” 使用name“9ed938 ...”:

|   Training Phrase     | My APP |      Dialogflow               |
|                       |        | name      | parts...          |
|-----------------------+--------+-----------+-------------------|
| "Is today fine?"      |  tp1   | 9ed938... | "Is", "today", ...|
| "What weather today?" |  tp2   | b3415c... | "What, "wheather".|

如果保证创建的训练词组的顺序与训练词组的输入参数完全一致,则按顺序绑定即可。否则,没有办法将它们联系起来(或者,通过训练短语文本匹配?)。

所以我的问题是创建的训练短语的顺序是保证作为输入参数的顺序吗?

标签: dialogflow-es

解决方案


假设 Google 在内部使用 Dialogflow 的公共 Protobuf 定义,则意图的训练短语存储为一个repeated字段,该字段确实保留了其条目的顺序。这一点以及外部 API 使用 JSON 数组(也应该保留其顺序)的事实应该可以依赖于您创建它们的顺序。


推荐阅读