From 3dc948b2659e755db436527a9576b6d47a4ea573 Mon Sep 17 00:00:00 2001 From: aitelint Date: Thu, 9 Dec 2021 08:27:54 +0100 Subject: [PATCH] [EN DateTimeV2] Fixed "every week starting next week" returns empty/null timex (#2724) --- .../Extractors/BaseDatePeriodExtractor.cs | 2 +- Specs/DateTime/English/DateTimeModel.json | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/.NET/Microsoft.Recognizers.Text.DateTime/Extractors/BaseDatePeriodExtractor.cs b/.NET/Microsoft.Recognizers.Text.DateTime/Extractors/BaseDatePeriodExtractor.cs index 3f7b833764..20dd35d859 100644 --- a/.NET/Microsoft.Recognizers.Text.DateTime/Extractors/BaseDatePeriodExtractor.cs +++ b/.NET/Microsoft.Recognizers.Text.DateTime/Extractors/BaseDatePeriodExtractor.cs @@ -681,7 +681,7 @@ private List SingleTimePointWithPatterns(string text, List var datePoints = this.config.DatePointExtractor.Extract(text, reference); // For cases like "week of the 18th" - datePoints.AddRange(ordinalExtractions.Where(o => !datePoints.Any(er => er.IsOverlap(o)))); + datePoints.AddRange(ordinalExtractions.Where(o => !datePoints.Any(er => er.IsOverlap(o)) && !o.Metadata.IsOrdinalRelative)); if (datePoints.Count < 1) { diff --git a/Specs/DateTime/English/DateTimeModel.json b/Specs/DateTime/English/DateTimeModel.json index 5962061689..5ad48258cf 100644 --- a/Specs/DateTime/English/DateTimeModel.json +++ b/Specs/DateTime/English/DateTimeModel.json @@ -22464,5 +22464,46 @@ } } ] + }, + { + "Input": "Schedule a meeting every week starting next week", + "Context": { + "ReferenceDateTime": "2016-11-07T00:00:00" + }, + "NotSupported": "java, javascript, python", + "Results": [ + { + "Text": "every week", + "Start": 19, + "End": 28, + "TypeName": "datetimeV2.set", + "Resolution": { + "values": [ + { + "timex": "P1W", + "type": "set", + "value": "not resolved" + } + ] + } + }, + { + "Text": "starting next week", + "Start": 30, + "End": 47, + "TypeName": "datetimeV2.daterange", + "Resolution": { + "values": [ + { + "timex": "2016-W46", + "Mod": "after", + "type": "daterange", + "sourceEntity": "datetimerange", + "start": "2016-11-21" + } + ] + } + } + ] } ]