Skip to content

Commit 73e8247

Browse files
aitelintaitelint
and
aitelint
authored
[JA DateTimeV2] DateTimeModel initial support (microsoft#2996)
* DateTimeModel initial support * Disabled modified Chinese specs in other platforms * Changes according to code review * Model refinements, all cases pass (1 timezone skipped) Co-authored-by: aitelint <[email protected]>
1 parent 2bf19be commit 73e8247

File tree

86 files changed

+3296
-1863
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+3296
-1863
lines changed

.NET/Microsoft.Recognizers.Definitions.Common/Chinese/DateTimeDefinitions.cs

+26-1
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,14 @@ public static class DateTimeDefinitions
127127
public const string TimeOfSpecialDayRegex = @"(今晚|今早|今晨|明晚|明早|明晨|昨晚)(的|在)?";
128128
public const string DateTimePeriodTillRegex = @"(?<till>到|直到|--|-|—|——)";
129129
public const string DateTimePeriodPrepositionRegex = @"(?<prep>^\s*的|在\s*$)";
130+
public const string BeforeAfterRegex = @"^\b$";
130131
public static readonly string HourRegex = $@"\b{BaseDateTime.HourRegex}";
131132
public const string HourNumRegex = @"(?<hour>[零〇一二两三四五六七八九]|二十[一二三四]?|十[一二三四五六七八九]?)";
132133
public const string ZhijianRegex = @"^\s*(之间|之内|期间|中间|间)";
133134
public const string DateTimePeriodThisRegex = @"这个|这一个|这|这一";
134135
public const string DateTimePeriodLastRegex = @"上个|上一个|上|上一";
135136
public const string DateTimePeriodNextRegex = @"下个|下一个|下|下一";
136-
public const string AmPmDescRegex = @"(?<daydesc>(am|a\.m\.|a m|a\. m\.|a\.m|a\. m|a m|pm|p\.m\.|p m|p\. m\.|p\.m|p\. m|p m))";
137+
public const string AmPmDescRegex = @"(?<daydesc>(am|a\.m\.|a m|a\. m\.|a\.m|a\. m|a m|pm|p\.m\.|p m|p\. m\.|p\.m|p\. m|p m|上午|中午|下午|午后|晚上|夜里|夜晚|夜间|深夜|傍晚|晚|早间?))";
137138
public const string TimeOfDayRegex = @"(?<timeOfDay>凌晨|清晨|早上|早间|早|上午|中午|下午|午后|晚上|夜里|夜晚|半夜|夜间|深夜|傍晚|晚)";
138139
public static readonly string SpecificTimeOfDayRegex = $@"((({DateTimePeriodThisRegex}|{DateTimePeriodNextRegex}|{DateTimePeriodLastRegex})\s+{TimeOfDayRegex})|(今晚|今早|今晨|明晚|明早|明晨|昨晚))";
139140
public const string DateTimePeriodUnitRegex = @"(个)?(?<unit>(小时|钟头|分钟|秒钟|时|分|秒))";
@@ -175,6 +176,7 @@ public static class DateTimeDefinitions
175176
@"时"
176177
};
177178
public static readonly string DurationUnitRegex = $@"(?<unit>{DateUnitRegex}|分钟?|秒钟?|个?小时|时|个?钟头|天|个?星期|周|週|个?月|年)";
179+
public const string AnUnitRegex = @"^[.]";
178180
public const string DurationConnectorRegex = @"^\s*(?<connector>[多又余零]?)\s*$";
179181
public const string ConnectorRegex = @"^\s*,\s*$";
180182
public static readonly string LunarHolidayRegex = $@"(({YearRegex}|{DatePeriodYearInCJKRegex}|(?<yearrel>明年|今年|去年))(的)?)?(?<holiday>除夕|春节|中秋节|中秋|元宵节|端午节|端午|重阳节)";
@@ -222,11 +224,14 @@ public static class DateTimeDefinitions
222224
public const string FromToRegex = @"(从|自).+([至到]).+";
223225
public const string AmbiguousRangeModifierPrefix = @"(从|自)";
224226
public const string ReferenceDatePeriodRegex = @"^[.]";
227+
public const string UnspecificDatePeriodRegex = @"^[.]";
225228
public const string ParserConfigurationBefore = @"((?<include>和|或|及)?(之前|以前)|前)";
226229
public const string ParserConfigurationAfter = @"((?<include>和|或|及)?(之后|之後|以后|以後)|后|後)";
227230
public const string ParserConfigurationUntil = @"(直到|直至|截至|截止(到)?)";
228231
public const string ParserConfigurationSincePrefix = @"(自从|自|自打|打|从)";
229232
public const string ParserConfigurationSinceSuffix = @"(以来|开始|起)";
233+
public const string ParserConfigurationAroundPrefix = @"^[.]";
234+
public const string ParserConfigurationAroundSuffix = @"^[.]";
230235
public const string ParserConfigurationLastWeekDayRegex = @"最后一个";
231236
public const string ParserConfigurationNextMonthRegex = @"下一个";
232237
public const string ParserConfigurationLastMonthRegex = @"上一个";
@@ -296,6 +301,10 @@ public static class DateTimeDefinitions
296301
{
297302
@"今年"
298303
};
304+
public static readonly IList<string> YearToDateTerms = new List<string>
305+
{
306+
@"今年迄今"
307+
};
299308
public static readonly IList<string> LastYearTerms = new List<string>
300309
{
301310
@"去年"
@@ -664,6 +673,22 @@ public static class DateTimeDefinitions
664673
public const string DateTimePeriodAFRegex = @"(下午|午后|傍晚)";
665674
public const string DateTimePeriodEVRegex = @"(晚上|夜里|夜晚|晚)";
666675
public const string DateTimePeriodNIRegex = @"(半夜|夜间|深夜)";
676+
public static readonly Dictionary<string, string> AmbiguityTimeFiltersDict = new Dictionary<string, string>
677+
{
678+
{ @"^[.]", @"^[.]" }
679+
};
680+
public static readonly Dictionary<string, string> AmbiguityTimePeriodFiltersDict = new Dictionary<string, string>
681+
{
682+
{ @"^[.]", @"^[.]" }
683+
};
684+
public static readonly Dictionary<string, string> AmbiguityDateFiltersDict = new Dictionary<string, string>
685+
{
686+
{ @"^[.]", @"^[.]" }
687+
};
688+
public static readonly Dictionary<string, string> AmbiguityDateTimeFiltersDict = new Dictionary<string, string>
689+
{
690+
{ @"^[.]", @"^[.]" }
691+
};
667692
public static readonly Dictionary<string, string> AmbiguityFiltersDict = new Dictionary<string, string>
668693
{
669694
{ @"早", @"(?<!今|明|日|号)早(?!上)" },

0 commit comments

Comments
 (0)