如何在对话流数字字符串实体中支持"双倍"和"三倍"?



在澳大利亚,语音助手用户说出带有"双"和"三倍"的数字字符串是完全正常的。(在英国也是如此 - 他们有时也使用"高音"(

所以"8845"就说成"双八四五"。 "6663"常说成"三六三"。

对于任何旨在理解说一串数字的用户的系统数字字符串实体,Dialogflow 似乎都不支持这一点。

那么,有人知道如何在对话流中的数字字符串中支持"双倍"和"三倍"吗?

我必须"自己滚动"吗?

要处理这些情况,您可以创建一个开发映射实体(我们称之为"数字额外"(:

reference value            synonyms
88                         double eight
666                        triple six

由于只有 10 个"双倍"或"三重"变体(每个数字一个(,因此您可以为每个变体创建一个映射(11、22、33 等(。

您还需要一个复合实体(我们称之为"数字"(:

@numbers-extra
@sys.number

两个实体都应返回字符串,因此复合实体中不会出现不一致,并且引用值应该易于在后端处理。

您还应该添加使用这些实体的培训短语,例如"我的地址是三六三主街",并相应地注释实体。这为您的模型提供了有关如何使用这些实体的更多信息,并将提高准确性。

此建议也可以推广到其他系统实体。想念城市?为城市创建一个实体,并将其与复合实体中的@sys.geo-city组合在一起。缺少名字?相同的程序。

您可以使用 SSML 和一些逻辑来完成此操作。

将"468826661"解析为四六双八二三六一,然后在<speak></speak>标签中像这样发送。

这是这方面的文档。

最新更新