mirror of
https://github.com/facebook/duckling.git
synced 2024-11-30 23:33:33 +03:00
Numeral/ES: Add support for 1M, and multiples of 1K/1M
Summary: This commit adds two things to Spanish numeral support: - support for millions - support, via hooking into the `isMultipliable` logic used by EN, for composing counts of 2-999 with either "mil" or "millones", which is the standard way to say things like "tres mil" = 3000 Reviewed By: chessai Differential Revision: D27858135 fbshipit-source-id: 980e95bd989f818c5ceaa2bb6c87fe81d3e08366
This commit is contained in:
parent
15bba9eba9
commit
888da76215
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
* ES (Spanish)
|
* ES (Spanish)
|
||||||
* Numeral: Fix parsing for hundreds phrases like `doscientos tres`
|
* Numeral: Fix parsing for hundreds phrases like `doscientos tres`
|
||||||
|
* Numeral: Add basic support for thousands and millions
|
||||||
|
|
||||||
* RU (Russian)
|
* RU (Russian)
|
||||||
* Duration: Diminutives for minutes and hours
|
* Duration: Diminutives for minutes and hours
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
|
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
{-# LANGUAGE NumericUnderscores #-}
|
||||||
module Duckling.Numeral.ES.Corpus (corpus) where
|
module Duckling.Numeral.ES.Corpus (corpus) where
|
||||||
|
|
||||||
import Data.String
|
import Data.String
|
||||||
@ -35,12 +36,12 @@ allExamples =
|
|||||||
, examples (NumeralValue 78) ["Setenta y ocho"]
|
, examples (NumeralValue 78) ["Setenta y ocho"]
|
||||||
, examples (NumeralValue 80) ["ochenta"]
|
, examples (NumeralValue 80) ["ochenta"]
|
||||||
, examples (NumeralValue 33) ["33", "treinta y tres", "treinta y 3"]
|
, examples (NumeralValue 33) ["33", "treinta y tres", "treinta y 3"]
|
||||||
, examples (NumeralValue 100000) ["100000", "100K", "100k"]
|
, examples (NumeralValue 100_000) ["100000", "100K", "100k"]
|
||||||
, examples (NumeralValue 300) ["trescientos"]
|
, examples (NumeralValue 300) ["trescientos"]
|
||||||
, examples (NumeralValue 243) ["243"]
|
, examples (NumeralValue 243) ["243"]
|
||||||
, examples (NumeralValue 3000000) ["3M", "3000K", "3000000"]
|
, examples (NumeralValue 3_000_000) ["3M", "3000K", "3000000"]
|
||||||
, examples (NumeralValue 1200000) ["1200000", "1200K"]
|
, examples (NumeralValue 1_200_000) ["1200000", "1200K"]
|
||||||
, examples (NumeralValue (-1200000)) ["-1200000", "-1200K"]
|
, examples (NumeralValue (-1_200_000)) ["-1200000", "-1200K"]
|
||||||
, examples (NumeralValue 1.5) ["1 punto cinco", "una punto cinco"]
|
, examples (NumeralValue 1.5) ["1 punto cinco", "una punto cinco"]
|
||||||
, examples (NumeralValue 1) ["cero uno", "zero uno"]
|
, examples (NumeralValue 1) ["cero uno", "zero uno"]
|
||||||
, examples (NumeralValue 2) ["cero dos", "zero dos"]
|
, examples (NumeralValue 2) ["cero dos", "zero dos"]
|
||||||
@ -64,4 +65,6 @@ allExamples =
|
|||||||
, examples (NumeralValue 8) ["cero ocho", "zero ocho"]
|
, examples (NumeralValue 8) ["cero ocho", "zero ocho"]
|
||||||
, examples (NumeralValue 9) ["cero nueve", "zero nueve"]
|
, examples (NumeralValue 9) ["cero nueve", "zero nueve"]
|
||||||
, examples (NumeralValue 203) ["dos cientos tres", "doscientos tres"]
|
, examples (NumeralValue 203) ["dos cientos tres", "doscientos tres"]
|
||||||
|
, examples (NumeralValue 203_000) ["doscientos tres mil", "203 mil"]
|
||||||
|
, examples (NumeralValue 4_000_000) ["cuatro millones", "4 millones"]
|
||||||
]
|
]
|
||||||
|
@ -183,6 +183,12 @@ bigNumbersMap =
|
|||||||
, ("ochocientos", 800)
|
, ("ochocientos", 800)
|
||||||
, ("novecientos", 900)
|
, ("novecientos", 900)
|
||||||
, ("mil", 1000)
|
, ("mil", 1000)
|
||||||
|
, ("millon", 1000000)
|
||||||
|
, ("millón", 1000000)
|
||||||
|
, ("un millon", 1000000)
|
||||||
|
, ("un millón", 1000000)
|
||||||
|
, ("millones", 1000000)
|
||||||
|
-- Note: billion and larger is ambiguous becaouse of long vs short scale
|
||||||
]
|
]
|
||||||
|
|
||||||
ruleBigNumeral :: Rule
|
ruleBigNumeral :: Rule
|
||||||
@ -190,7 +196,7 @@ ruleBigNumeral = Rule
|
|||||||
{ name = "big number 100 to 1K"
|
{ name = "big number 100 to 1K"
|
||||||
, pattern =
|
, pattern =
|
||||||
[ regex
|
[ regex
|
||||||
"(cien(to|tos)?|doscientos|trescientos|cuatrocientos|quinientos|seiscientos|setecientos|ochocientos|novecientos|mil)"
|
"(cien(to|tos)?|doscientos|trescientos|cuatrocientos|quinientos|seiscientos|setecientos|ochocientos|novecientos|(un )?mill(o|ó)n)"
|
||||||
]
|
]
|
||||||
, prod = \tokens -> case tokens of
|
, prod = \tokens -> case tokens of
|
||||||
(Token RegexMatch (GroupMatch (match : _)) : _) ->
|
(Token RegexMatch (GroupMatch (match : _)) : _) ->
|
||||||
@ -198,6 +204,19 @@ ruleBigNumeral = Rule
|
|||||||
_ -> Nothing
|
_ -> Nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ruleBigNumeralMultipliable :: Rule
|
||||||
|
ruleBigNumeralMultipliable = Rule
|
||||||
|
{ name = "1K or 1M in multipliable form"
|
||||||
|
, pattern =
|
||||||
|
[ regex
|
||||||
|
"(mil(lones)?)"
|
||||||
|
]
|
||||||
|
, prod = \tokens -> case tokens of
|
||||||
|
(Token RegexMatch (GroupMatch (match : _)) : _) ->
|
||||||
|
HashMap.lookup (Text.toLower match) bigNumbersMap >>= integer >>= withMultipliable
|
||||||
|
_ -> Nothing
|
||||||
|
}
|
||||||
|
|
||||||
ruleTwoPartHundreds :: Rule
|
ruleTwoPartHundreds :: Rule
|
||||||
ruleTwoPartHundreds = Rule
|
ruleTwoPartHundreds = Rule
|
||||||
{ name = "2..9 cientos"
|
{ name = "2..9 cientos"
|
||||||
@ -224,6 +243,19 @@ ruleNumeralHundredsAndSmaller = Rule
|
|||||||
_ -> Nothing
|
_ -> Nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ruleNumeralMultiply :: Rule
|
||||||
|
ruleNumeralMultiply = Rule
|
||||||
|
{ name = "2..999 <multipliable>"
|
||||||
|
, pattern =
|
||||||
|
[ numberBetween 2 1000
|
||||||
|
, Predicate isMultipliable
|
||||||
|
]
|
||||||
|
, prod = \tokens -> case tokens of
|
||||||
|
(Token Numeral NumeralData { TNumeral.value = v1 } : Token Numeral NumeralData { TNumeral.value = v2 } : _) ->
|
||||||
|
double $ v1 * v2
|
||||||
|
_ -> Nothing
|
||||||
|
}
|
||||||
|
|
||||||
ruleNumeralDotNumeral :: Rule
|
ruleNumeralDotNumeral :: Rule
|
||||||
ruleNumeralDotNumeral = Rule
|
ruleNumeralDotNumeral = Rule
|
||||||
{ name = "number dot number"
|
{ name = "number dot number"
|
||||||
@ -268,6 +300,8 @@ rules =
|
|||||||
, ruleNumeralTwentyToNinetyTens
|
, ruleNumeralTwentyToNinetyTens
|
||||||
, ruleNumeralTwentyOneToNinetyNine
|
, ruleNumeralTwentyOneToNinetyNine
|
||||||
, ruleBigNumeral
|
, ruleBigNumeral
|
||||||
|
, ruleBigNumeralMultipliable
|
||||||
|
, ruleNumeralMultiply
|
||||||
, ruleTwoPartHundreds
|
, ruleTwoPartHundreds
|
||||||
, ruleNumeralHundredsAndSmaller
|
, ruleNumeralHundredsAndSmaller
|
||||||
, ruleNumeralDotNumeral
|
, ruleNumeralDotNumeral
|
||||||
|
@ -242,13 +242,11 @@ classifiers
|
|||||||
n = 1}}),
|
n = 1}}),
|
||||||
("big number 100 to 1K",
|
("big number 100 to 1K",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
unseen = -1.3862943611198906,
|
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
||||||
koData =
|
koData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
unseen = -1.3862943611198906,
|
likelihoods = HashMap.fromList [], n = 0}}),
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
|
||||||
("del mediod\237a",
|
("del mediod\237a",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
||||||
@ -786,6 +784,13 @@ classifiers
|
|||||||
koData =
|
koData =
|
||||||
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
||||||
|
("1K or 1M in multipliable form",
|
||||||
|
Classifier{okData =
|
||||||
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
|
likelihoods = HashMap.fromList [], n = 0},
|
||||||
|
koData =
|
||||||
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
||||||
("afternoon",
|
("afternoon",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.2876820724517809,
|
ClassData{prior = -0.2876820724517809,
|
||||||
@ -848,7 +853,7 @@ classifiers
|
|||||||
likelihoods =
|
likelihoods =
|
||||||
HashMap.fromList
|
HashMap.fromList
|
||||||
[("integer (numeric)", -0.40546510810816444),
|
[("integer (numeric)", -0.40546510810816444),
|
||||||
("big number 100 to 1K", -1.0986122886681098)],
|
("1K or 1M in multipliable form", -1.0986122886681098)],
|
||||||
n = 7}}),
|
n = 7}}),
|
||||||
("en <duration>",
|
("en <duration>",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
|
@ -242,13 +242,11 @@ classifiers
|
|||||||
n = 1}}),
|
n = 1}}),
|
||||||
("big number 100 to 1K",
|
("big number 100 to 1K",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
unseen = -1.3862943611198906,
|
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
||||||
koData =
|
koData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
unseen = -1.3862943611198906,
|
likelihoods = HashMap.fromList [], n = 0}}),
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
|
||||||
("del mediod\237a",
|
("del mediod\237a",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
||||||
@ -786,6 +784,13 @@ classifiers
|
|||||||
koData =
|
koData =
|
||||||
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
||||||
|
("1K or 1M in multipliable form",
|
||||||
|
Classifier{okData =
|
||||||
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
|
likelihoods = HashMap.fromList [], n = 0},
|
||||||
|
koData =
|
||||||
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
||||||
("afternoon",
|
("afternoon",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.2876820724517809,
|
ClassData{prior = -0.2876820724517809,
|
||||||
@ -848,7 +853,7 @@ classifiers
|
|||||||
likelihoods =
|
likelihoods =
|
||||||
HashMap.fromList
|
HashMap.fromList
|
||||||
[("integer (numeric)", -0.40546510810816444),
|
[("integer (numeric)", -0.40546510810816444),
|
||||||
("big number 100 to 1K", -1.0986122886681098)],
|
("1K or 1M in multipliable form", -1.0986122886681098)],
|
||||||
n = 7}}),
|
n = 7}}),
|
||||||
("en <duration>",
|
("en <duration>",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
|
@ -242,13 +242,11 @@ classifiers
|
|||||||
n = 1}}),
|
n = 1}}),
|
||||||
("big number 100 to 1K",
|
("big number 100 to 1K",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
unseen = -1.3862943611198906,
|
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
||||||
koData =
|
koData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
unseen = -1.3862943611198906,
|
likelihoods = HashMap.fromList [], n = 0}}),
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
|
||||||
("del mediod\237a",
|
("del mediod\237a",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
||||||
@ -786,6 +784,13 @@ classifiers
|
|||||||
koData =
|
koData =
|
||||||
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
||||||
|
("1K or 1M in multipliable form",
|
||||||
|
Classifier{okData =
|
||||||
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
|
likelihoods = HashMap.fromList [], n = 0},
|
||||||
|
koData =
|
||||||
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
||||||
("afternoon",
|
("afternoon",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.2876820724517809,
|
ClassData{prior = -0.2876820724517809,
|
||||||
@ -848,7 +853,7 @@ classifiers
|
|||||||
likelihoods =
|
likelihoods =
|
||||||
HashMap.fromList
|
HashMap.fromList
|
||||||
[("integer (numeric)", -0.40546510810816444),
|
[("integer (numeric)", -0.40546510810816444),
|
||||||
("big number 100 to 1K", -1.0986122886681098)],
|
("1K or 1M in multipliable form", -1.0986122886681098)],
|
||||||
n = 7}}),
|
n = 7}}),
|
||||||
("en <duration>",
|
("en <duration>",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
|
@ -242,13 +242,11 @@ classifiers
|
|||||||
n = 1}}),
|
n = 1}}),
|
||||||
("big number 100 to 1K",
|
("big number 100 to 1K",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
unseen = -1.3862943611198906,
|
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
||||||
koData =
|
koData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
unseen = -1.3862943611198906,
|
likelihoods = HashMap.fromList [], n = 0}}),
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
|
||||||
("del mediod\237a",
|
("del mediod\237a",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
||||||
@ -786,6 +784,13 @@ classifiers
|
|||||||
koData =
|
koData =
|
||||||
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
||||||
|
("1K or 1M in multipliable form",
|
||||||
|
Classifier{okData =
|
||||||
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
|
likelihoods = HashMap.fromList [], n = 0},
|
||||||
|
koData =
|
||||||
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
||||||
("afternoon",
|
("afternoon",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.2876820724517809,
|
ClassData{prior = -0.2876820724517809,
|
||||||
@ -848,7 +853,7 @@ classifiers
|
|||||||
likelihoods =
|
likelihoods =
|
||||||
HashMap.fromList
|
HashMap.fromList
|
||||||
[("integer (numeric)", -0.40546510810816444),
|
[("integer (numeric)", -0.40546510810816444),
|
||||||
("big number 100 to 1K", -1.0986122886681098)],
|
("1K or 1M in multipliable form", -1.0986122886681098)],
|
||||||
n = 7}}),
|
n = 7}}),
|
||||||
("en <duration>",
|
("en <duration>",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
|
@ -242,13 +242,11 @@ classifiers
|
|||||||
n = 1}}),
|
n = 1}}),
|
||||||
("big number 100 to 1K",
|
("big number 100 to 1K",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
unseen = -1.3862943611198906,
|
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
||||||
koData =
|
koData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
unseen = -1.3862943611198906,
|
likelihoods = HashMap.fromList [], n = 0}}),
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
|
||||||
("del mediod\237a",
|
("del mediod\237a",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
||||||
@ -786,6 +784,13 @@ classifiers
|
|||||||
koData =
|
koData =
|
||||||
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
||||||
|
("1K or 1M in multipliable form",
|
||||||
|
Classifier{okData =
|
||||||
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
|
likelihoods = HashMap.fromList [], n = 0},
|
||||||
|
koData =
|
||||||
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
||||||
("afternoon",
|
("afternoon",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.2876820724517809,
|
ClassData{prior = -0.2876820724517809,
|
||||||
@ -848,7 +853,7 @@ classifiers
|
|||||||
likelihoods =
|
likelihoods =
|
||||||
HashMap.fromList
|
HashMap.fromList
|
||||||
[("integer (numeric)", -0.40546510810816444),
|
[("integer (numeric)", -0.40546510810816444),
|
||||||
("big number 100 to 1K", -1.0986122886681098)],
|
("1K or 1M in multipliable form", -1.0986122886681098)],
|
||||||
n = 7}}),
|
n = 7}}),
|
||||||
("en <duration>",
|
("en <duration>",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
|
@ -242,13 +242,11 @@ classifiers
|
|||||||
n = 1}}),
|
n = 1}}),
|
||||||
("big number 100 to 1K",
|
("big number 100 to 1K",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
unseen = -1.3862943611198906,
|
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
||||||
koData =
|
koData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
unseen = -1.3862943611198906,
|
likelihoods = HashMap.fromList [], n = 0}}),
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
|
||||||
("del mediod\237a",
|
("del mediod\237a",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
||||||
@ -786,6 +784,13 @@ classifiers
|
|||||||
koData =
|
koData =
|
||||||
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
||||||
|
("1K or 1M in multipliable form",
|
||||||
|
Classifier{okData =
|
||||||
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
|
likelihoods = HashMap.fromList [], n = 0},
|
||||||
|
koData =
|
||||||
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
||||||
("afternoon",
|
("afternoon",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.2876820724517809,
|
ClassData{prior = -0.2876820724517809,
|
||||||
@ -848,7 +853,7 @@ classifiers
|
|||||||
likelihoods =
|
likelihoods =
|
||||||
HashMap.fromList
|
HashMap.fromList
|
||||||
[("integer (numeric)", -0.40546510810816444),
|
[("integer (numeric)", -0.40546510810816444),
|
||||||
("big number 100 to 1K", -1.0986122886681098)],
|
("1K or 1M in multipliable form", -1.0986122886681098)],
|
||||||
n = 7}}),
|
n = 7}}),
|
||||||
("en <duration>",
|
("en <duration>",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
|
@ -242,13 +242,11 @@ classifiers
|
|||||||
n = 1}}),
|
n = 1}}),
|
||||||
("big number 100 to 1K",
|
("big number 100 to 1K",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
unseen = -1.3862943611198906,
|
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
||||||
koData =
|
koData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
unseen = -1.3862943611198906,
|
likelihoods = HashMap.fromList [], n = 0}}),
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
|
||||||
("del mediod\237a",
|
("del mediod\237a",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
||||||
@ -786,6 +784,13 @@ classifiers
|
|||||||
koData =
|
koData =
|
||||||
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
||||||
|
("1K or 1M in multipliable form",
|
||||||
|
Classifier{okData =
|
||||||
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
|
likelihoods = HashMap.fromList [], n = 0},
|
||||||
|
koData =
|
||||||
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
||||||
("afternoon",
|
("afternoon",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.2876820724517809,
|
ClassData{prior = -0.2876820724517809,
|
||||||
@ -848,7 +853,7 @@ classifiers
|
|||||||
likelihoods =
|
likelihoods =
|
||||||
HashMap.fromList
|
HashMap.fromList
|
||||||
[("integer (numeric)", -0.40546510810816444),
|
[("integer (numeric)", -0.40546510810816444),
|
||||||
("big number 100 to 1K", -1.0986122886681098)],
|
("1K or 1M in multipliable form", -1.0986122886681098)],
|
||||||
n = 7}}),
|
n = 7}}),
|
||||||
("en <duration>",
|
("en <duration>",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
|
@ -242,13 +242,11 @@ classifiers
|
|||||||
n = 1}}),
|
n = 1}}),
|
||||||
("big number 100 to 1K",
|
("big number 100 to 1K",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
unseen = -1.3862943611198906,
|
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2},
|
||||||
koData =
|
koData =
|
||||||
ClassData{prior = -0.6931471805599453,
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
unseen = -1.3862943611198906,
|
likelihoods = HashMap.fromList [], n = 0}}),
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
|
||||||
("del mediod\237a",
|
("del mediod\237a",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
ClassData{prior = 0.0, unseen = -1.0986122886681098,
|
||||||
@ -786,6 +784,13 @@ classifiers
|
|||||||
koData =
|
koData =
|
||||||
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
ClassData{prior = 0.0, unseen = -2.0794415416798357,
|
||||||
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
likelihoods = HashMap.fromList [("", 0.0)], n = 6}}),
|
||||||
|
("1K or 1M in multipliable form",
|
||||||
|
Classifier{okData =
|
||||||
|
ClassData{prior = -infinity, unseen = -0.6931471805599453,
|
||||||
|
likelihoods = HashMap.fromList [], n = 0},
|
||||||
|
koData =
|
||||||
|
ClassData{prior = 0.0, unseen = -1.3862943611198906,
|
||||||
|
likelihoods = HashMap.fromList [("", 0.0)], n = 2}}),
|
||||||
("afternoon",
|
("afternoon",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
ClassData{prior = -0.2876820724517809,
|
ClassData{prior = -0.2876820724517809,
|
||||||
@ -848,7 +853,7 @@ classifiers
|
|||||||
likelihoods =
|
likelihoods =
|
||||||
HashMap.fromList
|
HashMap.fromList
|
||||||
[("integer (numeric)", -0.40546510810816444),
|
[("integer (numeric)", -0.40546510810816444),
|
||||||
("big number 100 to 1K", -1.0986122886681098)],
|
("1K or 1M in multipliable form", -1.0986122886681098)],
|
||||||
n = 7}}),
|
n = 7}}),
|
||||||
("en <duration>",
|
("en <duration>",
|
||||||
Classifier{okData =
|
Classifier{okData =
|
||||||
|
Loading…
Reference in New Issue
Block a user