Add Arabic rule for a week ago (#379)

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

Reviewed By: patapizza

Differential Revision: D26149123

Pulled By: chessai

fbshipit-source-id: 5f0bca88fc1b64da5d93fcf715996d58a972fda2
This commit is contained in:
Nour Shalabi 2021-01-29 11:24:50 -08:00 committed by Facebook GitHub Bot
parent 97636f525e
commit 6346cfe926
5 changed files with 2060 additions and 8 deletions

File diff suppressed because it is too large Load Diff

View File

@ -947,8 +947,8 @@ classifiers
n = 1}}),
("week (grain)",
Classifier{okData =
ClassData{prior = 0.0, unseen = -3.0910424533583156,
likelihoods = HashMap.fromList [("", 0.0)], n = 20},
ClassData{prior = 0.0, unseen = -3.1780538303479458,
likelihoods = HashMap.fromList [("", 0.0)], n = 22},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
likelihoods = HashMap.fromList [], n = 0}}),
@ -1373,6 +1373,23 @@ classifiers
koData =
ClassData{prior = -infinity, unseen = -1.791759469228055,
likelihoods = HashMap.fromList [], n = 0}}),
("before <duration>",
Classifier{okData =
ClassData{prior = -2.2512917986064953,
unseen = -2.1972245773362196,
likelihoods =
HashMap.fromList
[("week", -0.9808292530117262),
("single <unit-of-duration>", -0.9808292530117262)],
n = 2},
koData =
ClassData{prior = -0.11122563511022437,
unseen = -3.6635616461296463,
likelihoods =
HashMap.fromList
[("year", -2.538973871058276), ("month", -0.8649974374866046),
("single <unit-of-duration>", -0.7472144018302211)],
n = 17}}),
("intersect by \",\", \"of\", \"from\", \"'s\"",
Classifier{okData =
ClassData{prior = -0.5533852381847867, unseen = -4.430816798843313,
@ -1936,15 +1953,16 @@ classifiers
n = 14}}),
("single <unit-of-duration>",
Classifier{okData =
ClassData{prior = -4.2626798770413155,
unseen = -2.9444389791664407,
ClassData{prior = -3.58351893845611, unseen = -3.1354942159291497,
likelihoods =
HashMap.fromList
[("day", -1.791759469228055),
("day (grain)", -1.791759469228055)],
n = 2},
[("week", -1.9924301646902063),
("week (grain)", -1.9924301646902063),
("day", -1.9924301646902063),
("day (grain)", -1.9924301646902063)],
n = 4},
koData =
ClassData{prior = -1.4184634991956413e-2,
ClassData{prior = -2.8170876966696335e-2,
unseen = -5.68697535633982,
likelihoods =
HashMap.fromList

View File

@ -126,6 +126,10 @@ allExamples = concat
, "الاسبوع السابق"
, "الاسبوع المنصرم"
]
, examples (datetime (2013, 2, 5, 0, 0, 0) Day)
[ "قبل اسبوع"
, "من اسبوع"
]
, examples (datetime (2013, 2, 11, 0, 0, 0) Week)
[ "هذا الاسبوع"
, "الاسبوع الحالي"

View File

@ -6,6 +6,7 @@
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# LANGUAGE OverloadedStrings #-}
@ -1597,6 +1598,19 @@ ruleDurationHenceAgo = Rule
_ -> Nothing
}
ruleBeforeDuration :: Rule
ruleBeforeDuration = Rule
{ name = "before <duration>"
, pattern =
[ regex "من|قبل"
, dimension Duration
]
, prod = \case
(_:Token Duration dd:_) ->
tt $ durationAgo dd
_ -> Nothing
}
ruleInNumeral :: Rule
ruleInNumeral = Rule
{ name = "in <number> (implicit minutes)"
@ -1794,6 +1808,7 @@ rules =
, ruleCycleOrdinalAfterTime
, ruleDurationInWithinAfter
, ruleDurationHenceAgo
, ruleBeforeDuration
, ruleDurationAfterBeforeTime
, ruleIntervalForDurationFrom
, ruleTimeForDuration

View File

@ -103,6 +103,7 @@ library
, Duckling.Ranking.Rank
, Duckling.Ranking.Classifiers
, Duckling.Ranking.Classifiers.AF_XX
, Duckling.Ranking.Classifiers.AR_EG
, Duckling.Ranking.Classifiers.AR_XX
, Duckling.Ranking.Classifiers.BG_XX
, Duckling.Ranking.Classifiers.BN_XX