Fixed a problem in parsing ES timestamp

Summary:
There are two types of ES phrases for timestamp to support:

1. "para las seis cero dos pm"
2. "para las 6 0 2 pm"

The solution is to:
1. added a new rule to parse two-digit number between 1 and 9 (inclusive);
2. modified the regex pattern to support additional optional phrase "para" in front of "las".

Reviewed By: chinmay87

Differential Revision: D22218800

fbshipit-source-id: 58f692beb6f10834c0ab639b31bf239bf4a1970e
This commit is contained in:
Bing Yuan 2020-06-25 12:21:57 -07:00 committed by Facebook GitHub Bot
parent 1ad3a8514e
commit eb9ddcbd95
11 changed files with 448 additions and 380 deletions

View File

@ -233,7 +233,7 @@ ruleBelowTenWithTwoDigits = Rule
name = "integer (0-9) with two digits"
, pattern =
[
regex "(c|z)ero"
regex "((c|z)ero)|0"
, numberBetween 1 10
]
, prod = \case

View File

@ -48,11 +48,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("integer (numeric)",
Classifier{okData =
ClassData{prior = -0.6109090823229733, unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.5930637220029626, unseen = -4.174387269895637,
likelihoods = HashMap.fromList [("", 0.0)], n = 63},
koData =
ClassData{prior = -0.7827593392496325, unseen = -3.912023005428146,
likelihoods = HashMap.fromList [("", 0.0)], n = 48}}),
ClassData{prior = -0.8043728156701697, unseen = -3.970291913552122,
likelihoods = HashMap.fromList [("", 0.0)], n = 51}}),
("the day before yesterday",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -427,24 +427,24 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("a las <time-of-day>",
Classifier{okData =
ClassData{prior = -0.11778303565638351,
unseen = -4.672828834461907,
ClassData{prior = -0.10008345855698253,
unseen = -4.8283137373023015,
likelihoods =
HashMap.fromList
[("<hour-of-day> and half", -3.2771447329921766),
("<time-of-day> horas", -3.970291913552122),
("<hour-of-day> and quarter", -3.054001181677967),
("time-of-day (latent)", -1.1977031913123406),
("<hour-of-day> and <relative minutes>", -2.871679624884012),
("<time-of-day> am|pm", -3.970291913552122),
[("<hour-of-day> and half", -3.4339872044851463),
("<time-of-day> horas", -4.127134385045092),
("<hour-of-day> and quarter", -3.2108436531709366),
("time-of-day (latent)", -1.1067094989007291),
("<hour-of-day> and <relative minutes>", -3.028522096376982),
("<time-of-day> am|pm", -4.127134385045092),
("<hour-of-day> minus <integer> (as relative minutes)",
-3.970291913552122),
-4.127134385045092),
("<hour-of-day> minus quarter (as relative minutes)",
-3.5648268054439574),
("hour", -1.1370785694959058), ("minute", -1.890850371872286)],
n = 48},
-3.721669276936927),
("hour", -1.0590814499114745), ("minute", -2.0476928433652555)],
n = 57},
koData =
ClassData{prior = -2.1972245773362196,
ClassData{prior = -2.3513752571634776,
unseen = -3.1354942159291497,
likelihoods =
HashMap.fromList
@ -648,12 +648,13 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("number (0..15)",
Classifier{okData =
ClassData{prior = -6.782259633876106e-2,
unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.13534134786976212,
unseen = -4.2626798770413155,
likelihoods = HashMap.fromList [("", 0.0)], n = 69},
koData =
ClassData{prior = -2.7245795030534206, unseen = -1.791759469228055,
likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
ClassData{prior = -2.0668627594729756,
unseen = -2.4849066497880004,
likelihoods = HashMap.fromList [("", 0.0)], n = 10}}),
("D\237a Internacional de las Cooperativas",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.0986122886681098,
@ -766,21 +767,22 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
("time-of-day (latent)",
Classifier{okData =
ClassData{prior = -0.23483959107740107,
unseen = -3.6375861597263857,
ClassData{prior = -0.4872951263557965,
unseen = -3.8501476017100584,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.3083328196501787),
("number (0..15)", -0.3528213746227423)],
n = 34},
[("integer (numeric)", -1.2636920390275583),
("number (0..15)", -0.3629054936893685)],
n = 43},
koData =
ClassData{prior = -1.563975538357343, unseen = -2.5649493574615367,
ClassData{prior = -0.9526583760450299,
unseen = -3.4339872044851463,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.0986122886681098),
("number (0..15)", -0.8754687373538999),
("integer (0-9) with two digits", -1.3862943611198906)],
n = 9}}),
[("integer (numeric)", -1.455287232606842),
("number (0..15)", -1.0033021088637848),
("integer (0-9) with two digits", -0.916290731874155)],
n = 27}}),
("<hour-of-day> and <relative minutes>",
Classifier{okData =
ClassData{prior = -0.3364722366212129, unseen = -3.332204510175204,
@ -910,22 +912,23 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<time-of-day> am|pm",
Classifier{okData =
ClassData{prior = -0.8109302162163288, unseen = -2.639057329615259,
ClassData{prior = -1.0185695809945732,
unseen = -3.4657359027997265,
likelihoods =
HashMap.fromList
[("a las <time-of-day>", -1.8718021769015913),
("time-of-day (latent)", -1.8718021769015913),
("hour", -1.466337068793427), ("minute", -1.466337068793427),
[("a las <time-of-day>", -2.740840023925201),
("time-of-day (latent)", -2.740840023925201),
("hour", -2.3353749158170367), ("minute", -0.9490805546971459),
("<hour-of-day> <integer> (as relative minutes)",
-1.466337068793427)],
n = 4},
-0.9490805546971459)],
n = 13},
koData =
ClassData{prior = -0.587786664902119, unseen = -2.772588722239781,
ClassData{prior = -0.4480247225269604, unseen = -3.951243718581427,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -0.916290731874155),
("hour", -0.916290731874155)],
n = 5}}),
[("time-of-day (latent)", -0.7537718023763802),
("hour", -0.7537718023763802)],
n = 23}}),
("n proximas <cycle>",
Classifier{okData =
ClassData{prior = 0.0, unseen = -2.5649493574615367,
@ -1298,22 +1301,26 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<hour-of-day> <integer> (as relative minutes)",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.9459101490553135,
ClassData{prior = 0.0, unseen = -3.2188758248682006,
likelihoods =
HashMap.fromList
[("a las <time-of-day>integer (0-9) with two digits",
-0.6931471805599453),
("hour", -0.6931471805599453)],
n = 2},
n = 11},
koData =
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("integer (0-9) with two digits",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("number (0..15)", 0.0)], n = 2},
ClassData{prior = 0.0, unseen = -2.639057329615259,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.1786549963416462),
("number (0..15)", -0.3677247801253174)],
n = 11},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("ce <time>",
Classifier{okData =

View File

@ -48,11 +48,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("integer (numeric)",
Classifier{okData =
ClassData{prior = -0.6109090823229733, unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.5930637220029626, unseen = -4.174387269895637,
likelihoods = HashMap.fromList [("", 0.0)], n = 63},
koData =
ClassData{prior = -0.7827593392496325, unseen = -3.912023005428146,
likelihoods = HashMap.fromList [("", 0.0)], n = 48}}),
ClassData{prior = -0.8043728156701697, unseen = -3.970291913552122,
likelihoods = HashMap.fromList [("", 0.0)], n = 51}}),
("the day before yesterday",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -427,24 +427,24 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("a las <time-of-day>",
Classifier{okData =
ClassData{prior = -0.11778303565638351,
unseen = -4.672828834461907,
ClassData{prior = -0.10008345855698253,
unseen = -4.8283137373023015,
likelihoods =
HashMap.fromList
[("<hour-of-day> and half", -3.2771447329921766),
("<time-of-day> horas", -3.970291913552122),
("<hour-of-day> and quarter", -3.054001181677967),
("time-of-day (latent)", -1.1977031913123406),
("<hour-of-day> and <relative minutes>", -2.871679624884012),
("<time-of-day> am|pm", -3.970291913552122),
[("<hour-of-day> and half", -3.4339872044851463),
("<time-of-day> horas", -4.127134385045092),
("<hour-of-day> and quarter", -3.2108436531709366),
("time-of-day (latent)", -1.1067094989007291),
("<hour-of-day> and <relative minutes>", -3.028522096376982),
("<time-of-day> am|pm", -4.127134385045092),
("<hour-of-day> minus <integer> (as relative minutes)",
-3.970291913552122),
-4.127134385045092),
("<hour-of-day> minus quarter (as relative minutes)",
-3.5648268054439574),
("hour", -1.1370785694959058), ("minute", -1.890850371872286)],
n = 48},
-3.721669276936927),
("hour", -1.0590814499114745), ("minute", -2.0476928433652555)],
n = 57},
koData =
ClassData{prior = -2.1972245773362196,
ClassData{prior = -2.3513752571634776,
unseen = -3.1354942159291497,
likelihoods =
HashMap.fromList
@ -648,12 +648,13 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("number (0..15)",
Classifier{okData =
ClassData{prior = -6.782259633876106e-2,
unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.13534134786976212,
unseen = -4.2626798770413155,
likelihoods = HashMap.fromList [("", 0.0)], n = 69},
koData =
ClassData{prior = -2.7245795030534206, unseen = -1.791759469228055,
likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
ClassData{prior = -2.0668627594729756,
unseen = -2.4849066497880004,
likelihoods = HashMap.fromList [("", 0.0)], n = 10}}),
("D\237a Internacional de las Cooperativas",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.0986122886681098,
@ -766,21 +767,22 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
("time-of-day (latent)",
Classifier{okData =
ClassData{prior = -0.23483959107740107,
unseen = -3.6375861597263857,
ClassData{prior = -0.4872951263557965,
unseen = -3.8501476017100584,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.3083328196501787),
("number (0..15)", -0.3528213746227423)],
n = 34},
[("integer (numeric)", -1.2636920390275583),
("number (0..15)", -0.3629054936893685)],
n = 43},
koData =
ClassData{prior = -1.563975538357343, unseen = -2.5649493574615367,
ClassData{prior = -0.9526583760450299,
unseen = -3.4339872044851463,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.0986122886681098),
("number (0..15)", -0.8754687373538999),
("integer (0-9) with two digits", -1.3862943611198906)],
n = 9}}),
[("integer (numeric)", -1.455287232606842),
("number (0..15)", -1.0033021088637848),
("integer (0-9) with two digits", -0.916290731874155)],
n = 27}}),
("<hour-of-day> and <relative minutes>",
Classifier{okData =
ClassData{prior = -0.3364722366212129, unseen = -3.332204510175204,
@ -910,22 +912,23 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<time-of-day> am|pm",
Classifier{okData =
ClassData{prior = -0.8109302162163288, unseen = -2.639057329615259,
ClassData{prior = -1.0185695809945732,
unseen = -3.4657359027997265,
likelihoods =
HashMap.fromList
[("a las <time-of-day>", -1.8718021769015913),
("time-of-day (latent)", -1.8718021769015913),
("hour", -1.466337068793427), ("minute", -1.466337068793427),
[("a las <time-of-day>", -2.740840023925201),
("time-of-day (latent)", -2.740840023925201),
("hour", -2.3353749158170367), ("minute", -0.9490805546971459),
("<hour-of-day> <integer> (as relative minutes)",
-1.466337068793427)],
n = 4},
-0.9490805546971459)],
n = 13},
koData =
ClassData{prior = -0.587786664902119, unseen = -2.772588722239781,
ClassData{prior = -0.4480247225269604, unseen = -3.951243718581427,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -0.916290731874155),
("hour", -0.916290731874155)],
n = 5}}),
[("time-of-day (latent)", -0.7537718023763802),
("hour", -0.7537718023763802)],
n = 23}}),
("n proximas <cycle>",
Classifier{okData =
ClassData{prior = 0.0, unseen = -2.5649493574615367,
@ -1298,22 +1301,26 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<hour-of-day> <integer> (as relative minutes)",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.9459101490553135,
ClassData{prior = 0.0, unseen = -3.2188758248682006,
likelihoods =
HashMap.fromList
[("a las <time-of-day>integer (0-9) with two digits",
-0.6931471805599453),
("hour", -0.6931471805599453)],
n = 2},
n = 11},
koData =
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("integer (0-9) with two digits",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("number (0..15)", 0.0)], n = 2},
ClassData{prior = 0.0, unseen = -2.639057329615259,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.1786549963416462),
("number (0..15)", -0.3677247801253174)],
n = 11},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("ce <time>",
Classifier{okData =

View File

@ -48,11 +48,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("integer (numeric)",
Classifier{okData =
ClassData{prior = -0.6109090823229733, unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.5930637220029626, unseen = -4.174387269895637,
likelihoods = HashMap.fromList [("", 0.0)], n = 63},
koData =
ClassData{prior = -0.7827593392496325, unseen = -3.912023005428146,
likelihoods = HashMap.fromList [("", 0.0)], n = 48}}),
ClassData{prior = -0.8043728156701697, unseen = -3.970291913552122,
likelihoods = HashMap.fromList [("", 0.0)], n = 51}}),
("the day before yesterday",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -427,24 +427,24 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("a las <time-of-day>",
Classifier{okData =
ClassData{prior = -0.11778303565638351,
unseen = -4.672828834461907,
ClassData{prior = -0.10008345855698253,
unseen = -4.8283137373023015,
likelihoods =
HashMap.fromList
[("<hour-of-day> and half", -3.2771447329921766),
("<time-of-day> horas", -3.970291913552122),
("<hour-of-day> and quarter", -3.054001181677967),
("time-of-day (latent)", -1.1977031913123406),
("<hour-of-day> and <relative minutes>", -2.871679624884012),
("<time-of-day> am|pm", -3.970291913552122),
[("<hour-of-day> and half", -3.4339872044851463),
("<time-of-day> horas", -4.127134385045092),
("<hour-of-day> and quarter", -3.2108436531709366),
("time-of-day (latent)", -1.1067094989007291),
("<hour-of-day> and <relative minutes>", -3.028522096376982),
("<time-of-day> am|pm", -4.127134385045092),
("<hour-of-day> minus <integer> (as relative minutes)",
-3.970291913552122),
-4.127134385045092),
("<hour-of-day> minus quarter (as relative minutes)",
-3.5648268054439574),
("hour", -1.1370785694959058), ("minute", -1.890850371872286)],
n = 48},
-3.721669276936927),
("hour", -1.0590814499114745), ("minute", -2.0476928433652555)],
n = 57},
koData =
ClassData{prior = -2.1972245773362196,
ClassData{prior = -2.3513752571634776,
unseen = -3.1354942159291497,
likelihoods =
HashMap.fromList
@ -648,12 +648,13 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("number (0..15)",
Classifier{okData =
ClassData{prior = -6.782259633876106e-2,
unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.13534134786976212,
unseen = -4.2626798770413155,
likelihoods = HashMap.fromList [("", 0.0)], n = 69},
koData =
ClassData{prior = -2.7245795030534206, unseen = -1.791759469228055,
likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
ClassData{prior = -2.0668627594729756,
unseen = -2.4849066497880004,
likelihoods = HashMap.fromList [("", 0.0)], n = 10}}),
("D\237a Internacional de las Cooperativas",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.0986122886681098,
@ -766,21 +767,22 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
("time-of-day (latent)",
Classifier{okData =
ClassData{prior = -0.23483959107740107,
unseen = -3.6375861597263857,
ClassData{prior = -0.4872951263557965,
unseen = -3.8501476017100584,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.3083328196501787),
("number (0..15)", -0.3528213746227423)],
n = 34},
[("integer (numeric)", -1.2636920390275583),
("number (0..15)", -0.3629054936893685)],
n = 43},
koData =
ClassData{prior = -1.563975538357343, unseen = -2.5649493574615367,
ClassData{prior = -0.9526583760450299,
unseen = -3.4339872044851463,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.0986122886681098),
("number (0..15)", -0.8754687373538999),
("integer (0-9) with two digits", -1.3862943611198906)],
n = 9}}),
[("integer (numeric)", -1.455287232606842),
("number (0..15)", -1.0033021088637848),
("integer (0-9) with two digits", -0.916290731874155)],
n = 27}}),
("<hour-of-day> and <relative minutes>",
Classifier{okData =
ClassData{prior = -0.3364722366212129, unseen = -3.332204510175204,
@ -910,22 +912,23 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<time-of-day> am|pm",
Classifier{okData =
ClassData{prior = -0.8109302162163288, unseen = -2.639057329615259,
ClassData{prior = -1.0185695809945732,
unseen = -3.4657359027997265,
likelihoods =
HashMap.fromList
[("a las <time-of-day>", -1.8718021769015913),
("time-of-day (latent)", -1.8718021769015913),
("hour", -1.466337068793427), ("minute", -1.466337068793427),
[("a las <time-of-day>", -2.740840023925201),
("time-of-day (latent)", -2.740840023925201),
("hour", -2.3353749158170367), ("minute", -0.9490805546971459),
("<hour-of-day> <integer> (as relative minutes)",
-1.466337068793427)],
n = 4},
-0.9490805546971459)],
n = 13},
koData =
ClassData{prior = -0.587786664902119, unseen = -2.772588722239781,
ClassData{prior = -0.4480247225269604, unseen = -3.951243718581427,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -0.916290731874155),
("hour", -0.916290731874155)],
n = 5}}),
[("time-of-day (latent)", -0.7537718023763802),
("hour", -0.7537718023763802)],
n = 23}}),
("n proximas <cycle>",
Classifier{okData =
ClassData{prior = 0.0, unseen = -2.5649493574615367,
@ -1298,22 +1301,26 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<hour-of-day> <integer> (as relative minutes)",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.9459101490553135,
ClassData{prior = 0.0, unseen = -3.2188758248682006,
likelihoods =
HashMap.fromList
[("a las <time-of-day>integer (0-9) with two digits",
-0.6931471805599453),
("hour", -0.6931471805599453)],
n = 2},
n = 11},
koData =
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("integer (0-9) with two digits",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("number (0..15)", 0.0)], n = 2},
ClassData{prior = 0.0, unseen = -2.639057329615259,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.1786549963416462),
("number (0..15)", -0.3677247801253174)],
n = 11},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("ce <time>",
Classifier{okData =

View File

@ -48,11 +48,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("integer (numeric)",
Classifier{okData =
ClassData{prior = -0.6109090823229733, unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.5930637220029626, unseen = -4.174387269895637,
likelihoods = HashMap.fromList [("", 0.0)], n = 63},
koData =
ClassData{prior = -0.7827593392496325, unseen = -3.912023005428146,
likelihoods = HashMap.fromList [("", 0.0)], n = 48}}),
ClassData{prior = -0.8043728156701697, unseen = -3.970291913552122,
likelihoods = HashMap.fromList [("", 0.0)], n = 51}}),
("the day before yesterday",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -427,24 +427,24 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("a las <time-of-day>",
Classifier{okData =
ClassData{prior = -0.11778303565638351,
unseen = -4.672828834461907,
ClassData{prior = -0.10008345855698253,
unseen = -4.8283137373023015,
likelihoods =
HashMap.fromList
[("<hour-of-day> and half", -3.2771447329921766),
("<time-of-day> horas", -3.970291913552122),
("<hour-of-day> and quarter", -3.054001181677967),
("time-of-day (latent)", -1.1977031913123406),
("<hour-of-day> and <relative minutes>", -2.871679624884012),
("<time-of-day> am|pm", -3.970291913552122),
[("<hour-of-day> and half", -3.4339872044851463),
("<time-of-day> horas", -4.127134385045092),
("<hour-of-day> and quarter", -3.2108436531709366),
("time-of-day (latent)", -1.1067094989007291),
("<hour-of-day> and <relative minutes>", -3.028522096376982),
("<time-of-day> am|pm", -4.127134385045092),
("<hour-of-day> minus <integer> (as relative minutes)",
-3.970291913552122),
-4.127134385045092),
("<hour-of-day> minus quarter (as relative minutes)",
-3.5648268054439574),
("hour", -1.1370785694959058), ("minute", -1.890850371872286)],
n = 48},
-3.721669276936927),
("hour", -1.0590814499114745), ("minute", -2.0476928433652555)],
n = 57},
koData =
ClassData{prior = -2.1972245773362196,
ClassData{prior = -2.3513752571634776,
unseen = -3.1354942159291497,
likelihoods =
HashMap.fromList
@ -648,12 +648,13 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("number (0..15)",
Classifier{okData =
ClassData{prior = -6.782259633876106e-2,
unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.13534134786976212,
unseen = -4.2626798770413155,
likelihoods = HashMap.fromList [("", 0.0)], n = 69},
koData =
ClassData{prior = -2.7245795030534206, unseen = -1.791759469228055,
likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
ClassData{prior = -2.0668627594729756,
unseen = -2.4849066497880004,
likelihoods = HashMap.fromList [("", 0.0)], n = 10}}),
("D\237a Internacional de las Cooperativas",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.0986122886681098,
@ -766,21 +767,22 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
("time-of-day (latent)",
Classifier{okData =
ClassData{prior = -0.23483959107740107,
unseen = -3.6375861597263857,
ClassData{prior = -0.4872951263557965,
unseen = -3.8501476017100584,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.3083328196501787),
("number (0..15)", -0.3528213746227423)],
n = 34},
[("integer (numeric)", -1.2636920390275583),
("number (0..15)", -0.3629054936893685)],
n = 43},
koData =
ClassData{prior = -1.563975538357343, unseen = -2.5649493574615367,
ClassData{prior = -0.9526583760450299,
unseen = -3.4339872044851463,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.0986122886681098),
("number (0..15)", -0.8754687373538999),
("integer (0-9) with two digits", -1.3862943611198906)],
n = 9}}),
[("integer (numeric)", -1.455287232606842),
("number (0..15)", -1.0033021088637848),
("integer (0-9) with two digits", -0.916290731874155)],
n = 27}}),
("<hour-of-day> and <relative minutes>",
Classifier{okData =
ClassData{prior = -0.3364722366212129, unseen = -3.332204510175204,
@ -910,22 +912,23 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<time-of-day> am|pm",
Classifier{okData =
ClassData{prior = -0.8109302162163288, unseen = -2.639057329615259,
ClassData{prior = -1.0185695809945732,
unseen = -3.4657359027997265,
likelihoods =
HashMap.fromList
[("a las <time-of-day>", -1.8718021769015913),
("time-of-day (latent)", -1.8718021769015913),
("hour", -1.466337068793427), ("minute", -1.466337068793427),
[("a las <time-of-day>", -2.740840023925201),
("time-of-day (latent)", -2.740840023925201),
("hour", -2.3353749158170367), ("minute", -0.9490805546971459),
("<hour-of-day> <integer> (as relative minutes)",
-1.466337068793427)],
n = 4},
-0.9490805546971459)],
n = 13},
koData =
ClassData{prior = -0.587786664902119, unseen = -2.772588722239781,
ClassData{prior = -0.4480247225269604, unseen = -3.951243718581427,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -0.916290731874155),
("hour", -0.916290731874155)],
n = 5}}),
[("time-of-day (latent)", -0.7537718023763802),
("hour", -0.7537718023763802)],
n = 23}}),
("n proximas <cycle>",
Classifier{okData =
ClassData{prior = 0.0, unseen = -2.5649493574615367,
@ -1298,22 +1301,26 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<hour-of-day> <integer> (as relative minutes)",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.9459101490553135,
ClassData{prior = 0.0, unseen = -3.2188758248682006,
likelihoods =
HashMap.fromList
[("a las <time-of-day>integer (0-9) with two digits",
-0.6931471805599453),
("hour", -0.6931471805599453)],
n = 2},
n = 11},
koData =
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("integer (0-9) with two digits",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("number (0..15)", 0.0)], n = 2},
ClassData{prior = 0.0, unseen = -2.639057329615259,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.1786549963416462),
("number (0..15)", -0.3677247801253174)],
n = 11},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("ce <time>",
Classifier{okData =

View File

@ -48,11 +48,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("integer (numeric)",
Classifier{okData =
ClassData{prior = -0.6109090823229733, unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.5930637220029626, unseen = -4.174387269895637,
likelihoods = HashMap.fromList [("", 0.0)], n = 63},
koData =
ClassData{prior = -0.7827593392496325, unseen = -3.912023005428146,
likelihoods = HashMap.fromList [("", 0.0)], n = 48}}),
ClassData{prior = -0.8043728156701697, unseen = -3.970291913552122,
likelihoods = HashMap.fromList [("", 0.0)], n = 51}}),
("the day before yesterday",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -427,24 +427,24 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("a las <time-of-day>",
Classifier{okData =
ClassData{prior = -0.11778303565638351,
unseen = -4.672828834461907,
ClassData{prior = -0.10008345855698253,
unseen = -4.8283137373023015,
likelihoods =
HashMap.fromList
[("<hour-of-day> and half", -3.2771447329921766),
("<time-of-day> horas", -3.970291913552122),
("<hour-of-day> and quarter", -3.054001181677967),
("time-of-day (latent)", -1.1977031913123406),
("<hour-of-day> and <relative minutes>", -2.871679624884012),
("<time-of-day> am|pm", -3.970291913552122),
[("<hour-of-day> and half", -3.4339872044851463),
("<time-of-day> horas", -4.127134385045092),
("<hour-of-day> and quarter", -3.2108436531709366),
("time-of-day (latent)", -1.1067094989007291),
("<hour-of-day> and <relative minutes>", -3.028522096376982),
("<time-of-day> am|pm", -4.127134385045092),
("<hour-of-day> minus <integer> (as relative minutes)",
-3.970291913552122),
-4.127134385045092),
("<hour-of-day> minus quarter (as relative minutes)",
-3.5648268054439574),
("hour", -1.1370785694959058), ("minute", -1.890850371872286)],
n = 48},
-3.721669276936927),
("hour", -1.0590814499114745), ("minute", -2.0476928433652555)],
n = 57},
koData =
ClassData{prior = -2.1972245773362196,
ClassData{prior = -2.3513752571634776,
unseen = -3.1354942159291497,
likelihoods =
HashMap.fromList
@ -648,12 +648,13 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("number (0..15)",
Classifier{okData =
ClassData{prior = -6.782259633876106e-2,
unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.13534134786976212,
unseen = -4.2626798770413155,
likelihoods = HashMap.fromList [("", 0.0)], n = 69},
koData =
ClassData{prior = -2.7245795030534206, unseen = -1.791759469228055,
likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
ClassData{prior = -2.0668627594729756,
unseen = -2.4849066497880004,
likelihoods = HashMap.fromList [("", 0.0)], n = 10}}),
("D\237a Internacional de las Cooperativas",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.0986122886681098,
@ -766,21 +767,22 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
("time-of-day (latent)",
Classifier{okData =
ClassData{prior = -0.23483959107740107,
unseen = -3.6375861597263857,
ClassData{prior = -0.4872951263557965,
unseen = -3.8501476017100584,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.3083328196501787),
("number (0..15)", -0.3528213746227423)],
n = 34},
[("integer (numeric)", -1.2636920390275583),
("number (0..15)", -0.3629054936893685)],
n = 43},
koData =
ClassData{prior = -1.563975538357343, unseen = -2.5649493574615367,
ClassData{prior = -0.9526583760450299,
unseen = -3.4339872044851463,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.0986122886681098),
("number (0..15)", -0.8754687373538999),
("integer (0-9) with two digits", -1.3862943611198906)],
n = 9}}),
[("integer (numeric)", -1.455287232606842),
("number (0..15)", -1.0033021088637848),
("integer (0-9) with two digits", -0.916290731874155)],
n = 27}}),
("<hour-of-day> and <relative minutes>",
Classifier{okData =
ClassData{prior = -0.3364722366212129, unseen = -3.332204510175204,
@ -910,22 +912,23 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<time-of-day> am|pm",
Classifier{okData =
ClassData{prior = -0.8109302162163288, unseen = -2.639057329615259,
ClassData{prior = -1.0185695809945732,
unseen = -3.4657359027997265,
likelihoods =
HashMap.fromList
[("a las <time-of-day>", -1.8718021769015913),
("time-of-day (latent)", -1.8718021769015913),
("hour", -1.466337068793427), ("minute", -1.466337068793427),
[("a las <time-of-day>", -2.740840023925201),
("time-of-day (latent)", -2.740840023925201),
("hour", -2.3353749158170367), ("minute", -0.9490805546971459),
("<hour-of-day> <integer> (as relative minutes)",
-1.466337068793427)],
n = 4},
-0.9490805546971459)],
n = 13},
koData =
ClassData{prior = -0.587786664902119, unseen = -2.772588722239781,
ClassData{prior = -0.4480247225269604, unseen = -3.951243718581427,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -0.916290731874155),
("hour", -0.916290731874155)],
n = 5}}),
[("time-of-day (latent)", -0.7537718023763802),
("hour", -0.7537718023763802)],
n = 23}}),
("n proximas <cycle>",
Classifier{okData =
ClassData{prior = 0.0, unseen = -2.5649493574615367,
@ -1305,22 +1308,26 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<hour-of-day> <integer> (as relative minutes)",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.9459101490553135,
ClassData{prior = 0.0, unseen = -3.2188758248682006,
likelihoods =
HashMap.fromList
[("a las <time-of-day>integer (0-9) with two digits",
-0.6931471805599453),
("hour", -0.6931471805599453)],
n = 2},
n = 11},
koData =
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("integer (0-9) with two digits",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("number (0..15)", 0.0)], n = 2},
ClassData{prior = 0.0, unseen = -2.639057329615259,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.1786549963416462),
("number (0..15)", -0.3677247801253174)],
n = 11},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("ce <time>",
Classifier{okData =

View File

@ -48,11 +48,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("integer (numeric)",
Classifier{okData =
ClassData{prior = -0.6109090823229733, unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.5930637220029626, unseen = -4.174387269895637,
likelihoods = HashMap.fromList [("", 0.0)], n = 63},
koData =
ClassData{prior = -0.7827593392496325, unseen = -3.912023005428146,
likelihoods = HashMap.fromList [("", 0.0)], n = 48}}),
ClassData{prior = -0.8043728156701697, unseen = -3.970291913552122,
likelihoods = HashMap.fromList [("", 0.0)], n = 51}}),
("the day before yesterday",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -427,24 +427,24 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("a las <time-of-day>",
Classifier{okData =
ClassData{prior = -0.11778303565638351,
unseen = -4.672828834461907,
ClassData{prior = -0.10008345855698253,
unseen = -4.8283137373023015,
likelihoods =
HashMap.fromList
[("<hour-of-day> and half", -3.2771447329921766),
("<time-of-day> horas", -3.970291913552122),
("<hour-of-day> and quarter", -3.054001181677967),
("time-of-day (latent)", -1.1977031913123406),
("<hour-of-day> and <relative minutes>", -2.871679624884012),
("<time-of-day> am|pm", -3.970291913552122),
[("<hour-of-day> and half", -3.4339872044851463),
("<time-of-day> horas", -4.127134385045092),
("<hour-of-day> and quarter", -3.2108436531709366),
("time-of-day (latent)", -1.1067094989007291),
("<hour-of-day> and <relative minutes>", -3.028522096376982),
("<time-of-day> am|pm", -4.127134385045092),
("<hour-of-day> minus <integer> (as relative minutes)",
-3.970291913552122),
-4.127134385045092),
("<hour-of-day> minus quarter (as relative minutes)",
-3.5648268054439574),
("hour", -1.1370785694959058), ("minute", -1.890850371872286)],
n = 48},
-3.721669276936927),
("hour", -1.0590814499114745), ("minute", -2.0476928433652555)],
n = 57},
koData =
ClassData{prior = -2.1972245773362196,
ClassData{prior = -2.3513752571634776,
unseen = -3.1354942159291497,
likelihoods =
HashMap.fromList
@ -648,12 +648,13 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("number (0..15)",
Classifier{okData =
ClassData{prior = -6.782259633876106e-2,
unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.13534134786976212,
unseen = -4.2626798770413155,
likelihoods = HashMap.fromList [("", 0.0)], n = 69},
koData =
ClassData{prior = -2.7245795030534206, unseen = -1.791759469228055,
likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
ClassData{prior = -2.0668627594729756,
unseen = -2.4849066497880004,
likelihoods = HashMap.fromList [("", 0.0)], n = 10}}),
("D\237a Internacional de las Cooperativas",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.0986122886681098,
@ -766,21 +767,22 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
("time-of-day (latent)",
Classifier{okData =
ClassData{prior = -0.23483959107740107,
unseen = -3.6375861597263857,
ClassData{prior = -0.4872951263557965,
unseen = -3.8501476017100584,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.3083328196501787),
("number (0..15)", -0.3528213746227423)],
n = 34},
[("integer (numeric)", -1.2636920390275583),
("number (0..15)", -0.3629054936893685)],
n = 43},
koData =
ClassData{prior = -1.563975538357343, unseen = -2.5649493574615367,
ClassData{prior = -0.9526583760450299,
unseen = -3.4339872044851463,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.0986122886681098),
("number (0..15)", -0.8754687373538999),
("integer (0-9) with two digits", -1.3862943611198906)],
n = 9}}),
[("integer (numeric)", -1.455287232606842),
("number (0..15)", -1.0033021088637848),
("integer (0-9) with two digits", -0.916290731874155)],
n = 27}}),
("<hour-of-day> and <relative minutes>",
Classifier{okData =
ClassData{prior = -0.3364722366212129, unseen = -3.332204510175204,
@ -910,22 +912,23 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<time-of-day> am|pm",
Classifier{okData =
ClassData{prior = -0.8109302162163288, unseen = -2.639057329615259,
ClassData{prior = -1.0185695809945732,
unseen = -3.4657359027997265,
likelihoods =
HashMap.fromList
[("a las <time-of-day>", -1.8718021769015913),
("time-of-day (latent)", -1.8718021769015913),
("hour", -1.466337068793427), ("minute", -1.466337068793427),
[("a las <time-of-day>", -2.740840023925201),
("time-of-day (latent)", -2.740840023925201),
("hour", -2.3353749158170367), ("minute", -0.9490805546971459),
("<hour-of-day> <integer> (as relative minutes)",
-1.466337068793427)],
n = 4},
-0.9490805546971459)],
n = 13},
koData =
ClassData{prior = -0.587786664902119, unseen = -2.772588722239781,
ClassData{prior = -0.4480247225269604, unseen = -3.951243718581427,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -0.916290731874155),
("hour", -0.916290731874155)],
n = 5}}),
[("time-of-day (latent)", -0.7537718023763802),
("hour", -0.7537718023763802)],
n = 23}}),
("n proximas <cycle>",
Classifier{okData =
ClassData{prior = 0.0, unseen = -2.5649493574615367,
@ -1298,22 +1301,26 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<hour-of-day> <integer> (as relative minutes)",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.9459101490553135,
ClassData{prior = 0.0, unseen = -3.2188758248682006,
likelihoods =
HashMap.fromList
[("a las <time-of-day>integer (0-9) with two digits",
-0.6931471805599453),
("hour", -0.6931471805599453)],
n = 2},
n = 11},
koData =
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("integer (0-9) with two digits",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("number (0..15)", 0.0)], n = 2},
ClassData{prior = 0.0, unseen = -2.639057329615259,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.1786549963416462),
("number (0..15)", -0.3677247801253174)],
n = 11},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("ce <time>",
Classifier{okData =

View File

@ -48,11 +48,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("integer (numeric)",
Classifier{okData =
ClassData{prior = -0.6109090823229733, unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.5930637220029626, unseen = -4.174387269895637,
likelihoods = HashMap.fromList [("", 0.0)], n = 63},
koData =
ClassData{prior = -0.7827593392496325, unseen = -3.912023005428146,
likelihoods = HashMap.fromList [("", 0.0)], n = 48}}),
ClassData{prior = -0.8043728156701697, unseen = -3.970291913552122,
likelihoods = HashMap.fromList [("", 0.0)], n = 51}}),
("the day before yesterday",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -427,24 +427,24 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("a las <time-of-day>",
Classifier{okData =
ClassData{prior = -0.11778303565638351,
unseen = -4.672828834461907,
ClassData{prior = -0.10008345855698253,
unseen = -4.8283137373023015,
likelihoods =
HashMap.fromList
[("<hour-of-day> and half", -3.2771447329921766),
("<time-of-day> horas", -3.970291913552122),
("<hour-of-day> and quarter", -3.054001181677967),
("time-of-day (latent)", -1.1977031913123406),
("<hour-of-day> and <relative minutes>", -2.871679624884012),
("<time-of-day> am|pm", -3.970291913552122),
[("<hour-of-day> and half", -3.4339872044851463),
("<time-of-day> horas", -4.127134385045092),
("<hour-of-day> and quarter", -3.2108436531709366),
("time-of-day (latent)", -1.1067094989007291),
("<hour-of-day> and <relative minutes>", -3.028522096376982),
("<time-of-day> am|pm", -4.127134385045092),
("<hour-of-day> minus <integer> (as relative minutes)",
-3.970291913552122),
-4.127134385045092),
("<hour-of-day> minus quarter (as relative minutes)",
-3.5648268054439574),
("hour", -1.1370785694959058), ("minute", -1.890850371872286)],
n = 48},
-3.721669276936927),
("hour", -1.0590814499114745), ("minute", -2.0476928433652555)],
n = 57},
koData =
ClassData{prior = -2.1972245773362196,
ClassData{prior = -2.3513752571634776,
unseen = -3.1354942159291497,
likelihoods =
HashMap.fromList
@ -648,12 +648,13 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("number (0..15)",
Classifier{okData =
ClassData{prior = -6.782259633876106e-2,
unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.13534134786976212,
unseen = -4.2626798770413155,
likelihoods = HashMap.fromList [("", 0.0)], n = 69},
koData =
ClassData{prior = -2.7245795030534206, unseen = -1.791759469228055,
likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
ClassData{prior = -2.0668627594729756,
unseen = -2.4849066497880004,
likelihoods = HashMap.fromList [("", 0.0)], n = 10}}),
("D\237a Internacional de las Cooperativas",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.0986122886681098,
@ -766,21 +767,22 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
("time-of-day (latent)",
Classifier{okData =
ClassData{prior = -0.23483959107740107,
unseen = -3.6375861597263857,
ClassData{prior = -0.4872951263557965,
unseen = -3.8501476017100584,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.3083328196501787),
("number (0..15)", -0.3528213746227423)],
n = 34},
[("integer (numeric)", -1.2636920390275583),
("number (0..15)", -0.3629054936893685)],
n = 43},
koData =
ClassData{prior = -1.563975538357343, unseen = -2.5649493574615367,
ClassData{prior = -0.9526583760450299,
unseen = -3.4339872044851463,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.0986122886681098),
("number (0..15)", -0.8754687373538999),
("integer (0-9) with two digits", -1.3862943611198906)],
n = 9}}),
[("integer (numeric)", -1.455287232606842),
("number (0..15)", -1.0033021088637848),
("integer (0-9) with two digits", -0.916290731874155)],
n = 27}}),
("<hour-of-day> and <relative minutes>",
Classifier{okData =
ClassData{prior = -0.3364722366212129, unseen = -3.332204510175204,
@ -910,22 +912,23 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<time-of-day> am|pm",
Classifier{okData =
ClassData{prior = -0.8109302162163288, unseen = -2.639057329615259,
ClassData{prior = -1.0185695809945732,
unseen = -3.4657359027997265,
likelihoods =
HashMap.fromList
[("a las <time-of-day>", -1.8718021769015913),
("time-of-day (latent)", -1.8718021769015913),
("hour", -1.466337068793427), ("minute", -1.466337068793427),
[("a las <time-of-day>", -2.740840023925201),
("time-of-day (latent)", -2.740840023925201),
("hour", -2.3353749158170367), ("minute", -0.9490805546971459),
("<hour-of-day> <integer> (as relative minutes)",
-1.466337068793427)],
n = 4},
-0.9490805546971459)],
n = 13},
koData =
ClassData{prior = -0.587786664902119, unseen = -2.772588722239781,
ClassData{prior = -0.4480247225269604, unseen = -3.951243718581427,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -0.916290731874155),
("hour", -0.916290731874155)],
n = 5}}),
[("time-of-day (latent)", -0.7537718023763802),
("hour", -0.7537718023763802)],
n = 23}}),
("n proximas <cycle>",
Classifier{okData =
ClassData{prior = 0.0, unseen = -2.5649493574615367,
@ -1298,22 +1301,26 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<hour-of-day> <integer> (as relative minutes)",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.9459101490553135,
ClassData{prior = 0.0, unseen = -3.2188758248682006,
likelihoods =
HashMap.fromList
[("a las <time-of-day>integer (0-9) with two digits",
-0.6931471805599453),
("hour", -0.6931471805599453)],
n = 2},
n = 11},
koData =
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("integer (0-9) with two digits",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("number (0..15)", 0.0)], n = 2},
ClassData{prior = 0.0, unseen = -2.639057329615259,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.1786549963416462),
("number (0..15)", -0.3677247801253174)],
n = 11},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("ce <time>",
Classifier{okData =

View File

@ -48,11 +48,11 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("integer (numeric)",
Classifier{okData =
ClassData{prior = -0.6109090823229733, unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.5930637220029626, unseen = -4.174387269895637,
likelihoods = HashMap.fromList [("", 0.0)], n = 63},
koData =
ClassData{prior = -0.7827593392496325, unseen = -3.912023005428146,
likelihoods = HashMap.fromList [("", 0.0)], n = 48}}),
ClassData{prior = -0.8043728156701697, unseen = -3.970291913552122,
likelihoods = HashMap.fromList [("", 0.0)], n = 51}}),
("the day before yesterday",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
@ -427,24 +427,24 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("a las <time-of-day>",
Classifier{okData =
ClassData{prior = -0.11778303565638351,
unseen = -4.672828834461907,
ClassData{prior = -0.10008345855698253,
unseen = -4.8283137373023015,
likelihoods =
HashMap.fromList
[("<hour-of-day> and half", -3.2771447329921766),
("<time-of-day> horas", -3.970291913552122),
("<hour-of-day> and quarter", -3.054001181677967),
("time-of-day (latent)", -1.1977031913123406),
("<hour-of-day> and <relative minutes>", -2.871679624884012),
("<time-of-day> am|pm", -3.970291913552122),
[("<hour-of-day> and half", -3.4339872044851463),
("<time-of-day> horas", -4.127134385045092),
("<hour-of-day> and quarter", -3.2108436531709366),
("time-of-day (latent)", -1.1067094989007291),
("<hour-of-day> and <relative minutes>", -3.028522096376982),
("<time-of-day> am|pm", -4.127134385045092),
("<hour-of-day> minus <integer> (as relative minutes)",
-3.970291913552122),
-4.127134385045092),
("<hour-of-day> minus quarter (as relative minutes)",
-3.5648268054439574),
("hour", -1.1370785694959058), ("minute", -1.890850371872286)],
n = 48},
-3.721669276936927),
("hour", -1.0590814499114745), ("minute", -2.0476928433652555)],
n = 57},
koData =
ClassData{prior = -2.1972245773362196,
ClassData{prior = -2.3513752571634776,
unseen = -3.1354942159291497,
likelihoods =
HashMap.fromList
@ -648,12 +648,13 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("number (0..15)",
Classifier{okData =
ClassData{prior = -6.782259633876106e-2,
unseen = -4.07753744390572,
likelihoods = HashMap.fromList [("", 0.0)], n = 57},
ClassData{prior = -0.13534134786976212,
unseen = -4.2626798770413155,
likelihoods = HashMap.fromList [("", 0.0)], n = 69},
koData =
ClassData{prior = -2.7245795030534206, unseen = -1.791759469228055,
likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
ClassData{prior = -2.0668627594729756,
unseen = -2.4849066497880004,
likelihoods = HashMap.fromList [("", 0.0)], n = 10}}),
("D\237a Internacional de las Cooperativas",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.0986122886681098,
@ -766,21 +767,22 @@ classifiers
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
("time-of-day (latent)",
Classifier{okData =
ClassData{prior = -0.23483959107740107,
unseen = -3.6375861597263857,
ClassData{prior = -0.4872951263557965,
unseen = -3.8501476017100584,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.3083328196501787),
("number (0..15)", -0.3528213746227423)],
n = 34},
[("integer (numeric)", -1.2636920390275583),
("number (0..15)", -0.3629054936893685)],
n = 43},
koData =
ClassData{prior = -1.563975538357343, unseen = -2.5649493574615367,
ClassData{prior = -0.9526583760450299,
unseen = -3.4339872044851463,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.0986122886681098),
("number (0..15)", -0.8754687373538999),
("integer (0-9) with two digits", -1.3862943611198906)],
n = 9}}),
[("integer (numeric)", -1.455287232606842),
("number (0..15)", -1.0033021088637848),
("integer (0-9) with two digits", -0.916290731874155)],
n = 27}}),
("<hour-of-day> and <relative minutes>",
Classifier{okData =
ClassData{prior = -0.3364722366212129, unseen = -3.332204510175204,
@ -910,22 +912,23 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<time-of-day> am|pm",
Classifier{okData =
ClassData{prior = -0.8109302162163288, unseen = -2.639057329615259,
ClassData{prior = -1.0185695809945732,
unseen = -3.4657359027997265,
likelihoods =
HashMap.fromList
[("a las <time-of-day>", -1.8718021769015913),
("time-of-day (latent)", -1.8718021769015913),
("hour", -1.466337068793427), ("minute", -1.466337068793427),
[("a las <time-of-day>", -2.740840023925201),
("time-of-day (latent)", -2.740840023925201),
("hour", -2.3353749158170367), ("minute", -0.9490805546971459),
("<hour-of-day> <integer> (as relative minutes)",
-1.466337068793427)],
n = 4},
-0.9490805546971459)],
n = 13},
koData =
ClassData{prior = -0.587786664902119, unseen = -2.772588722239781,
ClassData{prior = -0.4480247225269604, unseen = -3.951243718581427,
likelihoods =
HashMap.fromList
[("time-of-day (latent)", -0.916290731874155),
("hour", -0.916290731874155)],
n = 5}}),
[("time-of-day (latent)", -0.7537718023763802),
("hour", -0.7537718023763802)],
n = 23}}),
("n proximas <cycle>",
Classifier{okData =
ClassData{prior = 0.0, unseen = -2.5649493574615367,
@ -1298,22 +1301,26 @@ classifiers
likelihoods = HashMap.fromList [], n = 0}}),
("<hour-of-day> <integer> (as relative minutes)",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.9459101490553135,
ClassData{prior = 0.0, unseen = -3.2188758248682006,
likelihoods =
HashMap.fromList
[("a las <time-of-day>integer (0-9) with two digits",
-0.6931471805599453),
("hour", -0.6931471805599453)],
n = 2},
n = 11},
koData =
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("integer (0-9) with two digits",
Classifier{okData =
ClassData{prior = 0.0, unseen = -1.3862943611198906,
likelihoods = HashMap.fromList [("number (0..15)", 0.0)], n = 2},
ClassData{prior = 0.0, unseen = -2.639057329615259,
likelihoods =
HashMap.fromList
[("integer (numeric)", -1.1786549963416462),
("number (0..15)", -0.3677247801253174)],
n = 11},
koData =
ClassData{prior = -infinity, unseen = -0.6931471805599453,
ClassData{prior = -infinity, unseen = -1.0986122886681098,
likelihoods = HashMap.fromList [], n = 0}}),
("ce <time>",
Classifier{okData =

View File

@ -468,5 +468,14 @@ allExamples = concat
[
"las seis cero dos pm"
, "las seis zero dos pm"
, "para las seis cero dos pm"
, "para las seis zero dos pm"
, "a las seis cero dos pm"
, "a las seis zero dos pm"
, "al las seis cero dos pm"
, "al las seis zero dos pm"
, "para las 6 0 2 pm"
, "a las 6 0 2 pm"
, "al las 6 0 2 pm"
]
]

View File

@ -8,6 +8,7 @@
{-# LANGUAGE GADTs #-}
{-# LANGUAGE NoRebindableSyntax #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE LambdaCase #-}
module Duckling.Time.ES.Rules
( rules
@ -929,8 +930,10 @@ ruleALasHourmintimeofday = Rule
, Predicate isATimeOfDay
, regex "horas?"
]
, prod = \tokens -> case tokens of
(_:x:_) -> Just x
, prod = \case
( _:
x:
_) -> Just x
_ -> Nothing
}
@ -1131,7 +1134,7 @@ ruleALasTimeofday :: Rule
ruleALasTimeofday = Rule
{ name = "a las <time-of-day>"
, pattern =
[ regex "(al?)( las?)?|las?"
[ regex "((para)|(al?))( las?)?|las?"
, Predicate isATimeOfDay
]
, prod = \tokens -> case tokens of