Dialogflow es 意图样本话语(训练短语)结构-哪种最好?

Dialogflow es 意图样本话语(训练短语)结构-哪种最好?,dialogflow-es,actions-on-google,alexa-skills-kit,Dialogflow Es,Actions On Google,Alexa Skills Kit,19年3月28日更新:谷歌的尼克在DialogFlow方面的回答非常出色。如果能得到ASK团队的回答,那就太好了 我们有一个语音应用程序,既可以是Alexa技能,也可以是带有DialogFlow的Google Action。对于ASK和DialogFlow,我们的意图是使用一个示例话语/训练短语结构: 前导载波短语{main slot}尾随短语 有许多前导短语,也有许多后继短语。这些短语很短。这些短语最多有6个单词,大多数有3个单词。并非所有示例语句都有前导短语和尾随短语。有100多个使用这些组

19年3月28日更新:谷歌的尼克在DialogFlow方面的回答非常出色。如果能得到ASK团队的回答,那就太好了

我们有一个语音应用程序,既可以是Alexa技能,也可以是带有DialogFlow的Google Action。对于ASK和DialogFlow,我们的意图是使用一个示例话语/训练短语结构:

前导载波短语{main slot}尾随短语

有许多前导短语,也有许多后继短语。这些短语很短。这些短语最多有6个单词,大多数有3个单词。并非所有示例语句都有前导短语和尾随短语。有100多个使用这些组合的示例语句

我想知道我们是否应该创建{leading phrase}和{training phrase}的新时隙值。然后用样本话语中当前的相应短语填充每个句子。然后将样本语音从当前100+更改为仅以下4种:

{主插槽}

{前导短语}{主槽}

{主槽}{尾随短语}

{前导短语}{主槽}{尾随短语}

我认为通过这种方式我们可以更好地记录日志,而且看起来更干净。但我对此感到紧张。对两个平台进行此更改对NLU的准确性有何预期影响?较好的更糟的ASK对此的最佳实践建议是什么?DialogFlow的最佳实践建议是什么

@尼克- 谢谢你下面的回答。让我解释一下,看看我是否理解——如果实体被专门使用,其影响是:

1如果用户说的是已知实体组合的精确匹配,识别效果会更好

2如果用户所说的短语与已知实体不匹配,则与不使用实体时的相同情况相比,意图将不匹配。这可能导致未选择意图

这是正确的吗

我不确定这种情况下的话语是否与实体的组合不完全匹配,但这很接近。与不使用实体时相比,结果是否会减少匹配的频率?如果用户要为短语添加前缀或后缀,而这与此无关,那么您可以澄清您的陈述,这将有助于Dialogflow的ML匹配,方法是基于相似短语模糊匹配意图

也许举个例子会有帮助。让我们比较一下这两个培训短语:

'告诉我关于{主槽}和炸薯条的事'

{前导槽}{主槽}{尾随槽}

其中:

{main slot}包含“汉堡包”

{leading slot}包含'tell me about',但不包含'tell us about'

{training slot}包含“带炸薯条”


现在让我们假设用户的发言是告诉我们关于汉堡包和炸薯条。使用插槽/实体与此目的是否或多或少匹配?

如果在实体中定义所有内容,则可以使其更准确,因为Dialogflow将实施一些偏差以识别正确的实体或完全忽略此目的

然而,使用实体实际上只需要用于您实际感兴趣的词汇表。如果用户要为短语添加前缀或后缀,而这与短语无关,它将通过基于相似短语模糊匹配意图来帮助Dialogflow的ML匹配


根据您的问题,您似乎确实在某种程度上关心这些短语,因此使用实体可能是一个很好的选择,并且比100个单独的培训短语更容易维护。

谢谢Nick,我有一些后续澄清问题太长,无法发表评论,因此我编辑了上面的问题。是的,第1点和第2点是正确的。如果话语不完全匹配,则Dialogflow需要确定一种处理方法。如果前导插槽没有告诉我们,则Dialogflow可以匹配意图,但可能不会填充变量{leading slot},因为没有实体匹配。谢谢。在这个例子中,由于两者都不是精确匹配,那么当使用实体时,意图是否或多或少可能与话语匹配?或者结果之间的差异可以忽略不计?应该可以忽略不计,尽管这取决于你的其他意图,可能会影响其信心水平。