Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NLU-3857 - Arabic Time: am and pm bug #101

Merged
merged 8 commits into from
Oct 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Patterns/Arabic/Arabic-DateTime.yaml
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't need to update the patterns files anymore

Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ OclockRegex: !simpleRegex
SpecialDescRegex: !simpleRegex
def: ((?<ipm>)p\b)
AmDescRegex: !nestedRegex
def: (في\s)?(صباح(ا)?|صباحًا|الصباح|{BaseDateTime.BaseAmDescRegex})
def: (في\s)?(صباح(ا)?|صباحًا|ص|الصباح|{BaseDateTime.BaseAmDescRegex})
references: [BaseDateTime.BaseAmDescRegex]
PmDescRegex: !nestedRegex
def: (في\s)?((ال)?مساء|مساءً|ليلًا|ليلا|(ال)?ليل(ة)?|بعد الظهر|الظهر|ظهرا|{BaseDateTime.BasePmDescRegex})
Expand All @@ -90,7 +90,7 @@ AmPmDescRegex: !nestedRegex
def: (في\s)?(صباح(ا)?|صباحًا|الصباح|(ال)?مساء|مساءً|{BaseDateTime.BaseAmPmDescRegex})
references: [BaseDateTime.BaseAmPmDescRegex]
DescRegex: !nestedRegex
def: (:?(:?({OclockRegex}\s+)?(?<desc>({AmPmDescRegex}|{AmDescRegex}|{PmDescRegex}|{SpecialDescRegex})))|{OclockRegex})
def: (?:(?:({OclockRegex}\s+)?(?<desc>({AmPmDescRegex}|{AmDescRegex}|{PmDescRegex}|{SpecialDescRegex})))|{OclockRegex})
references: [ OclockRegex, AmDescRegex, PmDescRegex, AmPmDescRegex, SpecialDescRegex ]
OfPrepositionRegex: !simpleRegex
def: (\bof\b)
Expand Down Expand Up @@ -453,7 +453,7 @@ TimeRegex3: !nestedRegex
def: (\b{TimePrefix}\s+)?{BaseDateTime.HourRegex}\.{BaseDateTime.MinuteRegex}(\s*{DescRegex})
references: [ TimePrefix, BaseDateTime.HourRegex, BaseDateTime.MinuteRegex, DescRegex ]
TimeRegex4: !nestedRegex
def: \b({TimePrefix}\s+)?{BasicTime}(\s*{DescRegex})?\s+{TimeSuffix}(\s*{DescRegex})?\b
def: \b({TimePrefix}\s+)?{BasicTime}(\s*{DescRegex})?(\s+{TimeSuffix})?(\s*{DescRegex})?\b
references: [ TimePrefix, BasicTime, DescRegex, TimeSuffix ]
TimeRegex5: !nestedRegex
def: \b({DescRegex}\s)?{BasicTime}((\s*{DescRegex})((\s+{TimePrefix})?)|(\s+{TimePrefix}(\s+{TimePrefix})?))(\s{DescRegex})?
Expand Down
2 changes: 1 addition & 1 deletion Python/libraries/datatypes-timex-expression/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def read(fname):


NAME = 'datatypes_timex_expression_genesys'
VERSION = '1.0.71'
VERSION = '1.0.72'
REQUIRES = []

