BotBuilder-Samples icon indicating copy to clipboard operation
BotBuilder-Samples copied to clipboard

Rich handling of date time

Open chrimc62 opened this issue 4 years ago • 2 comments

  1. Outline what you think an intelligent date time control should do. For inspiration look at UI date time controls to see the kind of parameters they take. Outline what conversations would look like.
  2. Look at the date time resolver library in Microsoft.TextRecognizers to understand what is there and might be missing.
  3. Write a design doc on what we should do in code and what should be exposed as declarative pieces.
  4. Review with chrimc and Lauren
  5. Design the appropriate LU/LG files for supporting this.
  6. Figure out how to generate the appropriate controls from schema.

Developer wants to be able to get points in time, time ranges and time recurrences.

When do you want leave? July 3rd (we know that they only want dates in the future and they want the next one)> When do you want to come back? the next monday (we know that is wrt when they are leaving.)

When do you want to fly? Leave july 3rd and return the next monday

When do you want leave? July 3rd When do you want to come back? actually leave on the 4th and come back on the 9th

  1. How do developers express their constraints and do validation?
  2. What is the working memory like?
  3. What gets implemented in code and in composer?
  4. What does the LU/LG model look like?
  5. How does a JSON schema express this information?

chrimc62 avatar Dec 18 '20 03:12 chrimc62

  1. The codes for datatime in the Recognizer-Text is rule-based. There is a new transformer-based LUIS model, will it support to extract and parse datetime entity using machine learning techniques? CCM: They are still using the date time recognizers.
  2. The examples listed (e.g.,  leave on the 4th and come back on the 9th) require contextual time information. Based on the codes from Recognizer-Text, when extracting and parsing from DateTimeModel, there is a parameter called refTime, if we could improve the refTime (default refTime is Now) to make the model more intelligent. CCM: What comes from NLU is the timex. Being able to resolve them with respect to a time is done at the dialog management level.
  3. I am not sure our work is improving DateTimeModel from Recognizer-Text or start a new model combined with DateTimeModel. CCM: We are not improving the NLU, we are supporting
  4. I think if we add constraints for datetime entity, the behavior is similar to that of number. The json schema might support minTime and maxTime. CCM: It could be minTime and maxTime, but I suspect it is a lot more complicated than that. In the simplest case imagine asking for a date, time or date & time and optionally specify default month/year/timerange, etc. We want to resolve whatever the user says by reasoning over the information we have or just asking. If they say "next Monday" we want to turn that into the date for the next Monday from now. If they pass in that the reference date is March 1st, 2021 it would be the "next monday" after March 1st. If they say the "4th" we can with ask for the month or infer it is Feb 4th, 2021.

coldplaying42 avatar Jan 05 '21 09:01 coldplaying42

ResolveDateTimeDialog dateparser duckling from facebook 1 Do we plan to start a new SDK datetime resolution library or extend ResolveDateTimeDialog and pack it ? 2 What contextual information could we get ? A series of historical datetime entities ?

coldplaying42 avatar Jan 12 '21 12:01 coldplaying42