-- Copyright (c) 2016-present, Facebook, Inc.
-- All rights reserved.
--
-- This source code is licensed under the BSD-style license found in the
-- LICENSE file in the root directory of this source tree. An additional grant
-- of patent rights can be found in the PATENTS file in the same directory.

-----------------------------------------------------------------
-- Auto-generated by regenClassifiers
--
-- DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
--  @generated
-----------------------------------------------------------------
{-# LANGUAGE OverloadedStrings #-}
module Duckling.Ranking.Classifiers.NB (classifiers) where
import Prelude
import Duckling.Ranking.Types
import qualified Data.HashMap.Strict as HashMap
import Data.String

classifiers :: Classifiers
classifiers
  = HashMap.fromList
      [("<time> timezone",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.0910424533583156,
                               likelihoods =
                                 HashMap.fromList
                                   [("at <time-of-day>", -1.4350845252893227),
                                    ("<time-of-day> o'clock", -2.3513752571634776),
                                    ("hh:mm", -1.6582280766035324), ("hour", -1.6582280766035324),
                                    ("minute", -1.252762968495368)],
                               n = 8},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("integer (numeric)",
        Classifier{okData =
                     ClassData{prior = -0.7546493803177391, unseen = -4.912654885736052,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 134},
                   koData =
                     ClassData{prior = -0.6352093434537263, unseen = -5.030437921392435,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 151}}),
       ("the day before yesterday",
        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}}),
       ("Father's Day",
        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}}),
       ("lunch",
        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}}),
       ("<time> <part-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.5596157879354228, unseen = -2.772588722239781,
                               likelihoods =
                                 HashMap.fromList
                                   [("dayhour", -1.0986122886681098),
                                    ("tomorrowevening", -2.0149030205422647),
                                    ("named-daymorning", -2.0149030205422647),
                                    ("tomorrowlunch", -2.0149030205422647),
                                    ("yesterdayevening", -2.0149030205422647)],
                               n = 4},
                   koData =
                     ClassData{prior = -0.8472978603872037, unseen = -2.639057329615259,
                               likelihoods =
                                 HashMap.fromList
                                   [("yearhour", -1.1786549963416462),
                                    ("year (latent)in|during the <part-of-day>",
                                     -1.1786549963416462)],
                               n = 3}}),
       ("dd/mm",
        Classifier{okData =
                     ClassData{prior = -0.2231435513142097,
                               unseen = -2.3025850929940455,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 8},
                   koData =
                     ClassData{prior = -1.6094379124341003,
                               unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
       ("today",
        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}}),
       ("at <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.2657031657330056, unseen = -4.605170185988091,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time> timezone", -3.4965075614664802),
                                    ("time-of-day (latent)", -1.2278240201481159),
                                    ("relative minutes after|past <integer> (hour-of-day)",
                                     -3.4965075614664802),
                                    ("hh:mm", -2.030170492673053),
                                    ("<time-of-day> sharp", -3.4965075614664802),
                                    ("hour", -1.1611326456494435), ("minute", -1.7619065060783738)],
                               n = 46},
                   koData =
                     ClassData{prior = -1.455287232606842, unseen = -3.58351893845611,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.8472978603872037),
                                    ("hour", -0.8472978603872037)],
                               n = 14}}),
       ("absorption of , after named day",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.9444389791664407,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -0.6931471805599453),
                                    ("named-day", -0.6931471805599453)],
                               n = 8},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("tonight",
        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}}),
       ("on <date>",
        Classifier{okData =
                     ClassData{prior = -0.3313571359544425, unseen = -4.189654742026425,
                               likelihoods =
                                 HashMap.fromList
                                   [("on <date>", -3.481240089335692),
                                    ("the <day-of-month> (non ordinal)", -3.0757749812275272),
                                    ("<day-of-month>(ordinal) <named-month>", -2.228477120840324),
                                    ("day", -0.807091439909163),
                                    ("the <day-of-month> (ordinal)", -3.481240089335692),
                                    ("named-day", -1.8718021769015913),
                                    ("<day-of-month> (ordinal)", -1.8718021769015913)],
                               n = 28},
                   koData =
                     ClassData{prior = -1.2656663733312759,
                               unseen = -3.4657359027997265,
                               likelihoods =
                                 HashMap.fromList
                                   [("on <date>", -2.3353749158170367),
                                    ("time-of-day (latent)", -1.1314021114911006),
                                    ("hour", -0.9490805546971459)],
                               n = 11}}),
       ("integer (0..19)",
        Classifier{okData =
                     ClassData{prior = -0.2231435513142097,
                               unseen = -3.6375861597263857,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 36},
                   koData =
                     ClassData{prior = -1.6094379124341003,
                               unseen = -2.3978952727983707,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 9}}),
       ("between <time-of-day> and <time-of-day> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -0.9808292530117262),
                                    ("hh:mmhh:mm", -0.9808292530117262)],
                               n = 2},
                   koData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -0.9808292530117262),
                                    ("minutehour", -0.9808292530117262)],
                               n = 2}}),
       ("between <datetime> and <datetime> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.916290731874155, unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -1.0986122886681098),
                                    ("hh:mmhh:mm", -1.0986122886681098)],
                               n = 2},
                   koData =
                     ClassData{prior = -0.5108256237659907,
                               unseen = -2.4849066497880004,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -1.2992829841302609),
                                    ("minuteminute", -1.7047480922384253),
                                    ("minutehour", -1.2992829841302609),
                                    ("hh:mmintersect", -1.7047480922384253)],
                               n = 3}}),
       ("month (grain)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.4849066497880004,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 10},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<integer> more <unit-of-duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)minute (grain)", -1.252762968495368),
                                    ("integer (0..19)minute (grain)", -1.252762968495368),
                                    ("minute", -0.8472978603872037)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<time-of-day> o'clock",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("hour (grain)",
        Classifier{okData =
                     ClassData{prior = -0.10536051565782628,
                               unseen = -2.3978952727983707,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 9},
                   koData =
                     ClassData{prior = -2.3025850929940455,
                               unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
       ("<ordinal> quarter",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinal (digits)quarter (grain)", -1.252762968495368),
                                    ("quarter", -0.8472978603872037),
                                    ("ordinals (first..31st)quarter (grain)", -1.252762968495368)],
                               n = 2},
                   koData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinal (digits)quarter (grain)", -1.252762968495368),
                                    ("quarter", -0.8472978603872037),
                                    ("ordinals (first..31st)quarter (grain)", -1.252762968495368)],
                               n = 2}}),
       ("Last year",
        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}}),
       ("intersect",
        Classifier{okData =
                     ClassData{prior = -0.4392032477400145, unseen = -5.860786223465865,
                               likelihoods =
                                 HashMap.fromList
                                   [("<datetime> - <datetime> (interval)on <date>",
                                     -4.0661736852554045),
                                    ("<time-of-day> - <time-of-day> (interval)on <date>",
                                     -4.0661736852554045),
                                    ("hourday", -5.1647859739235145),
                                    ("dayhour", -2.9134941753170187),
                                    ("daymonth", -2.9134941753170187),
                                    ("monthyear", -3.0853444322436783),
                                    ("intersecthh:mm", -5.1647859739235145),
                                    ("the <day-of-month> (ordinal)named-month", -3.912023005428146),
                                    ("intersect by \"of\", \"from\", \"'s\"year",
                                     -4.75932086581535),
                                    ("last <day-of-week> of <time>year", -4.75932086581535),
                                    ("todayat <time-of-day>", -4.75932086581535),
                                    ("dayday", -3.0247198104272432),
                                    ("dd/mmat <time-of-day>", -4.248495242049359),
                                    ("intersect by \",\"hh:mm", -4.248495242049359),
                                    ("intersectnamed-month", -4.75932086581535),
                                    ("dayyear", -3.2929837970219227),
                                    ("named-daythis <time>", -4.0661736852554045),
                                    ("tomorrow<time-of-day> sharp", -4.75932086581535),
                                    ("<day-of-month>(ordinal) <named-month>year",
                                     -4.75932086581535),
                                    ("named-day<time> timezone", -4.471638793363569),
                                    ("named-monthyear", -3.0853444322436783),
                                    ("absorption of , after named day<named-month> <day-of-month> (non ordinal)",
                                     -4.0661736852554045),
                                    ("on <date>named-month", -3.912023005428146),
                                    ("tomorrowuntil <time-of-day>", -4.75932086581535),
                                    ("absorption of , after named day<day-of-month> (non ordinal) <named-month>",
                                     -4.471638793363569),
                                    ("after <time-of-day>at <time-of-day>", -4.75932086581535),
                                    ("intersect by \",\"<day-of-month> (non ordinal) <named-month>",
                                     -4.75932086581535),
                                    ("named-day<day-of-month> (non ordinal) <named-month>",
                                     -5.1647859739235145),
                                    ("named-day<named-month> <day-of-month> (non ordinal)",
                                     -5.1647859739235145),
                                    ("named-dayfrom <datetime> - <datetime> (interval)",
                                     -4.75932086581535),
                                    ("named-daynext <cycle>", -5.1647859739235145),
                                    ("named-dayintersect", -4.75932086581535),
                                    ("named-dayfrom <time-of-day> - <time-of-day> (interval)",
                                     -4.75932086581535),
                                    ("tomorrowafter <time-of-day>", -4.75932086581535),
                                    ("from <time-of-day> - <time-of-day> (interval)on <date>",
                                     -4.248495242049359),
                                    ("dayminute", -2.8134107167600364),
                                    ("from <datetime> - <datetime> (interval)on <date>",
                                     -4.471638793363569),
                                    ("<ordinal> <cycle> of <time>year", -4.75932086581535),
                                    ("minuteday", -2.5620962884791303),
                                    ("absorption of , after named dayintersect",
                                     -5.1647859739235145),
                                    ("named-daybetween <time-of-day> and <time-of-day> (interval)",
                                     -5.1647859739235145),
                                    ("named-dayon <date>", -4.75932086581535),
                                    ("named-dayat <time-of-day>", -4.75932086581535),
                                    ("yearhh:mm", -5.1647859739235145),
                                    ("named-daybetween <datetime> and <datetime> (interval)",
                                     -5.1647859739235145),
                                    ("absorption of , after named dayintersect by \",\"",
                                     -4.75932086581535),
                                    ("dd/mmyear", -4.75932086581535),
                                    ("at <time-of-day>on <date>", -5.1647859739235145),
                                    ("between <time-of-day> and <time-of-day> (interval)on <date>",
                                     -5.1647859739235145),
                                    ("between <datetime> and <datetime> (interval)on <date>",
                                     -5.1647859739235145),
                                    ("dayweek", -4.0661736852554045),
                                    ("weekyear", -4.248495242049359),
                                    ("hh:mmtomorrow", -4.471638793363569),
                                    ("tomorrowat <time-of-day>", -3.912023005428146),
                                    ("named-daythis <cycle>", -4.471638793363569),
                                    ("named-daythe <day-of-month> (ordinal)", -5.1647859739235145),
                                    ("at <time-of-day>tomorrow", -4.75932086581535),
                                    ("last <cycle> of <time>year", -4.248495242049359),
                                    ("<day-of-month> (non ordinal) <named-month>year",
                                     -4.75932086581535),
                                    ("yearminute", -5.1647859739235145)],
                               n = 136},
                   koData =
                     ClassData{prior = -1.034370019939756, unseen = -5.43372200355424,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-daynamed-month", -4.736198448394496),
                                    ("dayhour", -3.2321210516182215),
                                    ("daymonth", -2.133508762950112),
                                    ("monthday", -3.8199077165203406),
                                    ("monthyear", -3.8199077165203406),
                                    ("intersect by \"of\", \"from\", \"'s\"year",
                                     -3.4834354798991276),
                                    ("named-dayhh:mm", -4.736198448394496),
                                    ("dd/mmat <time-of-day>", -3.8199077165203406),
                                    ("hourhour", -3.4834354798991276),
                                    ("dayyear", -3.4834354798991276),
                                    ("named-daythis <time>", -2.596132284898225),
                                    ("year<hour-of-day> <integer> (as relative minutes)",
                                     -4.330733340286331),
                                    ("minutemonth", -4.330733340286331),
                                    ("named-monthyear", -3.8199077165203406),
                                    ("in|during the <part-of-day>until <time-of-day>",
                                     -4.330733340286331),
                                    ("absorption of , after named daynamed-month",
                                     -3.6375861597263857),
                                    ("named-dayfrom <datetime> - <datetime> (interval)",
                                     -4.736198448394496),
                                    ("<hour-of-day> <integer> (as relative minutes)named-month",
                                     -4.330733340286331),
                                    ("named-dayfrom <time-of-day> - <time-of-day> (interval)",
                                     -4.736198448394496),
                                    ("until <time-of-day>on <date>", -4.736198448394496),
                                    ("dayminute", -3.349904087274605),
                                    ("minuteday", -3.2321210516182215),
                                    ("named-daybetween <time-of-day> and <time-of-day> (interval)",
                                     -4.736198448394496),
                                    ("named-dayon <date>", -4.736198448394496),
                                    ("named-dayat <time-of-day>", -3.8199077165203406),
                                    ("hh:mmon <date>", -3.349904087274605),
                                    ("named-daybetween <datetime> and <datetime> (interval)",
                                     -4.736198448394496),
                                    ("named-month<day-of-month> (non ordinal) <named-month>",
                                     -3.8199077165203406),
                                    ("<named-month> <day-of-month> (non ordinal)named-month",
                                     -3.8199077165203406),
                                    ("this <part-of-day>until <time-of-day>", -4.330733340286331),
                                    ("<hour-of-day> <integer> (as relative minutes)year",
                                     -4.330733340286331),
                                    ("tomorrownoon", -4.736198448394496),
                                    ("this <time>until <time-of-day>", -4.330733340286331),
                                    ("minuteyear", -4.330733340286331),
                                    ("yearminute", -4.330733340286331)],
                               n = 75}}),
       ("<ordinal> <cycle> of <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.890371757896165,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -1.7346010553881064),
                                    ("ordinals (first..31st)week (grain)intersect",
                                     -1.7346010553881064),
                                    ("ordinals (first..31st)week (grain)named-month",
                                     -1.7346010553881064),
                                    ("weekmonth", -1.2237754316221157),
                                    ("ordinals (first..31st)day (grain)named-month",
                                     -1.7346010553881064)],
                               n = 6},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("season",
        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}}),
       ("year (grain)",
        Classifier{okData =
                     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}}),
       ("from <datetime> - <datetime> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.8754687373538999, unseen = -2.890371757896165,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -1.2237754316221157),
                                    ("time-of-day (latent)time-of-day (latent)",
                                     -2.1400661634962708),
                                    ("hh:mmhh:mm", -1.2237754316221157),
                                    ("hourhour", -2.1400661634962708)],
                               n = 5},
                   koData =
                     ClassData{prior = -0.5389965007326869,
                               unseen = -3.0910424533583156,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -1.4350845252893227),
                                    ("minuteminute", -1.6582280766035324),
                                    ("minutehour", -1.4350845252893227),
                                    ("hh:mmintersect", -1.6582280766035324)],
                               n = 7}}),
       ("next <cycle>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.044522437723423,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.6094379124341003),
                                    ("month (grain)", -2.3025850929940455),
                                    ("year (grain)", -2.3025850929940455),
                                    ("week (grain)", -1.6094379124341003),
                                    ("quarter", -2.3025850929940455), ("year", -2.3025850929940455),
                                    ("month", -2.3025850929940455),
                                    ("quarter (grain)", -2.3025850929940455)],
                               n = 6},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.1972245773362196,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("number.number hours",
        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}}),
       ("from <time-of-day> - <time-of-day> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.6061358035703156,
                               unseen = -2.9444389791664407,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -1.0986122886681098),
                                    ("time-of-day (latent)time-of-day (latent)",
                                     -2.1972245773362196),
                                    ("hh:mmhh:mm", -1.0986122886681098),
                                    ("hourhour", -2.1972245773362196)],
                               n = 6},
                   koData =
                     ClassData{prior = -0.7884573603642702, unseen = -2.833213344056216,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -0.9808292530117262),
                                    ("minutehour", -0.9808292530117262)],
                               n = 5}}),
       ("yyyy-mm-dd",
        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}}),
       ("year (latent)",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 3}}),
       ("dd/mm/yyyy",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.1972245773362196,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 7},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("yesterday",
        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}}),
       ("<ordinal> quarter <year>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (first..31st)quarter (grain)year",
                                     -1.252762968495368),
                                    ("quarteryear", -0.8472978603872037),
                                    ("ordinal (digits)quarter (grain)year", -1.252762968495368)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("after lunch",
        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}}),
       ("hh:mm:ss",
        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}}),
       ("the <cycle> after <time>",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("year (grain)christmas eve", -0.6931471805599453),
                                    ("yearday", -0.6931471805599453)],
                               n = 2}}),
       ("quarter to|till|before <integer> (hour-of-day)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("a pair",
        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}}),
       ("nth <time> of <time>",
        Classifier{okData =
                     ClassData{prior = -0.5596157879354228, unseen = -2.995732273553991,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -0.7472144018302211),
                                    ("ordinals (first..31st)named-dayintersect",
                                     -0.9985288301111273),
                                    ("ordinals (first..31st)named-daynamed-month",
                                     -1.845826690498331)],
                               n = 8},
                   koData =
                     ClassData{prior = -0.8472978603872037, unseen = -2.772588722239781,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -0.7621400520468967),
                                    ("ordinals (first..31st)named-daynamed-month",
                                     -0.7621400520468967)],
                               n = 6}}),
       ("the <day-of-month> (non ordinal)",
        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}}),
       ("ordinals (first..31st)",
        Classifier{okData =
                     ClassData{prior = -5.129329438755058e-2,
                               unseen = -3.044522437723423,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 19},
                   koData =
                     ClassData{prior = -2.995732273553991, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
       ("named-month",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -4.189654742026425,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 64},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("week (grain)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.367295829986474,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 27},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("now",
        Classifier{okData =
                     ClassData{prior = -1.0986122886681098,
                               unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 2},
                   koData =
                     ClassData{prior = -0.40546510810816444,
                               unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
       ("this <part-of-day>",
        Classifier{okData =
                     ClassData{prior = -1.9459101490553135,
                               unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour", -0.8472978603872037), ("evening", -1.252762968495368),
                                    ("morning", -1.252762968495368)],
                               n = 2},
                   koData =
                     ClassData{prior = -0.15415067982725836,
                               unseen = -3.332204510175204,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour", -0.7308875085427924),
                                    ("morning", -0.7308875085427924)],
                               n = 12}}),
       ("christmas eve",
        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-month>(ordinal) <named-month>",
        Classifier{okData =
                     ClassData{prior = -9.53101798043249e-2,
                               unseen = -3.1780538303479458,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (first..31st)named-month", -1.749199854809259),
                                    ("ordinal (digits)named-month", -1.0560526742493137),
                                    ("month", -0.7375989431307791)],
                               n = 10},
                   koData =
                     ClassData{prior = -2.3978952727983707, unseen = -1.791759469228055,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (first..31st)named-month", -0.916290731874155),
                                    ("month", -0.916290731874155)],
                               n = 1}}),
       ("numbers prefix with -, negative or minus",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -3.2188758248682006,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 23}}),
       ("in|during the <part-of-day>",
        Classifier{okData =
                     ClassData{prior = -1.9459101490553135,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("afternoon", -1.3862943611198906),
                                    ("hour", -0.9808292530117262),
                                    ("evening", -1.3862943611198906)],
                               n = 2},
                   koData =
                     ClassData{prior = -0.15415067982725836,
                               unseen = -3.367295829986474,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour", -0.7672551527136672),
                                    ("morning", -0.7672551527136672)],
                               n = 12}}),
       ("new year's eve",
        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}}),
       ("tomorrow",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.772588722239781,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 14},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<cycle> after <time>",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("year (grain)christmas eve", -0.6931471805599453),
                                    ("yearday", -0.6931471805599453)],
                               n = 2}}),
       ("Mother's Day",
        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}}),
       ("<time> after next",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-month", -1.791759469228055),
                                    ("day", -1.0986122886681098),
                                    ("named-day", -1.0986122886681098),
                                    ("month", -1.791759469228055)],
                               n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("half an hour",
        Classifier{okData =
                     ClassData{prior = -0.5108256237659907,
                               unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 3},
                   koData =
                     ClassData{prior = -0.916290731874155, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
       ("the <day-of-month> (ordinal)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.4849066497880004,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (first..31st)", -1.0116009116784799),
                                    ("ordinal (digits)", -0.45198512374305727)],
                               n = 9},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("afternoon",
        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}}),
       ("<duration> from now",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.890371757896165,
                               likelihoods =
                                 HashMap.fromList
                                   [("second", -1.4469189829363254), ("year", -2.1400661634962708),
                                    ("<integer> <unit-of-duration>", -1.2237754316221157),
                                    ("a <unit-of-duration>", -1.7346010553881064),
                                    ("minute", -1.7346010553881064)],
                               n = 6},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("this <cycle>",
        Classifier{okData =
                     ClassData{prior = -0.11778303565638351,
                               unseen = -3.2188758248682006,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.5686159179138452),
                                    ("year (grain)", -2.0794415416798357),
                                    ("week (grain)", -1.5686159179138452),
                                    ("day", -2.4849066497880004), ("quarter", -2.4849066497880004),
                                    ("year", -2.0794415416798357),
                                    ("quarter (grain)", -2.4849066497880004),
                                    ("day (grain)", -2.4849066497880004)],
                               n = 8},
                   koData =
                     ClassData{prior = -2.1972245773362196,
                               unseen = -2.3978952727983707,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -1.6094379124341003),
                                    ("day (grain)", -1.6094379124341003)],
                               n = 1}}),
       ("minute (grain)",
        Classifier{okData =
                     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}}),
       ("about <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.8472978603872037,
                               unseen = -2.3978952727983707,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.916290731874155),
                                    ("hour", -0.916290731874155)],
                               n = 3},
                   koData =
                     ClassData{prior = -0.5596157879354228,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -1.3862943611198906),
                                    ("hour", -1.3862943611198906),
                                    ("<hour-of-day> half (as relative minutes)",
                                     -1.3862943611198906),
                                    ("minute", -1.3862943611198906)],
                               n = 4}}),
       ("christmas days",
        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.99714282850325, unseen = -3.713572066704308,
                               likelihoods =
                                 HashMap.fromList [("integer (numeric)", -2.5317807984289897e-2)],
                               n = 38},
                   koData =
                     ClassData{prior = -0.46034171833399856,
                               unseen = -4.219507705176107,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)", -0.27286698666664033),
                                    ("integer (0..19)", -1.4321038971511848)],
                               n = 65}}),
       ("year",
        Classifier{okData =
                     ClassData{prior = -0.1431008436406733, unseen = -3.332204510175204,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 26},
                   koData =
                     ClassData{prior = -2.0149030205422647, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 4}}),
       ("last <day-of-week> of <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.772588722239781,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-daynamed-month", -1.0986122886681098),
                                    ("daymonth", -0.7621400520468967),
                                    ("named-dayintersect", -1.6094379124341003)],
                               n = 6},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<integer> <unit-of-duration>",
        Classifier{okData =
                     ClassData{prior = -0.579818495252942, unseen = -4.672828834461907,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.466214516775848),
                                    ("integer (0..19)year (grain)", -3.5648268054439574),
                                    ("integer (numeric)day (grain)", -2.871679624884012),
                                    ("integer (0..19)hour (grain)", -3.970291913552122),
                                    ("second", -3.2771447329921766),
                                    ("integer (numeric)second (grain)", -3.970291913552122),
                                    ("a pairhour (grain)", -3.970291913552122),
                                    ("integer (numeric)year (grain)", -3.5648268054439574),
                                    ("day", -2.2655438213136967), ("year", -3.054001181677967),
                                    ("integer (numeric)week (grain)", -3.2771447329921766),
                                    ("integer (0..19)month (grain)", -3.970291913552122),
                                    ("integer (0..19)second (grain)", -3.5648268054439574),
                                    ("hour", -2.871679624884012), ("month", -3.5648268054439574),
                                    ("integer (numeric)minute (grain)", -2.717528945056754),
                                    ("integer (0..19)minute (grain)", -3.054001181677967),
                                    ("integer (numeric)month (grain)", -3.970291913552122),
                                    ("minute", -2.2655438213136967),
                                    ("integer (numeric)hour (grain)", -3.2771447329921766),
                                    ("integer (0..19)day (grain)", -2.871679624884012),
                                    ("integer (0..19)week (grain)", -2.871679624884012)],
                               n = 42},
                   koData =
                     ClassData{prior = -0.8209805520698302, unseen = -4.48863636973214,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.6855773452501515),
                                    ("integer (0..19)year (grain)", -3.378724525810097),
                                    ("integer (numeric)day (grain)", -3.0910424533583156),
                                    ("integer (0..19)hour (grain)", -3.784189633918261),
                                    ("second", -2.867898902044106),
                                    ("integer (numeric)second (grain)", -3.378724525810097),
                                    ("integer (numeric)year (grain)", -3.0910424533583156),
                                    ("day", -2.6855773452501515), ("year", -2.6855773452501515),
                                    ("integer (numeric)week (grain)", -3.378724525810097),
                                    ("integer (0..19)month (grain)", -3.0910424533583156),
                                    ("integer (0..19)second (grain)", -3.378724525810097),
                                    ("hour", -2.6855773452501515), ("month", -2.6855773452501515),
                                    ("integer (numeric)minute (grain)", -3.378724525810097),
                                    ("integer (0..19)minute (grain)", -3.378724525810097),
                                    ("integer (numeric)month (grain)", -3.378724525810097),
                                    ("minute", -2.867898902044106),
                                    ("integer (numeric)hour (grain)", -2.867898902044106),
                                    ("integer (0..19)day (grain)", -3.378724525810097),
                                    ("integer (0..19)week (grain)", -3.0910424533583156)],
                               n = 33}}),
       ("<duration> after <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("a <unit-of-duration>christmas eve", -1.0986122886681098),
                                    ("yearday", -0.8109302162163288),
                                    ("<integer> <unit-of-duration>christmas eve",
                                     -1.5040773967762742)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("relative minutes after|past <integer> (hour-of-day)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour", -0.6931471805599453),
                                    ("integer (numeric)time-of-day (latent)", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("a <unit-of-duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.4965075614664802,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.367123614131617),
                                    ("year (grain)", -2.367123614131617),
                                    ("second", -1.8562979903656263),
                                    ("week (grain)", -2.367123614131617),
                                    ("day", -2.772588722239781),
                                    ("minute (grain)", -2.367123614131617),
                                    ("year", -2.367123614131617),
                                    ("second (grain)", -1.8562979903656263),
                                    ("minute", -2.367123614131617),
                                    ("day (grain)", -2.772588722239781)],
                               n = 11},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.3978952727983707,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("intersect by \",\"",
        Classifier{okData =
                     ClassData{prior = -0.1590646946296874, unseen = -4.442651256490317,
                               likelihoods =
                                 HashMap.fromList
                                   [("at <time-of-day>named-day", -3.7376696182833684),
                                    ("intersect by \",\"year", -3.7376696182833684),
                                    ("hh:mmintersect by \",\"", -3.7376696182833684),
                                    ("dayday", -2.032921526044943),
                                    ("hh:mmnamed-day", -3.7376696182833684),
                                    ("named-dayintersect by \",\"", -3.332204510175204),
                                    ("dayyear", -2.8213788864092133),
                                    ("<named-month> <day-of-month> (non ordinal)intersect",
                                     -3.7376696182833684),
                                    ("intersect by \",\"<day-of-month> (non ordinal) <named-month>",
                                     -3.332204510175204),
                                    ("<named-month> <day-of-month> (non ordinal)named-day",
                                     -3.7376696182833684),
                                    ("named-day<day-of-month> (non ordinal) <named-month>",
                                     -3.044522437723423),
                                    ("named-day<named-month> <day-of-month> (non ordinal)",
                                     -2.639057329615259),
                                    ("hh:mmintersect", -3.7376696182833684),
                                    ("intersect by \",\"intersect", -3.7376696182833684),
                                    ("named-dayintersect", -3.7376696182833684),
                                    ("at <time-of-day>intersect", -3.7376696182833684),
                                    ("dayminute", -2.639057329615259),
                                    ("intersectyear", -3.7376696182833684),
                                    ("minuteday", -2.032921526044943),
                                    ("hh:mmabsorption of , after named day", -3.7376696182833684),
                                    ("at <time-of-day>intersect by \",\"", -3.7376696182833684),
                                    ("at <time-of-day>absorption of , after named day",
                                     -3.7376696182833684),
                                    ("intersectintersect", -3.7376696182833684),
                                    ("<named-month> <day-of-month> (non ordinal)year",
                                     -3.332204510175204)],
                               n = 29},
                   koData =
                     ClassData{prior = -1.916922612182061, unseen = -3.6109179126442243,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-daynamed-month", -1.791759469228055),
                                    ("daymonth", -1.791759469228055)],
                               n = 5}}),
       ("hh:mm",
        Classifier{okData =
                     ClassData{prior = -2.197890671877523e-2,
                               unseen = -3.8501476017100584,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 45},
                   koData =
                     ClassData{prior = -3.828641396489095, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
       ("quarter after|past <integer> (hour-of-day)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.6931471805599453),
                                    ("hour", -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.290459441148391,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 71},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("second (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}}),
       ("<time-of-day> sharp",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.4849066497880004,
                               likelihoods =
                                 HashMap.fromList
                                   [("at <time-of-day>", -1.2992829841302609),
                                    ("time-of-day (latent)", -1.2992829841302609),
                                    ("hour", -0.7884573603642702)],
                               n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("intersect by \"of\", \"from\", \"'s\"",
        Classifier{okData =
                     ClassData{prior = -1.0116009116784799,
                               unseen = -3.1354942159291497,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-daynamed-month", -1.4816045409242156),
                                    ("daymonth", -1.1451323043030026),
                                    ("named-daylast <cycle>", -2.3978952727983707),
                                    ("named-daynext <cycle>", -2.3978952727983707),
                                    ("named-dayintersect", -1.9924301646902063),
                                    ("dayweek", -1.9924301646902063)],
                               n = 8},
                   koData =
                     ClassData{prior = -0.45198512374305727,
                               unseen = -3.5553480614894135,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-daynamed-month", -1.329135947279942),
                                    ("daymonth", -0.8183103235139514),
                                    ("named-dayintersect", -1.580450375560848)],
                               n = 14}}),
       ("<duration> ago",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.5553480614894135,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.580450375560848), ("day", -1.916922612182061),
                                    ("year", -2.4277482359480516),
                                    ("<integer> <unit-of-duration>", -0.8873031950009028),
                                    ("a <unit-of-duration>", -2.833213344056216),
                                    ("month", -2.4277482359480516)],
                               n = 14},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.9459101490553135,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("last <time>",
        Classifier{okData =
                     ClassData{prior = -1.6739764335716716,
                               unseen = -2.9444389791664407,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -1.2809338454620642),
                                    ("named-day", -1.2809338454620642),
                                    ("hour", -1.791759469228055), ("week-end", -1.791759469228055)],
                               n = 6},
                   koData =
                     ClassData{prior = -0.2076393647782445, unseen = -4.07753744390572,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -1.8632184332102),
                                    ("time-of-day (latent)", -1.1160040313799788),
                                    ("named-day", -2.451005098112319),
                                    ("intersect by \"of\", \"from\", \"'s\"", -2.451005098112319),
                                    ("hour", -1.1160040313799788)],
                               n = 26}}),
       ("<day-of-month> (ordinal)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.4849066497880004,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (first..31st)", -1.0116009116784799),
                                    ("ordinal (digits)", -0.45198512374305727)],
                               n = 9},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("the day after tomorrow",
        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}}),
       ("noon",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
       ("until <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.2876820724517809, unseen = -2.890371757896165,
                               likelihoods =
                                 HashMap.fromList
                                   [("at <time-of-day>", -0.8873031950009028),
                                    ("hour", -0.8873031950009028)],
                               n = 6},
                   koData =
                     ClassData{prior = -1.3862943611198906,
                               unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("intersect", -1.5040773967762742),
                                    ("hh:mm", -1.5040773967762742),
                                    ("minute", -1.0986122886681098)],
                               n = 2}}),
       ("<integer> and an half hours",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)", -0.6931471805599453),
                                    ("integer (0..19)", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("after <duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -0.6931471805599453),
                                    ("<integer> <unit-of-duration>", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("evening",
        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}}),
       ("decimal number",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
       ("next <time>",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-month", -1.791759469228055),
                                    ("day", -1.0986122886681098),
                                    ("named-day", -1.0986122886681098),
                                    ("month", -1.791759469228055)],
                               n = 4},
                   koData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-month", -1.791759469228055),
                                    ("day", -1.0986122886681098),
                                    ("named-day", -1.0986122886681098),
                                    ("month", -1.791759469228055)],
                               n = 4}}),
       ("last <cycle>",
        Classifier{okData =
                     ClassData{prior = -0.45198512374305727,
                               unseen = -3.1354942159291497,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.7047480922384253),
                                    ("month (grain)", -1.9924301646902063),
                                    ("year (grain)", -1.9924301646902063),
                                    ("week (grain)", -1.7047480922384253),
                                    ("year", -1.9924301646902063), ("month", -1.9924301646902063)],
                               n = 7},
                   koData =
                     ClassData{prior = -1.0116009116784799, unseen = -2.833213344056216,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.6739764335716716),
                                    ("week (grain)", -1.6739764335716716),
                                    ("day", -1.6739764335716716),
                                    ("day (grain)", -1.6739764335716716)],
                               n = 4}}),
       ("christmas",
        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}}),
       ("new year's day",
        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}}),
       ("next n <cycle>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.912023005428146,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.793208009442517),
                                    ("integer (0..19)year (grain)", -3.1986731175506815),
                                    ("integer (numeric)day (grain)", -3.1986731175506815),
                                    ("integer (0..19)hour (grain)", -3.1986731175506815),
                                    ("second", -2.793208009442517),
                                    ("integer (numeric)second (grain)", -3.1986731175506815),
                                    ("integer (numeric)year (grain)", -3.1986731175506815),
                                    ("day", -2.793208009442517), ("year", -2.793208009442517),
                                    ("integer (numeric)week (grain)", -3.1986731175506815),
                                    ("integer (0..19)month (grain)", -3.1986731175506815),
                                    ("integer (0..19)second (grain)", -3.1986731175506815),
                                    ("hour", -2.793208009442517), ("month", -2.793208009442517),
                                    ("integer (numeric)minute (grain)", -3.1986731175506815),
                                    ("integer (0..19)minute (grain)", -3.1986731175506815),
                                    ("integer (numeric)month (grain)", -3.1986731175506815),
                                    ("minute", -2.793208009442517),
                                    ("integer (numeric)hour (grain)", -3.1986731175506815),
                                    ("integer (0..19)day (grain)", -3.1986731175506815),
                                    ("integer (0..19)week (grain)", -3.1986731175506815)],
                               n = 14},
                   koData =
                     ClassData{prior = -infinity, unseen = -3.0910424533583156,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("in <duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -4.418840607796598,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -3.0204248861443626),
                                    ("<integer> more <unit-of-duration>", -3.3081069585961433),
                                    ("number.number hours", -3.713572066704308),
                                    ("second", -2.797281334830153), ("day", -2.6149597780361984),
                                    ("half an hour", -3.713572066704308),
                                    ("<integer> <unit-of-duration>", -1.3156767939059373),
                                    ("a <unit-of-duration>", -2.46080909820894),
                                    ("<integer> and an half hours", -3.3081069585961433),
                                    ("hour", -2.6149597780361984), ("minute", -1.4622802680978126),
                                    ("about <duration>", -3.3081069585961433)],
                               n = 35},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.5649493574615367,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<datetime> - <datetime> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.8362480242006186,
                               unseen = -3.6888794541139363,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -1.466337068793427),
                                    ("hh:mmhh:mm", -1.466337068793427),
                                    ("dayday", -1.8718021769015913),
                                    ("<day-of-month> (non ordinal) <named-month><day-of-month> (non ordinal) <named-month>",
                                     -1.8718021769015913)],
                               n = 13},
                   koData =
                     ClassData{prior = -0.5679840376059393, unseen = -3.871201010907891,
                               likelihoods =
                                 HashMap.fromList
                                   [("monthday", -2.0583881324820035),
                                    ("minuteminute", -1.9042374526547454),
                                    ("hh:mmhh:mm", -3.1570004211501135),
                                    ("dayyear", -2.751535313041949),
                                    ("year<hour-of-day> <integer> (as relative minutes)",
                                     -2.751535313041949),
                                    ("hh:mmintersect", -2.0583881324820035),
                                    ("dd/mmyear", -2.751535313041949),
                                    ("named-month<day-of-month> (non ordinal) <named-month>",
                                     -2.0583881324820035),
                                    ("<hour-of-day> <integer> (as relative minutes)year",
                                     -2.751535313041949),
                                    ("minuteyear", -2.751535313041949),
                                    ("yearminute", -2.751535313041949)],
                               n = 17}}),
       ("<time-of-day> - <time-of-day> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.8109302162163288, unseen = -3.044522437723423,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -0.7985076962177716),
                                    ("hh:mmhh:mm", -0.7985076962177716)],
                               n = 8},
                   koData =
                     ClassData{prior = -0.587786664902119, unseen = -3.2188758248682006,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -0.8754687373538999),
                                    ("minuteminute", -2.4849066497880004),
                                    ("hh:mmhh:mm", -2.4849066497880004),
                                    ("minutehour", -0.8754687373538999)],
                               n = 10}}),
       ("last n <cycle>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -4.04305126783455,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.639057329615259),
                                    ("integer (0..19)year (grain)", -3.332204510175204),
                                    ("integer (numeric)day (grain)", -2.9267394020670396),
                                    ("second", -2.9267394020670396),
                                    ("integer (numeric)second (grain)", -3.332204510175204),
                                    ("integer (numeric)year (grain)", -2.9267394020670396),
                                    ("day", -2.639057329615259), ("year", -2.639057329615259),
                                    ("integer (numeric)week (grain)", -3.332204510175204),
                                    ("integer (0..19)month (grain)", -2.9267394020670396),
                                    ("integer (0..19)second (grain)", -3.332204510175204),
                                    ("hour", -2.9267394020670396), ("month", -2.639057329615259),
                                    ("integer (numeric)minute (grain)", -3.332204510175204),
                                    ("integer (0..19)minute (grain)", -3.332204510175204),
                                    ("integer (numeric)month (grain)", -3.332204510175204),
                                    ("minute", -2.9267394020670396),
                                    ("integer (numeric)hour (grain)", -2.9267394020670396),
                                    ("integer (0..19)day (grain)", -3.332204510175204),
                                    ("integer (0..19)week (grain)", -2.9267394020670396)],
                               n = 18},
                   koData =
                     ClassData{prior = -infinity, unseen = -3.044522437723423,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<named-month> <day-of-month> (non ordinal)",
        Classifier{okData =
                     ClassData{prior = -0.4418327522790392, unseen = -3.044522437723423,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-monthinteger (numeric)", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 9},
                   koData =
                     ClassData{prior = -1.0296194171811581,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-monthinteger (numeric)", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 5}}),
       ("<day-of-month> (non ordinal) <named-month>",
        Classifier{okData =
                     ClassData{prior = -0.15415067982725836,
                               unseen = -3.6635616461296463,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)named-month", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 18},
                   koData =
                     ClassData{prior = -1.9459101490553135,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)named-month", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 3}}),
       ("this|next <day-of-week>",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -0.6931471805599453),
                                    ("named-day", -0.6931471805599453)],
                               n = 3},
                   koData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -0.6931471805599453),
                                    ("named-day", -0.6931471805599453)],
                               n = 3}}),
       ("<hour-of-day> half (as relative minutes)",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -2.890371757896165,
                               likelihoods =
                                 HashMap.fromList
                                   [("about <time-of-day>", -1.7346010553881064),
                                    ("time-of-day (latent)", -1.041453874828161),
                                    ("hour", -0.7537718023763802)],
                               n = 7}}),
       ("ordinal (digits)",
        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}}),
       ("quarter (grain)",
        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}}),
       ("last <cycle> of <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.1354942159291497,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -1.4816045409242156),
                                    ("week (grain)named-month", -1.9924301646902063),
                                    ("day (grain)intersect", -1.9924301646902063),
                                    ("weekmonth", -1.4816045409242156),
                                    ("day (grain)named-month", -1.9924301646902063),
                                    ("week (grain)intersect", -1.9924301646902063)],
                               n = 8},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.9459101490553135,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<day-of-month>(ordinal) <named-month> year",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (first..31st)named-month", -1.0986122886681098),
                                    ("ordinal (digits)named-month", -1.5040773967762742),
                                    ("month", -0.8109302162163288)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("morning",
        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}}),
       ("week-end",
        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}}),
       ("after <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.7537718023763802, unseen = -3.332204510175204,
                               likelihoods =
                                 HashMap.fromList
                                   [("at <time-of-day>", -1.6863989535702288),
                                    ("intersect", -2.1972245773362196),
                                    ("tomorrow", -2.1972245773362196), ("day", -2.1972245773362196),
                                    ("hour", -1.349926716949016)],
                               n = 8},
                   koData =
                     ClassData{prior = -0.6359887667199967,
                               unseen = -3.4011973816621555,
                               likelihoods =
                                 HashMap.fromList
                                   [("this <part-of-day>", -2.268683541318364),
                                    ("christmas eve", -2.268683541318364),
                                    ("in|during the <part-of-day>", -2.268683541318364),
                                    ("day", -2.268683541318364), ("hh:mm", -2.6741486494265287),
                                    ("hour", -1.4213856809311607), ("minute", -2.6741486494265287),
                                    ("this <time>", -2.268683541318364)],
                               n = 9}}),
       ("day (grain)",
        Classifier{okData =
                     ClassData{prior = -4.8790164169432056e-2,
                               unseen = -3.0910424533583156,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 20},
                   koData =
                     ClassData{prior = -3.044522437723423, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
       ("<month> dd-dd (interval)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-month", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("about <duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("half an hour", -0.6931471805599453),
                                    ("minute", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<hour-of-day> <integer> (as relative minutes)",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -3.044522437723423,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)integer (numeric)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 9}}),
       ("this <time>",
        Classifier{okData =
                     ClassData{prior = -1.2443240998495033,
                               unseen = -3.8501476017100584,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -3.1354942159291497),
                                    ("intersect", -2.7300291078209855),
                                    ("season", -2.2192034840549946),
                                    ("next <cycle>", -3.1354942159291497),
                                    ("named-month", -2.7300291078209855),
                                    ("day", -1.8827312474337816),
                                    ("christmas days", -2.7300291078209855),
                                    ("hour", -1.8827312474337816), ("evening", -3.1354942159291497),
                                    ("month", -2.2192034840549946),
                                    ("morning", -3.1354942159291497),
                                    ("week-end", -2.2192034840549946)],
                               n = 17},
                   koData =
                     ClassData{prior = -0.3398678256223512, unseen = -4.574710978503383,
                               likelihoods =
                                 HashMap.fromList
                                   [("intersect", -1.9993988340062996),
                                    ("named-month", -1.6199092123013958),
                                    ("hour", -1.9993988340062996), ("month", -1.1303609869826898),
                                    ("morning", -1.9993988340062996)],
                               n = 42}}),
       ("within <duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -0.6931471805599453),
                                    ("<integer> <unit-of-duration>", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}})]