mirror of
https://github.com/facebook/duckling.git
synced 2025-01-05 11:55:41 +03:00
Support for Greek times and dates
Summary: This adds support for greek times. There are still some issues with expressions of the form: ``` 9:30 - 11:00 την πέμπτη ``` Where `11:00 την πέμπτη` is parsed first (as 11:30 on Thu), instead of prioritizing `9:30 - 11:00` as the training data suggests. These tests are for the moment excluded from the corpus. Reviewed By: patapizza Differential Revision: D6376271 fbshipit-source-id: 2f31e058fb88386429070e3b51cd33f93b9c5936
This commit is contained in:
parent
0d7939b246
commit
12a726aee7
@ -17,4 +17,5 @@ allDimensions =
|
||||
[ This Duration
|
||||
, This Numeral
|
||||
, This Ordinal
|
||||
, This Time
|
||||
]
|
||||
|
@ -56,6 +56,8 @@ allExamples = concat
|
||||
]
|
||||
, examples (DurationData 2 Minute)
|
||||
[ "2 λεπτά"
|
||||
, "δίλεπτο"
|
||||
, "Δίλεπτο"
|
||||
, "δύο λεπτά"
|
||||
, "δυο λεπτά"
|
||||
, "2'"
|
||||
@ -64,6 +66,7 @@ allExamples = concat
|
||||
[ "ένα τέταρτο"
|
||||
, "δεκαπέντε λεπτά"
|
||||
, "δεκαπεντάλεπτο"
|
||||
, "Δεκαπεντάλεπτο"
|
||||
, "15'"
|
||||
]
|
||||
, examples (DurationData 30 Minute)
|
||||
@ -86,8 +89,14 @@ allExamples = concat
|
||||
, "περίπου μια και μισή ώρα"
|
||||
, "ακριβώς μια και μισή ώρα"
|
||||
, "μιάμιση ώρα"
|
||||
, "Μιάμιση ώρα"
|
||||
, "1,5 ώρα"
|
||||
]
|
||||
, examples (DurationData 5 Hour)
|
||||
[ "πεντάωρο"
|
||||
, "Πεντάωρο"
|
||||
, "5 ώρες"
|
||||
]
|
||||
, examples (DurationData 60 Hour)
|
||||
[ "δυόμισι μέρες"
|
||||
, "60 ώρες"
|
||||
|
@ -24,64 +24,13 @@ import qualified Data.Text as Text
|
||||
import Duckling.Dimensions.Types
|
||||
import Duckling.Duration.Helpers
|
||||
import Duckling.Duration.Types (DurationData (DurationData))
|
||||
import Duckling.Numeral.Helpers (parseInt, parseInteger, integer)
|
||||
import Duckling.Numeral.Helpers (integer, numeralMapEL, parseInt, parseInteger)
|
||||
import Duckling.Numeral.Types (NumeralData(..))
|
||||
import Duckling.Regex.Types
|
||||
import Duckling.Types
|
||||
import qualified Duckling.Numeral.Types as TNumeral
|
||||
import qualified Duckling.TimeGrain.Types as TG
|
||||
|
||||
numeralMap :: HashMap Text Int
|
||||
numeralMap = HashMap.fromList
|
||||
[ ( "δι" , 2 )
|
||||
, ( "δί" , 2 )
|
||||
, ( "τρι" , 3 )
|
||||
, ( "τρί" , 3 )
|
||||
, ( "τετρ" , 4 )
|
||||
, ( "πεντ" , 5 )
|
||||
, ( "πενθ" , 5 )
|
||||
, ( "εξ" , 6 )
|
||||
, ( "επτ" , 7 )
|
||||
, ( "εφτ" , 7 )
|
||||
, ( "οκτ" , 8 )
|
||||
, ( "οχτ" , 8 )
|
||||
, ( "εννι" , 9 )
|
||||
, ( "δεκ" , 10 )
|
||||
, ( "δεκαπεντ" , 15 )
|
||||
, ( "δεκαπενθ" , 15 )
|
||||
, ( "εικοσ" , 20 )
|
||||
, ( "εικοσιπεντ" , 25 )
|
||||
, ( "εικοσιπενθ" , 25 )
|
||||
, ( "τριαντ" , 30 )
|
||||
, ( "τριανταπεντ" , 35 )
|
||||
, ( "τριανταπενθ" , 35 )
|
||||
, ( "σαραντ" , 40 )
|
||||
, ( "σαρανταπεντ" , 45 )
|
||||
, ( "σαρανταπενθ" , 45 )
|
||||
, ( "πενηντ" , 50 )
|
||||
, ( "πενηνταπετν" , 55 )
|
||||
, ( "πενηνταπετθ" , 55 )
|
||||
, ( "εξηντ" , 60 )
|
||||
, ( "ενενηντ" , 90 )
|
||||
-- The following are used as prefixes
|
||||
, ( "μιά" , 1 )
|
||||
, ( "ενά" , 1 )
|
||||
, ( "δυό" , 2 )
|
||||
, ( "τρεισί" , 3 )
|
||||
, ( "τεσσερισή" , 4 )
|
||||
, ( "τεσσερσή" , 4 )
|
||||
, ( "πεντέ" , 5 )
|
||||
, ( "εξί" , 6 )
|
||||
, ( "επτά" , 7 )
|
||||
, ( "εφτά" , 7 )
|
||||
, ( "οκτώ" , 8 )
|
||||
, ( "οχτώ" , 8 )
|
||||
, ( "εννιά" , 9 )
|
||||
, ( "δεκά" , 10 )
|
||||
, ( "εντεκά" , 11 )
|
||||
, ( "δωδεκά" , 12 )
|
||||
]
|
||||
|
||||
timeGrainMap :: HashMap Text TG.Grain
|
||||
timeGrainMap = HashMap.fromList
|
||||
[ ( "λεπτο" , TG.Minute )
|
||||
@ -100,7 +49,7 @@ ruleDurationQuarterOfAnHour :: Rule
|
||||
ruleDurationQuarterOfAnHour = Rule
|
||||
{ name = "quarter of an hour"
|
||||
, pattern =
|
||||
[ regex "(1/4\\s?((της )ώρας|ω)|ένα τέταρτο|ενός τετάρτου)"
|
||||
[ regex "(1/4|[εέ]ν(α|ός)\\s+τ[εέ]τ[αά]ρτου?)(\\s*ω|\\s+(της\\s+)?ώρας)?"
|
||||
]
|
||||
, prod = \_ -> Just . Token Duration $ duration TG.Minute 15
|
||||
}
|
||||
@ -114,6 +63,15 @@ ruleDurationHalfAnHour = Rule
|
||||
, prod = \_ -> Just . Token Duration $ duration TG.Minute 30
|
||||
}
|
||||
|
||||
ruleDurationThreeQuartersOfAnHour :: Rule
|
||||
ruleDurationThreeQuartersOfAnHour = Rule
|
||||
{ name = "three quarters of an hour"
|
||||
, pattern =
|
||||
[ regex "(3/4|τρ[ιί](α|ών)\\s+τ[εέ]τ[αά]ρτ(α|ων))(\\s*ω|\\s+(της\\s+)?ώρας)?"
|
||||
]
|
||||
, prod = \_ -> Just . Token Duration $ duration TG.Minute 45
|
||||
}
|
||||
|
||||
-- TODO: Single-word composition (#110)
|
||||
ruleNumeralWithGrain :: Rule
|
||||
ruleNumeralWithGrain = Rule
|
||||
@ -126,20 +84,12 @@ ruleNumeralWithGrain = Rule
|
||||
]
|
||||
, prod = \tokens -> case tokens of
|
||||
( Token RegexMatch (GroupMatch (m:g:_)) : _ ) ->
|
||||
(Token Duration .) . duration <$> HashMap.lookup g timeGrainMap
|
||||
<*> HashMap.lookup m numeralMap
|
||||
(Token Duration .) . duration
|
||||
<$> HashMap.lookup (Text.toLower g) timeGrainMap
|
||||
<*> HashMap.lookup (Text.toLower m) numeralMapEL
|
||||
_ -> Nothing
|
||||
}
|
||||
|
||||
ruleDurationThreeQuartersOfAnHour :: Rule
|
||||
ruleDurationThreeQuartersOfAnHour = Rule
|
||||
{ name = "three-quarters of an hour"
|
||||
, pattern =
|
||||
[ regex "(3/4\\s?((της )ώρας|ω)|τρία τέταρτα|τριών τετάρτων)"
|
||||
]
|
||||
, prod = \_ -> Just . Token Duration $ duration TG.Minute 45
|
||||
}
|
||||
|
||||
ruleNumeralQuotes :: Rule
|
||||
ruleNumeralQuotes = Rule
|
||||
{ name = "<integer> + '\""
|
||||
@ -157,6 +107,20 @@ ruleNumeralQuotes = Rule
|
||||
_ -> Nothing
|
||||
}
|
||||
|
||||
ruleDurationMoreNumeral :: Rule
|
||||
ruleDurationMoreNumeral = Rule
|
||||
{ name = "<integer> more <unit-of-duration>"
|
||||
, pattern =
|
||||
[ Predicate isNatural
|
||||
, regex "ακόμα|λιγότερ[οη]"
|
||||
, dimension TimeGrain
|
||||
]
|
||||
, prod = \tokens -> case tokens of
|
||||
(Token Numeral nd:_:Token TimeGrain grain:_) ->
|
||||
Just . Token Duration . duration grain . floor $ TNumeral.value nd
|
||||
_ -> Nothing
|
||||
}
|
||||
|
||||
ruleDurationNumeralMore :: Rule
|
||||
ruleDurationNumeralMore = Rule
|
||||
{ name = "<integer> more <unit-of-duration>"
|
||||
@ -214,18 +178,17 @@ ruleDurationAndAHalf = Rule
|
||||
_ -> Nothing
|
||||
}
|
||||
|
||||
-- TODO: Single-word composition (#110)
|
||||
ruleDurationAndAHalfOneWord :: Rule
|
||||
ruleDurationAndAHalfOneWord = Rule
|
||||
{ name = "<integer-and-half> <grain>"
|
||||
, pattern =
|
||||
[ regex $ "(μιά|ενά|δυό|τρεισί|τεσσερι?σή|πεντέ|εξί|ε[πφ]τά|ο[κχ]τώ|εννιά|"
|
||||
[ regex $ "(μιά|ενά|δυό|τρεισή|τεσσερι?σή|πεντέ|εξί|ε[πφ]τά|ο[κχ]τώ|εννιά|"
|
||||
++ "δεκά|εντεκά|δωδεκά)μισ[ιη]ς?"
|
||||
, dimension TimeGrain
|
||||
]
|
||||
, prod = \tokens -> case tokens of
|
||||
(Token RegexMatch (GroupMatch (num:_)):Token TimeGrain grain:_) ->
|
||||
HashMap.lookup num numeralMap >>=
|
||||
HashMap.lookup (Text.toLower num) numeralMapEL >>=
|
||||
timesOneAndAHalf grain >>=
|
||||
Just . Token Duration
|
||||
_ -> Nothing
|
||||
@ -249,6 +212,7 @@ rules =
|
||||
, ruleDurationHalfAnHour
|
||||
, ruleNumeralQuotes
|
||||
, ruleDurationNumeralMore
|
||||
, ruleDurationMoreNumeral
|
||||
, ruleNumeralWithGrain
|
||||
, ruleDurationThreeQuartersOfAnHour
|
||||
, ruleDurationDotNumeralHours
|
||||
|
@ -124,6 +124,15 @@ ruleNumeral = Rule
|
||||
, "είκοσι|(τριά|σαρά|πενή|εξή|εβδομή|ογδό|ενενή)ντα" -- [2..9]0
|
||||
] ++ ")"
|
||||
|
||||
ruleFew :: Rule
|
||||
ruleFew = Rule
|
||||
{ name = "few"
|
||||
, pattern =
|
||||
[ regex "μερικ(ά|ές|οί)"
|
||||
]
|
||||
, prod = \_ -> integer 3
|
||||
}
|
||||
|
||||
ruleCompositeTens :: Rule
|
||||
ruleCompositeTens = Rule
|
||||
{ name = "integer 21..99"
|
||||
@ -257,7 +266,8 @@ ruleDots = Rule
|
||||
|
||||
rules :: [Rule]
|
||||
rules =
|
||||
[ ruleIntegerNumeric
|
||||
[ ruleFew
|
||||
, ruleIntegerNumeric
|
||||
, ruleNumeral
|
||||
, ruleCompositeTens
|
||||
, rulePowersOfTen
|
||||
|
@ -19,6 +19,7 @@ module Duckling.Numeral.Helpers
|
||||
, notOkForAnyTime
|
||||
, numberBetween
|
||||
, numberWith
|
||||
, numeralMapEL
|
||||
, oneOf
|
||||
, parseDouble
|
||||
, parseInt
|
||||
@ -28,10 +29,13 @@ module Duckling.Numeral.Helpers
|
||||
, parseDecimal
|
||||
) where
|
||||
|
||||
import Data.HashMap.Strict (HashMap)
|
||||
import Data.Maybe
|
||||
import Data.String
|
||||
import Data.Text (Text)
|
||||
import Prelude
|
||||
import qualified Data.Attoparsec.Text as Atto
|
||||
import qualified Data.HashMap.Strict as HashMap
|
||||
import qualified Data.Text as Text
|
||||
|
||||
import Duckling.Dimensions.Types
|
||||
@ -152,3 +156,55 @@ parseDecimal isDot match
|
||||
| otherwise =
|
||||
parseDouble (Text.replace comma dot match)
|
||||
>>= double
|
||||
|
||||
-- TODO: Single-word composition (#110)
|
||||
numeralMapEL :: HashMap Text Int
|
||||
numeralMapEL = HashMap.fromList
|
||||
[ ( "δι" , 2 )
|
||||
, ( "δί" , 2 )
|
||||
, ( "τρι" , 3 )
|
||||
, ( "τρί" , 3 )
|
||||
, ( "τετρ" , 4 )
|
||||
, ( "πεντ" , 5 )
|
||||
, ( "πενθ" , 5 )
|
||||
, ( "εξ" , 6 )
|
||||
, ( "επτ" , 7 )
|
||||
, ( "εφτ" , 7 )
|
||||
, ( "οκτ" , 8 )
|
||||
, ( "οχτ" , 8 )
|
||||
, ( "εννι" , 9 )
|
||||
, ( "δεκ" , 10 )
|
||||
, ( "δεκαπεντ" , 15 )
|
||||
, ( "δεκαπενθ" , 15 )
|
||||
, ( "εικοσ" , 20 )
|
||||
, ( "εικοσιπεντ" , 25 )
|
||||
, ( "εικοσιπενθ" , 25 )
|
||||
, ( "τριαντ" , 30 )
|
||||
, ( "τριανταπεντ" , 35 )
|
||||
, ( "τριανταπενθ" , 35 )
|
||||
, ( "σαραντ" , 40 )
|
||||
, ( "σαρανταπεντ" , 45 )
|
||||
, ( "σαρανταπενθ" , 45 )
|
||||
, ( "πενηντ" , 50 )
|
||||
, ( "πενηνταπετν" , 55 )
|
||||
, ( "πενηνταπετθ" , 55 )
|
||||
, ( "εξηντ" , 60 )
|
||||
, ( "ενενηντ" , 90 )
|
||||
-- The following are used as prefixes
|
||||
, ( "μιά" , 1 )
|
||||
, ( "ενά" , 1 )
|
||||
, ( "δυό" , 2 )
|
||||
, ( "τρεισή" , 3 )
|
||||
, ( "τεσσερισή" , 4 )
|
||||
, ( "τεσσερσή" , 4 )
|
||||
, ( "πεντέ" , 5 )
|
||||
, ( "εξί" , 6 )
|
||||
, ( "επτά" , 7 )
|
||||
, ( "εφτά" , 7 )
|
||||
, ( "οκτώ" , 8 )
|
||||
, ( "οχτώ" , 8 )
|
||||
, ( "εννιά" , 9 )
|
||||
, ( "δεκά" , 10 )
|
||||
, ( "εντεκά" , 11 )
|
||||
, ( "δωδεκά" , 12 )
|
||||
]
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -21,6 +21,7 @@ import Duckling.Types
|
||||
import qualified Duckling.Duration.EL.Rules as Duration
|
||||
import qualified Duckling.Numeral.EL.Rules as Numeral
|
||||
import qualified Duckling.Ordinal.EL.Rules as Ordinal
|
||||
import qualified Duckling.Time.EL.Rules as Time
|
||||
import qualified Duckling.TimeGrain.EL.Rules as TimeGrain
|
||||
|
||||
defaultRules :: Some Dimension -> [Rule]
|
||||
@ -40,7 +41,7 @@ langRules (This PhoneNumber) = []
|
||||
langRules (This Quantity) = []
|
||||
langRules (This RegexMatch) = []
|
||||
langRules (This Temperature) = []
|
||||
langRules (This Time) = []
|
||||
langRules (This Time) = Time.rules
|
||||
langRules (This TimeGrain) = TimeGrain.rules
|
||||
langRules (This Url) = []
|
||||
langRules (This Volume) = []
|
||||
|
989
Duckling/Time/EL/Corpus.hs
Normal file
989
Duckling/Time/EL/Corpus.hs
Normal file
@ -0,0 +1,989 @@
|
||||
-- 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.Time.EL.Corpus
|
||||
( corpus
|
||||
, negativeCorpus
|
||||
) where
|
||||
|
||||
import Data.String
|
||||
import Prelude
|
||||
|
||||
import Duckling.Locale
|
||||
import Duckling.Resolve
|
||||
import Duckling.Testing.Types hiding (examples)
|
||||
import Duckling.Time.Corpus
|
||||
import Duckling.Time.Types hiding (Month)
|
||||
import Duckling.TimeGrain.Types hiding (add)
|
||||
|
||||
context :: Context
|
||||
context = testContext {locale = makeLocale EL Nothing}
|
||||
|
||||
corpus :: Corpus
|
||||
corpus = (context, allExamples)
|
||||
|
||||
negativeCorpus :: NegativeCorpus
|
||||
negativeCorpus = (context, examples)
|
||||
where
|
||||
examples =
|
||||
[ "ένας ενήληκας"
|
||||
, "τρεισήμισι και μισή"
|
||||
]
|
||||
|
||||
allExamples :: [Example]
|
||||
allExamples = concat
|
||||
[ examples (datetime (2013, 2, 1, 0, 0, 0) Day)
|
||||
[ "1/2/2013"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 30, 0) Second)
|
||||
[ "τώρα"
|
||||
, "τώρα αμέσως"
|
||||
]
|
||||
, examples (datetime (2013, 2, 18, 0, 0, 0) Day)
|
||||
[ "δευτέρα"
|
||||
, "δευτέρας"
|
||||
, "την δευτέρα"
|
||||
, "αυτή τη δευτέρα"
|
||||
, "Δευτέρα, 18 Φεβρουαρίου"
|
||||
, "Δευτ, 18 Φλεβάρη"
|
||||
, "18 Φεβρουαρίου, Δευτ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
||||
[ "Τρίτη η 19η Φλεβάρη"
|
||||
, "Τρίτη, 19 Φεβρουαρίου"
|
||||
, "19 Φεβρουαρίου, Τρίτη"
|
||||
, "Τρίτη"
|
||||
, "την Τρίτη"
|
||||
, "την Τρίτη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 0, 0, 0) Day)
|
||||
[ "αύριο"
|
||||
, "Τετάρτη"
|
||||
, "την Τετάρτη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 14, 0, 0, 0) Day)
|
||||
[ "Πέμπτη"
|
||||
, "πέμπτη"
|
||||
, "Πεμ"
|
||||
, "πεμ."
|
||||
, "την Πέμπτη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 15, 0, 0, 0) Day)
|
||||
[ "παρασκευή"
|
||||
, "παρασκευής"
|
||||
, "παρ."
|
||||
, "την παρασκευή"
|
||||
]
|
||||
, examples (datetime (2013, 2, 16, 0, 0, 0) Day)
|
||||
[ "σάββατο"
|
||||
, "σαββάτο"
|
||||
, "σαβ."
|
||||
, "την σάββάτον"
|
||||
]
|
||||
, examples (datetime (2013, 2, 17, 0, 0, 0) Day)
|
||||
[ "Κυριακή"
|
||||
, "κυρ"
|
||||
, "κυρ."
|
||||
, "την κυριακή"
|
||||
]
|
||||
, examples (datetime (2013, 8, 13, 0, 0, 0) Day)
|
||||
[ "Τρίτη, 13η Αυγούστου"
|
||||
]
|
||||
, examples (datetime (2014, 1, 1, 0, 0, 0) Month)
|
||||
[ "ιαν"
|
||||
, "ιανουάριος"
|
||||
, "ιανουαρίου"
|
||||
, "γενάρης"
|
||||
, "γενάρη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 1, 0, 0, 0) Month)
|
||||
[ "φεβ"
|
||||
, "φλεβάρης"
|
||||
, "φλεβάρη"
|
||||
, "φεβρουάριο"
|
||||
, "φεβρουαρίου"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Month)
|
||||
[ "μάρτης"
|
||||
, "μάρτη"
|
||||
, "μαρτίου"
|
||||
, "μάρτιο"
|
||||
, "μάρτιον"
|
||||
, "μαρ"
|
||||
]
|
||||
, examples (datetime (2013, 4, 1, 0, 0, 0) Month)
|
||||
[ "απρίλης"
|
||||
, "απρ"
|
||||
, "απριλίου"
|
||||
, "απριλη"
|
||||
, "απρίλιον"
|
||||
]
|
||||
, examples (datetime (2013, 5, 1, 0, 0, 0) Month)
|
||||
[ "μάη"
|
||||
, "μαϊου"
|
||||
, "μάιο"
|
||||
, "μάης"
|
||||
]
|
||||
, examples (datetime (2013, 6, 1, 0, 0, 0) Month)
|
||||
[ "ιούνιος"
|
||||
, "ιουνίου"
|
||||
, "ιούνη"
|
||||
, "ιούνιον"
|
||||
, "ιουν"
|
||||
]
|
||||
, examples (datetime (2013, 7, 1, 0, 0, 0) Month)
|
||||
[ "Ιουλ"
|
||||
, "ιουλίου"
|
||||
, "ιούλη"
|
||||
, "ιούλιο"
|
||||
]
|
||||
, examples (datetime (2013, 8, 1, 0, 0, 0) Month)
|
||||
[ "αυγ"
|
||||
, "αυγούστου"
|
||||
, "αύγουστο"
|
||||
]
|
||||
, examples (datetime (2013, 9, 1, 0, 0, 0) Month)
|
||||
[ "σεπτ"
|
||||
, "σεπτέμβριος"
|
||||
, "σεπτεμβρίου"
|
||||
]
|
||||
, examples (datetime (2013, 10, 1, 0, 0, 0) Month)
|
||||
[ "Οκτ"
|
||||
, "οκτώβρης"
|
||||
, "οκτώβρη"
|
||||
, "οκτωβρίου"
|
||||
, "οκτώβριον"
|
||||
]
|
||||
, examples (datetime (2013, 11, 1, 0, 0, 0) Month)
|
||||
[ "νοεμ"
|
||||
, "νοέμβρης"
|
||||
, "νοέμβρη"
|
||||
, "νοεμβρίου"
|
||||
, "νοέμβριον"
|
||||
]
|
||||
, examples (datetime (2013, 12, 1, 0, 0, 0) Month)
|
||||
[ "δεκ"
|
||||
, "δεκέμβρης"
|
||||
, "δεκέμβρη"
|
||||
, "δεκεμβρίου"
|
||||
, "δεκέμβριον"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Day)
|
||||
[ "η πρώτη του μάρτη"
|
||||
, "πρώτη του μάρτη"
|
||||
, "πρώτη μάρτη"
|
||||
]
|
||||
, examples (datetime (2013, 4, 3, 0, 0, 0) Day)
|
||||
[ "τρεις απρίλη"
|
||||
, "τρίτη απρίλη"
|
||||
]
|
||||
, examples (datetime (2014, 1, 3, 0, 0, 0) Day)
|
||||
[ "τρίτη γενάρη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 3, 0, 0, 0) Day)
|
||||
[ "τρίτη φλεβάρη"
|
||||
]
|
||||
, examples (datetime (2013, 3, 3, 0, 0, 0) Day)
|
||||
[ "τρίτη μάρτη"
|
||||
]
|
||||
, examples (datetime (2013, 5, 3, 0, 0, 0) Day)
|
||||
[ "τρίτη μαϊου"
|
||||
]
|
||||
, examples (datetime (2013, 9, 3, 0, 0, 0) Day)
|
||||
[ "3 σεπτέμβρη"
|
||||
, "3 σεπτεμβρίου"
|
||||
, "τρίτη σεπτεμβρίου 2013"
|
||||
]
|
||||
, examples (datetime (2013, 9, 3, 0, 0, 0) Day)
|
||||
[ "3 σεπτέμβρη"
|
||||
, "3 σεπτεμβρίου"
|
||||
, "τρίτη σεπτεμβρίου"
|
||||
, "τρίτη σεπτεμβρίου 2013"
|
||||
]
|
||||
, examples (datetime (2013, 10, 3, 0, 0, 0) Day)
|
||||
[ "τρίτη οκτ"
|
||||
, "τρίτη οκτώβρη"
|
||||
]
|
||||
, examples (datetime (2013, 10, 5, 0, 0, 0) Day)
|
||||
[ "πέμπτη οκτωβρίου"
|
||||
, "πέμπτη οκτώβρη"
|
||||
]
|
||||
, examples (datetime (2013, 9, 3, 0, 0, 0) Day)
|
||||
[ "3 σεπτέμβρη"
|
||||
, "3 σεπτεμβρίου"
|
||||
, "τρίτη σεπτεμβρίου 2013"
|
||||
]
|
||||
, examples (datetime (2016, 3, 3, 0, 0, 0) Day)
|
||||
[ "τρίτη μάρτη 2016"
|
||||
, "3 μαρτίου 2016"
|
||||
]
|
||||
, examples (datetime (2016, 4, 5, 0, 0, 0) Day)
|
||||
[ "πέμπτη απρίλη 2016"
|
||||
, "5 απρ 2016"
|
||||
]
|
||||
, examples (datetime (2016, 4, 3, 0, 0, 0) Day)
|
||||
[ "τρίτη απρίλη 2016"
|
||||
, "3 απρίλης 2016"
|
||||
]
|
||||
, examples (datetime (2016, 4, 1, 0, 0, 0) Month)
|
||||
[ "απρίλη 2016"
|
||||
, "απρίλης 2016"
|
||||
]
|
||||
, examples (datetime (2017, 10, 1, 0, 0, 0) Month)
|
||||
[ "Οκτ 2017"
|
||||
, "Οκτώβρης 2017"
|
||||
, "Οκτώβριος 2017"
|
||||
]
|
||||
, examples (datetime (2016, 3, 3, 0, 0, 0) Day)
|
||||
[ "τρίτη μάρτη 2016"
|
||||
, "3η μάρτη 2016"
|
||||
, "πέμπτη τρίτη μάρτη 2016"
|
||||
]
|
||||
, examples (datetime (2013, 3, 25, 0, 0, 0) Day)
|
||||
[ "ευαγγελισμός της θεοτόκου"
|
||||
, "ευαγγελισμού της θεοτόκου"
|
||||
]
|
||||
, examples (datetime (2015, 3, 3, 0, 0, 0) Day)
|
||||
[ "3 μαρτίου 2015"
|
||||
, "3η μαρτίου 2015"
|
||||
, "τρεις μαρτίου 2015"
|
||||
, "3/3/2015"
|
||||
, "3/3/15"
|
||||
, "2015-3-3"
|
||||
, "2015-03-03"
|
||||
]
|
||||
, examples (datetime (2013, 2, 15, 0, 0, 0) Day)
|
||||
[ "στις 15 Φεβρουαρίου"
|
||||
, "η 15η Φεβρουαρίου"
|
||||
, "15 Φεβρουαρίου"
|
||||
, "15η Φεβρουαρίου"
|
||||
]
|
||||
, examples (datetime (2013, 8, 8, 0, 0, 0) Day)
|
||||
[ "8 Αυγ"
|
||||
]
|
||||
, examples (datetime (2014, 7, 18, 0, 0, 0) Day)
|
||||
[ "Παρασκευή, 18 Ιουλίου"
|
||||
, "Ιουλίου 18, Παρασκευή"
|
||||
]
|
||||
, examples (datetime (2014, 10, 1, 0, 0, 0) Month)
|
||||
[ "Οκτώβριος 2014"
|
||||
]
|
||||
, examples (datetime (2015, 4, 14, 0, 0, 0) Day)
|
||||
[ "14απριλίου 2015"
|
||||
, "14 Απριλίου, 2015"
|
||||
, "14η Απριλίου 15"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
||||
[ "την επόμενη Τρίτη"
|
||||
, "περίπου την επόμενη Τρίτη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 21, 0, 0, 0) Day)
|
||||
[ "την επόμενη πέμπτη"
|
||||
, "περίπου την επόμενη Πέμπτη"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Day)
|
||||
[ "μεθεπόμενη παρασκευή"
|
||||
]
|
||||
, examples (datetime (2014, 3, 1, 0, 0, 0) Month)
|
||||
[ "επόμενος Μάρτης"
|
||||
]
|
||||
, examples (datetime (2015, 3, 1, 0, 0, 0) Month)
|
||||
[ "μεθεπόμενος Μάρτης"
|
||||
]
|
||||
, examples (datetime (2013, 2, 10, 0, 0, 0) Day)
|
||||
[ "Κυριακή, 10 Φεβρουαρίου"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 0, 0, 0) Day)
|
||||
[ "Τετ, 13Φεβ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 11, 0, 0, 0) Week)
|
||||
[ "αυτή τη βδομάδα"
|
||||
, "τρέχουσα εβδομάδα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 4, 0, 0, 0) Week)
|
||||
[ "περασμένη εβδομάδα"
|
||||
, "προηγούμενη εβδομάδα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 18, 0, 0, 0) Week)
|
||||
[ "επόμενη εβδομάδα"
|
||||
, "περίπου την επόμενη εβδομάδα"
|
||||
]
|
||||
, examples (datetime (2013, 1, 1, 0, 0, 0) Month)
|
||||
[ "τον προηγούμενο μήνα"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Month)
|
||||
[ "τον επόμενο μήνα"
|
||||
]
|
||||
, examples (datetime (2013, 1, 1, 0, 0, 0) Quarter)
|
||||
[ "αυτό το τρίμηνο"
|
||||
]
|
||||
, examples (datetime (2013, 4, 1, 0, 0, 0) Quarter)
|
||||
[ "το επόμενο τρίμηνο"
|
||||
]
|
||||
, examples (datetime (2013, 7, 1, 0, 0, 0) Quarter)
|
||||
[ "τρίτο τρίμηνο"
|
||||
, "3ο τρίμηνο"
|
||||
, "το τρίτο τρίμηνο"
|
||||
]
|
||||
, examples (datetime (2018, 10, 1, 0, 0, 0) Quarter)
|
||||
[ "4ο τρίμηνο του 2018"
|
||||
, "4ο τρίμηνο 2018"
|
||||
, "το 4ο τρίμηνο του 2018"
|
||||
]
|
||||
, examples (datetime (2012, 1, 1, 0, 0, 0) Year)
|
||||
[ "πέρσι"
|
||||
, "πέρυσι"
|
||||
, "την περασμένη χρονιά"
|
||||
]
|
||||
, examples (datetime (2013, 1, 1, 0, 0, 0) Year)
|
||||
[ "φέτος"
|
||||
, "εφέτος"
|
||||
, "αυτή τη χρονιά"
|
||||
, "αυτό το έτος"
|
||||
]
|
||||
, examples (datetime (2014, 1, 1, 0, 0, 0) Year)
|
||||
[ "τουχρόνου"
|
||||
, "του χρόνου"
|
||||
, "την επόμενη χρονιά"
|
||||
, "τον επόμενο χρόνο"
|
||||
]
|
||||
, examples (datetime (2013, 2, 10, 0, 0, 0) Day)
|
||||
[ "την προηγούμενη Κυριακή"
|
||||
, "την περασμένη Κυριακή"
|
||||
]
|
||||
, examples (datetime (2013, 2, 5, 0, 0, 0) Day)
|
||||
[ "περασμένη τρίτη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 7, 0, 0, 0) Day)
|
||||
[ "περασμένη πέμπτη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
||||
[ "επόμενη Τρίτη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 20, 0, 0, 0) Day)
|
||||
[ "επόμενη τετάρτη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 21, 0, 0, 0) Day)
|
||||
[ "επόμενη πέμπτη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 20, 0, 0, 0) Day)
|
||||
[ "Τετάρτη της επόμενης εβδομάδας"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Day)
|
||||
[ "τη μεθεπόμενη παρασκευή"
|
||||
]
|
||||
, examples (datetime (2013, 2, 11, 0, 0, 0) Day)
|
||||
[ "χθες"
|
||||
, "εχθές"
|
||||
, "δευτέρα αυτής της εβδομάδας"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 0, 0, 0) Day)
|
||||
[ "τρίτη αυτής της εβδομάδας"
|
||||
, "σήμερα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 0, 0, 0) Day)
|
||||
[ "τετάρτη αυτής της εβδομάδας"
|
||||
]
|
||||
, examples (datetime (2013, 2, 14, 0, 0, 0) Day)
|
||||
[ "μεθαύριο"
|
||||
]
|
||||
, examples (datetime (2013, 2, 14, 17, 0, 0) Hour)
|
||||
[ "μεθαύριο στις 5μμ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 10, 0, 0, 0) Day)
|
||||
[ "προχτές"
|
||||
]
|
||||
, examples (datetime (2013, 2, 10, 8, 0, 0) Hour)
|
||||
[ "προχθές στις 8πμ"
|
||||
]
|
||||
, examples (datetime (2013, 3, 25, 0, 0, 0) Day)
|
||||
[ "τελευταία Δευτέρα του Μάρτη"
|
||||
]
|
||||
, examples (datetime (2014, 3, 30, 0, 0, 0) Day)
|
||||
[ "τελευταία Κυριακή του Μάρτη του 2014"
|
||||
]
|
||||
, examples (datetime (2013, 10, 3, 0, 0, 0) Day)
|
||||
[ "τρίτη μέρα του Οκτώβρη"
|
||||
]
|
||||
, examples (datetime (2014, 10, 6, 0, 0, 0) Week)
|
||||
[ "πρώτη βδομάδα του Οκτώβρη του 2014"
|
||||
]
|
||||
, examples (datetime (2013, 10, 7, 0, 0, 0) Week)
|
||||
[ "η εβδομάδα της 6ης Οκτωβρίου"
|
||||
]
|
||||
, examples (datetime (2013, 10, 7, 0, 0, 0) Week)
|
||||
[ "η εβδομάδα της 7ης Οκτωβρίου"
|
||||
]
|
||||
, examples (datetime (2015, 10, 31, 0, 0, 0) Day)
|
||||
[ "η τελευταία μέρα του Οκτωβρίου του 2015"
|
||||
, "η τελευταία μέρα στον Οκτώβρη του 2015"
|
||||
]
|
||||
, examples (datetime (2014, 9, 22, 0, 0, 0) Week)
|
||||
[ "η τελευταία βδομάδα Σεπτεμβρίου του 2014"
|
||||
]
|
||||
, examples (datetime (2013, 10, 1, 0, 0, 0) Day)
|
||||
[ "πρώτη Τρίτη του Οκτώβρη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 16, 0, 0) Hour)
|
||||
[ "Τρίτη στις 4 το απόγευμα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 16, 0, 0) Hour)
|
||||
[ "Τετάρτη στις 4 το απόγευμα"
|
||||
]
|
||||
, examples (datetime (2014, 9, 16, 0, 0, 0) Day)
|
||||
[ "τρίτη Τρίτη του Σεπτ 2014"
|
||||
]
|
||||
, examples (datetime (2014, 10, 1, 0, 0, 0) Day)
|
||||
[ "πρώτη Τετάρτη του Οκτωβρίου 2014"
|
||||
]
|
||||
, examples (datetime (2014, 10, 8, 0, 0, 0) Day)
|
||||
[ "δεύτερη Τετάρτη του Οκτωβρίου 2014"
|
||||
]
|
||||
, examples (datetime (2015, 1, 8, 0, 0, 0) Day)
|
||||
[ "Τρίτη Πέμπτη μετά τα Χριστούγεννα του 2014"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 3, 0, 0) Hour)
|
||||
[ "στις 3πμ"
|
||||
, "3 το πρωί"
|
||||
, "3πμ"
|
||||
, "3 η ώρα το πρωί"
|
||||
, "στις 3 πμ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 3, 18, 0) Minute)
|
||||
[ "3:18πμ"
|
||||
, "3:18π"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 15, 0, 0) Hour)
|
||||
[ "στις 3μμ"
|
||||
, "@ 3μμ"
|
||||
, "3ΜΜ"
|
||||
, "3μμ"
|
||||
, "3 η ώρα μμ"
|
||||
, "3 η ώρα το απόγευμα"
|
||||
, "3 το απόγευμα"
|
||||
, "3 και κάτι μμ"
|
||||
, "3μμ περίπου"
|
||||
, "περίπου 3μμ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 15, 15, 0) Minute)
|
||||
[ "στα 15 λεπτά μετά τις 3μμ"
|
||||
, "ένα τέταρτο μετά τις 3μμ"
|
||||
, "3 και τέταρτο μμ"
|
||||
, "3:15 το απόγευμα"
|
||||
, "15:15"
|
||||
, "3:15μμ"
|
||||
, "3:15ΜΜ"
|
||||
, "3:15μ"
|
||||
, "στις 3 και 15"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 15, 20, 0) Minute)
|
||||
[ "20 λεπτά μετά τις 3μμ"
|
||||
, "3:20 το απόγευμα"
|
||||
, "είκοσι μετά τις 3μμ"
|
||||
, "3:20μ"
|
||||
, "στις τρεις και είκοσι"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 15, 30, 0) Minute)
|
||||
[ "στις τρεις και μισή μμ"
|
||||
, "τρεισήμισι μμ"
|
||||
, "Τρεισήμισι μμ"
|
||||
, "15:30"
|
||||
, "3:30μμ"
|
||||
, "3:30ΜΜ"
|
||||
, "330 μ.μ."
|
||||
, "3:30 μ μ"
|
||||
, "3:30 μμ"
|
||||
, "τρεις και μισή"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 15, 23, 24) Second)
|
||||
[ "15:23:24"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 11, 45, 0) Minute)
|
||||
[ "ένα τέταρτο πριν το μεσημέρι"
|
||||
, "11:45πμ"
|
||||
, "δώδεκα παρά τέταρτο"
|
||||
, "12 παρά τέταρτο"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 20, 0, 0) Hour)
|
||||
[ "απόψε στις 8"
|
||||
, "8 το βράδυ"
|
||||
, "στις 8 το βράδυ"
|
||||
]
|
||||
, examples (datetime (2013, 9, 20, 19, 30, 0) Minute)
|
||||
[ "στις 7:30 μμ την Παρασκευή, 20 Σεπτ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 16, 9, 0, 0) Hour)
|
||||
[ "το Σάββατο στις 9πμ"
|
||||
]
|
||||
, examples (datetime (2014, 7, 18, 19, 0, 0) Minute)
|
||||
[ "Παρ, 18 Ιουλ, 2014 07:00 μμ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 30, 1) Second)
|
||||
[ "σε ένα δεύτερο"
|
||||
, "σε ένα δευτερόλεπτο από τώρα"
|
||||
, "σε 1\""
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 31, 0) Second)
|
||||
[ "σε ένα λεπτό"
|
||||
, "σε 1'"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 32, 0) Second)
|
||||
[ "σε 2 λεπτά"
|
||||
, "σε 2 λεπτά ακόμα"
|
||||
, "2 λεπτά από τώρα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 11, 40, 0) Minute)
|
||||
[ "20 λεπτά πριν τις 12"
|
||||
, "11:40"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 12, 20, 0) Minute)
|
||||
[ "20 λεπτά μετά τις 12"
|
||||
, "12:20"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 33, 0) Second)
|
||||
[ "σε τρία λεπτά"
|
||||
, "σε μερικά λεπτά"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 5, 30, 0) Second)
|
||||
[ "σε 60 λεπτά"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 45, 0) Second)
|
||||
[ "σε ένα τέταρτο της ώρας"
|
||||
, "σε 1/4ω"
|
||||
, "σε 1/4 ω"
|
||||
, "σε 1/4 της ώρας"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 5, 0, 0) Second)
|
||||
[ "σε μισή ώρα"
|
||||
, "σε 1/2ω"
|
||||
, "σε 1/2 ω"
|
||||
, "σε 1/2 ώρα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 5, 15, 0) Second)
|
||||
[ "σε τρία τέταρτα της ώρας"
|
||||
, "σε 3/4ω"
|
||||
, "σε 3/4 ω"
|
||||
, "σε 3/4 της ώρας"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 7, 0, 0) Second)
|
||||
[ "σε 2,5 ώρες"
|
||||
, "σε 2 και μισή ώρες"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 5, 30, 0) Minute)
|
||||
[ "σε μία ώρα"
|
||||
, "σε 1ω"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 6, 30, 0) Minute)
|
||||
[ "σε δύο ώρες"
|
||||
, "σε δυο ώρες"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 7, 30, 0) Minute)
|
||||
[ "σε μερικές ώρες"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 4, 30, 0) Minute)
|
||||
[ "σε 24 ώρες"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 4, 0, 0) Hour)
|
||||
[ "σε μία μέρα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 4, 30, 0) Second)
|
||||
[ "σε μία μέρα από τώρα αμέσως"
|
||||
, "σε μία μέρα από τώρα"
|
||||
]
|
||||
, examples (datetime (2016, 2, 12, 0, 0, 0) Day)
|
||||
[ "3 χρόνια από σήμερα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 4, 0, 0) Hour)
|
||||
[ "σε 7 μέρες"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
||||
[ "σε μία βδομάδα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 5, 0, 0) Second)
|
||||
[ "σε περίπου μισή ώρα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 5, 4, 0, 0) Hour)
|
||||
[ "πριν από 7 μέρες"
|
||||
]
|
||||
, examples (datetime (2013, 1, 29, 4, 0, 0) Hour)
|
||||
[ "πριν από 14 μέρες"
|
||||
, "14 μέρες πριν"
|
||||
]
|
||||
, examples (datetime (2013, 2, 5, 0, 0, 0) Day)
|
||||
[ "πριν από μια βδομάδα"
|
||||
, "πριν από 1 βδομάδα"
|
||||
]
|
||||
, examples (datetime (2013, 1, 22, 0, 0, 0) Day)
|
||||
[ "πριν από τρεις βδομάδες"
|
||||
]
|
||||
, examples (datetime (2012, 11, 12, 0, 0, 0) Day)
|
||||
[ "πριν από τρεις μήνες"
|
||||
]
|
||||
, examples (datetime (2011, 2, 1, 0, 0, 0) Month)
|
||||
[ "πριν από δύο χρόνια"
|
||||
]
|
||||
, examples (datetime (1954, 1, 1, 0, 0, 0) Year)
|
||||
[ "1954"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 4, 0, 0) Hour)
|
||||
[ "εδώ και 7 μέρες"
|
||||
]
|
||||
, examples (datetime (2013, 2, 26, 4, 0, 0) Hour)
|
||||
[ "εδώ και 14 μέρες"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
||||
[ "εδώ και μια βδομάδα"
|
||||
, "εδώ και 1 βδομάδα"
|
||||
]
|
||||
, examples (datetime (2013, 3, 5, 0, 0, 0) Day)
|
||||
[ "εδώ και τρεις βδομάδες"
|
||||
]
|
||||
, examples (datetime (2013, 5, 12, 0, 0, 0) Day)
|
||||
[ "εδώ και τρεις μήνες"
|
||||
]
|
||||
, examples (datetime (2015, 2, 1, 0, 0, 0) Month)
|
||||
[ "εδώ και δύο χρόνια"
|
||||
]
|
||||
, examples (datetime (2013, 12, 25, 0, 0, 0) Day)
|
||||
[ "ένα χρόνο μετά τα Χριστούγεννα"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 12, 18, 0, 0, 0), (2013, 12, 29, 0, 0, 0)) Day)
|
||||
[ "για 10 μέρες μετά τις 18 Δεκεμβρίου"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 9, 23, 0, 0, 0), (2013, 12, 22, 0, 0, 0)) Day)
|
||||
[ "αυτό το φθινόπωρο"
|
||||
, "αυτού του φθινοπώρου"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 6, 21, 0, 0, 0), (2013, 9, 24, 0, 0, 0)) Day)
|
||||
[ "αυτό το καλοκαίρι"
|
||||
, "το τρέχον καλοκαίρι"
|
||||
]
|
||||
, examples (datetimeInterval ((2012, 12, 21, 0, 0, 0), (2013, 3, 21, 0, 0, 0)) Day)
|
||||
[ "αυτό το χειμώνα"
|
||||
]
|
||||
, examples (datetime (2013, 12, 25, 0, 0, 0) Day)
|
||||
[ "Χριστούγεννα"
|
||||
]
|
||||
, examples (datetime (2013, 12, 31, 0, 0, 0) Day)
|
||||
[ "παραμονή πρωτοχρονιάς"
|
||||
, "παραμονές πρωτοχρονιάς"
|
||||
]
|
||||
, examples (datetime (2014, 1, 1, 0, 0, 0) Day)
|
||||
[ "ανήμερα πρωτοχρονιάς"
|
||||
]
|
||||
, examples (datetime (2013, 2, 14, 0, 0, 0) Day)
|
||||
[ "του Αγίου Βαλεντίνου"
|
||||
, "ημέρα του Αγίου Βαλεντίνου"
|
||||
]
|
||||
, examples (datetime (2013, 5, 12, 0, 0, 0) Day)
|
||||
[ "ημέρα της μητέρας"
|
||||
, "η μέρα της μητέρας"
|
||||
]
|
||||
, examples (datetime (2012, 5, 13, 0, 0, 0) Day)
|
||||
[ "προηγούμενη μέρα της μητέρας"
|
||||
]
|
||||
, examples (datetime (2014, 5, 11, 0, 0, 0) Day)
|
||||
[ "η μέρα της μητέρας του 2014"
|
||||
]
|
||||
, examples (datetime (2013, 6, 16, 0, 0, 0) Day)
|
||||
[ "η μέρα του πατέρα"
|
||||
]
|
||||
, examples (datetime (2012, 6, 17, 0, 0, 0) Day)
|
||||
[ "προηγούμενη μέρα του πατέρα"
|
||||
]
|
||||
, examples (datetime (1996, 6, 16, 0, 0, 0) Day)
|
||||
[ "η μέρα του πατέρα το 1996"
|
||||
]
|
||||
, examples (datetime (2013, 3, 25, 0, 0, 0) Day)
|
||||
[ "η μέρα της επανάστασης"
|
||||
]
|
||||
, examples (datetime (2012, 3, 25, 0, 0, 0) Day)
|
||||
[ "η περασμένη μέρα της επανάστασης"
|
||||
, "η μέρα της επανάστασης της περασμένης χρονιάς"
|
||||
, "η μέρα της επανάστασης της περσινής χρονιάς"
|
||||
, "η μέρα της επανάστασης πέρσι"
|
||||
, "η μέρα της επανάστασης πέρυσι"
|
||||
]
|
||||
, examples (datetime (2013, 10, 31, 0, 0, 0) Day)
|
||||
[ "halloween"
|
||||
, "το halloween του 2013"
|
||||
]
|
||||
, examples (datetime (2014, 10, 31, 0, 0, 0) Day)
|
||||
[ "το επόμενο halloween"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 13, 0, 0, 0)) Hour)
|
||||
[ "απόψε"
|
||||
, "σήμερα το βράδυ"
|
||||
, "απόψε το βράδυ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 8, 18, 0, 0), (2013, 2, 11, 0, 0, 0)) Hour)
|
||||
[ "το περασμένο σαββατοκύριακο"
|
||||
, "το περασμένο ΣΚ"
|
||||
, "το προηγούμενο σαββατοκύριακο"
|
||||
, "το προηγούμενο σκ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 13, 18, 0, 0), (2013, 2, 14, 0, 0, 0)) Hour)
|
||||
[ "αύριο βράδυ"
|
||||
, "αύριο το βράδυ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 13, 12, 0, 0), (2013, 2, 13, 18, 0, 0)) Hour)
|
||||
[ "αύριο το απόγευμα"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 11, 18, 0, 0), (2013, 2, 12, 0, 0, 0)) Hour)
|
||||
[ "χθες το βράδυ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 15, 18, 0, 0), (2013, 2, 18, 0, 0, 0)) Hour)
|
||||
[ "αυτό το σαββατοκύριακο"
|
||||
, "αυτό το σκ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 18, 4, 0, 0), (2013, 2, 18, 12, 0, 0)) Hour)
|
||||
[ "δευτέρα το πρωί"
|
||||
, "δευτέρα πρωί"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 18, 4, 0, 0), (2013, 2, 18, 9, 0, 0)) Hour)
|
||||
[ "Δευτέρα νωρίς το πρωί"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 15, 4, 0, 0), (2013, 2, 15, 12, 0, 0)) Hour)
|
||||
[ "15 Φεβρουαρίου το πρωί"
|
||||
, "το πρωί της 15ης Φεβρουαρίου"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 29, 58), (2013, 2, 12, 4, 30, 0)) Second)
|
||||
[ "τα τελευταία 2 δευτερόλεπτα"
|
||||
, "τα τελευταία 2 δεύτερα"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 1), (2013, 2, 12, 4, 30, 4)) Second)
|
||||
[ "τα επόμενα 3 δευτερόλεπτα"
|
||||
, "τα επόμενα τρία δεύτερα"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 28, 0), (2013, 2, 12, 4, 30, 0)) Minute)
|
||||
[ "τα τελευταία 2 λεπτά"
|
||||
, "τα τελευταία δύο λεπτά"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 31, 0), (2013, 2, 12, 4, 34, 0)) Minute)
|
||||
[ "τα επόμενα 3 λεπτά"
|
||||
, "τα επόμενα τρία λεπτά"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 3, 0, 0), (2013, 2, 12, 4, 0, 0)) Hour)
|
||||
[ "η τελευταία 1 ώρα"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 5, 0, 0), (2013, 2, 12, 8, 0, 0)) Hour)
|
||||
[ "οι επόμενες 3 ώρες"
|
||||
, "τις επόμενες τρεις ώρες"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 10, 0, 0, 0), (2013, 2, 12, 0, 0, 0)) Day)
|
||||
[ "τελευταίες 2 μέρες"
|
||||
, "περασμένες 2 μέρες"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 13, 0, 0, 0), (2013, 2, 16, 0, 0, 0)) Day)
|
||||
[ "επόμενες τρεις μέρες"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 13, 0, 0, 0), (2013, 2, 16, 0, 0, 0)) Day)
|
||||
[ "επόμενες μερικές μέρες"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 1, 28, 0, 0, 0), (2013, 2, 11, 0, 0, 0)) Week)
|
||||
[ "τελευταίες 2 εβδομάδες"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 18, 0, 0, 0), (2013, 3, 11, 0, 0, 0)) Week)
|
||||
[ "επόμενες 3 βδομάδες"
|
||||
]
|
||||
, examples (datetimeInterval ((2012, 12, 1, 0, 0, 0), (2013, 2, 1, 0, 0, 0)) Month)
|
||||
[ "τελευταίοι 2 μήνες"
|
||||
, "περασμένοι 2 μήνες"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 3, 1, 0, 0, 0), (2013, 6, 1, 0, 0, 0)) Month)
|
||||
[ "επόμενοι 3 μήνες"
|
||||
]
|
||||
, examples (datetimeInterval ((2011, 1, 1, 0, 0, 0), (2013, 1, 1, 0, 0, 0)) Year)
|
||||
[ "τελευταία 2 χρόνια"
|
||||
]
|
||||
, examples (datetimeInterval ((2014, 1, 1, 0, 0, 0), (2017, 1, 1, 0, 0, 0)) Year)
|
||||
[ "επόμενα 3 χρόνια"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 7, 13, 0, 0, 0), (2013, 7, 16, 0, 0, 0)) Day)
|
||||
[ "13-15 Ιουλίου"
|
||||
, "13 με 15 Ιουλίου"
|
||||
, "13 Ιουλίου - 15 Ιουλίου"
|
||||
, "από τις 13-15 Ιουλίου"
|
||||
, "από τις 13 μέχρι τις 15 Ιουλίου"
|
||||
, "από τη 13η μέχρι την 15η Ιουλίου"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 8, 8, 0, 0, 0), (2013, 8, 13, 0, 0, 0)) Day)
|
||||
[ "8 Αυγ - 12 Αυγ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 9, 30, 0), (2013, 2, 12, 11, 1, 0)) Minute)
|
||||
[ "9:30 - 11:00"
|
||||
, "9:30 - 11:00 την Τρίτη"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 14, 9, 30, 0), (2013, 2, 14, 11, 1, 0)) Minute)
|
||||
[ "Πέμπτη από 9:30 μέχρι 11:00"
|
||||
, "Πέμπτη μεταξύ 9:30 και 11:00"
|
||||
, "Πέμπτη από τις 9:30 - 11:00"
|
||||
, "Πέμπτη από 9:30 μέχρι 11:00"
|
||||
, "Πέμπτη 9:30 - 11:00"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 13, 1, 0, 0), (2013, 2, 13, 2, 31, 0)) Minute)
|
||||
[ "αύριο μεταξύ 1-2:30"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 15, 0, 0), (2013, 2, 12, 17, 0, 0)) Hour)
|
||||
[ "3-4 μμ"
|
||||
, "από 3 μέχρι 4 το απόγευμα"
|
||||
, "περίπου 3-4 μμ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 15, 30, 0), (2013, 2, 12, 19, 0, 0)) Minute)
|
||||
[ "3:30 μέχρι 6 μμ"
|
||||
, "3:30-6 μ.μ."
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 8, 0, 0), (2013, 2, 12, 14, 0, 0)) Hour)
|
||||
[ "8πμ - 1μμ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 14, 9, 0, 0), (2013, 2, 14, 12, 0, 0)) Hour)
|
||||
[ "Πέμπτη από 9π μέχρι 11π"
|
||||
, "αυτή την Πέμπτη 9-11πμ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 11, 30, 0), (2013, 2, 12, 13, 31, 0)) Minute)
|
||||
[ "11:30-1:30"
|
||||
]
|
||||
, examples (datetime (2013, 9, 21, 13, 30, 0) Minute)
|
||||
[ "1:30 μμ το Σάββατο, 21 Σεπτ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 26, 0, 0, 0)) Second)
|
||||
[ "μέσα σε 2 βδομάδες"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 12, 14, 0, 0)) Second)
|
||||
[ "μέχρι τις 2:00μμ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 13, 0, 0, 0)) Second)
|
||||
[ "μέχρι το τέλος της ημέρας"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 3, 1, 0, 0, 0)) Second)
|
||||
[ "μέχρι το τέλος του μήνα"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 4, 1, 0, 0, 0)) Second)
|
||||
[ "μέχρι το τέλος του επόμενου μήνα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 13, 0, 0) Minute)
|
||||
[ "4μμ CET"
|
||||
]
|
||||
, examples (datetime (2013, 2, 14, 6, 0, 0) Minute)
|
||||
[ "Πέμπτη 8:00 GMT"
|
||||
, "Πεμ στις 8 GMT"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 14, 0, 0) Hour)
|
||||
[ "σήμερα στις 2μμ"
|
||||
, "στις 2μμ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 15, 0, 0) Hour)
|
||||
[ "3μμ αύριο"
|
||||
]
|
||||
, examples (datetimeOpenInterval After (2013, 2, 12, 14, 0, 0) Hour)
|
||||
[ "μετά τις 2μμ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 17, 4, 0, 0) Hour)
|
||||
[ "σε 5 μέρες"
|
||||
]
|
||||
, examples (datetimeOpenInterval Before (2013, 2, 12, 11, 0, 0) Hour)
|
||||
[ "πριν τις 11 το πρωί"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 8, 0, 0), (2013, 2, 12, 19, 0, 0)) Hour)
|
||||
[ "8πμ μέχρι τις 6"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 13, 30, 0) Minute)
|
||||
[ "στις 1:30μμ"
|
||||
, "1:30μμ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 45, 0) Second)
|
||||
[ "σε 15 λεπτά"
|
||||
, "σε 15'"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 10, 30, 0) Minute)
|
||||
[ "10:30"
|
||||
, "περίπου 1030"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 0, 0), (2013, 2, 12, 12, 0, 0)) Hour)
|
||||
[ "σήμερα το πρωί"
|
||||
]
|
||||
, examples (datetime (2013, 2, 25, 0, 0, 0) Day)
|
||||
[ "επόμενη δευτέρα"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 12, 0, 0) Hour)
|
||||
[ "στις 12μμ"
|
||||
, "το μεσημέρι"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 0, 0, 0) Hour)
|
||||
[ "στις 12 πμ"
|
||||
, "τα μεσάνυχτα"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Month)
|
||||
[ "Μάρτιος"
|
||||
, "στο Μάρτιο"
|
||||
, "το Μάρτιο"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 17, 0, 0) Hour)
|
||||
[ "αύριο το απόγευμα στις 5"
|
||||
, "στις 5 αύριο το απόγευμα"
|
||||
, "στις 5 αύριο απόγευμα"
|
||||
, "στις 5 μμ αύριο"
|
||||
, "αύριο στις 5 μμ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 13, 12, 0, 0), (2013, 2, 13, 18, 0, 0)) Hour)
|
||||
[ "αύριο το απόγευμα"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 13, 13, 0, 0), (2013, 2, 13, 15, 0, 0)) Hour)
|
||||
[ "1μμ-2μμ αύριο"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Day)
|
||||
[ "την 1η"
|
||||
, "την πρώτη"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 19, 30, 0) Minute)
|
||||
[ "στις 7:30 το βράδυ"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 23, 0, 0) Hour)
|
||||
[ "απόψε στις 11"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 23, 0) Minute)
|
||||
-- yes, the result is in the past, we may need to revisit
|
||||
[ "στις 4:23"
|
||||
, "4:23πμ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 3, 1, 0, 0, 0), (2013, 3, 11, 0, 0, 0)) Day)
|
||||
[ "αρχές Μάρτη"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 3, 11, 0, 0, 0), (2013, 3, 21, 0, 0, 0)) Day)
|
||||
[ "μέσα Μάρτη"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 3, 21, 0, 0, 0), (2013, 4, 1, 0, 0, 0)) Day)
|
||||
[ "τέλη Μάρτη"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 10, 25, 18, 0, 0), (2013, 10, 28, 0, 0, 0)) Hour)
|
||||
[ "τελευταίο σαββατοκύριακο του Οκτωβρίου"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 7, 26, 18, 0, 0), (2013, 7, 29, 0, 0, 0)) Hour)
|
||||
[ "τελευταίο ΣΚ του Ιουλίου"
|
||||
]
|
||||
, examples (datetimeInterval ((2017, 10, 27, 18, 0, 0), (2017, 10, 30, 0, 0, 0)) Hour)
|
||||
[ "τελευταίο σκ του Οκτ 2017"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 8, 27, 0, 0, 0), (2013, 8, 30, 0, 0, 0)) Day)
|
||||
[ "27η - 29η Αυγούστου"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 10, 23, 0, 0, 0), (2013, 10, 27, 0, 0, 0)) Day)
|
||||
[ "23η με 26η Οκτ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 9, 1, 0, 0, 0), (2013, 9, 9, 0, 0, 0)) Day)
|
||||
[ "1-8 Σεπτεμβρίου"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 9, 12, 0, 0, 0), (2013, 9, 17, 0, 0, 0)) Day)
|
||||
[ "12 με 16 Σεπτ"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 8, 19, 0, 0, 0), (2013, 8, 22, 0, 0, 0)) Day)
|
||||
[ "19η με 21η αυγ"
|
||||
]
|
||||
]
|
1783
Duckling/Time/EL/Rules.hs
Normal file
1783
Duckling/Time/EL/Rules.hs
Normal file
File diff suppressed because it is too large
Load Diff
@ -23,12 +23,12 @@ grains :: [(Text, String, TG.Grain)]
|
||||
grains =
|
||||
[ ("second (grain) ", "δε[υύ]τερ([οό]λ[εέ]πτ)?(ου?|α|ων)", TG.Second)
|
||||
, ("minute (grain)" , "λεπτ(o|όν?|ού|ά|ών)" , TG.Minute)
|
||||
, ("hour (grain)" , "[ωώ]ρ(ας?|ες|ών)" , TG.Hour)
|
||||
, ("hour (grain)" , "[ωώ](ρ(ας?|ες|ών))?" , TG.Hour)
|
||||
, ("day (grain)" , "η?μέρ(ας?|ες|ών)" , TG.Day)
|
||||
, ("week (grain)" , "ε?βδομάδ(α|ες|ων)" , TG.Week)
|
||||
, ("week (grain)" , "ε?βδομάδ(ας?ν?|ες|ων)" , TG.Week)
|
||||
, ("month (grain)" , "μήν(ας?|ες|ών)" , TG.Month)
|
||||
, ("quarter (grain)", "τρ[ιί]μ[ηή]ν(ου?|α|ων)" , TG.Quarter)
|
||||
, ("year (grain)" , "έτ(ου?ς|η|ών)|χρ[οό]ν(ο[ιςυ]|ι([αά]|ές)|ι?ών)"
|
||||
, ("year (grain)" , "έτ(ου?ς|η|ών)|χρ[οό]ν(ο[ιςυ]?|ι([αά]|ές)|ι?ών)"
|
||||
, TG.Year)
|
||||
]
|
||||
|
||||
|
@ -452,6 +452,8 @@ library
|
||||
, Duckling.Time.DA.Rules
|
||||
, Duckling.Time.DE.Corpus
|
||||
, Duckling.Time.DE.Rules
|
||||
, Duckling.Time.EL.Corpus
|
||||
, Duckling.Time.EL.Rules
|
||||
, Duckling.Time.EN.Corpus
|
||||
, Duckling.Time.EN.Rules
|
||||
, Duckling.Time.EN.AU.Corpus
|
||||
@ -780,6 +782,7 @@ test-suite duckling-test
|
||||
-- Time
|
||||
, Duckling.Time.DA.Tests
|
||||
, Duckling.Time.DE.Tests
|
||||
, Duckling.Time.EL.Tests
|
||||
, Duckling.Time.EN.Tests
|
||||
, Duckling.Time.ES.Tests
|
||||
, Duckling.Time.FR.Tests
|
||||
|
@ -29,6 +29,7 @@ import Duckling.Rules
|
||||
import Duckling.Testing.Types
|
||||
import qualified Duckling.Time.DA.Corpus as DATime
|
||||
import qualified Duckling.Time.DE.Corpus as DETime
|
||||
import qualified Duckling.Time.EL.Corpus as ELTime
|
||||
import qualified Duckling.Time.EN.Corpus as ENTime
|
||||
import qualified Duckling.Time.EN.CA.Corpus as EN_CATime
|
||||
import qualified Duckling.Time.EN.GB.Corpus as EN_GBTime
|
||||
@ -163,7 +164,7 @@ getCorpusForLang BG = (testContext, [])
|
||||
getCorpusForLang CS = (testContext, [])
|
||||
getCorpusForLang DA = DATime.corpus
|
||||
getCorpusForLang DE = DETime.corpus
|
||||
getCorpusForLang EL = (testContext, [])
|
||||
getCorpusForLang EL = ELTime.corpus
|
||||
getCorpusForLang EN = ENTime.corpus
|
||||
getCorpusForLang ES = ESTime.corpus
|
||||
getCorpusForLang ET = (testContext, [])
|
||||
|
23
tests/Duckling/Time/EL/Tests.hs
Normal file
23
tests/Duckling/Time/EL/Tests.hs
Normal file
@ -0,0 +1,23 @@
|
||||
-- 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.
|
||||
|
||||
|
||||
module Duckling.Time.EL.Tests
|
||||
( tests ) where
|
||||
|
||||
import Data.String
|
||||
import Prelude
|
||||
import Test.Tasty
|
||||
|
||||
import Duckling.Dimensions.Types
|
||||
import Duckling.Testing.Asserts
|
||||
import Duckling.Time.EL.Corpus
|
||||
|
||||
tests :: TestTree
|
||||
tests = testGroup "EL Tests"
|
||||
[ makeCorpusTest [This Time] corpus
|
||||
]
|
@ -27,6 +27,7 @@ import Duckling.TimeGrain.Types
|
||||
import qualified Duckling.Time.DA.Tests as DA
|
||||
import qualified Duckling.Time.DE.Tests as DE
|
||||
import qualified Duckling.Time.EN.Tests as EN
|
||||
import qualified Duckling.Time.EL.Tests as EL
|
||||
import qualified Duckling.Time.ES.Tests as ES
|
||||
import qualified Duckling.Time.FR.Tests as FR
|
||||
import qualified Duckling.Time.GA.Tests as GA
|
||||
@ -48,6 +49,7 @@ tests :: TestTree
|
||||
tests = testGroup "Time Tests"
|
||||
[ DA.tests
|
||||
, DE.tests
|
||||
, EL.tests
|
||||
, EN.tests
|
||||
, ES.tests
|
||||
, FR.tests
|
||||
|
Loading…
Reference in New Issue
Block a user