diff --git a/Duckling/Numeral/PL/Corpus.hs b/Duckling/Numeral/PL/Corpus.hs index 252c4578..9dd0794d 100644 --- a/Duckling/Numeral/PL/Corpus.hs +++ b/Duckling/Numeral/PL/Corpus.hs @@ -98,6 +98,22 @@ allExamples = concat [ "5 tysięcy" , "pięć tysięcy" ] + , examples (NumeralValue 79) + [ "siedemdziesiąt dziewięć" + , "siedemdziesięciu dziewięciu" + ] + , examples (NumeralValue 84) + [ "osiemdziesiąt cztery" + , "osiemdziesiat cztery" + , "osiemdziesięciu czterem" + , "osiemdziesieciu czterem" + ] + , examples (NumeralValue 92) + [ "dziewięćdziesiąt dwa" + , "dziewiecdziesiat dwa" + , "dziewięćdziesięciu dwóm" + , "dziewiecdziesieciu dwom" + ] , examples (NumeralValue 122) [ "sto dwadzieścia dwa" ] diff --git a/Duckling/Numeral/PL/Rules.hs b/Duckling/Numeral/PL/Rules.hs index 612632a8..74935e41 100644 --- a/Duckling/Numeral/PL/Rules.hs +++ b/Duckling/Numeral/PL/Rules.hs @@ -60,6 +60,33 @@ ruleSixty = Rule , prod = \_ -> integer 60 } +ruleSeventy :: Rule +ruleSeventy = Rule + { name = "seventy" + , pattern = + [ regex "siedemdziesi((a|ą)t|(e|ę)ci(u|oma))" + ] + , prod = \_ -> integer 70 + } + +ruleEighty :: Rule +ruleEighty = Rule + { name = "eighty" + , pattern = + [ regex "osiemdziesi((a|ą)t|(e|ę)ci(u|oma))" + ] + , prod = \_ -> integer 80 + } + +ruleNinety :: Rule +ruleNinety = Rule + { name = "ninety" + , pattern = + [ regex "dziewi(e|ę)(c|ć)dziesi((a|ą)|(e|ę))(t|ci(u|oma))" + ] + , prod = \_ -> integer 90 + } + ruleIntersectWithAnd :: Rule ruleIntersectWithAnd = Rule { name = "intersect (with and)" @@ -552,6 +579,7 @@ rules = , ruleDozen , ruleEight , ruleEighteen + , ruleEighty , ruleEleven , ruleFifteen , ruleFifty @@ -567,6 +595,7 @@ rules = , ruleMultiply , ruleNine , ruleNineteen + , ruleNinety , ruleNumeral , ruleNumeral2 , ruleNumeral3 @@ -582,6 +611,7 @@ rules = , ruleOne , ruleSeven , ruleSeventeen + , ruleSeventy , ruleSingle , ruleSix , ruleSixteen diff --git a/tests/Duckling/Numeral/PL/Tests.hs b/tests/Duckling/Numeral/PL/Tests.hs index 83e907b8..4c852e79 100644 --- a/tests/Duckling/Numeral/PL/Tests.hs +++ b/tests/Duckling/Numeral/PL/Tests.hs @@ -8,7 +8,6 @@ module Duckling.Numeral.PL.Tests ( tests ) where -import Prelude import Data.String import Test.Tasty