在澳大利亚,语音助理用户说“双”和“三”的数字字符串是完全正常的。 (同样在英国 - 他们有时也使用“高音”)
所以“8845”被称为“双八四五”。 “6663”通常被称为“三六三”。
Dialogflow似乎不支持任何旨在理解用户说出一串数字的系统数字字符串实体。
那么,有人知道如何在Dialogflow中支持数字字符串中的“double”和“triple”吗?
我必须'自己动手'吗?
答案 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>
标签中发送它。