duckling 0.1.1.0 → 0.1.2.0
raw patch · 22 files changed
+4071/−3323 lines, 22 filesdep ~aesondep ~basedep ~bytestringnew-component:exe:duckling-expensivenew-component:exe:duckling-request-samplePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: aeson, base, bytestring, dependent-sum, extra, text, text-show, time, timezone-series, unordered-containers
API changes (from Hackage documentation)
+ Duckling.Numeral.Helpers: notOkForAnyTime :: Token -> Maybe Token
+ Duckling.Numeral.Types: [okForAnyTime] :: NumeralData -> Bool
+ Duckling.Time.Helpers: isNumeralSafeToUse :: Predicate
+ Duckling.Time.Helpers: weekend :: TimeData
- Duckling.Numeral.Types: NumeralData :: Double -> Maybe Int -> Bool -> NumeralData
+ Duckling.Numeral.Types: NumeralData :: Double -> Maybe Int -> Bool -> Bool -> NumeralData
Files
- Duckling/Numeral/EN/Rules.hs +32/−23
- Duckling/Numeral/Helpers.hs +11/−4
- Duckling/Numeral/PT/Corpus.hs +13/−0
- Duckling/Numeral/PT/Rules.hs +6/−5
- Duckling/Numeral/Types.hs +5/−0
- Duckling/Numeral/VI/Corpus.hs +4/−0
- Duckling/Numeral/VI/Rules.hs +77/−62
- Duckling/Ordinal/GA/Corpus.hs +5/−0
- Duckling/Ordinal/GA/Rules.hs +1/−1
- Duckling/Ranking/Classifiers/DE.hs +377/−337
- Duckling/Ranking/Classifiers/EN.hs +436/−394
- Duckling/Ranking/Classifiers/FR.hs +2487/−2281
- Duckling/Time/DE/Corpus.hs +33/−1
- Duckling/Time/DE/Rules.hs +55/−6
- Duckling/Time/EN/Corpus.hs +50/−10
- Duckling/Time/EN/Rules.hs +73/−18
- Duckling/Time/FR/Corpus.hs +93/−11
- Duckling/Time/FR/Rules.hs +198/−143
- Duckling/Time/Helpers.hs +18/−7
- duckling.cabal +59/−20
- exe/DucklingExpensive.hs +16/−0
- exe/DucklingRequestSample.hs +22/−0
Duckling/Numeral/EN/Rules.hs view
@@ -13,20 +13,21 @@ module Duckling.Numeral.EN.Rules ( rules ) where +import Control.Applicative ((<|>)) import Data.HashMap.Strict (HashMap)-import qualified Data.HashMap.Strict as HashMap import Data.Maybe+import Data.String import Data.Text (Text)-import qualified Data.Text as Text import Prelude-import Data.String+import qualified Data.HashMap.Strict as HashMap+import qualified Data.Text as Text import Duckling.Dimensions.Types import Duckling.Numeral.Helpers import Duckling.Numeral.Types (NumeralData (..))-import qualified Duckling.Numeral.Types as TNumeral import Duckling.Regex.Types import Duckling.Types+import qualified Duckling.Numeral.Types as TNumeral ruleIntegers :: Rule ruleIntegers = Rule@@ -46,7 +47,7 @@ , pattern = [ regex "(a )?dozens?( of)?" ]- , prod = \_ -> integer 12 >>= withMultipliable+ , prod = \_ -> integer 12 >>= withMultipliable >>= notOkForAnyTime } zeroNineteenMap :: HashMap Text Integer@@ -58,23 +59,8 @@ , ( "zero" , 0 ) , ( "zilch" , 0 ) , ( "one" , 1 )- , ( "single", 1 ) , ( "two", 2 )- , ( "a couple", 2 )- , ( "a couple of", 2 )- , ( "couple", 2 )- , ( "couples", 2 )- , ( "couple of", 2 )- , ( "couples of", 2 )- , ( "a pair", 2 )- , ( "a pair of", 2 )- , ( "pair", 2 )- , ( "pairs", 2 )- , ( "pair of", 2 )- , ( "pairs of", 2 ) , ( "three", 3 )- , ( "a few", 3 )- , ( "few", 3 ) , ( "four", 4 ) , ( "five", 5 ) , ( "six", 6 )@@ -93,14 +79,37 @@ , ( "nineteen", 19 ) ] +informalMap :: HashMap Text Integer+informalMap = HashMap.fromList+ [ ( "single", 1 )+ , ( "a couple", 2 )+ , ( "a couple of", 2 )+ , ( "couple", 2 )+ , ( "couples", 2 )+ , ( "couple of", 2 )+ , ( "couples of", 2 )+ , ( "a pair", 2 )+ , ( "a pair of", 2 )+ , ( "pair", 2 )+ , ( "pairs", 2 )+ , ( "pair of", 2 )+ , ( "pairs of", 2 )+ , ( "a few", 3 )+ , ( "few", 3 )+ ]+ ruleToNineteen :: Rule ruleToNineteen = Rule { name = "integer (0..19)" -- e.g. fourteen must be before four, otherwise four will always shadow fourteen- , pattern = [regex "(none|zilch|naught|nought|nil|zero|one|single|two|(a )?(pair|couple)s?( of)?|three|(a )?few|fourteen|four|fifteen|five|sixteen|six|seventeen|seven|eighteen|eight|nineteen|nine|ten|eleven|twelve|thirteen)"]+ , pattern =+ [ regex "(none|zilch|naught|nought|nil|zero|one|single|two|(a )?(pair|couple)s?( of)?|three|(a )?few|fourteen|four|fifteen|five|sixteen|six|seventeen|seven|eighteen|eight|nineteen|nine|ten|eleven|twelve|thirteen)"+ ] , prod = \tokens -> case tokens of (Token RegexMatch (GroupMatch (match:_)):_) ->- HashMap.lookup (Text.toLower match) zeroNineteenMap >>= integer+ let x = Text.toLower match in+ (HashMap.lookup x zeroNineteenMap >>= integer) <|>+ (HashMap.lookup x informalMap >>= integer >>= notOkForAnyTime) _ -> Nothing } @@ -110,7 +119,7 @@ , pattern = [regex "(twenty|thirty|fou?rty|fifty|sixty|seventy|eighty|ninety)"] , prod = \tokens -> case tokens of- (Token RegexMatch (GroupMatch (match : _)) : _) ->+ (Token RegexMatch (GroupMatch (match:_)):_) -> case Text.toLower match of "twenty" -> integer 20 "thirty" -> integer 30
Duckling/Numeral/Helpers.hs view
@@ -15,6 +15,7 @@ , integer , multiply , divide+ , notOkForAnyTime , numberBetween , numberWith , oneOf@@ -23,18 +24,18 @@ , parseInteger , withGrain , withMultipliable- , parseDecimal,+ , parseDecimal ) where -import qualified Data.Attoparsec.Text as Atto import Data.Maybe import Data.Text (Text)-import qualified Data.Text as Text import Prelude+import qualified Data.Attoparsec.Text as Atto+import qualified Data.Text as Text import Duckling.Dimensions.Types import Duckling.Numeral.Types-import Duckling.Types hiding (value)+import Duckling.Types hiding (Entity(value)) zeroT :: Text zeroT = Text.singleton '0'@@ -106,11 +107,17 @@ Just . Token Numeral $ x {grain = Just g} withGrain _ _ = Nothing +notOkForAnyTime :: Token -> Maybe Token+notOkForAnyTime (Token Numeral x) =+ Just . Token Numeral $ x {okForAnyTime = False}+notOkForAnyTime _ = Nothing+ double :: Double -> Maybe Token double x = Just . Token Numeral $ NumeralData { value = x , grain = Nothing , multipliable = False+ , okForAnyTime = True } integer :: Integer -> Maybe Token
Duckling/Numeral/PT/Corpus.hs view
@@ -131,11 +131,24 @@ [ "100" , "Cem" ]+ , examples (NumeralValue 104)+ [ "104"+ , "cento e quatro"+ ] , examples (NumeralValue 243) [ "243"+ ,"duzentos e quarenta e tres" ] , examples (NumeralValue 300) [ "trezentos"+ ]+ , examples (NumeralValue 343)+ [ "trezentos e quarenta e tres"+ , "343"+ ]+ , examples (NumeralValue 891)+ [ "oitocentos e noventa e um"+ , "891" ] , examples (NumeralValue 3000000) [ "3M"
Duckling/Numeral/PT/Rules.hs view
@@ -184,7 +184,8 @@ ruleNumeral6 = Rule { name = "number 100..1000 " , pattern =- [ regex "(ce(m|to)|duzentos|trezentos|quatrocentos|quinhentos|seiscentos|setecentos|oitocentos|novecentos|mil)"+ [+ regex "(cem|cento|duzentos|trezentos|quatrocentos|quinhentos|seiscentos|setecentos|oitocentos|novecentos|mil)" ] , prod = \tokens -> case tokens of (Token RegexMatch (GroupMatch (match:_)):_) -> case Text.toLower match of@@ -244,17 +245,17 @@ ruleNumerals :: Rule ruleNumerals = Rule- { name = "numbers 200..999"+ { name = "numbers (100..999)" , pattern =- [ numberBetween 2 10- , numberWith TNumeral.value (== 100)+ [ numberBetween 100 1000+ , regex "e" , numberBetween 0 100 ] , prod = \tokens -> case tokens of (Token Numeral (NumeralData {TNumeral.value = v1}): _: Token Numeral (NumeralData {TNumeral.value = v2}):- _) -> double $ v1 * 100 + v2+ _) -> double $ v1 + v2 _ -> Nothing }
Duckling/Numeral/Types.hs view
@@ -29,6 +29,11 @@ { value :: Double , grain :: Maybe Int , multipliable :: Bool+ -- Hack until other use cases pop up,+ -- at which point we'll craft a generic solution.+ -- This allows to explicitly flag Numerals that don't work well with Time.+ -- See `ruleTODLatent`. Prevents things like "at single", "dozens o'clock".+ , okForAnyTime :: Bool } deriving (Eq, Generic, Hashable, Ord, Show, NFData)
Duckling/Numeral/VI/Corpus.hs view
@@ -56,6 +56,10 @@ [ "18" , "mười tám" ]+ , examples (NumeralValue 100)+ [ "100"+ , "tră"+ ] , examples (NumeralValue 1.1) [ "1.1" , "1.10"
Duckling/Numeral/VI/Rules.hs view
@@ -12,6 +12,7 @@ module Duckling.Numeral.VI.Rules ( rules ) where +import qualified Data.HashMap.Strict as HashMap import Data.Maybe import qualified Data.Text as Text import Prelude@@ -24,6 +25,18 @@ import Duckling.Regex.Types import Duckling.Types +powersOfTenMap :: HashMap.HashMap Text.Text (Double, Int)+powersOfTenMap = HashMap.fromList+ [ ( "tr\x0103", (1e2, 2) )+ , ( "tr\x0103m", (1e2, 2) )+ , ( "ngh\x00ec", (1e3, 3) )+ , ( "ngh\x00ecn", (1e3, 3) )+ , ( "tri\x1ec7", (1e6, 6) )+ , ( "tri\x1ec7u", (1e6, 6) )+ , ( "t", (1e9, 9) )+ , ( "t\x1ef7", (1e9, 9) )+ ]+ rulePowersOfTen :: Rule rulePowersOfTen = Rule { name = "powers of tens"@@ -31,16 +44,10 @@ [ regex "(tr\x0103m?|ngh\x00ecn?|tri\x1ec7u?|t\x1ef7?)" ] , prod = \tokens -> case tokens of- (Token RegexMatch (GroupMatch (match:_)):_) -> case Text.toLower match of- "tr\x0103" -> double 1e2 >>= withGrain 2 >>= withMultipliable- "tr\x0103m" -> double 1e2 >>= withGrain 2 >>= withMultipliable- "ngh\x00ec" -> double 1e3 >>= withGrain 3 >>= withMultipliable- "ngh\x00ecn" -> double 1e3 >>= withGrain 3 >>= withMultipliable- "tri\x1ec7" -> double 1e6 >>= withGrain 6 >>= withMultipliable- "tri\x1ec7u" -> double 1e6 >>= withGrain 6 >>= withMultipliable- "t" -> double 1e9 >>= withGrain 9 >>= withMultipliable- "t\x1ef7" -> double 1e9 >>= withGrain 9 >>= withMultipliable- _ -> Nothing+ (Token RegexMatch (GroupMatch (match:_)):_) ->+ do+ (value, grain) <- HashMap.lookup (Text.toLower match) powersOfTenMap+ double value >>= withGrain grain >>= withMultipliable _ -> Nothing } @@ -206,6 +213,50 @@ _ -> Nothing } +integerMap :: HashMap.HashMap Text.Text Integer+integerMap = HashMap.fromList+ [ ("kh\x00f4ng", 0)+ , ("m\x1ed9t", 1)+ , ("linh m\x1ed9t", 1)+ , ("l\x1ebb m\x1ed9t", 1)+ , ("hai", 2)+ , ("l\x1ebb hai", 2)+ , ("linh hai", 2)+ , ("ba", 3)+ , ("l\x1ebb", 3)+ , ("linh ba", 3)+ , ("l\x1ebb b\x1ed1n", 4)+ , ("linh b\x1ed1n", 4)+ , ("b\x1ed1n", 4)+ , ("n\x0103m", 5)+ , ("l\x1ebb n\x0103m", 5)+ , ("linh n\x0103m", 5)+ , ("linh s\x00e1u", 6)+ , ("s\x00e1u", 6)+ , ("l\x1ebb s\x00e1u", 6)+ , ("linh b\x1ea3y", 7)+ , ("l\x1ebb b\x1ea3y", 7)+ , ("b\x1ea3y", 7)+ , ("l\x1ebb t\x00e1m", 8)+ , ("linh t\x00e1m", 8)+ , ("t\x00e1m", 8)+ , ("l\x1ebb ch\x00edn", 9)+ , ("ch\x00edn", 9)+ , ("linh ch\x00edn", 9)+ , ("linh m\x01b0\x1eddi", 10)+ , ("m\x01b0\x1eddi", 10)+ , ("l\x1ebb m\x01b0\x1eddi", 10)+ , ("m\x01b0\x1eddi m\x1ed9t", 11)+ , ("m\x01b0\x1eddi hai", 12)+ , ("m\x01b0\x1eddi ba", 13)+ , ("m\x01b0\x1eddi b\x1ed1n", 14)+ , ("m\x01b0\x1eddi l\x0103m", 15)+ , ("m\x01b0\x1eddi s\x00e1u", 16)+ , ("m\x01b0\x1eddi b\x1ea3y", 17)+ , ("m\x01b0\x1eddi t\x00e1m", 18)+ , ("m\x01b0\x1eddi ch\x00edn", 19)+ ]+ ruleInteger :: Rule ruleInteger = Rule { name = "integer (0..19)"@@ -213,51 +264,23 @@ [ regex "(kh\x00f4ng|m\x1ed9t|linh m\x1ed9t|l\x1ebb m\x1ed9t|hai|linh hai|l\x1ebb hai|ba|linh ba|l\x1ebb ba|b\x1ed1n|linh b\x1ed1n|l\x1ebb b\x1ed1n|n\x0103m|linh n\x0103m|l\x1ebb n\x0103m|s\x00e1u|l\x1ebb s\x00e1u|linh s\x00e1u|b\x1ea3y|l\x1ebb b\x1ea3y|linh b\x1ea3y|t\x00e1m|linh t\x00e1m|l\x1ebb t\x00e1m|ch\x00edn|linh ch\x00edn|l\x1ebb ch\x00edn|m\x01b0\x1eddi m\x1ed9t|m\x01b0\x1eddi hai|m\x01b0\x1eddi ba|m\x01b0\x1eddi b\x1ed1n|m\x01b0\x1eddi l\x0103m|m\x01b0\x1eddi s\x00e1u|m\x01b0\x1eddi b\x1ea3y|m\x01b0\x1eddi t\x00e1m|m\x01b0\x1eddi ch\x00edn|m\x01b0\x1eddi|linh m\x01b0\x1eddi)" ] , prod = \tokens -> case tokens of- (Token RegexMatch (GroupMatch (match:_)):_) -> case match of- "kh\x00f4ng" -> integer 0- "m\x1ed9t" -> integer 1- "linh m\x1ed9t" -> integer 1- "l\x1ebb m\x1ed9t" -> integer 1- "hai" -> integer 2- "l\x1ebb hai" -> integer 2- "linh hai" -> integer 2- "ba" -> integer 3- "l\x1ebb" -> integer 3- "linh ba" -> integer 3- "l\x1ebb b\x1ed1n" -> integer 4- "linh b\x1ed1n" -> integer 4- "b\x1ed1n" -> integer 4- "n\x0103m" -> integer 5- "l\x1ebb n\x0103m" -> integer 5- "linh n\x0103m" -> integer 5- "linh s\x00e1u" -> integer 6- "s\x00e1u" -> integer 6- "l\x1ebb s\x00e1u" -> integer 6- "linh b\x1ea3y" -> integer 7- "l\x1ebb b\x1ea3y" -> integer 7- "b\x1ea3y" -> integer 7- "l\x1ebb t\x00e1m" -> integer 8- "linh t\x00e1m" -> integer 8- "t\x00e1m" -> integer 8- "l\x1ebb ch\x00edn" -> integer 9- "ch\x00edn" -> integer 9- "linh ch\x00edn" -> integer 9- "linh m\x01b0\x1eddi" -> integer 10- "m\x01b0\x1eddi" -> integer 10- "l\x1ebb m\x01b0\x1eddi" -> integer 10- "m\x01b0\x1eddi m\x1ed9t" -> integer 11- "m\x01b0\x1eddi hai" -> integer 12- "m\x01b0\x1eddi ba" -> integer 13- "m\x01b0\x1eddi b\x1ed1n" -> integer 14- "m\x01b0\x1eddi l\x0103m" -> integer 15- "m\x01b0\x1eddi s\x00e1u" -> integer 16- "m\x01b0\x1eddi b\x1ea3y" -> integer 17- "m\x01b0\x1eddi t\x00e1m" -> integer 18- "m\x01b0\x1eddi ch\x00edn" -> integer 19- _ -> Nothing+ (Token RegexMatch (GroupMatch (match:_)):_) ->+ HashMap.lookup (Text.toLower match) integerMap >>= integer _ -> Nothing } +tensMap :: HashMap.HashMap Text.Text Integer+tensMap = HashMap.fromList+ [ ("hai m\x01b0\x01a1i", 20)+ , ("ba m\x01b0\x01a1i", 30)+ , ("b\x1ed1n m\x01b0\x01a1i", 40)+ , ("n\x0103m m\x01b0\x01a1i", 50)+ , ("s\x00e1u m\x01b0\x01a1i", 60)+ , ("b\x1ea3y m\x01b0\x01a1i", 70)+ , ("t\x00e1m m\x01b0\x01a1i", 80)+ , ("ch\x00edn m\x01b0\x01a1i", 90)+ ]+ ruleInteger2 :: Rule ruleInteger2 = Rule { name = "integer (20..90)"@@ -265,16 +288,8 @@ [ regex "(hai m\x01b0\x01a1i|ba m\x01b0\x01a1i|b\x1ed1n m\x01b0\x01a1i|n\x0103m m\x01b0\x01a1i|s\x00e1u m\x01b0\x01a1i|b\x1ea3y m\x01b0\x01a1i|t\x00e1m m\x01b0\x01a1i|ch\x00edn m\x01b0\x01a1i)" ] , prod = \tokens -> case tokens of- (Token RegexMatch (GroupMatch (match:_)):_) -> case match of- "hai m\x01b0\x01a1i" -> integer 20- "ba m\x01b0\x01a1i" -> integer 30- "b\x1ed1n m\x01b0\x01a1i" -> integer 40- "n\x0103m m\x01b0\x01a1i" -> integer 50- "s\x00e1u m\x01b0\x01a1i" -> integer 60- "b\x1ea3y m\x01b0\x01a1i" -> integer 70- "t\x00e1m m\x01b0\x01a1i" -> integer 80- "ch\x00edn m\x01b0\x01a1i" -> integer 90- _ -> Nothing+ (Token RegexMatch (GroupMatch (match:_)):_) ->+ HashMap.lookup (Text.toLower match) tensMap >>= integer _ -> Nothing }
Duckling/Ordinal/GA/Corpus.hs view
@@ -26,6 +26,11 @@ allExamples = concat [ examples (OrdinalData 6) [ "séu"+ , "6a"+ , "6d"+ , "06u"+ , "6 ú"+ , "0006 adh" ] , examples (OrdinalData 1) [ "chead"
Duckling/Ordinal/GA/Rules.hs view
@@ -107,7 +107,7 @@ ruleOrdinalDigits = Rule { name = "ordinal (digits)" , pattern =- [ regex "0*(\\d+) ?(a|d|(\x00fa|u))"+ [ regex "0*(\\d+) ?(adh|a|d|\x00fa|u)" ] , prod = \tokens -> case tokens of (Token RegexMatch (GroupMatch (match:_)):_) -> ordinal <$> parseInt match
Duckling/Ranking/Classifiers/DE.hs view
@@ -35,11 +35,11 @@ likelihoods = HashMap.fromList [], n = 0}}), ("integer (numeric)", Classifier{okData =- ClassData{prior = -0.6616839111041602, unseen = -4.74493212836325,- likelihoods = HashMap.fromList [("", 0.0)], n = 113},+ ClassData{prior = -0.9179699933938751, unseen = -4.795790545596741,+ likelihoods = HashMap.fromList [("", 0.0)], n = 119}, koData =- ClassData{prior = -0.7256326357044337, unseen = -4.68213122712422,- likelihoods = HashMap.fromList [("", 0.0)], n = 106}}),+ ClassData{prior = -0.5097076806646496, unseen = -5.198497031265826,+ likelihoods = HashMap.fromList [("", 0.0)], n = 179}}), ("exactly <time-of-day>", Classifier{okData = ClassData{prior = 0.0, unseen = -2.3025850929940455,@@ -175,41 +175,39 @@ likelihoods = HashMap.fromList [], n = 0}}), ("mm/dd", Classifier{okData =- ClassData{prior = -0.13353139262452263,- unseen = -2.1972245773362196,- likelihoods = HashMap.fromList [("", 0.0)], n = 7},+ ClassData{prior = -0.40546510810816444,+ unseen = -3.258096538021482,+ likelihoods = HashMap.fromList [("", 0.0)], n = 24}, koData =- ClassData{prior = -2.0794415416798357,- unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),+ ClassData{prior = -1.0986122886681098, unseen = -2.639057329615259,+ likelihoods = HashMap.fromList [("", 0.0)], n = 12}}), ("at <time-of-day>", Classifier{okData =- ClassData{prior = -0.19237189264745613,- unseen = -4.356708826689592,+ ClassData{prior = -0.2113090936672069, unseen = -4.382026634673881, likelihoods = HashMap.fromList- [("<time-of-day> o'clock", -2.0412203288596382),+ [("<time-of-day> o'clock", -2.0668627594729756), ("half <integer> (german style hour-of-day)",- -3.6506582412937383),- ("about <time-of-day>", -2.7343675094195836),- ("time-of-day (latent)", -1.7047480922384253),+ -3.676300671907076),+ ("about <time-of-day>", -2.760009940032921),+ ("time-of-day (latent)", -1.7303905228517629), ("relative minutes after|past <integer> (hour-of-day)",- -3.6506582412937383),- ("hh:mm", -2.9575110607337933),+ -3.676300671907076),+ ("hh:mm", -2.760009940032921), ("quarter after|past <integer> (hour-of-day)",- -3.6506582412937383),- ("hour", -1.0479685558493548), ("minute", -2.264363880173848),+ -3.676300671907076),+ ("hour", -1.0736109864626924), ("minute", -2.172223275130802), ("<hour-of-day> <integer> (as relative minutes)",- -3.6506582412937383)],- n = 33},+ -3.676300671907076)],+ n = 34}, koData =- ClassData{prior = -1.742969305058623, unseen = -3.258096538021482,+ ClassData{prior = -1.6582280766035324, unseen = -3.332204510175204, likelihoods = HashMap.fromList- [("time-of-day (latent)", -1.6094379124341003),- ("<time-of-day> am|pm", -1.8325814637483102),- ("hour", -1.4271163556401458), ("minute", -2.120263536200091)],- n = 7}}),+ [("time-of-day (latent)", -1.5040773967762742),+ ("<time-of-day> am|pm", -1.9095425048844386),+ ("hour", -1.349926716949016), ("minute", -2.1972245773362196)],+ n = 8}}), ("absorption of , after named day", Classifier{okData = ClassData{prior = -7.410797215372185e-2,@@ -227,36 +225,36 @@ n = 1}}), ("on <date>", Classifier{okData =- ClassData{prior = -0.2076393647782445, unseen = -4.804021044733257,+ ClassData{prior = -0.24256163717131135,+ unseen = -4.787491742782046, likelihoods = HashMap.fromList- [("mm/dd", -4.102643365036796),- ("absorption of , after named day", -3.6971782569286313),- ("intersect", -1.8513515664303006),- ("after lunch", -2.849880396541428),- ("day", -1.499953679592412), ("afternoon", -2.849880396541428),- ("named-day", -2.849880396541428),- ("intersect by ','", -2.849880396541428),- ("intersect by 'of', 'from', 's", -3.4094961844768505),- ("<day-of-month> (ordinal)", -4.102643365036796),- ("hour", -1.9054187877005764), ("evening", -4.102643365036796),- ("<datetime> - <datetime> (interval)", -4.102643365036796),- ("minute", -2.4932054526026954),- ("morning", -4.102643365036796)],- n = 52},+ [("absorption of , after named day", -3.6805112044434196),+ ("intersect", -1.834684513945089),+ ("after lunch", -2.833213344056216),+ ("day", -1.5210269550900473), ("afternoon", -2.833213344056216),+ ("named-day", -2.833213344056216),+ ("intersect by ','", -2.833213344056216),+ ("intersect by 'of', 'from', 's", -3.392829131991639),+ ("<day-of-month> (ordinal)", -4.085976312551584),+ ("hour", -1.8887517352153647), ("evening", -4.085976312551584),+ ("<datetime> - <datetime> (interval)", -4.085976312551584),+ ("minute", -2.4765384001174837),+ ("morning", -4.085976312551584)],+ n = 51}, koData =- ClassData{prior = -1.6739764335716716,- unseen = -3.7376696182833684,+ ClassData{prior = -1.5353299402803784, unseen = -3.828641396489095, likelihoods = HashMap.fromList- [("intersect", -1.6341305250244718),- ("after lunch", -3.0204248861443626),- ("<day-of-month>(ordinal) <named-month>", -3.0204248861443626),- ("tomorrow", -3.0204248861443626), ("day", -2.1041341542702074),- ("intersect by 'of', 'from', 's", -3.0204248861443626),- ("<day-of-month> (ordinal)", -3.0204248861443626),- ("hour", -3.0204248861443626), ("minute", -1.6341305250244718)],- n = 12}}),+ [("intersect", -1.7272209480904839),+ ("after lunch", -3.1135153092103742),+ ("<day-of-month>(ordinal) <named-month>", -3.1135153092103742),+ ("tomorrow", -3.1135153092103742), ("day", -2.1972245773362196),+ ("hh:mm", -2.70805020110221),+ ("intersect by 'of', 'from', 's", -3.1135153092103742),+ ("<day-of-month> (ordinal)", -3.1135153092103742),+ ("hour", -3.1135153092103742), ("minute", -1.5040773967762742)],+ n = 14}}), ("integer (0..19)", Classifier{okData = ClassData{prior = -0.10536051565782628,@@ -308,7 +306,7 @@ likelihoods = HashMap.fromList [], n = 0}}), ("<time-of-day> o'clock", Classifier{okData =- ClassData{prior = -3.077165866675366e-2,+ ClassData{prior = -4.580953603129422e-2, unseen = -4.9344739331306915, likelihoods = HashMap.fromList@@ -325,13 +323,13 @@ ("after <time-of-day>", -3.1354942159291497)], n = 64}, koData =- ClassData{prior = -3.4965075614664802, unseen = -2.70805020110221,+ ClassData{prior = -3.1060803307228566, unseen = -2.833213344056216, likelihoods = HashMap.fromList- [("time-of-day (latent)", -1.9459101490553135),- ("hour", -1.540445040947149),- ("after <time-of-day>", -1.9459101490553135)],- n = 2}}),+ [("time-of-day (latent)", -1.6739764335716716),+ ("hour", -1.3862943611198906),+ ("after <time-of-day>", -2.0794415416798357)],+ n = 3}}), ("hour (grain)", Classifier{okData = ClassData{prior = -0.15415067982725836,@@ -358,264 +356,274 @@ n = 1}}), ("intersect", Classifier{okData =- ClassData{prior = -0.23031204079282233,- unseen = -6.885509670034817,+ ClassData{prior = -0.26452876747706405, unseen = -6.90975328164481, likelihoods = HashMap.fromList- [("intersect by ','named-month", -4.399580002254782),- ("hourday", -4.93857650298747), ("dayhour", -2.527777825353191),- ("daymonth", -3.1232865363492204),+ [("intersect by ','named-month", -4.4238481295272205),+ ("hourday", -4.962844630259907),+ ("<datetime> - <datetime> (interval)year", -4.962844630259907),+ ("dayhour", -2.5520459526256287),+ ("daymonth", -3.147554663621658), ("<day-of-month>(ordinal) <named-month> year<time-of-day> o'clock",- -6.191339471482838),- ("monthyear", -4.4865913792444125),- ("yearhour", -6.191339471482838),- ("intersect<time-of-day> o'clock", -4.051273307986567),- ("christmasyear", -6.191339471482838),- ("after lunchat <time-of-day>", -6.191339471482838),+ -6.215607598755275),+ ("monthyear", -4.51085950651685),+ ("yearhour", -6.215607598755275),+ ("intersect<time-of-day> o'clock", -4.075541435259004),+ ("christmasyear", -6.215607598755275),+ ("after lunchat <time-of-day>", -6.215607598755275), ("absorption of , after named daymm/dd/yyyy",- -6.191339471482838),- ("named-daylast <cycle>", -6.191339471482838),- ("intersect by 'of', 'from', 'syear", -5.785874363374673),- ("<time-of-day> am|pmintersect", -5.092727182814728),- ("intersect<time> <part-of-day>", -4.111897929803002),- ("the <day-of-month> (ordinal)named-month", -6.191339471482838),- ("<time-of-day> o'clockafter lunch", -5.498192290922892),+ -6.215607598755275),+ ("named-daylast <cycle>", -6.215607598755275),+ ("intersect by 'of', 'from', 'syear", -5.810142490647111),+ ("<time-of-day> am|pmintersect", -5.116995310087166),+ ("intersect<time> <part-of-day>", -4.13616605707544),+ ("the <day-of-month> (ordinal)named-month", -6.215607598755275),+ ("<time-of-day> o'clockafter lunch", -5.52246041819533), ("<time> <part-of-day><time-of-day> o'clock",- -6.191339471482838),- ("today<time-of-day> o'clock", -6.191339471482838),- ("<time-of-day> o'clockon <date>", -5.785874363374673),- ("<time-of-day> am|pmintersect by ','", -5.498192290922892),- ("intersect by ','year", -5.092727182814728),- ("on <date><time-of-day> o'clock", -6.191339471482838),- ("exactly <time-of-day>tomorrow", -5.785874363374673),- ("mm/dd<time-of-day> o'clock", -6.191339471482838),- ("monthhour", -5.785874363374673),+ -6.215607598755275),+ ("today<time-of-day> o'clock", -6.215607598755275),+ ("<time-of-day> o'clockon <date>", -5.810142490647111),+ ("<time-of-day> am|pmintersect by ','", -5.52246041819533),+ ("intersect by ','year", -5.116995310087166),+ ("on <date><time-of-day> o'clock", -6.215607598755275),+ ("exactly <time-of-day>tomorrow", -5.810142490647111),+ ("mm/dd<time-of-day> o'clock", -6.215607598755275),+ ("monthhour", -5.810142490647111), ("on <date>between <datetime> and <datetime> (interval)",- -6.191339471482838),- ("last <day-of-week> of <time>year", -6.191339471482838),- ("hourmonth", -5.785874363374673),- ("todayat <time-of-day>", -5.498192290922892),- ("mm/ddabout <time-of-day>", -5.785874363374673),+ -6.215607598755275),+ ("last <day-of-week> of <time>year", -6.215607598755275),+ ("hourmonth", -5.810142490647111),+ ("todayat <time-of-day>", -5.52246041819533),+ ("mm/ddabout <time-of-day>", -5.810142490647111), ("on <date>between <time-of-day> and <time-of-day> (interval)",- -6.191339471482838),- ("on <date>at <time-of-day>", -5.785874363374673),- ("named-dayhh:mm", -6.191339471482838),- ("dayday", -3.013285641134892),- ("<time> <part-of-day>at <time-of-day>", -5.785874363374673),+ -6.215607598755275),+ ("on <date>at <time-of-day>", -5.810142490647111),+ ("named-dayhh:mm", -6.215607598755275),+ ("dayday", -3.0375537684073297),+ ("<time> <part-of-day>at <time-of-day>", -5.810142490647111), ("<time-of-day> am|pmabsorption of , after named day",- -6.191339471482838),- ("about <time-of-day>on <date>", -6.191339471482838),+ -6.215607598755275),+ ("about <time-of-day>on <date>", -6.215607598755275), ("<hour-of-day> <integer> (as relative minutes)in|during the <part-of-day>",- -5.785874363374673),- ("<day-of-month> (ordinal)intersect", -5.092727182814728),- ("hourhour", -3.6656108271745818),- ("<part-of-day> of <time>named-month", -5.785874363374673),- ("hh:mmintersect by ','", -4.93857650298747),- ("intersectnamed-month", -3.358126127426621),- ("dayyear", -3.552282141867579),+ -5.810142490647111),+ ("<day-of-month> (ordinal)intersect", -5.116995310087166),+ ("hourhour", -3.68987895444702),+ ("<part-of-day> of <time>named-month", -5.810142490647111),+ ("hh:mmintersect by ','", -4.962844630259907),+ ("intersectnamed-month", -3.3823942546990593),+ ("dayyear", -3.297836866670996), ("<time-of-day> o'clockin|during the <part-of-day>",- -5.092727182814728),- ("tomorrow<time-of-day> o'clock", -6.191339471482838),- ("<time-of-day> o'clocktomorrow", -5.498192290922892),+ -5.116995310087166),+ ("tomorrow<time-of-day> o'clock", -6.215607598755275),+ ("<time-of-day> o'clocktomorrow", -5.52246041819533), ("<day-of-month>(ordinal) <named-month>year",- -5.785874363374673),+ -5.810142490647111), ("half <integer> (german style hour-of-day)after lunch",- -6.191339471482838),+ -6.215607598755275), ("absorption of , after named day<day-of-month>(ordinal) <named-month>",- -4.93857650298747),- ("hourminute", -5.498192290922892),+ -4.962844630259907),+ ("hourminute", -5.52246041819533), ("on <date><day-of-month>(ordinal) <named-month>",- -5.785874363374673),- ("minutemonth", -3.5171908220563086),- ("minutehour", -3.9400476728763425),- ("named-day<time> timezone", -6.191339471482838),+ -5.810142490647111),+ ("minutemonth", -3.5414589493287467),+ ("minutehour", -3.96431580014878),+ ("named-day<time> timezone", -6.215607598755275), ("at <time-of-day>in|during the <part-of-day>",- -5.275048739608683),- ("named-monthyear", -4.4865913792444125),+ -5.29931686688112),+ ("named-monthyear", -4.51085950651685), ("absorption of , after named day<day-of-month>(ordinal) <named-month> year",- -5.785874363374673),+ -5.810142490647111), ("absorption of , after named day<named-month> <day-of-month> (non ordinal)",- -5.092727182814728),+ -5.116995310087166), ("named-day<time-of-day> - <time-of-day> (interval)",- -6.191339471482838),+ -6.215607598755275), ("<day-of-month>(ordinal) <named-month> year<time> <part-of-day>",- -6.191339471482838),+ -6.215607598755275), ("<hour-of-day> <integer> (as relative minutes)after lunch",- -6.191339471482838),+ -6.215607598755275), ("named-day<datetime> - <datetime> (interval)",- -6.191339471482838),- ("on <date>named-month", -5.275048739608683),+ -6.215607598755275),+ ("on <date>named-month", -5.29931686688112), ("intersect<day-of-month>(ordinal) <named-month>",- -4.805045110362947),+ -4.829313237635384), ("this <part-of-day><time-of-day> o'clock",- -6.191339471482838),+ -6.215607598755275), ("<day-of-month>(ordinal) <named-month>intersect",- -6.191339471482838),- ("hh:mmintersect", -3.748992436113633),+ -6.215607598755275),+ ("hh:mmintersect", -3.7732605633860707), ("named-dayfrom <datetime> - <datetime> (interval)",- -5.785874363374673),- ("named-daynext <cycle>", -6.191339471482838),+ -5.810142490647111),+ ("named-daynext <cycle>", -6.215607598755275), ("named-dayfrom <time-of-day> - <time-of-day> (interval)",- -5.498192290922892),- ("<day-of-month> (ordinal)named-day", -5.785874363374673),- ("intersect by ','intersect", -4.93857650298747),+ -5.52246041819533),+ ("<day-of-month> (ordinal)named-day", -5.810142490647111),+ ("intersect by ','intersect", -4.962844630259907), ("half <integer> (german style hour-of-day)in|during the <part-of-day>",- -5.785874363374673),- ("at <time-of-day>intersect", -4.399580002254782),+ -5.810142490647111),+ ("from <datetime> - <datetime> (interval)year",+ -5.52246041819533),+ ("at <time-of-day>intersect", -4.4238481295272205), ("on <date>from <time-of-day> - <time-of-day> (interval)",- -5.785874363374673),+ -5.810142490647111), ("<time> <part-of-day>from <time-of-day> - <time-of-day> (interval)",- -6.191339471482838),+ -6.215607598755275), ("absorption of , after named day<day-of-month> (ordinal)",- -4.93857650298747),- ("dayminute", -3.9941148941466182),+ -4.962844630259907),+ ("dayminute", -4.018383021419056), ("on <date>from <datetime> - <datetime> (interval)",- -6.191339471482838),+ -6.215607598755275), ("<time> <part-of-day>from <datetime> - <datetime> (interval)",- -6.191339471482838),- ("intersectyear", -4.399580002254782),- ("on <date>intersect", -5.785874363374673),- ("on <date><day-of-month> (ordinal)", -5.785874363374673),- ("<ordinal> <cycle> of <time>year", -6.191339471482838),- ("minuteday", -2.2116578175808765),+ -6.215607598755275),+ ("intersectyear", -4.4238481295272205),+ ("on <date>intersect", -5.810142490647111),+ ("on <date><day-of-month> (ordinal)", -5.810142490647111),+ ("<ordinal> <cycle> of <time>year", -6.215607598755275),+ ("minuteday", -2.235925944853314), ("absorption of , after named dayintersect",- -3.7934441986844667),+ -3.817712325956905), ("named-daybetween <time-of-day> and <time-of-day> (interval)",- -6.191339471482838),+ -6.215607598755275), ("<datetime> - <datetime> (interval)named-month",- -5.785874363374673),- ("year<time-of-day> o'clock", -6.191339471482838),- ("at <time-of-day>intersect by ','", -5.498192290922892),- ("named-dayat <time-of-day>", -5.785874363374673),- ("hh:mmabsorption of , after named day", -5.785874363374673),- ("<time-of-day> am|pmnamed-day", -6.191339471482838),- ("intersect by ','<time> <part-of-day>", -5.275048739608683),- ("hh:mmon <date>", -3.748992436113633),+ -5.810142490647111),+ ("year<time-of-day> o'clock", -6.215607598755275),+ ("at <time-of-day>intersect by ','", -5.52246041819533),+ ("named-dayat <time-of-day>", -5.810142490647111),+ ("hh:mmabsorption of , after named day", -5.810142490647111),+ ("<time-of-day> am|pmnamed-day", -6.215607598755275),+ ("intersect by ','<time> <part-of-day>", -5.29931686688112),+ ("hh:mmon <date>", -3.7732605633860707), ("named-daybetween <datetime> and <datetime> (interval)",- -6.191339471482838),+ -6.215607598755275), ("at <time-of-day>absorption of , after named day",- -6.191339471482838),- ("until <time-of-day>after lunch", -6.191339471482838),- ("mm/ddyear", -5.785874363374673),- ("intersect by ','<time-of-day> o'clock", -5.275048739608683),- ("intersect<day-of-month> (ordinal)", -4.805045110362947),- ("absorption of , after named daymm/dd", -6.191339471482838),- ("named-day<time-of-day> o'clock", -6.191339471482838),+ -6.215607598755275),+ ("until <time-of-day>after lunch", -6.215607598755275),+ ("mm/ddyear", -5.810142490647111),+ ("intersect by ','<time-of-day> o'clock", -5.29931686688112),+ ("intersect<day-of-month> (ordinal)", -4.829313237635384),+ ("absorption of , after named daymm/dd", -6.215607598755275),+ ("named-day<time-of-day> o'clock", -6.215607598755275), ("<day-of-month> (ordinal)intersect by 'of', 'from', 's",- -5.498192290922892),- ("at <time-of-day>on <date>", -4.319537294581246),- ("intersectintersect", -4.051273307986567),- ("dayweek", -5.092727182814728),+ -5.52246041819533),+ ("at <time-of-day>on <date>", -4.343805421853684),+ ("intersectintersect", -4.075541435259004),+ ("dayweek", -5.116995310087166), ("absorption of , after named daythe <day-of-month> (ordinal)",- -6.191339471482838),- ("weekyear", -5.785874363374673),- ("hh:mmin|during the <part-of-day>", -5.275048739608683),+ -6.215607598755275),+ ("weekyear", -5.810142490647111),+ ("hh:mmin|during the <part-of-day>", -5.29931686688112), ("intersect by 'of', 'from', 'snamed-month",- -6.191339471482838),- ("named-monthintersect", -6.191339471482838),- ("<day-of-month> (ordinal)named-month", -4.319537294581246),- ("tomorrowat <time-of-day>", -5.785874363374673),+ -6.215607598755275),+ ("named-monthintersect", -6.215607598755275),+ ("<day-of-month> (ordinal)named-month", -4.343805421853684),+ ("tomorrowat <time-of-day>", -5.810142490647111), ("<hour-of-day> <integer> (as relative minutes)on <date>",- -6.191339471482838),- ("named-daythis <cycle>", -5.498192290922892),- ("at <time-of-day>tomorrow", -6.191339471482838),+ -6.215607598755275),+ ("named-daythis <cycle>", -5.52246041819533),+ ("at <time-of-day>tomorrow", -6.215607598755275), ("about <time-of-day>in|during the <part-of-day>",- -5.785874363374673),+ -5.810142490647111), ("half <integer> (german style hour-of-day)on <date>",- -6.191339471482838),- ("this <part-of-day>at <time-of-day>", -5.785874363374673),+ -6.215607598755275),+ ("this <part-of-day>at <time-of-day>", -5.810142490647111), ("after lunch<hour-of-day> <integer> (as relative minutes)",- -5.785874363374673),- ("last <cycle> of <time>year", -5.785874363374673),+ -5.810142490647111),+ ("last <cycle> of <time>year", -5.810142490647111), ("<named-month> <day-of-month> (non ordinal)year",- -6.191339471482838),+ -6.215607598755275), ("<day-of-month> (non ordinal) <named-month>year",- -6.191339471482838)],- n = 417},+ -6.215607598755275)],+ n = 426}, koData =- ClassData{prior = -1.581267035467404, unseen = -5.886104031450156,+ ClassData{prior = -1.4591557093847622,+ unseen = -6.0112671744041615, likelihoods = HashMap.fromList- [("intersect by ','named-month", -4.497028027368389),- ("named-day<part-of-day> of <time>", -5.190175207928333),+ [("intersect by ','named-month", -4.622518824322705),+ ("named-day<part-of-day> of <time>", -5.31566600488265), ("absorption of , after named daythe <day-of-month> (non ordinal)",- -5.190175207928333),- ("dayhour", -4.497028027368389),- ("daymonth", -3.3183730310267423),- ("monthday", -4.7847100998201695),- ("monthyear", -5.190175207928333),- ("yearhour", -5.190175207928333),- ("after lunchat <time-of-day>", -4.7847100998201695),- ("intersect by 'of', 'from', 'syear", -4.497028027368389),- ("<time-of-day> am|pmintersect", -3.4854271156899084),- ("intersect<time> <part-of-day>", -5.190175207928333),- ("<time-of-day> o'clockafter lunch", -5.190175207928333),- ("after lunch<time-of-day> o'clock", -5.190175207928333),- ("at <time-of-day>named-day", -5.190175207928333),- ("absorption of , after named dayhh:mm", -5.190175207928333),- ("<time-of-day> am|pmintersect by ','", -3.9374122394329656),+ -5.31566600488265),+ ("<datetime> - <datetime> (interval)year", -5.31566600488265),+ ("dayhour", -4.622518824322705),+ ("daymonth", -3.4438638279810583),+ ("monthday", -4.9102008967744855),+ ("monthyear", -5.31566600488265),+ ("yearhour", -5.31566600488265),+ ("after lunchat <time-of-day>", -4.9102008967744855),+ ("mm/dduntil <time-of-day>", -4.9102008967744855),+ ("until <time-of-day>year", -4.9102008967744855),+ ("intersect by 'of', 'from', 'syear", -4.622518824322705),+ ("<time-of-day> am|pmintersect", -3.6109179126442243),+ ("intersect<time> <part-of-day>", -5.31566600488265),+ ("<time-of-day> o'clockafter lunch", -5.31566600488265),+ ("after lunch<time-of-day> o'clock", -5.31566600488265),+ ("at <time-of-day>named-day", -5.31566600488265),+ ("absorption of , after named dayhh:mm", -5.31566600488265),+ ("<time-of-day> am|pmintersect by ','", -4.062903036387282), ("<time-of-day> o'clock<time> <part-of-day>",- -4.273884476054178),- ("monthhour", -5.190175207928333),+ -4.399375273008495),+ ("mm/ddhh:mm", -4.399375273008495),+ ("monthhour", -5.31566600488265), ("on <date>between <datetime> and <datetime> (interval)",- -5.190175207928333),- ("todayat <time-of-day>", -5.190175207928333),+ -5.31566600488265),+ ("todayat <time-of-day>", -5.31566600488265), ("on <date>between <time-of-day> and <time-of-day> (interval)",- -5.190175207928333),- ("named-dayhh:mm", -5.190175207928333),- ("dayday", -3.803880846808443),+ -5.31566600488265),+ ("named-dayhh:mm", -5.31566600488265),+ ("dayday", -3.9293716437627593), ("<time-of-day> am|pmabsorption of , after named day",- -4.7847100998201695),- ("hourhour", -3.6860978111520595),- ("intersectnamed-month", -3.580737295494233),- ("dayyear", -4.273884476054178),- ("minutemonth", -3.24426505887302),- ("named-monthyear", -5.190175207928333),+ -4.9102008967744855),+ ("hourhour", -3.8115886081063755),+ ("intersectnamed-month", -3.7062280924485496),+ ("dayyear", -3.236224463202814),+ ("minutemonth", -3.369755855827336),+ ("named-monthyear", -5.31566600488265), ("named-day<time-of-day> - <time-of-day> (interval)",- -5.190175207928333),- ("on <date>named-month", -5.190175207928333),+ -5.31566600488265),+ ("on <date>named-month", -5.31566600488265), ("absorption of , after named daynamed-month",- -4.091562919260224),+ -4.21705371621454), ("intersect<day-of-month>(ordinal) <named-month>",- -4.497028027368389),- ("named-dayafter <time-of-day>", -4.7847100998201695),+ -4.622518824322705),+ ("named-dayafter <time-of-day>", -4.9102008967744855), ("named-dayfrom <datetime> - <datetime> (interval)",- -4.7847100998201695),+ -4.9102008967744855), ("<hour-of-day> <integer> (as relative minutes)named-month",- -5.190175207928333),+ -5.31566600488265), ("named-dayfrom <time-of-day> - <time-of-day> (interval)",- -4.497028027368389),- ("<day-of-month> (ordinal)named-day", -4.497028027368389),- ("at <time-of-day>intersect", -4.091562919260224),+ -4.622518824322705),+ ("<day-of-month> (ordinal)named-day", -4.622518824322705),+ ("<day-of-month> (ordinal)hh:mm", -4.399375273008495),+ ("at <time-of-day>intersect", -4.21705371621454), ("on <date>from <time-of-day> - <time-of-day> (interval)",- -4.7847100998201695),- ("dayminute", -2.992950630592114),+ -4.9102008967744855),+ ("dayminute", -2.676608675267391), ("on <date>from <datetime> - <datetime> (interval)",- -5.190175207928333),- ("minuteday", -2.194442934374343),+ -5.31566600488265),+ ("minuteday", -2.3199337313286588), ("named-daybetween <time-of-day> and <time-of-day> (interval)",- -5.190175207928333),- ("at <time-of-day>intersect by ','", -4.497028027368389),- ("<time-of-day> am|pmnamed-day", -4.7847100998201695),+ -5.31566600488265),+ ("at <time-of-day>intersect by ','", -4.622518824322705),+ ("<time-of-day> am|pmnamed-day", -4.9102008967744855), ("named-daybetween <datetime> and <datetime> (interval)",- -5.190175207928333),+ -5.31566600488265), ("at <time-of-day>absorption of , after named day",- -5.190175207928333),+ -5.31566600488265), ("named-month<day-of-month> (non ordinal) <named-month>",- -4.7847100998201695),- ("year<time> <part-of-day>", -5.190175207928333),- ("intersect<day-of-month> (ordinal)", -4.497028027368389),+ -4.9102008967744855),+ ("year<time> <part-of-day>", -5.31566600488265),+ ("mm/ddyear", -3.8115886081063755),+ ("intersect<day-of-month> (ordinal)", -4.622518824322705), ("<day-of-month> (ordinal)intersect by 'of', 'from', 's",- -4.7847100998201695),+ -4.9102008967744855), ("<named-month> <day-of-month> (non ordinal)named-month",- -4.7847100998201695),- ("intersectintersect", -4.497028027368389),- ("<day-of-month> (ordinal)named-month", -4.497028027368389),- ("until <time-of-day>named-month", -5.190175207928333),- ("after <time-of-day>year", -5.190175207928333),- ("on <date>after <time-of-day>", -5.190175207928333),- ("tomorrownoon", -5.190175207928333)],- n = 108}}),+ -4.9102008967744855),+ ("intersectintersect", -4.622518824322705),+ ("<day-of-month> (ordinal)named-month", -4.622518824322705),+ ("until <time-of-day>named-month", -5.31566600488265),+ ("after <time-of-day>year", -5.31566600488265),+ ("on <date>after <time-of-day>", -5.31566600488265),+ ("tomorrownoon", -5.31566600488265)],+ n = 129}}), ("<ordinal> <cycle> of <time>", Classifier{okData = ClassData{prior = 0.0, unseen = -2.4849066497880004,@@ -649,23 +657,32 @@ likelihoods = HashMap.fromList [], n = 0}}), ("from <datetime> - <datetime> (interval)", Classifier{okData =- ClassData{prior = -0.5108256237659907,- unseen = -2.5649493574615367,+ ClassData{prior = -1.2039728043259361, unseen = -3.295836866004329, likelihoods = HashMap.fromList- [("minuteminute", -1.3862943611198906),+ [("minuteminute", -2.159484249353372), ("time-of-day (latent)time-of-day (latent)",- -1.791759469228055),- ("hh:mmhh:mm", -1.3862943611198906),- ("hourhour", -1.791759469228055)],- n = 3},+ -2.5649493574615367),+ ("hh:mmhh:mm", -2.159484249353372),+ ("dayday", -1.8718021769015913),+ ("hourhour", -2.5649493574615367),+ ("mm/ddmm/dd", -1.8718021769015913)],+ n = 6}, koData =- ClassData{prior = -0.916290731874155, unseen = -2.3978952727983707,+ ClassData{prior = -0.35667494393873245,+ unseen = -3.7612001156935624, likelihoods = HashMap.fromList- [("hh:mmtime-of-day (latent)", -1.2039728043259361),- ("minutehour", -1.2039728043259361)],- n = 2}}),+ [("dayhour", -2.3513752571634776),+ ("mm/ddmm/dd/yyyy", -2.3513752571634776),+ ("hh:mmtime-of-day (latent)", -2.639057329615259),+ ("mm/ddhh:mm", -2.3513752571634776),+ ("dayday", -1.791759469228055),+ ("minutehour", -2.639057329615259),+ ("mm/ddintersect", -2.3513752571634776),+ ("dayminute", -2.3513752571634776),+ ("mm/ddtime-of-day (latent)", -2.3513752571634776)],+ n = 14}}), ("after tomorrow", Classifier{okData = ClassData{prior = 0.0, unseen = -1.0986122886681098,@@ -731,11 +748,12 @@ n = 1}}), ("mm/dd/yyyy", Classifier{okData =- ClassData{prior = 0.0, unseen = -1.791759469228055,+ ClassData{prior = -1.252762968495368, unseen = -1.791759469228055, likelihoods = HashMap.fromList [("", 0.0)], n = 4}, koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),+ ClassData{prior = -0.3364722366212129,+ unseen = -2.4849066497880004,+ likelihoods = HashMap.fromList [("", 0.0)], n = 10}}), ("couple", Classifier{okData = ClassData{prior = 0.0, unseen = -1.6094379124341003,@@ -910,9 +928,9 @@ ClassData{prior = -infinity, unseen = -0.6931471805599453, likelihoods = HashMap.fromList [], n = 0}, koData =- ClassData{prior = 0.0, unseen = -2.1972245773362196,+ ClassData{prior = 0.0, unseen = -2.995732273553991, likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 7}}),+ n = 18}}), ("in|during the <part-of-day>", Classifier{okData = ClassData{prior = -6.0624621816434854e-2,@@ -1041,28 +1059,31 @@ n = 2}}), ("time-of-day (latent)", Classifier{okData =- ClassData{prior = -0.6931471805599453, unseen = -4.007333185232471,+ ClassData{prior = -0.7686547330680905, unseen = -4.007333185232471, likelihoods = HashMap.fromList [("integer (numeric)", -0.11778303565638351), ("integer (0..19)", -2.379546134130174)], n = 51}, koData =- ClassData{prior = -0.6931471805599453, unseen = -4.007333185232471,+ ClassData{prior = -0.6229429218866968, unseen = -4.143134726391533, likelihoods = HashMap.fromList- [("integer (numeric)", -0.587786664902119),- ("integer (0..19)", -0.9444616088408514),- ("couple", -2.890371757896165)],- n = 51}}),+ [("integer (numeric)", -0.4895482253187058),+ ("integer (0..19)", -1.0826119473216687),+ ("couple", -3.028522096376982)],+ n = 59}}), ("year", Classifier{okData =- ClassData{prior = 0.0, unseen = -2.9444389791664407,+ ClassData{prior = -8.338160893905101e-2,+ unseen = -3.2188758248682006, likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 17},+ n = 23}, koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),+ ClassData{prior = -2.5257286443082556,+ unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],+ n = 2}}), ("last <day-of-week> of <time>", Classifier{okData = ClassData{prior = 0.0, unseen = -2.3025850929940455,@@ -1198,14 +1219,22 @@ koData = ClassData{prior = -infinity, unseen = -2.3978952727983707, likelihoods = HashMap.fromList [], n = 0}}),+ ("dd.(mm.)? - dd.mm.(yy[yy]?)? (interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.890371757896165,+ likelihoods = HashMap.fromList [("", 0.0)], n = 16},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}), ("hh:mm", Classifier{okData =- ClassData{prior = -0.12136085700426748,- unseen = -3.4965075614664802,- likelihoods = HashMap.fromList [("", 0.0)], n = 31},+ ClassData{prior = -0.6190392084062235,+ unseen = -3.6109179126442243,+ likelihoods = HashMap.fromList [("", 0.0)], n = 35}, koData =- ClassData{prior = -2.169053700369523, unseen = -1.791759469228055,- likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),+ ClassData{prior = -0.7731898882334817,+ unseen = -3.4657359027997265,+ likelihoods = HashMap.fromList [("", 0.0)], n = 30}}), ("quarter after|past <integer> (hour-of-day)", Classifier{okData = ClassData{prior = 0.0, unseen = -2.3025850929940455,@@ -1382,7 +1411,7 @@ likelihoods = HashMap.fromList [], n = 0}}), ("<day-of-month> (ordinal)", Classifier{okData =- ClassData{prior = -0.3513978868378886,+ ClassData{prior = -0.5520685823000397, unseen = -3.0910424533583156, likelihoods = HashMap.fromList@@ -1390,13 +1419,12 @@ ("ordinal (digits)", -0.2113090936672069)], n = 19}, koData =- ClassData{prior = -1.2163953243244932,- unseen = -2.3978952727983707,+ ClassData{prior = -0.8574502318512216, unseen = -2.833213344056216, likelihoods = HashMap.fromList- [("ordinals (first..19th)", -0.35667494393873245),- ("ordinal (digits)", -1.2039728043259361)],- n = 8}}),+ [("ordinals (first..19th)", -0.8266785731844679),+ ("ordinal (digits)", -0.5753641449035618)],+ n = 14}}), ("noon", Classifier{okData = ClassData{prior = -infinity, unseen = -0.6931471805599453,@@ -1406,31 +1434,32 @@ likelihoods = HashMap.fromList [("", 0.0)], n = 2}}), ("until <time-of-day>", Classifier{okData =- ClassData{prior = -0.25131442828090605,- unseen = -4.060443010546419,+ ClassData{prior = -0.5108256237659907, unseen = -4.0943445622221, likelihoods = HashMap.fromList- [("<time> <part-of-day>", -2.097141118779237),- ("<time-of-day> o'clock", -2.2512917986064953),- ("intersect", -3.349904087274605),- ("time-of-day (latent)", -2.097141118779237),- ("<time-of-day> am|pm", -3.349904087274605),- ("EOM|End of month", -3.349904087274605),- ("hour", -0.9985288301111273), ("month", -3.349904087274605),- ("midnight|EOD|end of day", -3.349904087274605)],+ [("<time> <part-of-day>", -2.1316272948504063),+ ("<time-of-day> o'clock", -2.2857779746776643),+ ("intersect", -3.3843902633457743),+ ("time-of-day (latent)", -2.1316272948504063),+ ("<time-of-day> am|pm", -3.3843902633457743),+ ("EOM|End of month", -3.3843902633457743),+ ("hour", -1.0330150061822965), ("month", -3.3843902633457743),+ ("midnight|EOD|end of day", -3.3843902633457743)], n = 21}, koData =- ClassData{prior = -1.5040773967762742, unseen = -3.332204510175204,+ ClassData{prior = -0.916290731874155, unseen = -3.828641396489095, likelihoods = HashMap.fromList- [("intersect", -2.6026896854443837),- ("<day-of-month>(ordinal) <named-month>", -2.6026896854443837),- ("day", -1.6863989535702288), ("hh:mm", -2.1972245773362196),- ("<day-of-month> (ordinal)", -2.6026896854443837),+ [("mm/dd", -2.70805020110221),+ ("intersect", -2.4203681286504293),+ ("mm/dd/yyyy", -2.70805020110221),+ ("<day-of-month>(ordinal) <named-month>", -3.1135153092103742),+ ("day", -1.4087672169719492), ("hh:mm", -2.1972245773362196),+ ("<day-of-month> (ordinal)", -3.1135153092103742), ("<day-of-month> (non ordinal) <named-month>",- -2.6026896854443837),+ -3.1135153092103742), ("minute", -2.1972245773362196)],- n = 6}}),+ n = 14}}), ("<integer> and an half hours", Classifier{okData = ClassData{prior = 0.0, unseen = -1.0986122886681098,@@ -1598,48 +1627,58 @@ likelihoods = HashMap.fromList [], n = 0}}), ("<datetime> - <datetime> (interval)", Classifier{okData =- ClassData{prior = -0.3364722366212129,- unseen = -3.7612001156935624,+ ClassData{prior = -0.9694005571881036, unseen = -4.174387269895637, likelihoods = HashMap.fromList- [("intersecthh:mm", -3.044522437723423),- ("on <date>hh:mm", -3.044522437723423),- ("minuteminute", -1.252762968495368),+ [("intersecthh:mm", -3.4657359027997265),+ ("on <date>hh:mm", -3.4657359027997265),+ ("minuteminute", -1.6739764335716716), ("<day-of-month> (ordinal)<day-of-month> (ordinal)",- -2.639057329615259),- ("hh:mmhh:mm", -1.791759469228055),- ("dayday", -2.128231705849268),+ -3.0602707946915624),+ ("hh:mmhh:mm", -2.2129729343043585),+ ("dayday", -1.6739764335716716), ("<named-month> <day-of-month> (non ordinal)<named-month> <day-of-month> (non ordinal)",- -2.639057329615259),- ("intersect by 'of', 'from', 'shh:mm", -2.3513752571634776)],- n = 15},+ -3.0602707946915624),+ ("intersect by 'of', 'from', 'shh:mm", -2.772588722239781),+ ("mm/ddmm/dd", -2.0794415416798357)],+ n = 22}, koData =- ClassData{prior = -1.252762968495368, unseen = -3.2188758248682006,+ ClassData{prior = -0.4769240720903093, unseen = -4.532599493153256, likelihoods = HashMap.fromList [("<day-of-month> (ordinal)<day-of-month>(ordinal) <named-month>",- -2.0794415416798357),- ("daymonth", -2.0794415416798357),- ("dayday", -1.5686159179138452),- ("<day-of-month> (ordinal)intersect", -2.0794415416798357),+ -3.4231762883809305),+ ("daymonth", -3.4231762883809305),+ ("mm/ddmm/dd/yyyy", -2.575878427993727),+ ("<day-of-month> (ordinal)mm/dd", -2.91235066461494),+ ("mm/ddhh:mm", -2.4423470353692043),+ ("dayday", -1.3437347467010947),+ ("<day-of-month> (ordinal)intersect", -3.1354942159291497),+ ("<day-of-month> (ordinal)hh:mm", -2.91235066461494),+ ("mm/ddintersect", -2.575878427993727),+ ("dayminute", -2.03688192726104),+ ("<day-of-month> (ordinal)mm/dd/yyyy", -3.4231762883809305), ("<named-month> <day-of-month> (non ordinal)named-month",- -2.0794415416798357)],- n = 6}}),+ -3.4231762883809305)],+ n = 36}}), ("<time-of-day> - <time-of-day> (interval)", Classifier{okData =- ClassData{prior = -0.6931471805599453, unseen = -2.833213344056216,+ ClassData{prior = -0.8266785731844679, unseen = -3.044522437723423, likelihoods = HashMap.fromList- [("minuteminute", -0.8266785731844679),- ("hh:mmhh:mm", -0.8266785731844679)],- n = 6},+ [("minuteminute", -0.916290731874155),+ ("hh:mmhh:mm", -0.916290731874155)],+ n = 7}, koData =- ClassData{prior = -0.6931471805599453, unseen = -2.833213344056216,+ ClassData{prior = -0.5753641449035618,+ unseen = -3.2188758248682006, likelihoods = HashMap.fromList- [("hh:mmtime-of-day (latent)", -0.8266785731844679),- ("minutehour", -0.8266785731844679)],- n = 6}}),+ [("hh:mmtime-of-day (latent)", -1.2321436812926323),+ ("hourminute", -1.791759469228055),+ ("minutehour", -1.2321436812926323),+ ("time-of-day (latent)hh:mm", -1.791759469228055)],+ n = 9}}), ("last n <cycle>", Classifier{okData = ClassData{prior = 0.0, unseen = -3.9318256327243257,@@ -1741,11 +1780,12 @@ likelihoods = HashMap.fromList [], n = 0}}), ("ordinal (digits)", Classifier{okData =- ClassData{prior = 0.0, unseen = -2.995732273553991,+ ClassData{prior = -0.2876820724517809, unseen = -2.995732273553991, likelihoods = HashMap.fromList [("", 0.0)], n = 18}, koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),+ ClassData{prior = -1.3862943611198906,+ unseen = -2.0794415416798357,+ likelihoods = HashMap.fromList [("", 0.0)], n = 6}}), ("quarter (grain)", Classifier{okData = ClassData{prior = 0.0, unseen = -1.791759469228055,@@ -1845,7 +1885,7 @@ likelihoods = HashMap.fromList [], n = 0}}), ("<hour-of-day> <integer> (as relative minutes)", Classifier{okData =- ClassData{prior = -0.3364722366212129, unseen = -2.772588722239781,+ ClassData{prior = -0.6931471805599453, unseen = -2.772588722239781, likelihoods = HashMap.fromList [("hour", -0.916290731874155),@@ -1854,13 +1894,13 @@ -1.0986122886681098)], n = 5}, koData =- ClassData{prior = -1.252762968495368, unseen = -2.3025850929940455,+ ClassData{prior = -0.6931471805599453, unseen = -2.772588722239781, likelihoods = HashMap.fromList- [("time-of-day (latent)integer (0..19)", -1.5040773967762742),- ("time-of-day (latent)integer (numeric)", -1.5040773967762742),- ("hour", -1.0986122886681098)],- n = 2}}),+ [("time-of-day (latent)integer (0..19)", -2.0149030205422647),+ ("time-of-day (latent)integer (numeric)", -1.0986122886681098),+ ("hour", -0.916290731874155)],+ n = 5}}), ("this <time>", Classifier{okData = ClassData{prior = 0.0, unseen = -2.639057329615259,
Duckling/Ranking/Classifiers/EN.hs view
@@ -59,11 +59,12 @@ likelihoods = HashMap.fromList [], n = 0}}), ("integer (numeric)", Classifier{okData =- ClassData{prior = -0.8463513387831728, unseen = -5.030437921392435,- likelihoods = HashMap.fromList [("", 0.0)], n = 151},+ ClassData{prior = -0.8649974374866046,+ unseen = -5.0369526024136295,+ likelihoods = HashMap.fromList [("", 0.0)], n = 152}, koData =- ClassData{prior = -0.5603262675390213, unseen = -5.313205979041787,- likelihoods = HashMap.fromList [("", 0.0)], n = 201}}),+ ClassData{prior = -0.5465437063680699, unseen = -5.351858133476067,+ likelihoods = HashMap.fromList [("", 0.0)], n = 209}}), ("<duration> hence|ago", Classifier{okData = ClassData{prior = 0.0, unseen = -3.784189633918261,@@ -136,6 +137,15 @@ koData = ClassData{prior = -infinity, unseen = -0.6931471805599453, likelihoods = HashMap.fromList [], n = 0}}),+ ("mm/yyyy",+ Classifier{okData =+ ClassData{prior = -0.6931471805599453,+ unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1},+ koData =+ ClassData{prior = -0.6931471805599453,+ unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1}}), ("integer after|past <hour-of-day>", Classifier{okData = ClassData{prior = 0.0, unseen = -2.3025850929940455,@@ -224,11 +234,12 @@ likelihoods = HashMap.fromList [], n = 0}}), ("mm/dd", Classifier{okData =- ClassData{prior = -1.4469189829363254, unseen = -1.791759469228055,- likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ ClassData{prior = -1.3862943611198906,+ unseen = -2.0794415416798357,+ likelihoods = HashMap.fromList [("", 0.0)], n = 6}, koData =- ClassData{prior = -0.2682639865946794, unseen = -2.70805020110221,- likelihoods = HashMap.fromList [("", 0.0)], n = 13}}),+ ClassData{prior = -0.2876820724517809, unseen = -2.995732273553991,+ likelihoods = HashMap.fromList [("", 0.0)], n = 18}}), ("at <time-of-day>", Classifier{okData = ClassData{prior = -0.10919929196499197,@@ -319,12 +330,11 @@ n = 4}}), ("integer (0..19)", Classifier{okData =- ClassData{prior = -2.7398974188114388e-2,- unseen = -3.6375861597263857,- likelihoods = HashMap.fromList [("", 0.0)], n = 36},+ ClassData{prior = -2.469261259037152e-2,+ unseen = -3.7376696182833684,+ likelihoods = HashMap.fromList [("", 0.0)], n = 40}, koData =- ClassData{prior = -3.6109179126442243,- unseen = -1.0986122886681098,+ ClassData{prior = -3.713572066704308, unseen = -1.0986122886681098, likelihoods = HashMap.fromList [("", 0.0)], n = 1}}), ("between <time-of-day> and <time-of-day> (interval)", Classifier{okData =@@ -350,10 +360,20 @@ koData = ClassData{prior = -infinity, unseen = -0.6931471805599453, likelihoods = HashMap.fromList [], n = 0}}),+ ("from <month> dd-dd (interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("July", -0.6931471805599453), ("month", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}), ("October", Classifier{okData =- ClassData{prior = 0.0, unseen = -2.5649493574615367,- likelihoods = HashMap.fromList [("", 0.0)], n = 11},+ ClassData{prior = 0.0, unseen = -2.833213344056216,+ likelihoods = HashMap.fromList [("", 0.0)], n = 15}, koData = ClassData{prior = -infinity, unseen = -0.6931471805599453, likelihoods = HashMap.fromList [], n = 0}}),@@ -388,27 +408,27 @@ likelihoods = HashMap.fromList [], n = 0}}), ("in|within|after <duration>", Classifier{okData =- ClassData{prior = -5.129329438755058e-2,- unseen = -4.532599493153256,+ ClassData{prior = -4.652001563489282e-2,+ unseen = -4.61512051684126, likelihoods = HashMap.fromList- [("week", -3.1354942159291497),- ("<integer> more <unit-of-duration>", -3.828641396489095),- ("three-quarters of an hour", -2.91235066461494),- ("<integer> + '\"", -3.1354942159291497),- ("number.number hours", -3.828641396489095),- ("second", -3.4231762883809305), ("day", -3.1354942159291497),- ("half an hour", -2.91235066461494),- ("<integer> <unit-of-duration>", -1.749199854809259),- ("a <unit-of-duration>", -2.91235066461494),- ("quarter of an hour", -2.91235066461494),- ("hour", -2.4423470353692043),- ("about|exactly <duration>", -3.828641396489095),- ("<integer> and an half hour", -3.828641396489095),- ("minute", -1.3437347467010947)],- n = 38},+ [("week", -3.2188758248682006),+ ("<integer> more <unit-of-duration>", -3.912023005428146),+ ("three-quarters of an hour", -2.995732273553991),+ ("<integer> + '\"", -3.2188758248682006),+ ("number.number hours", -3.912023005428146),+ ("second", -3.506557897319982), ("day", -3.2188758248682006),+ ("half an hour", -2.995732273553991),+ ("<integer> <unit-of-duration>", -1.6094379124341003),+ ("a <unit-of-duration>", -2.995732273553991),+ ("quarter of an hour", -2.995732273553991),+ ("hour", -2.5257286443082556),+ ("about|exactly <duration>", -3.912023005428146),+ ("<integer> and an half hour", -3.912023005428146),+ ("minute", -1.2729656758128873)],+ n = 42}, koData =- ClassData{prior = -2.995732273553991, unseen = -3.044522437723423,+ ClassData{prior = -3.0910424533583156, unseen = -3.044522437723423, likelihoods = HashMap.fromList [("quarter", -1.8971199848858813),@@ -461,8 +481,8 @@ likelihoods = HashMap.fromList [], n = 0}}), ("July", Classifier{okData =- ClassData{prior = 0.0, unseen = -2.5649493574615367,- likelihoods = HashMap.fromList [("", 0.0)], n = 11},+ ClassData{prior = 0.0, unseen = -2.70805020110221,+ likelihoods = HashMap.fromList [("", 0.0)], n = 13}, koData = ClassData{prior = -infinity, unseen = -0.6931471805599453, likelihoods = HashMap.fromList [], n = 0}}),@@ -497,219 +517,225 @@ ClassData{prior = -infinity, unseen = -0.6931471805599453, likelihoods = HashMap.fromList [], n = 0}, koData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,+ ClassData{prior = 0.0, unseen = -1.6094379124341003, likelihoods = HashMap.fromList [("integer (numeric)integer (numeric)", 0.0)],- n = 1}}),+ n = 3}}), ("intersect", Classifier{okData =- ClassData{prior = -0.44313061099463913,- unseen = -6.1092475827643655,+ ClassData{prior = -0.4563567154045537, unseen = -6.124683390894205, likelihoods = HashMap.fromList [("<datetime> - <datetime> (interval)on <date>",- -4.497584975308154),+ -4.513054897080286), ("<time-of-day> - <time-of-day> (interval)on <date>",- -4.497584975308154),- ("hourday", -3.709127614943884),- ("dayhour", -3.162583908575814),- ("daymonth", -5.413875707182309),- ("monthday", -5.0084105990741445),- ("monthyear", -3.8044377947482086),- ("Tuesdaythe <day-of-month> (ordinal)", -5.413875707182309),- ("Christmasyear", -5.413875707182309),+ -4.513054897080286),+ ("hourday", -3.724597536716016),+ ("dayhour", -3.1780538303479458),+ ("daymonth", -5.429345628954441),+ ("monthday", -5.0238805208462765),+ ("monthyear", -3.8199077165203406),+ ("Tuesdaythe <day-of-month> (ordinal)", -5.429345628954441),+ ("Christmasyear", -5.429345628954441),+ ("houryear", -5.429345628954441), ("this|next <day-of-week>hh(:mm) - <time-of-day> am|pm",- -5.413875707182309),+ -5.429345628954441), ("<time-of-day> am|pmintersect by \",\", \"of\", \"from\", \"'s\"",- -4.720728526622364),- ("<time-of-day> am|pmintersect", -4.161112738686941),+ -4.736198448394496),+ ("<time-of-day> am|pmintersect", -4.176582660459073), ("intersect by \",\", \"of\", \"from\", \"'s\"year",- -5.413875707182309),- ("Marchyear", -5.413875707182309),+ -5.429345628954441),+ ("Marchyear", -5.429345628954441), ("<named-month>|<named-day> <day-of-month> (ordinal)year",- -5.0084105990741445),- ("intersect<time-of-day> am|pm", -5.413875707182309),- ("Thursdayhh(:mm) - <time-of-day> am|pm", -5.413875707182309),- ("monthhour", -5.0084105990741445),- ("last <day-of-week> of <time>year", -5.413875707182309),- ("todayat <time-of-day>", -5.413875707182309),- ("Thursday<time> timezone", -5.0084105990741445),+ -5.0238805208462765),+ ("intersect<time-of-day> am|pm", -5.429345628954441),+ ("Thursdayhh(:mm) - <time-of-day> am|pm", -5.429345628954441),+ ("monthhour", -5.0238805208462765),+ ("last <day-of-week> of <time>year", -5.429345628954441),+ ("todayat <time-of-day>", -5.429345628954441),+ ("Thursday<time> timezone", -5.0238805208462765), ("this <time>hh(:mm) - <time-of-day> am|pm",- -5.413875707182309),- ("dayday", -3.398972686640044),- ("Thanksgiving Dayyear", -5.0084105990741445),- ("<time> <part-of-day>at <time-of-day>", -5.413875707182309),- ("Tuesdayin <named-month>", -5.413875707182309),- ("mm/ddat <time-of-day>", -5.413875707182309),- ("tonightat <time-of-day>", -5.413875707182309),+ -5.429345628954441),+ ("dayday", -3.414442608412176),+ ("Thanksgiving Dayyear", -5.0238805208462765),+ ("<time> <part-of-day>at <time-of-day>", -5.429345628954441),+ ("Tuesdayin <named-month>", -5.429345628954441),+ ("mm/ddat <time-of-day>", -5.429345628954441),+ ("tonightat <time-of-day>", -5.429345628954441), ("<time-of-day> am|pmabsorption of , after named day",- -4.720728526622364),- ("today<time-of-day> am|pm", -5.413875707182309),- ("Februarythe <day-of-month> (ordinal)", -5.0084105990741445),- ("at <time-of-day><time> <part-of-day>", -5.413875707182309),- ("mm/dd<time-of-day> am|pm", -5.413875707182309),- ("hourhour", -4.161112738686941),- ("<time-of-day> am|pmon <date>", -3.398972686640044),- ("Wednesdaythis|last|next <cycle>", -5.413875707182309),+ -4.736198448394496),+ ("today<time-of-day> am|pm", -5.429345628954441),+ ("Februarythe <day-of-month> (ordinal)", -5.0238805208462765),+ ("at <time-of-day><time> <part-of-day>", -5.429345628954441),+ ("mm/dd<time-of-day> am|pm", -5.429345628954441),+ ("hourhour", -4.176582660459073),+ ("<time-of-day> am|pmon <date>", -3.414442608412176),+ ("Wednesdaythis|last|next <cycle>", -5.429345628954441), ("intersect<named-month> <day-of-month> (non ordinal)",- -3.909798310406035),- ("dayyear", -3.2166511298460896),+ -3.925268232178167),+ ("dayyear", -3.2321210516182215),+ ("last weekend of <named-month>year", -5.429345628954441), ("<time-of-day> o'clockin|during the <part-of-day>",- -5.413875707182309),- ("<time-of-day> am|pmtomorrow", -4.720728526622364),- ("minutehour", -4.497584975308154),- ("Mother's Dayyear", -5.413875707182309),+ -5.429345628954441),+ ("<time-of-day> am|pmtomorrow", -4.736198448394496),+ ("minutehour", -4.513054897080286),+ ("Mother's Dayyear", -5.429345628954441), ("at <time-of-day>in|during the <part-of-day>",- -5.0084105990741445),+ -5.0238805208462765), ("absorption of , after named day<named-month> <day-of-month> (non ordinal)",- -3.709127614943884),- ("tomorrow<time-of-day> sharp|exactly", -5.413875707182309),+ -3.724597536716016),+ ("tomorrow<time-of-day> sharp|exactly", -5.429345628954441), ("Thursdayfrom <datetime> - <datetime> (interval)",- -4.497584975308154),+ -4.513054897080286), ("on <date><named-month> <day-of-month> (non ordinal)",- -5.0084105990741445),+ -5.0238805208462765), ("Thursdayfrom <time-of-day> - <time-of-day> (interval)",- -4.497584975308154),- ("Mondayin|during the <part-of-day>", -5.413875707182309),+ -4.513054897080286),+ ("Mondayin|during the <part-of-day>", -5.429345628954441), ("tomorrowfrom <time-of-day> - <time-of-day> (interval)",- -5.0084105990741445),- ("intersectin|during the <part-of-day>", -5.413875707182309),+ -5.0238805208462765),+ ("intersectin|during the <part-of-day>", -5.429345628954441), ("<day-of-month> (ordinal or number) of <named-month>in|during the <part-of-day>",- -5.413875707182309),+ -5.429345628954441), ("from <time-of-day> - <time-of-day> (interval)on <date>",- -4.720728526622364),+ -4.736198448394496), ("intersect by \",\", \"of\", \"from\", \"'s\"<time-of-day> am|pm",- -4.497584975308154),- ("at <time-of-day>intersect", -5.0084105990741445),+ -4.513054897080286),+ ("at <time-of-day>intersect", -5.0238805208462765), ("<time-of-day> - <time-of-day> (interval)tomorrow",- -5.413875707182309),+ -5.429345628954441), ("at <time-of-day>intersect by \",\", \"of\", \"from\", \"'s\"",- -5.413875707182309),- ("dayminute", -3.1112906141882632),+ -5.429345628954441),+ ("dayminute", -3.126760535960395), ("from <datetime> - <datetime> (interval)on <date>",- -5.0084105990741445),+ -5.0238805208462765), ("<datetime> - <datetime> (interval)tomorrow",- -5.413875707182309),+ -5.429345628954441), ("absorption of , after named dayintersect by \",\", \"of\", \"from\", \"'s\"",- -5.0084105990741445),- ("<ordinal> <cycle> of <time>year", -5.413875707182309),- ("minuteday", -2.0126783255201537),+ -5.0238805208462765),+ ("<ordinal> <cycle> of <time>year", -5.429345628954441),+ ("minuteday", -2.0281482472922856), ("absorption of , after named dayintersect",- -5.413875707182309),- ("Octoberyear", -4.161112738686941),+ -5.429345628954441),+ ("Octoberyear", -4.176582660459073), ("the <day-of-month> (ordinal)in|during the <part-of-day>",- -5.413875707182309),+ -5.429345628954441), ("at <time-of-day>absorption of , after named day",- -5.413875707182309),+ -5.429345628954441), ("<day-of-month> (ordinal or number) <named-month>year",- -5.413875707182309),- ("year<time-of-day> am|pm", -5.413875707182309),- ("Septemberyear", -5.0084105990741445),- ("at <time-of-day>on <date>", -4.315263418514199),+ -5.429345628954441),+ ("year<time-of-day> am|pm", -5.429345628954441),+ ("Septemberyear", -5.0238805208462765),+ ("at <time-of-day>on <date>", -4.330733340286331), ("between <time-of-day> and <time-of-day> (interval)on <date>",- -4.720728526622364),- ("Halloweenyear", -5.413875707182309),- ("dayweek", -5.413875707182309),- ("weekyear", -5.0084105990741445),- ("hh:mmin|during the <part-of-day>", -4.720728526622364),- ("Father's Dayyear", -5.413875707182309),+ -4.736198448394496),+ ("Halloweenyear", -5.429345628954441),+ ("dayweek", -5.429345628954441),+ ("weekyear", -5.0238805208462765),+ ("hh:mmin|during the <part-of-day>", -4.736198448394496),+ ("Father's Dayyear", -5.429345628954441), ("<cycle> after|before <time><time-of-day> am|pm",- -5.0084105990741445),- ("February<time> <part-of-day>", -5.413875707182309),- ("Martin Luther King's Dayyear", -5.0084105990741445),- ("tomorrowat <time-of-day>", -4.720728526622364),- ("between <time> and <time>on <date>", -4.720728526622364),- ("at <time-of-day>tomorrow", -5.0084105990741445),- ("tomorrow<time-of-day> am|pm", -5.413875707182309),+ -5.0238805208462765),+ ("February<time> <part-of-day>", -5.429345628954441),+ ("Martin Luther King's Dayyear", -5.0238805208462765),+ ("tomorrowat <time-of-day>", -4.736198448394496),+ ("between <time> and <time>on <date>", -4.736198448394496),+ ("at <time-of-day>tomorrow", -5.0238805208462765),+ ("tomorrow<time-of-day> am|pm", -5.429345628954441), ("in|during the <part-of-day>at <time-of-day>",- -5.413875707182309),- ("Labor Dayyear", -5.413875707182309),- ("Februaryintersect", -5.413875707182309),- ("last <cycle> of <time>year", -4.720728526622364),+ -5.429345628954441),+ ("Labor Dayyear", -5.429345628954441),+ ("Februaryintersect", -5.429345628954441),+ ("last <cycle> of <time>year", -4.736198448394496), ("<named-month> <day-of-month> (non ordinal)year",- -5.413875707182309),- ("yearminute", -5.413875707182309)],- n = 165},+ -5.429345628954441),+ ("yearminute", -5.429345628954441)],+ n = 166}, koData =- ClassData{prior = -1.0272875078461794, unseen = -5.717027701406222,+ ClassData{prior = -1.0039963122932607, unseen = -5.75890177387728, likelihoods = HashMap.fromList- [("in <named-month>year", -5.020585624949423),+ [("in <named-month>year", -5.062595033026967), ("<time-of-day> - <time-of-day> (interval)on <date>",- -5.020585624949423),- ("hourday", -5.020585624949423),+ -5.062595033026967),+ ("hourday", -5.062595033026967), ("<named-month> <day-of-month> (non ordinal)July",- -5.020585624949423),- ("dayhour", -3.228826155721369),- ("daymonth", -3.005682604407159),- ("monthday", -4.61512051684126),- ("monthyear", -4.61512051684126),- ("intersecthh:mm", -5.020585624949423),- ("until <time-of-day><time-of-day> am|pm", -5.020585624949423),+ -5.062595033026967),+ ("dayhour", -3.270835563798912),+ ("daymonth", -3.047692012484702),+ ("monthday", -4.657129924918802),+ ("monthyear", -4.3694478524670215),+ ("intersecthh:mm", -5.062595033026967),+ ("houryear", -5.062595033026967),+ ("until <time-of-day><time-of-day> am|pm", -5.062595033026967), ("<time-of-day> am|pmintersect by \",\", \"of\", \"from\", \"'s\"",- -4.327438444389479),- ("<time-of-day> am|pmintersect", -3.767822656454056),+ -4.3694478524670215),+ ("<time-of-day> am|pmintersect", -3.809832064531599), ("intersect by \",\", \"of\", \"from\", \"'s\"year",- -4.327438444389479),- ("Tuesdayafter <time-of-day>", -5.020585624949423),+ -4.146304301152812),+ ("Tuesdayafter <time-of-day>", -5.062595033026967), ("July<day-of-month> (ordinal or number) <named-month>",- -5.020585624949423),- ("absorption of , after named dayJuly", -4.61512051684126),- ("monthhour", -4.61512051684126),- ("todayat <time-of-day>", -5.020585624949423),- ("dayday", -5.020585624949423),- ("mm/ddat <time-of-day>", -4.61512051684126),- ("<time-of-day> am|pmon <date>", -3.767822656454056),- ("dayyear", -4.104294893075269),- ("Thursdayat <time-of-day>", -5.020585624949423),- ("August<time-of-day> am|pm", -5.020585624949423),- ("monthminute", -5.020585624949423),- ("<time-of-day> am|pmtomorrow", -5.020585624949423),- ("Thursdayhh:mm", -5.020585624949423),+ -5.062595033026967),+ ("absorption of , after named dayJuly", -4.657129924918802),+ ("monthhour", -4.657129924918802),+ ("hourmonth", -5.062595033026967),+ ("todayat <time-of-day>", -5.062595033026967),+ ("dayday", -4.657129924918802),+ ("mm/ddat <time-of-day>", -4.657129924918802),+ ("<time-of-day> am|pmon <date>", -3.809832064531599),+ ("dayyear", -4.146304301152812),+ ("Thursdaymm/dd", -5.062595033026967),+ ("Thursdayat <time-of-day>", -5.062595033026967),+ ("August<time-of-day> am|pm", -5.062595033026967),+ ("monthminute", -5.062595033026967),+ ("<time-of-day> am|pmtomorrow", -5.062595033026967),+ ("Thursdayhh:mm", -5.062595033026967), ("August<day-of-month> (ordinal or number) <named-month>",- -5.020585624949423),- ("minutemonth", -3.5165082281731497),+ -5.062595033026967),+ ("minutemonth", -3.5585176362506927), ("Thursdayfrom <datetime> - <datetime> (interval)",- -4.61512051684126),+ -4.657129924918802), ("Thursdayfrom <time-of-day> - <time-of-day> (interval)",- -4.61512051684126),- ("Aprilyear", -5.020585624949423),+ -4.657129924918802),+ ("Aprilyear", -5.062595033026967), ("mm/dd<time-of-day> - <time-of-day> (interval)",- -4.61512051684126),+ -4.657129924918802), ("tomorrowfrom <time-of-day> - <time-of-day> (interval)",- -5.020585624949423),- ("yesterday<time-of-day> am|pm", -5.020585624949423),+ -5.062595033026967),+ ("yesterday<time-of-day> am|pm", -5.062595033026967), ("intersect by \",\", \"of\", \"from\", \"'s\"hh:mm",- -4.104294893075269),+ -4.146304301152812), ("<named-month> <day-of-month> (non ordinal)August",- -5.020585624949423),- ("until <time-of-day>on <date>", -4.327438444389479),- ("at <time-of-day>intersect", -4.61512051684126),+ -5.062595033026967),+ ("until <time-of-day>on <date>", -4.3694478524670215),+ ("at <time-of-day>intersect", -4.657129924918802), ("at <time-of-day>intersect by \",\", \"of\", \"from\", \"'s\"",- -5.020585624949423),- ("dayminute", -3.0746754758941104),- ("intersectSeptember", -3.5165082281731497),+ -5.062595033026967),+ ("dayminute", -3.1166848839716534),+ ("intersectSeptember", -3.5585176362506927), ("absorption of , after named dayintersect by \",\", \"of\", \"from\", \"'s\"",- -5.020585624949423),- ("minuteday", -2.217225244042889),+ -5.062595033026967),+ ("minuteday", -2.259234652120432), ("absorption of , after named dayintersect",- -5.020585624949423),- ("Februaryin|during the <part-of-day>", -5.020585624949423),- ("yearhh:mm", -5.020585624949423),- ("hh:mmon <date>", -3.5165082281731497),+ -5.062595033026967),+ ("Februaryin|during the <part-of-day>", -5.062595033026967),+ ("week-endin <named-month>", -5.062595033026967),+ ("Octoberyear", -5.062595033026967),+ ("yearhh:mm", -5.062595033026967),+ ("hh:mmon <date>", -3.5585176362506927), ("absorption of , after named daySeptember",- -4.104294893075269),- ("on <date>September", -4.61512051684126),- ("at <time-of-day>on <date>", -4.61512051684126),- ("absorption of , after named dayFebruary", -4.104294893075269),+ -4.146304301152812),+ ("on <date>September", -4.657129924918802),+ ("at <time-of-day>on <date>", -4.657129924918802),+ ("absorption of , after named dayFebruary", -4.146304301152812), ("July<integer> to|till|before <hour-of-day>",- -5.020585624949423),- ("tomorrowat <time-of-day>", -5.020585624949423),- ("tomorrow<time-of-day> am|pm", -5.020585624949423),- ("after <time-of-day><time-of-day> am|pm", -5.020585624949423),- ("after <time-of-day>year", -5.020585624949423),- ("yearminute", -5.020585624949423)],- n = 92}}),+ -5.062595033026967),+ ("tomorrowat <time-of-day>", -5.062595033026967),+ ("tomorrow<time-of-day> am|pm", -5.062595033026967),+ ("after <time-of-day><time-of-day> am|pm", -5.062595033026967),+ ("after <time-of-day>year", -5.062595033026967),+ ("yearminute", -5.062595033026967)],+ n = 96}}), ("after lunch/work/school", Classifier{okData = ClassData{prior = 0.0, unseen = -1.3862943611198906,@@ -726,15 +752,14 @@ likelihoods = HashMap.fromList [], n = 0}}), ("in <number> (implicit minutes)", Classifier{okData =- ClassData{prior = -1.3217558399823195,- unseen = -2.3978952727983707,+ ClassData{prior = -1.041453874828161, unseen = -2.70805020110221, likelihoods = HashMap.fromList- [("integer (numeric)", -0.2231435513142097),- ("integer (0..19)", -1.6094379124341003)],- n = 8},+ [("integer (numeric)", -0.5596157879354228),+ ("integer (0..19)", -0.8472978603872037)],+ n = 12}, koData =- ClassData{prior = -0.3101549283038396,+ ClassData{prior = -0.4353180712578455, unseen = -3.2188758248682006, likelihoods = HashMap.fromList@@ -769,32 +794,33 @@ likelihoods = HashMap.fromList [], n = 0}}), ("from <datetime> - <datetime> (interval)", Classifier{okData =- ClassData{prior = -0.8472978603872037,- unseen = -3.1354942159291497,+ ClassData{prior = -0.916290731874155, unseen = -3.2188758248682006, likelihoods = HashMap.fromList- [("minuteminute", -1.4816045409242156),- ("hh:mmhh:mm", -1.4816045409242156),+ [("minuteminute", -1.5686159179138452),+ ("hh:mmhh:mm", -1.5686159179138452), ("<time-of-day> am|pmtime-of-day (latent)",- -2.3978952727983707),- ("hourhour", -1.9924301646902063),+ -2.4849066497880004),+ ("hourhour", -2.0794415416798357), ("<time-of-day> am|pm<time-of-day> am|pm",- -2.3978952727983707)],+ -2.4849066497880004)], n = 6}, koData =- ClassData{prior = -0.5596157879354228, unseen = -3.295836866004329,+ ClassData{prior = -0.5108256237659907,+ unseen = -3.4339872044851463, likelihoods = HashMap.fromList- [("hh:mmtime-of-day (latent)", -1.6486586255873816),- ("minuteminute", -2.159484249353372),- ("time-of-day (latent)time-of-day (latent)",- -2.5649493574615367),- ("hourhour", -2.159484249353372),- ("minutehour", -1.6486586255873816),- ("hh:mmintersect", -2.159484249353372),- ("time-of-day (latent)<time-of-day> am|pm",- -2.5649493574615367)],- n = 8}}),+ [("dayhour", -2.70805020110221),+ ("hh:mmtime-of-day (latent)", -1.791759469228055),+ ("minuteminute", -2.3025850929940455),+ ("time-of-day (latent)time-of-day (latent)", -2.70805020110221),+ ("hourhour", -2.3025850929940455),+ ("minutehour", -1.791759469228055),+ ("hh:mmintersect", -2.3025850929940455),+ ("time-of-day (latent)<time-of-day> am|pm", -2.70805020110221),+ ("<named-month> <day-of-month> (non ordinal)time-of-day (latent)",+ -2.70805020110221)],+ n = 9}}), ("Saturday", Classifier{okData = ClassData{prior = 0.0, unseen = -2.0794415416798357,@@ -1003,13 +1029,13 @@ likelihoods = HashMap.fromList [], n = 0}}), ("week (grain)", Classifier{okData =- ClassData{prior = -2.7398974188114388e-2,+ ClassData{prior = -8.004270767353637e-2, unseen = -3.6375861597263857, likelihoods = HashMap.fromList [("", 0.0)], n = 36}, koData =- ClassData{prior = -3.6109179126442243,- unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),+ ClassData{prior = -2.5649493574615367,+ unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3}}), ("<part-of-day> of <time>", Classifier{okData = ClassData{prior = 0.0, unseen = -2.3978952727983707,@@ -1119,7 +1145,7 @@ likelihoods = HashMap.fromList [], n = 0}}), ("this|last|next <cycle>", Classifier{okData =- ClassData{prior = -0.11122563511022437,+ ClassData{prior = -0.16251892949777494, unseen = -4.3694478524670215, likelihoods = HashMap.fromList@@ -1132,15 +1158,15 @@ ("quarter (grain)", -2.7472709142554916)], n = 34}, koData =- ClassData{prior = -2.2512917986064953,- unseen = -2.9444389791664407,+ ClassData{prior = -1.8971199848858813,+ unseen = -3.1354942159291497, likelihoods = HashMap.fromList- [("week", -1.791759469228055),- ("week (grain)", -1.791759469228055),- ("day", -1.791759469228055),- ("day (grain)", -1.791759469228055)],- n = 4}}),+ [("week", -1.4816045409242156),+ ("week (grain)", -1.4816045409242156),+ ("day", -1.9924301646902063),+ ("day (grain)", -1.9924301646902063)],+ n = 6}}), ("Mother's Day", Classifier{okData = ClassData{prior = 0.0, unseen = -1.791759469228055,@@ -1204,6 +1230,17 @@ likelihoods = HashMap.fromList [("ordinal (digits)", -0.2876820724517809)], n = 2}}),+ ("last weekend of <named-month>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.639057329615259,+ likelihoods =+ HashMap.fromList+ [("October", -0.9555114450274363), ("July", -1.8718021769015913),+ ("month", -0.7731898882334817)],+ n = 5},+ koData =+ ClassData{prior = -infinity, unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [], n = 0}}), ("the <day-of-month> (number)", Classifier{okData = ClassData{prior = 0.0, unseen = -1.0986122886681098,@@ -1217,8 +1254,8 @@ ClassData{prior = -infinity, unseen = -0.6931471805599453, likelihoods = HashMap.fromList [], n = 0}, koData =- ClassData{prior = 0.0, unseen = -2.890371757896165,- likelihoods = HashMap.fromList [("", 0.0)], n = 16}}),+ ClassData{prior = 0.0, unseen = -2.9444389791664407,+ likelihoods = HashMap.fromList [("", 0.0)], n = 17}}), ("Sunday", Classifier{okData = ClassData{prior = 0.0, unseen = -2.3025850929940455,@@ -1235,8 +1272,8 @@ likelihoods = HashMap.fromList [], n = 0}}), ("minute (grain)", Classifier{okData =- ClassData{prior = 0.0, unseen = -2.5649493574615367,- likelihoods = HashMap.fromList [("", 0.0)], n = 11},+ ClassData{prior = 0.0, unseen = -2.833213344056216,+ likelihoods = HashMap.fromList [("", 0.0)], n = 15}, koData = ClassData{prior = -infinity, unseen = -0.6931471805599453, likelihoods = HashMap.fromList [], n = 0}}),@@ -1259,30 +1296,28 @@ n = 1}}), ("time-of-day (latent)", Classifier{okData =- ClassData{prior = -0.6330432564902398, unseen = -4.143134726391533,+ ClassData{prior = -0.5108256237659907, unseen = -4.143134726391533, likelihoods = HashMap.fromList [("integer (numeric)", -0.10178269430994236), ("integer (0..19)", -2.3353749158170367)], n = 60}, koData =- ClassData{prior = -0.7570959051602187, unseen = -4.02535169073515,+ ClassData{prior = -0.916290731874155, unseen = -3.7612001156935624, likelihoods =- HashMap.fromList- [("integer (numeric)", -0.15718558352241238),- ("integer (0..19)", -1.927891643552635)],- n = 53}}),+ HashMap.fromList [("integer (numeric)", -2.409755157906053e-2)],+ n = 40}}), ("year", Classifier{okData =- ClassData{prior = -0.2231435513142097,- unseen = -3.4011973816621555,+ ClassData{prior = -0.24362208265775043,+ unseen = -3.4339872044851463, likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 28},+ n = 29}, koData =- ClassData{prior = -1.6094379124341003,- unseen = -2.1972245773362196,+ ClassData{prior = -1.5314763709643884,+ unseen = -2.3025850929940455, likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 7}}),+ n = 8}}), ("last <day-of-week> of <time>", Classifier{okData = ClassData{prior = 0.0, unseen = -2.3978952727983707,@@ -1298,28 +1333,28 @@ likelihoods = HashMap.fromList [], n = 0}}), ("<integer> <unit-of-duration>", Classifier{okData =- ClassData{prior = -0.8209805520698302, unseen = -4.499809670330265,+ ClassData{prior = -0.758529939822797, unseen = -4.584967478670572, likelihoods = HashMap.fromList- [("week", -2.2914117923959205),- ("integer (0..19)year (grain)", -3.1023420086122493),- ("integer (numeric)day (grain)", -2.5427262206768266),- ("integer (0..19)second (grain) ", -3.7954891891721947),- ("integer (0..19)hour (grain)", -2.6968769005040847),- ("second", -3.7954891891721947),- ("integer (numeric)year (grain)", -3.7954891891721947),- ("day", -2.5427262206768266), ("year", -2.8791984572980396),- ("integer (numeric)week (grain)", -2.8791984572980396),- ("integer (0..19)month (grain)", -3.39002408106403),- ("hour", -2.409194828052304), ("month", -3.39002408106403),- ("integer (numeric)minute (grain)", -2.8791984572980396),- ("integer (0..19)minute (grain)", -3.7954891891721947),- ("minute", -2.6968769005040847),- ("integer (numeric)hour (grain)", -3.39002408106403),- ("integer (0..19)week (grain)", -2.8791984572980396)],- n = 33},+ [("week", -2.3774864011671633),+ ("integer (0..19)year (grain)", -3.188416617383492),+ ("integer (numeric)day (grain)", -2.62880082944807),+ ("integer (0..19)second (grain) ", -3.8815637979434374),+ ("integer (0..19)hour (grain)", -2.782951509275328),+ ("second", -3.8815637979434374),+ ("integer (numeric)year (grain)", -3.8815637979434374),+ ("day", -2.62880082944807), ("year", -2.9652730660692823),+ ("integer (numeric)week (grain)", -2.9652730660692823),+ ("integer (0..19)month (grain)", -3.4760986898352733),+ ("hour", -2.495269436823547), ("month", -3.4760986898352733),+ ("integer (numeric)minute (grain)", -2.9652730660692823),+ ("integer (0..19)minute (grain)", -2.782951509275328),+ ("minute", -2.2721258855093374),+ ("integer (numeric)hour (grain)", -3.4760986898352733),+ ("integer (0..19)week (grain)", -2.9652730660692823)],+ n = 37}, koData =- ClassData{prior = -0.579818495252942, unseen = -4.68213122712422,+ ClassData{prior = -0.6317782341836533, unseen = -4.68213122712422, likelihoods = HashMap.fromList [("week", -2.8810693652338513),@@ -1480,134 +1515,137 @@ likelihoods = HashMap.fromList [], n = 0}}), ("about|exactly <time-of-day>", Classifier{okData =- ClassData{prior = -0.11778303565638351,- unseen = -3.332204510175204,+ ClassData{prior = -0.2231435513142097, unseen = -3.367295829986474, likelihoods = HashMap.fromList- [("week", -2.6026896854443837),- ("hh(:mm) - <time-of-day> am|pm", -2.6026896854443837),- ("this|last|next <cycle>", -2.6026896854443837),- ("day", -2.1972245773362196),- ("time-of-day (latent)", -2.6026896854443837),- ("hhmm (latent)", -2.1972245773362196),- ("<time-of-day> am|pm", -2.6026896854443837),- ("hour", -1.9095425048844386),- ("next <time>", -2.6026896854443837),- ("this|next <day-of-week>", -2.6026896854443837),- ("minute", -2.1972245773362196)],+ [("week", -2.639057329615259),+ ("hh(:mm) - <time-of-day> am|pm", -2.639057329615259),+ ("this|last|next <cycle>", -2.639057329615259),+ ("day", -2.2335922215070942),+ ("time-of-day (latent)", -2.639057329615259),+ ("hhmm (latent)", -2.2335922215070942),+ ("<time-of-day> am|pm", -2.639057329615259),+ ("hour", -1.9459101490553135),+ ("next <time>", -2.639057329615259),+ ("this|next <day-of-week>", -2.639057329615259),+ ("minute", -2.2335922215070942)], n = 8}, koData =- ClassData{prior = -2.1972245773362196, unseen = -2.639057329615259,+ ClassData{prior = -1.6094379124341003, unseen = -2.833213344056216, likelihoods = HashMap.fromList- [("time-of-day (latent)", -1.8718021769015913),- ("hour", -1.8718021769015913)],- n = 1}}),+ [("mm/dd", -2.0794415416798357), ("day", -2.0794415416798357),+ ("time-of-day (latent)", -2.0794415416798357),+ ("hour", -2.0794415416798357)],+ n = 2}}), ("intersect by \",\", \"of\", \"from\", \"'s\"", Classifier{okData =- ClassData{prior = -0.41773520069997866,- unseen = -5.1298987149230735,+ ClassData{prior = -0.4769240720903093, unseen = -5.147494476813453, likelihoods = HashMap.fromList [("Wednesday<named-month> <day-of-month> (non ordinal)",- -4.430816798843313),- ("dayhour", -3.1780538303479458),- ("daymonth", -3.1780538303479458),+ -4.448516375942715),+ ("dayhour", -3.1957534074473464),+ ("daymonth", -3.1957534074473464), ("<named-month> <day-of-month> (non ordinal)Friday",- -4.430816798843313),+ -4.448516375942715), ("Friday<named-month> <day-of-month> (non ordinal)",- -3.7376696182833684),- ("Wednesdayintersect", -4.430816798843313),- ("Labor Daythis|last|next <cycle>", -4.430816798843313),+ -3.7553691953827695),+ ("Wednesdayintersect", -4.448516375942715),+ ("Labor Daythis|last|next <cycle>", -4.448516375942715), ("intersect by \",\", \"of\", \"from\", \"'s\"year",- -4.430816798843313),- ("<part-of-day> of <time>February", -4.430816798843313),- ("Saturday<time-of-day> am|pm", -4.430816798843313),+ -4.448516375942715),+ ("<part-of-day> of <time>February", -4.448516375942715),+ ("Saturday<time-of-day> am|pm", -4.448516375942715), ("Martin Luther King's Daythis|last|next <cycle>",- -4.430816798843313),- ("on <date><time-of-day> am|pm", -4.430816798843313),- ("hourmonth", -4.430816798843313),+ -4.448516375942715),+ ("on <date><time-of-day> am|pm", -4.448516375942715),+ ("hourmonth", -4.448516375942715), ("intersect by \",\", \"of\", \"from\", \"'s\"intersect",- -4.430816798843313),- ("dayday", -2.559014621941722),- ("the <day-of-month> (ordinal)February", -4.02535169073515),- ("WednesdayOctober", -4.430816798843313),- ("Wednesdaythis|last|next <cycle>", -4.02535169073515),+ -4.448516375942715),+ ("dayday", -2.576714199041123),+ ("the <day-of-month> (ordinal)February", -4.04305126783455),+ ("WednesdayOctober", -4.448516375942715),+ ("Wednesdaythis|last|next <cycle>", -4.04305126783455), ("intersect<named-month> <day-of-month> (non ordinal)",- -3.5145260669691587),- ("dayyear", -2.9267394020670396),+ -3.5322256440685593),+ ("dayyear", -2.9444389791664407), ("Saturday<named-month> <day-of-month> (non ordinal)",- -4.430816798843313),+ -4.448516375942715), ("<named-month> <day-of-month> (non ordinal)intersect",- -4.430816798843313),- ("Thursdayhh:mm", -4.02535169073515),- ("Thanksgiving Daythis|last|next <cycle>", -4.430816798843313),- ("Memorial Daythis|last|next <cycle>", -4.430816798843313),+ -4.448516375942715),+ ("Thursdayhh:mm", -4.04305126783455),+ ("Thanksgiving Daythis|last|next <cycle>", -4.448516375942715),+ ("Memorial Daythis|last|next <cycle>", -4.448516375942715), ("on <date><named-month> <day-of-month> (non ordinal)",- -4.02535169073515),- ("TuesdayOctober", -4.430816798843313),- ("the <day-of-month> (ordinal)March", -4.430816798843313),- ("Mondaythis|last|next <cycle>", -4.430816798843313),+ -4.04305126783455),+ ("TuesdayOctober", -4.448516375942715),+ ("the <day-of-month> (ordinal)March", -4.448516375942715),+ ("Mondaythis|last|next <cycle>", -4.448516375942715), ("Fridayintersect by \",\", \"of\", \"from\", \"'s\"",- -4.02535169073515),- ("Fridayintersect", -4.430816798843313),+ -4.04305126783455),+ ("Fridayintersect", -4.448516375942715), ("Thursday<datetime> - <datetime> (interval)",- -3.7376696182833684),+ -3.7553691953827695), ("Thursday<time-of-day> - <time-of-day> (interval)",- -3.5145260669691587),- ("Tuesdaythis|last|next <cycle>", -4.430816798843313),+ -3.5322256440685593),+ ("Tuesdaythis|last|next <cycle>", -4.448516375942715), ("Sunday<named-month> <day-of-month> (non ordinal)",- -4.430816798843313),- ("dayminute", -2.639057329615259),- ("intersectyear", -4.430816798843313),- ("minuteday", -3.5145260669691587),- ("this|last|next <cycle>Sunday", -4.430816798843313),- ("Sundaythis|last|next <cycle>", -4.430816798843313),- ("intersectintersect", -4.430816798843313),- ("weekday", -4.430816798843313),- ("dayweek", -3.332204510175204),- ("Thursday<time-of-day> am|pm", -4.430816798843313),+ -4.448516375942715),+ ("dayminute", -2.6567569067146595),+ ("intersectyear", -4.448516375942715),+ ("minuteday", -3.5322256440685593),+ ("this|last|next <cycle>Sunday", -4.448516375942715),+ ("Sundaythis|last|next <cycle>", -4.448516375942715),+ ("intersectintersect", -4.448516375942715),+ ("weekday", -4.448516375942715),+ ("dayweek", -3.349904087274605),+ ("Thursday<time-of-day> am|pm", -4.448516375942715), ("Monday<named-month> <day-of-month> (non ordinal)",- -4.02535169073515),+ -4.04305126783455), ("<named-month> <day-of-month> (non ordinal)year",- -4.02535169073515)],+ -4.04305126783455)], n = 54}, koData =- ClassData{prior = -1.074514737089049, unseen = -4.762173934797756,+ ClassData{prior = -0.9694005571881036, unseen = -4.867534450455582, likelihoods = HashMap.fromList- [("daymonth", -1.8632184332102),- ("TuesdaySeptember", -4.060443010546419),- ("Wednesdayintersect", -4.060443010546419),+ [("week-endJuly", -4.1666652238017265),+ ("week-endOctober", -3.4735180432417816),+ ("daymonth", -1.9694406464655074),+ ("TuesdaySeptember", -4.1666652238017265),+ ("Wednesdayintersect", -4.1666652238017265),+ ("hourmonth", -3.068052935133617), ("intersect by \",\", \"of\", \"from\", \"'s\"intersect",- -4.060443010546419),- ("SundayFebruary", -4.060443010546419),- ("WednesdayOctober", -4.060443010546419),- ("FridayJuly", -3.654977902438255),+ -4.1666652238017265),+ ("SundayFebruary", -4.1666652238017265),+ ("WednesdayOctober", -4.1666652238017265),+ ("week-endintersect", -4.1666652238017265),+ ("FridayJuly", -3.7612001156935624), ("<named-month> <day-of-month> (non ordinal)intersect",- -4.060443010546419),- ("FridaySeptember", -4.060443010546419),- ("WednesdayFebruary", -4.060443010546419),- ("minutemonth", -3.144152278672264),- ("SundayMarch", -4.060443010546419),+ -4.1666652238017265),+ ("FridaySeptember", -4.1666652238017265),+ ("WednesdayFebruary", -4.1666652238017265),+ ("minutemonth", -3.250374491927572),+ ("SundayMarch", -4.1666652238017265), ("Fridayintersect by \",\", \"of\", \"from\", \"'s\"",- -4.060443010546419),- ("MondayFebruary", -3.654977902438255),- ("Fridayintersect", -4.060443010546419),+ -4.1666652238017265),+ ("MondayFebruary", -3.7612001156935624),+ ("Fridayintersect", -4.1666652238017265), ("Thursday<time-of-day> - <time-of-day> (interval)",- -3.654977902438255),- ("dayminute", -2.6741486494265287),- ("SaturdaySeptember", -4.060443010546419),- ("intersectSeptember", -3.144152278672264),- ("MondayMarch", -4.060443010546419),- ("on <date>September", -3.654977902438255),- ("intersectintersect", -4.060443010546419),- ("Tuesdayintersect", -4.060443010546419),- ("Sundayintersect", -4.060443010546419)],- n = 28}}),+ -3.7612001156935624),+ ("dayminute", -2.780370862681836),+ ("SaturdaySeptember", -4.1666652238017265),+ ("intersectSeptember", -3.250374491927572),+ ("MondayMarch", -4.1666652238017265),+ ("on <date>September", -3.7612001156935624),+ ("intersectintersect", -4.1666652238017265),+ ("Tuesdayintersect", -4.1666652238017265),+ ("Sundayintersect", -4.1666652238017265)],+ n = 33}}), ("last <time>", Classifier{okData =- ClassData{prior = -1.2729656758128873, unseen = -3.295836866004329,+ ClassData{prior = -1.0986122886681098, unseen = -3.295836866004329, likelihoods = HashMap.fromList [("Father's Day", -2.5649493574615367),@@ -1619,16 +1657,18 @@ ("week-end", -2.5649493574615367)], n = 7}, koData =- ClassData{prior = -0.3285040669720361, unseen = -3.891820298110627,+ ClassData{prior = -0.40546510810816444,+ unseen = -3.713572066704308, likelihoods = HashMap.fromList- [("Monday", -3.1780538303479458), ("day", -2.2617630984737906),- ("Sunday", -3.1780538303479458),- ("time-of-day (latent)", -1.1631508098056809),+ [("intersect", -2.995732273553991),+ ("Monday", -2.995732273553991), ("day", -2.0794415416798357),+ ("Sunday", -2.995732273553991), ("intersect by \",\", \"of\", \"from\", \"'s\"",- -2.772588722239781),- ("hour", -1.1631508098056809)],- n = 18}}),+ -1.742969305058623),+ ("hour", -1.2909841813155656),+ ("week-end", -1.8971199848858813)],+ n = 14}}), ("March", Classifier{okData = ClassData{prior = 0.0, unseen = -2.9444389791664407,@@ -1771,9 +1811,9 @@ ClassData{prior = -infinity, unseen = -0.6931471805599453, likelihoods = HashMap.fromList [], n = 0}, koData =- ClassData{prior = 0.0, unseen = -2.995732273553991,+ ClassData{prior = 0.0, unseen = -3.1354942159291497, likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 18}}),+ n = 21}}), ("about|exactly <duration>", Classifier{okData = ClassData{prior = 0.0, unseen = -1.6094379124341003,@@ -1886,7 +1926,7 @@ likelihoods = HashMap.fromList [], n = 0}}), ("in <named-month>", Classifier{okData =- ClassData{prior = -0.40546510810816444,+ ClassData{prior = -0.6931471805599453, unseen = -2.0794415416798357, likelihoods = HashMap.fromList@@ -1894,11 +1934,13 @@ ("month", -0.8472978603872037)], n = 2}, koData =- ClassData{prior = -1.0986122886681098, unseen = -1.791759469228055,+ ClassData{prior = -0.6931471805599453,+ unseen = -2.0794415416798357, likelihoods = HashMap.fromList- [("October", -0.916290731874155), ("month", -0.916290731874155)],- n = 1}}),+ [("October", -0.8472978603872037),+ ("month", -0.8472978603872037)],+ n = 2}}), ("<time-of-day> - <time-of-day> (interval)", Classifier{okData = ClassData{prior = -0.8873031950009028,@@ -1950,7 +1992,7 @@ n = 1}}), ("<named-month> <day-of-month> (non ordinal)", Classifier{okData =- ClassData{prior = -0.25131442828090605,+ ClassData{prior = -0.2876820724517809, unseen = -3.9318256327243257, likelihoods = HashMap.fromList@@ -1964,14 +2006,15 @@ ("Julyinteger (numeric)", -2.120263536200091)], n = 21}, koData =- ClassData{prior = -1.5040773967762742, unseen = -3.044522437723423,+ ClassData{prior = -1.3862943611198906,+ unseen = -3.1354942159291497, likelihoods = HashMap.fromList- [("Marchinteger (numeric)", -2.3025850929940455),- ("Aprilinteger (numeric)", -2.3025850929940455),- ("month", -1.0498221244986778),- ("Julyinteger (numeric)", -1.3862943611198906)],- n = 6}}),+ [("Marchinteger (numeric)", -2.3978952727983707),+ ("Aprilinteger (numeric)", -2.3978952727983707),+ ("month", -1.0116009116784799),+ ("Julyinteger (numeric)", -1.2992829841302609)],+ n = 7}}), ("this|next <day-of-week>", Classifier{okData = ClassData{prior = 0.0, unseen = -2.995732273553991,@@ -2043,13 +2086,13 @@ likelihoods = HashMap.fromList [("", 0.0)], n = 1}}), ("week-end", Classifier{okData =- ClassData{prior = -0.6931471805599453,+ ClassData{prior = -1.5040773967762742, unseen = -1.3862943611198906, likelihoods = HashMap.fromList [("", 0.0)], n = 2}, koData =- ClassData{prior = -0.6931471805599453,- unseen = -1.3862943611198906,- likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),+ ClassData{prior = -0.25131442828090605,+ unseen = -2.1972245773362196,+ likelihoods = HashMap.fromList [("", 0.0)], n = 7}}), ("after <time-of-day>", Classifier{okData = ClassData{prior = -1.6094379124341003,@@ -2099,11 +2142,11 @@ n = 6}}), ("<month> dd-dd (interval)", Classifier{okData =- ClassData{prior = 0.0, unseen = -2.3978952727983707,+ ClassData{prior = 0.0, unseen = -2.5649493574615367, likelihoods = HashMap.fromList [("July", -0.6931471805599453), ("month", -0.6931471805599453)],- n = 4},+ n = 5}, koData = ClassData{prior = -infinity, unseen = -1.0986122886681098, likelihoods = HashMap.fromList [], n = 0}}),@@ -2118,26 +2161,25 @@ likelihoods = HashMap.fromList [("", 0.0)], n = 1}}), ("this <time>", Classifier{okData =- ClassData{prior = -8.701137698962981e-2,- unseen = -3.4965075614664802,+ ClassData{prior = -0.10536051565782628,+ unseen = -3.332204510175204, likelihoods = HashMap.fromList- [("Thursday", -2.772588722239781),- ("Martin Luther King's Day", -2.772588722239781),- ("intersect", -2.772588722239781),- ("Monday", -2.772588722239781), ("day", -1.3862943611198906),- ("Thanksgiving Day", -2.772588722239781),- ("hour", -1.8562979903656263), ("seasons", -2.0794415416798357),- ("week-end", -2.772588722239781),- ("part of days", -2.367123614131617)],- n = 11},+ [("Thursday", -2.6026896854443837),+ ("Martin Luther King's Day", -2.6026896854443837),+ ("intersect", -2.6026896854443837),+ ("Monday", -2.6026896854443837), ("day", -1.2163953243244932),+ ("Thanksgiving Day", -2.6026896854443837),+ ("hour", -2.1972245773362196), ("seasons", -1.9095425048844386),+ ("week-end", -2.6026896854443837)],+ n = 9}, koData =- ClassData{prior = -2.4849066497880004,- unseen = -2.5649493574615367,+ ClassData{prior = -2.3025850929940455,+ unseen = -2.4849066497880004, likelihoods = HashMap.fromList- [("hour", -1.791759469228055),- ("part of days", -1.791759469228055)],+ [("intersect", -1.7047480922384253),+ ("day", -1.7047480922384253)], n = 1}}), ("August", Classifier{okData =
Duckling/Ranking/Classifiers/FR.hs view
@@ -63,2287 +63,2493 @@ n = 2}}), ("du|dans le <part-of-day>", Classifier{okData =- ClassData{prior = -0.2657031657330056, unseen = -4.07753744390572,- likelihoods =- HashMap.fromList- [("soir", -2.114532861491106),- ("fin de journ\233e", -3.367295829986474),- ("fin de matin\233e", -3.367295829986474),- ("d\233but de soir\233e", -3.367295829986474),- ("d\233but de matin\233e", -3.367295829986474),- ("apr\232s-midi", -2.9618307218783095),- ("d\233but de journ\233e", -3.367295829986474),- ("matin", -2.114532861491106), ("hour", -0.8823891801984737),- ("fin de soir\233e", -3.367295829986474),- ("fin d'apr\232s-midi", -2.9618307218783095),- ("d\233but d'apr\232s-midi", -3.367295829986474)],- n = 23},- koData =- ClassData{prior = -1.455287232606842, unseen = -3.295836866004329,- likelihoods =- HashMap.fromList- [("soir", -2.5649493574615367), ("matin", -1.3121863889661687),- ("hour", -1.1786549963416462)],- n = 7}}),- ("dans <duration>",- Classifier{okData =- ClassData{prior = -8.338160893905101e-2,- unseen = -4.04305126783455,- likelihoods =- HashMap.fromList- [("week", -2.639057329615259),- ("<integer> + '\"", -2.9267394020670396),- ("second", -2.639057329615259), ("day", -2.9267394020670396),- ("year", -2.639057329615259),- ("<integer> <unit-of-duration>", -1.1921383466789333),- ("une <unit-of-duration>", -2.2335922215070942),- ("hour", -2.4159137783010487), ("month", -3.332204510175204),- ("minute", -1.9459101490553135)],- n = 23},- koData =- ClassData{prior = -2.5257286443082556, unseen = -2.70805020110221,- likelihoods =- HashMap.fromList- [("week", -1.9459101490553135), ("day", -1.9459101490553135),- ("une <unit-of-duration>", -1.540445040947149)],- n = 2}}),- ("<time> timezone",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.3025850929940455,- likelihoods =- HashMap.fromList- [("\224|vers <time-of-day>", -1.5040773967762742),- ("hour", -0.8109302162163288),- ("<time-of-day> heures", -1.0986122886681098)],- n = 3},- koData =- ClassData{prior = -infinity, unseen = -1.3862943611198906,- likelihoods = HashMap.fromList [], n = 0}}),- ("n <cycle> apr\232s",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.9459101490553135,- likelihoods =- HashMap.fromList- [("number (0..16)jour (grain)", -0.6931471805599453),- ("day", -0.6931471805599453)],- n = 2},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("integer (numeric)",- Classifier{okData =- ClassData{prior = -0.500101660403015, unseen = -5.424950017481403,- likelihoods = HashMap.fromList [("", 0.0)], n = 225},- koData =- ClassData{prior = -0.9325954408990987, unseen = -4.997212273764115,- likelihoods = HashMap.fromList [("", 0.0)], n = 146}}),- ("<named-month>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("apr\232s le travail",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("n prochains <cycle>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -3.5553480614894135,- likelihoods =- HashMap.fromList- [("week", -2.833213344056216),- ("number (0..16)seconde (grain)", -2.833213344056216),- ("second", -2.4277482359480516),- ("integer (numeric)ann\233e (grain)", -2.833213344056216),- ("integer (numeric)seconde (grain)", -2.833213344056216),- ("number (0..16)minute (grain)", -2.833213344056216),- ("integer (numeric)jour (grain)", -2.833213344056216),- ("day", -2.833213344056216), ("year", -2.833213344056216),- ("hour", -2.833213344056216), ("month", -2.833213344056216),- ("integer (numeric)minute (grain)", -2.833213344056216),- ("integer (numeric)mois (grain)", -2.833213344056216),- ("minute", -2.4277482359480516),- ("integer (numeric)semaine (grain)", -2.833213344056216),- ("integer (numeric)heure (grain)", -2.833213344056216)],- n = 9},- koData =- ClassData{prior = -infinity, unseen = -2.833213344056216,- likelihoods = HashMap.fromList [], n = 0}}),- ("<day-of-week> <day-of-month> \224 <time-of-day>)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -3.58351893845611,- likelihoods =- HashMap.fromList- [("dayhour", -0.7827593392496325),- ("named-dayinteger (numeric)\224|vers <time-of-day>",- -1.6094379124341003),- ("named-daynumber (0..16)<time-of-day> heures",- -2.456735772821304),- ("named-dayinteger (numeric)<time-of-day> heures",- -2.169053700369523),- ("named-daynumber (0..16)\224|vers <time-of-day>",- -1.9459101490553135)],- n = 15},- koData =- ClassData{prior = -infinity, unseen = -1.791759469228055,- likelihoods = HashMap.fromList [], n = 0}}),- ("apr\232s le d\233jeuner",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("<named-day> en quinze",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.70805020110221,- likelihoods =- HashMap.fromList- [("day", -0.6931471805599453),- ("named-day", -0.6931471805599453)],- n = 6},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("entre <datetime> et <datetime> (interval)",- Classifier{okData =- ClassData{prior = -0.25131442828090605,- unseen = -4.127134385045092,- likelihoods =- HashMap.fromList- [("le <time>le <day-of-month> (non ordinal)",- -3.417726683613366),- ("le <time>le <time>", -3.012261575505202),- ("dayday", -1.7129785913749407),- ("hourhour", -3.417726683613366),- ("le <time>intersect", -3.417726683613366),- ("miditime-of-day (latent)", -3.417726683613366),- ("intersectle <day-of-month> (non ordinal)",- -3.417726683613366),- ("minutehour", -1.7129785913749407),- ("hh(:|h)mm (time-of-day)time-of-day (latent)",- -3.012261575505202),- ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",- -2.7245795030534206),- ("le <day-of-month> (non ordinal)le <day-of-month> (non ordinal)",- -3.012261575505202),- ("hh(:|h)mm (time-of-day)<time-of-day> heures",- -2.7245795030534206),- ("intersectintersect", -3.417726683613366),- ("intersectle <time>", -3.012261575505202),- ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",- -3.012261575505202)],- n = 21},- koData =- ClassData{prior = -1.5040773967762742,- unseen = -3.4657359027997265,- likelihoods =- HashMap.fromList- [("<hour-of-day> <integer> (as relative minutes)intersect",- -2.740840023925201),- ("dayday", -2.3353749158170367),- ("le <day-of-month> (non ordinal)intersect",- -2.740840023925201),- ("minutehour", -1.824549292051046),- ("hh(:|h)mm (time-of-day)time-of-day (latent)",- -2.740840023925201),- ("le <day-of-month> (non ordinal)le <time>",- -2.740840023925201),- ("hh(:|h)mm (time-of-day)intersect", -2.740840023925201),- ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",- -2.740840023925201)],- n = 6}}),- ("soir",- Classifier{okData =- ClassData{prior = -8.701137698962981e-2,- unseen = -2.5649493574615367,- likelihoods = HashMap.fromList [("", 0.0)], n = 11},- koData =- ClassData{prior = -2.4849066497880004,- unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),- ("ann\233e (grain)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.3978952727983707,- likelihoods = HashMap.fromList [("", 0.0)], n = 9},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("d\233but de semaine",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("<hour-of-day> moins <integer> (as relative minutes)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("midinumber (0..16)", -0.6931471805599453),- ("hour", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("<named-month|named-day> suivant|d'apr\232s",- Classifier{okData =- ClassData{prior = -0.10178269430994236,- unseen = -4.174387269895637,- likelihoods =- HashMap.fromList- [("intersect", -2.5494451709255714),- ("en semaine", -1.9616585060234524),- ("intersect by 'de' or ','", -2.5494451709255714),- ("day", -0.7915872533731978),- ("named-day", -2.5494451709255714),- ("le <time>", -1.9616585060234524)],- n = 28},- koData =- ClassData{prior = -2.3353749158170367, unseen = -2.70805020110221,- likelihoods =- HashMap.fromList- [("en semaine", -1.9459101490553135),- ("day", -1.540445040947149), ("hour", -1.9459101490553135),- ("<time-of-day> heures", -1.9459101490553135),- ("le <time>", -1.9459101490553135)],- n = 3}}),- ("seconde (grain)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.9459101490553135,- likelihoods = HashMap.fromList [("", 0.0)], n = 5},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("<hour-of-day> et|pass\233 de <number>",- Classifier{okData =- ClassData{prior = -0.13353139262452263,- unseen = -3.0910424533583156,- likelihoods =- HashMap.fromList- [("\224|vers <time-of-day>number (20..60)", -2.3513752571634776),- ("<time-of-day> heuresinteger (numeric)", -2.3513752571634776),- ("\224|vers <time-of-day>number (0..16)", -2.3513752571634776),- ("hour", -0.9650808960435872),- ("<time-of-day> heuresnumber (20..60)", -1.9459101490553135),- ("<time-of-day> heuresnumber (0..16)", -1.9459101490553135)],- n = 7},- koData =- ClassData{prior = -2.0794415416798357,- unseen = -2.3025850929940455,- likelihoods =- HashMap.fromList- [("midiinteger (numeric)", -1.5040773967762742),- ("hour", -1.5040773967762742)],- n = 1}}),- ("<hour-of-day> moins quart",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("midi", -0.6931471805599453), ("hour", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("de <time-of-day> - <time-of-day> (interval)",- Classifier{okData =- ClassData{prior = -0.587786664902119, unseen = -3.8066624897703196,- likelihoods =- HashMap.fromList- [("hh(:|h)mm (time-of-day)<hour-of-day> <integer> (as relative minutes)",- -2.6855773452501515),- ("minuteminute", -1.5869650565820417),- ("time-of-day (latent)time-of-day (latent)",- -3.0910424533583156),- ("<time-of-day> heures<time-of-day> heures",- -3.0910424533583156),- ("hh(:|h)mm (time-of-day)hh(:|h)mm (time-of-day)",- -2.6855773452501515),- ("hourhour", -2.3978952727983707),- ("minutehour", -2.174751721484161),- ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",- -2.3978952727983707),- ("<hour-of-day> <integer> (as relative minutes)hh(:|h)mm (time-of-day)",- -2.6855773452501515),- ("hh(:|h)mm (time-of-day)<time-of-day> heures",- -3.0910424533583156),- ("<hour-of-day> <integer> (as relative minutes)<hour-of-day> <integer> (as relative minutes)",- -2.6855773452501515),- ("<time-of-day> heurestime-of-day (latent)",- -3.0910424533583156)],- n = 15},- koData =- ClassData{prior = -0.8109302162163288,- unseen = -3.6635616461296463,- likelihoods =- HashMap.fromList- [("minutehour", -1.072636802264849),- ("hh(:|h)mm (time-of-day)time-of-day (latent)",- -2.2512917986064953),- ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",- -2.538973871058276),- ("hh(:|h)mm (time-of-day)<time-of-day> heures",- -2.538973871058276),- ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",- -1.845826690498331)],- n = 12}}),- ("<datetime>-dd <month>(interval)",- Classifier{okData =- ClassData{prior = -1.466337068793427, unseen = -2.772588722239781,- likelihoods =- HashMap.fromList- [("daymonth", -1.3217558399823195),- ("<day-of-month> <named-month>named-month",- -1.6094379124341003),- ("day of month (premier)named-month", -2.0149030205422647)],- n = 3},- koData =- ClassData{prior = -0.262364264467491, unseen = -3.4011973816621555,- likelihoods =- HashMap.fromList- [("hourmonth", -1.7578579175523736),- ("named-monthnamed-month", -2.268683541318364),- ("monthmonth", -2.268683541318364),- ("year (latent)named-month", -1.7578579175523736),- ("yearmonth", -1.7578579175523736),- ("time-of-day (latent)named-month", -1.7578579175523736)],- n = 10}}),- ("semaine (grain)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -3.6635616461296463,- likelihoods = HashMap.fromList [("", 0.0)], n = 37},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("<integer> + '\"",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.3862943611198906,- likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 2},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("demain",- Classifier{okData =- ClassData{prior = -0.45198512374305727,- unseen = -2.1972245773362196,- likelihoods = HashMap.fromList [("", 0.0)], n = 7},- koData =- ClassData{prior = -1.0116009116784799, unseen = -1.791759469228055,- likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),- ("mois (grain)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.3978952727983707,- likelihoods = HashMap.fromList [("", 0.0)], n = 9},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("intersect by 'mais/par exemple/plut\244t'",- Classifier{okData =- ClassData{prior = 0.0, unseen = -3.8066624897703196,- likelihoods =- HashMap.fromList- [("dayhour", -2.3978952727983707),- ("named-dayentre <time-of-day> et <time-of-day> (interval)",- -1.5869650565820417),- ("le <day-of-month> (non ordinal)<time-of-day> heures",- -3.0910424533583156),- ("le <day-of-month> (non ordinal)\224|vers <time-of-day>",- -2.6855773452501515),- ("dayminute", -0.9509762898620451),- ("named-dayentre <datetime> et <datetime> (interval)",- -1.5869650565820417)],- n = 19},- koData =- ClassData{prior = -infinity, unseen = -1.9459101490553135,- likelihoods = HashMap.fromList [], n = 0}}),- ("de <datetime> - <datetime> (interval)",- Classifier{okData =- ClassData{prior = -1.410986973710262, unseen = -4.143134726391533,- likelihoods =- HashMap.fromList- [("day of month (premier)<day-of-week> <day-of-month>",- -3.4339872044851463),- ("hh(:|h)mm (time-of-day)<hour-of-day> <integer> (as relative minutes)",- -3.4339872044851463),- ("minuteminute", -2.517696472610991),- ("hh(:|h)mm (time-of-day)hh(:|h)mm (time-of-day)",- -3.4339872044851463),- ("dayday", -2.517696472610991),- ("<day-of-month> <named-month>day of month (premier)",- -3.4339872044851463),- ("minutehour", -3.028522096376982),- ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",- -3.4339872044851463),- ("<hour-of-day> <integer> (as relative minutes)hh(:|h)mm (time-of-day)",- -3.4339872044851463),- ("hh(:|h)mm (time-of-day)<time-of-day> heures",- -3.4339872044851463),- ("<hour-of-day> <integer> (as relative minutes)<hour-of-day> <integer> (as relative minutes)",- -3.4339872044851463),- ("<day-of-month> <named-month>intersect", -3.4339872044851463),- ("intersect<day-of-week> <day-of-month>", -3.4339872044851463)],- n = 10},- koData =- ClassData{prior = -0.27958486221916157,- unseen = -4.653960350157523,- likelihoods =- HashMap.fromList- [("<hour-of-day> <integer> (as relative minutes)intersect",- -3.951243718581427),- ("<day-of-month> <named-month>time-of-day (latent)",- -3.951243718581427),- ("hourday", -3.0349529867072724),- ("dayhour", -3.951243718581427),- ("yearhour", -3.951243718581427),- ("intersectnamed-day", -3.951243718581427),- ("time-of-day (latent)year (latent)", -3.951243718581427),- ("houryear", -3.951243718581427),- ("day of month (premier)named-day", -3.951243718581427),- ("time-of-day (latent)intersect", -3.545778610473263),- ("year (latent)intersect", -3.545778610473263),- ("yearyear", -3.951243718581427),- ("time-of-day (latent)time-of-day (latent)",- -3.951243718581427),- ("dayday", -2.2464956263430023),- ("year (latent)year (latent)", -3.951243718581427),- ("<day-of-week> <day-of-month><day-of-week> <day-of-month>",- -3.951243718581427),- ("hourhour", -3.951243718581427),- ("time-of-day (latent)<day-of-week> <day-of-month>",- -3.951243718581427),- ("minutehour", -2.4471663218051534),- ("hh(:|h)mm (time-of-day)time-of-day (latent)",- -3.545778610473263),- ("year (latent)<day-of-week> <day-of-month>",- -3.951243718581427),- ("year (latent)time-of-day (latent)", -3.951243718581427),- ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",- -3.951243718581427),- ("year (latent)named-day", -3.951243718581427),- ("time-of-day (latent)named-day", -3.951243718581427),- ("day of month (premier)intersect", -3.545778610473263),- ("hh(:|h)mm (time-of-day)<time-of-day> heures",- -3.951243718581427),- ("intersectintersect", -3.545778610473263),- ("hh(:|h)mm (time-of-day)intersect", -3.951243718581427),- ("yearday", -3.0349529867072724),- ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",- -3.545778610473263),- ("<day-of-week> <day-of-month>named-day", -3.951243718581427),- ("<day-of-week> <day-of-month>intersect", -3.545778610473263)],- n = 31}}),- ("<ordinal> <cycle> de <time>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.890371757896165,- likelihoods =- HashMap.fromList- [("daymonth", -1.7346010553881064),- ("ordinals (premier..seizieme)semaine (grain)named-month",- -1.7346010553881064),- ("ordinal (digits)jour (grain)named-month",- -1.7346010553881064),- ("weekmonth", -1.2237754316221157),- ("ordinals (premier..seizieme)semaine (grain)intersect",- -1.7346010553881064)],- n = 6},- koData =- ClassData{prior = -infinity, unseen = -1.791759469228055,- likelihoods = HashMap.fromList [], n = 0}}),- ("premi\232re quinzaine de <named-month>(interval)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("n <cycle> suivants",- Classifier{okData =- ClassData{prior = -0.6931471805599453,- unseen = -2.3978952727983707,- likelihoods =- HashMap.fromList- [("hour", -1.6094379124341003), ("month", -1.6094379124341003),- ("integer (numeric)mois (grain)", -1.6094379124341003),- ("integer (numeric)heure (grain)", -1.6094379124341003)],- n = 2},- koData =- ClassData{prior = -0.6931471805599453,- unseen = -2.3978952727983707,- likelihoods =- HashMap.fromList- [("number (0..16)jour (grain)", -1.2039728043259361),- ("day", -1.2039728043259361)],- n = 2}}),- ("intersect",- Classifier{okData =- ClassData{prior = -0.2911008792005665,- unseen = -6.9440872082295275,- likelihoods =- HashMap.fromList- [("apr\232s <time-of-day>named-month", -5.844510134151319),- ("<day-of-month> <named-month><dim time> <part-of-day>",- -5.844510134151319),- ("intersect<dim time> du matin", -5.844510134151319),- ("<hour-of-day> <integer> (as relative minutes)intersect",- -5.844510134151319),- ("hh(:|h)mm (time-of-day)named-day", -5.844510134151319),- ("demain<time-of-day> heures", -5.844510134151319),- ("hourday", -4.640537329825383),- ("<day-of-month> <named-month>year", -5.556828061699537),- ("dayhour", -1.6960983506589422),- ("daymonth", -3.0719214119115374),- ("monthyear", -4.745897845483209),- ("dernier <cycle> de <time> (latent)year", -5.333684510385328),- ("named-month<dim time> du matin", -5.844510134151319),- ("<day-of-month> <named-month>\224|vers <time-of-day>",- -4.109909078763212),- ("dd mmyear", -4.997212273764115),- ("le <day-of-month> (non ordinal)<dim time> du matin",- -5.844510134151319),- ("hh(:|h)mm (time-of-day)<day-of-week> <day-of-month>",- -6.249975242259483),- ("named-month\224|vers <time-of-day>", -4.997212273764115),- ("named-dayday of month (premier)", -5.556828061699537),- ("<time-of-day> heuresdu|dans le <part-of-day>",- -4.745897845483209),- ("<hour-of-day> et quart<dim time> <part-of-day>",- -5.556828061699537),- ("<day-of-week> <day-of-month>named-month", -5.556828061699537),- ("le <time>du|dans le <part-of-day>", -5.333684510385328),- ("\224|vers <time-of-day>ce <part-of-day>", -5.556828061699537),- ("le <day-of-month> (non ordinal)<dim time> du soir",- -4.997212273764115),- ("entre <datetime> et <datetime> (interval)named-day",- -5.844510134151319),- ("<hour-of-day> et demice <part-of-day>", -5.556828061699537),- ("le <day-of-month> (non ordinal)<time-of-day> heures",- -4.640537329825383),- ("<hour-of-day> <integer> (as relative minutes)<day-of-week> <day-of-month>",- -6.249975242259483),- ("le <day-of-month> (non ordinal)named-month",- -4.2350722217172185),- ("monthhour", -4.1705337005796475),- ("le <time><time-of-day> heures", -5.151362953591374),- ("hourmonth", -5.333684510385328),- ("<time-of-day> heuresle <time>", -5.333684510385328),- ("dayday", -3.898599985096005),- ("aujourd'hui<hour-of-day> <integer> (as relative minutes)",- -5.556828061699537),- ("apr\232s <time-of-day>named-day", -5.844510134151319),- ("named-dayle <cycle> prochain|suivant|d'apr\232s",- -4.863680881139593),- ("named-dayapr\232s <time-of-day>", -5.556828061699537),- ("hourhour", -3.2295503561151206),- ("<day-of-week> <day-of-month>\224|vers <time-of-day>",- -4.5452271500210575),- ("le <time>intersect", -5.556828061699537),- ("\224|vers <time-of-day><dim time> <part-of-day>",- -6.249975242259483),- ("<time-of-day> heuresintersect", -5.844510134151319),- ("intersectnamed-month", -4.997212273764115),- ("intersect<time-of-day> heures", -5.556828061699537),- ("<hour-of-day> et quartce <part-of-day>", -5.556828061699537),- ("dayyear", -3.8520799694611125),- ("named-dayce|dans le <cycle>", -5.556828061699537),- ("apr\232s-demain\224|vers <time-of-day>", -5.333684510385328),- ("le <ordinal> <cycle> de <time>year", -6.249975242259483),- ("demain\224|vers <time-of-day>", -5.333684510385328),- ("le <day-of-month> (non ordinal)intersect",- -3.6472855568150995),- ("hourminute", -6.249975242259483),- ("dd-dd <month>(interval)year", -6.249975242259483),- ("intersect<day-of-month> <named-month>", -5.844510134151319),- ("minutemonth", -5.844510134151319),- ("\224|vers <time-of-day>demain", -6.249975242259483),- ("minutehour", -4.378173065357892),- ("named-daydu|dans le <part-of-day>", -5.556828061699537),- ("named-monthyear", -4.745897845483209),- ("entre <datetime> et <datetime> (interval)named-month",- -6.249975242259483),- ("intersectdu|dans le <part-of-day>", -3.898599985096005),- ("le <day-of-month> \224 <datetime>du|dans le <part-of-day>",- -5.844510134151319),- ("named-month<dim time> <part-of-day>", -5.844510134151319),- ("le <day-of-month> (non ordinal)apr\232s <time-of-day>",- -6.249975242259483),- ("named-day<day-of-month> <named-month>", -5.556828061699537),- ("named-dayle <time>", -4.109909078763212),- ("le <day-of-month> (non ordinal)<dim time> <part-of-day>",- -4.5452271500210575),- ("dd/-mm<time-of-day> heures", -5.844510134151319),- ("de <datetime> - <datetime> (interval)named-month",- -5.844510134151319),- ("apr\232s <time-of-day>le <time>", -5.844510134151319),- ("named-day<time-of-day> heures", -5.556828061699537),- ("<hour-of-day> et quartdemain", -5.556828061699537),- ("<time-of-day> heuresce <time>", -6.249975242259483),- ("<day-of-month> <named-month>du|dans le <part-of-day>",- -5.844510134151319),- ("named-dayintersect", -6.249975242259483),- ("le <time><dim time> du matin", -5.844510134151319),- ("apr\232s <time-of-day>intersect", -6.249975242259483),- ("le <day-of-month> (non ordinal)\224|vers <time-of-day>",- -4.304065093204169),- ("hierdu|dans le <part-of-day>", -6.249975242259483),- ("intersect<dim time> <part-of-day>", -5.844510134151319),- ("dayminute", -4.745897845483209),- ("<ordinal> <cycle> de <time>year", -5.844510134151319),- ("le <time>\224|vers <time-of-day>", -4.5452271500210575),- ("<day-of-month> <named-month><dim time> du matin",- -5.844510134151319),- ("intersectyear", -5.556828061699537),- ("<day-of-week> <day-of-month><time-of-day> heures",- -5.151362953591374),- ("minuteday", -3.279560776689782),- ("<datetime> - <datetime> (interval)named-month",- -4.997212273764115),- ("<day-of-month> <named-month><time-of-day> heures",- -4.745897845483209),- ("aujourd'hui\224|vers <time-of-day>", -5.333684510385328),- ("day of month (premier)intersect", -6.249975242259483),- ("entre <time-of-day> et <time-of-day> (interval)named-day",- -5.844510134151319),- ("named-day<named-month|named-day> suivant|d'apr\232s",- -5.333684510385328),- ("<dim time> <part-of-day>apr\232s <time-of-day>",- -6.249975242259483),- ("named-month<time-of-day> heures", -5.556828061699537),- ("<time-of-day> heuresce <part-of-day>", -5.556828061699537),- ("le <time>named-month", -5.151362953591374),- ("apr\232s le <day-of-month>named-month", -6.249975242259483),- ("\224|vers <time-of-day>du|dans le <part-of-day>",- -5.151362953591374),- ("intersectintersect", -5.844510134151319),- ("de <time-of-day> - <time-of-day> (interval)named-day",- -5.333684510385328),- ("de <datetime> - <datetime> (interval)named-day",- -5.844510134151319),- ("named-dayde <time-of-day> - <time-of-day> (interval)",- -5.844510134151319),- ("dayweek", -4.052750664923264),- ("weekyear", -4.863680881139593),- ("<hour-of-day> <integer> (as relative minutes)named-day",- -5.844510134151319),- ("hh(:|h)mm (time-of-day)intersect", -5.844510134151319),- ("named-monthintersect", -5.844510134151319),- ("dd/-mm\224|vers <time-of-day>", -5.333684510385328),- ("day of month (premier)named-month", -4.5452271500210575),- ("named-day\224|vers <time-of-day>", -4.863680881139593),- ("<day-of-month> <named-month>intersect", -5.844510134151319),- ("intersect\224|vers <time-of-day>", -4.997212273764115),- ("le <time>year", -4.745897845483209),- ("le <time><dim time> <part-of-day>", -5.844510134151319),- ("<time-of-day> - <time-of-day> (interval)named-day",- -4.997212273764115),- ("apr\232s-demain<time-of-day> heures", -5.844510134151319),- ("<datetime> - <datetime> (interval)named-day",- -5.333684510385328)],- n = 438},- koData =- ClassData{prior = -1.3761075158128977, unseen = -6.124683390894205,- likelihoods =- HashMap.fromList- [("<hour-of-day> <integer> (as relative minutes)intersect",- -5.429345628954441),- ("hh(:|h)mm (time-of-day)named-day", -5.429345628954441),- ("year<time-of-day> - <time-of-day> (interval)",- -4.736198448394496),- ("demain<time-of-day> heures", -4.736198448394496),- ("hourday", -3.2321210516182215),- ("<day-of-month> <named-month>year", -5.429345628954441),- ("demainavant <time-of-day>", -5.429345628954441),- ("dayhour", -2.4336133554004498),- ("le lendemain du <time>named-month", -5.429345628954441),- ("daymonth", -3.8199077165203406),- ("monthday", -5.429345628954441),- ("monthyear", -4.736198448394496),- ("yearhour", -4.736198448394496),- ("houryear", -5.0238805208462765),- ("aujourd'hui<time-of-day> heures", -5.429345628954441),- ("named-month\224|vers <time-of-day>", -3.724597536716016),- ("<time-of-day> heuresdu|dans le <part-of-day>",- -4.736198448394496),- ("<day-of-week> <day-of-month>named-month", -4.04305126783455),- ("le <time>du|dans le <part-of-day>", -5.0238805208462765),- ("le <day-of-month> (non ordinal)<hour-of-day> <integer> (as relative minutes)",- -4.736198448394496),- ("named-month<day-of-month> <named-month>", -5.429345628954441),- ("<time-of-day> heuresle <day-of-month> (non ordinal)",- -5.0238805208462765),- ("le <day-of-month> (non ordinal)<time-of-day> heures",- -5.429345628954441),- ("aujourd'huidu|dans le <part-of-day>", -5.0238805208462765),- ("le <day-of-month> (non ordinal)named-month",- -5.429345628954441),- ("monthhour", -3.2321210516182215),- ("hourmonth", -4.176582660459073),- ("dayday", -3.6375861597263857),- ("named-dayapr\232s <time-of-day>", -5.0238805208462765),- ("hourhour", -3.8199077165203406),- ("named-day<hour-of-day> <integer> (as relative minutes)",- -5.0238805208462765),- ("dayyear", -4.176582660459073),- ("le <cycle> de <time>named-month", -5.0238805208462765),- ("year<hour-of-day> <integer> (as relative minutes)",- -4.736198448394496),- ("demain\224|vers <time-of-day>", -4.513054897080286),- ("<dim time> <part-of-day><hour-of-day> <integer> (as relative minutes)",- -5.0238805208462765),- ("hourminute", -5.0238805208462765),- ("minutemonth", -4.736198448394496),- ("named-monthyear", -4.736198448394496),- ("intersect by 'de' or ','year", -5.0238805208462765),- ("named-day<time-of-day> - <time-of-day> (interval)",- -3.724597536716016),- ("named-day<datetime> - <datetime> (interval)",- -5.0238805208462765),- ("named-day<day-of-month> <named-month>", -4.04305126783455),- ("weekmonth", -5.0238805208462765),- ("named-dayle <time>", -5.0238805208462765),- ("avant <time-of-day>named-day", -5.429345628954441),- ("de <datetime> - <datetime> (interval)named-month",- -5.429345628954441),- ("le <day-of-month> (non ordinal)year", -5.0238805208462765),- ("named-day<time-of-day> heures", -5.429345628954441),- ("<time-of-day> heuresnamed-day", -3.925268232178167),- ("apr\232s <time-of-day><time-of-day> heures",- -5.0238805208462765),- ("<time-of-day> heuresdd/-mm", -5.429345628954441),- ("<time-of-day> - <time-of-day> (interval)du|dans le <part-of-day>",- -5.0238805208462765),- ("<hour-of-day> <integer> (as relative minutes)named-month",- -5.0238805208462765),- ("le <day-of-month> (non ordinal)\224|vers <time-of-day>",- -4.736198448394496),- ("dayminute", -4.330733340286331),- ("named-monthdu|dans le <part-of-day>", -5.0238805208462765),- ("intersectyear", -5.0238805208462765),- ("minuteday", -4.736198448394496),- ("aujourd'hui\224|vers <time-of-day>", -4.736198448394496),- ("<datetime>-dd <month>(interval)year", -5.0238805208462765),- ("<time-of-day> - <time-of-day> (interval)named-month",- -4.513054897080286),- ("le <day-of-month> (non ordinal)avant <time-of-day>",- -5.429345628954441),- ("<dim time> <part-of-day>apr\232s <time-of-day>",- -5.429345628954441),- ("named-month<time-of-day> heures", -4.330733340286331),- ("demainapr\232s <time-of-day>", -5.429345628954441),- ("<hour-of-day> <integer> (as relative minutes)named-day",- -5.0238805208462765),- ("<hour-of-day> <integer> (as relative minutes)year",- -4.513054897080286),- ("<time-of-day> - <time-of-day> (interval)intersect",- -5.429345628954441),- ("apr\232s <time-of-day>\224|vers <time-of-day>",- -4.513054897080286),- ("\224|vers <time-of-day>named-day", -4.736198448394496),- ("le <time>year", -5.0238805208462765),- ("apr\232s <time-of-day>le <day-of-month> (non ordinal)",- -5.429345628954441),- ("de <datetime> - <datetime> (interval)<day-of-month> <named-month>",- -5.429345628954441),- ("minuteyear", -4.04305126783455),- ("yearminute", -4.736198448394496),- ("<dim time> <part-of-day><time-of-day> heures",- -5.429345628954441)],- n = 148}}),- ("season",- 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}}),- ("ce <day-of-week>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("day", -0.6931471805599453),- ("named-day", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("le <cycle> de <time>",- Classifier{okData =- ClassData{prior = -0.8472978603872037, unseen = -2.70805020110221,- likelihoods =- HashMap.fromList- [("monthmonth", -1.9459101490553135),- ("mois (grain)named-month", -1.9459101490553135),- ("weekday", -1.540445040947149),- ("semaine (grain)<day-of-month> <named-month>",- -1.540445040947149)],- n = 3},- koData =- ClassData{prior = -0.5596157879354228, unseen = -2.833213344056216,- likelihoods =- HashMap.fromList- [("semaine (grain)year (latent)", -1.6739764335716716),- ("weekhour", -1.6739764335716716),- ("semaine (grain)time-of-day (latent)", -1.6739764335716716),- ("weekyear", -1.6739764335716716)],- n = 4}}),- ("<hour-of-day> et trois quarts",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("hour", -0.6931471805599453),- ("<time-of-day> heures", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("le <day-of-month> \224 <datetime>",- Classifier{okData =- ClassData{prior = -0.325422400434628, unseen = -3.58351893845611,- likelihoods =- HashMap.fromList- [("integer (numeric)<time-of-day> heures", -1.9459101490553135),- ("integer (numeric)<dim time> du soir", -2.8622008809294686),- ("integer (numeric)intersect", -2.456735772821304),- ("integer (numeric)<dim time> du matin", -2.8622008809294686),- ("hour", -0.916290731874155),- ("integer (numeric)time-of-day (latent)", -2.169053700369523),- ("integer (numeric)<dim time> <part-of-day>",- -2.456735772821304)],- n = 13},- koData =- ClassData{prior = -1.2809338454620642, unseen = -2.995732273553991,- likelihoods =- HashMap.fromList- [("integer (numeric)year (latent)", -1.3350010667323402),- ("year", -1.3350010667323402), ("hour", -2.2512917986064953),- ("integer (numeric)time-of-day (latent)", -2.2512917986064953)],- n = 5}}),- ("yyyy-mm-dd",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods = HashMap.fromList [("", 0.0)], n = 3},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("le <cycle> dernier",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.70805020110221,- likelihoods =- HashMap.fromList- [("week", -1.540445040947149),- ("ann\233e (grain)", -1.9459101490553135),- ("semaine (grain)", -1.540445040947149),- ("mois (grain)", -1.9459101490553135),- ("year", -1.9459101490553135), ("month", -1.9459101490553135)],- n = 4},- koData =- ClassData{prior = -infinity, unseen = -1.9459101490553135,- likelihoods = HashMap.fromList [], n = 0}}),- ("year (latent)",- Classifier{okData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0},- koData =- ClassData{prior = 0.0, unseen = -3.044522437723423,- likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 19}}),- ("soir de no\235l",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("fin de journ\233e",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("du <datetime>-<day-of-week> dd <month>(interval)",- Classifier{okData =- ClassData{prior = -0.5108256237659907, unseen = -2.70805020110221,- likelihoods =- HashMap.fromList- [("intersectnamed-daynamed-month", -1.9459101490553135),- ("day of month (premier)named-daynamed-month",- -1.9459101490553135),- ("<day-of-week> <day-of-month>named-daynamed-month",- -1.9459101490553135),- ("daydaymonth", -1.252762968495368)],- n = 3},- koData =- ClassData{prior = -0.916290731874155, unseen = -2.5649493574615367,- likelihoods =- HashMap.fromList- [("year (latent)named-daynamed-month", -1.791759469228055),- ("hourdaymonth", -1.791759469228055),- ("time-of-day (latent)named-daynamed-month",- -1.791759469228055),- ("yeardaymonth", -1.791759469228055)],- n = 2}}),- ("milieu de semaine",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("noel",- Classifier{okData =- ClassData{prior = -0.2876820724517809,- unseen = -1.6094379124341003,- likelihoods = HashMap.fromList [("", 0.0)], n = 3},- koData =- ClassData{prior = -1.3862943611198906,- unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),- ("fin de matin\233e",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("le <day-of-month> (non ordinal)",- Classifier{okData =- ClassData{prior = -0.4228568508200336, unseen = -3.713572066704308,- likelihoods =- HashMap.fromList [("integer (numeric)", -2.5317807984289897e-2)],- n = 38},- koData =- ClassData{prior = -1.0647107369924282,- unseen = -3.1354942159291497,- likelihoods =- HashMap.fromList- [("integer (numeric)", -0.2578291093020998),- ("numbers 22..29 32..39 .. 52..59", -1.4816045409242156)],- n = 20}}),- ("du dd-<day-of-week> dd <month>(interval)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("named-daynamed-month", -0.6931471805599453),- ("daymonth", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("en semaine",- Classifier{okData =- ClassData{prior = -1.1856236656577395,- unseen = -2.5649493574615367,- likelihoods = HashMap.fromList [("", 0.0)], n = 11},- koData =- ClassData{prior = -0.3646431135879093, unseen = -3.295836866004329,- likelihoods = HashMap.fromList [("", 0.0)], n = 25}}),- ("numbers 22..29 32..39 .. 52..59",- Classifier{okData =- ClassData{prior = -2.3025850929940455,- unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("number (20..60)number (0..16)", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -0.10536051565782628,- unseen = -2.5649493574615367,- likelihoods =- HashMap.fromList- [("integer (numeric)integer (numeric)", -0.2876820724517809),- ("integer (numeric)number (0..16)", -1.791759469228055)],- n = 9}}),- ("<day-of-week> prochain",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.1972245773362196,- likelihoods =- HashMap.fromList- [("day", -0.6931471805599453),- ("named-day", -0.6931471805599453)],- n = 3},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("intersect by 'de' or ','",- Classifier{okData =- ClassData{prior = -0.2719337154836418, unseen = -4.394449154672439,- likelihoods =- HashMap.fromList- [("dayhour", -3.283414346005772),- ("hourmonth", -3.6888794541139363),- ("dayday", -1.742969305058623),- ("named-dayle <cycle> prochain|suivant|d'apr\232s",- -2.3025850929940455),- ("named-day<time-of-day> - <time-of-day> (interval)",- -3.283414346005772),- ("named-dayle <time>", -1.491654876777717),- ("named-dayle <cycle> dernier", -3.6888794541139363),- ("named-day<named-month|named-day> suivant|d'apr\232s",- -2.772588722239781),- ("week-endnamed-month", -3.6888794541139363),- ("dayweek", -1.5488132906176655)],- n = 32},- koData =- ClassData{prior = -1.4350845252893227,- unseen = -3.6109179126442243,- likelihoods =- HashMap.fromList- [("hourday", -2.890371757896165),- ("dayhour", -2.890371757896165),- ("daymonth", -1.9740810260220096),- ("du|dans le <part-of-day>noel", -2.890371757896165),- ("en semainenamed-month", -2.4849066497880004),- ("hourmonth", -2.4849066497880004),- ("dayday", -2.4849066497880004),- ("en semaineintersect", -2.4849066497880004),- ("named-dayle <time>", -2.4849066497880004),- ("named-day<time-of-day> heures", -2.890371757896165),- ("week-endnamed-month", -2.4849066497880004)],- n = 10}}),- ("named-month",- Classifier{okData =- ClassData{prior = 0.0, unseen = -4.499809670330265,- likelihoods = HashMap.fromList [("", 0.0)], n = 88},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("ce <part-of-day>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.772588722239781,- likelihoods =- HashMap.fromList- [("soir", -1.6094379124341003),- ("apr\232s-midi", -1.0986122886681098),- ("hour", -0.7621400520468967)],- n = 6},- koData =- ClassData{prior = -infinity, unseen = -1.3862943611198906,- likelihoods = HashMap.fromList [], n = 0}}),- ("hh(:|h)mm (time-of-day)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -3.258096538021482,- likelihoods = HashMap.fromList [("", 0.0)], n = 24},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("number (20..60)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.791759469228055,- likelihoods = HashMap.fromList [("", 0.0)], n = 4},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("hier",- Classifier{okData =- ClassData{prior = -0.2231435513142097, unseen = -1.791759469228055,- likelihoods = HashMap.fromList [("", 0.0)], n = 4},- koData =- ClassData{prior = -1.6094379124341003,- unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),- ("numbers prefix with -, negative or minus",- Classifier{okData =- ClassData{prior = -infinity, unseen = -1.3862943611198906,- likelihoods = HashMap.fromList [], n = 0},- koData =- ClassData{prior = 0.0, unseen = -2.833213344056216,- likelihoods =- HashMap.fromList- [("integer (numeric)", -0.2876820724517809),- ("numbers 22..29 32..39 .. 52..59", -2.0794415416798357),- ("number (0..16)", -2.0794415416798357)],- n = 13}}),- ("dd-dd <month>(interval)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.3978952727983707,- likelihoods =- HashMap.fromList- [("named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 4},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("<datetime>-<day-of-week> dd <month>(interval)",- Classifier{okData =- ClassData{prior = -0.6931471805599453,- unseen = -3.2188758248682006,- likelihoods =- HashMap.fromList- [("intersectnamed-daynamed-month", -2.0794415416798357),- ("day of month (premier)named-daynamed-month",- -1.791759469228055),- ("<day-of-week> <day-of-month>named-daynamed-month",- -1.791759469228055),- ("daydaymonth", -0.9808292530117262)],- n = 8},- koData =- ClassData{prior = -0.6931471805599453,- unseen = -3.2188758248682006,- likelihoods =- HashMap.fromList- [("year (latent)named-daynamed-month", -1.5686159179138452),- ("hourdaymonth", -1.5686159179138452),- ("time-of-day (latent)named-daynamed-month",- -1.5686159179138452),- ("yeardaymonth", -1.5686159179138452)],- n = 8}}),- ("<dim time> du soir",- Classifier{okData =- ClassData{prior = -0.2231435513142097, unseen = -2.995732273553991,- likelihoods =- HashMap.fromList- [("\224|vers <time-of-day>", -1.55814461804655),- ("hour", -0.7472144018302211),- ("<time-of-day> heures", -1.1526795099383855)],- n = 8},- koData =- ClassData{prior = -1.6094379124341003,- unseen = -2.0794415416798357,- likelihoods =- HashMap.fromList- [("hour", -0.8472978603872037),- ("<time-of-day> heures", -0.8472978603872037)],- n = 2}}),- ("aujourd'hui",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.639057329615259,- likelihoods = HashMap.fromList [("", 0.0)], n = 12},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("midi",- Classifier{okData =- ClassData{prior = -0.7375989431307791,- unseen = -2.5649493574615367,- likelihoods = HashMap.fromList [("", 0.0)], n = 11},- koData =- ClassData{prior = -0.6505875661411494, unseen = -2.639057329615259,- likelihoods = HashMap.fromList [("", 0.0)], n = 12}}),- ("toussaint",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.9459101490553135,- likelihoods = HashMap.fromList [("", 0.0)], n = 5},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("d\233but de soir\233e",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("<day-of-week> <day-of-month>",- Classifier{okData =- ClassData{prior = -0.24512245803298496,- unseen = -3.6888794541139363,- likelihoods =- HashMap.fromList- [("named-daynumber (0..16)", -2.5649493574615367),- ("named-dayinteger (numeric)", -0.8303483020734304),- ("day", -0.719122666963206)],- n = 18},- koData =- ClassData{prior = -1.5260563034950494, unseen = -2.639057329615259,- likelihoods =- HashMap.fromList- [("named-dayinteger (numeric)", -0.7731898882334817),- ("day", -0.7731898882334817)],- n = 5}}),- ("d'ici <duration>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.0794415416798357,- likelihoods =- HashMap.fromList- [("week", -1.252762968495368), ("day", -1.252762968495368),- ("<integer> <unit-of-duration>", -0.8472978603872037)],- n = 2},- koData =- ClassData{prior = -infinity, unseen = -1.3862943611198906,- likelihoods = HashMap.fromList [], n = 0}}),- ("\224|vers <time-of-day>",- Classifier{okData =- ClassData{prior = -0.21936282847430377,- unseen = -5.420534999272286,- likelihoods =- HashMap.fromList- [("<time> timezone", -4.722953221644475),- ("<hour-of-day> et|pass\233 de <number>", -4.31748811353631),- ("hh(:|h)mm (time-of-day)", -4.722953221644475),- ("midi", -4.31748811353631),- ("time-of-day (latent)", -1.587459005715325),- ("<hour-of-day> et|pass\233 de <number> minutes",- -4.31748811353631),- ("minuit", -4.722953221644475),- ("<hour-of-day> et quart", -4.31748811353631),- ("hour", -0.8622235106038793),- ("<hour-of-day> et demi", -4.722953221644475),- ("minute", -2.8511510447428834),- ("<time-of-day> heures", -1.587459005715325),- ("<hour-of-day> <integer> (as relative minutes)",- -3.8066624897703196)],- n = 106},- koData =- ClassData{prior = -1.6247053845648889, unseen = -4.189654742026425,- likelihoods =- HashMap.fromList- [("hh(:|h)mm (time-of-day)", -3.0757749812275272),- ("time-of-day (latent)", -1.5353299402803784),- ("hour", -1.0388930539664873), ("minute", -2.5649493574615367),- ("<time-of-day> heures", -1.8718021769015913),- ("<hour-of-day> <integer> (as relative minutes)",- -3.0757749812275272)],- n = 26}}),- ("d\233but <named-month>(interval)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.3978952727983707,- likelihoods =- HashMap.fromList- [("named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 4},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("d\233but de matin\233e",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.9459101490553135,- likelihoods = HashMap.fromList [("", 0.0)], n = 5},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("apr\232s-midi",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.3025850929940455,- likelihoods = HashMap.fromList [("", 0.0)], n = 8},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("le <ordinal> <cycle> de <time>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.4849066497880004,- likelihoods =- HashMap.fromList- [("daymonth", -1.7047480922384253),- ("ordinals (premier..seizieme)semaine (grain)named-month",- -1.7047480922384253),- ("ordinal (digits)jour (grain)named-month",- -1.7047480922384253),- ("weekmonth", -1.2992829841302609),- ("ordinals (premier..seizieme)semaine (grain)intersect",- -1.7047480922384253)],- n = 3},- koData =- ClassData{prior = -infinity, unseen = -1.791759469228055,- likelihoods = HashMap.fromList [], n = 0}}),- ("ordinals (premier..seizieme)",- Classifier{okData =- ClassData{prior = -0.916290731874155, unseen = -1.791759469228055,- likelihoods = HashMap.fromList [("", 0.0)], n = 4},- koData =- ClassData{prior = -0.5108256237659907,- unseen = -2.0794415416798357,- likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),- ("minute (grain)",- Classifier{okData =- ClassData{prior = -0.2876820724517809,- unseen = -2.3978952727983707,- likelihoods = HashMap.fromList [("", 0.0)], n = 9},- koData =- ClassData{prior = -1.3862943611198906,- unseen = -1.6094379124341003,- likelihoods = HashMap.fromList [("", 0.0)], n = 3}}),- ("deuxi\232me quinzaine de <named-month>(interval)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("<dim time> <part-of-day>",- Classifier{okData =- ClassData{prior = -0.13858616328614667,- unseen = -5.181783550292085,- likelihoods =- HashMap.fromList- [("dayhour", -1.9980959022258835),- ("<time-of-day> heuresdu|dans le <part-of-day>",- -2.9789251552376097),- ("le <time>du|dans le <part-of-day>", -3.5667118201397288),- ("\224|vers <time-of-day>ce <part-of-day>",- -3.7898553714539385),- ("named-daymatin", -4.07753744390572),- ("demainsoir", -4.483002552013883),- ("<hour-of-day> et demice <part-of-day>", -3.7898553714539385),- ("hourhour", -1.4872702784598928),- ("aujourd'huiau d\233jeuner", -4.483002552013883),- ("<hour-of-day> et quartce <part-of-day>", -3.7898553714539385),- ("demainapr\232s-midi", -4.483002552013883),- ("minutehour", -2.6112003751122925),- ("named-daydu|dans le <part-of-day>", -3.7898553714539385),- ("intersectdu|dans le <part-of-day>", -2.1316272948504063),- ("le <day-of-month> \224 <datetime>du|dans le <part-of-day>",- -4.07753744390572),- ("named-dayfin d'apr\232s-midi", -4.483002552013883),- ("<day-of-month> <named-month>du|dans le <part-of-day>",- -4.07753744390572),- ("hierdu|dans le <part-of-day>", -4.483002552013883),- ("named-daysoir", -4.483002552013883),- ("aujourd'huid\233but de matin\233e", -3.5667118201397288),- ("<time-of-day> heuresce <part-of-day>", -3.7898553714539385),- ("\224|vers <time-of-day>du|dans le <part-of-day>",- -3.3843902633457743),- ("named-dayapr\232s-midi", -4.483002552013883),- ("intersectapr\232s-midi", -3.5667118201397288),- ("hiersoir", -4.483002552013883)],- n = 74},- koData =- ClassData{prior = -2.044755983691946, unseen = -3.951243718581427,- likelihoods =- HashMap.fromList- [("dayhour", -2.833213344056216),- ("<time-of-day> heuresdu|dans le <part-of-day>",- -2.5455312716044354),- ("le <time>du|dans le <part-of-day>", -2.833213344056216),- ("aujourd'huidu|dans le <part-of-day>", -2.833213344056216),- ("monthhour", -2.833213344056216),- ("hourhour", -1.8523840910444898),- ("<time-of-day> - <time-of-day> (interval)du|dans le <part-of-day>",- -2.833213344056216),- ("named-monthdu|dans le <part-of-day>", -2.833213344056216)],- n = 11}}),- ("jour de l'an",- 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}}),- ("time-of-day (latent)",- Classifier{okData =- ClassData{prior = -0.5690945318899665, unseen = -4.553876891600541,- likelihoods =- HashMap.fromList- [("integer (numeric)", -0.16126814759612226),- ("number (0..16)", -2.0583881324820035)],- n = 90},- koData =- ClassData{prior = -0.8347976976229721, unseen = -4.304065093204169,- likelihoods =- HashMap.fromList- [("integer (numeric)", -0.24740817331384096),- ("numbers 22..29 32..39 .. 52..59", -2.681021528714291),- ("number (20..60)", -3.597312260588446),- ("number (0..16)", -2.093234863812172)],- n = 69}}),- ("apr\232s-demain",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods = HashMap.fromList [("", 0.0)], n = 3},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("year",- Classifier{okData =- ClassData{prior = -0.46262352194811296,- unseen = -2.9444389791664407,- likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 17},- koData =- ClassData{prior = -0.9932517730102834,- unseen = -2.4849066497880004,- likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 10}}),- ("<hour-of-day> et|pass\233 de <number> minutes",- Classifier{okData =- ClassData{prior = 0.0, unseen = -3.044522437723423,- likelihoods =- HashMap.fromList- [("\224|vers <time-of-day>number (20..60)", -2.3025850929940455),- ("<time-of-day> heuresinteger (numeric)", -2.3025850929940455),- ("\224|vers <time-of-day>number (0..16)", -2.3025850929940455),- ("hour", -0.916290731874155),- ("<time-of-day> heuresnumber (20..60)", -1.8971199848858813),- ("<time-of-day> heuresnumber (0..16)", -1.8971199848858813)],- n = 7},- koData =- ClassData{prior = -infinity, unseen = -1.9459101490553135,- likelihoods = HashMap.fromList [], n = 0}}),- ("<integer> <unit-of-duration>",- Classifier{okData =- ClassData{prior = -0.916290731874155, unseen = -4.204692619390966,- likelihoods =- HashMap.fromList- [("week", -2.580216829592325),- ("number (0..16)semaine (grain)", -3.0910424533583156),- ("number (0..16)ann\233e (grain)", -3.0910424533583156),- ("number (0..16)seconde (grain)", -3.4965075614664802),- ("number (0..16)jour (grain)", -3.4965075614664802),- ("second", -3.4965075614664802),- ("integer (numeric)ann\233e (grain)", -3.4965075614664802),- ("number (0..16)minute (grain)", -3.0910424533583156),- ("integer (numeric)jour (grain)", -3.0910424533583156),- ("day", -2.803360380906535), ("year", -2.803360380906535),- ("number (0..16)mois (grain)", -3.0910424533583156),- ("hour", -2.580216829592325),- ("number (0..16)heure (grain)", -3.0910424533583156),- ("month", -3.0910424533583156),- ("integer (numeric)minute (grain)", -2.803360380906535),- ("minute", -2.3978952727983707),- ("integer (numeric)semaine (grain)", -3.0910424533583156),- ("numbers 22..29 32..39 .. 52..59heure (grain)",- -3.4965075614664802),- ("integer (numeric)heure (grain)", -3.4965075614664802)],- n = 22},- koData =- ClassData{prior = -0.5108256237659907, unseen = -4.48863636973214,- likelihoods =- HashMap.fromList- [("week", -3.784189633918261),- ("number (20..60)minute (grain)", -3.784189633918261),- ("number (0..16)jour (grain)", -3.0910424533583156),- ("integer (numeric)ann\233e (grain)", -3.784189633918261),- ("number (0..16)minute (grain)", -3.784189633918261),- ("day", -3.0910424533583156), ("year", -3.784189633918261),- ("hour", -1.2584609896100056),- ("number (0..16)heure (grain)", -1.9123874570166697),- ("month", -3.784189633918261),- ("integer (numeric)minute (grain)", -3.784189633918261),- ("integer (numeric)mois (grain)", -3.784189633918261),- ("minute", -3.0910424533583156),- ("integer (numeric)semaine (grain)", -3.784189633918261),- ("integer (numeric)heure (grain)", -1.9123874570166697)],- n = 33}}),- ("avant-hier",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("d\233but de journ\233e",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("entre <time-of-day> et <time-of-day> (interval)",- Classifier{okData =- ClassData{prior = -0.1670540846631662,- unseen = -3.4011973816621555,- likelihoods =- HashMap.fromList- [("hourhour", -2.6741486494265287),- ("miditime-of-day (latent)", -2.6741486494265287),- ("minutehour", -0.9694005571881036),- ("hh(:|h)mm (time-of-day)time-of-day (latent)",- -2.268683541318364),- ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",- -1.9810014688665833),- ("hh(:|h)mm (time-of-day)<time-of-day> heures",- -1.9810014688665833),- ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",- -2.268683541318364)],- n = 11},- koData =- ClassData{prior = -1.8718021769015913,- unseen = -2.4849066497880004,- likelihoods =- HashMap.fromList- [("minutehour", -1.2992829841302609),- ("hh(:|h)mm (time-of-day)time-of-day (latent)",- -1.7047480922384253),- ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",- -1.7047480922384253)],- n = 2}}),- ("matin",- Classifier{okData =- ClassData{prior = -0.5108256237659907,- unseen = -2.3978952727983707,- likelihoods = HashMap.fromList [("", 0.0)], n = 9},- koData =- ClassData{prior = -0.916290731874155, unseen = -2.0794415416798357,- likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),- ("en <named-month>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.9459101490553135,- likelihoods =- HashMap.fromList- [("named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 2},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("maintenant",- 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}}),- ("<day-of-week> 1er-<day-of-week> dd <month>(interval)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.9459101490553135,- likelihoods =- HashMap.fromList- [("named-daynamed-daynamed-month", -0.6931471805599453),- ("daydaymonth", -0.6931471805599453)],- n = 2},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("named-day",- Classifier{okData =- ClassData{prior = 0.0, unseen = -4.543294782270004,- likelihoods = HashMap.fromList [("", 0.0)], n = 92},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("au d\233jeuner",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("le lendemain du <time>",- Classifier{okData =- ClassData{prior = -1.0986122886681098,- unseen = -2.1972245773362196,- likelihoods =- HashMap.fromList- [("day", -1.3862943611198906),- ("<day-of-month> <named-month>", -1.3862943611198906)],- n = 1},- koData =- ClassData{prior = -0.40546510810816444,- unseen = -2.3978952727983707,- likelihoods =- HashMap.fromList- [("year (latent)", -1.6094379124341003),- ("time-of-day (latent)", -1.6094379124341003),- ("year", -1.6094379124341003), ("hour", -1.6094379124341003)],- n = 2}}),- ("le <cycle> prochain|suivant|d'apr\232s",- Classifier{okData =- ClassData{prior = 0.0, unseen = -3.970291913552122,- likelihoods =- HashMap.fromList- [("week", -1.0608719606852628),- ("ann\233e (grain)", -3.258096538021482),- ("semaine (grain)", -1.0608719606852628),- ("mois (grain)", -2.8526314299133175),- ("day", -2.8526314299133175), ("year", -3.258096538021482),- ("jour (grain)", -2.8526314299133175),- ("month", -2.8526314299133175)],- n = 22},- koData =- ClassData{prior = -infinity, unseen = -2.1972245773362196,- likelihoods = HashMap.fromList [], n = 0}}),- ("apr\232s <time-of-day>",- Classifier{okData =- ClassData{prior = -0.9267620317414506,- unseen = -3.9318256327243257,- likelihoods =- HashMap.fromList- [("intersect", -1.8325814637483102),- ("hh(:|h)mm (time-of-day)", -2.8134107167600364),- ("midi", -3.2188758248682006), ("day", -2.5257286443082556),- ("time-of-day (latent)", -2.8134107167600364),- ("hour", -1.6094379124341003), ("minute", -1.8325814637483102),- ("<time-of-day> heures", -2.8134107167600364),- ("le <time>", -2.8134107167600364),- ("<hour-of-day> <integer> (as relative minutes)",- -2.5257286443082556)],- n = 19},- koData =- ClassData{prior = -0.503905180921417, unseen = -4.2626798770413155,- likelihoods =- HashMap.fromList- [("demain", -2.8622008809294686),- ("intersect", -2.169053700369523),- ("le <day-of-month> (non ordinal)", -3.5553480614894135),- ("midi", -1.6835458845878222), ("day", -2.639057329615259),- ("time-of-day (latent)", -2.8622008809294686),- ("hour", -0.9903987040278769),- ("<time-of-day> heures", -2.8622008809294686)],- n = 29}}),- ("dd/-mm",- Classifier{okData =- ClassData{prior = -0.7375989431307791,- unseen = -2.5649493574615367,- likelihoods = HashMap.fromList [("", 0.0)], n = 11},- koData =- ClassData{prior = -0.6505875661411494, unseen = -2.639057329615259,- likelihoods = HashMap.fromList [("", 0.0)], n = 12}}),- ("minuit",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods = HashMap.fromList [("", 0.0)], n = 3},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("entre dd et dd <month>(interval)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("une <unit-of-duration>",- Classifier{okData =- ClassData{prior = -2.0281482472922856,- unseen = -3.2188758248682006,- likelihoods =- HashMap.fromList- [("week", -2.4849066497880004),- ("ann\233e (grain)", -2.4849066497880004),- ("seconde (grain)", -2.4849066497880004),- ("semaine (grain)", -2.4849066497880004),- ("second", -2.4849066497880004),- ("minute (grain)", -2.4849066497880004),- ("year", -2.4849066497880004),- ("heure (grain)", -2.4849066497880004),- ("hour", -2.4849066497880004), ("minute", -2.4849066497880004)],- n = 5},- koData =- ClassData{prior = -0.14107859825990549,- unseen = -4.394449154672439,- likelihoods =- HashMap.fromList- [("week", -1.246532418744732),- ("semaine (grain)", -1.246532418744732),- ("mois (grain)", -2.772588722239781),- ("day", -2.3025850929940455),- ("jour (grain)", -2.3025850929940455),- ("month", -2.772588722239781)],- n = 33}}),- ("<hour-of-day> et quart",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.9444389791664407,- likelihoods =- HashMap.fromList- [("midi", -2.1972245773362196),- ("\224|vers <time-of-day>", -1.791759469228055),- ("hour", -0.8109302162163288),- ("<time-of-day> heures", -1.2809338454620642)],- n = 7},- koData =- ClassData{prior = -infinity, unseen = -1.6094379124341003,- likelihoods = HashMap.fromList [], n = 0}}),- ("number (0..16)",- Classifier{okData =- ClassData{prior = -0.2076393647782445, unseen = -3.713572066704308,- likelihoods = HashMap.fromList [("", 0.0)], n = 39},- koData =- ClassData{prior = -1.6739764335716716,- unseen = -2.3978952727983707,- likelihoods = HashMap.fromList [("", 0.0)], n = 9}}),- ("heure (grain)",- Classifier{okData =- ClassData{prior = -1.540445040947149, unseen = -2.0794415416798357,- likelihoods = HashMap.fromList [("", 0.0)], n = 6},- koData =- ClassData{prior = -0.2411620568168881,- unseen = -3.1780538303479458,- likelihoods = HashMap.fromList [("", 0.0)], n = 22}}),- ("<named-month|named-day> dernier|pass\233",- Classifier{okData =- ClassData{prior = -2.3978952727983707,- unseen = -2.5649493574615367,- likelihoods =- HashMap.fromList- [("day", -1.791759469228055), ("named-day", -1.791759469228055)],- n = 1},- koData =- ClassData{prior = -9.53101798043249e-2,- unseen = -3.4339872044851463,- likelihoods =- HashMap.fromList- [("year (latent)", -2.70805020110221),- ("en semaine", -2.3025850929940455),- ("day", -1.791759469228055),- ("\224|vers <time-of-day>", -2.70805020110221),- ("time-of-day (latent)", -2.70805020110221),- ("year", -2.70805020110221), ("hour", -1.6094379124341003),- ("<time-of-day> heures", -2.0149030205422647),- ("le <time>", -2.3025850929940455)],- n = 10}}),- ("dd/-mm/-yyyy",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.70805020110221,- likelihoods = HashMap.fromList [("", 0.0)], n = 13},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("fin de semaine",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("dd mm yyyy",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.639057329615259,- likelihoods = HashMap.fromList [("", 0.0)], n = 12},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("day of month (premier)",- Classifier{okData =- ClassData{prior = -6.899287148695143e-2,- unseen = -2.772588722239781,- likelihoods = HashMap.fromList [("", 0.0)], n = 14},- koData =- ClassData{prior = -2.70805020110221, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),- ("jour (grain)",- Classifier{okData =- ClassData{prior = -0.1466034741918754, unseen = -3.044522437723423,- likelihoods = HashMap.fromList [("", 0.0)], n = 19},- koData =- ClassData{prior = -1.9924301646902063,- unseen = -1.6094379124341003,- likelihoods = HashMap.fromList [("", 0.0)], n = 3}}),- ("dd mm",- Classifier{okData =- ClassData{prior = -0.40546510810816444,- unseen = -2.639057329615259,- likelihoods = HashMap.fromList [("", 0.0)], n = 12},- koData =- ClassData{prior = -1.0986122886681098,- unseen = -2.0794415416798357,- likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),- ("dernier <cycle> de <time> (latent)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -3.1354942159291497,- likelihoods =- HashMap.fromList- [("daymonth", -1.4816045409242156),- ("semaine (grain)intersect", -1.9924301646902063),- ("weekmonth", -1.4816045409242156),- ("semaine (grain)named-month", -1.9924301646902063),- ("jour (grain)intersect", -1.9924301646902063),- ("jour (grain)named-month", -1.9924301646902063)],- n = 8},- koData =- ClassData{prior = -infinity, unseen = -1.9459101490553135,- likelihoods = HashMap.fromList [], n = 0}}),- ("avant le d\233jeuner",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("1er mai",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("fin de soir\233e",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("<datetime> - <datetime> (interval)",- Classifier{okData =- ClassData{prior = -1.0185695809945732, unseen = -4.454347296253507,- likelihoods =- HashMap.fromList- [("demain<time-of-day> heures", -3.7495040759303713),- ("day of month (premier)<day-of-week> <day-of-month>",- -3.056356895370426),- ("dayhour", -3.3440389678222067),- ("hh(:|h)mm (time-of-day)<hour-of-day> <integer> (as relative minutes)",- -3.3440389678222067),- ("le <day-of-month> (non ordinal)<time-of-day> heures",- -3.7495040759303713),- ("minuteminute", -2.044755983691946),- ("<day-of-month> <named-month><day-of-month> <named-month>",- -3.3440389678222067),- ("hh(:|h)mm (time-of-day)hh(:|h)mm (time-of-day)",- -3.056356895370426),- ("dayday", -1.8777018990287797),- ("<day-of-week> <day-of-month><day-of-week> <day-of-month>",- -3.7495040759303713),- ("<day-of-month> <named-month>day of month (premier)",- -3.3440389678222067),- ("minutehour", -3.3440389678222067),- ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",- -3.7495040759303713),- ("<hour-of-day> <integer> (as relative minutes)hh(:|h)mm (time-of-day)",- -3.056356895370426),- ("hh(:|h)mm (time-of-day)<time-of-day> heures",- -3.7495040759303713),- ("<hour-of-day> <integer> (as relative minutes)<hour-of-day> <integer> (as relative minutes)",- -3.3440389678222067),- ("<day-of-month> <named-month>intersect", -3.3440389678222067),- ("intersect<day-of-week> <day-of-month>", -3.3440389678222067)],- n = 26},- koData =- ClassData{prior = -0.4480247225269604, unseen = -4.836281906951478,- likelihoods =- HashMap.fromList- [("<hour-of-day> <integer> (as relative minutes)intersect",- -3.7297014486341915),- ("monthday", -2.8824035882469876),- ("intersectnamed-day", -3.7297014486341915),- ("day of month (premier)named-day", -3.4420193761824103),- ("named-month<day-of-month> <named-month>",- -3.7297014486341915),- ("minuteminute", -3.7297014486341915),- ("dayday", -1.4961092271270973),- ("<day-of-week> <day-of-month><day-of-week> <day-of-month>",- -3.7297014486341915),- ("day of month (premier)<day-of-month> <named-month>",- -4.135166556742356),- ("year<hour-of-day> <integer> (as relative minutes)",- -3.4420193761824103),- ("minutehour", -2.631089159966082),- ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",- -3.4420193761824103),- ("day of month (premier)intersect", -2.8824035882469876),- ("hh(:|h)mm (time-of-day)<time-of-day> heures",- -3.4420193761824103),- ("intersectintersect", -3.2188758248682006),- ("hh(:|h)mm (time-of-day)intersect", -3.7297014486341915),- ("named-monthintersect", -3.7297014486341915),- ("<day-of-week> <day-of-month>named-day", -3.4420193761824103),- ("named-monthday of month (premier)", -3.7297014486341915),- ("<day-of-week> <day-of-month>intersect", -2.8824035882469876),- ("yearminute", -3.4420193761824103)],- n = 46}}),- ("<day-of-month> <named-month>",- Classifier{okData =- ClassData{prior = -0.30010459245033816,- unseen = -4.418840607796598,- likelihoods =- HashMap.fromList- [("integer (numeric)named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 40},- koData =- ClassData{prior = -1.349926716949016, unseen = -3.4339872044851463,- likelihoods =- HashMap.fromList- [("integer (numeric)named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 14}}),- ("<cycle> prochain|suivant|d'apr\232s",- Classifier{okData =- ClassData{prior = -8.338160893905101e-2,- unseen = -4.007333185232471,- likelihoods =- HashMap.fromList- [("week", -1.0986122886681098),- ("ann\233e (grain)", -3.295836866004329),- ("semaine (grain)", -1.0986122886681098),- ("mois (grain)", -2.890371757896165),- ("day", -2.6026896854443837), ("year", -3.295836866004329),- ("jour (grain)", -2.6026896854443837),- ("month", -2.890371757896165)],- n = 23},- koData =- ClassData{prior = -2.5257286443082556,- unseen = -2.5649493574615367,- likelihoods =- HashMap.fromList- [("mois (grain)", -1.791759469228055),- ("day", -1.791759469228055),- ("jour (grain)", -1.791759469228055),- ("month", -1.791759469228055)],- n = 2}}),- ("fin <named-month>(interval)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.9459101490553135,- likelihoods =- HashMap.fromList- [("named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 2},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("<time-of-day> - <time-of-day> (interval)",- Classifier{okData =- ClassData{prior = -1.2321436812926323, unseen = -4.0943445622221,- likelihoods =- HashMap.fromList- [("hh(:|h)mm (time-of-day)<hour-of-day> <integer> (as relative minutes)",- -2.691243082785829),- ("minuteminute", -1.3694872428035094),- ("time-of-day (latent)time-of-day (latent)",- -3.3843902633457743),- ("<time-of-day> heures<time-of-day> heures",- -3.3843902633457743),- ("hh(:|h)mm (time-of-day)hh(:|h)mm (time-of-day)",- -2.468099531471619),- ("hourhour", -2.691243082785829),- ("minutehour", -2.468099531471619),- ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",- -2.691243082785829),- ("<hour-of-day> <integer> (as relative minutes)hh(:|h)mm (time-of-day)",- -2.468099531471619),- ("hh(:|h)mm (time-of-day)<time-of-day> heures",- -3.3843902633457743),- ("<hour-of-day> <integer> (as relative minutes)<hour-of-day> <integer> (as relative minutes)",- -2.691243082785829),- ("<time-of-day> heurestime-of-day (latent)",- -3.3843902633457743)],- n = 21},- koData =- ClassData{prior = -0.3448404862917295, unseen = -4.787491742782046,- likelihoods =- HashMap.fromList- [("time-of-day (latent)time-of-day (latent)",- -1.7833912195575383),- ("hourhour", -1.3451362886263831),- ("time-of-day (latent)<hour-of-day> <integer> (as relative minutes)",- -4.085976312551584),- ("hourminute", -4.085976312551584),- ("minutehour", -1.7346010553881064),- ("hh(:|h)mm (time-of-day)time-of-day (latent)",- -2.987364023883474),- ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",- -3.169685580677429),- ("hh(:|h)mm (time-of-day)<time-of-day> heures",- -3.169685580677429),- ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",- -2.6996819514316934),- ("time-of-day (latent)<time-of-day> heures",- -2.2942168433235293)],- n = 51}}),- ("<named-day> en huit",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.70805020110221,- likelihoods =- HashMap.fromList- [("day", -0.6931471805599453),- ("named-day", -0.6931471805599453)],- n = 6},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("<hour-of-day> et demi",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.5649493574615367,- likelihoods =- HashMap.fromList- [("midi", -1.791759469228055),- ("\224|vers <time-of-day>", -1.791759469228055),- ("hour", -0.8754687373538999),- ("<time-of-day> heures", -1.3862943611198906)],- n = 4},- koData =- ClassData{prior = -infinity, unseen = -1.6094379124341003,- likelihoods = HashMap.fromList [], n = 0}}),- ("dernier week-end de <time>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods =- HashMap.fromList- [("named-month", -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 1},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("du dd au dd(interval)",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("ordinal (digits)",- Classifier{okData =- ClassData{prior = -1.8718021769015913,- unseen = -1.3862943611198906,- likelihoods = HashMap.fromList [("", 0.0)], n = 2},- koData =- ClassData{prior = -0.1670540846631662,- unseen = -2.5649493574615367,- likelihoods = HashMap.fromList [("", 0.0)], n = 11}}),- ("avant <time-of-day>",- Classifier{okData =- ClassData{prior = -1.3862943611198906, unseen = -2.890371757896165,- likelihoods =- HashMap.fromList- [("time-of-day (latent)", -1.7346010553881064),- ("hour", -1.2237754316221157),- ("<time-of-day> heures", -1.7346010553881064)],- n = 4},- koData =- ClassData{prior = -0.2876820724517809,- unseen = -3.5263605246161616,- likelihoods =- HashMap.fromList- [("intersect", -2.803360380906535),- ("hh(:|h)mm (time-of-day)", -2.803360380906535),- ("hier", -2.803360380906535), ("day", -2.803360380906535),- ("time-of-day (latent)", -1.8870696490323797),- ("hour", -1.1939224684724346), ("minute", -2.3978952727983707),- ("<time-of-day> heures", -1.8870696490323797),- ("<hour-of-day> <integer> (as relative minutes)",- -2.803360380906535)],- n = 12}}),- ("fin d'apr\232s-midi",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.6094379124341003,- likelihoods = HashMap.fromList [("", 0.0)], n = 3},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("<part-of-day> du <dim time>",- Classifier{okData =- ClassData{prior = -0.6931471805599453,- unseen = -1.9459101490553135,- likelihoods =- HashMap.fromList- [("matin<day-of-month> <named-month>", -1.0986122886681098),- ("hourday", -1.0986122886681098)],- n = 1},- koData =- ClassData{prior = -0.6931471805599453,- unseen = -1.9459101490553135,- likelihoods =- HashMap.fromList- [("matinyear (latent)", -1.0986122886681098),- ("houryear", -1.0986122886681098)],- n = 1}}),- ("<time-of-day> heures",- Classifier{okData =- ClassData{prior = -0.16251892949777494,- unseen = -5.634789603169249,- likelihoods =- HashMap.fromList- [("\224|vers <time-of-day>", -1.8025703853322705),- ("time-of-day (latent)", -1.1538749673431592),- ("apr\232s <time-of-day>", -4.532599493153256),- ("hour", -0.7112308559932407),- ("avant <time-of-day>", -4.532599493153256)],- n = 136},- koData =- ClassData{prior = -1.8971199848858813, unseen = -4.02535169073515,- likelihoods =- HashMap.fromList- [("\224|vers <time-of-day>", -1.7047480922384253),- ("time-of-day (latent)", -1.927891643552635),- ("apr\232s <time-of-day>", -2.6210388241125804),- ("hour", -0.8292793548845253),- ("avant <time-of-day>", -2.3978952727983707),- ("minute", -3.3141860046725258),- ("<hour-of-day> <integer> (as relative minutes)",- -3.3141860046725258)],- n = 24}}),- ("week-end",- Classifier{okData =- ClassData{prior = -0.6931471805599453,- unseen = -1.3862943611198906,- likelihoods = HashMap.fromList [("", 0.0)], n = 2},- koData =- ClassData{prior = -0.6931471805599453,- unseen = -1.3862943611198906,- likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),- ("le <time>",- Classifier{okData =- ClassData{prior = -0.2876820724517809, unseen = -5.739792912179234,- likelihoods =- HashMap.fromList- [("week", -2.4784757594577096),- ("<named-month|named-day> suivant|d'apr\232s",- -3.5393477201429726),- ("<ordinal> <cycle> de <time>", -4.350277936359301),- ("premi\232re quinzaine de <named-month>(interval)",- -5.043425116919247),- ("intersect", -2.0476928433652555),- ("soir de no\235l", -5.043425116919247),- ("en semaine", -3.3386770246808215),- ("toussaint", -4.637960008811082), ("day", -1.3421231428067533),- ("deuxi\232me quinzaine de <named-month>(interval)",- -5.043425116919247),- ("<dim time> <part-of-day>", -4.127134385045092),- ("dd/-mm", -3.7906621484238787),- ("dd/-mm/-yyyy", -4.350277936359301),- ("dd mm yyyy", -3.7906621484238787),- ("day of month (premier)", -3.9448128282511368),- ("dd mm", -3.7906621484238787), ("hour", -2.2102117728630306),- ("month", -4.350277936359301),- ("dernier <cycle> de <time> (latent)", -4.127134385045092),- ("<day-of-month> <named-month>", -3.028522096376982),- ("<cycle> prochain|suivant|d'apr\232s", -2.6920498597557687),- ("dernier week-end de <time>", -5.043425116919247),- ("<ordinal> week-end de <time>", -4.637960008811082),- ("<cycle> dernier", -3.9448128282511368)],- n = 141},- koData =- ClassData{prior = -1.3862943611198906, unseen = -4.812184355372417,- likelihoods =- HashMap.fromList- [("<named-month|named-day> suivant|d'apr\232s",- -4.110873864173311),- ("intersect", -3.1945831322991562),- ("en semaine", -2.23907168727172), ("day", -1.625967214385311),- ("<dim time> <part-of-day>", -3.7054087560651467),- ("dd/-mm", -3.417726683613366),- ("<named-month|named-day> dernier|pass\233",- -3.7054087560651467),- ("day of month (premier)", -4.110873864173311),- ("dd mm", -3.417726683613366), ("hour", -2.0959708436310467),- ("<day-of-month> <named-month>", -4.110873864173311),- ("<time-of-day> - <time-of-day> (interval)",- -2.406125771934886),- ("minute", -2.406125771934886),- ("<hour-of-day> <integer> (as relative minutes)",- -2.606796467397037)],- n = 47}}),- ("apr\232s le <day-of-month>",- Classifier{okData =- ClassData{prior = -0.40546510810816444,- unseen = -1.3862943611198906,- likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 2},- koData =- ClassData{prior = -1.0986122886681098,- unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],- n = 1}}),- ("n <cycle> passes|precedents",- Classifier{okData =- ClassData{prior = -0.40546510810816444,- unseen = -2.3978952727983707,- likelihoods =- HashMap.fromList- [("week", -1.6094379124341003),- ("integer (numeric)ann\233e (grain)", -1.6094379124341003),- ("year", -1.6094379124341003),- ("integer (numeric)semaine (grain)", -1.6094379124341003)],- n = 2},- koData =- ClassData{prior = -1.0986122886681098,- unseen = -2.1972245773362196,- likelihoods =- HashMap.fromList- [("hour", -1.3862943611198906),- ("number (0..16)heure (grain)", -1.3862943611198906)],- n = 1}}),- ("il y a <duration>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -2.639057329615259,- likelihoods =- HashMap.fromList- [("week", -1.8718021769015913), ("year", -1.8718021769015913),- ("<integer> <unit-of-duration>", -0.9555114450274363),- ("hour", -1.8718021769015913), ("month", -1.8718021769015913)],- n = 4},- koData =- ClassData{prior = -infinity, unseen = -1.791759469228055,- likelihoods = HashMap.fromList [], n = 0}}),- ("<ordinal> week-end de <time>",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.9459101490553135,- likelihoods =- HashMap.fromList- [("ordinals (premier..seizieme)named-month",- -0.6931471805599453),- ("month", -0.6931471805599453)],- n = 2},- koData =- ClassData{prior = -infinity, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [], n = 0}}),- ("<dim time> du matin",- Classifier{okData =- ClassData{prior = -0.13353139262452263,- unseen = -2.890371757896165,- likelihoods =- HashMap.fromList- [("\224|vers <time-of-day>", -1.7346010553881064),- ("hour", -0.7537718023763802),- ("<time-of-day> heures", -1.041453874828161)],- n = 7},- koData =- ClassData{prior = -2.0794415416798357, unseen = -1.791759469228055,- likelihoods =- HashMap.fromList- [("hour", -0.916290731874155),- ("<time-of-day> heures", -0.916290731874155)],- n = 1}}),- ("d\233but d'apr\232s-midi",- Classifier{okData =- ClassData{prior = 0.0, unseen = -1.0986122886681098,- likelihoods = HashMap.fromList [("", 0.0)], n = 1},- koData =- ClassData{prior = -infinity, unseen = -0.6931471805599453,- likelihoods = HashMap.fromList [], n = 0}}),- ("<hour-of-day> <integer> (as relative minutes)",- Classifier{okData =- ClassData{prior = -0.8174448972375224, unseen = -4.430816798843313,- likelihoods =- HashMap.fromList- [("minuitnumber (0..16)", -3.3202283191284883),- ("midinumber (20..60)", -3.7256934272366524),- ("\224|vers <time-of-day>number (20..60)", -3.7256934272366524),- ("<time-of-day> heuresinteger (numeric)", -1.2833463918674481),- ("\224|vers <time-of-day>number (0..16)", -3.3202283191284883),- ("midinumber (0..16)", -3.7256934272366524),- ("hour", -0.8634925463071842),- ("<time-of-day> heuresnumber (20..60)", -3.3202283191284883),- ("\224|vers <time-of-day>integer (numeric)",- -3.7256934272366524),- ("<time-of-day> heuresnumber (0..16)", -3.3202283191284883)],- n = 34},- koData =- ClassData{prior = -0.5826053061601215, unseen = -4.624972813284271,- likelihoods =- HashMap.fromList- [("time-of-day (latent)numbers 22..29 32..39 .. 52..59",- -3.9219733362813143),- ("time-of-day (latent)number (0..16)", -3.5165082281731497),- ("<time-of-day> heuresinteger (numeric)", -2.6692103677859462),- ("avant <time-of-day>integer (numeric)", -3.9219733362813143),- ("time-of-day (latent)integer (numeric)", -1.2829160066660554),- ("apr\232s <time-of-day>integer (numeric)", -3.228826155721369),- ("hour", -0.8309308829229983),- ("\224|vers <time-of-day>integer (numeric)",- -3.5165082281731497),- ("<time-of-day> heuresnumber (0..16)", -3.9219733362813143)],- n = 43}}),+ ClassData{prior = -0.587786664902119, unseen = -3.8066624897703196,+ likelihoods =+ HashMap.fromList+ [("soir", -1.3862943611198906),+ ("apr\232s-midi", -2.174751721484161),+ ("matin", -1.8382794848629478), ("hour", -0.7396671961948381)],+ n = 20},+ koData =+ ClassData{prior = -0.8109302162163288,+ unseen = -3.6109179126442243,+ likelihoods =+ HashMap.fromList+ [("soir", -2.1972245773362196),+ ("apr\232s-midi", -2.1972245773362196),+ ("matin", -1.1856236656577395), ("hour", -0.750305594399894)],+ n = 16}}),+ ("dans <duration>",+ Classifier{okData =+ ClassData{prior = -8.338160893905101e-2,+ unseen = -4.04305126783455,+ likelihoods =+ HashMap.fromList+ [("week", -2.639057329615259),+ ("<integer> + '\"", -2.9267394020670396),+ ("second", -2.639057329615259), ("day", -2.9267394020670396),+ ("year", -2.639057329615259),+ ("<integer> <unit-of-duration>", -1.1921383466789333),+ ("une <unit-of-duration>", -2.2335922215070942),+ ("hour", -2.4159137783010487), ("month", -3.332204510175204),+ ("minute", -1.9459101490553135)],+ n = 23},+ koData =+ ClassData{prior = -2.5257286443082556, unseen = -2.70805020110221,+ likelihoods =+ HashMap.fromList+ [("week", -1.9459101490553135), ("day", -1.9459101490553135),+ ("une <unit-of-duration>", -1.540445040947149)],+ n = 2}}),+ ("<time> timezone",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.3025850929940455,+ likelihoods =+ HashMap.fromList+ [("\224|vers <time-of-day>", -1.5040773967762742),+ ("hour", -0.8109302162163288),+ ("<time-of-day> heures", -1.0986122886681098)],+ n = 3},+ koData =+ ClassData{prior = -infinity, unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("n <cycle> apr\232s",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.9459101490553135,+ likelihoods =+ HashMap.fromList+ [("number (0..16)jour (grain)", -0.6931471805599453),+ ("day", -0.6931471805599453)],+ n = 2},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("integer (numeric)",+ Classifier{okData =+ ClassData{prior = -0.4793738175333202, unseen = -5.484796933490655,+ likelihoods = HashMap.fromList [("", 0.0)], n = 239},+ koData =+ ClassData{prior = -0.9654047826860945, unseen = -5.003946305945459,+ likelihoods = HashMap.fromList [("", 0.0)], n = 147}}),+ ("<named-month>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("apr\232s le travail",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("n prochains <cycle>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -3.5553480614894135,+ likelihoods =+ HashMap.fromList+ [("week", -2.833213344056216),+ ("number (0..16)seconde (grain)", -2.833213344056216),+ ("second", -2.4277482359480516),+ ("integer (numeric)ann\233e (grain)", -2.833213344056216),+ ("integer (numeric)seconde (grain)", -2.833213344056216),+ ("number (0..16)minute (grain)", -2.833213344056216),+ ("integer (numeric)jour (grain)", -2.833213344056216),+ ("day", -2.833213344056216), ("year", -2.833213344056216),+ ("hour", -2.833213344056216), ("month", -2.833213344056216),+ ("integer (numeric)minute (grain)", -2.833213344056216),+ ("integer (numeric)mois (grain)", -2.833213344056216),+ ("minute", -2.4277482359480516),+ ("integer (numeric)semaine (grain)", -2.833213344056216),+ ("integer (numeric)heure (grain)", -2.833213344056216)],+ n = 9},+ koData =+ ClassData{prior = -infinity, unseen = -2.833213344056216,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("fin d'ann\233e",+ 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}}),+ ("<day-of-week> <day-of-month> \224 <time-of-day>)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -3.58351893845611,+ likelihoods =+ HashMap.fromList+ [("dayhour", -0.7827593392496325),+ ("named-dayinteger (numeric)\224|vers <time-of-day>",+ -1.6094379124341003),+ ("named-daynumber (0..16)<time-of-day> heures",+ -2.456735772821304),+ ("named-dayinteger (numeric)<time-of-day> heures",+ -2.169053700369523),+ ("named-daynumber (0..16)\224|vers <time-of-day>",+ -1.9459101490553135)],+ n = 15},+ koData =+ ClassData{prior = -infinity, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("apr\232s le d\233jeuner",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<named-day> en quinze",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.70805020110221,+ likelihoods =+ HashMap.fromList+ [("day", -0.6931471805599453),+ ("named-day", -0.6931471805599453)],+ n = 6},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("entre <datetime> et <datetime> (interval)",+ Classifier{okData =+ ClassData{prior = -0.25131442828090605,+ unseen = -4.127134385045092,+ likelihoods =+ HashMap.fromList+ [("le <time>le <day-of-month> (non ordinal)",+ -3.417726683613366),+ ("le <time>le <time>", -3.012261575505202),+ ("dayday", -1.7129785913749407),+ ("hourhour", -3.417726683613366),+ ("le <time>intersect", -3.417726683613366),+ ("miditime-of-day (latent)", -3.417726683613366),+ ("intersectle <day-of-month> (non ordinal)",+ -3.417726683613366),+ ("minutehour", -1.7129785913749407),+ ("hh(:|h)mm (time-of-day)time-of-day (latent)",+ -3.012261575505202),+ ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",+ -2.7245795030534206),+ ("le <day-of-month> (non ordinal)le <day-of-month> (non ordinal)",+ -3.012261575505202),+ ("hh(:|h)mm (time-of-day)<time-of-day> heures",+ -2.7245795030534206),+ ("intersectintersect", -3.417726683613366),+ ("intersectle <time>", -3.012261575505202),+ ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",+ -3.012261575505202)],+ n = 21},+ koData =+ ClassData{prior = -1.5040773967762742,+ unseen = -3.4657359027997265,+ likelihoods =+ HashMap.fromList+ [("<hour-of-day> <integer> (as relative minutes)intersect",+ -2.740840023925201),+ ("dayday", -2.3353749158170367),+ ("le <day-of-month> (non ordinal)intersect",+ -2.740840023925201),+ ("minutehour", -1.824549292051046),+ ("hh(:|h)mm (time-of-day)time-of-day (latent)",+ -2.740840023925201),+ ("le <day-of-month> (non ordinal)le <time>",+ -2.740840023925201),+ ("hh(:|h)mm (time-of-day)intersect", -2.740840023925201),+ ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",+ -2.740840023925201)],+ n = 6}}),+ ("soir",+ Classifier{okData =+ ClassData{prior = -0.1823215567939546, unseen = -2.833213344056216,+ likelihoods = HashMap.fromList [("", 0.0)], n = 15},+ koData =+ ClassData{prior = -1.791759469228055, unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3}}),+ ("ann\233e (grain)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.3978952727983707,+ likelihoods = HashMap.fromList [("", 0.0)], n = 9},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("d\233but de semaine",+ 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}}),+ ("<hour-of-day> moins <integer> (as relative minutes)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("midinumber (0..16)", -0.6931471805599453),+ ("hour", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<named-month|named-day> suivant|d'apr\232s",+ Classifier{okData =+ ClassData{prior = -0.10178269430994236,+ unseen = -4.174387269895637,+ likelihoods =+ HashMap.fromList+ [("intersect", -2.5494451709255714),+ ("en semaine", -1.9616585060234524),+ ("intersect by 'de' or ','", -2.5494451709255714),+ ("day", -0.7915872533731978),+ ("named-day", -2.5494451709255714),+ ("le <time>", -1.9616585060234524)],+ n = 28},+ koData =+ ClassData{prior = -2.3353749158170367, unseen = -2.70805020110221,+ likelihoods =+ HashMap.fromList+ [("en semaine", -1.9459101490553135),+ ("day", -1.540445040947149), ("hour", -1.9459101490553135),+ ("<time-of-day> heures", -1.9459101490553135),+ ("le <time>", -1.9459101490553135)],+ n = 3}}),+ ("seconde (grain)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.9459101490553135,+ likelihoods = HashMap.fromList [("", 0.0)], n = 5},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<hour-of-day> et|pass\233 de <number>",+ Classifier{okData =+ ClassData{prior = -0.13353139262452263,+ unseen = -3.0910424533583156,+ likelihoods =+ HashMap.fromList+ [("\224|vers <time-of-day>number (20..60)", -2.3513752571634776),+ ("<time-of-day> heuresinteger (numeric)", -2.3513752571634776),+ ("\224|vers <time-of-day>number (0..16)", -2.3513752571634776),+ ("hour", -0.9650808960435872),+ ("<time-of-day> heuresnumber (20..60)", -1.9459101490553135),+ ("<time-of-day> heuresnumber (0..16)", -1.9459101490553135)],+ n = 7},+ koData =+ ClassData{prior = -2.0794415416798357,+ unseen = -2.3025850929940455,+ likelihoods =+ HashMap.fromList+ [("midiinteger (numeric)", -1.5040773967762742),+ ("hour", -1.5040773967762742)],+ n = 1}}),+ ("<hour-of-day> moins quart",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("midi", -0.6931471805599453), ("hour", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("de <time-of-day> - <time-of-day> (interval)",+ Classifier{okData =+ ClassData{prior = -0.587786664902119, unseen = -3.8066624897703196,+ likelihoods =+ HashMap.fromList+ [("hh(:|h)mm (time-of-day)<hour-of-day> <integer> (as relative minutes)",+ -2.6855773452501515),+ ("minuteminute", -1.5869650565820417),+ ("time-of-day (latent)time-of-day (latent)",+ -3.0910424533583156),+ ("<time-of-day> heures<time-of-day> heures",+ -3.0910424533583156),+ ("hh(:|h)mm (time-of-day)hh(:|h)mm (time-of-day)",+ -2.6855773452501515),+ ("hourhour", -2.3978952727983707),+ ("minutehour", -2.174751721484161),+ ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",+ -2.3978952727983707),+ ("<hour-of-day> <integer> (as relative minutes)hh(:|h)mm (time-of-day)",+ -2.6855773452501515),+ ("hh(:|h)mm (time-of-day)<time-of-day> heures",+ -3.0910424533583156),+ ("<hour-of-day> <integer> (as relative minutes)<hour-of-day> <integer> (as relative minutes)",+ -2.6855773452501515),+ ("<time-of-day> heurestime-of-day (latent)",+ -3.0910424533583156)],+ n = 15},+ koData =+ ClassData{prior = -0.8109302162163288,+ unseen = -3.6635616461296463,+ likelihoods =+ HashMap.fromList+ [("minutehour", -1.072636802264849),+ ("hh(:|h)mm (time-of-day)time-of-day (latent)",+ -2.2512917986064953),+ ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",+ -2.538973871058276),+ ("hh(:|h)mm (time-of-day)<time-of-day> heures",+ -2.538973871058276),+ ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",+ -1.845826690498331)],+ n = 12}}),+ ("<datetime>-dd <month>(interval)",+ Classifier{okData =+ ClassData{prior = -1.466337068793427, unseen = -2.772588722239781,+ likelihoods =+ HashMap.fromList+ [("daymonth", -1.3217558399823195),+ ("<day-of-month> <named-month>named-month",+ -1.6094379124341003),+ ("day of month (premier)named-month", -2.0149030205422647)],+ n = 3},+ koData =+ ClassData{prior = -0.262364264467491, unseen = -3.4011973816621555,+ likelihoods =+ HashMap.fromList+ [("hourmonth", -1.7578579175523736),+ ("named-monthnamed-month", -2.268683541318364),+ ("monthmonth", -2.268683541318364),+ ("year (latent)named-month", -1.7578579175523736),+ ("yearmonth", -1.7578579175523736),+ ("time-of-day (latent)named-month", -1.7578579175523736)],+ n = 10}}),+ ("semaine (grain)",+ Classifier{okData =+ ClassData{prior = -7.79615414697118e-2,+ unseen = -3.6635616461296463,+ likelihoods = HashMap.fromList [("", 0.0)], n = 37},+ koData =+ ClassData{prior = -2.5902671654458267,+ unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3}}),+ ("<integer> + '\"",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],+ n = 2},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("demain",+ Classifier{okData =+ ClassData{prior = -0.45198512374305727,+ unseen = -2.1972245773362196,+ likelihoods = HashMap.fromList [("", 0.0)], n = 7},+ koData =+ ClassData{prior = -1.0116009116784799, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),+ ("mois (grain)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.3978952727983707,+ likelihoods = HashMap.fromList [("", 0.0)], n = 9},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("intersect by 'mais/par exemple/plut\244t'",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -3.8066624897703196,+ likelihoods =+ HashMap.fromList+ [("dayhour", -2.3978952727983707),+ ("named-dayentre <time-of-day> et <time-of-day> (interval)",+ -1.5869650565820417),+ ("le <day-of-month> (non ordinal)<time-of-day> heures",+ -3.0910424533583156),+ ("le <day-of-month> (non ordinal)\224|vers <time-of-day>",+ -2.6855773452501515),+ ("dayminute", -0.9509762898620451),+ ("named-dayentre <datetime> et <datetime> (interval)",+ -1.5869650565820417)],+ n = 19},+ koData =+ ClassData{prior = -infinity, unseen = -1.9459101490553135,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("de <datetime> - <datetime> (interval)",+ Classifier{okData =+ ClassData{prior = -1.410986973710262, unseen = -4.143134726391533,+ likelihoods =+ HashMap.fromList+ [("day of month (premier)<day-of-week> <day-of-month>",+ -3.4339872044851463),+ ("hh(:|h)mm (time-of-day)<hour-of-day> <integer> (as relative minutes)",+ -3.4339872044851463),+ ("minuteminute", -2.517696472610991),+ ("hh(:|h)mm (time-of-day)hh(:|h)mm (time-of-day)",+ -3.4339872044851463),+ ("dayday", -2.517696472610991),+ ("<day-of-month> <named-month>day of month (premier)",+ -3.4339872044851463),+ ("minutehour", -3.028522096376982),+ ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",+ -3.4339872044851463),+ ("<hour-of-day> <integer> (as relative minutes)hh(:|h)mm (time-of-day)",+ -3.4339872044851463),+ ("hh(:|h)mm (time-of-day)<time-of-day> heures",+ -3.4339872044851463),+ ("<hour-of-day> <integer> (as relative minutes)<hour-of-day> <integer> (as relative minutes)",+ -3.4339872044851463),+ ("<day-of-month> <named-month>intersect", -3.4339872044851463),+ ("intersect<day-of-week> <day-of-month>", -3.4339872044851463)],+ n = 10},+ koData =+ ClassData{prior = -0.27958486221916157,+ unseen = -4.653960350157523,+ likelihoods =+ HashMap.fromList+ [("<hour-of-day> <integer> (as relative minutes)intersect",+ -3.951243718581427),+ ("<day-of-month> <named-month>time-of-day (latent)",+ -3.951243718581427),+ ("hourday", -3.0349529867072724),+ ("dayhour", -3.951243718581427),+ ("yearhour", -3.951243718581427),+ ("intersectnamed-day", -3.951243718581427),+ ("time-of-day (latent)year (latent)", -3.951243718581427),+ ("houryear", -3.951243718581427),+ ("day of month (premier)named-day", -3.951243718581427),+ ("time-of-day (latent)intersect", -3.545778610473263),+ ("year (latent)intersect", -3.545778610473263),+ ("yearyear", -3.951243718581427),+ ("time-of-day (latent)time-of-day (latent)",+ -3.951243718581427),+ ("dayday", -2.2464956263430023),+ ("year (latent)year (latent)", -3.951243718581427),+ ("<day-of-week> <day-of-month><day-of-week> <day-of-month>",+ -3.951243718581427),+ ("hourhour", -3.951243718581427),+ ("time-of-day (latent)<day-of-week> <day-of-month>",+ -3.951243718581427),+ ("minutehour", -2.4471663218051534),+ ("hh(:|h)mm (time-of-day)time-of-day (latent)",+ -3.545778610473263),+ ("year (latent)<day-of-week> <day-of-month>",+ -3.951243718581427),+ ("year (latent)time-of-day (latent)", -3.951243718581427),+ ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",+ -3.951243718581427),+ ("year (latent)named-day", -3.951243718581427),+ ("time-of-day (latent)named-day", -3.951243718581427),+ ("day of month (premier)intersect", -3.545778610473263),+ ("hh(:|h)mm (time-of-day)<time-of-day> heures",+ -3.951243718581427),+ ("intersectintersect", -3.545778610473263),+ ("hh(:|h)mm (time-of-day)intersect", -3.951243718581427),+ ("yearday", -3.0349529867072724),+ ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",+ -3.545778610473263),+ ("<day-of-week> <day-of-month>named-day", -3.951243718581427),+ ("<day-of-week> <day-of-month>intersect", -3.545778610473263)],+ n = 31}}),+ ("<ordinal> <cycle> de <time>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.890371757896165,+ likelihoods =+ HashMap.fromList+ [("daymonth", -1.7346010553881064),+ ("ordinals (premier..seizieme)semaine (grain)named-month",+ -1.7346010553881064),+ ("ordinal (digits)jour (grain)named-month",+ -1.7346010553881064),+ ("weekmonth", -1.2237754316221157),+ ("ordinals (premier..seizieme)semaine (grain)intersect",+ -1.7346010553881064)],+ n = 6},+ koData =+ ClassData{prior = -infinity, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("premi\232re quinzaine de <named-month>(interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("n <cycle> suivants",+ Classifier{okData =+ ClassData{prior = -0.6931471805599453,+ unseen = -2.3978952727983707,+ likelihoods =+ HashMap.fromList+ [("hour", -1.6094379124341003), ("month", -1.6094379124341003),+ ("integer (numeric)mois (grain)", -1.6094379124341003),+ ("integer (numeric)heure (grain)", -1.6094379124341003)],+ n = 2},+ koData =+ ClassData{prior = -0.6931471805599453,+ unseen = -2.3978952727983707,+ likelihoods =+ HashMap.fromList+ [("number (0..16)jour (grain)", -1.2039728043259361),+ ("day", -1.2039728043259361)],+ n = 2}}),+ ("intersect",+ Classifier{okData =+ ClassData{prior = -0.24867991464851183,+ unseen = -7.182352111885263,+ likelihoods =+ HashMap.fromList+ [("apr\232s <time-of-day>named-month", -5.795297583491974),+ ("<day-of-month> <named-month><dim time> <part-of-day>",+ -6.082979655943755),+ ("intersect<dim time> du matin", -6.082979655943755),+ ("<hour-of-day> <integer> (as relative minutes)intersect",+ -6.082979655943755),+ ("hh(:|h)mm (time-of-day)named-day", -6.082979655943755),+ ("<day-of-month> <named-month>d\233but de journ\233e",+ -6.48844476405192),+ ("demain<time-of-day> heures", -6.082979655943755),+ ("hourday", -4.237152965445424),+ ("<day-of-month> <named-month>year", -5.795297583491974),+ ("dayhour", -1.6132474408507682),+ ("daymonth", -3.070718080438554),+ ("monthyear", -4.984367367275645),+ ("<day-of-month> <named-month>d\233but de matin\233e",+ -6.48844476405192),+ ("dernier <cycle> de <time> (latent)year", -5.572154032177765),+ ("aujourd'huimilieu d'apr\232s-midi", -6.48844476405192),+ ("named-month<dim time> du matin", -6.082979655943755),+ ("<day-of-month> <named-month>\224|vers <time-of-day>",+ -4.348378600555649),+ ("dd mmyear", -5.235681795556552),+ ("named-monthd\233but d'apr\232s-midi", -6.48844476405192),+ ("aujourd'huifin d'apr\232s-midi", -6.48844476405192),+ ("le <day-of-month> (non ordinal)<dim time> du matin",+ -6.082979655943755),+ ("named-monthd\233but de matin\233e", -6.48844476405192),+ ("aujourd'huimilieu de matin\233e", -6.48844476405192),+ ("hh(:|h)mm (time-of-day)<day-of-week> <day-of-month>",+ -6.48844476405192),+ ("named-month\224|vers <time-of-day>", -5.235681795556552),+ ("named-dayday of month (premier)", -5.795297583491974),+ ("<time-of-day> heuresdu|dans le <part-of-day>",+ -4.984367367275645),+ ("named-monthd\233but de soir\233e", -6.48844476405192),+ ("<hour-of-day> et quart<dim time> <part-of-day>",+ -5.795297583491974),+ ("<day-of-week> <day-of-month>named-month", -5.795297583491974),+ ("le <time>du|dans le <part-of-day>", -5.572154032177765),+ ("aujourd'huifin de matin\233e", -6.48844476405192),+ ("aujourd'huifin de soir\233e", -6.48844476405192),+ ("\224|vers <time-of-day>ce <part-of-day>", -5.795297583491974),+ ("<day-of-month> <named-month>d\233but d'apr\232s-midi",+ -6.48844476405192),+ ("le <day-of-month> (non ordinal)<dim time> du soir",+ -5.235681795556552),+ ("named-monthmilieu de matin\233e", -6.48844476405192),+ ("aujourd'huid\233but de soir\233e", -6.48844476405192),+ ("named-monthfin de soir\233e", -6.48844476405192),+ ("entre <datetime> et <datetime> (interval)named-day",+ -6.082979655943755),+ ("<hour-of-day> et demice <part-of-day>", -5.795297583491974),+ ("le <time>fin de matin\233e", -6.48844476405192),+ ("intersectmilieu de journ\233e", -6.48844476405192),+ ("intersectfin de journ\233e", -6.48844476405192),+ ("le <day-of-month> (non ordinal)<time-of-day> heures",+ -4.879006851617819),+ ("<hour-of-day> <integer> (as relative minutes)<day-of-week> <day-of-month>",+ -6.48844476405192),+ ("le <day-of-month> (non ordinal)named-month",+ -3.923495406590383),+ ("monthhour", -3.8857550786075357),+ ("le <time><time-of-day> heures", -5.38983247538381),+ ("le <time>fin d'apr\232s-midi", -6.48844476405192),+ ("hourmonth", -4.984367367275645),+ ("named-monthmilieu d'apr\232s-midi", -6.48844476405192),+ ("<time-of-day> heuresle <time>", -4.984367367275645),+ ("dayday", -4.137069506888442),+ ("aujourd'hui<hour-of-day> <integer> (as relative minutes)",+ -5.795297583491974),+ ("apr\232s <time-of-day>named-day", -6.082979655943755),+ ("named-dayle <cycle> prochain|suivant|d'apr\232s",+ -5.102150402932029),+ ("named-dayapr\232s <time-of-day>", -5.38983247538381),+ ("hourhour", -3.4680198779075573),+ ("<day-of-week> <day-of-month>\224|vers <time-of-day>",+ -4.783696671813495),+ ("le <time>intersect", -5.795297583491974),+ ("\224|vers <time-of-day><dim time> <part-of-day>",+ -6.48844476405192),+ ("aujourd'huiau d\233jeuner", -6.48844476405192),+ ("<time-of-day> heuresintersect", -5.572154032177765),+ ("intersectnamed-month", -4.879006851617819),+ ("intersect<time-of-day> heures", -5.795297583491974),+ ("<hour-of-day> et quartce <part-of-day>", -5.795297583491974),+ ("dayyear", -4.090549491253549),+ ("named-dayce|dans le <cycle>", -5.795297583491974),+ ("apr\232s-demain\224|vers <time-of-day>", -5.572154032177765),+ ("intersectfin d'apr\232s-midi", -6.48844476405192),+ ("le <ordinal> <cycle> de <time>year", -6.48844476405192),+ ("intersectmilieu d'apr\232s-midi", -6.48844476405192),+ ("named-monthfin de journ\233e", -6.48844476405192),+ ("le <time>milieu de journ\233e", -6.48844476405192),+ ("aujourd'huid\233but de journ\233e", -6.48844476405192),+ ("demain\224|vers <time-of-day>", -5.572154032177765),+ ("le <day-of-month> (non ordinal)intersect",+ -3.544005784885479),+ ("hourminute", -6.48844476405192),+ ("dd-dd <month>(interval)year", -6.48844476405192),+ ("intersect<day-of-month> <named-month>", -6.082979655943755),+ ("minutemonth", -6.082979655943755),+ ("\224|vers <time-of-day>demain", -6.48844476405192),+ ("minutehour", -4.616642587150328),+ ("named-daydu|dans le <part-of-day>", -6.082979655943755),+ ("aujourd'huimilieu de journ\233e", -6.48844476405192),+ ("named-monthyear", -4.984367367275645),+ ("intersectd\233but de soir\233e", -6.48844476405192),+ ("entre <datetime> et <datetime> (interval)named-month",+ -6.48844476405192),+ ("aujourd'huifin de journ\233e", -6.48844476405192),+ ("intersectdu|dans le <part-of-day>", -4.137069506888442),+ ("le <day-of-month> \224 <datetime>du|dans le <part-of-day>",+ -6.082979655943755),+ ("named-monthd\233but de journ\233e", -6.48844476405192),+ ("named-month<dim time> <part-of-day>", -6.082979655943755),+ ("le <day-of-month> (non ordinal)apr\232s <time-of-day>",+ -6.48844476405192),+ ("named-day<day-of-month> <named-month>", -5.795297583491974),+ ("named-dayle <time>", -4.348378600555649),+ ("le <day-of-month> (non ordinal)<dim time> <part-of-day>",+ -4.090549491253549),+ ("dd/-mm<time-of-day> heures", -6.082979655943755),+ ("de <datetime> - <datetime> (interval)named-month",+ -6.082979655943755),+ ("apr\232s <time-of-day>le <time>", -5.572154032177765),+ ("named-day<time-of-day> heures", -5.795297583491974),+ ("intersectd\233but d'apr\232s-midi", -6.48844476405192),+ ("named-dayfin d'apr\232s-midi", -6.082979655943755),+ ("<hour-of-day> et quartdemain", -5.795297583491974),+ ("<time-of-day> heuresce <time>", -6.48844476405192),+ ("le <time>d\233but d'apr\232s-midi", -6.48844476405192),+ ("<day-of-month> <named-month>du|dans le <part-of-day>",+ -6.082979655943755),+ ("named-dayintersect", -6.48844476405192),+ ("le <time><dim time> du matin", -6.082979655943755),+ ("apr\232s <time-of-day>intersect", -6.082979655943755),+ ("le <day-of-month> (non ordinal)\224|vers <time-of-day>",+ -4.542534614996606),+ ("<day-of-month> <named-month>d\233but de soir\233e",+ -6.48844476405192),+ ("hierdu|dans le <part-of-day>", -6.48844476405192),+ ("le <time>d\233but de soir\233e", -6.48844476405192),+ ("intersect<dim time> <part-of-day>", -6.082979655943755),+ ("dayminute", -4.783696671813495),+ ("intersectd\233but de journ\233e", -6.48844476405192),+ ("<ordinal> <cycle> de <time>year", -6.082979655943755),+ ("le <time>\224|vers <time-of-day>", -4.783696671813495),+ ("<day-of-month> <named-month><dim time> du matin",+ -6.082979655943755),+ ("intersectyear", -5.795297583491974),+ ("<day-of-week> <day-of-month><time-of-day> heures",+ -5.38983247538381),+ ("minuteday", -3.5180302984822185),+ ("le <time>d\233but de matin\233e", -6.48844476405192),+ ("<datetime> - <datetime> (interval)named-month",+ -5.235681795556552),+ ("<day-of-month> <named-month><time-of-day> heures",+ -4.984367367275645),+ ("aujourd'hui\224|vers <time-of-day>", -5.572154032177765),+ ("<day-of-month> <named-month>milieu d'apr\232s-midi",+ -6.48844476405192),+ ("day of month (premier)intersect", -6.48844476405192),+ ("<day-of-month> <named-month>fin d'apr\232s-midi",+ -6.48844476405192),+ ("entre <time-of-day> et <time-of-day> (interval)named-day",+ -6.082979655943755),+ ("named-monthfin de matin\233e", -6.48844476405192),+ ("named-day<named-month|named-day> suivant|d'apr\232s",+ -5.572154032177765),+ ("le <time>milieu de matin\233e", -6.48844476405192),+ ("aujourd'huid\233but de matin\233e", -5.38983247538381),+ ("<dim time> <part-of-day>apr\232s <time-of-day>",+ -6.48844476405192),+ ("le <time>fin de soir\233e", -6.48844476405192),+ ("<day-of-month> <named-month>milieu de matin\233e",+ -6.48844476405192),+ ("<day-of-month> <named-month>fin de soir\233e",+ -6.48844476405192),+ ("named-month<time-of-day> heures", -5.795297583491974),+ ("<day-of-month> <named-month>fin de matin\233e",+ -6.48844476405192),+ ("<time-of-day> heuresce <part-of-day>", -5.795297583491974),+ ("named-monthfin d'apr\232s-midi", -6.48844476405192),+ ("le <time>named-month", -5.235681795556552),+ ("apr\232s le <day-of-month>named-month", -6.48844476405192),+ ("aujourd'huid\233but d'apr\232s-midi", -6.48844476405192),+ ("le <time>milieu d'apr\232s-midi", -6.48844476405192),+ ("\224|vers <time-of-day>du|dans le <part-of-day>",+ -5.38983247538381),+ ("intersectintersect", -6.082979655943755),+ ("de <time-of-day> - <time-of-day> (interval)named-day",+ -5.572154032177765),+ ("de <datetime> - <datetime> (interval)named-day",+ -6.082979655943755),+ ("named-dayde <time-of-day> - <time-of-day> (interval)",+ -6.082979655943755),+ ("dayweek", -4.2912201867157), ("weekyear", -5.102150402932029),+ ("<hour-of-day> <integer> (as relative minutes)named-day",+ -6.082979655943755),+ ("hh(:|h)mm (time-of-day)intersect", -6.082979655943755),+ ("named-monthintersect", -6.082979655943755),+ ("<day-of-month> <named-month>fin de journ\233e",+ -6.48844476405192),+ ("<day-of-month> <named-month>milieu de journ\233e",+ -6.48844476405192),+ ("le <time>fin de journ\233e", -6.48844476405192),+ ("dd/-mm\224|vers <time-of-day>", -5.572154032177765),+ ("intersectfin de matin\233e", -6.48844476405192),+ ("day of month (premier)named-month", -4.696685294823864),+ ("named-day\224|vers <time-of-day>", -5.102150402932029),+ ("named-monthmilieu de journ\233e", -6.48844476405192),+ ("<day-of-month> <named-month>intersect", -6.082979655943755),+ ("intersectfin de soir\233e", -6.48844476405192),+ ("intersectmilieu de matin\233e", -6.48844476405192),+ ("intersect\224|vers <time-of-day>", -5.235681795556552),+ ("le <time>year", -4.984367367275645),+ ("le <time><dim time> <part-of-day>", -6.082979655943755),+ ("<time-of-day> - <time-of-day> (interval)named-day",+ -5.235681795556552),+ ("apr\232s-demain<time-of-day> heures", -6.082979655943755),+ ("le <time>d\233but de journ\233e", -6.48844476405192),+ ("intersectd\233but de matin\233e", -6.48844476405192),+ ("<datetime> - <datetime> (interval)named-day",+ -5.572154032177765)],+ n = 549},+ koData =+ ClassData{prior = -1.5133532392387958, unseen = -6.269096283706261,+ likelihoods =+ HashMap.fromList+ [("<hour-of-day> <integer> (as relative minutes)intersect",+ -5.574053367981417),+ ("hh(:|h)mm (time-of-day)named-day", -5.574053367981417),+ ("year<time-of-day> - <time-of-day> (interval)",+ -4.880906187421472),+ ("demain<time-of-day> heures", -4.880906187421472),+ ("hourday", -3.2226781108179394),+ ("<day-of-month> <named-month>year", -5.574053367981417),+ ("demainavant <time-of-day>", -5.574053367981417),+ ("dayhour", -2.529530930257994),+ ("le lendemain du <time>named-month", -5.574053367981417),+ ("daymonth", -3.9646154555473165),+ ("monthday", -5.574053367981417),+ ("monthyear", -4.880906187421472),+ ("yearhour", -4.880906187421472),+ ("houryear", -5.168588259873252),+ ("aujourd'hui<time-of-day> heures", -5.574053367981417),+ ("named-month\224|vers <time-of-day>", -3.8693052757429918),+ ("<time-of-day> heuresdu|dans le <part-of-day>",+ -4.880906187421472),+ ("<day-of-week> <day-of-month>named-month", -4.187759006861526),+ ("le <time>du|dans le <part-of-day>", -5.168588259873252),+ ("le <day-of-month> (non ordinal)<hour-of-day> <integer> (as relative minutes)",+ -4.880906187421472),+ ("named-month<day-of-month> <named-month>", -5.574053367981417),+ ("<time-of-day> heuresle <day-of-month> (non ordinal)",+ -4.657762636107262),+ ("le <day-of-month> (non ordinal)<time-of-day> heures",+ -5.574053367981417),+ ("aujourd'huidu|dans le <part-of-day>", -5.168588259873252),+ ("le <day-of-month> (non ordinal)named-month",+ -5.574053367981417),+ ("monthhour", -3.3768287906451975),+ ("hourmonth", -4.321290399486049),+ ("dayday", -3.782293898753362),+ ("named-dayapr\232s <time-of-day>", -4.880906187421472),+ ("hourhour", -3.9646154555473165),+ ("named-day<hour-of-day> <integer> (as relative minutes)",+ -4.657762636107262),+ ("dayyear", -4.321290399486049),+ ("le <cycle> de <time>named-month", -5.168588259873252),+ ("year<hour-of-day> <integer> (as relative minutes)",+ -4.880906187421472),+ ("demain\224|vers <time-of-day>", -4.657762636107262),+ ("<dim time> <part-of-day><hour-of-day> <integer> (as relative minutes)",+ -5.168588259873252),+ ("hourminute", -5.168588259873252),+ ("minutemonth", -4.880906187421472),+ ("named-monthyear", -4.880906187421472),+ ("intersect by 'de' or ','year", -5.168588259873252),+ ("named-day<time-of-day> - <time-of-day> (interval)",+ -3.8693052757429918),+ ("named-day<datetime> - <datetime> (interval)",+ -5.168588259873252),+ ("named-day<day-of-month> <named-month>", -4.187759006861526),+ ("weekmonth", -5.168588259873252),+ ("named-dayle <time>", -5.168588259873252),+ ("avant <time-of-day>named-day", -5.574053367981417),+ ("de <datetime> - <datetime> (interval)named-month",+ -5.574053367981417),+ ("le <day-of-month> (non ordinal)year", -5.168588259873252),+ ("named-day<time-of-day> heures", -5.168588259873252),+ ("<time-of-day> heuresnamed-day", -4.069975971205143),+ ("apr\232s <time-of-day><time-of-day> heures",+ -5.168588259873252),+ ("<time-of-day> heuresdd/-mm", -5.574053367981417),+ ("<time-of-day> - <time-of-day> (interval)du|dans le <part-of-day>",+ -5.168588259873252),+ ("<hour-of-day> <integer> (as relative minutes)named-month",+ -5.168588259873252),+ ("le <day-of-month> (non ordinal)\224|vers <time-of-day>",+ -4.880906187421472),+ ("dayminute", -4.187759006861526),+ ("named-monthdu|dans le <part-of-day>", -5.168588259873252),+ ("intersectyear", -5.168588259873252),+ ("minuteday", -4.880906187421472),+ ("aujourd'hui\224|vers <time-of-day>", -4.880906187421472),+ ("<datetime>-dd <month>(interval)year", -5.168588259873252),+ ("<time-of-day> - <time-of-day> (interval)named-month",+ -4.657762636107262),+ ("le <day-of-month> (non ordinal)avant <time-of-day>",+ -5.574053367981417),+ ("<dim time> <part-of-day>apr\232s <time-of-day>",+ -5.574053367981417),+ ("named-month<time-of-day> heures", -4.475441079313307),+ ("demainapr\232s <time-of-day>", -5.574053367981417),+ ("<hour-of-day> <integer> (as relative minutes)named-day",+ -5.168588259873252),+ ("<hour-of-day> <integer> (as relative minutes)year",+ -4.657762636107262),+ ("<time-of-day> - <time-of-day> (interval)intersect",+ -5.574053367981417),+ ("apr\232s <time-of-day>\224|vers <time-of-day>",+ -4.657762636107262),+ ("\224|vers <time-of-day>named-day", -4.880906187421472),+ ("le <time>year", -5.168588259873252),+ ("apr\232s <time-of-day>le <day-of-month> (non ordinal)",+ -5.168588259873252),+ ("de <datetime> - <datetime> (interval)<day-of-month> <named-month>",+ -5.574053367981417),+ ("minuteyear", -4.187759006861526),+ ("yearminute", -4.880906187421472),+ ("<dim time> <part-of-day><time-of-day> heures",+ -5.574053367981417)],+ n = 155}}),+ ("season",+ 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}}),+ ("ce <day-of-week>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("day", -0.6931471805599453),+ ("named-day", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("le <cycle> de <time>",+ Classifier{okData =+ ClassData{prior = -0.8472978603872037, unseen = -2.70805020110221,+ likelihoods =+ HashMap.fromList+ [("monthmonth", -1.9459101490553135),+ ("mois (grain)named-month", -1.9459101490553135),+ ("weekday", -1.540445040947149),+ ("semaine (grain)<day-of-month> <named-month>",+ -1.540445040947149)],+ n = 3},+ koData =+ ClassData{prior = -0.5596157879354228, unseen = -2.833213344056216,+ likelihoods =+ HashMap.fromList+ [("semaine (grain)year (latent)", -1.6739764335716716),+ ("weekhour", -1.6739764335716716),+ ("semaine (grain)time-of-day (latent)", -1.6739764335716716),+ ("weekyear", -1.6739764335716716)],+ n = 4}}),+ ("<hour-of-day> et trois quarts",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("hour", -0.6931471805599453),+ ("<time-of-day> heures", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("le <day-of-month> \224 <datetime>",+ Classifier{okData =+ ClassData{prior = -0.325422400434628, unseen = -3.58351893845611,+ likelihoods =+ HashMap.fromList+ [("integer (numeric)<time-of-day> heures", -1.9459101490553135),+ ("integer (numeric)<dim time> du soir", -2.8622008809294686),+ ("integer (numeric)intersect", -2.456735772821304),+ ("integer (numeric)<dim time> du matin", -2.8622008809294686),+ ("hour", -0.916290731874155),+ ("integer (numeric)time-of-day (latent)", -2.169053700369523),+ ("integer (numeric)<dim time> <part-of-day>",+ -2.456735772821304)],+ n = 13},+ koData =+ ClassData{prior = -1.2809338454620642, unseen = -2.995732273553991,+ likelihoods =+ HashMap.fromList+ [("integer (numeric)year (latent)", -1.3350010667323402),+ ("year", -1.3350010667323402), ("hour", -2.2512917986064953),+ ("integer (numeric)time-of-day (latent)", -2.2512917986064953)],+ n = 5}}),+ ("yyyy-mm-dd",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("le <cycle> dernier",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.70805020110221,+ likelihoods =+ HashMap.fromList+ [("week", -1.540445040947149),+ ("ann\233e (grain)", -1.9459101490553135),+ ("semaine (grain)", -1.540445040947149),+ ("mois (grain)", -1.9459101490553135),+ ("year", -1.9459101490553135), ("month", -1.9459101490553135)],+ n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -1.9459101490553135,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("year (latent)",+ Classifier{okData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0},+ koData =+ ClassData{prior = 0.0, unseen = -3.044522437723423,+ likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],+ n = 19}}),+ ("soir de no\235l",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("fin de journ\233e",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("du <datetime>-<day-of-week> dd <month>(interval)",+ Classifier{okData =+ ClassData{prior = -0.5108256237659907, unseen = -2.70805020110221,+ likelihoods =+ HashMap.fromList+ [("intersectnamed-daynamed-month", -1.9459101490553135),+ ("day of month (premier)named-daynamed-month",+ -1.9459101490553135),+ ("<day-of-week> <day-of-month>named-daynamed-month",+ -1.9459101490553135),+ ("daydaymonth", -1.252762968495368)],+ n = 3},+ koData =+ ClassData{prior = -0.916290731874155, unseen = -2.5649493574615367,+ likelihoods =+ HashMap.fromList+ [("year (latent)named-daynamed-month", -1.791759469228055),+ ("hourdaymonth", -1.791759469228055),+ ("time-of-day (latent)named-daynamed-month",+ -1.791759469228055),+ ("yeardaymonth", -1.791759469228055)],+ n = 2}}),+ ("milieu de semaine",+ 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}}),+ ("d\233but d'ann\233e",+ 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}}),+ ("noel",+ Classifier{okData =+ ClassData{prior = -0.2876820724517809,+ unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3},+ koData =+ ClassData{prior = -1.3862943611198906,+ unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),+ ("fin de matin\233e",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("le <day-of-month> (non ordinal)",+ Classifier{okData =+ ClassData{prior = -0.35667494393873245,+ unseen = -3.951243718581427,+ likelihoods =+ HashMap.fromList [("integer (numeric)", -1.9802627296179754e-2)],+ n = 49},+ koData =+ ClassData{prior = -1.2039728043259361,+ unseen = -3.1780538303479458,+ likelihoods =+ HashMap.fromList+ [("integer (numeric)", -0.24512245803298496),+ ("numbers 22..29 32..39 .. 52..59", -1.5260563034950494)],+ n = 21}}),+ ("du dd-<day-of-week> dd <month>(interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("named-daynamed-month", -0.6931471805599453),+ ("daymonth", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("en semaine",+ Classifier{okData =+ ClassData{prior = -1.2656663733312759,+ unseen = -2.5649493574615367,+ likelihoods = HashMap.fromList [("", 0.0)], n = 11},+ koData =+ ClassData{prior = -0.3313571359544425,+ unseen = -3.4011973816621555,+ likelihoods = HashMap.fromList [("", 0.0)], n = 28}}),+ ("numbers 22..29 32..39 .. 52..59",+ Classifier{okData =+ ClassData{prior = -2.3025850929940455,+ unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("number (20..60)number (0..16)", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -0.10536051565782628,+ unseen = -2.5649493574615367,+ likelihoods =+ HashMap.fromList+ [("integer (numeric)integer (numeric)", -0.2876820724517809),+ ("integer (numeric)number (0..16)", -1.791759469228055)],+ n = 9}}),+ ("<day-of-week> prochain",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.1972245773362196,+ likelihoods =+ HashMap.fromList+ [("day", -0.6931471805599453),+ ("named-day", -0.6931471805599453)],+ n = 3},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("intersect by 'de' or ','",+ Classifier{okData =+ ClassData{prior = -0.26469255422708216,+ unseen = -4.430816798843313,+ likelihoods =+ HashMap.fromList+ [("dayhour", -3.3202283191284883),+ ("daymonth", -3.7256934272366524),+ ("hourmonth", -3.7256934272366524),+ ("dayday", -1.7797832781813394),+ ("named-dayle <cycle> prochain|suivant|d'apr\232s",+ -2.339399066116762),+ ("named-day<time-of-day> - <time-of-day> (interval)",+ -3.3202283191284883),+ ("named-dayle <time>", -1.5284688499004333),+ ("named-dayle <cycle> dernier", -3.7256934272366524),+ ("named-day<named-month|named-day> suivant|d'apr\232s",+ -2.8094026953624978),+ ("week-endnamed-month", -3.7256934272366524),+ ("dayweek", -1.5856272637403819),+ ("fin du moisnamed-month", -3.7256934272366524)],+ n = 33},+ koData =+ ClassData{prior = -1.4586150226995167,+ unseen = -3.6375861597263857,+ likelihoods =+ HashMap.fromList+ [("hourday", -2.917770732084279),+ ("dayhour", -2.917770732084279),+ ("daymonth", -2.001480000210124),+ ("du|dans le <part-of-day>noel", -2.917770732084279),+ ("en semainenamed-month", -2.512305623976115),+ ("hourmonth", -2.512305623976115),+ ("dayday", -2.512305623976115),+ ("en semaineintersect", -2.512305623976115),+ ("named-dayle <time>", -2.512305623976115),+ ("named-day<time-of-day> heures", -2.917770732084279),+ ("week-endnamed-month", -2.512305623976115)],+ n = 10}}),+ ("named-month",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -4.624972813284271,+ likelihoods = HashMap.fromList [("", 0.0)], n = 100},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("milieu d'apr\232s-midi",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("ce <part-of-day>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.772588722239781,+ likelihoods =+ HashMap.fromList+ [("soir", -1.6094379124341003),+ ("apr\232s-midi", -1.0986122886681098),+ ("hour", -0.7621400520468967)],+ n = 6},+ koData =+ ClassData{prior = -infinity, unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("hh(:|h)mm (time-of-day)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -3.295836866004329,+ likelihoods = HashMap.fromList [("", 0.0)], n = 25},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("number (20..60)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("hier",+ Classifier{okData =+ ClassData{prior = -0.2231435513142097, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -1.6094379124341003,+ unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),+ ("plus tard",+ Classifier{okData =+ ClassData{prior = -1.5040773967762742,+ unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [("", 0.0)], n = 2},+ koData =+ ClassData{prior = -0.25131442828090605,+ unseen = -2.1972245773362196,+ likelihoods = HashMap.fromList [("", 0.0)], n = 7}}),+ ("numbers prefix with -, negative or minus",+ Classifier{okData =+ ClassData{prior = -infinity, unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [], n = 0},+ koData =+ ClassData{prior = 0.0, unseen = -2.833213344056216,+ likelihoods =+ HashMap.fromList+ [("integer (numeric)", -0.2876820724517809),+ ("numbers 22..29 32..39 .. 52..59", -2.0794415416798357),+ ("number (0..16)", -2.0794415416798357)],+ n = 13}}),+ ("dd-dd <month>(interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.3978952727983707,+ likelihoods =+ HashMap.fromList+ [("named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("plus tard <part-of-day>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.3978952727983707,+ likelihoods =+ HashMap.fromList+ [("du|dans le <part-of-day>", -0.6931471805599453),+ ("hour", -0.6931471805599453)],+ n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<datetime>-<day-of-week> dd <month>(interval)",+ Classifier{okData =+ ClassData{prior = -0.6931471805599453,+ unseen = -3.2188758248682006,+ likelihoods =+ HashMap.fromList+ [("intersectnamed-daynamed-month", -2.0794415416798357),+ ("day of month (premier)named-daynamed-month",+ -1.791759469228055),+ ("<day-of-week> <day-of-month>named-daynamed-month",+ -1.791759469228055),+ ("daydaymonth", -0.9808292530117262)],+ n = 8},+ koData =+ ClassData{prior = -0.6931471805599453,+ unseen = -3.2188758248682006,+ likelihoods =+ HashMap.fromList+ [("year (latent)named-daynamed-month", -1.5686159179138452),+ ("hourdaymonth", -1.5686159179138452),+ ("time-of-day (latent)named-daynamed-month",+ -1.5686159179138452),+ ("yeardaymonth", -1.5686159179138452)],+ n = 8}}),+ ("<dim time> du soir",+ Classifier{okData =+ ClassData{prior = -0.2231435513142097, unseen = -2.995732273553991,+ likelihoods =+ HashMap.fromList+ [("\224|vers <time-of-day>", -1.55814461804655),+ ("hour", -0.7472144018302211),+ ("<time-of-day> heures", -1.1526795099383855)],+ n = 8},+ koData =+ ClassData{prior = -1.6094379124341003,+ unseen = -2.0794415416798357,+ likelihoods =+ HashMap.fromList+ [("hour", -0.8472978603872037),+ ("<time-of-day> heures", -0.8472978603872037)],+ n = 2}}),+ ("aujourd'hui",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -3.2188758248682006,+ likelihoods = HashMap.fromList [("", 0.0)], n = 23},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("midi",+ Classifier{okData =+ ClassData{prior = -1.157452788691043, unseen = -2.5649493574615367,+ likelihoods = HashMap.fromList [("", 0.0)], n = 11},+ koData =+ ClassData{prior = -0.37729423114146804,+ unseen = -3.258096538021482,+ likelihoods = HashMap.fromList [("", 0.0)], n = 24}}),+ ("toussaint",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.9459101490553135,+ likelihoods = HashMap.fromList [("", 0.0)], n = 5},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("d\233but de soir\233e",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<day-of-week> <day-of-month>",+ Classifier{okData =+ ClassData{prior = -0.24512245803298496,+ unseen = -3.6888794541139363,+ likelihoods =+ HashMap.fromList+ [("named-daynumber (0..16)", -2.5649493574615367),+ ("named-dayinteger (numeric)", -0.8303483020734304),+ ("day", -0.719122666963206)],+ n = 18},+ koData =+ ClassData{prior = -1.5260563034950494, unseen = -2.639057329615259,+ likelihoods =+ HashMap.fromList+ [("named-dayinteger (numeric)", -0.7731898882334817),+ ("day", -0.7731898882334817)],+ n = 5}}),+ ("d'ici <duration>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.0794415416798357,+ likelihoods =+ HashMap.fromList+ [("week", -1.252762968495368), ("day", -1.252762968495368),+ ("<integer> <unit-of-duration>", -0.8472978603872037)],+ n = 2},+ koData =+ ClassData{prior = -infinity, unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("\224|vers <time-of-day>",+ Classifier{okData =+ ClassData{prior = -0.21936282847430377,+ unseen = -5.420534999272286,+ likelihoods =+ HashMap.fromList+ [("<time> timezone", -4.722953221644475),+ ("<hour-of-day> et|pass\233 de <number>", -4.31748811353631),+ ("hh(:|h)mm (time-of-day)", -4.722953221644475),+ ("midi", -4.31748811353631),+ ("time-of-day (latent)", -1.587459005715325),+ ("<hour-of-day> et|pass\233 de <number> minutes",+ -4.31748811353631),+ ("minuit", -4.722953221644475),+ ("<hour-of-day> et quart", -4.31748811353631),+ ("hour", -0.8622235106038793),+ ("<hour-of-day> et demi", -4.722953221644475),+ ("minute", -2.8511510447428834),+ ("<time-of-day> heures", -1.587459005715325),+ ("<hour-of-day> <integer> (as relative minutes)",+ -3.8066624897703196)],+ n = 106},+ koData =+ ClassData{prior = -1.6247053845648889, unseen = -4.189654742026425,+ likelihoods =+ HashMap.fromList+ [("hh(:|h)mm (time-of-day)", -3.0757749812275272),+ ("time-of-day (latent)", -1.5353299402803784),+ ("hour", -1.0388930539664873), ("minute", -2.5649493574615367),+ ("<time-of-day> heures", -1.8718021769015913),+ ("<hour-of-day> <integer> (as relative minutes)",+ -3.0757749812275272)],+ n = 26}}),+ ("d\233but <named-month>(interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.3978952727983707,+ likelihoods =+ HashMap.fromList+ [("named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("d\233but de matin\233e",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.5649493574615367,+ likelihoods = HashMap.fromList [("", 0.0)], n = 11},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("apr\232s-midi",+ Classifier{okData =+ ClassData{prior = -0.262364264467491, unseen = -2.4849066497880004,+ likelihoods = HashMap.fromList [("", 0.0)], n = 10},+ koData =+ ClassData{prior = -1.466337068793427, unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3}}),+ ("le <ordinal> <cycle> de <time>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.4849066497880004,+ likelihoods =+ HashMap.fromList+ [("daymonth", -1.7047480922384253),+ ("ordinals (premier..seizieme)semaine (grain)named-month",+ -1.7047480922384253),+ ("ordinal (digits)jour (grain)named-month",+ -1.7047480922384253),+ ("weekmonth", -1.2992829841302609),+ ("ordinals (premier..seizieme)semaine (grain)intersect",+ -1.7047480922384253)],+ n = 3},+ koData =+ ClassData{prior = -infinity, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("ordinals (premier..seizieme)",+ Classifier{okData =+ ClassData{prior = -0.916290731874155, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -0.5108256237659907,+ unseen = -2.0794415416798357,+ likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),+ ("minute (grain)",+ Classifier{okData =+ ClassData{prior = -0.2876820724517809,+ unseen = -2.3978952727983707,+ likelihoods = HashMap.fromList [("", 0.0)], n = 9},+ koData =+ ClassData{prior = -1.3862943611198906,+ unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3}}),+ ("deuxi\232me quinzaine de <named-month>(interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<dim time> <part-of-day>",+ Classifier{okData =+ ClassData{prior = -8.183001824763224e-2,+ unseen = -5.834810737062605,+ likelihoods =+ HashMap.fromList+ [("<day-of-month> <named-month>d\233but de journ\233e",+ -5.1387352967235715),+ ("dayhour", -1.6123747721074102),+ ("<day-of-month> <named-month>d\233but de matin\233e",+ -5.1387352967235715),+ ("aujourd'huimilieu d'apr\232s-midi", -5.1387352967235715),+ ("named-monthd\233but d'apr\232s-midi", -5.1387352967235715),+ ("aujourd'huifin d'apr\232s-midi", -5.1387352967235715),+ ("named-monthd\233but de matin\233e", -5.1387352967235715),+ ("aujourd'huimilieu de matin\233e", -5.1387352967235715),+ ("<time-of-day> heuresdu|dans le <part-of-day>",+ -3.6346578999472974),+ ("named-monthd\233but de soir\233e", -5.1387352967235715),+ ("le <time>du|dans le <part-of-day>", -4.222444564849416),+ ("aujourd'huifin de matin\233e", -5.1387352967235715),+ ("aujourd'huifin de soir\233e", -5.1387352967235715),+ ("\224|vers <time-of-day>ce <part-of-day>", -4.445588116163626),+ ("<day-of-month> <named-month>d\233but d'apr\232s-midi",+ -5.1387352967235715),+ ("named-daymatin", -4.733270188615407),+ ("named-monthmilieu de matin\233e", -5.1387352967235715),+ ("demainsoir", -5.1387352967235715),+ ("aujourd'huid\233but de soir\233e", -5.1387352967235715),+ ("named-monthfin de soir\233e", -5.1387352967235715),+ ("<hour-of-day> et demice <part-of-day>", -4.445588116163626),+ ("le <time>fin de matin\233e", -5.1387352967235715),+ ("intersectmilieu de journ\233e", -5.1387352967235715),+ ("intersectfin de journ\233e", -5.1387352967235715),+ ("monthhour", -3.3469758274955166),+ ("le <time>fin d'apr\232s-midi", -5.1387352967235715),+ ("named-monthmilieu d'apr\232s-midi", -5.1387352967235715),+ ("hourhour", -2.1430030231695802),+ ("aujourd'huiau d\233jeuner", -5.1387352967235715),+ ("<hour-of-day> et quartce <part-of-day>", -4.445588116163626),+ ("intersectfin d'apr\232s-midi", -5.1387352967235715),+ ("intersectmilieu d'apr\232s-midi", -5.1387352967235715),+ ("named-monthfin de journ\233e", -5.1387352967235715),+ ("le <time>milieu de journ\233e", -5.1387352967235715),+ ("aujourd'huid\233but de journ\233e", -5.1387352967235715),+ ("demainapr\232s-midi", -5.1387352967235715),+ ("minutehour", -3.26693311982198),+ ("named-daydu|dans le <part-of-day>", -4.733270188615407),+ ("aujourd'huimilieu de journ\233e", -5.1387352967235715),+ ("intersectd\233but de soir\233e", -5.1387352967235715),+ ("aujourd'huifin de journ\233e", -5.1387352967235715),+ ("intersectdu|dans le <part-of-day>", -2.787360039560094),+ ("le <day-of-month> \224 <datetime>du|dans le <part-of-day>",+ -4.733270188615407),+ ("named-monthd\233but de journ\233e", -5.1387352967235715),+ ("intersectd\233but d'apr\232s-midi", -5.1387352967235715),+ ("named-dayfin d'apr\232s-midi", -4.733270188615407),+ ("le <time>d\233but d'apr\232s-midi", -5.1387352967235715),+ ("<day-of-month> <named-month>du|dans le <part-of-day>",+ -4.733270188615407),+ ("<day-of-month> <named-month>d\233but de soir\233e",+ -5.1387352967235715),+ ("hierdu|dans le <part-of-day>", -5.1387352967235715),+ ("le <time>d\233but de soir\233e", -5.1387352967235715),+ ("intersectd\233but de journ\233e", -5.1387352967235715),+ ("le <time>d\233but de matin\233e", -5.1387352967235715),+ ("<day-of-month> <named-month>milieu d'apr\232s-midi",+ -5.1387352967235715),+ ("<day-of-month> <named-month>fin d'apr\232s-midi",+ -5.1387352967235715),+ ("named-daysoir", -5.1387352967235715),+ ("named-monthfin de matin\233e", -5.1387352967235715),+ ("le <time>milieu de matin\233e", -5.1387352967235715),+ ("aujourd'huid\233but de matin\233e", -4.0401230080554615),+ ("le <time>fin de soir\233e", -5.1387352967235715),+ ("<day-of-month> <named-month>milieu de matin\233e",+ -5.1387352967235715),+ ("<day-of-month> <named-month>fin de soir\233e",+ -5.1387352967235715),+ ("<day-of-month> <named-month>fin de matin\233e",+ -5.1387352967235715),+ ("<time-of-day> heuresce <part-of-day>", -4.445588116163626),+ ("named-monthfin d'apr\232s-midi", -5.1387352967235715),+ ("aujourd'huid\233but d'apr\232s-midi", -5.1387352967235715),+ ("le <time>milieu d'apr\232s-midi", -5.1387352967235715),+ ("\224|vers <time-of-day>du|dans le <part-of-day>",+ -4.0401230080554615),+ ("<day-of-month> <named-month>fin de journ\233e",+ -5.1387352967235715),+ ("<day-of-month> <named-month>milieu de journ\233e",+ -5.1387352967235715),+ ("le <time>fin de journ\233e", -5.1387352967235715),+ ("intersectfin de matin\233e", -5.1387352967235715),+ ("named-monthmilieu de journ\233e", -5.1387352967235715),+ ("named-dayapr\232s-midi", -5.1387352967235715),+ ("intersectfin de soir\233e", -5.1387352967235715),+ ("intersectmilieu de matin\233e", -5.1387352967235715),+ ("intersectapr\232s-midi", -4.222444564849416),+ ("le <time>d\233but de journ\233e", -5.1387352967235715),+ ("intersectd\233but de matin\233e", -5.1387352967235715),+ ("hiersoir", -5.1387352967235715)],+ n = 129},+ koData =+ ClassData{prior = -2.5437471498109336, unseen = -4.663439094112067,+ likelihoods =+ HashMap.fromList+ [("dayhour", -3.5553480614894135),+ ("<time-of-day> heuresdu|dans le <part-of-day>",+ -3.2676659890376327),+ ("le <time>du|dans le <part-of-day>", -3.5553480614894135),+ ("aujourd'huidu|dans le <part-of-day>", -3.5553480614894135),+ ("monthhour", -3.5553480614894135),+ ("hourhour", -2.5745188084776873),+ ("<time-of-day> - <time-of-day> (interval)du|dans le <part-of-day>",+ -3.5553480614894135),+ ("named-monthdu|dans le <part-of-day>", -3.5553480614894135)],+ n = 11}}),+ ("jour de l'an",+ 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}}),+ ("time-of-day (latent)",+ Classifier{okData =+ ClassData{prior = -0.5596157879354228, unseen = -4.574710978503383,+ likelihoods =+ HashMap.fromList+ [("integer (numeric)", -0.15762894420358317),+ ("number (0..16)", -2.0794415416798357)],+ n = 92},+ koData =+ ClassData{prior = -0.8472978603872037, unseen = -4.304065093204169,+ likelihoods =+ HashMap.fromList+ [("integer (numeric)", -0.24740817331384096),+ ("numbers 22..29 32..39 .. 52..59", -2.681021528714291),+ ("number (20..60)", -3.597312260588446),+ ("number (0..16)", -2.093234863812172)],+ n = 69}}),+ ("apr\232s-demain",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("year",+ Classifier{okData =+ ClassData{prior = -0.46262352194811296,+ unseen = -2.9444389791664407,+ likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],+ n = 17},+ koData =+ ClassData{prior = -0.9932517730102834,+ unseen = -2.4849066497880004,+ likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],+ n = 10}}),+ ("<hour-of-day> et|pass\233 de <number> minutes",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -3.044522437723423,+ likelihoods =+ HashMap.fromList+ [("\224|vers <time-of-day>number (20..60)", -2.3025850929940455),+ ("<time-of-day> heuresinteger (numeric)", -2.3025850929940455),+ ("\224|vers <time-of-day>number (0..16)", -2.3025850929940455),+ ("hour", -0.916290731874155),+ ("<time-of-day> heuresnumber (20..60)", -1.8971199848858813),+ ("<time-of-day> heuresnumber (0..16)", -1.8971199848858813)],+ n = 7},+ koData =+ ClassData{prior = -infinity, unseen = -1.9459101490553135,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<integer> <unit-of-duration>",+ Classifier{okData =+ ClassData{prior = -0.916290731874155, unseen = -4.204692619390966,+ likelihoods =+ HashMap.fromList+ [("week", -2.580216829592325),+ ("number (0..16)semaine (grain)", -3.0910424533583156),+ ("number (0..16)ann\233e (grain)", -3.0910424533583156),+ ("number (0..16)seconde (grain)", -3.4965075614664802),+ ("number (0..16)jour (grain)", -3.4965075614664802),+ ("second", -3.4965075614664802),+ ("integer (numeric)ann\233e (grain)", -3.4965075614664802),+ ("number (0..16)minute (grain)", -3.0910424533583156),+ ("integer (numeric)jour (grain)", -3.0910424533583156),+ ("day", -2.803360380906535), ("year", -2.803360380906535),+ ("number (0..16)mois (grain)", -3.0910424533583156),+ ("hour", -2.580216829592325),+ ("number (0..16)heure (grain)", -3.0910424533583156),+ ("month", -3.0910424533583156),+ ("integer (numeric)minute (grain)", -2.803360380906535),+ ("minute", -2.3978952727983707),+ ("integer (numeric)semaine (grain)", -3.0910424533583156),+ ("numbers 22..29 32..39 .. 52..59heure (grain)",+ -3.4965075614664802),+ ("integer (numeric)heure (grain)", -3.4965075614664802)],+ n = 22},+ koData =+ ClassData{prior = -0.5108256237659907, unseen = -4.48863636973214,+ likelihoods =+ HashMap.fromList+ [("week", -3.784189633918261),+ ("number (20..60)minute (grain)", -3.784189633918261),+ ("number (0..16)jour (grain)", -3.0910424533583156),+ ("integer (numeric)ann\233e (grain)", -3.784189633918261),+ ("number (0..16)minute (grain)", -3.784189633918261),+ ("day", -3.0910424533583156), ("year", -3.784189633918261),+ ("hour", -1.2584609896100056),+ ("number (0..16)heure (grain)", -1.9123874570166697),+ ("month", -3.784189633918261),+ ("integer (numeric)minute (grain)", -3.784189633918261),+ ("integer (numeric)mois (grain)", -3.784189633918261),+ ("minute", -3.0910424533583156),+ ("integer (numeric)semaine (grain)", -3.784189633918261),+ ("integer (numeric)heure (grain)", -1.9123874570166697)],+ n = 33}}),+ ("avant-hier",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("d\233but de journ\233e",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("entre <time-of-day> et <time-of-day> (interval)",+ Classifier{okData =+ ClassData{prior = -0.1670540846631662,+ unseen = -3.4011973816621555,+ likelihoods =+ HashMap.fromList+ [("hourhour", -2.6741486494265287),+ ("miditime-of-day (latent)", -2.6741486494265287),+ ("minutehour", -0.9694005571881036),+ ("hh(:|h)mm (time-of-day)time-of-day (latent)",+ -2.268683541318364),+ ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",+ -1.9810014688665833),+ ("hh(:|h)mm (time-of-day)<time-of-day> heures",+ -1.9810014688665833),+ ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",+ -2.268683541318364)],+ n = 11},+ koData =+ ClassData{prior = -1.8718021769015913,+ unseen = -2.4849066497880004,+ likelihoods =+ HashMap.fromList+ [("minutehour", -1.2992829841302609),+ ("hh(:|h)mm (time-of-day)time-of-day (latent)",+ -1.7047480922384253),+ ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",+ -1.7047480922384253)],+ n = 2}}),+ ("d\233but du mois",+ Classifier{okData =+ ClassData{prior = -0.6931471805599453,+ unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [("", 0.0)], n = 2},+ koData =+ ClassData{prior = -0.6931471805599453,+ unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),+ ("matin",+ Classifier{okData =+ ClassData{prior = -0.7472144018302211,+ unseen = -2.3978952727983707,+ likelihoods = HashMap.fromList [("", 0.0)], n = 9},+ koData =+ ClassData{prior = -0.6418538861723948,+ unseen = -2.4849066497880004,+ likelihoods = HashMap.fromList [("", 0.0)], n = 10}}),+ ("en <named-month>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.9459101490553135,+ likelihoods =+ HashMap.fromList+ [("named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 2},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("maintenant",+ 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}}),+ ("<day-of-week> 1er-<day-of-week> dd <month>(interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.9459101490553135,+ likelihoods =+ HashMap.fromList+ [("named-daynamed-daynamed-month", -0.6931471805599453),+ ("daydaymonth", -0.6931471805599453)],+ n = 2},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("named-day",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -4.553876891600541,+ likelihoods = HashMap.fromList [("", 0.0)], n = 93},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("au d\233jeuner",+ Classifier{okData =+ ClassData{prior = -0.40546510810816444,+ unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -1.0986122886681098,+ unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),+ ("le lendemain du <time>",+ Classifier{okData =+ ClassData{prior = -1.0986122886681098,+ unseen = -2.1972245773362196,+ likelihoods =+ HashMap.fromList+ [("day", -1.3862943611198906),+ ("<day-of-month> <named-month>", -1.3862943611198906)],+ n = 1},+ koData =+ ClassData{prior = -0.40546510810816444,+ unseen = -2.3978952727983707,+ likelihoods =+ HashMap.fromList+ [("year (latent)", -1.6094379124341003),+ ("time-of-day (latent)", -1.6094379124341003),+ ("year", -1.6094379124341003), ("hour", -1.6094379124341003)],+ n = 2}}),+ ("le <cycle> prochain|suivant|d'apr\232s",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -3.970291913552122,+ likelihoods =+ HashMap.fromList+ [("week", -1.0608719606852628),+ ("ann\233e (grain)", -3.258096538021482),+ ("semaine (grain)", -1.0608719606852628),+ ("mois (grain)", -2.8526314299133175),+ ("day", -2.8526314299133175), ("year", -3.258096538021482),+ ("jour (grain)", -2.8526314299133175),+ ("month", -2.8526314299133175)],+ n = 22},+ koData =+ ClassData{prior = -infinity, unseen = -2.1972245773362196,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("apr\232s <time-of-day>",+ Classifier{okData =+ ClassData{prior = -0.9808292530117262, unseen = -4.219507705176107,+ likelihoods =+ HashMap.fromList+ [("intersect", -1.7197859696029658),+ ("hh(:|h)mm (time-of-day)", -2.8183982582710754),+ ("midi", -3.5115454388310208), ("day", -2.8183982582710754),+ ("time-of-day (latent)", -2.8183982582710754),+ ("hour", -1.4321038971511848), ("minute", -1.9021075263969205),+ ("<time-of-day> heures", -2.8183982582710754),+ ("le <time>", -3.1060803307228566),+ ("<hour-of-day> <integer> (as relative minutes)",+ -2.5952547069568657)],+ n = 27},+ koData =+ ClassData{prior = -0.4700036292457356,+ unseen = -4.6443908991413725,+ likelihoods =+ HashMap.fromList+ [("demain", -3.248434627109745),+ ("intersect", -2.4375044108934163),+ ("le <day-of-month> (non ordinal)", -3.9415818076696905),+ ("midi", -1.415853163361435), ("day", -3.0252910757955354),+ ("time-of-day (latent)", -3.0252910757955354),+ ("au d\233jeuner", -3.9415818076696905),+ ("hour", -0.8970593699462674),+ ("<time-of-day> heures", -3.0252910757955354)],+ n = 45}}),+ ("dd/-mm",+ Classifier{okData =+ ClassData{prior = -0.7375989431307791,+ unseen = -2.5649493574615367,+ likelihoods = HashMap.fromList [("", 0.0)], n = 11},+ koData =+ ClassData{prior = -0.6505875661411494, unseen = -2.639057329615259,+ likelihoods = HashMap.fromList [("", 0.0)], n = 12}}),+ ("minuit",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("entre dd et dd <month>(interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("une <unit-of-duration>",+ Classifier{okData =+ ClassData{prior = -2.174751721484161, unseen = -3.2188758248682006,+ likelihoods =+ HashMap.fromList+ [("week", -2.4849066497880004),+ ("ann\233e (grain)", -2.4849066497880004),+ ("seconde (grain)", -2.4849066497880004),+ ("semaine (grain)", -2.4849066497880004),+ ("second", -2.4849066497880004),+ ("minute (grain)", -2.4849066497880004),+ ("year", -2.4849066497880004),+ ("heure (grain)", -2.4849066497880004),+ ("hour", -2.4849066497880004), ("minute", -2.4849066497880004)],+ n = 5},+ koData =+ ClassData{prior = -0.12062798778861475,+ unseen = -4.532599493153256,+ likelihoods =+ HashMap.fromList+ [("week", -1.2636920390275583),+ ("semaine (grain)", -1.2636920390275583),+ ("mois (grain)", -2.91235066461494), ("day", -2.12389330425067),+ ("jour (grain)", -2.12389330425067),+ ("month", -2.91235066461494)],+ n = 39}}),+ ("<hour-of-day> et quart",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.9444389791664407,+ likelihoods =+ HashMap.fromList+ [("midi", -2.1972245773362196),+ ("\224|vers <time-of-day>", -1.791759469228055),+ ("hour", -0.8109302162163288),+ ("<time-of-day> heures", -1.2809338454620642)],+ n = 7},+ koData =+ ClassData{prior = -infinity, unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("number (0..16)",+ Classifier{okData =+ ClassData{prior = -0.2682639865946794, unseen = -3.713572066704308,+ likelihoods = HashMap.fromList [("", 0.0)], n = 39},+ koData =+ ClassData{prior = -1.4469189829363254, unseen = -2.639057329615259,+ likelihoods = HashMap.fromList [("", 0.0)], n = 12}}),+ ("heure (grain)",+ Classifier{okData =+ ClassData{prior = -1.540445040947149, unseen = -2.0794415416798357,+ likelihoods = HashMap.fromList [("", 0.0)], n = 6},+ koData =+ ClassData{prior = -0.2411620568168881,+ unseen = -3.1780538303479458,+ likelihoods = HashMap.fromList [("", 0.0)], n = 22}}),+ ("<named-month|named-day> dernier|pass\233",+ Classifier{okData =+ ClassData{prior = -2.3978952727983707,+ unseen = -2.5649493574615367,+ likelihoods =+ HashMap.fromList+ [("day", -1.791759469228055), ("named-day", -1.791759469228055)],+ n = 1},+ koData =+ ClassData{prior = -9.53101798043249e-2,+ unseen = -3.4339872044851463,+ likelihoods =+ HashMap.fromList+ [("year (latent)", -2.70805020110221),+ ("en semaine", -2.3025850929940455),+ ("day", -1.791759469228055),+ ("\224|vers <time-of-day>", -2.70805020110221),+ ("time-of-day (latent)", -2.70805020110221),+ ("year", -2.70805020110221), ("hour", -1.6094379124341003),+ ("<time-of-day> heures", -2.0149030205422647),+ ("le <time>", -2.3025850929940455)],+ n = 10}}),+ ("milieu de journ\233e",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("dd/-mm/-yyyy",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.70805020110221,+ likelihoods = HashMap.fromList [("", 0.0)], n = 13},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("fin de semaine",+ 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}}),+ ("dd mm yyyy",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.639057329615259,+ likelihoods = HashMap.fromList [("", 0.0)], n = 12},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("fin du mois",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("day of month (premier)",+ Classifier{okData =+ ClassData{prior = -6.453852113757118e-2,+ unseen = -2.833213344056216,+ likelihoods = HashMap.fromList [("", 0.0)], n = 15},+ koData =+ ClassData{prior = -2.772588722239781, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),+ ("jour (grain)",+ Classifier{okData =+ ClassData{prior = -0.2744368457017603, unseen = -3.044522437723423,+ likelihoods = HashMap.fromList [("", 0.0)], n = 19},+ koData =+ ClassData{prior = -1.4271163556401458,+ unseen = -2.0794415416798357,+ likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),+ ("dd mm",+ Classifier{okData =+ ClassData{prior = -0.40546510810816444,+ unseen = -2.639057329615259,+ likelihoods = HashMap.fromList [("", 0.0)], n = 12},+ koData =+ ClassData{prior = -1.0986122886681098,+ unseen = -2.0794415416798357,+ likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),+ ("dernier <cycle> de <time> (latent)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -3.1354942159291497,+ likelihoods =+ HashMap.fromList+ [("daymonth", -1.4816045409242156),+ ("semaine (grain)intersect", -1.9924301646902063),+ ("weekmonth", -1.4816045409242156),+ ("semaine (grain)named-month", -1.9924301646902063),+ ("jour (grain)intersect", -1.9924301646902063),+ ("jour (grain)named-month", -1.9924301646902063)],+ n = 8},+ koData =+ ClassData{prior = -infinity, unseen = -1.9459101490553135,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("milieu de matin\233e",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [("", 0.0)], n = 3},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("avant le d\233jeuner",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("1er mai",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("fin de soir\233e",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<datetime> - <datetime> (interval)",+ Classifier{okData =+ ClassData{prior = -1.0185695809945732, unseen = -4.454347296253507,+ likelihoods =+ HashMap.fromList+ [("demain<time-of-day> heures", -3.7495040759303713),+ ("day of month (premier)<day-of-week> <day-of-month>",+ -3.056356895370426),+ ("dayhour", -3.3440389678222067),+ ("hh(:|h)mm (time-of-day)<hour-of-day> <integer> (as relative minutes)",+ -3.3440389678222067),+ ("le <day-of-month> (non ordinal)<time-of-day> heures",+ -3.7495040759303713),+ ("minuteminute", -2.044755983691946),+ ("<day-of-month> <named-month><day-of-month> <named-month>",+ -3.3440389678222067),+ ("hh(:|h)mm (time-of-day)hh(:|h)mm (time-of-day)",+ -3.056356895370426),+ ("dayday", -1.8777018990287797),+ ("<day-of-week> <day-of-month><day-of-week> <day-of-month>",+ -3.7495040759303713),+ ("<day-of-month> <named-month>day of month (premier)",+ -3.3440389678222067),+ ("minutehour", -3.3440389678222067),+ ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",+ -3.7495040759303713),+ ("<hour-of-day> <integer> (as relative minutes)hh(:|h)mm (time-of-day)",+ -3.056356895370426),+ ("hh(:|h)mm (time-of-day)<time-of-day> heures",+ -3.7495040759303713),+ ("<hour-of-day> <integer> (as relative minutes)<hour-of-day> <integer> (as relative minutes)",+ -3.3440389678222067),+ ("<day-of-month> <named-month>intersect", -3.3440389678222067),+ ("intersect<day-of-week> <day-of-month>", -3.3440389678222067)],+ n = 26},+ koData =+ ClassData{prior = -0.4480247225269604, unseen = -4.836281906951478,+ likelihoods =+ HashMap.fromList+ [("<hour-of-day> <integer> (as relative minutes)intersect",+ -3.7297014486341915),+ ("monthday", -2.8824035882469876),+ ("intersectnamed-day", -3.7297014486341915),+ ("day of month (premier)named-day", -3.4420193761824103),+ ("named-month<day-of-month> <named-month>",+ -3.7297014486341915),+ ("minuteminute", -3.7297014486341915),+ ("dayday", -1.4961092271270973),+ ("<day-of-week> <day-of-month><day-of-week> <day-of-month>",+ -3.7297014486341915),+ ("day of month (premier)<day-of-month> <named-month>",+ -4.135166556742356),+ ("year<hour-of-day> <integer> (as relative minutes)",+ -3.4420193761824103),+ ("minutehour", -2.631089159966082),+ ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",+ -3.4420193761824103),+ ("day of month (premier)intersect", -2.8824035882469876),+ ("hh(:|h)mm (time-of-day)<time-of-day> heures",+ -3.4420193761824103),+ ("intersectintersect", -3.2188758248682006),+ ("hh(:|h)mm (time-of-day)intersect", -3.7297014486341915),+ ("named-monthintersect", -3.7297014486341915),+ ("<day-of-week> <day-of-month>named-day", -3.4420193761824103),+ ("named-monthday of month (premier)", -3.7297014486341915),+ ("<day-of-week> <day-of-month>intersect", -2.8824035882469876),+ ("yearminute", -3.4420193761824103)],+ n = 46}}),+ ("<day-of-month> <named-month>",+ Classifier{okData =+ ClassData{prior = -0.24256163717131135,+ unseen = -4.653960350157523,+ likelihoods =+ HashMap.fromList+ [("integer (numeric)named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 51},+ koData =+ ClassData{prior = -1.5353299402803784,+ unseen = -3.4339872044851463,+ likelihoods =+ HashMap.fromList+ [("integer (numeric)named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 14}}),+ ("<cycle> prochain|suivant|d'apr\232s",+ Classifier{okData =+ ClassData{prior = -8.338160893905101e-2,+ unseen = -4.007333185232471,+ likelihoods =+ HashMap.fromList+ [("week", -1.0986122886681098),+ ("ann\233e (grain)", -3.295836866004329),+ ("semaine (grain)", -1.0986122886681098),+ ("mois (grain)", -2.890371757896165),+ ("day", -2.6026896854443837), ("year", -3.295836866004329),+ ("jour (grain)", -2.6026896854443837),+ ("month", -2.890371757896165)],+ n = 23},+ koData =+ ClassData{prior = -2.5257286443082556,+ unseen = -2.5649493574615367,+ likelihoods =+ HashMap.fromList+ [("mois (grain)", -1.791759469228055),+ ("day", -1.791759469228055),+ ("jour (grain)", -1.791759469228055),+ ("month", -1.791759469228055)],+ n = 2}}),+ ("fin <named-month>(interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.9459101490553135,+ likelihoods =+ HashMap.fromList+ [("named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 2},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<time-of-day> - <time-of-day> (interval)",+ Classifier{okData =+ ClassData{prior = -1.2321436812926323, unseen = -4.0943445622221,+ likelihoods =+ HashMap.fromList+ [("hh(:|h)mm (time-of-day)<hour-of-day> <integer> (as relative minutes)",+ -2.691243082785829),+ ("minuteminute", -1.3694872428035094),+ ("time-of-day (latent)time-of-day (latent)",+ -3.3843902633457743),+ ("<time-of-day> heures<time-of-day> heures",+ -3.3843902633457743),+ ("hh(:|h)mm (time-of-day)hh(:|h)mm (time-of-day)",+ -2.468099531471619),+ ("hourhour", -2.691243082785829),+ ("minutehour", -2.468099531471619),+ ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",+ -2.691243082785829),+ ("<hour-of-day> <integer> (as relative minutes)hh(:|h)mm (time-of-day)",+ -2.468099531471619),+ ("hh(:|h)mm (time-of-day)<time-of-day> heures",+ -3.3843902633457743),+ ("<hour-of-day> <integer> (as relative minutes)<hour-of-day> <integer> (as relative minutes)",+ -2.691243082785829),+ ("<time-of-day> heurestime-of-day (latent)",+ -3.3843902633457743)],+ n = 21},+ koData =+ ClassData{prior = -0.3448404862917295, unseen = -4.787491742782046,+ likelihoods =+ HashMap.fromList+ [("time-of-day (latent)time-of-day (latent)",+ -1.7833912195575383),+ ("hourhour", -1.3451362886263831),+ ("time-of-day (latent)<hour-of-day> <integer> (as relative minutes)",+ -4.085976312551584),+ ("hourminute", -4.085976312551584),+ ("minutehour", -1.7346010553881064),+ ("hh(:|h)mm (time-of-day)time-of-day (latent)",+ -2.987364023883474),+ ("<hour-of-day> <integer> (as relative minutes)<time-of-day> heures",+ -3.169685580677429),+ ("hh(:|h)mm (time-of-day)<time-of-day> heures",+ -3.169685580677429),+ ("<hour-of-day> <integer> (as relative minutes)time-of-day (latent)",+ -2.6996819514316934),+ ("time-of-day (latent)<time-of-day> heures",+ -2.2942168433235293)],+ n = 51}}),+ ("<named-day> en huit",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.70805020110221,+ likelihoods =+ HashMap.fromList+ [("day", -0.6931471805599453),+ ("named-day", -0.6931471805599453)],+ n = 6},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<hour-of-day> et demi",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.5649493574615367,+ likelihoods =+ HashMap.fromList+ [("midi", -1.791759469228055),+ ("\224|vers <time-of-day>", -1.791759469228055),+ ("hour", -0.8754687373538999),+ ("<time-of-day> heures", -1.3862943611198906)],+ n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -1.6094379124341003,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("dernier week-end de <time>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.6094379124341003,+ likelihoods =+ HashMap.fromList+ [("named-month", -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("du dd au dd(interval)",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("", 0.0)], n = 1},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("ordinal (digits)",+ Classifier{okData =+ ClassData{prior = -1.9459101490553135,+ unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [("", 0.0)], n = 2},+ koData =+ ClassData{prior = -0.15415067982725836,+ unseen = -2.639057329615259,+ likelihoods = HashMap.fromList [("", 0.0)], n = 12}}),+ ("avant <time-of-day>",+ Classifier{okData =+ ClassData{prior = -1.4469189829363254,+ unseen = -2.9444389791664407,+ likelihoods =+ HashMap.fromList+ [("time-of-day (latent)", -1.791759469228055),+ ("hour", -1.2809338454620642),+ ("<time-of-day> heures", -1.791759469228055)],+ n = 4},+ koData =+ ClassData{prior = -0.2682639865946794,+ unseen = -3.6109179126442243,+ likelihoods =+ HashMap.fromList+ [("intersect", -2.890371757896165),+ ("hh(:|h)mm (time-of-day)", -2.890371757896165),+ ("hier", -2.890371757896165), ("day", -2.890371757896165),+ ("time-of-day (latent)", -1.9740810260220096),+ ("au d\233jeuner", -2.890371757896165),+ ("hour", -1.1856236656577395), ("minute", -2.4849066497880004),+ ("<time-of-day> heures", -1.9740810260220096),+ ("<hour-of-day> <integer> (as relative minutes)",+ -2.890371757896165)],+ n = 13}}),+ ("fin d'apr\232s-midi",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.0794415416798357,+ likelihoods = HashMap.fromList [("", 0.0)], n = 6},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<part-of-day> du <dim time>",+ Classifier{okData =+ ClassData{prior = -0.6931471805599453,+ unseen = -1.9459101490553135,+ likelihoods =+ HashMap.fromList+ [("matin<day-of-month> <named-month>", -1.0986122886681098),+ ("hourday", -1.0986122886681098)],+ n = 1},+ koData =+ ClassData{prior = -0.6931471805599453,+ unseen = -1.9459101490553135,+ likelihoods =+ HashMap.fromList+ [("matinyear (latent)", -1.0986122886681098),+ ("houryear", -1.0986122886681098)],+ n = 1}}),+ ("<time-of-day> heures",+ Classifier{okData =+ ClassData{prior = -0.1653924946935067, unseen = -5.655991810819852,+ likelihoods =+ HashMap.fromList+ [("\224|vers <time-of-day>", -1.8238477837795555),+ ("time-of-day (latent)", -1.1526795099383855),+ ("apr\232s <time-of-day>", -4.26619481914876),+ ("hour", -0.7108467576593462),+ ("avant <time-of-day>", -4.553876891600541)],+ n = 139},+ koData =+ ClassData{prior = -1.8809906029559977, unseen = -4.060443010546419,+ likelihoods =+ HashMap.fromList+ [("\224|vers <time-of-day>", -1.7404661748405046),+ ("time-of-day (latent)", -1.9636097261547143),+ ("apr\232s <time-of-day>", -2.4336133554004498),+ ("hour", -0.8241754429663495),+ ("avant <time-of-day>", -2.4336133554004498),+ ("minute", -3.349904087274605),+ ("<hour-of-day> <integer> (as relative minutes)",+ -3.349904087274605)],+ n = 25}}),+ ("week-end",+ Classifier{okData =+ ClassData{prior = -0.6931471805599453,+ unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [("", 0.0)], n = 2},+ koData =+ ClassData{prior = -0.6931471805599453,+ unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),+ ("le <time>",+ Classifier{okData =+ ClassData{prior = -0.2500510042341341, unseen = -5.942799375126701,+ likelihoods =+ HashMap.fromList+ [("week", -2.6820747146989494),+ ("<named-month|named-day> suivant|d'apr\232s",+ -3.742946675384212),+ ("<ordinal> <cycle> de <time>", -4.553876891600541),+ ("premi\232re quinzaine de <named-month>(interval)",+ -5.247024072160486),+ ("intersect", -1.988927534139004),+ ("soir de no\235l", -5.247024072160486),+ ("en semaine", -3.542275979922061),+ ("toussaint", -4.841558964052322), ("day", -1.3968764704504275),+ ("deuxi\232me quinzaine de <named-month>(interval)",+ -5.247024072160486),+ ("<dim time> <part-of-day>", -3.1675825304806504),+ ("dd/-mm", -3.994261103665118),+ ("dd/-mm/-yyyy", -4.553876891600541),+ ("dd mm yyyy", -3.994261103665118),+ ("day of month (premier)", -3.994261103665118),+ ("dd mm", -3.994261103665118), ("hour", -1.9148195619852824),+ ("month", -4.553876891600541),+ ("dernier <cycle> de <time> (latent)", -4.330733340286331),+ ("<day-of-month> <named-month>", -2.6820747146989494),+ ("<cycle> prochain|suivant|d'apr\232s", -2.8956488149970085),+ ("dernier week-end de <time>", -5.247024072160486),+ ("<ordinal> week-end de <time>", -4.841558964052322),+ ("<cycle> dernier", -4.148411783492376)],+ n = 176},+ koData =+ ClassData{prior = -1.5085119938441398, unseen = -4.859812404361672,+ likelihoods =+ HashMap.fromList+ [("<named-month|named-day> suivant|d'apr\232s",+ -4.1588830833596715),+ ("intersect", -3.242592351485517),+ ("en semaine", -2.0794415416798357),+ ("day", -1.556193397915288),+ ("<dim time> <part-of-day>", -3.7534179752515073),+ ("dd/-mm", -3.4657359027997265),+ ("<named-month|named-day> dernier|pass\233",+ -3.7534179752515073),+ ("day of month (premier)", -4.1588830833596715),+ ("dd mm", -3.4657359027997265), ("hour", -2.1439800628174073),+ ("<day-of-month> <named-month>", -4.1588830833596715),+ ("<time-of-day> - <time-of-day> (interval)",+ -2.4541349911212467),+ ("minute", -2.4541349911212467),+ ("<hour-of-day> <integer> (as relative minutes)",+ -2.6548056865833978)],+ n = 50}}),+ ("apr\232s le <day-of-month>",+ Classifier{okData =+ ClassData{prior = -0.40546510810816444,+ unseen = -1.3862943611198906,+ likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],+ n = 2},+ koData =+ ClassData{prior = -1.0986122886681098,+ unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],+ n = 1}}),+ ("n <cycle> passes|precedents",+ Classifier{okData =+ ClassData{prior = -0.40546510810816444,+ unseen = -2.3978952727983707,+ likelihoods =+ HashMap.fromList+ [("week", -1.6094379124341003),+ ("integer (numeric)ann\233e (grain)", -1.6094379124341003),+ ("year", -1.6094379124341003),+ ("integer (numeric)semaine (grain)", -1.6094379124341003)],+ n = 2},+ koData =+ ClassData{prior = -1.0986122886681098,+ unseen = -2.1972245773362196,+ likelihoods =+ HashMap.fromList+ [("hour", -1.3862943611198906),+ ("number (0..16)heure (grain)", -1.3862943611198906)],+ n = 1}}),+ ("il y a <duration>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -2.639057329615259,+ likelihoods =+ HashMap.fromList+ [("week", -1.8718021769015913), ("year", -1.8718021769015913),+ ("<integer> <unit-of-duration>", -0.9555114450274363),+ ("hour", -1.8718021769015913), ("month", -1.8718021769015913)],+ n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<ordinal> week-end de <time>",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.9459101490553135,+ likelihoods =+ HashMap.fromList+ [("ordinals (premier..seizieme)named-month",+ -0.6931471805599453),+ ("month", -0.6931471805599453)],+ n = 2},+ koData =+ ClassData{prior = -infinity, unseen = -1.0986122886681098,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<dim time> du matin",+ Classifier{okData =+ ClassData{prior = -0.13353139262452263,+ unseen = -2.890371757896165,+ likelihoods =+ HashMap.fromList+ [("\224|vers <time-of-day>", -1.7346010553881064),+ ("hour", -0.7537718023763802),+ ("<time-of-day> heures", -1.041453874828161)],+ n = 7},+ koData =+ ClassData{prior = -2.0794415416798357, unseen = -1.791759469228055,+ likelihoods =+ HashMap.fromList+ [("hour", -0.916290731874155),+ ("<time-of-day> heures", -0.916290731874155)],+ n = 1}}),+ ("d\233but d'apr\232s-midi",+ Classifier{okData =+ ClassData{prior = 0.0, unseen = -1.791759469228055,+ likelihoods = HashMap.fromList [("", 0.0)], n = 4},+ koData =+ ClassData{prior = -infinity, unseen = -0.6931471805599453,+ likelihoods = HashMap.fromList [], n = 0}}),+ ("<hour-of-day> <integer> (as relative minutes)",+ Classifier{okData =+ ClassData{prior = -0.8266785731844679, unseen = -4.454347296253507,+ likelihoods =+ HashMap.fromList+ [("minuitnumber (0..16)", -3.3440389678222067),+ ("midinumber (20..60)", -3.7495040759303713),+ ("\224|vers <time-of-day>number (20..60)", -3.7495040759303713),+ ("<time-of-day> heuresinteger (numeric)", -1.264597426142371),+ ("\224|vers <time-of-day>number (0..16)", -3.3440389678222067),+ ("midinumber (0..16)", -3.7495040759303713),+ ("hour", -0.8591323180342064),+ ("<time-of-day> heuresnumber (20..60)", -3.3440389678222067),+ ("\224|vers <time-of-day>integer (numeric)",+ -3.7495040759303713),+ ("<time-of-day> heuresnumber (0..16)", -3.3440389678222067)],+ n = 35},+ koData =+ ClassData{prior = -0.5753641449035618, unseen = -4.663439094112067,+ likelihoods =+ HashMap.fromList+ [("time-of-day (latent)numbers 22..29 32..39 .. 52..59",+ -3.960813169597578),+ ("time-of-day (latent)number (0..16)", -3.5553480614894135),+ ("<time-of-day> heuresinteger (numeric)", -2.5745188084776873),+ ("avant <time-of-day>integer (numeric)", -3.960813169597578),+ ("time-of-day (latent)integer (numeric)", -1.3217558399823195),+ ("apr\232s <time-of-day>integer (numeric)", -3.044522437723423),+ ("hour", -0.8253189536684283),+ ("\224|vers <time-of-day>integer (numeric)",+ -3.5553480614894135),+ ("<time-of-day> heuresnumber (0..16)", -3.960813169597578)],+ n = 45}}), ("<cycle> dernier", Classifier{okData = ClassData{prior = -0.15415067982725836,
Duckling/Time/DE/Corpus.hs view
@@ -630,7 +630,39 @@ , examples (datetime (2013, 12, 10, 0, 0, 0) Day) [ "10.12." ]- , examples (datetimeInterval ((2013, 2, 12, 18, 30, 0), (2013, 2, 12, 19, 1, 0)) Minute)+ , examples (datetimeInterval ((2013, 2, 12, 18, 30, 0), (2013, 2, 12, 19, 1, 0)) Minute) [ "18:30h - 19:00h"+ , "18:30h/19:00h"+ ]+ , examples (datetimeInterval ((2013, 10, 14, 0, 0, 0), (2013, 10, 16, 0, 0, 0)) Day)+ [ "14. - 15.10."+ , "14 - 15.10."+ , "14. - 15.10"+ , "14 - 15.10"+ , "14.10. - 15.10."+ , "14. - 15.10.2013"+ , "14.10. - 15.10.2013"+ , "14./15.10."+ ]+ , examples (datetimeInterval ((2018, 10, 14, 0, 0, 0), (2018, 10, 16, 0, 0, 0)) Day)+ [ "14. - 15.10.18"+ , "14 - 15.10.18"+ , "14.10. - 15.10.2018"+ , "14./15.10.2018"+ , "vom 14.10. - 15.10.2018"+ , "14.10. bis 15.10.2018"+ , "vom 14.10. auf den 15.10.2018"+ , "vom 14.10. bis zum 15.10.2018"+ ]+ , examples (datetime (2013, 10, 10, 0, 0, 0) Day)+ [ "am 10.10."+ , "am 10.10"+ , "10.10"+ ]+ , examples (datetime (2013, 2, 12, 10, 10, 0) Minute)+ [ "um 10.10"+ ]+ , examples (datetime (2013, 2, 12, 17, 10, 0) Minute)+ [ "17h10" ] ]
Duckling/Time/DE/Rules.hs view
@@ -180,7 +180,7 @@ { name = "<datetime> - <datetime> (interval)" , pattern = [ Predicate isNotLatent- , regex "\\-|bis"+ , regex "\\-|bis( zum)?|auf( den)?" , Predicate isNotLatent ] , prod = \tokens -> case tokens of@@ -189,6 +189,54 @@ _ -> Nothing } +ruleDateDateInterval :: Rule+ruleDateDateInterval = Rule+ { name = "dd.(mm.)? - dd.mm.(yy[yy]?)? (interval)"+ , pattern =+ [ regex "(?:vo[nm]\\s+)?(10|20|30|31|[012]?[1-9])\\.?((?<=\\.)(?:10|11|12|0?[1-9])(?:\\.?))?"+ , regex "\\-|/|bis( zum)?|auf( den)?"+ , regex "(10|20|30|31|[012]?[1-9])\\.(10|11|12|0?[1-9])\\.?((?<=\\.)\\d{2,4})?"+ ]+ , prod = \tokens -> case tokens of+ (Token RegexMatch (GroupMatch (d1:"":_)):+ _:+ Token RegexMatch (GroupMatch (d2:m2:"":_)):+ _) -> do+ d1 <- parseInt d1+ d2 <- parseInt d2+ m2 <- parseInt m2+ Token Time <$> interval TTime.Closed (monthDay m2 d1) (monthDay m2 d2)+ (Token RegexMatch (GroupMatch (d1:"":_)):+ _:+ Token RegexMatch (GroupMatch (d2:m2:y:_)):+ _) -> do+ d1 <- parseInt d1+ d2 <- parseInt d2+ m2 <- parseInt m2+ y <- parseInt y+ Token Time <$> interval TTime.Closed (yearMonthDay y m2 d1) (yearMonthDay y m2 d2)+ (Token RegexMatch (GroupMatch (d1:m1:_)):+ _:+ Token RegexMatch (GroupMatch (d2:m2:"":_)):+ _) -> do+ d1 <- parseInt d1+ d2 <- parseInt d2+ m1 <- parseInt m1+ m2 <- parseInt m2+ Token Time <$> interval TTime.Closed (monthDay m1 d1) (monthDay m2 d2)+ (Token RegexMatch (GroupMatch (d1:m1:_)):+ _:+ Token RegexMatch (GroupMatch (d2:m2:y:_)):+ _) -> do+ d1 <- parseInt d1+ d2 <- parseInt d2+ m1 <- parseInt m1+ m2 <- parseInt m2+ y <- parseInt y+ Token Time <$> interval TTime.Closed (yearMonthDay y m1 d1) (yearMonthDay y m2 d2)+ _ -> Nothing+ }+ ruleNamedmonth7 :: Rule ruleNamedmonth7 = Rule { name = "named-month"@@ -268,7 +316,7 @@ , pattern = [ regex "vo[nm]" , dimension Time- , regex "\\-|bis"+ , regex "\\-|bis( zum)?|auf( den)?" , dimension Time ] , prod = \tokens -> case tokens of@@ -328,7 +376,7 @@ { name = "<month> dd-dd (interval)" , pattern = [ regex "([012]?\\d|30|31)(ter|\\.)?"- , regex "\\-|bis"+ , regex "\\-|bis( zum)?|auf( den)?" , regex "([012]?\\d|30|31)(ter|\\.)?" , Predicate isAMonth ]@@ -754,7 +802,7 @@ ruleMmdd = Rule { name = "mm/dd" , pattern =- [ regex "([012]?[1-9]|10|20|30|31)\\.(0?[1-9]|10|11|12)\\."+ [ regex "(?:am\\s+)?([012]?[1-9]|10|20|30|31)\\.(10|11|12|0?[1-9])\\.?" ] , prod = \tokens -> case tokens of (Token RegexMatch (GroupMatch (m1:m2:_)):_) -> do@@ -1565,7 +1613,7 @@ ruleHhmm = Rule { name = "hh:mm" , pattern =- [ regex "((?:[01]?\\d)|(?:2[0-3]))[:.]([0-5]\\d)(?:uhr|h)?"+ [ regex "((?:[01]?\\d)|(?:2[0-3]))[:.h]([0-5]\\d)(?:uhr|h)?" ] , prod = \tokens -> case tokens of (Token RegexMatch (GroupMatch (m1:m2:_)):_) -> do@@ -1715,7 +1763,7 @@ { name = "<time-of-day> - <time-of-day> (interval)" , pattern = [ Predicate isATimeOfDay- , regex "\\-|bis"+ , regex "\\-|/|bis" , Predicate $ liftM2 (&&) isATimeOfDay isNotLatent ] , prod = \tokens -> case tokens of@@ -1929,6 +1977,7 @@ , ruleChristmas , ruleChristmasEve , ruleDatetimeDatetimeInterval+ , ruleDateDateInterval , ruleDayofmonthNonOrdinalNamedmonth , ruleDayofmonthNonOrdinalOfNamedmonth , ruleDayofmonthOrdinal
Duckling/Time/EN/Corpus.hs view
@@ -13,13 +13,13 @@ , negativeCorpus ) where -import Prelude import Data.String+import Prelude +import Duckling.Testing.Types hiding (examples) import Duckling.Time.Corpus import Duckling.Time.Types hiding (Month) import Duckling.TimeGrain.Types hiding (add)-import Duckling.Testing.Types hiding (examples) corpus :: Corpus corpus = (testContext, allExamples)@@ -34,6 +34,15 @@ , "25" , "this is the one" , "in 61"+ , "this one"+ , "this past one"+ , "at single"+ , "at a couple of"+ , "at pairs"+ , "at a few"+ , "at dozens"+ , "single o'clock"+ , "dozens o'clock" ] allExamples :: [Example]@@ -47,6 +56,9 @@ [ "today" , "at this time" ]+ , examples (datetime (2013, 2, 1, 0, 0, 0) Day)+ [ "2/2013"+ ] , examples (datetime (2013, 2, 11, 0, 0, 0) Day) ["yesterday"] , examples (datetime (2013, 2, 13, 0, 0, 0) Day)@@ -117,6 +129,8 @@ , "on 2/15" , "February 15" , "2 / 15"+ , "2-15"+ , "2 - 15" ] , examples (datetime (2013, 8, 8, 0, 0, 0) Day) ["Aug 8"]@@ -316,7 +330,8 @@ , "half three" ] , examples (datetime (2013, 2, 12, 15, 23, 24) Second)- ["15:23:24"]+ [ "15:23:24"+ ] , examples (datetime (2013, 2, 12, 11, 45, 0) Minute) [ "a quarter to noon" , "11:45am"@@ -330,13 +345,17 @@ , "in the evening at eight" ] , examples (datetime (2013, 9, 20, 19, 30, 0) Minute)- ["at 7:30 PM on Fri, Sep 20"]+ [ "at 7:30 PM on Fri, Sep 20"+ ] , examples (datetime (2013, 2, 16, 9, 0, 0) Hour)- ["at 9am on Saturday"]+ [ "at 9am on Saturday"+ ] , examples (datetime (2013, 2, 16, 9, 0, 0) Hour)- ["on Saturday for 9am"]+ [ "on Saturday for 9am"+ ] , examples (datetime (2014, 7, 18, 19, 0, 0) Minute)- ["Fri, Jul 18, 2014 07:00 PM"]+ [ "Fri, Jul 18, 2014 07:00 PM"+ ] , examples (datetime (2013, 2, 12, 4, 30, 1) Second) [ "in a sec" , "one second from now"@@ -351,9 +370,16 @@ [ "in 2 minutes" , "in 2 more minutes" , "2 minutes from now"+ , "in a couple of minutes"+ , "in a pair of minutes" ]+ , examples (datetime (2013, 2, 12, 4, 33, 0) Second)+ [ "in three minutes"+ , "in a few minutes"+ ] , examples (datetime (2013, 2, 12, 5, 30, 0) Second)- ["in 60 minutes"]+ [ "in 60 minutes"+ ] , examples (datetime (2013, 2, 12, 4, 45, 0) Second) [ "in a quarter of an hour" , "in 1/4h"@@ -635,11 +661,14 @@ , "July 13 thru 15" , "July 13 through 15" , "July 13 - July 15"+ , "from July 13-15" ] , examples (datetimeInterval ((2013, 8, 8, 0, 0, 0), (2013, 8, 13, 0, 0, 0)) Day)- ["Aug 8 - Aug 12"]+ [ "Aug 8 - Aug 12"+ ] , examples (datetimeInterval ((2013, 2, 12, 9, 30, 0), (2013, 2, 12, 11, 1, 0)) Minute)- ["9:30 - 11:00"]+ [ "9:30 - 11:00"+ ] , examples (datetimeInterval ((2013, 2, 14, 9, 30, 0), (2013, 2, 14, 11, 1, 0)) Minute) [ "from 9:30 - 11:00 on Thursday" , "between 9:30 and 11:00 on thursday"@@ -793,5 +822,16 @@ ] , examples (datetimeInterval ((2013, 3, 21, 0, 0, 0), (2013, 4, 1, 0, 0, 0)) Day) [ "late March"+ ]+ , examples (datetimeInterval ((2013, 10, 25, 18, 0, 0), (2013, 10, 28, 0, 0, 0)) Hour)+ [ "last weekend of October"+ , "last week-end in October"+ , "last week end of October"+ ]+ , examples (datetimeInterval ((2013, 7, 26, 18, 0, 0), (2013, 7, 29, 0, 0, 0)) Hour)+ [ "last wkend of July"+ ]+ , examples (datetimeInterval ((2017, 10, 27, 18, 0, 0), (2017, 10, 30, 0, 0, 0)) Hour)+ [ "last weekend of October 2017" ] ]
Duckling/Time/EN/Rules.hs view
@@ -16,22 +16,22 @@ import Control.Monad (liftM2) import Data.Maybe import Data.Text (Text)-import qualified Data.Text as Text import Prelude+import qualified Data.Text as Text import Duckling.Dimensions.Types import Duckling.Duration.Helpers (duration) import Duckling.Numeral.Helpers (parseInt) import Duckling.Numeral.Types (NumeralData (..))-import qualified Duckling.Numeral.Types as TNumeral import Duckling.Ordinal.Types (OrdinalData (..))-import qualified Duckling.Ordinal.Types as TOrdinal import Duckling.Regex.Types import Duckling.Time.Helpers import Duckling.Time.Types (TimeData (..))+import Duckling.Types+import qualified Duckling.Numeral.Types as TNumeral+import qualified Duckling.Ordinal.Types as TOrdinal import qualified Duckling.Time.Types as TTime import qualified Duckling.TimeGrain.Types as TG-import Duckling.Types ruleIntersect :: Rule ruleIntersect = Rule@@ -142,7 +142,7 @@ { name = "this <time>" , pattern = [ regex "this|current|coming"- , dimension Time+ , Predicate isNotLatent ] , prod = \tokens -> case tokens of (_:Token Time td:_) -> tt $ predNth 0 False td@@ -166,13 +166,25 @@ { name = "last <time>" , pattern = [ regex "(this past|last|previous)"- , dimension Time+ , Predicate isNotLatent ] , prod = \tokens -> case tokens of (_:Token Time td:_) -> tt $ predNth (- 1) False td _ -> Nothing } +ruleLastWeekendOfMonth :: Rule+ruleLastWeekendOfMonth = Rule+ { name = "last weekend of <named-month>"+ , pattern =+ [ regex "last\\s(week(\\s|-)?end|wkend)\\s(of|in)"+ , Predicate isAMonth+ ]+ , prod = \tokens -> case tokens of+ (_:Token Time td2:_) -> tt $ predLastOf weekend td2+ _ -> Nothing+ }+ ruleTimeBeforeLastAfterNext :: Rule ruleTimeBeforeLastAfterNext = Rule { name = "<time> before last|after next"@@ -435,7 +447,9 @@ ruleTODLatent :: Rule ruleTODLatent = Rule { name = "time-of-day (latent)"- , pattern = [Predicate $ isIntegerBetween 0 23]+ , pattern =+ [ Predicate $ liftM2 (&&) isNumeralSafeToUse (isIntegerBetween 0 23)+ ] , prod = \tokens -> case tokens of (token:_) -> do n <- getIntValue token@@ -669,6 +683,20 @@ _ -> Nothing } +ruleMMYYYY :: Rule+ruleMMYYYY = Rule+ { name = "mm/yyyy"+ , pattern =+ [ regex "(0?[1-9]|1[0-2])[/-](\\d{4})"+ ]+ , prod = \tokens -> case tokens of+ (Token RegexMatch (GroupMatch (mm:yy:_)):_) -> do+ y <- parseInt yy+ m <- parseInt mm+ tt $ yearMonthDay y m 1+ _ -> Nothing+ }+ ruleMMDDYYYY :: Rule ruleMMDDYYYY = Rule { name = "mm/dd/yyyy"@@ -699,7 +727,7 @@ ruleMMDD :: Rule ruleMMDD = Rule { name = "mm/dd"- , pattern = [regex "(0?[1-9]|1[0-2])\\s?/\\s?(3[01]|[12]\\d|0?[1-9])"]+ , pattern = [regex "(0?[1-9]|1[0-2])\\s?[/-]\\s?(3[01]|[12]\\d|0?[1-9])"] , prod = \tokens -> case tokens of (Token RegexMatch (GroupMatch (mm:dd:_)):_) -> do m <- parseInt mm@@ -831,11 +859,10 @@ ruleWeekend :: Rule ruleWeekend = Rule { name = "week-end"- , pattern = [regex "(week(\\s|-)?end|wkend)"]- , prod = \_ -> do- fri <- intersect (dayOfWeek 5) (hour False 18)- mon <- intersect (dayOfWeek 1) (hour False 0)- Token Time <$> interval TTime.Open fri mon+ , pattern =+ [ regex "(week(\\s|-)?end|wkend)"+ ]+ , prod = \_ -> tt weekend } ruleSeasons :: Rule@@ -897,11 +924,11 @@ , regex "(3[01]|[12]\\d|0?[1-9])" ] , prod = \tokens -> case tokens of- ( Token Time td- :Token RegexMatch (GroupMatch (d1:_))- :_- :Token RegexMatch (GroupMatch (d2:_))- :_) -> do+ (Token Time td:+ Token RegexMatch (GroupMatch (d1:_)):+ _:+ Token RegexMatch (GroupMatch (d2:_)):+ _) -> do dd1 <- parseInt d1 dd2 <- parseInt d2 dom1 <- intersect (dayOfMonth dd1) td@@ -910,6 +937,31 @@ _ -> Nothing } +ruleIntervalFromMonthDDDD :: Rule+ruleIntervalFromMonthDDDD = Rule+ { name = "from <month> dd-dd (interval)"+ , pattern =+ [ regex "from"+ , Predicate isAMonth+ , regex "(3[01]|[12]\\d|0?[1-9])"+ , regex "\\-|to|th?ru|through|(un)?til(l)?"+ , regex "(3[01]|[12]\\d|0?[1-9])"+ ]+ , prod = \tokens -> case tokens of+ (_:+ Token Time td:+ Token RegexMatch (GroupMatch (d1:_)):+ _:+ Token RegexMatch (GroupMatch (d2:_)):+ _) -> do+ dd1 <- parseInt d1+ dd2 <- parseInt d2+ dom1 <- intersect (dayOfMonth dd1) td+ dom2 <- intersect (dayOfMonth dd2) td+ Token Time <$> interval TTime.Closed dom1 dom2+ _ -> Nothing+ }+ -- Blocked for :latent time. May need to accept certain latents only, like hours ruleIntervalDash :: Rule ruleIntervalDash = Rule@@ -1532,6 +1584,7 @@ , ruleTimeBeforeLastAfterNext , ruleLastDOWOfTime , ruleLastCycleOfTime+ , ruleLastWeekendOfMonth , ruleNthTimeOfTime , ruleTheNthTimeOfTime , ruleNthTimeAfterTime@@ -1569,6 +1622,7 @@ , ruleMMDDYYYY , ruleYYYYMMDD , ruleMMDD+ , ruleMMYYYY , ruleNoonMidnightEOD , rulePartOfDays , ruleEarlyMorning@@ -1582,6 +1636,7 @@ , ruleSeasons , ruleTODPrecision , rulePrecisionTOD+ , ruleIntervalFromMonthDDDD , ruleIntervalMonthDDDD , ruleIntervalDash , ruleIntervalFrom
Duckling/Time/FR/Corpus.hs view
@@ -9,10 +9,11 @@ {-# LANGUAGE OverloadedStrings #-} module Duckling.Time.FR.Corpus- ( corpus ) where+ ( corpus+ ) where -import Prelude import Data.String+import Prelude import Duckling.Lang import Duckling.Resolve@@ -489,14 +490,27 @@ , "l'après-midi" ] , examples (datetimeInterval ((2013, 2, 12, 7, 0, 0), (2013, 2, 12, 9, 0, 0)) Hour)- [ "en début de matinée"+ [ "aujourd'hui en début de matinée"+ , "en début de matinée"+ , "le 12 février en début de matinée" , "aujourd'hui très tôt le matin" , "aujourd'hui tôt le matin" , "aujourd'hui le matin tôt" , "aujourd'hui le matin très tôt"+ , "le matin très tôt"+ , "le matin tôt"+ , "tôt le matin"+ , "très tôt le matin" ]+ , examples (datetimeInterval ((2013, 2, 12, 9, 0, 0), (2013, 2, 12, 11, 0, 0)) Hour)+ [ "aujourd'hui en milieu de matinée"+ , "le 12 février en milieu de matinée"+ , "en milieu de matinée"+ ] , examples (datetimeInterval ((2013, 2, 12, 10, 0, 0), (2013, 2, 12, 12, 0, 0)) Hour)- [ "en fin de matinée"+ [ "aujourd'hui en fin de matinée"+ , "en fin de matinée"+ , "le 12 février en fin de matinée" ] , examples (datetimeInterval ((2013, 2, 12, 13, 0, 0), (2013, 2, 12, 17, 0, 0)) Hour) [ "après déjeuner"@@ -506,6 +520,9 @@ ] , examples (datetimeInterval ((2013, 2, 12, 12, 0, 0), (2013, 2, 12, 14, 0, 0)) Hour) [ "aujourd'hui pendant le déjeuner"+ , "à l'heure du déjeuner"+ , "au moment de déjeuner"+ , "pendant le déjeuner" ] , examples (datetimeInterval ((2013, 2, 12, 17, 0, 0), (2013, 2, 12, 21, 0, 0)) Hour) [ "après le travail"@@ -515,25 +532,57 @@ , "dès la matinée" ] , examples (datetimeInterval ((2013, 2, 12, 12, 0, 0), (2013, 2, 12, 14, 0, 0)) Hour)- [ "en début d'après-midi"+ [ "aujourd'hui en début d'après-midi"+ , "en début d'après-midi"+ , "le 12 février en début d'après-midi"+ , "au début de l'après-midi" ]+ , examples (datetimeInterval ((2013, 2, 12, 14, 0, 0), (2013, 2, 12, 17, 0, 0)) Hour)+ [ "aujourd'hui en milieu d'après-midi"+ , "en milieu d'après-midi"+ , "le 12 février en milieu d'après-midi"+ , "au milieu de l'après-midi"+ ] , examples (datetimeInterval ((2013, 2, 12, 17, 0, 0), (2013, 2, 12, 19, 0, 0)) Hour)- [ "en fin d'après-midi"+ [ "aujourd'hui en fin d'après-midi"+ , "en fin d'après-midi"+ , "le 12 février en fin d'après-midi"+ , "à la fin de l'après-midi" ] , examples (datetimeInterval ((2013, 2, 12, 6, 0, 0), (2013, 2, 12, 10, 0, 0)) Hour)- [ "en début de journée"+ [ "aujourd'hui en début de journée"+ , "le 12 février en début de journée"+ , "en début de journée"+ , "au début de la journée" ]+ , examples (datetimeInterval ((2013, 2, 12, 11, 0, 0), (2013, 2, 12, 16, 0, 0)) Hour)+ [ "aujourd'hui en milieu de journée"+ , "en milieu de journée"+ , "le 12 février en milieu de journée"+ , "au milieu de la journée"+ ] , examples (datetimeInterval ((2013, 2, 12, 17, 0, 0), (2013, 2, 12, 21, 0, 0)) Hour)- [ "en fin de journée"+ [ "aujourd'hui en fin de journée"+ , "en fin de journée"+ , "le 12 février en fin de journée"+ , "à la fin de la journée" ] , examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 13, 0, 0, 0)) Hour) [ "ce soir"+ , "le soir"+ , "dans la soirée" ] , examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 12, 21, 0, 0)) Hour)- [ "en début de soirée"+ [ "aujourd'hui en début de soirée"+ , "en début de soirée"+ , "le 12 février en début de soirée"+ , "au début de la soirée" ] , examples (datetimeInterval ((2013, 2, 12, 21, 0, 0), (2013, 2, 13, 0, 0, 0)) Hour)- [ "en fin de soirée"+ [ "aujourd'hui en fin de soirée"+ , "en fin de soirée"+ , "le 12 février en fin de soirée"+ , "à la fin de la soirée" ] , examples (datetimeInterval ((2013, 2, 13, 18, 0, 0), (2013, 2, 14, 0, 0, 0)) Hour) [ "demain soir"@@ -549,12 +598,15 @@ ] , examples (datetimeInterval ((2013, 2, 11, 0, 0, 0), (2013, 2, 13, 0, 0, 0)) Day) [ "en début de semaine"+ , "au début de la semaine" ] , examples (datetimeInterval ((2013, 2, 13, 0, 0, 0), (2013, 2, 15, 0, 0, 0)) Day) [ "en milieu de semaine"+ , "au milieu de la semaine" ] , examples (datetimeInterval ((2013, 2, 14, 0, 0, 0), (2013, 2, 18, 0, 0, 0)) Day) [ "en fin de semaine"+ , "à la fin de la semaine" ] , examples (datetimeInterval ((2013, 2, 11, 0, 0, 0), (2013, 2, 16, 0, 0, 0)) Day) [ "en semaine"@@ -685,10 +737,12 @@ , examples (datetimeOpenInterval After (2013, 2, 14, 9, 30, 0) Minute) [ "à partir de 9h30 jeudi" , "jeudi après 9h30"+ , "jeudi plus tard que 9h30" , "jeudi matin à partir de 9 heures 30" ] , examples (datetimeOpenInterval After (2013, 11, 1, 16, 0, 0) Hour) [ "après 16h le 1er novembre"+ , "plus tard que 16h le 1er novembre" ] , examples (datetimeOpenInterval After (2013, 11, 1, 0, 0, 0) Day) [ "après le 1er novembre"@@ -738,7 +792,7 @@ , examples (datetime (2013, 2, 12, 13, 0, 0) Minute) [ "à seize heures CET" ]- , examples (datetimeInterval ((2013, 3, 25, 0, 0, 0), (2013, 4, 1, 0, 0, 0)) Day)+ , examples (datetimeInterval ((2013, 3, 21, 0, 0, 0), (2013, 4, 1, 0, 0, 0)) Day) [ "fin mars" , "fin du mois de mars" ]@@ -759,6 +813,22 @@ , examples (datetimeInterval ((2013, 12, 10, 0, 0, 0), (2013, 12, 20, 0, 0, 0)) Day) [ "mi-décembre" ]+ , examples (datetimeInterval ((2013, 2, 21, 0, 0, 0), (2013, 3, 1, 0, 0, 0)) Day)+ [ "en fin de mois"+ , "à la fin du mois"+ ]+ , examples (datetimeInterval ((2013, 11, 1, 0, 0, 0), (2014, 1, 1, 0, 0, 0)) Month)+ [ "en fin d'année"+ , "à la fin de l'année"+ ]+ , examples (datetimeInterval ((2013, 1, 1, 0, 0, 0), (2013, 3, 1, 0, 0, 0)) Month)+ [ "en début d'année"+ , "au début de l'année"+ ]+ , examples (datetimeInterval ((2013, 3, 1, 0, 0, 0), (2013, 3, 11, 0, 0, 0)) Day)+ [ "au début du mois"+ , "en début de mois"+ ] , examples (datetime (2013, 3, 0, 0, 0, 0) Month) [ "mars" , "en mars"@@ -770,5 +840,17 @@ ] , examples (datetime (2013, 8, 15, 8, 0, 0) Hour) [ "jeudi 15 à 8h"+ ]+ , examples (datetimeOpenInterval After (2013, 2, 12, 4, 40, 0) Minute)+ [ "plus tard"+ , "un peu plus tard"+ ]+ , examples (datetimeInterval ((2013, 2, 12, 12, 0, 0), (2013, 2, 12, 19, 0, 0)) Hour)+ [ "plus tard dans l'après-midi"+ , "un peu plus tard dans l'après-midi"+ ]+ , examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 13, 00, 0, 0)) Hour)+ [ "plus tard dans la soirée"+ , "un peu plus tard dans la soirée" ] ]
Duckling/Time/FR/Rules.hs view
@@ -21,9 +21,9 @@ import Duckling.Regex.Types import Duckling.Time.Helpers import Duckling.Time.Types (TimeData (..))+import Duckling.Types import qualified Duckling.Time.Types as TTime import qualified Duckling.TimeGrain.Types as TG-import Duckling.Types ruleAujourdhui :: Rule ruleAujourdhui = Rule@@ -64,16 +64,146 @@ , prod = \_ -> tt . cycleNth TG.Day $ - 1 } +ruleDbutDeSoire :: Rule+ruleDbutDeSoire = Rule+ { name = "début de soirée"+ , pattern =+ [ regex "(en |au )?d(\x00e9|e)but de (la )?soir(\x00e9|e)e"+ ]+ , prod = \_ -> Token Time . partOfDay <$>+ interval TTime.Open (hour False 18) (hour False 21)+ }++ruleFinDeSoire :: Rule+ruleFinDeSoire = Rule+ { name = "fin de soirée"+ , pattern =+ [ regex "(en |(\x00e0|a) la )?fin de (la )?soir(\x00e9|e)e"+ ]+ , prod = \_ -> Token Time . partOfDay <$>+ interval TTime.Open (hour False 21) (hour False 0)+ }++ruleDbutDeMatine :: Rule+ruleDbutDeMatine = Rule+ { name = "début de matinée"+ , pattern =+ [ regex "le matin (tr(e|\x00e8)s )?t(\x00f4|o)t|(tr(e|\x00e8)s )?t(\x00f4|o)t le matin|(en |au )?d(\x00e9|e)but de (la )?matin(\x00e9|e)e"+ ]+ , prod = \_ -> Token Time . partOfDay <$>+ interval TTime.Open (hour False 7) (hour False 9)+ }++ruleMilieuDeMatine :: Rule+ruleMilieuDeMatine = Rule+ { name = "milieu de matinée"+ , pattern =+ [ regex "(en |au )?milieu de (la )?matin(\x00e9|e)e"+ ]+ , prod = \_ -> Token Time . partOfDay <$>+ interval TTime.Open (hour False 9) (hour False 11)+ }++ruleFinDeMatine :: Rule+ruleFinDeMatine = Rule+ { name = "fin de matinée"+ , pattern =+ [ regex "(en |(\x00e0|a) la )?fin de (la )?matin(\x00e9|e)e"+ ]+ , prod = \_ -> Token Time . partOfDay <$>+ interval TTime.Open (hour False 10) (hour False 12)+ }++ruleDbutDaprsmidi :: Rule+ruleDbutDaprsmidi = Rule+ { name = "début d'après-midi"+ , pattern =+ [ regex "(au |en )?d(\x00e9|e)but (d'|de l')apr(e|\x00e9|\x00e8)s( |\\-)midi"+ ]+ , prod = \_ -> Token Time . partOfDay <$>+ interval TTime.Open (hour False 12) (hour False 14)+ }++ruleMilieuDaprsmidi :: Rule+ruleMilieuDaprsmidi = Rule+ { name = "milieu d'après-midi"+ , pattern =+ [ regex "(au |en )?milieu (d'|de l')apr(e|\x00e9|\x00e8)s( |\\-)midi"+ ]+ , prod = \_ -> Token Time . partOfDay <$>+ interval TTime.Open (hour False 14) (hour False 17)+ }++ruleFinDaprsmidi :: Rule+ruleFinDaprsmidi = Rule+ { name = "fin d'après-midi"+ , pattern =+ [ regex "((\x00e0|a) la |en )?fin (d'|de l')apr(e|\x00e9|\x00e8)s( |\\-)midi"+ ]+ , prod = \_ -> Token Time . partOfDay <$>+ interval TTime.Open (hour False 17) (hour False 19)+ }+ ruleDbutDeJourne :: Rule ruleDbutDeJourne = Rule { name = "début de journée" , pattern =- [ regex "d(\x00e9|e)but de journ(\x00e9|e)e"+ [ regex "(en |au )?d(\x00e9|e)but de (la )?journ(\x00e9|e)e" ]- , prod = \_ -> Token Time . partOfDay . mkLatent <$>+ , prod = \_ -> Token Time . partOfDay <$> interval TTime.Open (hour False 6) (hour False 10) } +ruleMilieuDeJourne :: Rule+ruleMilieuDeJourne = Rule+ { name = "milieu de journée"+ , pattern =+ [ regex "(en |au )?milieu de (la )?journ(\x00e9|e)e"+ ]+ , prod = \_ -> Token Time . partOfDay <$>+ interval TTime.Open (hour False 11) (hour False 16)+ }++ruleFinDeJourne :: Rule+ruleFinDeJourne = Rule+ { name = "fin de journée"+ , pattern =+ [ regex "(en |(\x00e0|a) la )?fin de (la )?journ(\x00e9|e)e"+ ]+ , prod = \_ -> Token Time . partOfDay <$>+ interval TTime.Open (hour False 17) (hour False 21)+ }++ruleDbutDeSemaine :: Rule+ruleDbutDeSemaine = Rule+ { name = "début de semaine"+ , pattern =+ [ regex "(en |au )?d(\x00e9|e)but de (cette |la )?semaine"+ ]+ , prod = \_ -> Token Time <$>+ interval TTime.Open (dayOfWeek 1) (dayOfWeek 2)+ }++ruleMilieuDeSemaine :: Rule+ruleMilieuDeSemaine = Rule+ { name = "milieu de semaine"+ , pattern =+ [ regex "(en |au )?milieu de (cette |la )?semaine"+ ]+ , prod = \_ -> Token Time <$>+ interval TTime.Open (dayOfWeek 3) (dayOfWeek 4)+ }++ruleFinDeSemaine :: Rule+ruleFinDeSemaine = Rule+ { name = "fin de semaine"+ , pattern =+ [ regex "(en |(\x00e0|a) la )?fin de (cette |la )?semaine"+ ]+ , prod = \_ -> Token Time <$>+ interval TTime.Open (dayOfWeek 4) (dayOfWeek 7)+ }+ ruleLeLendemainDuTime :: Rule ruleLeLendemainDuTime = Rule { name = "le lendemain du <time>"@@ -785,36 +915,6 @@ interval TTime.Open (hour False 18) (hour False 0) } -ruleDbutDeSoire :: Rule-ruleDbutDeSoire = Rule- { name = "début de soirée"- , pattern =- [ regex "d(\x00e9|e)but de soir(\x00e9|e)e?"- ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>- interval TTime.Open (hour False 18) (hour False 21)- }--ruleFinDeSoire :: Rule-ruleFinDeSoire = Rule- { name = "fin de soirée"- , pattern =- [ regex "fin de soir(\x00e9|e)e?"- ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>- interval TTime.Open (hour False 21) (hour False 0)- }--ruleDbutDeMatine :: Rule-ruleDbutDeMatine = Rule- { name = "début de matinée"- , pattern =- [ regex "le matin (tr(e|\x00e8)s )?t(\x00f4|o)t|(tr(e|\x00e8)s )?t(\x00f4|o)t le matin|d(\x00e9|e)but de matin(\x00e9|e)e"- ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>- interval TTime.Open (hour False 7) (hour False 9)- }- ruleNamedday5 :: Rule ruleNamedday5 = Rule { name = "named-day"@@ -901,26 +1001,6 @@ , prod = \_ -> tt $ month 2 } -ruleMilieuDeJourne :: Rule-ruleMilieuDeJourne = Rule- { name = "milieu de journée"- , pattern =- [ regex "milieu de journ(\x00e9|e)e"- ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>- interval TTime.Open (hour False 11) (hour False 16)- }--ruleFinDeJourne :: Rule-ruleFinDeJourne = Rule- { name = "fin de journée"- , pattern =- [ regex "fin de journ(\x00e9|e)e"- ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>- interval TTime.Open (hour False 17) (hour False 21)- }- ruleLeCycleDeTime :: Rule ruleLeCycleDeTime = Rule { name = "le <cycle> de <time>"@@ -960,7 +1040,7 @@ ruleAprsmidi = Rule { name = "après-midi" , pattern =- [ regex "apr(e|\x00e9|\x00e8)s?[ \\-]?midi"+ [ regex "apr(e|\x00e9|\x00e8)s( |\\-)midi" ] , prod = \_ -> Token Time . mkLatent . partOfDay <$> interval TTime.Open (hour False 12) (hour False 19)@@ -1056,7 +1136,7 @@ ruleAprsTimeofday = Rule { name = "après <time-of-day>" , pattern =- [ regex "(apr(e|\x00e8)s|(a|\x00e0) partir de)"+ [ regex "(apr(e|\x00e8)s|(a|\x00e0) partir de|(un peu )?plus tard que)" , dimension Time ] , prod = \tokens -> case tokens of@@ -1391,26 +1471,6 @@ _ -> Nothing } -ruleMilieuDeSemaine :: Rule-ruleMilieuDeSemaine = Rule- { name = "milieu de semaine"- , pattern =- [ regex "(en |au )?milieu de (cette |la )?semaine"- ]- , prod = \_ -> Token Time <$>- interval TTime.Open (dayOfWeek 3) (dayOfWeek 4)- }--ruleDbutDeSemaine :: Rule-ruleDbutDeSemaine = Rule- { name = "début de semaine"- , pattern =- [ regex "(en |au )?d(\x00e9|e)but de (cette |la )?semaine"- ]- , prod = \_ -> Token Time <$>- interval TTime.Open (dayOfWeek 1) (dayOfWeek 2)- }- ruleTimeofdayHeures :: Rule ruleTimeofdayHeures = Rule { name = "<time-of-day> heures"@@ -1544,7 +1604,7 @@ ] , prod = \tokens -> case tokens of (_:Token Time td:_) -> do- from <- intersect (dayOfMonth 25) td+ from <- intersect (dayOfMonth 21) td let to = cycleLastOf TG.Day td Token Time <$> interval TTime.Closed from to _ -> Nothing@@ -1665,16 +1725,6 @@ , prod = \_ -> tt $ dayOfWeek 7 } -ruleFinDeSemaine :: Rule-ruleFinDeSemaine = Rule- { name = "fin de semaine"- , pattern =- [ regex "(en |(\x00e0|a) la )?fin de (cette |la )?semaine"- ]- , prod = \_ -> Token Time <$>- interval TTime.Open (dayOfWeek 4) (dayOfWeek 7)- }- ruleIlYADuration :: Rule ruleIlYADuration = Rule { name = "il y a <duration>"@@ -1705,9 +1755,9 @@ ruleAuDjeuner = Rule { name = "au déjeuner" , pattern =- [ regex "((\x00e0|a) l(')?heure du|pendant( le)?|au)? d(e|\x00e9|\x00e8)jeuner"+ [ regex "((\x00e0|a) l'heure du|au moment de|pendant( le)?|au)? d(e|\x00e9|\x00e8)jeuner" ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>+ , prod = \_ -> Token Time . partOfDay <$> interval TTime.Open (hour False 12) (hour False 14) } @@ -1742,26 +1792,6 @@ , prod = \_ -> tt $ cycleNth TG.Second 0 } -ruleMilieuDeMatine :: Rule-ruleMilieuDeMatine = Rule- { name = "milieu de matinée"- , pattern =- [ regex "milieu de matin(\x00e9|e)e"- ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>- interval TTime.Open (hour False 9) (hour False 11)- }--ruleFinDeMatine :: Rule-ruleFinDeMatine = Rule- { name = "fin de matinée"- , pattern =- [ regex "fin de matin(\x00e9|e)e"- ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>- interval TTime.Open (hour False 10) (hour False 12)- }- ruleDdmmyyyy :: Rule ruleDdmmyyyy = Rule { name = "dd/-mm/-yyyy"@@ -1837,16 +1867,6 @@ , prod = \_ -> tt $ month 11 } -ruleDbutDaprsmidi :: Rule-ruleDbutDaprsmidi = Rule- { name = "début d'après-midi"- , pattern =- [ regex "d(\x00e9|e)but d'apr(e|\x00e9|\x00e8)s?[ \\-]?midi"- ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>- interval TTime.Open (hour False 12) (hour False 14)- }- ruleLeTime :: Rule ruleLeTime = Rule { name = "le <time>"@@ -1886,26 +1906,6 @@ _ -> Nothing } -ruleMilieuDaprsmidi :: Rule-ruleMilieuDaprsmidi = Rule- { name = "fin d'après-midi"- , pattern =- [ regex "milieu d'apr(e|\x00e9|\x00e8)s?[ \\-]?midi"- ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>- interval TTime.Open (hour False 15) (hour False 17)- }--ruleFinDaprsmidi :: Rule-ruleFinDaprsmidi = Rule- { name = "fin d'après-midi"- , pattern =- [ regex "fin d'apr(e|\x00e9|\x00e8)s?[ \\-]?midi"- ]- , prod = \_ -> Token Time . mkLatent . partOfDay <$>- interval TTime.Open (hour False 17) (hour False 19)- }- ruleJourDeLan :: Rule ruleJourDeLan = Rule { name = "jour de l'an"@@ -1996,14 +1996,64 @@ ruleFinDuMois = Rule { name = "fin du mois" , pattern =- [ regex "(((a|\x00e0) )?la )?fin (du|de) mois"+ [ regex "(en |((\x00e0|a) la ))?fin (du|de) (ce )?mois" ]- , prod = \_ -> do- let from = cycleNthAfter False TG.Day (- 10) $ cycleNth TG.Month 1- to = cycleNth TG.Month 1- Token Time . mkLatent . partOfDay <$> interval TTime.Open from to+ , prod = \_ -> Token Time <$>+ interval TTime.Open (dayOfMonth 21) (dayOfMonth 0) } +ruleDbutDuMois :: Rule+ruleDbutDuMois = Rule+ { name = "début du mois"+ , pattern =+ [ regex "(en |au )?d(\x00e9|e)but (du|de) (ce )?mois"+ ]+ , prod = \_ -> Token Time <$>+ interval TTime.Open (dayOfMonth 1) (dayOfMonth 10)+ }++ruleFinDAnnee :: Rule+ruleFinDAnnee = Rule+ { name = "fin d'année"+ , pattern =+ [ regex "(en |(\x00e0|a) la )?fin (d'|de l'|de cette )ann(\x00e9|e)e"+ ]+ , prod = \_ -> Token Time <$>+ interval TTime.Open (month 11) (month 1)+ }++ruleDbutDAnnee :: Rule+ruleDbutDAnnee = Rule+ { name = "début d'année"+ , pattern =+ [ regex "(en |au )?d(\x00e9|e)but (d'|de l'|de cette )ann(\x00e9|e)e"+ ]+ , prod = \_ -> Token Time <$>+ interval TTime.Open (month 1) (month 3)+ }++rulePlusTard :: Rule+rulePlusTard = Rule+ { name = "plus tard"+ , pattern =+ [ regex "(un peu )?plus tard"+ ]+ , prod = \_ -> tt $ withDirection TTime.After $ cycleNth TG.Minute 10++ }++rulePlusTardPartofday :: Rule+rulePlusTardPartofday = Rule+ { name = "plus tard <part-of-day>"+ , pattern =+ [ regex "(un peu )?plus tard"+ , Predicate isAPartOfDay+ ]+ , prod = \tokens -> case tokens of+ (_:Token Time td:_) -> tt $ notLatent td+ _ -> Nothing+ }+ ruleTimezone :: Rule ruleTimezone = Rule { name = "<time> timezone"@@ -2177,4 +2227,9 @@ , ruleHourofdayEtDemi , ruleFinDuMois , ruleTimezone+ , ruleDbutDuMois+ , ruleFinDAnnee+ , ruleDbutDAnnee+ , rulePlusTard+ , rulePlusTardPartofday ]
Duckling/Time/Helpers.hs view
@@ -15,14 +15,15 @@ isADayOfWeek, isAMonth, isAnHourOfDay, isAPartOfDay, isATimeOfDay , isDOMInteger, isDOMOrdinal, isDOMValue, isGrain, isGrainFinerThan , isGrainOfTime, isIntegerBetween, isNotLatent, isOrdinalBetween- , isMidnightOrNoon+ , isMidnightOrNoon, isNumeralSafeToUse -- Production , cycleLastOf, cycleN, cycleNth, cycleNthAfter, dayOfMonth, dayOfWeek , daysOfWeekOfMonth, durationAfter, durationAgo, durationBefore, form, hour , hourMinute, hourMinuteSecond, inDuration, intersect, intersectDOM, interval , inTimezone, longWEBefore, minute, minutesAfter, minutesBefore, mkLatent , month, monthDay, notLatent, nthDOWOfMonth, partOfDay, predLastOf, predNth- , predNthAfter, second, timeOfDayAMPM, withDirection, year, yearMonthDay+ , predNthAfter, second, timeOfDayAMPM, weekend, withDirection, year+ , yearMonthDay , tt -- Other , getIntValue@@ -30,18 +31,15 @@ import Control.Monad (liftM2) import Data.Maybe-import Prelude import Data.Text (Text)+import Prelude import qualified Data.Time as Time import qualified Data.Time.Calendar.WeekDate as Time import qualified Data.Time.LocalTime.TimeZone.Series as Series import Duckling.Dimensions.Types import Duckling.Duration.Types (DurationData (DurationData))-import qualified Duckling.Duration.Types as TDuration-import qualified Duckling.Numeral.Types as TNumeral import Duckling.Ordinal.Types (OrdinalData (OrdinalData))-import qualified Duckling.Ordinal.Types as TOrdinal import Duckling.Time.TimeZone.Parse (parseTimezone) import Duckling.Time.Types ( TimeData(TimeData)@@ -59,9 +57,12 @@ , runPredicate , AMPM(..) )+import Duckling.Types+import qualified Duckling.Duration.Types as TDuration+import qualified Duckling.Numeral.Types as TNumeral+import qualified Duckling.Ordinal.Types as TOrdinal import qualified Duckling.Time.Types as TTime import qualified Duckling.TimeGrain.Types as TG-import Duckling.Types getIntValue :: Token -> Maybe Int getIntValue (Token Numeral nd) = TNumeral.getIntValue $ TNumeral.value nd@@ -273,6 +274,10 @@ TNumeral.isIntegerBetween (TNumeral.value nd) low high isIntegerBetween _ _ _ = False +isNumeralSafeToUse :: Predicate+isNumeralSafeToUse (Token Numeral nd) = TNumeral.okForAnyTime nd+isNumeralSafeToUse _ = False+ isOrdinalBetween :: Int -> Int -> Predicate isOrdinalBetween low high (Token Ordinal od) = TOrdinal.isBetween (TOrdinal.value od) low high@@ -479,6 +484,12 @@ end = intersect' (tue, hour False 0) fri = cycleNthAfter False TG.Day (- 3) monday tue = cycleNthAfter False TG.Day 1 monday++weekend :: TimeData+weekend = interval' TTime.Open (fri, mon)+ where+ fri = intersect' (dayOfWeek 5, hour False 18)+ mon = intersect' (dayOfWeek 1, hour False 0) daysOfWeekOfMonth :: Int -> Int -> TimeData daysOfWeekOfMonth dow m = intersect' (dayOfWeek dow, month m)
duckling.cabal view
@@ -1,5 +1,5 @@ name: duckling-version: 0.1.1.0+version: 0.1.2.0 synopsis: A Haskell library for parsing text into structured data. description: Duckling is a library for parsing text into structured data.@@ -15,7 +15,8 @@ stability: alpha cabal-version: >=1.10 tested-with:- GHC==8.0.2+ GHC==8.0.2,+ GHC==8.2.1 extra-source-files: README.md , PATENTS@@ -506,7 +507,7 @@ , regex-base >= 0.93.2 && < 0.94 , regex-pcre >= 0.94.4 && < 0.95 , text >= 1.2.2.1 && < 1.3- , text-show >= 2.1.2 && < 3.5+ , text-show >= 2.1.2 && < 3.7 , time >= 1.5.0.1 && < 1.9 , timezone-series >= 0.1.5.1 && < 0.2 , unordered-containers >= 0.2.7.2 && < 0.3@@ -518,11 +519,11 @@ main-is: TestMain.hs hs-source-dirs: tests build-depends: duckling- , base >= 4.8.2 && < 5.0- , aeson >= 0.11.3.0 && < 1.1- , text >= 1.2.2.1 && < 1.3- , time >= 1.5.0.1 && < 1.9- , unordered-containers >= 0.2.7.2 && < 0.3+ , base+ , aeson+ , text+ , time+ , unordered-containers , tasty >= 0.11.1 && < 0.12 , tasty-hunit >= 0.9.2 && < 1.0 other-modules: Duckling.Tests@@ -718,10 +719,10 @@ other-modules: Duckling.Ranking.Train , Duckling.Ranking.Generate build-depends: duckling- , base >= 4.8.2 && < 5.0+ , base , haskell-src-exts >= 1.18 && < 1.19- , text >= 1.2.2.1 && < 1.3- , unordered-containers >= 0.2.7.2 && < 0.3+ , text+ , unordered-containers default-language: Haskell2010 default-extensions: OverloadedStrings @@ -731,20 +732,58 @@ ghc-options: -threaded -rtsopts -with-rtsopts=-N other-modules: Duckling.Data.TimeZone build-depends: duckling- , base >= 4.8.2 && < 5.0- , aeson >= 0.11.3.0 && < 1.1- , bytestring >= 0.10.6.0 && < 0.11+ , base+ , aeson+ , bytestring , directory >= 1.2.2.0 && < 1.4- , extra >= 1.4.10 && < 1.6+ , extra , filepath >= 1.4.0.0 && < 1.5 , snap-core >= 1.0.2.0 && < 1.1 , snap-server >= 1.0.1.1 && < 1.1- , text >= 1.2.2.1 && < 1.3- , text-show >= 2.1.2 && < 3.5- , time >= 1.5.0.1 && < 1.9+ , text+ , text-show+ , time , timezone-olson >= 0.1.7 && < 0.2- , timezone-series >= 0.1.5.1 && < 0.2- , unordered-containers >= 0.2.7.2 && < 0.3+ , timezone-series+ , unordered-containers+ default-language: Haskell2010+ default-extensions: OverloadedStrings++executable duckling-request-sample+ main-is: DucklingRequestSample.hs+ hs-source-dirs: exe+ ghc-options: -threaded -rtsopts -with-rtsopts=-N+ other-modules: Duckling.Data.TimeZone+ build-depends: duckling+ , base+ , dependent-sum+ , directory >= 1.2.2.0 && < 1.4+ , extra+ , filepath >= 1.4.0.0 && < 1.5+ , text+ , time+ , timezone-olson >= 0.1.7 && < 0.2+ , timezone-series+ , unordered-containers+ default-language: Haskell2010+ default-extensions: OverloadedStrings++executable duckling-expensive+ main-is: DucklingExpensive.hs+ hs-source-dirs: exe+ ghc-options: -threaded -rtsopts -with-rtsopts=-N+ other-modules: Duckling.Data.TimeZone+ build-depends: duckling+ , base+ , dependent-sum+ , directory >= 1.2.2.0 && < 1.4+ , extra+ , filepath >= 1.4.0.0 && < 1.5+ , text+ , time+ , timezone-olson >= 0.1.7 && < 0.2+ , timezone-series+ , unordered-containers default-language: Haskell2010 default-extensions: OverloadedStrings
+ exe/DucklingExpensive.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# OPTIONS -fno-full-laziness #-}+module Main (main) where+import Duckling.Debug+import Control.Monad+import System.Environment+import Duckling.Lang+import Data.Some+import Duckling.Dimensions.Types++main :: IO ()+main = do+ (repeatCount :: Int) <- read . head <$> getArgs+ void $ replicateM repeatCount $ void $ do+ debug EN "Monday 3rd at 9.30am or 2.30pm, Saturday 8th at 10.30am, Tuesday 11th at 2pm, Wednesday 12th at 2.30pm, Friday 14th at 12.30pm xx" [This Time]+ debug ES "Horario es de Lunes a Viernes de 2 pm a 10 pm. S\195\161bado de 9 am a 7 pm" [This Time]
+ exe/DucklingRequestSample.hs view
@@ -0,0 +1,22 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# OPTIONS -fno-full-laziness #-}+module Main (main) where+import Duckling.Debug+import Control.Monad+import System.Environment+import Duckling.Lang+import Data.Some+import Duckling.Dimensions.Types++main :: IO ()+main = do+ (repeatCount :: Int) <- read . head <$> getArgs+ void $ replicateM repeatCount $ void $ do+ debug EN "My number is 123" [This PhoneNumber,This Distance,This Numeral,This Email]+ debug EN "Wednesday 5:00PM 3/29/2017" [This Numeral,This Time]+ debug ZH "12:30pm" [This Time]+ debug EN "tomorrow at 4pm" [This Time]+ debug EN "Tomorrow at 12.30?" [This Time]+ debug EN "Wednesday 9am" [This Time]+ debug EN "Sure do! Will 11:30 work?" [This Time,This AmountOfMoney]+ debug EN "8:00am" [This Time]