Add ASAP, at the moment to EN time (#405)

Summary:
* "at the moment" is considered identical to "now".
* "ASAP" is considered identical to "from now"

Pull Request resolved: https://github.com/facebook/duckling/pull/405

Reviewed By: patapizza

Differential Revision: D26009483

Pulled By: chessai

fbshipit-source-id: addf4c509e69d413cae279601c64f72710eba11f
This commit is contained in:
Sam Coope 2021-01-21 20:41:28 -08:00 committed by Facebook GitHub Bot
parent 1ba1aedeba
commit e9e5507820
15 changed files with 160 additions and 65 deletions

View File

@ -1789,6 +1789,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2089,12 +2096,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1789,6 +1789,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2089,12 +2096,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1839,6 +1839,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Memorial Day",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.791759469228055,
@ -2155,12 +2162,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1824,6 +1824,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2124,12 +2131,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1789,6 +1789,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2089,12 +2096,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1789,6 +1789,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2089,12 +2096,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1789,6 +1789,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2089,12 +2096,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1789,6 +1789,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2089,12 +2096,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1796,6 +1796,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2089,12 +2096,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1789,6 +1789,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2089,12 +2096,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1895,6 +1895,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Memorial Day",
Classifier{okData =
ClassData{prior = -0.1823215567939546,
@ -2239,12 +2246,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -1809,6 +1809,13 @@ classifiers
ClassData{prior = -3.8501476017100584,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2102,11 +2109,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -0.15415067982725836,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -0.13353139262452263,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -1.9459101490553135,
ClassData{prior = -2.0794415416798357,
unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
("<day-of-month> (ordinal or number) of <named-month>",

View File

@ -1789,6 +1789,13 @@ classifiers
ClassData{prior = -3.8066624897703196,
unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("as soon as possible",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
("Mahavir Jayanti",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -2089,12 +2096,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("now",
Classifier{okData =
ClassData{prior = -8.004270767353637e-2,
unseen = -2.639057329615259,
likelihoods = HashMap.fromList [("", 0.0)], n = 12},
ClassData{prior = -6.899287148695143e-2,
unseen = -2.772588722239781,
likelihoods = HashMap.fromList [("", 0.0)], n = 14},
koData =
ClassData{prior = -2.5649493574615367,
unseen = -1.0986122886681098,
ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
("<day-of-month> (ordinal or number) of <named-month>",
Classifier{okData =

View File

@ -185,6 +185,8 @@ allExamples = concat
[ "now"
, "right now"
, "just now"
, "at the moment"
, "ATM"
]
, examples (datetime (2013, 2, 12, 0, 0, 0) Day)
[ "today"
@ -1237,6 +1239,10 @@ allExamples = concat
, examples (datetime (2013, 2, 12, 5, 30, 0) Minute)
[ "today in one hour"
]
, examples (datetimeOpenInterval After (2013, 2, 12, 4, 30, 0) Second)
[ "ASAP"
, "as soon as possible"
]
, examples (datetimeOpenInterval Before (2013, 2, 12, 14, 0, 0) Minute)
[ "until 2:00pm"
, "through 2:00pm"

View File

@ -138,11 +138,20 @@ ruleNow :: Rule
ruleNow = Rule
{ name = "now"
, pattern =
[ regex "now"
[ regex "now|at\\sthe\\smoment|atm"
]
, prod = \_ -> tt now
}
ruleASAP :: Rule
ruleASAP = Rule
{ name = "as soon as possible"
, pattern =
[ regex "asap|as\\ssoon\\sas\\spossible"
]
, prod = \_ -> tt . withDirection TTime.After $ now
}
ruleNextDOW :: Rule
ruleNextDOW = Rule
{ name = "this|next <day-of-week>"
@ -2730,6 +2739,7 @@ rules =
, ruleEndOrBeginningOfYear
, ruleEndOrBeginningOfWeek
, ruleNow
, ruleASAP
, ruleSeason
, ruleEndOfMonth
, ruleBeginningOfMonth