【问题标题】:Parse LUIS builtin.datetime.date解析 LUIS builtin.datetime.date
【发布时间】:2016-09-13 03:00:30
【问题描述】:

我已经构建了一个 Luis 模型,但在解析 builtin.datetime.date 以获取类似“this weeked”返回 2016-W20-WE(或类似内容)这样的条目时遇到问题,该条目无法使用 DateTime.Parse 成功解析。

我遇到了这个post,它似乎使用了一个名为 LUISParse 的类,但我在 Google 上找不到对此的任何引用。

【问题讨论】:

    标签: c# datetime bots azure-language-understanding


    【解决方案1】:

    我发现我必须深入研究内部元素并使用“value”、“start”和“end”属性,而不是使用原始值。这些属性至少遵循日期格式。这适用于周末或接下来 3 天以及今天和特定日期请求等持续时间。

                if (entity.Type == "builtin.datetimeV2.daterange")
                {
                    var resolutionValues = (IList<object>)entity.Resolution["values"];
                    foreach (var value in resolutionValues)
                    {
                        _start = Convert.ToDateTime(((IDictionary<string, object>)value)["start"]);
                        _end = Convert.ToDateTime(((IDictionary<string, object>)value)["end"]);
                    }
                }
                else if (entity.Type == "builtin.datetimeV2.date")
                {
                    var resolutionValues = (IList<object>)entity.Resolution["values"];
                    foreach (var value in resolutionValues)
                    {
                        _when = Convert.ToDateTime(((IDictionary<string, object>)value)["value"]);
                    }
                }
    

    【讨论】:

      【解决方案2】:

      我有同样的问题,并且在他们的 sdk 文档中看到他们在实际的实体字符串上使用 Chronic,而不是试图解释日期格式。 See Here:

      所以我做了这样的事情:

      Chronic.Parser parser = new Chronic.Parser();
      EntityRecommendation date = new EntityRecommendation();
      luisResponse.TryFindEntity("builtin.datetime.date", out date);
      var dateResult = parser.Parse(date.Entity);
      

      它从 date.Entity 开始工作,只包含与日期相关的字符串。例如:我将“是的,我计划下周去”传递给 Luis,实体包含“下周”。

      【讨论】:

      • 完美。返回具有 Start、End 可为空的日期时间属性的 Chronic.Span。
      • 这真的很好 - 但是,它似乎不适用于 builtin.datetime.duration - 接下来的 7 天返回为今天的日期,从早上 7 点到早上 7:01
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 2019-03-18
      • 2018-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多