-- 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.EL_XX (classifiers) where
import Data.String
import Prelude
import qualified Data.HashMap.Strict as HashMap
import Duckling.Ranking.Types

classifiers :: Classifiers
classifiers
  = HashMap.fromList
      [("midnight",
        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}}),
       ("last <cycle> <time>'s'",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.5553480614894135,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -1.128465251817791),
                                    ("week (grain)intersect by 'of', 'from', 's",
                                     -2.833213344056216),
                                    ("day (grain)intersect", -2.4277482359480516),
                                    ("weekmonth", -2.1400661634962708),
                                    ("day (grain)intersect by 'of', 'from', 's",
                                     -2.4277482359480516),
                                    ("week (grain)intersect", -2.833213344056216),
                                    ("day (grain)absorption of article before time",
                                     -1.580450375560848),
                                    ("week (grain)September", -2.833213344056216)],
                               n = 13},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.1972245773362196,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<time> timezone",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.044522437723423,
                               likelihoods =
                                 HashMap.fromList
                                   [("at <time-of-day>", -1.8971199848858813),
                                    ("absorption of article before time", -1.8971199848858813),
                                    ("<time-of-day> am|pm", -2.3025850929940455),
                                    ("hh:mm", -1.8971199848858813), ("hour", -1.2039728043259361),
                                    ("minute", -1.8971199848858813)],
                               n = 7},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.9459101490553135,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("ordinals (1st..12th, 20th, 30th..90th)",
        Classifier{okData =
                     ClassData{prior = -0.9480394301887354,
                               unseen = -3.4965075614664802,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 31},
                   koData =
                     ClassData{prior = -0.4902063365632549,
                               unseen = -3.9318256327243257,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 49}}),
       ("integer (numeric)",
        Classifier{okData =
                     ClassData{prior = -0.6150455928747536, unseen = -5.272999558563747,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 193},
                   koData =
                     ClassData{prior = -0.7778693539554407, unseen = -5.111987788356543,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 164}}),
       ("<integer> and a half <grain>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour", -0.6931471805599453),
                                    ("integer (numeric)hour (grain)", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<duration> hence|ago",
        Classifier{okData =
                     ClassData{prior = -2.1972245773362196,
                               unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -1.252762968495368),
                                    ("<integer> <unit-of-duration>", -1.252762968495368)],
                               n = 1},
                   koData =
                     ClassData{prior = -0.11778303565638351,
                               unseen = -3.0910424533583156,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -2.3513752571634776), ("year", -2.3513752571634776),
                                    ("<integer> <unit-of-duration>", -1.0986122886681098),
                                    ("quarter of an hour", -1.9459101490553135),
                                    ("minute", -1.0986122886681098)],
                               n = 8}}),
       ("Father's Day",
        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}}),
       ("thursday",
        Classifier{okData =
                     ClassData{prior = -0.12783337150988489,
                               unseen = -3.1780538303479458,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 22},
                   koData =
                     ClassData{prior = -2.120263536200091, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 3}}),
       ("few",
        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}}),
       ("fall",
        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}}),
       ("<named-month> <day-of-month> (ordinal or number)",
        Classifier{okData =
                     ClassData{prior = -1.6094379124341003,
                               unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("month", -1.252762968495368),
                                    ("Julyinteger (numeric)", -1.252762968495368)],
                               n = 1},
                   koData =
                     ClassData{prior = -0.2231435513142097, unseen = -2.639057329615259,
                               likelihoods =
                                 HashMap.fromList
                                   [("absorption of article before timeinteger (numeric)",
                                     -1.8718021769015913),
                                    ("Augustinteger (numeric)", -1.8718021769015913),
                                    ("Aprilinteger (numeric)", -1.8718021769015913),
                                    ("month", -0.9555114450274363),
                                    ("Julyinteger (numeric)", -1.8718021769015913)],
                               n = 4}}),
       ("<time-of-day> approximately",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -1.252762968495368),
                                    ("<time-of-day> am|pm", -1.252762968495368),
                                    ("hour", -0.8472978603872037)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<day-of-month> (ordinal or number) <named-month>",
        Classifier{okData =
                     ClassData{prior = -0.24214005200486485,
                               unseen = -5.147494476813453,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)absorption of article before time",
                                     -2.8390784635086144),
                                    ("ordinals (1st..12th, 20th, 30th..90th)absorption of article before time",
                                     -4.04305126783455),
                                    ("ordinal (digits)October", -4.04305126783455),
                                    ("integer (numeric)September", -2.9444389791664407),
                                    ("ordinals (1st..12th, 20th, 30th..90th)September",
                                     -3.5322256440685593),
                                    ("integer (numeric)December", -4.448516375942715),
                                    ("ordinals (1st..12th, 20th, 30th..90th)May",
                                     -4.448516375942715),
                                    ("number (0..19, 20, 30..90)April", -4.448516375942715),
                                    ("ordinal (digits)August", -4.448516375942715),
                                    ("number (0..19, 20, 30..90)March", -4.448516375942715),
                                    ("ordinal (digits)February", -3.5322256440685593),
                                    ("integer (numeric)April", -3.5322256440685593),
                                    ("ordinals (1st..12th, 20th, 30th..90th)April",
                                     -3.7553691953827695),
                                    ("integer (numeric)August", -3.7553691953827695),
                                    ("integer (numeric)February", -2.743768283704289),
                                    ("ordinals (1st..12th, 20th, 30th..90th)February",
                                     -4.448516375942715),
                                    ("month", -0.8375984632984902),
                                    ("ordinal (digits)March", -4.04305126783455),
                                    ("ordinals (1st..12th, 20th, 30th..90th)October",
                                     -3.5322256440685593),
                                    ("ordinals (1st..12th, 20th, 30th..90th)January",
                                     -4.448516375942715),
                                    ("integer (numeric)July", -3.5322256440685593),
                                    ("integer (numeric)March", -4.04305126783455),
                                    ("ordinals (1st..12th, 20th, 30th..90th)March",
                                     -3.349904087274605)],
                               n = 73},
                   koData =
                     ClassData{prior = -1.536867219599265, unseen = -4.189654742026425,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)absorption of article before time",
                                     -2.382627800667582),
                                    ("ordinals (1st..12th, 20th, 30th..90th)absorption of article before time",
                                     -2.5649493574615367),
                                    ("ordinal (digits)October", -3.481240089335692),
                                    ("ordinal (digits)July", -3.481240089335692),
                                    ("integer (numeric)September", -3.0757749812275272),
                                    ("ordinal (digits)August", -3.0757749812275272),
                                    ("ordinal (digits)April", -3.481240089335692),
                                    ("month", -1.129864832172214),
                                    ("integer (numeric)July", -2.5649493574615367)],
                               n = 20}}),
       ("<time> <part-of-day>",
        Classifier{okData =
                     ClassData{prior = -9.038406146826906e-2,
                               unseen = -5.231108616854587,
                               likelihoods =
                                 HashMap.fromList
                                   [("dayhour", -2.134704220354885),
                                    ("time-of-day (latent)absorption of article before time",
                                     -3.4339872044851463),
                                    ("<time-of-day>  o'clockabsorption of article before time",
                                     -4.532599493153256),
                                    ("mondayearly morning", -4.532599493153256),
                                    ("tomorrowafternoon", -4.532599493153256),
                                    ("absorption of article before timeabsorption of article before time",
                                     -3.6163087612791007),
                                    ("yesterdayabsorption of article before time",
                                     -4.532599493153256),
                                    ("hourhour", -1.44155703979494),
                                    ("<time-of-day>  o'clockin|during the <part-of-day>",
                                     -4.532599493153256),
                                    ("todayin|during the <part-of-day>", -4.532599493153256),
                                    ("until <time-of-day>morning", -4.532599493153256),
                                    ("minutehour", -2.8278514009148306),
                                    ("tonightin|during the <part-of-day>", -4.532599493153256),
                                    ("at <time-of-day>in|during the <part-of-day>",
                                     -3.6163087612791007),
                                    ("intersectafternoon", -4.127134385045092),
                                    ("tomorrowevening", -4.532599493153256),
                                    ("absorption of article before timein|during the <part-of-day>",
                                     -3.6163087612791007),
                                    ("time-of-day (latent)morning", -4.532599493153256),
                                    ("yesterdayin|during the <part-of-day>", -4.532599493153256),
                                    ("intersectin|during the <part-of-day>", -3.2798365246578878),
                                    ("tonightabsorption of article before time",
                                     -4.532599493153256),
                                    ("todayabsorption of article before time", -4.532599493153256),
                                    ("at <time-of-day>absorption of article before time",
                                     -3.6163087612791007),
                                    ("hh:mmabsorption of article before time", -3.8394523125933104),
                                    ("intersectabsorption of article before time",
                                     -3.2798365246578878),
                                    ("tomorrowin|during the <part-of-day>", -3.4339872044851463),
                                    ("hh:mmin|during the <part-of-day>", -3.8394523125933104),
                                    ("time-of-day (latent)in|during the <part-of-day>",
                                     -3.4339872044851463),
                                    ("mondaymorning", -4.127134385045092),
                                    ("absorption of article before timemorning",
                                     -4.532599493153256),
                                    ("todaymorning", -4.532599493153256),
                                    ("<day-of-month> (ordinal or number) <named-month>morning",
                                     -4.532599493153256),
                                    ("tomorrowabsorption of article before time",
                                     -3.4339872044851463)],
                               n = 74},
                   koData =
                     ClassData{prior = -2.4485390056171257, unseen = -3.970291913552122,
                               likelihoods =
                                 HashMap.fromList
                                   [("yearhour", -2.8526314299133175),
                                    ("time-of-day (latent)absorption of article before time",
                                     -2.8526314299133175),
                                    ("monthhour", -3.258096538021482),
                                    ("year (latent)absorption of article before time",
                                     -3.258096538021482),
                                    ("hourhour", -2.341805806147327),
                                    ("year (latent)in|during the <part-of-day>",
                                     -3.258096538021482),
                                    ("Februarymorning", -3.258096538021482),
                                    ("time-of-day (latent)in|during the <part-of-day>",
                                     -2.8526314299133175)],
                               n = 7}}),
       ("dd/mm",
        Classifier{okData =
                     ClassData{prior = -3.1354942159291497,
                               unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1},
                   koData =
                     ClassData{prior = -4.445176257083381e-2,
                               unseen = -3.1780538303479458,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 22}}),
       ("today",
        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}}),
       ("at <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -9.716374845364774e-2,
                               unseen = -4.663439094112067,
                               likelihoods =
                                 HashMap.fromList
                                   [("half after|past <integer> (hour-of-day)", -3.960813169597578),
                                    ("<time-of-day> am|pm (verbose)", -3.5553480614894135),
                                    ("time-of-day (latent)", -1.3581234841531944),
                                    ("<time-of-day> am|pm", -1.8207470061013074),
                                    ("hh:mm", -3.044522437723423), ("hour", -0.916290731874155),
                                    ("minute", -2.456735772821304)],
                               n = 49},
                   koData =
                     ClassData{prior = -2.379546134130174, unseen = -2.890371757896165,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -1.041453874828161),
                                    ("hour", -1.041453874828161)],
                               n = 5}}),
       ("December",
        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}}),
       ("absorption of , after named day",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.4965075614664802,
                               likelihoods =
                                 HashMap.fromList
                                   [("wednesday", -2.772588722239781),
                                    ("saturday", -2.772588722239781),
                                    ("absorption of article before time", -2.367123614131617),
                                    ("monday", -2.367123614131617), ("friday", -2.0794415416798357),
                                    ("day", -0.9007865453381898), ("sunday", -2.772588722239781),
                                    ("tuesday", -2.367123614131617)],
                               n = 12},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.1972245773362196,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("September",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.044522437723423,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 19},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("tonight",
        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}}),
       ("revolution day",
        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}}),
       ("between <time-of-day> and <time-of-day> (interval)",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -1.791759469228055),
                                    ("hh:mmhh:mm", -1.791759469228055),
                                    ("hourminute", -1.791759469228055),
                                    ("time-of-day (latent)hh:mm", -1.791759469228055)],
                               n = 2},
                   koData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -1.791759469228055),
                                    ("time-of-day (latent)time-of-day (latent)",
                                     -1.791759469228055),
                                    ("hourhour", -1.791759469228055),
                                    ("minutehour", -1.791759469228055)],
                               n = 2}}),
       ("between <datetime> and <datetime> (interval)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -0.6931471805599453),
                                    ("hh:mmhh:mm", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("October",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.295836866004329,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 25},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("month (grain)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 8},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<integer> more <unit-of-duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)minute (grain)", -0.6931471805599453),
                                    ("minute", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("wednesday",
        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}}),
       ("number (0..19, 20, 30..90)",
        Classifier{okData =
                     ClassData{prior = -0.11441035117774422,
                               unseen = -3.5553480614894135,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 33},
                   koData =
                     ClassData{prior = -2.2246235515243336, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 4}}),
       ("hh(:mm) - <time-of-day> am|pm (verbose)",
        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}}),
       ("January",
        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}}),
       ("<time-of-day>  o'clock",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<integer> + '\"",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("November",
        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}}),
       ("July",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.833213344056216,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 15},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("hour (grain)",
        Classifier{okData =
                     ClassData{prior = -0.5260930958967791, unseen = -2.70805020110221,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 13},
                   koData =
                     ClassData{prior = -0.8938178760220964,
                               unseen = -2.3978952727983707,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 9}}),
       ("in <duration> from <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("secondsecond", -1.5040773967762742),
                                    ("daysecond", -1.0986122886681098),
                                    ("<integer> <unit-of-duration>now", -0.8109302162163288)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<ordinal> quarter",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (1st..12th, 20th, 30th..90th)quarter (grain)",
                                     -1.0986122886681098),
                                    ("ordinal (digits)quarter (grain)", -1.5040773967762742),
                                    ("quarter", -0.8109302162163288)],
                               n = 3},
                   koData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinal (digits)quarter (grain)", -0.8109302162163288),
                                    ("quarter", -0.8109302162163288)],
                               n = 3}}),
       ("saturday",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.0794415416798357,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 6},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("Last year",
        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}}),
       ("May",
        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",
        Classifier{okData =
                     ClassData{prior = -0.42294807088851183,
                               unseen = -6.862757913051402,
                               likelihoods =
                                 HashMap.fromList
                                   [("tuesdaySeptember", -5.25227342804663),
                                    ("Father's Dayabsorption of article before time",
                                     -6.168564159920785),
                                    ("last <cycle> <time>'s'absorption of article before time",
                                     -5.47541697936084),
                                    ("hourday", -4.296761983019193),
                                    ("dayhour", -2.3619016701504654),
                                    ("daymonth", -3.8171889027573074),
                                    ("monthyear", -3.7706688871224143),
                                    ("<time-of-day> am|pmabsorption of article before time",
                                     -4.028497996424514),
                                    ("tuesdaythis <cycle>", -6.168564159920785),
                                    ("last <day-of-week> of <time>absorption of article before time",
                                     -6.168564159920785),
                                    ("wednesdayintersect", -5.069951871252675),
                                    ("absorption of article before timeabsorption of , after named day",
                                     -6.168564159920785),
                                    ("houryear", -6.168564159920785),
                                    ("absorption of article before timeat <time-of-day>",
                                     -5.47541697936084),
                                    ("absorption of article before time<day-of-month> (ordinal or number) <named-month>",
                                     -5.25227342804663),
                                    ("absorption of article before time<time> <part-of-day>",
                                     -5.47541697936084),
                                    ("Octoberabsorption of article before time", -5.47541697936084),
                                    ("intersect<day-of-month> (ordinal or number) <named-month>",
                                     -4.296761983019193),
                                    ("intersect by 'of', 'from', 'syear", -6.168564159920785),
                                    ("<time-of-day> am|pmintersect", -4.664486763144511),
                                    ("intersectat <time-of-day>", -5.76309905181262),
                                    ("thursday<day-of-month> ( ordinal) <named-month> year",
                                     -6.168564159920785),
                                    ("saturday<time-of-day> am|pm", -5.76309905181262),
                                    ("saturdayat <time-of-day>", -5.76309905181262),
                                    ("after tomorrowat <time-of-day>", -6.168564159920785),
                                    ("intersect<time-of-day> am|pm", -6.168564159920785),
                                    ("<part-of-day> of <time>February", -6.168564159920785),
                                    ("absorption of article before timeOctober", -5.76309905181262),
                                    ("<time-of-day>  o'clockabsorption of article before time",
                                     -6.168564159920785),
                                    ("after tomorrow<time-of-day> am|pm", -5.76309905181262),
                                    ("wednesdayabsorption of article before time",
                                     -4.664486763144511),
                                    ("Marchabsorption of article before time", -6.168564159920785),
                                    ("wednesdayat <time-of-day>", -5.76309905181262),
                                    ("intersect by ','<time-of-day> am|pm", -5.25227342804663),
                                    ("thursdayhh(:mm) - <time-of-day> am|pm", -6.168564159920785),
                                    ("<time-of-day> am|pmintersect by ','", -5.25227342804663),
                                    ("absorption of article before timeLast year",
                                     -5.76309905181262),
                                    ("absorption of article before timeintersect",
                                     -5.25227342804663),
                                    ("wednesday<time> <part-of-day>", -5.25227342804663),
                                    ("hourmonth", -6.168564159920785),
                                    ("todayat <time-of-day>", -6.168564159920785),
                                    ("absorption of article before timeabsorption of article before time",
                                     -3.5658744744764013),
                                    ("thursday<time> timezone", -4.915801191425417),
                                    ("yesterdayabsorption of article before time",
                                     -6.168564159920785),
                                    ("dayday", -3.6036148024592483),
                                    ("<time> <part-of-day>at <time-of-day>", -5.76309905181262),
                                    ("tonightat <time-of-day>", -5.76309905181262),
                                    ("<time-of-day> am|pmabsorption of , after named day",
                                     -5.25227342804663),
                                    ("today<time-of-day> am|pm", -5.76309905181262),
                                    ("at <time-of-day><time> <part-of-day>", -5.47541697936084),
                                    ("absorption of , after named day<day-of-month> (ordinal or number) <named-month>",
                                     -4.2226540108654715),
                                    ("hourhour", -2.854378155248259),
                                    ("<time-of-day> - <time-of-day> (interval)absorption of article before time",
                                     -6.168564159920785),
                                    ("halloween dayabsorption of article before time",
                                     -6.168564159920785),
                                    ("<datetime> - <datetime> (interval)absorption of article before time",
                                     -5.76309905181262),
                                    ("dayyear", -2.949688335052584),
                                    ("thursday<day-of-month> (ordinal or number) <named-month>",
                                     -6.168564159920785),
                                    ("last weekend of <named-month>year", -6.168564159920785),
                                    ("<time-of-day>  o'clockin|during the <part-of-day>",
                                     -6.168564159920785),
                                    ("thursdaybetween <time-of-day> and <time-of-day> (interval)",
                                     -6.168564159920785),
                                    ("tuesdayabsorption of article before time",
                                     -4.664486763144511),
                                    ("thursdaybetween <datetime> and <datetime> (interval)",
                                     -6.168564159920785),
                                    ("wednesday<time-of-day> am|pm (verbose)", -5.76309905181262),
                                    ("before yesterday<time-of-day> am|pm", -5.76309905181262),
                                    ("wednesdaythis <cycle>", -6.168564159920785),
                                    ("todayin|during the <part-of-day>", -6.168564159920785),
                                    ("<time-of-day> am|pmtomorrow", -5.25227342804663),
                                    ("thursdayhh:mm", -6.168564159920785),
                                    ("minutehour", -4.46381606768236),
                                    ("before yesterdayat <time-of-day>", -5.76309905181262),
                                    ("tonightin|during the <part-of-day>", -6.168564159920785),
                                    ("at <time-of-day>in|during the <part-of-day>",
                                     -5.25227342804663),
                                    ("thursdayintersect", -6.168564159920785),
                                    ("thursdayfrom <datetime> - <datetime> (interval)",
                                     -5.25227342804663),
                                    ("Aprilyear", -5.76309905181262),
                                    ("absorption of article before timetomorrow",
                                     -5.47541697936084),
                                    ("absorption of article before timehh(:mm) - <time-of-day> am|pm",
                                     -6.168564159920785),
                                    ("absorption of article before timein|during the <part-of-day>",
                                     -5.25227342804663),
                                    ("yesterdayin|during the <part-of-day>", -6.168564159920785),
                                    ("before yesterdayabsorption of article before time",
                                     -5.76309905181262),
                                    ("this <day-of-week>hh(:mm) - <time-of-day> am|pm",
                                     -6.168564159920785),
                                    ("tuesday<time> <part-of-day>", -5.25227342804663),
                                    ("absorption of article before timeFebruary",
                                     -5.76309905181262),
                                    ("weekmonth", -5.25227342804663),
                                    ("tuesdayat <time-of-day>", -5.76309905181262),
                                    ("mondaythis <cycle>", -6.168564159920785),
                                    ("tomorrowintersect", -5.25227342804663),
                                    ("intersectin|during the <part-of-day>", -4.915801191425417),
                                    ("<time> <part-of-day>absorption of article before time",
                                     -5.76309905181262),
                                    ("the <cycle> of <time>October", -5.76309905181262),
                                    ("revolution dayabsorption of article before time",
                                     -5.76309905181262),
                                    ("thursday<datetime> - <datetime> (interval)",
                                     -6.168564159920785),
                                    ("Septemberabsorption of article before time",
                                     -6.168564159920785),
                                    ("absorption of article before time<time-of-day> am|pm",
                                     -5.76309905181262),
                                    ("tonightabsorption of article before time", -5.47541697936084),
                                    ("todayabsorption of article before time", -5.76309905181262),
                                    ("at <time-of-day>absorption of article before time",
                                     -4.664486763144511),
                                    ("thursday<time-of-day> - <time-of-day> (interval)",
                                     -6.168564159920785),
                                    ("absorption of article before timeyear", -6.168564159920785),
                                    ("tuesday<time-of-day> am|pm (verbose)", -5.76309905181262),
                                    ("revolution dayLast year", -5.76309905181262),
                                    ("at <time-of-day>intersect", -5.25227342804663),
                                    ("<time-of-day> - <time-of-day> (interval)tomorrow",
                                     -6.168564159920785),
                                    ("absorption of article before timeintersect by ','",
                                     -6.168564159920785),
                                    ("dayminute", -3.9172723613142897),
                                    ("intersectyear", -5.069951871252675),
                                    ("hh:mmabsorption of article before time", -5.47541697936084),
                                    ("<datetime> - <datetime> (interval)tomorrow",
                                     -6.168564159920785),
                                    ("minuteday", -2.687324070585093),
                                    ("absorption of , after named dayintersect",
                                     -6.168564159920785),
                                    ("the <cycle> of <time>absorption of article before time",
                                     -6.168564159920785),
                                    ("<ordinal> <cycle> of <time>absorption of article before time",
                                     -6.168564159920785),
                                    ("at <time-of-day>intersect by ','", -6.168564159920785),
                                    ("Octoberyear", -4.915801191425417),
                                    ("absorption of , after named dayintersect by ','",
                                     -5.76309905181262),
                                    ("this <cycle>hh(:mm) - <time-of-day> am|pm",
                                     -6.168564159920785),
                                    ("intersectabsorption of article before time",
                                     -4.5591262474866845),
                                    ("after tomorrowabsorption of article before time",
                                     -6.168564159920785),
                                    ("saturdayabsorption of article before time",
                                     -5.76309905181262),
                                    ("tuesdaythe <day-of-month> (non ordinal)", -6.168564159920785),
                                    ("at <time-of-day>absorption of , after named day",
                                     -6.168564159920785),
                                    ("tomorrowin|during the <part-of-day>", -5.069951871252675),
                                    ("<day-of-month> (ordinal or number) <named-month>year",
                                     -3.9172723613142897),
                                    ("year<time-of-day> am|pm", -6.168564159920785),
                                    ("Septemberyear", -5.25227342804663),
                                    ("christmasabsorption of article before time",
                                     -6.168564159920785),
                                    ("dayweek", -5.069951871252675),
                                    ("weekyear", -5.25227342804663),
                                    ("hh:mmin|during the <part-of-day>", -5.47541697936084),
                                    ("the <day-of-month> (non ordinal)absorption of article before time",
                                     -5.76309905181262),
                                    ("tomorrowat <time-of-day>", -6.168564159920785),
                                    ("tuesdayintersect", -4.5591262474866845),
                                    ("tomorrowbetween <time-of-day> and <time-of-day> (interval)",
                                     -6.168564159920785),
                                    ("at <time-of-day>tomorrow", -5.47541697936084),
                                    ("tomorrow<time-of-day> am|pm", -5.76309905181262),
                                    ("last <cycle> of <time>absorption of article before time",
                                     -5.76309905181262),
                                    ("in|during the <part-of-day>at <time-of-day>",
                                     -6.168564159920785),
                                    ("in|during the <part-of-day>absorption of article before time",
                                     -6.168564159920785),
                                    ("intersectFebruary", -6.168564159920785),
                                    ("<datetime> - <datetime> (interval)July", -6.168564159920785),
                                    ("tomorrowabsorption of article before time",
                                     -4.915801191425417),
                                    ("yearminute", -6.168564159920785),
                                    ("Mother's Dayabsorption of article before time",
                                     -6.168564159920785)],
                               n = 378},
                   koData =
                     ClassData{prior = -1.0645374417836073, unseen = -6.393590753950631,
                               likelihoods =
                                 HashMap.fromList
                                   [("hourday", -5.293304824724492),
                                    ("thursdayabsorption of article before time",
                                     -5.293304824724492),
                                    ("dayhour", -3.6193283911528207),
                                    ("daymonth", -2.520716102484711),
                                    ("hourquarter", -5.698769932832657),
                                    ("monthday", -5.293304824724492),
                                    ("absorption of article before timedd/mm", -5.698769932832657),
                                    ("monthyear", -3.3473946756691793),
                                    ("absorption of article before timeDecember",
                                     -5.698769932832657),
                                    ("tuesdayFebruary", -5.698769932832657),
                                    ("wednesdayintersect", -5.698769932832657),
                                    ("intersecthh:mm", -5.698769932832657),
                                    ("hh:mmuntil <time>", -5.0056227522727115),
                                    ("houryear", -5.293304824724492),
                                    ("absorption of article before time<day-of-month> (ordinal or number) <named-month>",
                                     -5.698769932832657),
                                    ("intersect by 'of', 'from', 'syear", -4.782479200958502),
                                    ("absorption of article before timeJuly", -5.293304824724492),
                                    ("thursdayafter <time-of-day>", -4.600157644164547),
                                    ("Marchyear", -4.194692536056383),
                                    ("after tomorrowat <time-of-day>", -5.698769932832657),
                                    ("absorption of article before timeOctober",
                                     -5.293304824724492),
                                    ("<time-of-day> am|pmuntil <time>", -5.293304824724492),
                                    ("wednesdayabsorption of article before time",
                                     -5.293304824724492),
                                    ("<named-month> <day-of-month> (ordinal or number)July",
                                     -5.698769932832657),
                                    ("intersect by ','<time-of-day> am|pm", -5.698769932832657),
                                    ("July<day-of-month> (ordinal or number) <named-month>",
                                     -5.698769932832657),
                                    ("absorption of article before timethe <cycle> of <time>",
                                     -5.698769932832657),
                                    ("intersect by 'of', 'from', 'sabsorption of article before time",
                                     -5.698769932832657),
                                    ("intersect by ','hh:mm", -4.600157644164547),
                                    ("mondayabsorption of article before time", -5.698769932832657),
                                    ("hourmonth", -3.300874660034286),
                                    ("todayat <time-of-day>", -5.698769932832657),
                                    ("absorption of article before timeabsorption of article before time",
                                     -3.6193283911528207),
                                    ("dayday", -3.396184839838611),
                                    ("dayquarter", -5.698769932832657),
                                    ("<time-of-day> - <time-of-day> (interval)absorption of article before time",
                                     -5.698769932832657),
                                    ("thursdayat <time-of-day>", -5.293304824724492),
                                    ("week-endintersect", -5.698769932832657),
                                    ("<datetime> - <datetime> (interval)absorption of article before time",
                                     -5.293304824724492),
                                    ("dayyear", -3.1730412885244013),
                                    ("thursdaydd/mm", -5.698769932832657),
                                    ("thursdaybetween <time-of-day> and <time-of-day> (interval)",
                                     -5.698769932832657),
                                    ("tuesdayabsorption of article before time",
                                     -5.0056227522727115),
                                    ("tuesdayintersect by 'of', 'from', 's", -5.293304824724492),
                                    ("monthminute", -5.293304824724492),
                                    ("<time-of-day> am|pmtomorrow", -5.698769932832657),
                                    ("<named-month> <day-of-month> (ordinal or number)August",
                                     -5.698769932832657),
                                    ("tuesdayMarch", -4.782479200958502),
                                    ("August<day-of-month> (ordinal or number) <named-month>",
                                     -5.698769932832657),
                                    ("thursdayhh:mm", -5.293304824724492),
                                    ("after <time-of-day>December", -5.698769932832657),
                                    ("for <duration> from <time>December", -5.698769932832657),
                                    ("thursdayintersect", -5.293304824724492),
                                    ("Aprilyear", -4.600157644164547),
                                    ("sundayintersect by 'of', 'from', 's", -5.698769932832657),
                                    ("tuesdayJanuary", -5.698769932832657),
                                    ("absorption of article before timehh(:mm) - <time-of-day> am|pm",
                                     -5.698769932832657),
                                    ("tuesdayOctober", -5.293304824724492),
                                    ("<day-of-month> (ordinal or number) of <named-month>year",
                                     -5.0056227522727115),
                                    ("absorption of article before timeFebruary",
                                     -5.293304824724492),
                                    ("tuesday<day-of-month> (ordinal or number) <named-month>",
                                     -5.698769932832657),
                                    ("weekmonth", -4.782479200958502),
                                    ("daysecond", -3.8269677559310655),
                                    ("sundayabsorption of article before time",
                                     -5.0056227522727115),
                                    ("todayabsorption of article before time", -5.698769932832657),
                                    ("thursday<time-of-day> - <time-of-day> (interval)",
                                     -5.698769932832657),
                                    ("yearmonth", -5.293304824724492),
                                    ("absorption of article before timeyear", -4.600157644164547),
                                    ("dayminute", -3.907010463604602),
                                    ("intersectyear", -3.907010463604602),
                                    ("hh:mmabsorption of article before time", -5.293304824724492),
                                    ("thursdayApril", -5.698769932832657),
                                    ("minuteday", -4.782479200958502),
                                    ("absorption of , after named dayintersect",
                                     -5.698769932832657),
                                    ("the <cycle> of <time>absorption of article before time",
                                     -5.0056227522727115),
                                    ("tuesdayApril", -5.293304824724492),
                                    ("Octoberyear", -5.698769932832657),
                                    ("absorption of , after named dayintersect by ','",
                                     -5.698769932832657),
                                    ("yearhh:mm", -5.698769932832657),
                                    ("this <cycle>hh(:mm) - <time-of-day> am|pm",
                                     -5.698769932832657),
                                    ("intersectabsorption of article before time",
                                     -4.600157644164547),
                                    ("tuesday<day-of-month> (ordinal or number) of <named-month>",
                                     -5.698769932832657),
                                    ("after tomorrowabsorption of article before time",
                                     -5.698769932832657),
                                    ("absorption of article before timeuntil <time>",
                                     -4.312475571712766),
                                    ("hoursecond", -4.446006964337289),
                                    ("<day-of-month> (ordinal or number) <named-month>year",
                                     -5.0056227522727115),
                                    ("<duration> after <time>December", -5.698769932832657),
                                    ("intersectintersect", -5.698769932832657),
                                    ("tuesdaytuesday", -5.698769932832657),
                                    ("the <day-of-month> (non ordinal)absorption of article before time",
                                     -3.907010463604602),
                                    ("at <time-of-day>February", -5.698769932832657),
                                    ("week-endabsorption of article before time",
                                     -4.782479200958502),
                                    ("thursdayOctober", -5.293304824724492),
                                    ("tomorrowat <time-of-day>", -5.698769932832657),
                                    ("tuesdayintersect", -3.907010463604602),
                                    ("minutesecond", -5.0056227522727115),
                                    ("tomorrowbetween <time-of-day> and <time-of-day> (interval)",
                                     -5.698769932832657),
                                    ("tuesdayMay", -5.698769932832657),
                                    ("after <time-of-day>absorption of article before time",
                                     -5.698769932832657),
                                    ("<time-of-day> - <time-of-day> (interval)July",
                                     -5.293304824724492),
                                    ("sundayintersect", -5.698769932832657),
                                    ("thursdayintersect by 'of', 'from', 's", -5.698769932832657),
                                    ("tomorrowabsorption of article before time",
                                     -5.698769932832657),
                                    ("absorption of article before timeAugust", -5.698769932832657),
                                    ("yearminute", -5.698769932832657)],
                               n = 199}}),
       ("quarter to|past <integer> (hour-of-day)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("tomorrownight",
        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}}),
       ("half after|past <integer> (hour-of-day)",
        Classifier{okData =
                     ClassData{prior = -0.2231435513142097,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("at <time-of-day>", -1.791759469228055),
                                    ("absorption of article before time", -1.791759469228055),
                                    ("time-of-day (latent)", -1.3862943611198906),
                                    ("hour", -0.8754687373538999)],
                               n = 4},
                   koData =
                     ClassData{prior = -1.6094379124341003,
                               unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -1.0986122886681098),
                                    ("hour", -1.0986122886681098)],
                               n = 1}}),
       ("early morning",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<ordinal> <cycle> of <time>",
        Classifier{okData =
                     ClassData{prior = -0.2876820724517809,
                               unseen = -3.4657359027997265,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -2.740840023925201),
                                    ("ordinals (1st..12th, 20th, 30th..90th)week (grain)intersect by 'of', 'from', 's",
                                     -2.740840023925201),
                                    ("ordinals (1st..12th, 20th, 30th..90th)day (grain)absorption of article before time",
                                     -2.740840023925201),
                                    ("ordinal (digits)quarter (grain)absorption of article before time",
                                     -2.3353749158170367),
                                    ("quarteryear", -2.0476928433652555),
                                    ("weekmonth", -1.6422277352570913),
                                    ("ordinal (digits)quarter (grain)year", -2.740840023925201),
                                    ("ordinals (1st..12th, 20th, 30th..90th)week (grain)intersect",
                                     -2.740840023925201),
                                    ("ordinals (1st..12th, 20th, 30th..90th)week (grain)absorption of article before time",
                                     -2.0476928433652555)],
                               n = 9},
                   koData =
                     ClassData{prior = -1.3862943611198906, unseen = -2.995732273553991,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinal (digits)hour (grain)absorption of article before time",
                                     -2.2512917986064953),
                                    ("ordinal (digits)hour (grain)morning", -2.2512917986064953),
                                    ("ordinal (digits)hour (grain)in|during the <part-of-day>",
                                     -2.2512917986064953),
                                    ("hourhour", -1.55814461804655)],
                               n = 3}}),
       ("year (grain)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.5649493574615367,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 11},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("from <datetime> - <datetime> (interval)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("minuteminute", -1.0986122886681098),
                                    ("hh:mmhh:mm", -1.0986122886681098),
                                    ("hourhour", -1.791759469228055),
                                    ("<time-of-day> am|pm<time-of-day> am|pm", -1.791759469228055)],
                               n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("after tomorrow",
        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 <cycle>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.2188758248682006,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.791759469228055),
                                    ("month (grain)", -2.0794415416798357),
                                    ("year (grain)", -2.0794415416798357),
                                    ("week (grain)", -1.791759469228055),
                                    ("quarter", -2.4849066497880004), ("year", -2.0794415416798357),
                                    ("month", -2.0794415416798357),
                                    ("quarter (grain)", -2.4849066497880004)],
                               n = 8},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.1972245773362196,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("the <cycle> of <time>",
        Classifier{okData =
                     ClassData{prior = -0.587786664902119, unseen = -3.6375861597263857,
                               likelihoods =
                                 HashMap.fromList
                                   [("dayday", -2.917770732084279),
                                    ("week (grain)intersect by 'of', 'from', 's",
                                     -2.917770732084279),
                                    ("week (grain)<day-of-month> (ordinal)", -2.512305623976115),
                                    ("weekmonth", -2.2246235515243336),
                                    ("week (grain)October", -2.917770732084279),
                                    ("day (grain)valentine's day", -2.917770732084279),
                                    ("weekday", -1.6650077635889111),
                                    ("week (grain)intersect", -2.917770732084279),
                                    ("week (grain)<day-of-month> (ordinal or number) <named-month>",
                                     -2.001480000210124)],
                               n = 10},
                   koData =
                     ClassData{prior = -0.8109302162163288,
                               unseen = -3.5263605246161616,
                               likelihoods =
                                 HashMap.fromList
                                   [("day (grain)October", -2.3978952727983707),
                                    ("daymonth", -1.8870696490323797),
                                    ("day (grain)intersect", -2.803360380906535),
                                    ("quarteryear", -2.3978952727983707),
                                    ("week (grain)time-of-day (latent)", -2.3978952727983707),
                                    ("weekhour", -2.3978952727983707),
                                    ("day (grain)intersect by 'of', 'from', 's",
                                     -2.803360380906535),
                                    ("quarter (grain)year", -2.3978952727983707)],
                               n = 8}}),
       ("number.number hours",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour (grain)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("integer 21..99",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.3862943611198906,
                               likelihoods =
                                 HashMap.fromList [("integer (numeric)integer (numeric)", 0.0)],
                               n = 2}}),
       ("this <day-of-week>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("thursday", -1.252762968495368),
                                    ("monday", -1.252762968495368), ("day", -0.8472978603872037)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("yyyy-mm-dd",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("year (latent)",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.791759469228055,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)", -0.5108256237659907),
                                    ("negative numbers", -0.916290731874155)],
                               n = 3}}),
       ("absorption of article before time",
        Classifier{okData =
                     ClassData{prior = -0.24251310408386942, unseen = -6.54965074223381,
                               likelihoods =
                                 HashMap.fromList
                                   [("midnight", -5.855071922202427),
                                    ("last <cycle> <time>'s'", -3.909161773147114),
                                    ("week", -3.657847344866208),
                                    ("Father's Day", -5.449606814094262),
                                    ("thursday", -5.449606814094262), ("fall", -5.449606814094262),
                                    ("<day-of-month> (ordinal or number) <named-month>",
                                     -4.468777561082536),
                                    ("<time> <part-of-day>", -4.2456340097683265),
                                    ("absorption of , after named day", -5.449606814094262),
                                    ("revolution day", -4.756459633534318),
                                    ("October", -4.150323829964002),
                                    ("wednesday", -5.855071922202427), ("July", -5.449606814094262),
                                    ("<ordinal> quarter", -5.855071922202427),
                                    ("saturday", -5.161924741642482),
                                    ("Last year", -5.161924741642482),
                                    ("intersect", -2.810549484479004),
                                    ("half after|past <integer> (hour-of-day)", -5.855071922202427),
                                    ("<ordinal> <cycle> of <time>", -5.855071922202427),
                                    ("next <cycle>", -4.468777561082536),
                                    ("the <cycle> of <time>", -4.602308953707059),
                                    ("<ordinal> quarter <year>", -5.855071922202427),
                                    ("second", -4.938781190328272), ("monday", -5.449606814094262),
                                    ("valentine's day", -5.449606814094262),
                                    ("<day-of-month> (ordinal or number) of <named-month>",
                                     -5.855071922202427),
                                    ("this|last|next <cycle>", -4.2456340097683265),
                                    ("Mother's Day", -5.449606814094262),
                                    ("friday", -5.449606814094262),
                                    ("<time-of-day> am|pm (verbose)", -5.161924741642482),
                                    ("<time> after next", -5.855071922202427),
                                    ("day", -1.8847800086503053),
                                    ("next <day-of-week>", -4.938781190328272),
                                    ("afternoon", -4.150323829964002),
                                    ("February", -4.938781190328272),
                                    ("quarter", -4.756459633534318),
                                    ("this <cycle>", -5.855071922202427),
                                    ("sunday", -5.855071922202427),
                                    ("time-of-day (latent)", -2.9647001643062625),
                                    ("year", -3.5524868292083815),
                                    ("<time-of-day> am|pm", -3.457176649404057),
                                    ("<duration> after <time>", -5.161924741642482),
                                    ("hh:mm", -4.756459633534318),
                                    ("intersect by ','", -5.161924741642482),
                                    ("intersect by 'of', 'from', 's", -3.909161773147114),
                                    ("last <time>", -4.468777561082536),
                                    ("EOM|End of month", -5.855071922202427),
                                    ("March", -4.602308953707059),
                                    ("<day-of-month> (ordinal)", -4.468777561082536),
                                    ("noon", -5.449606814094262), ("hour", -1.9430489167742813),
                                    ("evening", -4.468777561082536), ("month", -2.937301190118148),
                                    ("EOD|End of day", -5.855071922202427),
                                    ("next <time>", -4.756459633534318),
                                    ("christmas", -5.449606814094262),
                                    ("next n <cycle>", -4.602308953707059),
                                    ("tuesday", -5.161924741642482),
                                    ("halloween day", -5.855071922202427),
                                    ("winter", -5.855071922202427),
                                    ("last n <cycle>", -4.756459633534318),
                                    ("last <cycle> of <time>", -4.602308953707059),
                                    ("minute", -3.051711541295892),
                                    ("week-end", -5.449606814094262),
                                    ("summer", -5.855071922202427), ("August", -5.855071922202427)],
                               n = 317},
                   koData =
                     ClassData{prior = -1.5355067593065663, unseen = -5.521460917862246,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -3.7256934272366524),
                                    ("<duration> hence|ago", -4.824305715904762),
                                    ("<named-month> <day-of-month> (ordinal or number)",
                                     -4.824305715904762),
                                    ("<day-of-month> (ordinal or number) <named-month>",
                                     -3.0325462466767075),
                                    ("September", -4.824305715904762),
                                    ("October", -4.418840607796598),
                                    ("<ordinal> quarter", -4.824305715904762),
                                    ("intersect", -3.214867803470662),
                                    ("the <cycle> of <time>", -3.9080149840306073),
                                    ("year (latent)", -4.418840607796598),
                                    ("second", -3.3202283191284883), ("April", -4.824305715904762),
                                    ("this|last|next <cycle>", -4.824305715904762),
                                    ("day", -2.1501570664782337), ("afternoon", -4.824305715904762),
                                    ("quarter", -4.1311585353448175),
                                    ("time-of-day (latent)", -2.472930458741285),
                                    ("year", -4.418840607796598), ("hh:mm", -4.824305715904762),
                                    ("until <time>", -3.3202283191284883),
                                    ("intersect by 'of', 'from', 's", -4.824305715904762),
                                    ("March", -4.418840607796598),
                                    ("<day-of-month> (ordinal)", -2.952503539003171),
                                    ("hour", -2.4264104431063918), ("month", -2.7448641742249267),
                                    ("last <cycle>", -4.1311585353448175),
                                    ("<datetime> - <datetime> (interval)", -4.824305715904762),
                                    ("<time-of-day> - <time-of-day> (interval)",
                                     -4.418840607796598),
                                    ("minute", -3.7256934272366524),
                                    ("August", -4.418840607796598)],
                               n = 87}}),
       ("dd/mm/yyyy",
        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.6094379124341003,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<ordinal> quarter <year>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinal (digits)quarter (grain)absorption of article before time",
                                     -1.0986122886681098),
                                    ("quarteryear", -0.8109302162163288),
                                    ("ordinal (digits)quarter (grain)year", -1.5040773967762742)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("hh:mm:ss",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("monday",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.70805020110221,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 13},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("nth <time> of <time>",
        Classifier{okData =
                     ClassData{prior = -0.4700036292457356,
                               unseen = -2.9444389791664407,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -1.2809338454620642),
                                    ("ordinals (1st..12th, 20th, 30th..90th)tuesdayintersect",
                                     -2.1972245773362196),
                                    ("ordinals (1st..12th, 20th, 30th..90th)tuesdayOctober",
                                     -2.1972245773362196),
                                    ("ordinals (1st..12th, 20th, 30th..90th)wednesdayintersect",
                                     -1.791759469228055),
                                    ("ordinals (1st..12th, 20th, 30th..90th)the <cycle> of <time>year",
                                     -2.1972245773362196),
                                    ("weekyear", -2.1972245773362196)],
                               n = 5},
                   koData =
                     ClassData{prior = -0.9808292530117262, unseen = -2.70805020110221,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -1.252762968495368),
                                    ("ordinals (1st..12th, 20th, 30th..90th)wednesdayOctober",
                                     -1.540445040947149),
                                    ("ordinals (1st..12th, 20th, 30th..90th)tuesdaySeptember",
                                     -1.9459101490553135)],
                               n = 3}}),
       ("the <day-of-month> (non ordinal)",
        Classifier{okData =
                     ClassData{prior = -0.8109302162163288, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 4},
                   koData =
                     ClassData{prior = -0.587786664902119, unseen = -1.9459101490553135,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 5}}),
       ("April",
        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}}),
       ("week (grain)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.258096538021482,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 24},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<part-of-day> of <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("hourday", -0.8109302162163288),
                                    ("morning<day-of-month> (ordinal or number) <named-month>",
                                     -1.0986122886681098),
                                    ("morning<day-of-month> (ordinal)", -1.5040773967762742)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("valentine'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}}),
       ("now",
        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}}),
       ("<day-of-month> (ordinal or number) of <named-month>",
        Classifier{okData =
                     ClassData{prior = -1.0986122886681098,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("month", -0.9808292530117262),
                                    ("ordinals (1st..12th, 20th, 30th..90th)March",
                                     -0.9808292530117262)],
                               n = 2},
                   koData =
                     ClassData{prior = -0.40546510810816444,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (1st..12th, 20th, 30th..90th)September",
                                     -1.791759469228055),
                                    ("month", -0.8754687373538999),
                                    ("ordinals (1st..12th, 20th, 30th..90th)October",
                                     -1.0986122886681098)],
                               n = 4}}),
       ("in|during the <part-of-day>",
        Classifier{okData =
                     ClassData{prior = -5.715841383994864e-2,
                               unseen = -3.6375861597263857,
                               likelihoods =
                                 HashMap.fromList
                                   [("afternoon", -1.213022639845854),
                                    ("hour", -0.7205461547480597),
                                    ("evening", -1.5314763709643884)],
                               n = 17},
                   koData =
                     ClassData{prior = -2.890371757896165, unseen = -1.791759469228055,
                               likelihoods =
                                 HashMap.fromList
                                   [("afternoon", -0.916290731874155),
                                    ("hour", -0.916290731874155)],
                               n = 1}}),
       ("new year's eve",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("tomorrow",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.70805020110221,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 13},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("hh(:mm) - <time-of-day> am|pm",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 5},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("this|last|next <cycle>",
        Classifier{okData =
                     ClassData{prior = -0.2076393647782445,
                               unseen = -3.6109179126442243,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.6376087894007967),
                                    ("month (grain)", -2.1972245773362196),
                                    ("year (grain)", -2.1972245773362196),
                                    ("week (grain)", -1.6376087894007967),
                                    ("quarter", -2.890371757896165), ("year", -2.1972245773362196),
                                    ("month", -2.1972245773362196),
                                    ("quarter (grain)", -2.890371757896165)],
                               n = 13},
                   koData =
                     ClassData{prior = -1.6739764335716716, unseen = -2.833213344056216,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -1.3862943611198906),
                                    ("day (grain)", -1.3862943611198906)],
                               n = 3}}),
       ("Mother's Day",
        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}}),
       ("annunciation 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}}),
       ("this year",
        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}}),
       ("friday",
        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}}),
       ("<time-of-day> am|pm (verbose)",
        Classifier{okData =
                     ClassData{prior = -0.1823215567939546,
                               unseen = -3.6635616461296463,
                               likelihoods =
                                 HashMap.fromList
                                   [("at <time-of-day>", -2.538973871058276),
                                    ("<time-of-day>  o'clock", -2.538973871058276),
                                    ("absorption of article before time", -2.2512917986064953),
                                    ("time-of-day (latent)", -1.845826690498331),
                                    ("hh:mm", -2.538973871058276),
                                    ("until <time-of-day>", -2.9444389791664407),
                                    ("hour", -0.9985288301111273), ("minute", -2.538973871058276)],
                               n = 15},
                   koData =
                     ClassData{prior = -1.791759469228055, unseen = -2.70805020110221,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -1.252762968495368),
                                    ("hour", -1.252762968495368)],
                               n = 3}}),
       ("<time> after next",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3978952727983707,
                               likelihoods =
                                 HashMap.fromList
                                   [("friday", -1.2039728043259361), ("day", -1.2039728043259361),
                                    ("March", -1.6094379124341003), ("month", -1.6094379124341003)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("relative integer (minutes) to|till|before|after <integer> (time-of-day)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods =
                                 HashMap.fromList
                                   [("number (0..19, 20, 30..90)absorption of article before time",
                                     -1.0986122886681098),
                                    ("number (0..19, 20, 30..90)<time-of-day> am|pm",
                                     -1.5040773967762742),
                                    ("hour", -0.8109302162163288)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("next <day-of-week>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.0910424533583156,
                               likelihoods =
                                 HashMap.fromList
                                   [("thursday", -1.6582280766035324),
                                    ("wednesday", -2.3513752571634776),
                                    ("monday", -2.3513752571634776), ("day", -0.8472978603872037),
                                    ("tuesday", -1.6582280766035324)],
                               n = 8},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("half an hour",
        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}}),
       ("last weekend of <named-month>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("absorption of article before time", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("fractional number",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -2.639057329615259,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 12}}),
       ("June",
        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}}),
       ("afternoon",
        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}}),
       ("<duration> from now",
        Classifier{okData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("second", -1.3862943611198906),
                                    ("<integer> <unit-of-duration>", -0.9808292530117262),
                                    ("minute", -1.3862943611198906)],
                               n = 2},
                   koData =
                     ClassData{prior = -0.6931471805599453,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -0.9808292530117262),
                                    ("<integer> <unit-of-duration>", -0.9808292530117262)],
                               n = 2}}),
       ("February",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.0910424533583156,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 20},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("this <cycle>",
        Classifier{okData =
                     ClassData{prior = -0.2006706954621511, unseen = -3.871201010907891,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.2407096892759584),
                                    ("intersect", -3.1570004211501135),
                                    ("year (grain)", -2.751535313041949),
                                    ("absorption of article before time", -1.547562508716013),
                                    ("week (grain)", -2.2407096892759584),
                                    ("day", -1.7707060600302227), ("quarter", -3.1570004211501135),
                                    ("year", -2.751535313041949), ("hour", -2.2407096892759584),
                                    ("quarter (grain)", -3.1570004211501135),
                                    ("summer", -3.1570004211501135)],
                               n = 18},
                   koData =
                     ClassData{prior = -1.7047480922384253, unseen = -2.995732273553991,
                               likelihoods =
                                 HashMap.fromList
                                   [("intersect", -1.845826690498331),
                                    ("absorption of article before time", -1.845826690498331),
                                    ("day", -1.55814461804655), ("hour", -2.2512917986064953)],
                               n = 4}}),
       ("minute (grain)",
        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}}),
       ("sunday",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 8},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("about <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.1823215567939546,
                               unseen = -3.4339872044851463,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.3025850929940455),
                                    ("absorption of article before time", -1.455287232606842),
                                    ("hh(:mm) - <time-of-day> am|pm", -2.70805020110221),
                                    ("day", -1.791759469228055),
                                    ("time-of-day (latent)", -2.70805020110221),
                                    ("<time-of-day> am|pm", -2.70805020110221),
                                    ("hour", -2.0149030205422647),
                                    ("hhmm (military)", -2.70805020110221),
                                    ("minute", -2.70805020110221)],
                               n = 10},
                   koData =
                     ClassData{prior = -1.791759469228055, unseen = -2.70805020110221,
                               likelihoods =
                                 HashMap.fromList
                                   [("dd/mm", -1.9459101490553135), ("day", -1.9459101490553135),
                                    ("time-of-day (latent)", -1.9459101490553135),
                                    ("hour", -1.9459101490553135)],
                               n = 2}}),
       ("time-of-day (latent)",
        Classifier{okData =
                     ClassData{prior = -0.4900224961362275,
                               unseen = -4.2626798770413155,
                               likelihoods =
                                 HashMap.fromList
                                   [("integer (numeric)", -7.410797215372185e-2),
                                    ("number (0..19, 20, 30..90)", -2.639057329615259)],
                               n = 68},
                   koData =
                     ClassData{prior = -0.9483300856187717, unseen = -3.828641396489095,
                               likelihoods =
                                 HashMap.fromList [("integer (numeric)", -2.247285585205863e-2)],
                               n = 43}}),
       ("three quarters of an hour",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("year",
        Classifier{okData =
                     ClassData{prior = -0.11506932978478723,
                               unseen = -3.7612001156935624,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 41},
                   koData =
                     ClassData{prior = -2.2192034840549946,
                               unseen = -1.9459101490553135,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 5}}),
       ("last <day-of-week> of <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.639057329615259,
                               likelihoods =
                                 HashMap.fromList
                                   [("daymonth", -0.9555114450274363),
                                    ("sundayMarch", -1.8718021769015913),
                                    ("sundayintersect by 'of', 'from', 's", -1.8718021769015913),
                                    ("mondayMarch", -1.8718021769015913),
                                    ("sundayintersect", -1.8718021769015913)],
                               n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<integer> <unit-of-duration>",
        Classifier{okData =
                     ClassData{prior = -0.5108256237659907, unseen = -4.74493212836325,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.538973871058276),
                                    ("number (0..19, 20, 30..90)day (grain)", -3.349904087274605),
                                    ("number (0..19, 20, 30..90)year (grain)", -3.349904087274605),
                                    ("integer (numeric)day (grain)", -2.538973871058276),
                                    ("number (0..19, 20, 30..90)month (grain)",
                                     -3.6375861597263857),
                                    ("second", -3.6375861597263857),
                                    ("number (0..19, 20, 30..90)hour (grain)", -3.349904087274605),
                                    ("number (0..19, 20, 30..90)minute (grain)",
                                     -3.6375861597263857),
                                    ("integer (numeric)year (grain)", -4.04305126783455),
                                    ("day", -2.2512917986064953),
                                    ("number (0..19, 20, 30..90)week (grain)", -2.9444389791664407),
                                    ("year", -3.126760535960395),
                                    ("integer (numeric)week (grain)", -3.349904087274605),
                                    ("hour", -2.790288299339182),
                                    ("fewminute (grain)", -4.04305126783455),
                                    ("month", -3.6375861597263857),
                                    ("integer (numeric)minute (grain)", -2.4336133554004498),
                                    ("number (0..19, 20, 30..90)second (grain) ",
                                     -3.6375861597263857),
                                    ("fewhour (grain)", -4.04305126783455),
                                    ("minute", -2.171249090932959),
                                    ("integer (numeric)hour (grain)", -3.6375861597263857)],
                               n = 45},
                   koData =
                     ClassData{prior = -0.916290731874155, unseen = -4.442651256490317,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -3.332204510175204),
                                    ("number (0..19, 20, 30..90)day (grain)", -3.7376696182833684),
                                    ("integer (numeric)day (grain)", -3.332204510175204),
                                    ("fewday (grain)", -3.7376696182833684),
                                    ("second", -2.8213788864092133),
                                    ("number (0..19, 20, 30..90)hour (grain)", -3.7376696182833684),
                                    ("integer (numeric)second (grain) ", -3.044522437723423),
                                    ("number (0..19, 20, 30..90)minute (grain)",
                                     -3.332204510175204),
                                    ("integer (numeric)year (grain)", -3.332204510175204),
                                    ("day", -2.8213788864092133), ("year", -3.332204510175204),
                                    ("integer (numeric)week (grain)", -3.332204510175204),
                                    ("hour", -1.9459101490553135), ("month", -3.044522437723423),
                                    ("integer (numeric)minute (grain)", -3.332204510175204),
                                    ("number (0..19, 20, 30..90)second (grain) ",
                                     -3.7376696182833684),
                                    ("integer (numeric)month (grain)", -3.044522437723423),
                                    ("minute", -2.8213788864092133),
                                    ("integer (numeric)hour (grain)", -2.032921526044943)],
                               n = 30}}),
       ("<time-of-day> am|pm",
        Classifier{okData =
                     ClassData{prior = -0.1670540846631662, unseen = -5.365976015021851,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day> approximately", -4.66814498514948),
                                    ("at <time-of-day>", -2.528078821653209),
                                    ("<time-of-day>  o'clock", -4.66814498514948),
                                    ("quarter to|past <integer> (hour-of-day)", -4.66814498514948),
                                    ("half after|past <integer> (hour-of-day)",
                                     -3.9749978045895347),
                                    ("absorption of article before time", -2.2702497123511094),
                                    ("about <time-of-day>", -4.66814498514948),
                                    ("time-of-day (latent)", -1.864784604242945),
                                    ("<time-of-day> am|pm", -4.66814498514948),
                                    ("hh:mm", -2.4168531865429848), ("hour", -1.156599546318459),
                                    ("<integer>-and-half (hour-of-day)", -4.2626798770413155),
                                    ("hhmm (military)", -4.66814498514948),
                                    ("minute", -1.8349316410932637),
                                    ("after <time-of-day>", -4.66814498514948)],
                               n = 99},
                   koData =
                     ClassData{prior = -1.8718021769015913, unseen = -3.951243718581427,
                               likelihoods =
                                 HashMap.fromList
                                   [("time-of-day (latent)", -1.2237754316221157),
                                    ("hour", -0.9873866535578852),
                                    ("after <time-of-day>", -2.322387720290225)],
                               n = 18}}),
       ("<duration> after <time>",
        Classifier{okData =
                     ClassData{prior = -0.17185025692665928,
                               unseen = -3.8501476017100584,
                               likelihoods =
                                 HashMap.fromList
                                   [("<integer> <unit-of-duration>absorption of article before time",
                                     -1.8827312474337816),
                                    ("quarter of an hour<time-of-day> am|pm", -3.1354942159291497),
                                    ("<integer> <unit-of-duration>today", -3.1354942159291497),
                                    ("secondsecond", -3.1354942159291497),
                                    ("minutehour", -1.4307461236907244),
                                    ("daysecond", -2.7300291078209855),
                                    ("quarter of an hourabsorption of article before time",
                                     -2.7300291078209855),
                                    ("<integer> <unit-of-duration><time-of-day> am|pm",
                                     -2.7300291078209855),
                                    ("yearday", -2.7300291078209855),
                                    ("minutesecond", -3.1354942159291497),
                                    ("<integer> <unit-of-duration>now", -2.2192034840549946)],
                               n = 16},
                   koData =
                     ClassData{prior = -1.845826690498331, unseen = -3.044522437723423,
                               likelihoods =
                                 HashMap.fromList
                                   [("dayhour", -1.8971199848858813),
                                    ("<integer> <unit-of-duration>absorption of article before time",
                                     -1.8971199848858813),
                                    ("<integer> <unit-of-duration>intersect", -2.3025850929940455),
                                    ("dayday", -2.3025850929940455)],
                               n = 3}}),
       ("part of <named-month>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("March", -0.6931471805599453), ("month", -0.6931471805599453)],
                               n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("hh:mm",
        Classifier{okData =
                     ClassData{prior = -6.317890162153156e-2,
                               unseen = -3.871201010907891,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 46},
                   koData =
                     ClassData{prior = -2.793208009442517, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 3}}),
       ("<duration> before <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.0794415416798357,
                               likelihoods =
                                 HashMap.fromList
                                   [("<integer> <unit-of-duration>absorption of article before time",
                                     -1.252762968495368),
                                    ("minutehour", -0.8472978603872037),
                                    ("quarter of an hourabsorption of article before time",
                                     -1.252762968495368)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("quarter of an hour",
        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}}),
       ("intersect by ','",
        Classifier{okData =
                     ClassData{prior = -0.2876820724517809, unseen = -4.584967478670572,
                               likelihoods =
                                 HashMap.fromList
                                   [("<day-of-month> (ordinal or number) <named-month>tuesday",
                                     -3.8815637979434374),
                                    ("monday<day-of-month> (ordinal or number) <named-month>",
                                     -3.4760986898352733),
                                    ("<day-of-month> (ordinal or number) <named-month>monday",
                                     -3.8815637979434374),
                                    ("absorption of article before time<day-of-month> (ordinal or number) <named-month>",
                                     -3.188416617383492),
                                    ("intersect<day-of-month> (ordinal or number) <named-month>",
                                     -2.62880082944807),
                                    ("saturday<day-of-month> (ordinal or number) <named-month>",
                                     -3.8815637979434374),
                                    ("intersect by ','year", -3.8815637979434374),
                                    ("wednesday<day-of-month> (ordinal or number) <named-month>",
                                     -3.8815637979434374),
                                    ("dayday", -1.684339220607218),
                                    ("dayyear", -2.9652730660692823),
                                    ("tuesday<day-of-month> (ordinal or number) <named-month>",
                                     -3.188416617383492),
                                    ("fridayintersect", -3.8815637979434374),
                                    ("intersect by ','intersect", -3.8815637979434374),
                                    ("dayminute", -2.782951509275328),
                                    ("<day-of-month> (ordinal or number) <named-month>intersect",
                                     -3.8815637979434374),
                                    ("intersectyear", -3.8815637979434374),
                                    ("minuteday", -2.495269436823547),
                                    ("<day-of-month> (ordinal or number) <named-month>year",
                                     -3.4760986898352733),
                                    ("intersectintersect", -3.8815637979434374),
                                    ("fridayintersect by ','", -3.4760986898352733),
                                    ("sunday<day-of-month> (ordinal or number) <named-month>",
                                     -3.8815637979434374),
                                    ("<named-month> <day-of-month> (ordinal or number)friday",
                                     -3.8815637979434374),
                                    ("friday<day-of-month> (ordinal or number) <named-month>",
                                     -3.188416617383492)],
                               n = 33},
                   koData =
                     ClassData{prior = -1.3862943611198906,
                               unseen = -3.9889840465642745,
                               likelihoods =
                                 HashMap.fromList
                                   [("monthday", -2.871679624884012),
                                    ("Februarytuesday", -3.2771447329921766),
                                    ("monthyear", -2.871679624884012),
                                    ("Julyintersect", -2.871679624884012),
                                    ("monthminute", -2.871679624884012),
                                    ("Aprilyear", -3.2771447329921766),
                                    ("Februarymonday", -3.2771447329921766),
                                    ("fridayintersect", -3.2771447329921766),
                                    ("intersect by ','intersect", -3.2771447329921766),
                                    ("dayminute", -2.178532444324067),
                                    ("<day-of-month> (ordinal or number) <named-month>intersect",
                                     -3.2771447329921766),
                                    ("Julyyear", -3.2771447329921766),
                                    ("intersectintersect", -3.2771447329921766),
                                    ("fridayintersect by ','", -3.2771447329921766)],
                               n = 11}}),
       ("second (grain) ",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.0794415416798357,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 6},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("until <time>",
        Classifier{okData =
                     ClassData{prior = -1.540445040947149, unseen = -3.1780538303479458,
                               likelihoods =
                                 HashMap.fromList
                                   [("absorption of article before time", -1.3437347467010947),
                                    ("day", -2.4423470353692043),
                                    ("<time-of-day> am|pm", -2.4423470353692043),
                                    ("hour", -2.4423470353692043), ("month", -2.4423470353692043),
                                    ("minute", -1.749199854809259)],
                               n = 6},
                   koData =
                     ClassData{prior = -0.2411620568168881, unseen = -4.02535169073515,
                               likelihoods =
                                 HashMap.fromList
                                   [("intersect", -2.3978952727983707),
                                    ("absorption of article before time", -1.927891643552635),
                                    ("the <day-of-month> (non ordinal)", -3.3141860046725258),
                                    ("<time-of-day> am|pm (verbose)", -3.3141860046725258),
                                    ("day", -1.927891643552635),
                                    ("time-of-day (latent)", -2.2155737160044158),
                                    ("<time-of-day> am|pm", -2.908720896564361),
                                    ("hh:mm", -2.908720896564361), ("hour", -1.3682758556172123),
                                    ("minute", -2.908720896564361)],
                               n = 22}}),
       ("before <duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.5263605246161616,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.550597412411167), ("day", -1.8870696490323797),
                                    ("year", -2.3978952727983707),
                                    ("<integer> <unit-of-duration>", -0.7884573603642702),
                                    ("month", -2.3978952727983707)],
                               n = 14},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("intersect by 'of', 'from', 's",
        Classifier{okData =
                     ClassData{prior = -0.4321333551903257, unseen = -4.74493212836325,
                               likelihoods =
                                 HashMap.fromList
                                   [("halloween dayyear", -4.04305126783455),
                                    ("daymonth", -3.126760535960395),
                                    ("monthyear", -2.538973871058276),
                                    ("wednesdaynext <cycle>", -4.04305126783455),
                                    ("christmasyear", -4.04305126783455),
                                    ("wednesdayintersect", -4.04305126783455),
                                    ("Marchyear", -4.04305126783455),
                                    ("absorption of article before timeLast year",
                                     -3.6375861597263857),
                                    ("last <day-of-week> of <time>year", -4.04305126783455),
                                    ("wednesdayOctober", -4.04305126783455),
                                    ("dayyear", -1.7404661748405046),
                                    ("wednesdaythis|last|next <cycle>", -4.04305126783455),
                                    ("Mother's Dayyear", -4.04305126783455),
                                    ("tuesdayOctober", -4.04305126783455),
                                    ("absorption of article before timeyear", -2.2512917986064953),
                                    ("revolution dayLast year", -3.6375861597263857),
                                    ("the <cycle> of <time>year", -4.04305126783455),
                                    ("<ordinal> <cycle> of <time>year", -4.04305126783455),
                                    ("absorption of article before timeMarch", -4.04305126783455),
                                    ("Octoberyear", -3.349904087274605),
                                    ("Septemberyear", -4.04305126783455),
                                    ("dayweek", -3.6375861597263857),
                                    ("last <cycle> <time>'s'year", -3.349904087274605),
                                    ("weekyear", -3.126760535960395),
                                    ("last <cycle> of <time>year", -3.6375861597263857)],
                               n = 37},
                   koData =
                     ClassData{prior = -1.0473189942805592, unseen = -4.394449154672439,
                               likelihoods =
                                 HashMap.fromList
                                   [("tuesdaySeptember", -3.6888794541139363),
                                    ("week-endJuly", -3.6888794541139363),
                                    ("week-endOctober", -3.283414346005772),
                                    ("daymonth", -1.984131361875511),
                                    ("monthyear", -3.6888794541139363),
                                    ("wednesdayintersect", -3.6888794541139363),
                                    ("intersect by 'of', 'from', 'syear", -3.6888794541139363),
                                    ("hourmonth", -2.772588722239781),
                                    ("wednesdayOctober", -3.6888794541139363),
                                    ("week-endintersect", -3.6888794541139363),
                                    ("dayyear", -2.5902671654458267),
                                    ("sundayMarch", -3.6888794541139363),
                                    ("sundayintersect by 'of', 'from', 's", -3.6888794541139363),
                                    ("absorption of article before timeyear", -3.6888794541139363),
                                    ("the <cycle> of <time>year", -3.6888794541139363),
                                    ("intersectyear", -3.283414346005772),
                                    ("intersectSeptember", -3.6888794541139363),
                                    ("mondayMarch", -3.6888794541139363),
                                    ("intersectintersect", -3.6888794541139363),
                                    ("tuesdayintersect", -3.6888794541139363),
                                    ("sundayintersect", -3.6888794541139363),
                                    ("after <time-of-day>year", -3.6888794541139363)],
                               n = 20}}),
       ("last <time>",
        Classifier{okData =
                     ClassData{prior = -0.3746934494414107,
                               unseen = -3.4965075614664802,
                               likelihoods =
                                 HashMap.fromList
                                   [("Father's Day", -2.772588722239781),
                                    ("thursday", -2.772588722239781),
                                    ("revolution day", -2.772588722239781),
                                    ("Mother's Day", -2.772588722239781),
                                    ("day", -1.3862943611198906), ("sunday", -2.367123614131617),
                                    ("hour", -1.8562979903656263), ("tuesday", -2.772588722239781),
                                    ("week-end", -1.8562979903656263)],
                               n = 11},
                   koData =
                     ClassData{prior = -1.1631508098056809, unseen = -3.044522437723423,
                               likelihoods =
                                 HashMap.fromList
                                   [("monday", -2.3025850929940455), ("day", -1.8971199848858813),
                                    ("sunday", -2.3025850929940455), ("hour", -1.6094379124341003),
                                    ("week-end", -1.6094379124341003)],
                               n = 5}}),
       ("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}}),
       ("March",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.4011973816621555,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 28},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<day-of-month> (ordinal)",
        Classifier{okData =
                     ClassData{prior = -0.6418538861723948,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (1st..12th, 20th, 30th..90th)", -1.3862943611198906),
                                    ("ordinal (digits)", -0.2876820724517809)],
                               n = 10},
                   koData =
                     ClassData{prior = -0.7472144018302211,
                               unseen = -2.4849066497880004,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (1st..12th, 20th, 30th..90th)", -0.3184537311185346),
                                    ("ordinal (digits)", -1.2992829841302609)],
                               n = 9}}),
       ("noon",
        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}}),
       ("until <time-of-day>",
        Classifier{okData =
                     ClassData{prior = -0.3364722366212129, unseen = -2.70805020110221,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time> <part-of-day>", -1.9459101490553135),
                                    ("absorption of article before time", -1.252762968495368),
                                    ("<time-of-day> am|pm (verbose)", -1.9459101490553135),
                                    ("hour", -0.8472978603872037)],
                               n = 5},
                   koData =
                     ClassData{prior = -1.252762968495368, unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("absorption of article before time", -0.9808292530117262),
                                    ("hour", -0.9808292530117262)],
                               n = 2}}),
       ("evening",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 8},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("decimal number",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1}}),
       ("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}}),
       ("next <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.367295829986474,
                               likelihoods =
                                 HashMap.fromList
                                   [("thursday", -1.9459101490553135),
                                    ("wednesday", -2.639057329615259),
                                    ("monday", -2.639057329615259), ("day", -1.0296194171811581),
                                    ("March", -2.639057329615259), ("month", -2.639057329615259),
                                    ("tuesday", -1.9459101490553135),
                                    ("halloween day", -2.639057329615259)],
                               n = 10},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.1972245773362196,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("last <cycle>",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -2.3978952727983707,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -1.6094379124341003),
                                    ("week (grain)", -1.6094379124341003),
                                    ("day", -1.2039728043259361),
                                    ("day (grain)", -1.2039728043259361)],
                               n = 3}}),
       ("<integer>-and-half (hour-of-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}}),
       ("christmas",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 3},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("new year's day",
        Classifier{okData =
                     ClassData{prior = -1.0986122886681098,
                               unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 1},
                   koData =
                     ClassData{prior = -0.40546510810816444,
                               unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
       ("next n <cycle>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.713572066704308,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.995732273553991),
                                    ("number (0..19, 20, 30..90)day (grain)", -2.995732273553991),
                                    ("fewday (grain)", -2.995732273553991),
                                    ("second", -2.5902671654458267),
                                    ("number (0..19, 20, 30..90)hour (grain)", -2.995732273553991),
                                    ("integer (numeric)second (grain) ", -2.995732273553991),
                                    ("number (0..19, 20, 30..90)minute (grain)",
                                     -2.995732273553991),
                                    ("integer (numeric)year (grain)", -2.995732273553991),
                                    ("day", -2.5902671654458267), ("year", -2.995732273553991),
                                    ("integer (numeric)week (grain)", -2.995732273553991),
                                    ("hour", -2.5902671654458267), ("month", -2.995732273553991),
                                    ("integer (numeric)minute (grain)", -2.995732273553991),
                                    ("number (0..19, 20, 30..90)second (grain) ",
                                     -2.995732273553991),
                                    ("integer (numeric)month (grain)", -2.995732273553991),
                                    ("minute", -2.5902671654458267),
                                    ("integer (numeric)hour (grain)", -2.995732273553991)],
                               n = 11},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.9444389791664407,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("tuesday",
        Classifier{okData =
                     ClassData{prior = -0.5306282510621704,
                               unseen = -3.0910424533583156,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 20},
                   koData =
                     ClassData{prior = -0.8873031950009028, unseen = -2.772588722239781,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 14}}),
       ("negative numbers",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -3.1780538303479458,
                               likelihoods = HashMap.fromList [("integer (numeric)", 0.0)],
                               n = 22}}),
       ("about|exactly <duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("half a <grain>", -0.6931471805599453),
                                    ("minute", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("half a <grain>",
        Classifier{okData =
                     ClassData{prior = -0.40546510810816444,
                               unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour (grain)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -1.0986122886681098,
                               unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("hour (grain)", -0.6931471805599453),
                                    ("hour", -0.6931471805599453)],
                               n = 1}}),
       ("halloween day",
        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}}),
       ("by the end of <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("absorption of article before time", -0.6931471805599453),
                                    ("month", -0.6931471805599453)],
                               n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("hhmm (military) am|pm",
        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}}),
       ("in <duration>",
        Classifier{okData =
                     ClassData{prior = -7.598590697792199e-2,
                               unseen = -4.5217885770490405,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -3.817712325956905),
                                    ("<integer> and a half <grain>", -3.817712325956905),
                                    ("<integer> more <unit-of-duration>", -3.817712325956905),
                                    ("<integer> + '\"", -3.1245651453969594),
                                    ("number.number hours", -3.817712325956905),
                                    ("second", -3.1245651453969594), ("day", -3.1245651453969594),
                                    ("half an hour", -3.1245651453969594),
                                    ("three quarters of an hour", -2.9014215940827497),
                                    ("<integer> <unit-of-duration>", -1.5151272329628591),
                                    ("quarter of an hour", -2.9014215940827497),
                                    ("hour", -2.5649493574615367),
                                    ("about|exactly <duration>", -3.817712325956905),
                                    ("half a <grain>", -3.817712325956905),
                                    ("minute", -1.252762968495368)],
                               n = 38},
                   koData =
                     ClassData{prior = -2.6149597780361984,
                               unseen = -3.0910424533583156,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.3513752571634776), ("day", -1.9459101490553135),
                                    ("<integer> <unit-of-duration>", -1.6582280766035324)],
                               n = 3}}),
       ("<datetime> - <datetime> (interval)",
        Classifier{okData =
                     ClassData{prior = -1.067840630001356, unseen = -3.8066624897703196,
                               likelihoods =
                                 HashMap.fromList
                                   [("intersecthh:mm", -3.0910424533583156),
                                    ("minuteminute", -1.9924301646902063),
                                    ("absorption of article before timeabsorption of article before time",
                                     -3.0910424533583156),
                                    ("hh:mmhh:mm", -2.174751721484161),
                                    ("dayday", -2.174751721484161),
                                    ("hourhour", -2.6855773452501515),
                                    ("<day-of-month> (ordinal or number) <named-month><day-of-month> (ordinal or number) <named-month>",
                                     -2.6855773452501515),
                                    ("absorption of article before timethe <day-of-month> (non ordinal)",
                                     -3.0910424533583156),
                                    ("<time-of-day> am|pm<time-of-day> am|pm",
                                     -2.6855773452501515)],
                               n = 11},
                   koData =
                     ClassData{prior = -0.42121346507630353,
                               unseen = -4.174387269895637,
                               likelihoods =
                                 HashMap.fromList
                                   [("hourday", -3.0602707946915624),
                                    ("dayhour", -3.0602707946915624),
                                    ("monthday", -3.0602707946915624),
                                    ("absorption of article before time<day-of-month> (ordinal or number) <named-month>",
                                     -3.0602707946915624),
                                    ("<time-of-day> am|pmintersect", -3.4657359027997265),
                                    ("July<day-of-month> (ordinal or number) <named-month>",
                                     -3.4657359027997265),
                                    ("hh:mm<time-of-day> am|pm", -3.0602707946915624),
                                    ("absorption of article before timeintersect",
                                     -2.772588722239781),
                                    ("minuteminute", -2.2129729343043585),
                                    ("absorption of article before timeabsorption of article before time",
                                     -2.772588722239781),
                                    ("hh:mmhh:mm", -2.772588722239781),
                                    ("dayday", -2.5494451709255714),
                                    ("hourhour", -2.772588722239781),
                                    ("August<day-of-month> (ordinal or number) <named-month>",
                                     -3.4657359027997265),
                                    ("minutehour", -3.0602707946915624),
                                    ("hh:mmintersect", -3.0602707946915624),
                                    ("absorption of article before timehh:mm", -3.4657359027997265),
                                    ("about <time-of-day><time-of-day> am|pm", -3.4657359027997265),
                                    ("<time-of-day> am|pm<time-of-day> am|pm",
                                     -3.4657359027997265)],
                               n = 21}}),
       ("on the day of <day>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("day", -0.6931471805599453),
                                    ("new year's day", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<time-of-day> - <time-of-day> (interval)",
        Classifier{okData =
                     ClassData{prior = -1.3545456628053103,
                               unseen = -3.4339872044851463,
                               likelihoods =
                                 HashMap.fromList
                                   [("<time-of-day> am|pmabsorption of article before time",
                                     -2.70805020110221),
                                    ("minuteminute", -1.791759469228055),
                                    ("hh:mmhh:mm", -1.791759469228055),
                                    ("<time-of-day> am|pmtime-of-day (latent)", -2.70805020110221),
                                    ("hourhour", -1.791759469228055),
                                    ("<time-of-day> am|pm<time-of-day> am|pm",
                                     -2.3025850929940455)],
                               n = 8},
                   koData =
                     ClassData{prior = -0.29849298855599654,
                               unseen = -4.110873864173311,
                               likelihoods =
                                 HashMap.fromList
                                   [("hh:mmtime-of-day (latent)", -1.791759469228055),
                                    ("hh:mm<time-of-day> am|pm", -2.995732273553991),
                                    ("minuteminute", -2.4849066497880004),
                                    ("absorption of article before timeabsorption of article before time",
                                     -3.4011973816621555),
                                    ("hh:mmhh:mm", -2.70805020110221),
                                    ("<time-of-day> am|pmtime-of-day (latent)", -2.995732273553991),
                                    ("hourhour", -2.0149030205422647),
                                    ("about <time-of-day>time-of-day (latent)",
                                     -3.4011973816621555),
                                    ("minutehour", -1.529395204760564),
                                    ("absorption of article before timetime-of-day (latent)",
                                     -2.995732273553991),
                                    ("absorption of article before timehh:mm", -3.4011973816621555),
                                    ("about <time-of-day><time-of-day> am|pm", -3.4011973816621555),
                                    ("<time-of-day> am|pm<time-of-day> am|pm",
                                     -3.4011973816621555)],
                               n = 23}}),
       ("<number><grain> (one word)",
        Classifier{okData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0},
                   koData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 8}}),
       ("winter",
        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}}),
       ("last n <cycle>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.6375861597263857,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -2.917770732084279),
                                    ("integer (numeric)day (grain)", -2.512305623976115),
                                    ("second", -2.512305623976115),
                                    ("integer (numeric)second (grain) ", -2.512305623976115),
                                    ("number (0..19, 20, 30..90)minute (grain)",
                                     -2.917770732084279),
                                    ("integer (numeric)year (grain)", -2.917770732084279),
                                    ("day", -2.512305623976115), ("year", -2.917770732084279),
                                    ("integer (numeric)week (grain)", -2.917770732084279),
                                    ("hour", -2.917770732084279), ("month", -2.512305623976115),
                                    ("integer (numeric)minute (grain)", -2.917770732084279),
                                    ("integer (numeric)month (grain)", -2.512305623976115),
                                    ("minute", -2.512305623976115),
                                    ("integer (numeric)hour (grain)", -2.917770732084279)],
                               n = 11},
                   koData =
                     ClassData{prior = -infinity, unseen = -2.772588722239781,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("nth <time> after <time>",
        Classifier{okData =
                     ClassData{prior = -0.2231435513142097,
                               unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (1st..12th, 20th, 30th..90th)thursdayintersect",
                                     -1.791759469228055),
                                    ("dayday", -0.8754687373538999),
                                    ("ordinals (1st..12th, 20th, 30th..90th)thursdayabsorption of article before time",
                                     -1.3862943611198906),
                                    ("ordinals (1st..12th, 20th, 30th..90th)thursdayintersect by 'of', 'from', 's",
                                     -1.791759469228055)],
                               n = 4},
                   koData =
                     ClassData{prior = -1.6094379124341003,
                               unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("dayday", -1.0986122886681098),
                                    ("ordinals (1st..12th, 20th, 30th..90th)thursdayabsorption of article before time",
                                     -1.0986122886681098)],
                               n = 1}}),
       ("hhmm (military)",
        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 (digits)",
        Classifier{okData =
                     ClassData{prior = -0.42488319396526597,
                               unseen = -2.9444389791664407,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 17},
                   koData =
                     ClassData{prior = -1.0608719606852628,
                               unseen = -2.3978952727983707,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 9}}),
       ("quarter (grain)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.3025850929940455,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 8},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("last <cycle> of <time>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.833213344056216,
                               likelihoods =
                                 HashMap.fromList
                                   [("day (grain)October", -1.6739764335716716),
                                    ("daymonth", -0.8266785731844679),
                                    ("day (grain)intersect", -1.6739764335716716),
                                    ("day (grain)intersect by 'of', 'from', 's",
                                     -1.6739764335716716)],
                               n = 6},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<day-of-month> ( ordinal) <named-month> year",
        Classifier{okData =
                     ClassData{prior = -0.2411620568168881,
                               unseen = -3.4011973816621555,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (1st..12th, 20th, 30th..90th)September",
                                     -1.9810014688665833),
                                    ("ordinals (1st..12th, 20th, 30th..90th)April",
                                     -2.268683541318364),
                                    ("ordinal (digits)April", -2.6741486494265287),
                                    ("month", -0.8823891801984737),
                                    ("ordinal (digits)March", -2.268683541318364),
                                    ("ordinals (1st..12th, 20th, 30th..90th)March",
                                     -1.9810014688665833)],
                               n = 11},
                   koData =
                     ClassData{prior = -1.540445040947149, unseen = -2.639057329615259,
                               likelihoods =
                                 HashMap.fromList
                                   [("ordinals (1st..12th, 20th, 30th..90th)absorption of article before time",
                                     -1.1786549963416462),
                                    ("month", -1.1786549963416462)],
                               n = 3}}),
       ("morning",
        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}}),
       ("week-end",
        Classifier{okData =
                     ClassData{prior = -0.40546510810816444,
                               unseen = -2.0794415416798357,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 6},
                   koData =
                     ClassData{prior = -1.0986122886681098,
                               unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 3}}),
       ("lastnight",
        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 = -2.120263536200091, unseen = -2.5649493574615367,
                               likelihoods =
                                 HashMap.fromList
                                   [("absorption of article before time", -1.3862943611198906),
                                    ("<time-of-day> am|pm", -1.791759469228055),
                                    ("hour", -1.0986122886681098)],
                               n = 3},
                   koData =
                     ClassData{prior = -0.12783337150988489,
                               unseen = -3.9318256327243257,
                               likelihoods =
                                 HashMap.fromList
                                   [("intersect", -2.8134107167600364),
                                    ("absorption of article before time", -1.1394342831883648),
                                    ("day", -1.8325814637483102),
                                    ("<time-of-day> am|pm", -2.3025850929940455),
                                    ("intersect by 'of', 'from', 's", -3.2188758248682006),
                                    ("hour", -1.1394342831883648)],
                               n = 22}}),
       ("day (grain)",
        Classifier{okData =
                     ClassData{prior = -0.1466034741918754, unseen = -3.044522437723423,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 19},
                   koData =
                     ClassData{prior = -1.9924301646902063,
                               unseen = -1.6094379124341003,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 3}}),
       ("for <duration> from <time>",
        Classifier{okData =
                     ClassData{prior = -1.0986122886681098,
                               unseen = -1.9459101490553135,
                               likelihoods =
                                 HashMap.fromList
                                   [("<integer> <unit-of-duration>absorption of article before time",
                                     -1.0986122886681098),
                                    ("dayday", -1.0986122886681098)],
                               n = 1},
                   koData =
                     ClassData{prior = -0.40546510810816444,
                               unseen = -2.1972245773362196,
                               likelihoods =
                                 HashMap.fromList
                                   [("dayhour", -0.9808292530117262),
                                    ("<integer> <unit-of-duration>absorption of article before time",
                                     -1.3862943611198906),
                                    ("<integer> <unit-of-duration>intersect", -1.3862943611198906)],
                               n = 2}}),
       ("summer",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.3862943611198906,
                               likelihoods = HashMap.fromList [("", 0.0)], n = 2},
                   koData =
                     ClassData{prior = -infinity, unseen = -0.6931471805599453,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("<hour-of-day> <integer> (as relative minutes)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -2.639057329615259,
                               likelihoods =
                                 HashMap.fromList
                                   [("absorption of article before timeinteger (numeric)",
                                     -1.8718021769015913),
                                    ("absorption of article before timenumber (0..19, 20, 30..90)",
                                     -1.8718021769015913),
                                    ("at <time-of-day>number (0..19, 20, 30..90)",
                                     -1.8718021769015913),
                                    ("hour", -0.9555114450274363),
                                    ("at <time-of-day>integer (numeric)", -1.8718021769015913)],
                               n = 4},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("dd-dd <month> (interval)",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -3.258096538021482,
                               likelihoods =
                                 HashMap.fromList
                                   [("September", -2.120263536200091),
                                    ("October", -2.5257286443082556), ("July", -1.4271163556401458),
                                    ("month", -0.8209805520698302), ("August", -2.120263536200091)],
                               n = 10},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.791759469228055,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("within <duration>",
        Classifier{okData =
                     ClassData{prior = 0.0, unseen = -1.6094379124341003,
                               likelihoods =
                                 HashMap.fromList
                                   [("week", -0.6931471805599453),
                                    ("<integer> <unit-of-duration>", -0.6931471805599453)],
                               n = 1},
                   koData =
                     ClassData{prior = -infinity, unseen = -1.0986122886681098,
                               likelihoods = HashMap.fromList [], n = 0}}),
       ("before 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}}),
       ("August",
        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}})]