【问题标题】:training phrases order is guaranteed?训练短语顺序有保证吗?
【发布时间】:2019-02-14 05:36:13
【问题描述】:

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

其中,“tie”或“bind”表示我的 APP 记录通过 uniq-id name 引用 Dialogflow 训练短语。例如,下面的 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".|

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

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

【问题讨论】:

  • 当您说要将训练短语与名称联系起来时,您并不清楚您到底想做什么。您能否更新问题以提供示例?
  • name 这是其 uniq-id 的对话流术语。 tie这里的意思是将我们APP的记录引用到对话流训练短语记录。我通过添加示例更新了我的问题。

标签: dialogflow-es


【解决方案1】:

假设 Google 在内部使用 Dialogflow 的公共 Protobuf 定义,则意图的训练短语是 stored 作为 repeated 字段,其中 does preserve 是其条目的顺序。再加上外部 API 使用 JSON 数组(也应该是 preserve its order)这一事实,应该可以依赖于您创建它们的顺序。

【讨论】:

  • 感谢您的回答,以保证订单。但是,我发现当输入的训练短语参数文本(通过 API 创建)重复时,它们会自动区分,因此 NOT 保证在这个意义上,对吧?
  • 我不太确定我是否理解正确,但如果您有多个相同实体类型的参数,那么是的,它们的名称会自动删除重复数据,您不能依赖您输入它们的顺序。
  • 我现在清楚限制了,谢谢你的澄清!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-28
  • 1970-01-01
  • 2012-07-20
  • 2021-09-25
相关资源
最近更新 更多