setup(
Expand Down
2 changes: 1 addition & 1 deletion Python/libraries/recognizers-choice/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def read(fname):


NAME = 'recognizers-text-choice-genesys'
VERSION = '1.0.71'
VERSION = '1.0.72'
REQUIRES = ['recognizers-text-genesys', 'regex', 'grapheme']

setup(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ class ArabicDateTime:
FullTextYearRegex = f'(?<firsttwoyearnum>{CenturyRegex})\\s*(?<lasttwoyearnum>{LastTwoYearNumRegex})|(?<firsttwoyearnum>{WrittenCenturyFullYearRegex})|{WrittenCenturyOrdinalYearRegex}'
OclockRegex = f'(?<oclock>(ال)?ساعة|(ال)?ساعات)'
SpecialDescRegex = f'((?<ipm>)p\\b)'
AmDescRegex = f'(في\\s)?(صباح(ا)?|صباحًا|الصباح|{BaseDateTime.BaseAmDescRegex})'
AmDescRegex = f'(في\\s)?(صباح(ا)?|صباحًا|ص|الصباح|{BaseDateTime.BaseAmDescRegex})'
PmDescRegex = f'(في\\s)?((ال)?مساء|مساءً|ليلًا|ليلا|(ال)?ليل(ة)?|بعد الظهر|الظهر|ظهرا|{BaseDateTime.BasePmDescRegex})'
AmPmDescRegex = f'({BaseDateTime.BaseAmPmDescRegex})'
DescRegex = f'(:?(:?({OclockRegex}\\s+)?(?<desc>({AmPmDescRegex}|{AmDescRegex}|{PmDescRegex}|{SpecialDescRegex})))|{OclockRegex})'
DescRegex = f'(?:(?:({OclockRegex}\\s+)?(?<desc>({AmPmDescRegex}|{AmDescRegex}|{PmDescRegex}|{SpecialDescRegex})|{OclockRegex})))'
OfPrepositionRegex = f'(\\bof\\b)'
TwoDigitYearRegex = f'\\b(?<![$])(?<year>([0-9]\\d))(?!(\\s*((\\:\\d)|{AmDescRegex}|{PmDescRegex}|\\.\\d)))\\b'
YearRegex = f'(?:{BaseDateTime.FourDigitYearRegex}|{FullTextYearRegex})'
Expand Down Expand Up @@ -177,7 +177,7 @@ class ArabicDateTime:
TimeRegex1 = f'\\b({TimePrefix}\\s+)?({WrittenTimeRegex}(\\s{TimePrefix})?|{HourNumRegex}|{BaseDateTime.HourRegex})(\\s*|[.]){DescRegex}'
TimeRegex2 = f'(\\b{TimePrefix}\\s+)?(t)?{BaseDateTime.HourRegex}(\\s*)?:(\\s*)?{BaseDateTime.MinuteRegex}((\\s*)?:(\\s*)?{BaseDateTime.SecondRegex})?(?<iam>a)?((\\s*{DescRegex})|\\b)'
TimeRegex3 = f'(\\b{TimePrefix}\\s+)?{BaseDateTime.HourRegex}\\.{BaseDateTime.MinuteRegex}(\\s*{DescRegex})'
TimeRegex4 = f'\\b({TimePrefix}\\s+)?{BasicTime}(\\s*{DescRegex})?\\s+{TimeSuffix}(\\s*{DescRegex})?\\b'
TimeRegex4 = f'\\b({TimePrefix}\\s+)?{BasicTime}(\\s*{DescRegex})?(\\s+{TimeSuffix})?(\\s*{DescRegex})?\\b'
TimeRegex5 = f'\\b({DescRegex}\\s)?{BasicTime}((\\s*{DescRegex})((\\s+{TimePrefix})?)|(\\s+{TimePrefix}(\\s+{TimePrefix})?))(\\s{DescRegex})?'
TimeRegex6 = f'{BasicTime}(\\s*{DescRegex})?\\s+{TimeSuffix}\\b'
TimeRegex7 = f'\\b({DescRegex}\\s)?(وقت الغداء\\s)?{TimeSuffixFull}\\s+(في\\s+)?{BasicTime}(\\s{DescRegex})?(\\sوقت الغداء)?(\\s{TimePrefix})?((\\s*{DescRegex})|\\b)?'
Expand Down
2 changes: 1 addition & 1 deletion Python/libraries/recognizers-date-time/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ def read(fname):


NAME = 'recognizers-text-date-time-genesys'
VERSION = '1.0.71'
VERSION = '1.0.72'
REQUIRES = ['recognizers-text-genesys', 'recognizers-text-number-genesys',
'recognizers-text-number-with-unit-genesys', 'regex', 'datedelta', 'python-dateutil']

Expand Down
2 changes: 1 addition & 1 deletion Python/libraries/recognizers-number-with-unit/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ def read(fname):


NAME = "recognizers-text-number-with-unit-genesys"
VERSION = "1.0.71"
VERSION = "1.0.72"
REQUIRES = ['recognizers-text-genesys', 'recognizers-text-number-genesys', 'regex']

setup(
Expand Down
2 changes: 1 addition & 1 deletion Python/libraries/recognizers-number/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ def read(fname):


NAME = "recognizers-text-number-genesys"
VERSION = "1.0.71"
VERSION = "1.0.72"
REQUIRES = ['recognizers-text-genesys', 'regex']

setup(
Expand Down
2 changes: 1 addition & 1 deletion Python/libraries/recognizers-sequence/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ def read(fname):


NAME = "recognizers-text-sequence-genesys"
VERSION = "1.0.71"
VERSION = "1.0.72"
REQUIRES = ['recognizers-text-genesys', 'recognizers-text-number-genesys', 'regex']

setup(
Expand Down
16 changes: 8 additions & 8 deletions Python/libraries/recognizers-suite/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ def read(fname):


NAME = 'recognizers-text-suite-genesys'
VERSION = '1.0.71'
VERSION = '1.0.72'
REQUIRES = [
'recognizers-text-genesys==1.0.71',
'recognizers-text-number-genesys==1.0.71',
'recognizers-text-number-with-unit-genesys==1.0.71',
'recognizers-text-date-time-genesys==1.0.71',
'recognizers-text-sequence-genesys==1.0.71',
'recognizers-text-choice-genesys==1.0.71',
'datatypes_timex_expression_genesys==1.0.71'
'recognizers-text-genesys==1.0.72',
'recognizers-text-number-genesys==1.0.72',
'recognizers-text-number-with-unit-genesys==1.0.72',
'recognizers-text-date-time-genesys==1.0.72',
'recognizers-text-sequence-genesys==1.0.72',
'recognizers-text-choice-genesys==1.0.72',
'datatypes_timex_expression_genesys==1.0.72'
]

setup(
Expand Down
2 changes: 1 addition & 1 deletion Python/libraries/recognizers-text/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from setuptools import setup, find_packages

NAME = "recognizers-text-genesys"
VERSION = "1.0.71"
VERSION = "1.0.72"
REQUIRES = ['emoji==1.1.0', 'multipledispatch']

setup(
Expand Down
36 changes: 36 additions & 0 deletions Specs/DateTime/Arabic/TimeExtractor.json
Original file line number Diff line number Diff line change
Expand Up @@ -872,5 +872,41 @@
"Type": "time"
}
]
},
{
"Input": "نعم 4:25 مساءً من فضلك",
"NotSupportedByDesign": "java, javascript",
"Results": [
{
"Text": "4:25 مساءً",
"Start": 4,
"Length": 10,
"Type": "time"
}
]
},
{
"Input": "12:09 صباحًا",
"NotSupportedByDesign": "java, javascript",
"Results": [
{
"Text": "12:09 صباحًا",
"Start": 0,
"Length": 12,
"Type": "time"
}
]
},
{
"Input": "7:00 ص",
"NotSupportedByDesign": "java, javascript",
"Results": [
{
"Text": "7:00 ص",
"Start": 0,
"Length": 6,
"Type": "time"
}
]
}
]
63 changes: 63 additions & 0 deletions Specs/DateTime/Arabic/TimeParser.json
Original file line number Diff line number Diff line change
Expand Up @@ -1587,5 +1587,68 @@
}
}
]
},
{
"Input": "نعم 4:25 مساءً من فضلك",
"NotSupportedByDesign": "java, javascript",
"Results": [
{
"Text": "4:25 مساءً",
"Start": 4,
"Length": 10,
"Type": "time",
"Value": {
"Timex": "T16:25",
"FutureResolution": {
"time": "16:25:00"
},
"PastResolution": {
"time": "16:25:00"
}
}
}
]
},
{
"Input": "12:09 صباحًا",
"NotSupportedByDesign": "java, javascript",
"Results": [
{
"Text": "12:09 صباحًا",
"Start": 0,
"Length": 12,
"Type": "time",
"Value": {
"Timex": "T00:09",
"FutureResolution": {
"time": "00:09:00"
},
"PastResolution": {
"time": "00:09:00"
}
}
}
]
},
{
"Input": "7:00 ص",
"NotSupportedByDesign": "java, javascript",
"Results": [
{
"Text": "7:00 ص",
"Start": 0,
"Length": 6,
"Type": "time",
"Value": {
"Timex": "T07:00",
"FutureResolution": {
"time": "07:00:00"
},
"PastResolution": {
"time": "07:00:00"
}
}
}
]
}
]