如何在Dialogflow数字串实体中支持'double'和'triple'?

时间:2018-05-30 05:49:52

标签: dialogflow

在澳大利亚,语音助理用户说“双”和“三”的数字字符串是完全正常的。 (同样在英国 - 他们有时也使用“高音”)

所以“8845”被称为“双八四五”。 “6663”通常被称为“三六三”。

Dialogflow似乎不支持任何旨在理解用户说出一串数字的系统数字字符串实体。

那么,有人知道如何在Dialogflow中支持数字字符串中的“double”和“triple”吗?

我必须'自己动手'吗?

2 个答案:

答案 0 :(得分:1)

要处理这些情况,您可以创建一个开发映射实体(让我们称之为" number-extra"):

reference value            synonyms
88                         double eight
666                        triple six

因为只有10" double"或"三重"变体(每个数字一个),你可以为每个数字创建一个映射(11,22,33等)。

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

@numbers-extra
@sys.number

两个实体都应该返回字符串,因此复合实体中不会出现不一致,并且后端的参考值应该很容易处理。

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

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

答案 1 :(得分:0)

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

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

Here are the docs for that