Skip to content
This repository was archived by the owner on Dec 4, 2023. It is now read-only.

Commit 349ab35

Browse files
authored
[SDK][Bot-Dialogs] Update Recognizers-Text internal library (#1021)
* Update Recognizers-Text Choice library * Update Recognizers-Text Datetime library * Update Recognizers-Text Number library * Update Recognizers-Text NumberWithUnit library * Update Recognizers-Text Main library * Add Recognizers-Text Expression library * Add Recognizers-Text Sequence library * Remove deprecated workaround as it's fixed in RT
1 parent 0a7c6c1 commit 349ab35

File tree

98 files changed

+5920
-99
lines changed

Some content is hidden

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

98 files changed

+5920
-99
lines changed

libraries/bot-dialogs/src/main/java/com/microsoft/bot/dialogs/choices/ChoiceRecognizers.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ private static List<ModelResult<FoundChoice>> recognizeNumbers(String utterance,
131131
return result.stream().map(r ->
132132
new ModelResult<FoundChoice>() {{
133133
setStart(r.start);
134-
setEnd(r.end - 1); // bug in 1.0-SNAPSHOT, should not have to decrement
134+
setEnd(r.end);
135135
setText(r.text);
136136
setResolution(new FoundChoice() {{
137137
setValue(r.resolution.get("value").toString());

libraries/bot-dialogs/src/main/java/com/microsoft/recognizers/text/choice/resources/ChineseChoice.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ public class ChineseChoice {
1717

1818
public static final String TokenizerRegex = "[^\\u3040-\\u30ff\\u3400-\\u4dbf\\u4e00-\\u9fff\\uf900-\\ufaff\\uff66-\\uff9f]";
1919

20-
public static final String TrueRegex = "(好[的啊呀嘞哇]|没问题|可以|中|好|同意|行|是的|是|对)|(\\uD83D\\uDC4D|\\uD83D\\uDC4C)";
20+
public static final String SkinToneRegex = "(\\uD83C\\uDFFB|\\uD83C\\uDFFC|\\uD83C\\uDFFD|\\uD83C\\uDFFE|\\uD83C\\uDFFF)";
2121

22-
public static final String FalseRegex = "(不行|不好|拒绝|否定|不中|不可以|不是的|不是|不对|不)|(\\uD83D\\uDC4E|\\u270B|\\uD83D\\uDD90)";
22+
public static final String TrueRegex = "(好[的啊呀嘞哇]|没问题|可以|中|好|同意|行|是的|是|对)|(\\uD83D\\uDC4D|\\uD83D\\uDC4C){SkinToneRegex}?"
23+
.replace("{SkinToneRegex}", SkinToneRegex);
24+
25+
public static final String FalseRegex = "(不行|不好|拒绝|否定|不中|不可以|不是的|不是|不对|不)|(\\uD83D\\uDC4E|\\u270B|\\uD83D\\uDD90){SkinToneRegex}?"
26+
.replace("{SkinToneRegex}", SkinToneRegex);
2327
}

libraries/bot-dialogs/src/main/java/com/microsoft/recognizers/text/choice/resources/EnglishChoice.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ public class EnglishChoice {
1717

1818
public static final String TokenizerRegex = "[^\\w\\d]";
1919

20-
public static final String TrueRegex = "\\b(true|yes|yep|yup|yeah|y|sure|ok|agree)\\b|(\\uD83D\\uDC4D|\\uD83D\\uDC4C|\\u0001f44c)";
20+
public static final String SkinToneRegex = "(\\uD83C\\uDFFB|\\uD83C\\uDFFC|\\uD83C\\uDFFD|\\uD83C\\uDFFE|\\uD83C\\uDFFF)";
2121

22-
public static final String FalseRegex = "\\b(false|nope|nop|no|not\\s+ok|disagree)\\b|(\\uD83D\\uDC4E|\\u270B|\\uD83D\\uDD90|\\u0001F44E|\\u0001F590)";
22+
public static final String TrueRegex = "\\b(true|yes|yep|yup|yeah|y|sure|ok|agree)\\b|(\\uD83D\\uDC4D|\\uD83D\\uDC4C|\\u0001f44c){SkinToneRegex}?"
23+
.replace("{SkinToneRegex}", SkinToneRegex);
24+
25+
public static final String FalseRegex = "\\b(false|nope|nop|no|not\\s+ok|disagree)\\b|(\\uD83D\\uDC4E|\\u270B|\\uD83D\\uDD90|\\u0001F44E|\\u0001F590){SkinToneRegex}?"
26+
.replace("{SkinToneRegex}", SkinToneRegex);
2327
}

libraries/bot-dialogs/src/main/java/com/microsoft/recognizers/text/choice/resources/FrenchChoice.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ public class FrenchChoice {
1717

1818
public static final String TokenizerRegex = "[^\\w\\d\\u00E0-\\u00FC]";
1919

20-
public static final String TrueRegex = "\\b(s[uû]r|ouais|oui|yep|y|sure|approuver|accepter|consentir|d'accord|ça march[eé])\\b|(\\uD83D\\uDC4D|\\uD83D\\uDC4C)";
20+
public static final String SkinToneRegex = "(\\uD83C\\uDFFB|\\uD83C\\uDFFC|\\uD83C\\uDFFD|\\uD83C\\uDFFE|\\uD83C\\uDFFF)";
2121

22-
public static final String FalseRegex = "\\b(faux|nan|non|pas\\s+d'accord|pas\\s+concorder|n'est\\s+pas\\s+(correct|ok)|pas)\\b|(\\uD83D\\uDC4E|\\u270B|\\uD83D\\uDD90)";
22+
public static final String TrueRegex = "\\b(s[uû]r|ouais|oui|yep|y|sure|approuver|accepter|consentir|d'accord|ça march[eé])\\b|(\\uD83D\\uDC4D|\\uD83D\\uDC4C){SkinToneRegex}?"
23+
.replace("{SkinToneRegex}", SkinToneRegex);
24+
25+
public static final String FalseRegex = "\\b(faux|nan|non|pas\\s+d'accord|pas\\s+concorder|n'est\\s+pas\\s+(correct|ok)|pas)\\b|(\\uD83D\\uDC4E|\\u270B|\\uD83D\\uDD90){SkinToneRegex}?"
26+
.replace("{SkinToneRegex}", SkinToneRegex);
2327
}

libraries/bot-dialogs/src/main/java/com/microsoft/recognizers/text/choice/resources/PortugueseChoice.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ public class PortugueseChoice {
1717

1818
public static final String TokenizerRegex = "[^\\w\\d\\u00E0-\\u00FC]";
1919

20-
public static final String TrueRegex = "\\b(verdade|verdadeir[oa]|sim|isso|claro|ok)\\b|(\\uD83D\\uDC4D|\\uD83D\\uDC4C)";
20+
public static final String SkinToneRegex = "(\\uD83C\\uDFFB|\\uD83C\\uDFFC|\\uD83C\\uDFFD|\\uD83C\\uDFFE|\\uD83C\\uDFFF)";
2121

22-
public static final String FalseRegex = "\\b(falso|n[aã]o|incorreto|nada disso)\\b|(\\uD83D\\uDC4E|\\u270B|\\uD83D\\uDD90)";
22+
public static final String TrueRegex = "\\b(verdade|verdadeir[oa]|sim|isso|claro|ok)\\b|(\\uD83D\\uDC4D|\\uD83D\\uDC4C){SkinToneRegex}?"
23+
.replace("{SkinToneRegex}", SkinToneRegex);
24+
25+
public static final String FalseRegex = "\\b(falso|n[aã]o|incorreto|nada disso)\\b|(\\uD83D\\uDC4E|\\u270B|\\uD83D\\uDD90){SkinToneRegex}?"
26+
.replace("{SkinToneRegex}", SkinToneRegex);
2327
}

libraries/bot-dialogs/src/main/java/com/microsoft/recognizers/text/choice/resources/SpanishChoice.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ public class SpanishChoice {
1717

1818
public static final String TokenizerRegex = "[^\\w\\d\\u00E0-\\u00FC]";
1919

20-
public static final String TrueRegex = "\\b(verdad|verdadero|sí|sip|s|si|cierto|por supuesto|ok)\\b|(\\uD83D\\uDC4D|\\uD83D\\uDC4C)";
20+
public static final String SkinToneRegex = "(\\uD83C\\uDFFB|\\uD83C\\uDFFC|\\uD83C\\uDFFD|\\uD83C\\uDFFE|\\uD83C\\uDFFF)";
2121

22-
public static final String FalseRegex = "\\b(falso|no|nop|n|no)\\b|(\\uD83D\\uDC4E|\\u270B|\\uD83D\\uDD90)";
22+
public static final String TrueRegex = "\\b(verdad|verdadero|sí|sip|s|si|cierto|por supuesto|ok)\\b|(\\uD83D\\uDC4D|\\uD83D\\uDC4C){SkinToneRegex}?"
23+
.replace("{SkinToneRegex}", SkinToneRegex);
24+
25+
public static final String FalseRegex = "\\b(falso|no|nop|n|no)\\b|(\\uD83D\\uDC4E|\\u270B|\\uD83D\\uDD90){SkinToneRegex}?"
26+
.replace("{SkinToneRegex}", SkinToneRegex);
2327
}

libraries/bot-dialogs/src/main/java/com/microsoft/recognizers/text/datetime/resources/EnglishDateTime.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1231,8 +1231,11 @@ public class EnglishDateTime {
12311231

12321232
public static final ImmutableMap<String, Integer> DayOfMonth = ImmutableMap.<String, Integer>builder()
12331233
.put("1st", 1)
1234+
.put("1th", 1)
12341235
.put("2nd", 2)
1236+
.put("2th", 2)
12351237
.put("3rd", 3)
1238+
.put("3th", 3)
12361239
.put("4th", 4)
12371240
.put("5th", 5)
12381241
.put("6th", 6)
@@ -1268,8 +1271,11 @@ public class EnglishDateTime {
12681271
.put("30th", 30)
12691272
.put("31st", 31)
12701273
.put("01st", 1)
1274+
.put("01th", 1)
12711275
.put("02nd", 2)
1276+
.put("02th", 2)
12721277
.put("03rd", 3)
1278+
.put("03th", 3)
12731279
.put("04th", 4)
12741280
.put("05th", 5)
12751281
.put("06th", 6)

libraries/bot-dialogs/src/main/java/com/microsoft/recognizers/text/datetime/resources/SpanishDateTime.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,16 @@ public class SpanishDateTime {
369369

370370
public static final String PmTimeRegex = "(?<pm>(esta|(por|de|a|en)\\s+la)\\s+(tarde|noche))";
371371

372+
public static final String NightTimeRegex = "(noche)";
373+
374+
public static final String LastNightTimeRegex = "(anoche)";
375+
376+
public static final String NowTimeRegex = "(ahora|mismo|momento)";
377+
378+
public static final String RecentlyTimeRegex = "(mente)";
379+
380+
public static final String AsapTimeRegex = "(posible|pueda[ns]?|podamos)";
381+
372382
public static final String LessThanOneHour = "(?<lth>((\\s+y\\s+)?cuarto|(\\s*)menos cuarto|(\\s+y\\s+)media|{BaseDateTime.DeltaMinuteRegex}(\\s+(minutos?|mins?))|{DeltaMinuteNumRegex}(\\s+(minutos?|mins?))))"
373383
.replace("{BaseDateTime.DeltaMinuteRegex}", BaseDateTime.DeltaMinuteRegex)
374384
.replace("{DeltaMinuteNumRegex}", DeltaMinuteNumRegex);

libraries/bot-dialogs/src/main/java/com/microsoft/recognizers/text/datetime/spanish/parsers/SpanishDateTimeParserConfiguration.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public class SpanishDateTimeParserConfiguration extends BaseOptionsConfiguration
4040
public final Pattern nowRegex;
4141
public final Pattern amTimeRegex;
4242
public final Pattern pmTimeRegex;
43+
public final Pattern lastNightTimeRegex;
4344
public final Pattern simpleTimeOfTodayAfterRegex;
4445
public final Pattern simpleTimeOfTodayBeforeRegex;
4546
public final Pattern specificTimeOfDayRegex;
@@ -80,6 +81,7 @@ public SpanishDateTimeParserConfiguration(ICommonDateTimeParserConfiguration con
8081

8182
pmTimeRegex = RegExpUtility.getSafeRegExp(SpanishDateTime.PmRegex);
8283
amTimeRegex = RegExpUtility.getSafeRegExp(SpanishDateTime.AmTimeRegex);
84+
lastNightTimeRegex = RegExpUtility.getSafeRegExp(SpanishDateTime.LastNightTimeRegex);
8385
}
8486

8587
@Override
@@ -122,12 +124,18 @@ public int getSwiftDay(String text) {
122124
Matcher regexMatcher = SpanishDatePeriodParserConfiguration.previousPrefixRegex.matcher(trimmedText);
123125

124126
int swift = 0;
127+
125128
if (regexMatcher.find()) {
126-
swift = 1;
129+
swift = -1;
127130
} else {
128-
regexMatcher = SpanishDatePeriodParserConfiguration.nextPrefixRegex.matcher(trimmedText);
131+
regexMatcher = this.lastNightTimeRegex.matcher(trimmedText);
129132
if (regexMatcher.find()) {
130133
swift = -1;
134+
} else {
135+
regexMatcher = SpanishDatePeriodParserConfiguration.nextPrefixRegex.matcher(trimmedText);
136+
if (regexMatcher.find()) {
137+
swift = 1;
138+
}
131139
}
132140
}
133141

libraries/bot-dialogs/src/main/java/com/microsoft/recognizers/text/datetime/spanish/parsers/SpanishDateTimePeriodParserConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ public int getSwiftPrefix(String text) {
332332
Matcher regexMatcher = regex.matcher(trimmedText);
333333

334334
int swift = 0;
335-
if (regexMatcher.find() || trimmedText.equals("anoche")) {
335+
if (regexMatcher.find() || trimmedText.startsWith("anoche")) {
336336
swift = -1;
337337
} else {
338338
regex = Pattern.compile(SpanishDateTime.NextPrefixRegex);

0 commit comments

Comments
 (0)