【发布时间】:2017-05-02 14:38:21
【问题描述】:
在 LUIS 中,我遇到了分配预建日期时间实体的问题。我必须注意用户查询,例如“在 dd/mm/yyyy 和 dd1/mm1/yyyy1 之间”。它无法正确识别第二个日期。
【问题讨论】:
标签: entity botframework microsoft-cognitive azure-language-understanding
在 LUIS 中,我遇到了分配预建日期时间实体的问题。我必须注意用户查询,例如“在 dd/mm/yyyy 和 dd1/mm1/yyyy1 之间”。它无法正确识别第二个日期。
【问题讨论】:
标签: entity botframework microsoft-cognitive azure-language-understanding
LUIS 绝对不完美,这是一个内部问题,因此您无法自行更改行为。您必须创建一个解决方法。
如果您希望用户填写两个日期并且您只得到一个,我建议您创建原始查询的子字符串并再次运行它。由于 EndIndex 包含在第一个结果中,这应该不难做到。
如果第二个查询返回一个日期,那么就有两个日期。如果不是,则没有指定范围。
注意:我自己对此进行了测试,发现当您省略“and”并仅查询“dd-MM-yyyy dd1-MM1-yyyy1 之间”之类的内容时,两个日期都会被识别。
警告:请检查您的日期是否正确解析。如果您有英文 LUIS 应用程序,则默认日期格式为 MM-dd-yyyy。如果您以 dd-MM-yyyy 格式发送查询,您的日期和月份将被调换。
【讨论】:
已针对 LUIS 中的英语文化发布了对预建日期时间实体的改进。但是,正因为如此,改进的实体已作为单独的实体发布,以避免破坏使用旧日期时间的应用程序。
其中一项改进专门针对这种情况,即日期范围识别。您可以找到一篇详细介绍改进的博文here。
以下是新预构建添加到 LUIS 应用时的样子。
【讨论】: