【问题标题】:Datetime prebuilt enity issue with LUISLUIS 的日期时间预建实体问题
【发布时间】:2017-05-02 14:38:21
【问题描述】:

在 LUIS 中,我遇到了分配预建日期时间实体的问题。我必须注意用户查询,例如“在 dd/mm/yyyy 和 dd1/mm1/yyyy1 之间”。它无法正确识别第二个日期。

【问题讨论】:

    标签: entity botframework microsoft-cognitive azure-language-understanding


    【解决方案1】:

    LUIS 绝对不完美,这是一个内部问题,因此您无法自行更改行为。您必须创建一个解决方法。

    如果您希望用户填写两个日期并且您只得到一个,我建议您创建原始查询的子字符串并再次运行它。由于 EndIndex 包含在第一个结果中,这应该不难做到。

    如果第二个查询返回一个日期,那么就有两个日期。如果不是,则没有指定范围。

    注意:我自己对此进行了测试,发现当您省略“and”并仅查询“dd-MM-yyyy dd1-MM1-yyyy1 之间”之类的内容时,两个日期都会被识别。

    警告:请检查您的日期是否正确解析。如果您有英文 LUIS 应用程序,则默认日期格式为 MM-dd-yyyy。如果您以 dd-MM-yyyy 格式发送查询,您的日期和月份将被调换。

    【讨论】:

    • Xeno-D 感谢您的回复。是的,我使用的是英文 LUIS,一个问题是日期格式 (dd/MM/YYYY) 不起作用。此外,我将日期传递为“12/26/2016”,当我传递“2016 年 12 月 26 日”之类的日期时,LUIS 无法识别它。
    • 是的,这很麻烦,但您无能为力,因为它是一个预构建的实体。您必须使用解决方法。
    【解决方案2】:

    已针对 LUIS 中的英语文化发布了对预建日期时间实体的改进。但是,正因为如此,改进的实体已作为单独的实体发布,以避免破坏使用旧日期时间的应用程序。

    其中一项改进专门针对这种情况,即日期范围识别。您可以找到一篇详细介绍改进的博文here

    以下是新预构建添加到 LUIS 应用时的样子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      相关资源
      最近更新 更多