-- 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.DE (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 = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day>  o'clock", -1.3862943611198906),
                                    ("hh:mm", -1.3862943611198906), ("hour", -1.3862943611198906),
                                    ("minute", -1.3862943611198906)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("integer (numeric)",
        Classifier{okData =
                     ClassData{prior = -0.9179699933938751, unseen = -4.795790545596741,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 119},
                   koData =
                     ClassData{prior = -0.5097076806646496, unseen = -5.198497031265826,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 179}}),
       ("exactly <time-of-day>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("at <time-of-day>", -1.0986122886681098),
                                    ("<time-of-day>  o'clock", -1.5040773967762742),
                                    ("hour", -0.8109302162163288)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               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}}),
       ("<hour-of-day> <half> (as relative minutes)",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 1}}),
       ("lunch",
        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}}),
       ("integer (20..90)",
        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.11778303565638351,
                               unseen = -5.720311776607412,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day>  o'clockmorning", -4.618415412738112),
                                    ("until <time-of-day>afternoon", -5.0238805208462765),
                                    ("dayhour", -3.319132428607851),
                                    ("todayevening", -4.618415412738112),
                                    ("half <integer> (german style hour-of-day)afternoon",
                                     -5.0238805208462765),
                                    ("<time-of-day>  o'clockafter lunch", -4.330733340286331),
                                    ("intersect by ','evening", -3.5198031240700023),
                                    ("<time-of-day>  o'clockon <date>", -3.925268232178167),
                                    ("intersectevening", -1.9558275857126592),
                                    ("time-of-day (latent)on <date>", -4.330733340286331),
                                    ("about <time-of-day>on <date>", -4.618415412738112),
                                    ("<hour-of-day> <integer> (as relative minutes)in|during the <part-of-day>",
                                     -4.618415412738112),
                                    ("hourhour", -1.1952391243571814),
                                    ("<time-of-day>  o'clockin|during the <part-of-day>",
                                     -3.925268232178167),
                                    ("<time-of-day>  o'clockafternoon", -4.330733340286331),
                                    ("half <integer> (german style hour-of-day)after lunch",
                                     -5.0238805208462765),
                                    ("until <time-of-day>morning", -4.618415412738112),
                                    ("minutehour", -2.384823191231018),
                                    ("at <time-of-day>in|during the <part-of-day>",
                                     -4.107589788972121),
                                    ("<hour-of-day> <integer> (as relative minutes)after lunch",
                                     -5.0238805208462765),
                                    ("<time-of-day> am|pmmorning", -4.618415412738112),
                                    ("tomorrowevening", -5.0238805208462765),
                                    ("time-of-day (latent)morning", -5.0238805208462765),
                                    ("named-daymorning", -4.618415412738112),
                                    ("hh:mmmorning", -5.0238805208462765),
                                    ("half <integer> (german style hour-of-day)in|during the <part-of-day>",
                                     -4.618415412738112),
                                    ("until <time-of-day>on <date>", -5.0238805208462765),
                                    ("<day-of-month>(ordinal) <named-month>morning",
                                     -5.0238805208462765),
                                    ("<time-of-day>  o'clockevening", -5.0238805208462765),
                                    ("hh:mmon <date>", -4.107589788972121),
                                    ("<hour-of-day> <integer> (as relative minutes)afternoon",
                                     -5.0238805208462765),
                                    ("tomorrowlunch", -4.618415412738112),
                                    ("until <time-of-day>after lunch", -5.0238805208462765),
                                    ("at <time-of-day>on <date>", -4.107589788972121),
                                    ("yesterdayevening", -5.0238805208462765),
                                    ("intersectmorning", -5.0238805208462765),
                                    ("hh:mmin|during the <part-of-day>", -4.107589788972121),
                                    ("time-of-day (latent)in|during the <part-of-day>",
                                     -4.330733340286331),
                                    ("<hour-of-day> <integer> (as relative minutes)on <date>",
                                     -4.618415412738112),
                                    ("about <time-of-day>in|during the <part-of-day>",
                                     -4.618415412738112),
                                    ("half <integer> (german style hour-of-day)on <date>",
                                     -4.618415412738112),
                                    ("at <time-of-day>morning", -5.0238805208462765),
                                    ("until <time-of-day>in|during the <part-of-day>",
                                     -5.0238805208462765)],
                               n = 128},
                   koData =
                     ClassData{prior = -2.1972245773362196, unseen = -4.394449154672439,
                               likelihoods =
                                 HashMap.fromList
                                   [("yearhour", -3.283414346005772),
                                    ("year (latent)on <date>", -3.6888794541139363),
                                    ("<time-of-day>  o'clockafter lunch", -3.6888794541139363),
                                    ("intersectevening", -2.995732273553991),
                                    ("monthhour", -3.6888794541139363),
                                    ("time-of-day (latent)on <date>", -2.772588722239781),
                                    ("hourhour", -1.742969305058623),
                                    ("<time-of-day>  o'clockafternoon", -3.6888794541139363),
                                    ("year (latent)in|during the <part-of-day>",
                                     -3.6888794541139363),
                                    ("named-monthmorning", -3.6888794541139363),
                                    ("time-of-day (latent)in|during the <part-of-day>",
                                     -2.772588722239781)],
                               n = 16}}),
       ("today",
        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}}),
       ("mm/dd",
        Classifier{okData =
                     ClassData{prior = -0.40546510810816444,
                               unseen = -3.258096538021482,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 24},
                   koData =
                     ClassData{prior = -1.0986122886681098, unseen = -2.639057329615259,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 12}}),
       ("at <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.2113090936672069, unseen = -4.382026634673881,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day>  o'clock", -2.0668627594729756),
                                    ("half <integer> (german style hour-of-day)",
                                     -3.676300671907076),
                                    ("about <time-of-day>", -2.760009940032921),
                                    ("time-of-day (latent)", -1.7303905228517629),
                                    ("relative minutes after|past <integer> (hour-of-day)",
                                     -3.676300671907076),
                                    ("hh:mm", -2.760009940032921),
                                    ("quarter after|past <integer> (hour-of-day)",
                                     -3.676300671907076),
                                    ("hour", -1.0736109864626924), ("minute", -2.172223275130802),
                                    ("<hour-of-day> <integer> (as relative minutes)",
                                     -3.676300671907076)],
                               n = 34},
                   koData =
                     ClassData{prior = -1.6582280766035324, unseen = -3.332204510175204,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -1.5040773967762742),
                                    ("<time-of-day> am|pm", -1.9095425048844386),
                                    ("hour", -1.349926716949016), ("minute", -2.1972245773362196)],
                               n = 8}}),
       ("absorption of , after named day",
        Classifier{okData =
                     ClassData{prior = -7.410797215372185e-2,
                               unseen = -3.4011973816621555,
                               likelihoods =
                                 HashMap.fromList
                                   [("on <date>", -2.268683541318364), ("day", -0.7282385003712154),
                                    ("named-day", -0.8823891801984737)],
                               n = 13},
                   koData =
                     ClassData{prior = -2.639057329615259, unseen = -1.791759469228055,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -0.916290731874155), ("named-day", -0.916290731874155)],
                               n = 1}}),
       ("on <date>",
        Classifier{okData =
                     ClassData{prior = -0.24256163717131135,
                               unseen = -4.787491742782046,
                               likelihoods =
                                 HashMap.fromList
                                   [("absorption of , after named day", -3.6805112044434196),
                                    ("intersect", -1.834684513945089),
                                    ("after lunch", -2.833213344056216),
                                    ("day", -1.5210269550900473), ("afternoon", -2.833213344056216),
                                    ("named-day", -2.833213344056216),
                                    ("intersect by ','", -2.833213344056216),
                                    ("intersect by 'of', 'from', 's", -3.392829131991639),
                                    ("<day-of-month> (ordinal)", -4.085976312551584),
                                    ("hour", -1.8887517352153647), ("evening", -4.085976312551584),
                                    ("<datetime> - <datetime> (interval)", -4.085976312551584),
                                    ("minute", -2.4765384001174837),
                                    ("morning", -4.085976312551584)],
                               n = 51},
                   koData =
                     ClassData{prior = -1.5353299402803784, unseen = -3.828641396489095,
                               likelihoods =
                                 HashMap.fromList
                                   [("intersect", -1.7272209480904839),
                                    ("after lunch", -3.1135153092103742),
                                    ("<day-of-month>(ordinal) <named-month>", -3.1135153092103742),
                                    ("tomorrow", -3.1135153092103742), ("day", -2.1972245773362196),
                                    ("hh:mm", -2.70805020110221),
                                    ("intersect by 'of', 'from', 's", -3.1135153092103742),
                                    ("<day-of-month> (ordinal)", -3.1135153092103742),
                                    ("hour", -3.1135153092103742), ("minute", -1.5040773967762742)],
                               n = 14}}),
       ("integer (0..19)",
        Classifier{okData =
                     ClassData{prior = -0.10536051565782628,
                               unseen = -3.6375861597263857,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 36},
                   koData =
                     ClassData{prior = -2.3025850929940455, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
       ("between <time-of-day> and <time-of-day> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -1.0986122886681098),
                                    ("hh:mmhh:mm", -1.0986122886681098)],
                               n = 1},
                   koData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -1.0986122886681098),
                                    ("minutehour", -1.0986122886681098)],
                               n = 1}}),
       ("between <datetime> and <datetime> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -1.0986122886681098),
                                    ("hh:mmhh:mm", -1.0986122886681098)],
                               n = 1},
                   koData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -1.0986122886681098),
                                    ("minutehour", -1.0986122886681098)],
                               n = 1}}),
       ("month (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>  o'clock",
        Classifier{okData =
                     ClassData{prior = -4.580953603129422e-2,
                               unseen = -4.9344739331306915,
                               likelihoods =
                                 HashMap.fromList
                                   [("exactly <time-of-day>", -4.23410650459726),
                                    ("at <time-of-day>", -2.624668592163159),
                                    ("half <integer> (german style hour-of-day)",
                                     -4.23410650459726),
                                    ("about <time-of-day>", -2.847812143477369),
                                    ("time-of-day (latent)", -1.3437347467010947),
                                    ("quarter after|past <integer> (hour-of-day)",
                                     -4.23410650459726),
                                    ("until <time-of-day>", -3.1354942159291497),
                                    ("hour", -0.7841189587656721), ("minute", -3.828641396489095),
                                    ("after <time-of-day>", -3.1354942159291497)],
                               n = 64},
                   koData =
                     ClassData{prior = -3.1060803307228566, unseen = -2.833213344056216,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -1.6739764335716716),
                                    ("hour", -1.3862943611198906),
                                    ("after <time-of-day>", -2.0794415416798357)],
                               n = 3}}),
       ("hour (grain)",
        Classifier{okData =
                     ClassData{prior = -0.15415067982725836,
                               unseen = -2.0794415416798357,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 6},
                   koData =
                     ClassData{prior = -1.9459101490553135,
                               unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
       ("<ordinal> quarter",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453, unseen = -1.791759469228055,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (first..19th)quarter (grain)", -0.916290731874155),
                                    ("quarter", -0.916290731874155)],
                               n = 1},
                   koData =
                     ClassData{prior = -0.6931471805599453, unseen = -1.791759469228055,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinal (digits)quarter (grain)", -0.916290731874155),
                                    ("quarter", -0.916290731874155)],
                               n = 1}}),
       ("intersect",
        Classifier{okData =
                     ClassData{prior = -0.26452876747706405, unseen = -6.90975328164481,
                               likelihoods =
                                 HashMap.fromList
                                   [("intersect by ','named-month", -4.4238481295272205),
                                    ("hourday", -4.962844630259907),
                                    ("<datetime> - <datetime> (interval)year", -4.962844630259907),
                                    ("dayhour", -2.5520459526256287),
                                    ("daymonth", -3.147554663621658),
                                    ("<day-of-month>(ordinal) <named-month> year<time-of-day>  o'clock",
                                     -6.215607598755275),
                                    ("monthyear", -4.51085950651685),
                                    ("yearhour", -6.215607598755275),
                                    ("intersect<time-of-day>  o'clock", -4.075541435259004),
                                    ("christmasyear", -6.215607598755275),
                                    ("after lunchat <time-of-day>", -6.215607598755275),
                                    ("absorption of , after named daymm/dd/yyyy",
                                     -6.215607598755275),
                                    ("named-daylast <cycle>", -6.215607598755275),
                                    ("intersect by 'of', 'from', 'syear", -5.810142490647111),
                                    ("<time-of-day> am|pmintersect", -5.116995310087166),
                                    ("intersect<time> <part-of-day>", -4.13616605707544),
                                    ("the <day-of-month> (ordinal)named-month", -6.215607598755275),
                                    ("<time-of-day>  o'clockafter lunch", -5.52246041819533),
                                    ("<time> <part-of-day><time-of-day>  o'clock",
                                     -6.215607598755275),
                                    ("today<time-of-day>  o'clock", -6.215607598755275),
                                    ("<time-of-day>  o'clockon <date>", -5.810142490647111),
                                    ("<time-of-day> am|pmintersect by ','", -5.52246041819533),
                                    ("intersect by ','year", -5.116995310087166),
                                    ("on <date><time-of-day>  o'clock", -6.215607598755275),
                                    ("exactly <time-of-day>tomorrow", -5.810142490647111),
                                    ("mm/dd<time-of-day>  o'clock", -6.215607598755275),
                                    ("monthhour", -5.810142490647111),
                                    ("on <date>between <datetime> and <datetime> (interval)",
                                     -6.215607598755275),
                                    ("last <day-of-week> of <time>year", -6.215607598755275),
                                    ("hourmonth", -5.810142490647111),
                                    ("todayat <time-of-day>", -5.52246041819533),
                                    ("mm/ddabout <time-of-day>", -5.810142490647111),
                                    ("on <date>between <time-of-day> and <time-of-day> (interval)",
                                     -6.215607598755275),
                                    ("on <date>at <time-of-day>", -5.810142490647111),
                                    ("named-dayhh:mm", -6.215607598755275),
                                    ("dayday", -3.0375537684073297),
                                    ("<time> <part-of-day>at <time-of-day>", -5.810142490647111),
                                    ("<time-of-day> am|pmabsorption of , after named day",
                                     -6.215607598755275),
                                    ("about <time-of-day>on <date>", -6.215607598755275),
                                    ("<hour-of-day> <integer> (as relative minutes)in|during the <part-of-day>",
                                     -5.810142490647111),
                                    ("<day-of-month> (ordinal)intersect", -5.116995310087166),
                                    ("hourhour", -3.68987895444702),
                                    ("<part-of-day> of <time>named-month", -5.810142490647111),
                                    ("hh:mmintersect by ','", -4.962844630259907),
                                    ("intersectnamed-month", -3.3823942546990593),
                                    ("dayyear", -3.297836866670996),
                                    ("<time-of-day>  o'clockin|during the <part-of-day>",
                                     -5.116995310087166),
                                    ("tomorrow<time-of-day>  o'clock", -6.215607598755275),
                                    ("<time-of-day>  o'clocktomorrow", -5.52246041819533),
                                    ("<day-of-month>(ordinal) <named-month>year",
                                     -5.810142490647111),
                                    ("half <integer> (german style hour-of-day)after lunch",
                                     -6.215607598755275),
                                    ("absorption of , after named day<day-of-month>(ordinal) <named-month>",
                                     -4.962844630259907),
                                    ("hourminute", -5.52246041819533),
                                    ("on <date><day-of-month>(ordinal) <named-month>",
                                     -5.810142490647111),
                                    ("minutemonth", -3.5414589493287467),
                                    ("minutehour", -3.96431580014878),
                                    ("named-day<time> timezone", -6.215607598755275),
                                    ("at <time-of-day>in|during the <part-of-day>",
                                     -5.29931686688112),
                                    ("named-monthyear", -4.51085950651685),
                                    ("absorption of , after named day<day-of-month>(ordinal) <named-month> year",
                                     -5.810142490647111),
                                    ("absorption of , after named day<named-month> <day-of-month> (non ordinal)",
                                     -5.116995310087166),
                                    ("named-day<time-of-day> - <time-of-day> (interval)",
                                     -6.215607598755275),
                                    ("<day-of-month>(ordinal) <named-month> year<time> <part-of-day>",
                                     -6.215607598755275),
                                    ("<hour-of-day> <integer> (as relative minutes)after lunch",
                                     -6.215607598755275),
                                    ("named-day<datetime> - <datetime> (interval)",
                                     -6.215607598755275),
                                    ("on <date>named-month", -5.29931686688112),
                                    ("intersect<day-of-month>(ordinal) <named-month>",
                                     -4.829313237635384),
                                    ("this <part-of-day><time-of-day>  o'clock",
                                     -6.215607598755275),
                                    ("<day-of-month>(ordinal) <named-month>intersect",
                                     -6.215607598755275),
                                    ("hh:mmintersect", -3.7732605633860707),
                                    ("named-dayfrom <datetime> - <datetime> (interval)",
                                     -5.810142490647111),
                                    ("named-daynext <cycle>", -6.215607598755275),
                                    ("named-dayfrom <time-of-day> - <time-of-day> (interval)",
                                     -5.52246041819533),
                                    ("<day-of-month> (ordinal)named-day", -5.810142490647111),
                                    ("intersect by ','intersect", -4.962844630259907),
                                    ("half <integer> (german style hour-of-day)in|during the <part-of-day>",
                                     -5.810142490647111),
                                    ("from <datetime> - <datetime> (interval)year",
                                     -5.52246041819533),
                                    ("at <time-of-day>intersect", -4.4238481295272205),
                                    ("on <date>from <time-of-day> - <time-of-day> (interval)",
                                     -5.810142490647111),
                                    ("<time> <part-of-day>from <time-of-day> - <time-of-day> (interval)",
                                     -6.215607598755275),
                                    ("absorption of , after named day<day-of-month> (ordinal)",
                                     -4.962844630259907),
                                    ("dayminute", -4.018383021419056),
                                    ("on <date>from <datetime> - <datetime> (interval)",
                                     -6.215607598755275),
                                    ("<time> <part-of-day>from <datetime> - <datetime> (interval)",
                                     -6.215607598755275),
                                    ("intersectyear", -4.4238481295272205),
                                    ("on <date>intersect", -5.810142490647111),
                                    ("on <date><day-of-month> (ordinal)", -5.810142490647111),
                                    ("<ordinal> <cycle> of <time>year", -6.215607598755275),
                                    ("minuteday", -2.235925944853314),
                                    ("absorption of , after named dayintersect",
                                     -3.817712325956905),
                                    ("named-daybetween <time-of-day> and <time-of-day> (interval)",
                                     -6.215607598755275),
                                    ("<datetime> - <datetime> (interval)named-month",
                                     -5.810142490647111),
                                    ("year<time-of-day>  o'clock", -6.215607598755275),
                                    ("at <time-of-day>intersect by ','", -5.52246041819533),
                                    ("named-dayat <time-of-day>", -5.810142490647111),
                                    ("hh:mmabsorption of , after named day", -5.810142490647111),
                                    ("<time-of-day> am|pmnamed-day", -6.215607598755275),
                                    ("intersect by ','<time> <part-of-day>", -5.29931686688112),
                                    ("hh:mmon <date>", -3.7732605633860707),
                                    ("named-daybetween <datetime> and <datetime> (interval)",
                                     -6.215607598755275),
                                    ("at <time-of-day>absorption of , after named day",
                                     -6.215607598755275),
                                    ("until <time-of-day>after lunch", -6.215607598755275),
                                    ("mm/ddyear", -5.810142490647111),
                                    ("intersect by ','<time-of-day>  o'clock", -5.29931686688112),
                                    ("intersect<day-of-month> (ordinal)", -4.829313237635384),
                                    ("absorption of , after named daymm/dd", -6.215607598755275),
                                    ("named-day<time-of-day>  o'clock", -6.215607598755275),
                                    ("<day-of-month> (ordinal)intersect by 'of', 'from', 's",
                                     -5.52246041819533),
                                    ("at <time-of-day>on <date>", -4.343805421853684),
                                    ("intersectintersect", -4.075541435259004),
                                    ("dayweek", -5.116995310087166),
                                    ("absorption of , after named daythe <day-of-month> (ordinal)",
                                     -6.215607598755275),
                                    ("weekyear", -5.810142490647111),
                                    ("hh:mmin|during the <part-of-day>", -5.29931686688112),
                                    ("intersect by 'of', 'from', 'snamed-month",
                                     -6.215607598755275),
                                    ("named-monthintersect", -6.215607598755275),
                                    ("<day-of-month> (ordinal)named-month", -4.343805421853684),
                                    ("tomorrowat <time-of-day>", -5.810142490647111),
                                    ("<hour-of-day> <integer> (as relative minutes)on <date>",
                                     -6.215607598755275),
                                    ("named-daythis <cycle>", -5.52246041819533),
                                    ("at <time-of-day>tomorrow", -6.215607598755275),
                                    ("about <time-of-day>in|during the <part-of-day>",
                                     -5.810142490647111),
                                    ("half <integer> (german style hour-of-day)on <date>",
                                     -6.215607598755275),
                                    ("this <part-of-day>at <time-of-day>", -5.810142490647111),
                                    ("after lunch<hour-of-day> <integer> (as relative minutes)",
                                     -5.810142490647111),
                                    ("last <cycle> of <time>year", -5.810142490647111),
                                    ("<named-month> <day-of-month> (non ordinal)year",
                                     -6.215607598755275),
                                    ("<day-of-month> (non ordinal) <named-month>year",
                                     -6.215607598755275)],
                               n = 426},
                   koData =
                     ClassData{prior = -1.4591557093847622,
                               unseen = -6.0112671744041615,
                               likelihoods =
                                 HashMap.fromList
                                   [("intersect by ','named-month", -4.622518824322705),
                                    ("named-day<part-of-day> of <time>", -5.31566600488265),
                                    ("absorption of , after named daythe <day-of-month> (non ordinal)",
                                     -5.31566600488265),
                                    ("<datetime> - <datetime> (interval)year", -5.31566600488265),
                                    ("dayhour", -4.622518824322705),
                                    ("daymonth", -3.4438638279810583),
                                    ("monthday", -4.9102008967744855),
                                    ("monthyear", -5.31566600488265),
                                    ("yearhour", -5.31566600488265),
                                    ("after lunchat <time-of-day>", -4.9102008967744855),
                                    ("mm/dduntil <time-of-day>", -4.9102008967744855),
                                    ("until <time-of-day>year", -4.9102008967744855),
                                    ("intersect by 'of', 'from', 'syear", -4.622518824322705),
                                    ("<time-of-day> am|pmintersect", -3.6109179126442243),
                                    ("intersect<time> <part-of-day>", -5.31566600488265),
                                    ("<time-of-day>  o'clockafter lunch", -5.31566600488265),
                                    ("after lunch<time-of-day>  o'clock", -5.31566600488265),
                                    ("at <time-of-day>named-day", -5.31566600488265),
                                    ("absorption of , after named dayhh:mm", -5.31566600488265),
                                    ("<time-of-day> am|pmintersect by ','", -4.062903036387282),
                                    ("<time-of-day>  o'clock<time> <part-of-day>",
                                     -4.399375273008495),
                                    ("mm/ddhh:mm", -4.399375273008495),
                                    ("monthhour", -5.31566600488265),
                                    ("on <date>between <datetime> and <datetime> (interval)",
                                     -5.31566600488265),
                                    ("todayat <time-of-day>", -5.31566600488265),
                                    ("on <date>between <time-of-day> and <time-of-day> (interval)",
                                     -5.31566600488265),
                                    ("named-dayhh:mm", -5.31566600488265),
                                    ("dayday", -3.9293716437627593),
                                    ("<time-of-day> am|pmabsorption of , after named day",
                                     -4.9102008967744855),
                                    ("hourhour", -3.8115886081063755),
                                    ("intersectnamed-month", -3.7062280924485496),
                                    ("dayyear", -3.236224463202814),
                                    ("minutemonth", -3.369755855827336),
                                    ("named-monthyear", -5.31566600488265),
                                    ("named-day<time-of-day> - <time-of-day> (interval)",
                                     -5.31566600488265),
                                    ("on <date>named-month", -5.31566600488265),
                                    ("absorption of , after named daynamed-month",
                                     -4.21705371621454),
                                    ("intersect<day-of-month>(ordinal) <named-month>",
                                     -4.622518824322705),
                                    ("named-dayafter <time-of-day>", -4.9102008967744855),
                                    ("named-dayfrom <datetime> - <datetime> (interval)",
                                     -4.9102008967744855),
                                    ("<hour-of-day> <integer> (as relative minutes)named-month",
                                     -5.31566600488265),
                                    ("named-dayfrom <time-of-day> - <time-of-day> (interval)",
                                     -4.622518824322705),
                                    ("<day-of-month> (ordinal)named-day", -4.622518824322705),
                                    ("<day-of-month> (ordinal)hh:mm", -4.399375273008495),
                                    ("at <time-of-day>intersect", -4.21705371621454),
                                    ("on <date>from <time-of-day> - <time-of-day> (interval)",
                                     -4.9102008967744855),
                                    ("dayminute", -2.676608675267391),
                                    ("on <date>from <datetime> - <datetime> (interval)",
                                     -5.31566600488265),
                                    ("minuteday", -2.3199337313286588),
                                    ("named-daybetween <time-of-day> and <time-of-day> (interval)",
                                     -5.31566600488265),
                                    ("at <time-of-day>intersect by ','", -4.622518824322705),
                                    ("<time-of-day> am|pmnamed-day", -4.9102008967744855),
                                    ("named-daybetween <datetime> and <datetime> (interval)",
                                     -5.31566600488265),
                                    ("at <time-of-day>absorption of , after named day",
                                     -5.31566600488265),
                                    ("named-month<day-of-month> (non ordinal) <named-month>",
                                     -4.9102008967744855),
                                    ("year<time> <part-of-day>", -5.31566600488265),
                                    ("mm/ddyear", -3.8115886081063755),
                                    ("intersect<day-of-month> (ordinal)", -4.622518824322705),
                                    ("<day-of-month> (ordinal)intersect by 'of', 'from', 's",
                                     -4.9102008967744855),
                                    ("<named-month> <day-of-month> (non ordinal)named-month",
                                     -4.9102008967744855),
                                    ("intersectintersect", -4.622518824322705),
                                    ("<day-of-month> (ordinal)named-month", -4.622518824322705),
                                    ("until <time-of-day>named-month", -5.31566600488265),
                                    ("after <time-of-day>year", -5.31566600488265),
                                    ("on <date>after <time-of-day>", -5.31566600488265),
                                    ("tomorrownoon", -5.31566600488265)],
                               n = 129}}),
       ("<ordinal> <cycle> of <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.4849066497880004,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -1.7047480922384253),
                                    ("ordinals (first..19th)week (grain)named-month",
                                     -1.7047480922384253),
                                    ("ordinals (first..19th)day (grain)named-month",
                                     -1.7047480922384253),
                                    ("ordinals (first..19th)week (grain)intersect",
                                     -1.7047480922384253),
                                    ("weekmonth", -1.2992829841302609)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("season",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("year (grain)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.639057329615259,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 12},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("from <datetime> - <datetime> (interval)",
        Classifier{okData =
                     ClassData{prior = -1.2039728043259361, unseen = -3.295836866004329,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -2.159484249353372),
                                    ("time-of-day (latent)time-of-day (latent)",
                                     -2.5649493574615367),
                                    ("hh:mmhh:mm", -2.159484249353372),
                                    ("dayday", -1.8718021769015913),
                                    ("hourhour", -2.5649493574615367),
                                    ("mm/ddmm/dd", -1.8718021769015913)],
                               n = 6},
                   koData =
                     ClassData{prior = -0.35667494393873245,
                               unseen = -3.7612001156935624,
                               likelihoods =
                                 HashMap.fromList
                                   [("dayhour", -2.3513752571634776),
                                    ("mm/ddmm/dd/yyyy", -2.3513752571634776),
                                    ("hh:mmtime-of-day (latent)", -2.639057329615259),
                                    ("mm/ddhh:mm", -2.3513752571634776),
                                    ("dayday", -1.791759469228055),
                                    ("minutehour", -2.639057329615259),
                                    ("mm/ddintersect", -2.3513752571634776),
                                    ("dayminute", -2.3513752571634776),
                                    ("mm/ddtime-of-day (latent)", -2.3513752571634776)],
                               n = 14}}),
       ("after tomorrow",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("next <cycle>",
        Classifier{okData =
                     ClassData{prior = -0.15415067982725836,
                               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 = -1.9459101490553135,
                               unseen = -2.3978952727983707,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.6094379124341003),
                                    ("week (grain)", -1.6094379124341003)],
                               n = 1}}),
       ("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.5596157879354228, unseen = -2.70805020110221,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -1.252762968495368),
                                    ("time-of-day (latent)time-of-day (latent)",
                                     -1.9459101490553135),
                                    ("hh:mmhh:mm", -1.252762968495368),
                                    ("hourhour", -1.9459101490553135)],
                               n = 4},
                   koData =
                     ClassData{prior = -0.8472978603872037,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -1.0986122886681098),
                                    ("minutehour", -1.0986122886681098)],
                               n = 3}}),
       ("year (latent)",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 1}}),
       ("mm/dd/yyyy",
        Classifier{okData =
                     ClassData{prior = -1.252762968495368, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 4},
                   koData =
                     ClassData{prior = -0.3364722366212129,
                               unseen = -2.4849066497880004,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 10}}),
       ("couple",
        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}}),
       ("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 = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("quarteryear", -0.6931471805599453),
                                    ("ordinal (digits)quarter (grain)year", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("after lunch",
        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 to|till|before <integer> (hour-of-day)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("Allerheiligen",
        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.4849066497880004,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -0.7884573603642702),
                                    ("ordinals (first..19th)named-dayintersect",
                                     -1.0116009116784799),
                                    ("ordinals (first..19th)named-daynamed-month",
                                     -1.7047480922384253)],
                               n = 4},
                   koData =
                     ClassData{prior = -0.8472978603872037,
                               unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -0.8109302162163288),
                                    ("ordinals (first..19th)named-daynamed-month",
                                     -0.8109302162163288)],
                               n = 3}}),
       ("the <day-of-month> (non ordinal)",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 1}}),
       ("named-month",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.891820298110627,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 47},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("week (grain)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.332204510175204,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 26},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<part-of-day> of <time>",
        Classifier{okData =
                     ClassData{prior = -0.15415067982725836,
                               unseen = -2.9444389791664407,
                               likelihoods =
                                 HashMap.fromList
                                   [("hourday", -0.9444616088408514),
                                    ("morning<day-of-month>(ordinal) <named-month>",
                                     -1.791759469228055),
                                    ("morningintersect", -1.791759469228055),
                                    ("morning<day-of-month> (ordinal)", -1.791759469228055)],
                               n = 6},
                   koData =
                     ClassData{prior = -1.9459101490553135,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("hourhour", -1.3862943611198906),
                                    ("morningtime-of-day (latent)", -1.3862943611198906)],
                               n = 1}}),
       ("valentine'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}}),
       ("now",
        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}}),
       ("half <integer> (german style hour-of-day)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.4849066497880004,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day>  o'clock", -1.7047480922384253),
                                    ("time-of-day (latent)", -1.0116009116784799),
                                    ("hour", -0.7884573603642702)],
                               n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("this <part-of-day>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour", -0.6931471805599453),
                                    ("evening", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<day-of-month>(ordinal) <named-month>",
        Classifier{okData =
                     ClassData{prior = -0.2231435513142097, unseen = -3.332204510175204,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinal (digits)named-month", -0.8109302162163288),
                                    ("month", -0.7308875085427924),
                                    ("ordinals (first..19th)named-month", -2.6026896854443837)],
                               n = 12},
                   koData =
                     ClassData{prior = -1.6094379124341003,
                               unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinal (digits)named-month", -0.8109302162163288),
                                    ("month", -0.8109302162163288)],
                               n = 3}}),
       ("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 = -2.995732273553991,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 18}}),
       ("in|during the <part-of-day>",
        Classifier{okData =
                     ClassData{prior = -6.0624621816434854e-2,
                               unseen = -3.6375861597263857,
                               likelihoods =
                                 HashMap.fromList
                                   [("after lunch", -1.6650077635889111),
                                    ("afternoon", -1.5314763709643884),
                                    ("hour", -0.7777045685880083), ("evening", -2.512305623976115),
                                    ("morning", -2.917770732084279)],
                               n = 16},
                   koData =
                     ClassData{prior = -2.833213344056216, unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("after lunch", -1.252762968495368),
                                    ("hour", -1.252762968495368)],
                               n = 1}}),
       ("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.13353139262452263,
                               unseen = -2.1972245773362196,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 7},
                   koData =
                     ClassData{prior = -2.0794415416798357,
                               unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
       ("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 = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -0.6931471805599453),
                                    ("named-day", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("after next <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-month", -1.3862943611198906),
                                    ("day", -1.3862943611198906),
                                    ("named-day", -1.3862943611198906),
                                    ("month", -1.3862943611198906)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("half an hour",
        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}}),
       ("the <day-of-month> (ordinal)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("ordinal (digits)", 0.0)], n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("afternoon",
        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}}),
       ("this <cycle>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.044522437723423,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.2039728043259361),
                                    ("year (grain)", -2.3025850929940455),
                                    ("week (grain)", -1.2039728043259361),
                                    ("quarter", -2.3025850929940455), ("year", -2.3025850929940455),
                                    ("quarter (grain)", -2.3025850929940455)],
                               n = 7},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.9459101490553135,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("minute (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}}),
       ("about <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.13353139262452263,
                               unseen = -3.4965075614664802,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day>  o'clock", -1.3862943611198906),
                                    ("time-of-day (latent)", -1.3862943611198906),
                                    ("hour", -0.7576857016975165)],
                               n = 14},
                   koData =
                     ClassData{prior = -2.0794415416798357,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -1.3862943611198906),
                                    ("<time-of-day> am|pm", -1.3862943611198906),
                                    ("hour", -0.9808292530117262)],
                               n = 2}}),
       ("time-of-day (latent)",
        Classifier{okData =
                     ClassData{prior = -0.7686547330680905, unseen = -4.007333185232471,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)", -0.11778303565638351),
                                    ("integer (0..19)", -2.379546134130174)],
                               n = 51},
                   koData =
                     ClassData{prior = -0.6229429218866968, unseen = -4.143134726391533,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)", -0.4895482253187058),
                                    ("integer (0..19)", -1.0826119473216687),
                                    ("couple", -3.028522096376982)],
                               n = 59}}),
       ("year",
        Classifier{okData =
                     ClassData{prior = -8.338160893905101e-2,
                               unseen = -3.2188758248682006,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 23},
                   koData =
                     ClassData{prior = -2.5257286443082556,
                               unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 2}}),
       ("last <day-of-week> of <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-daynamed-month", -1.0986122886681098),
                                    ("daymonth", -0.8109302162163288),
                                    ("named-dayintersect", -1.5040773967762742)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<integer> <unit-of-duration>",
        Classifier{okData =
                     ClassData{prior = -0.8850381883700507, unseen = -4.330733340286331,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.2380465718564744),
                                    ("integer (0..19)year (grain)", -3.2188758248682006),
                                    ("integer (numeric)day (grain)", -2.70805020110221),
                                    ("couplehour (grain)", -3.624340932976365),
                                    ("integer (0..19)hour (grain)", -3.2188758248682006),
                                    ("second", -3.624340932976365),
                                    ("integer (numeric)year (grain)", -3.624340932976365),
                                    ("day", -2.70805020110221), ("year", -2.9311937524164198),
                                    ("integer (numeric)week (grain)", -2.9311937524164198),
                                    ("integer (0..19)month (grain)", -3.624340932976365),
                                    ("integer (0..19)second (grain)", -3.624340932976365),
                                    ("hour", -2.70805020110221), ("month", -3.624340932976365),
                                    ("integer (numeric)minute (grain)", -2.5257286443082556),
                                    ("integer (0..19)minute (grain)", -3.624340932976365),
                                    ("minute", -2.371577964480997),
                                    ("integer (numeric)hour (grain)", -3.624340932976365),
                                    ("integer (0..19)week (grain)", -2.70805020110221)],
                               n = 26},
                   koData =
                     ClassData{prior = -0.5322168137473082, unseen = -4.584967478670572,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.62880082944807),
                                    ("integer (0..19)year (grain)", -2.9652730660692823),
                                    ("integer (numeric)day (grain)", -3.4760986898352733),
                                    ("integer (0..19)hour (grain)", -3.8815637979434374),
                                    ("second", -2.9652730660692823),
                                    ("integer (numeric)second (grain)", -3.4760986898352733),
                                    ("integer (numeric)year (grain)", -3.4760986898352733),
                                    ("day", -2.3774864011671633), ("year", -2.62880082944807),
                                    ("integer (numeric)week (grain)", -3.188416617383492),
                                    ("integer (0..19)month (grain)", -2.9652730660692823),
                                    ("integer (0..19)second (grain)", -3.4760986898352733),
                                    ("hour", -3.188416617383492), ("month", -2.62880082944807),
                                    ("integer (numeric)minute (grain)", -3.4760986898352733),
                                    ("integer (0..19)minute (grain)", -3.4760986898352733),
                                    ("integer (numeric)month (grain)", -3.4760986898352733),
                                    ("minute", -2.9652730660692823),
                                    ("coupleday (grain)", -3.4760986898352733),
                                    ("integer (numeric)hour (grain)", -3.4760986898352733),
                                    ("integer (0..19)day (grain)", -2.9652730660692823),
                                    ("integer (0..19)week (grain)", -3.188416617383492)],
                               n = 37}}),
       ("ordinals (first..19th)",
        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> am|pm",
        Classifier{okData =
                     ClassData{prior = -1.845826690498331, unseen = -2.833213344056216,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -2.0794415416798357),
                                    ("hh:mm", -2.0794415416798357),
                                    ("until <time-of-day>", -2.0794415416798357),
                                    ("hour", -1.6739764335716716), ("minute", -2.0794415416798357)],
                               n = 3},
                   koData =
                     ClassData{prior = -0.17185025692665928,
                               unseen = -3.7612001156935624,
                               likelihoods =
                                 HashMap.fromList
                                   [("at <time-of-day>", -2.3513752571634776),
                                    ("<time-of-day>  o'clock", -2.3513752571634776),
                                    ("half <integer> (german style hour-of-day)",
                                     -3.044522437723423),
                                    ("about <time-of-day>", -3.044522437723423),
                                    ("time-of-day (latent)", -2.128231705849268),
                                    ("hh:mm", -2.3513752571634776), ("hour", -1.4350845252893227),
                                    ("minute", -1.6582280766035324),
                                    ("<hour-of-day> <integer> (as relative minutes)",
                                     -3.044522437723423)],
                               n = 16}}),
       ("<duration> after <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("a <unit-of-duration>christmas", -1.252762968495368),
                                    ("<integer> <unit-of-duration>christmas", -1.252762968495368),
                                    ("yearday", -0.8472978603872037)],
                               n = 2},
                   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 = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour", -0.8472978603872037),
                                    ("integer (numeric)time-of-day (latent)", -1.252762968495368),
                                    ("integer (20..90)time-of-day (latent)", -1.252762968495368)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("a <unit-of-duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.1354942159291497,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.9924301646902063),
                                    ("hour (grain)", -2.3978952727983707),
                                    ("year (grain)", -2.3978952727983707),
                                    ("second", -2.3978952727983707),
                                    ("week (grain)", -1.9924301646902063),
                                    ("minute (grain)", -2.3978952727983707),
                                    ("year", -2.3978952727983707),
                                    ("second (grain)", -2.3978952727983707),
                                    ("hour", -2.3978952727983707), ("minute", -2.3978952727983707)],
                               n = 6},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.3978952727983707,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("dd.(mm.)? - dd.mm.(yy[yy]?)? (interval)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.890371757896165,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 16},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("hh:mm",
        Classifier{okData =
                     ClassData{prior = -0.6190392084062235,
                               unseen = -3.6109179126442243,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 35},
                   koData =
                     ClassData{prior = -0.7731898882334817,
                               unseen = -3.4657359027997265,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 30}}),
       ("quarter after|past <integer> (hour-of-day)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day>  o'clock", -1.5040773967762742),
                                    ("time-of-day (latent)", -1.0986122886681098),
                                    ("hour", -0.8109302162163288)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("named-day",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -4.0943445622221,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 58},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<duration> before <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("<integer> <unit-of-duration>time-of-day (latent)",
                                     -0.6931471805599453),
                                    ("minutehour", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("intersect by ','",
        Classifier{okData =
                     ClassData{prior = -0.2531958963806117, unseen = -4.962844630259907,
                               likelihoods =
                                 HashMap.fromList
                                   [("dayhour", -2.7586024802650413),
                                    ("named-day<day-of-month> (ordinal)", -3.3463891451671604),
                                    ("dayday", -1.2922654114716141),
                                    ("dayyear", -4.2626798770413155),
                                    ("on <date><day-of-month>(ordinal) <named-month>",
                                     -3.857214768933151),
                                    ("named-day<named-month> <day-of-month> (non ordinal)",
                                     -3.164067588373206),
                                    ("intersect<day-of-month>(ordinal) <named-month>",
                                     -3.3463891451671604),
                                    ("named-day<day-of-month>(ordinal) <named-month> year",
                                     -3.857214768933151),
                                    ("named-dayintersect", -1.9113046198778378),
                                    ("on <date>intersect", -3.857214768933151),
                                    ("on <date><day-of-month> (ordinal)", -3.857214768933151),
                                    ("named-daymm/dd/yyyy", -3.857214768933151),
                                    ("minuteday", -2.390877700139724),
                                    ("named-daymm/dd", -3.857214768933151),
                                    ("intersect<day-of-month> (ordinal)", -3.3463891451671604),
                                    ("intersectintersect", -3.3463891451671604),
                                    ("named-day<day-of-month>(ordinal) <named-month>",
                                     -3.3463891451671604),
                                    ("named-daythe <day-of-month> (ordinal)", -4.2626798770413155),
                                    ("<named-month> <day-of-month> (non ordinal)year",
                                     -4.2626798770413155)],
                               n = 59},
                   koData =
                     ClassData{prior = -1.497519996230115, unseen = -4.07753744390572,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-daynamed-month", -2.268683541318364),
                                    ("daymonth", -2.268683541318364),
                                    ("named-dayhh:mm", -2.9618307218783095),
                                    ("dayday", -3.367295829986474),
                                    ("intersect<day-of-month>(ordinal) <named-month>",
                                     -2.6741486494265287),
                                    ("dayminute", -2.9618307218783095),
                                    ("minuteday", -1.7578579175523736),
                                    ("intersect<day-of-month> (ordinal)", -2.6741486494265287),
                                    ("intersectintersect", -2.6741486494265287),
                                    ("named-daythe <day-of-month> (non ordinal)",
                                     -3.367295829986474)],
                               n = 17}}),
       ("second (grain)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 5},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("intersect by 'of', 'from', 's",
        Classifier{okData =
                     ClassData{prior = -0.45198512374305727,
                               unseen = -4.143134726391533,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-daynamed-month", -3.028522096376982),
                                    ("daymonth", -2.181224235989778),
                                    ("named-daylast <cycle>", -3.4339872044851463),
                                    ("on <date>hh:mm", -3.4339872044851463),
                                    ("named-dayhh:mm", -3.028522096376982),
                                    ("dayday", -2.517696472610991),
                                    ("intersectnamed-month", -3.028522096376982),
                                    ("absorption of , after named day<day-of-month>(ordinal) <named-month>",
                                     -3.4339872044851463),
                                    ("absorption of , after named day<day-of-month>(ordinal) <named-month> year",
                                     -3.4339872044851463),
                                    ("named-day<time-of-day> - <time-of-day> (interval)",
                                     -3.028522096376982),
                                    ("named-day<datetime> - <datetime> (interval)",
                                     -3.028522096376982),
                                    ("on <date><time-of-day> - <time-of-day> (interval)",
                                     -3.4339872044851463),
                                    ("on <date><datetime> - <datetime> (interval)",
                                     -3.4339872044851463),
                                    ("named-daynext <cycle>", -3.4339872044851463),
                                    ("named-dayintersect", -3.4339872044851463),
                                    ("absorption of , after named day<day-of-month> (ordinal)",
                                     -3.4339872044851463),
                                    ("dayminute", -1.824549292051046),
                                    ("absorption of , after named dayintersect",
                                     -3.4339872044851463),
                                    ("intersectintersect", -3.4339872044851463),
                                    ("dayweek", -3.028522096376982)],
                               n = 21},
                   koData =
                     ClassData{prior = -1.0116009116784799,
                               unseen = -3.8066624897703196,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-daynamed-month", -2.174751721484161),
                                    ("daymonth", -1.4816045409242156),
                                    ("intersectnamed-month", -2.6855773452501515),
                                    ("named-day<time-of-day> - <time-of-day> (interval)",
                                     -2.6855773452501515),
                                    ("on <date><time-of-day> - <time-of-day> (interval)",
                                     -3.0910424533583156),
                                    ("named-dayintersect", -2.3978952727983707),
                                    ("dayminute", -2.3978952727983707)],
                               n = 12}}),
       ("<duration> ago",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.1354942159291497,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.4816045409242156), ("day", -1.9924301646902063),
                                    ("year", -2.3978952727983707),
                                    ("<integer> <unit-of-duration>", -1.0116009116784799),
                                    ("a <unit-of-duration>", -2.3978952727983707),
                                    ("month", -2.3978952727983707)],
                               n = 8},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.9459101490553135,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("last <time>",
        Classifier{okData =
                     ClassData{prior = -1.9459101490553135,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -0.9808292530117262),
                                    ("named-day", -0.9808292530117262)],
                               n = 2},
                   koData =
                     ClassData{prior = -0.15415067982725836,
                               unseen = -3.367295829986474,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.7672551527136672),
                                    ("hour", -0.7672551527136672)],
                               n = 12}}),
       ("EOM|End of month",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<day-of-month> (ordinal)",
        Classifier{okData =
                     ClassData{prior = -0.5520685823000397,
                               unseen = -3.0910424533583156,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (first..19th)", -1.6582280766035324),
                                    ("ordinal (digits)", -0.2113090936672069)],
                               n = 19},
                   koData =
                     ClassData{prior = -0.8574502318512216, unseen = -2.833213344056216,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (first..19th)", -0.8266785731844679),
                                    ("ordinal (digits)", -0.5753641449035618)],
                               n = 14}}),
       ("noon",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
       ("until <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.5108256237659907, unseen = -4.0943445622221,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time> <part-of-day>", -2.1316272948504063),
                                    ("<time-of-day>  o'clock", -2.2857779746776643),
                                    ("intersect", -3.3843902633457743),
                                    ("time-of-day (latent)", -2.1316272948504063),
                                    ("<time-of-day> am|pm", -3.3843902633457743),
                                    ("EOM|End of month", -3.3843902633457743),
                                    ("hour", -1.0330150061822965), ("month", -3.3843902633457743),
                                    ("midnight|EOD|end of day", -3.3843902633457743)],
                               n = 21},
                   koData =
                     ClassData{prior = -0.916290731874155, unseen = -3.828641396489095,
                               likelihoods =
                                 HashMap.fromList
                                   [("mm/dd", -2.70805020110221),
                                    ("intersect", -2.4203681286504293),
                                    ("mm/dd/yyyy", -2.70805020110221),
                                    ("<day-of-month>(ordinal) <named-month>", -3.1135153092103742),
                                    ("day", -1.4087672169719492), ("hh:mm", -2.1972245773362196),
                                    ("<day-of-month> (ordinal)", -3.1135153092103742),
                                    ("<day-of-month> (non ordinal) <named-month>",
                                     -3.1135153092103742),
                                    ("minute", -2.1972245773362196)],
                               n = 14}}),
       ("<integer> and an half hours",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("integer (0..19)", 0.0)], n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("Nikolaus",
        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}}),
       ("evening",
        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}}),
       ("midnight|EOD|end of 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-of-day> until",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day>  o'clock", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("next <time>",
        Classifier{okData =
                     ClassData{prior = -1.466337068793427, unseen = -2.9444389791664407,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-month", -2.1972245773362196),
                                    ("day", -1.0986122886681098),
                                    ("named-day", -1.0986122886681098),
                                    ("month", -2.1972245773362196)],
                               n = 6},
                   koData =
                     ClassData{prior = -0.262364264467491, unseen = -3.8501476017100584,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.7841189587656721),
                                    ("hour", -0.7841189587656721)],
                               n = 20}}),
       ("last <cycle>",
        Classifier{okData =
                     ClassData{prior = -0.3364722366212129,
                               unseen = -2.9444389791664407,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.5040773967762742),
                                    ("month (grain)", -2.1972245773362196),
                                    ("year (grain)", -2.1972245773362196),
                                    ("week (grain)", -1.5040773967762742),
                                    ("year", -2.1972245773362196), ("month", -2.1972245773362196)],
                               n = 5},
                   koData =
                     ClassData{prior = -1.252762968495368, unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.791759469228055),
                                    ("week (grain)", -1.791759469228055),
                                    ("day", -1.791759469228055),
                                    ("day (grain)", -1.791759469228055)],
                               n = 2}}),
       ("christmas",
        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}}),
       ("Tag der Deutschen Einheit",
        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}}),
       ("new year's day",
        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}}),
       ("next n <cycle>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -4.143134726391533,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.740840023925201),
                                    ("integer (0..19)year (grain)", -3.028522096376982),
                                    ("integer (numeric)day (grain)", -3.4339872044851463),
                                    ("integer (0..19)hour (grain)", -3.4339872044851463),
                                    ("second", -3.028522096376982),
                                    ("integer (numeric)second (grain)", -3.4339872044851463),
                                    ("integer (numeric)year (grain)", -3.4339872044851463),
                                    ("day", -2.3353749158170367), ("year", -2.740840023925201),
                                    ("integer (numeric)week (grain)", -3.4339872044851463),
                                    ("integer (0..19)month (grain)", -3.028522096376982),
                                    ("integer (0..19)second (grain)", -3.4339872044851463),
                                    ("hour", -3.028522096376982), ("month", -2.740840023925201),
                                    ("integer (numeric)minute (grain)", -3.4339872044851463),
                                    ("integer (0..19)minute (grain)", -3.4339872044851463),
                                    ("integer (numeric)month (grain)", -3.4339872044851463),
                                    ("minute", -3.028522096376982),
                                    ("coupleday (grain)", -3.028522096376982),
                                    ("integer (numeric)hour (grain)", -3.4339872044851463),
                                    ("integer (0..19)day (grain)", -3.028522096376982),
                                    ("integer (0..19)week (grain)", -3.028522096376982)],
                               n = 20},
                   koData =
                     ClassData{prior = -infinity, unseen = -3.1354942159291497,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("halloween 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}}),
       ("by the end of <time>",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -1.0986122886681098),
                                    ("hh:mm", -1.791759469228055), ("hour", -1.0986122886681098),
                                    ("minute", -1.791759469228055)],
                               n = 4}}),
       ("in <duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -4.07753744390572,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.6741486494265287),
                                    ("number.number hours", -3.367295829986474),
                                    ("second", -2.9618307218783095), ("day", -2.9618307218783095),
                                    ("half an hour", -3.367295829986474),
                                    ("year", -3.367295829986474),
                                    ("<integer> <unit-of-duration>", -1.2878542883066382),
                                    ("a <unit-of-duration>", -2.451005098112319),
                                    ("<integer> and an half hours", -3.367295829986474),
                                    ("hour", -2.268683541318364), ("minute", -1.6625477377480489),
                                    ("about <duration>", -3.367295829986474)],
                               n = 23},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.5649493574615367,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<datetime> - <datetime> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.9694005571881036, unseen = -4.174387269895637,
                               likelihoods =
                                 HashMap.fromList
                                   [("intersecthh:mm", -3.4657359027997265),
                                    ("on <date>hh:mm", -3.4657359027997265),
                                    ("minuteminute", -1.6739764335716716),
                                    ("<day-of-month> (ordinal)<day-of-month> (ordinal)",
                                     -3.0602707946915624),
                                    ("hh:mmhh:mm", -2.2129729343043585),
                                    ("dayday", -1.6739764335716716),
                                    ("<named-month> <day-of-month> (non ordinal)<named-month> <day-of-month> (non ordinal)",
                                     -3.0602707946915624),
                                    ("intersect by 'of', 'from', 'shh:mm", -2.772588722239781),
                                    ("mm/ddmm/dd", -2.0794415416798357)],
                               n = 22},
                   koData =
                     ClassData{prior = -0.4769240720903093, unseen = -4.532599493153256,
                               likelihoods =
                                 HashMap.fromList
                                   [("<day-of-month> (ordinal)<day-of-month>(ordinal) <named-month>",
                                     -3.4231762883809305),
                                    ("daymonth", -3.4231762883809305),
                                    ("mm/ddmm/dd/yyyy", -2.575878427993727),
                                    ("<day-of-month> (ordinal)mm/dd", -2.91235066461494),
                                    ("mm/ddhh:mm", -2.4423470353692043),
                                    ("dayday", -1.3437347467010947),
                                    ("<day-of-month> (ordinal)intersect", -3.1354942159291497),
                                    ("<day-of-month> (ordinal)hh:mm", -2.91235066461494),
                                    ("mm/ddintersect", -2.575878427993727),
                                    ("dayminute", -2.03688192726104),
                                    ("<day-of-month> (ordinal)mm/dd/yyyy", -3.4231762883809305),
                                    ("<named-month> <day-of-month> (non ordinal)named-month",
                                     -3.4231762883809305)],
                               n = 36}}),
       ("<time-of-day> - <time-of-day> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.8266785731844679, unseen = -3.044522437723423,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -0.916290731874155),
                                    ("hh:mmhh:mm", -0.916290731874155)],
                               n = 7},
                   koData =
                     ClassData{prior = -0.5753641449035618,
                               unseen = -3.2188758248682006,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -1.2321436812926323),
                                    ("hourminute", -1.791759469228055),
                                    ("minutehour", -1.2321436812926323),
                                    ("time-of-day (latent)hh:mm", -1.791759469228055)],
                               n = 9}}),
       ("last n <cycle>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.9318256327243257,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.5257286443082556),
                                    ("integer (0..19)year (grain)", -2.8134107167600364),
                                    ("integer (numeric)day (grain)", -3.2188758248682006),
                                    ("second", -2.8134107167600364),
                                    ("integer (numeric)second (grain)", -3.2188758248682006),
                                    ("integer (numeric)year (grain)", -3.2188758248682006),
                                    ("day", -2.5257286443082556), ("year", -2.5257286443082556),
                                    ("integer (numeric)week (grain)", -2.8134107167600364),
                                    ("integer (0..19)month (grain)", -2.8134107167600364),
                                    ("integer (0..19)second (grain)", -3.2188758248682006),
                                    ("month", -2.5257286443082556),
                                    ("integer (numeric)minute (grain)", -3.2188758248682006),
                                    ("integer (0..19)minute (grain)", -3.2188758248682006),
                                    ("integer (numeric)month (grain)", -3.2188758248682006),
                                    ("minute", -2.8134107167600364),
                                    ("integer (0..19)day (grain)", -2.8134107167600364),
                                    ("integer (0..19)week (grain)", -3.2188758248682006)],
                               n = 16},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.9444389791664407,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("nth <time> after <time>",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453, unseen = -1.791759469228055,
                               likelihoods =
                                 HashMap.fromList
                                   [("dayday", -0.916290731874155),
                                    ("ordinals (first..19th)named-dayintersect",
                                     -0.916290731874155)],
                               n = 1},
                   koData =
                     ClassData{prior = -0.6931471805599453, unseen = -1.791759469228055,
                               likelihoods =
                                 HashMap.fromList
                                   [("dayday", -0.916290731874155),
                                    ("ordinals (first..19th)named-daychristmas",
                                     -0.916290731874155)],
                               n = 1}}),
       ("<named-month> <day-of-month> (non ordinal)",
        Classifier{okData =
                     ClassData{prior = -0.12516314295400605,
                               unseen = -3.4965075614664802,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-monthinteger (numeric)", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 15},
                   koData =
                     ClassData{prior = -2.1400661634962708,
                               unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-monthinteger (numeric)", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 2}}),
       ("<day-of-month> (non ordinal) <named-month>",
        Classifier{okData =
                     ClassData{prior = -1.0986122886681098,
                               unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)named-month", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -0.40546510810816444,
                               unseen = -2.3978952727983707,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)named-month", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 4}}),
       ("this|next <day-of-week>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.70805020110221,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -0.6931471805599453),
                                    ("named-day", -0.6931471805599453)],
                               n = 6},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<time-of-day> after",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day>  o'clock", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("ordinal (digits)",
        Classifier{okData =
                     ClassData{prior = -0.2876820724517809, unseen = -2.995732273553991,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 18},
                   koData =
                     ClassData{prior = -1.3862943611198906,
                               unseen = -2.0794415416798357,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
       ("quarter (grain)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("last <cycle> of <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.70805020110221,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -1.540445040947149),
                                    ("week (grain)named-month", -1.9459101490553135),
                                    ("day (grain)intersect", -1.9459101490553135),
                                    ("weekmonth", -1.540445040947149),
                                    ("day (grain)named-month", -1.9459101490553135),
                                    ("week (grain)intersect", -1.9459101490553135)],
                               n = 4},
                   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.3978952727983707,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinal (digits)named-month", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("morning",
        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}}),
       ("week-end",
        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}}),
       ("after <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.4700036292457356, unseen = -3.367295829986474,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day>  o'clock", -1.540445040947149),
                                    ("time-of-day (latent)", -1.540445040947149),
                                    ("hour", -0.9343092373768334)],
                               n = 10},
                   koData =
                     ClassData{prior = -0.9808292530117262, unseen = -3.044522437723423,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day>  o'clock", -2.3025850929940455),
                                    ("intersect", -2.3025850929940455),
                                    ("day", -1.6094379124341003),
                                    ("time-of-day (latent)", -2.3025850929940455),
                                    ("hh:mm", -2.3025850929940455), ("hour", -1.8971199848858813),
                                    ("christmas", -1.8971199848858813),
                                    ("minute", -2.3025850929940455)],
                               n = 6}}),
       ("day (grain)",
        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}}),
       ("<month> dd-dd (interval)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3978952727983707,
                               likelihoods =
                                 HashMap.fromList
                                   [("named-month", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("about <duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("half an hour", -0.6931471805599453),
                                    ("minute", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<hour-of-day> <integer> (as relative minutes)",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453, unseen = -2.772588722239781,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour", -0.916290731874155),
                                    ("at <time-of-day>integer (numeric)", -2.0149030205422647),
                                    ("<time-of-day>  o'clockinteger (numeric)",
                                     -1.0986122886681098)],
                               n = 5},
                   koData =
                     ClassData{prior = -0.6931471805599453, unseen = -2.772588722239781,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)integer (0..19)", -2.0149030205422647),
                                    ("time-of-day (latent)integer (numeric)", -1.0986122886681098),
                                    ("hour", -0.916290731874155)],
                               n = 5}}),
       ("this <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.639057329615259,
                               likelihoods =
                                 HashMap.fromList
                                   [("season", -1.466337068793427), ("day", -1.1786549963416462),
                                    ("named-day", -1.8718021769015913),
                                    ("hour", -1.8718021769015913),
                                    ("week-end", -1.8718021769015913)],
                               n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("within <duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -0.6931471805599453),
                                    ("<integer> <unit-of-duration>", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("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}})]