-- 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. {-# LANGUAGE OverloadedStrings #-} module Duckling.Numeral.EN.Corpus ( corpus ) where import Prelude import Data.String import Duckling.Numeral.Types import Duckling.Testing.Types corpus :: Corpus corpus = (testContext, allExamples) allExamples :: [Example] allExamples = concat [ examples (NumeralValue 0) [ "0" , "naught" , "nought" , "zero" , "nil" ] , examples (NumeralValue 1) [ "1" , "one" , "single" ] , examples (NumeralValue 2) [ "2" , "two" , "a pair" , "a couple" , "a couple of" ] , examples (NumeralValue 3) [ "3" , "three" , "a few" , "few" ] , examples (NumeralValue 10) [ "10" , "ten" ] , examples (NumeralValue 12) [ "12" , "twelve" , "a dozen" , "a dozen of" ] , examples (NumeralValue 14) [ "14" , "fourteen" ] , examples (NumeralValue 16) [ "16" , "sixteen" ] , examples (NumeralValue 17) [ "17" , "seventeen" ] , examples (NumeralValue 18) [ "18" , "eighteen" ] , examples (NumeralValue 33) [ "33" , "thirty three" , "0033" ] , examples (NumeralValue 24) [ "24" , "2 dozens" , "two dozen" , "Two dozen" ] , examples (NumeralValue 1.1) [ "1.1" , "1.10" , "01.10" , "1 point 1" ] , examples (NumeralValue 0.77) [ ".77" , "0.77" , "point 77" ] , examples (NumeralValue 100000) [ "100,000" , "100,000.0" , "100000" , "100K" , "100k" , "one hundred thousand" ] , examples (NumeralValue 3e6) [ "3M" , "3000K" , "3000000" , "3,000,000" , "3 million" ] , examples (NumeralValue 1.2e6) [ "1,200,000" , "1200000" , "1.2M" , "1200k" , ".0012G" ] , examples (NumeralValue 5000) [ "5 thousand" , "five thousand" ] , examples (NumeralValue (-1.2e6)) [ "- 1,200,000" , "-1200000" , "minus 1,200,000" , "negative 1200000" , "-1.2M" , "-1200K" , "-.0012G" ] , examples (NumeralValue 122) [ "one twenty two" , "ONE TwentY tWO" ] , examples (NumeralValue 2e5) [ "two Hundred thousand" ] , examples (NumeralValue 21011) [ "twenty-one thousand Eleven" ] , examples (NumeralValue 721012) [ "seven hundred twenty-one thousand twelve" , "seven hundred twenty-one thousand and twelve" ] , examples (NumeralValue 31256721) [ "thirty-one million two hundred fifty-six thousand seven hundred twenty-one" ] , examples (NumeralValue 2400) [ "two hundred dozens" , "200 dozens" ] , examples (NumeralValue 2200000) [ "two point two million" ] ]