【发布时间】:2019-08-15 06:57:07
【问题描述】:
3/28/19 更新:来自 Google 的 Nick 在 DialogFlow 方面的回答非常出色。也很高兴能从 ASK 团队获得答案!
我们有一个语音应用程序,既可以作为 Alexa 技能,也可以作为 Google Action(使用 DialogFlow)。对于 ASK 和 DialogFlow,我们的意图是示例话语/训练短语结构:
前导词组 {主槽} 尾随词组
有许多前导短语和许多尾随短语。短语很短。这些短语中最多有 6 个单词,并且大多数有 3 个单词。并非所有示例话语都有前导词组和尾随词组。这些组合有 100 多个示例话语。
我想知道我们是否应该创建 {leading phrase} 和 {trailing phrase} 的新槽值。然后用当前在样本话语中的相应短语填充它们中的每一个。然后将样本话语从当前的 100+ 更改为仅这 4 个:
{主槽}
{前导词组} {主槽}
{主槽} {尾随短语}
{前导短语} {主槽} {尾随短语}
我认为这样我们会更好地记录日志,而且看起来更干净。但我很紧张。对两个平台进行此更改对 NLU 准确性的预期影响是什么?更好的?更差? ASK 对此的最佳实践建议是什么? DialogFlow 的最佳实践建议是什么?
@尼克- 感谢下面的回答。让我解释一下,看看我是否理解 - 如果专门使用实体,影响是:
1) 如果用户说出与已知实体组合完全匹配的内容,则识别效果会更好。
2) 如果用户说出与已知实体不匹配的短语,则与不使用实体时的相同情况相比,意图的匹配度不会那么强。这可能导致未选择意图。
这是正确的吗?
我不确定话语与实体组合不完全匹配的情况,但很接近。结果(与不使用实体时相比)意图匹配的频率会降低吗?也许您可以澄清您的陈述“如果用户要为短语添加前缀或后缀,并且它是不相关的,它将通过基于相似短语的意图模糊匹配来帮助 Dialogflow 的 ML 匹配。”
也许举个例子会有所帮助。让我们比较一下这两个训练短语:
'告诉我有关 {main slot} 和炸薯条的事'
{前导槽} {主槽} {尾槽}
地点:
{main slot} 包含“汉堡包”
{leading slot} 包含“tell me about”,但不包含“tell us about”
{trailing slot} 包含 'with french fries'
现在假设用户的话语是“告诉我们有关炸薯条的汉堡包”。使用插槽/实体是否或多或少可能与此意图相匹配?
【问题讨论】:
标签: dialogflow-es actions-on-google alexa-skills-kit