意向样本话语(训练短语)结构-哪个最好?

时间:2019-03-25 03:34:13

标签: dialogflow actions-on-google alexa-skills-kit

3/28/19更新:Google的Nick在DialogFlow方面做了出色的回答。也可以从ASK团队那里获得答案!


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

主要承运人短语 {主要时段} 尾随短语

有许多前导短语和许多尾随短语。短语简短。这些短语中最多包含6个单词,大多数包含3个单词。并非所有样本话语都有前导短语和尾随短语。这些组合有100多种样本话语。

我想知道我们是否应该创建{前导短语}和{尾随短语}的新广告位值。然后,使用样本话语中当前包含的各个短语填充每个短语。然后将样本发音从当前的100+更改为仅这4种:

{主插槽}

{前导词组} {主广告位}

{主广告位} {尾随短语}

{前导词组} {主广告位} {尾随词组}

我认为这样记录会更好,而且看起来更干净。但是我对此感到紧张。对两个平台进行此更改都会对NLU的准确性产生什么预期影响?更好?更差?关于ASK的最佳实践建议是什么? DialogFlow的最佳实践建议是什么?


@Nick- 感谢您下面的回答。让我解释一下,如果我理解的话-如果仅使用实体,会产生以下影响:

1)如果用户说出已知实体的完全匹配项,则识别效果会更好。

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

这是正确的吗?

我不确定话语与实体的组合不完全匹配,但是很接近。结果(与不使用实体时相比)意图匹配的频率降低了吗?也许您可以澄清以下语句:“如果用户要给短语加上前缀或后缀,而这是不相关的,它将通过基于相似短语模糊匹配意图来帮助Dialogflow的ML匹配。”

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

“用炸薯条告诉我有关{main slot}的信息

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

位置:

{主插槽}包含“汉堡”

{前导广告位}包含“告诉我”但不包含“告诉我们”

{trailing slot}包含“配炸薯条”

现在,让我们说用户的话语是“告诉我们汉堡包和炸薯条”。使用广告位/实体,这种意图的匹配或多或少地可能?

1 个答案:

答案 0 :(得分:1)

如果您在实体中定义所有内容,由于Dialogflow将实施一些偏向来标识正确的实体(或完全忽略此意图),因此可以使其更加准确。

但是,使用实体实际上只需要用于您真正感兴趣的词汇。如果用户要给短语加上前缀或后缀,并且与单词无关,那么它将通过模糊匹配来帮助Dialogflow的ML匹配。基于相似短语的意图。

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