mirror of
https://github.com/facebook/duckling.git
synced 2024-09-11 21:27:13 +03:00
Time Dimension for TR locale (#584)
Summary: Added time dimension for Turkish language Pull Request resolved: https://github.com/facebook/duckling/pull/584 Differential Revision: D27235743 Pulled By: chessai fbshipit-source-id: 7419ff7373d942530f0eb35939acb9970b918672
This commit is contained in:
parent
4c4d5ca725
commit
3157d2e553
@ -18,5 +18,6 @@ allDimensions =
|
||||
, Seal Numeral
|
||||
, Seal Ordinal
|
||||
, Seal Temperature
|
||||
, Seal Time
|
||||
, Seal Volume
|
||||
]
|
||||
|
@ -4,8 +4,8 @@
|
||||
-- This source code is licensed under the BSD-style license found in the
|
||||
-- LICENSE file in the root directory of this source tree.
|
||||
|
||||
|
||||
{-# LANGUAGE GADTs #-}
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Duckling.Duration.TR.Rules
|
||||
@ -102,7 +102,7 @@ ruleDurationPrecision :: Rule
|
||||
ruleDurationPrecision = Rule
|
||||
{ name = "<duration> about|exactly"
|
||||
, pattern =
|
||||
[ regex "(gibi|civar\305nda|yaklaş\305k|tam( olarak)?)"
|
||||
[ regex "(yaklaşık|tam(\\solarak)?)"
|
||||
, dimension Duration
|
||||
]
|
||||
, prod = \tokens -> case tokens of
|
||||
@ -110,6 +110,18 @@ ruleDurationPrecision = Rule
|
||||
_ -> Nothing
|
||||
}
|
||||
|
||||
ruleDurationPrecision2 :: Rule
|
||||
ruleDurationPrecision2 = Rule
|
||||
{ name = "<duration> about|exactly"
|
||||
, pattern =
|
||||
[ dimension Duration
|
||||
, regex "gibi|civarında"
|
||||
]
|
||||
, prod = \case
|
||||
(token:_:_) -> Just token
|
||||
_ -> Nothing
|
||||
}
|
||||
|
||||
rules :: [Rule]
|
||||
rules =
|
||||
[ ruleDurationQuarterOfAnHour
|
||||
@ -119,5 +131,6 @@ rules =
|
||||
, ruleDurationDotNumeralHours
|
||||
, ruleDurationAndHalfHour
|
||||
, ruleDurationPrecision
|
||||
, ruleDurationPrecision2
|
||||
, ruleNumeralQuotes
|
||||
]
|
||||
|
@ -152,7 +152,7 @@ ruleNumeralSuffixesHalfsuffixText :: Rule
|
||||
ruleNumeralSuffixesHalfsuffixText = Rule
|
||||
{ name = "number suffixes (half-suffix text) (1..9)"
|
||||
, pattern =
|
||||
[ regex "((bir?|iki|üç|dört|beş|altı|yedi|sekiz|dokuz)(buçuk))"
|
||||
[ regex "((bir?|iki|üçü?|dört|beş|altı|yedi|sekiz|dokuz)(buçuk))"
|
||||
]
|
||||
, prod = \tokens -> case tokens of
|
||||
(Token RegexMatch (GroupMatch (match:_)):_) ->
|
||||
@ -514,7 +514,7 @@ ruleInteger9 :: Rule
|
||||
ruleInteger9 = Rule
|
||||
{ name = "integer 11..19 21..29 31..39 41..49 51..59 61..69 71..79 81..89 91..99"
|
||||
, pattern =
|
||||
[ regex "((on|yirmi|otuz|kırk|elli|atmış|altmış|yetmiş|seksen|doksan)(bir|bi|iki|üç|dört|beş|altı|yedi|sekiz|dokuz)(buçuk))"
|
||||
[ regex "((on|yirmi|otuz|kırk|elli|atmış|altmış|yetmiş|seksen|doksan)(bir|bi|iki|üçü?|dört|beş|altı|yedi|sekiz|dokuz)(buçuk))"
|
||||
]
|
||||
, prod = \tokens -> case tokens of
|
||||
(Token RegexMatch (GroupMatch (match:_)):_) ->
|
||||
@ -542,6 +542,7 @@ oneToNineMap = HashMap.fromList
|
||||
, ( "tek", 1)
|
||||
, ( "iki", 2)
|
||||
, ( "üç", 3)
|
||||
, ( "üçü", 3)
|
||||
, ( "dört", 4)
|
||||
, ( "beş", 5)
|
||||
, ( "altı", 6)
|
||||
@ -554,7 +555,7 @@ ruleInteger :: Rule
|
||||
ruleInteger = Rule
|
||||
{ name = "integer (0..9)"
|
||||
, pattern =
|
||||
[ regex "(yok|hi(ç)|s(ı)f(ı)r|bir?|[ty]ek|iki|(ü)(ç)|d(ö)rt|be(ş)|alt(ı)|yedi|sekiz|dokuz)"
|
||||
[ regex "(yok|hi(ç)|s(ı)f(ı)r|bir?|[ty]ek|iki|(ü)(ç)(ü)?|d(ö)rt|be(ş)|alt(ı)|yedi|sekiz|dokuz)"
|
||||
]
|
||||
, prod = \tokens -> case tokens of
|
||||
(Token RegexMatch (GroupMatch (match:_)):_) ->
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -22,6 +22,7 @@ import qualified Duckling.Duration.TR.Rules as Duration
|
||||
import qualified Duckling.Numeral.TR.Rules as Numeral
|
||||
import qualified Duckling.Ordinal.TR.Rules as Ordinal
|
||||
import qualified Duckling.Temperature.TR.Rules as Temperature
|
||||
import qualified Duckling.Time.TR.Rules as Time
|
||||
import qualified Duckling.TimeGrain.TR.Rules as TimeGrain
|
||||
import qualified Duckling.Volume.TR.Rules as Volume
|
||||
import qualified Duckling.AmountOfMoney.TR.Rules as AmountOfMoney
|
||||
@ -45,7 +46,7 @@ langRules (Seal PhoneNumber) = []
|
||||
langRules (Seal Quantity) = []
|
||||
langRules (Seal RegexMatch) = []
|
||||
langRules (Seal Temperature) = Temperature.rules
|
||||
langRules (Seal Time) = []
|
||||
langRules (Seal Time) = Time.rules
|
||||
langRules (Seal TimeGrain) = TimeGrain.rules
|
||||
langRules (Seal Url) = []
|
||||
langRules (Seal Volume) = Volume.rules
|
||||
|
532
Duckling/Time/TR/Corpus.hs
Normal file
532
Duckling/Time/TR/Corpus.hs
Normal file
@ -0,0 +1,532 @@
|
||||
-- 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.
|
||||
|
||||
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Duckling.Time.TR.Corpus
|
||||
( corpus
|
||||
) where
|
||||
|
||||
import Data.String
|
||||
import Prelude
|
||||
|
||||
import Duckling.Locale
|
||||
import Duckling.Resolve
|
||||
import Duckling.Testing.Types hiding (examples)
|
||||
import Duckling.Time.Corpus
|
||||
import Duckling.TimeGrain.Types
|
||||
( Grain(Minute, Hour, Year, Quarter, Week, Month, Day, Second) )
|
||||
|
||||
context :: Context
|
||||
context = testContext {locale = makeLocale TR Nothing}
|
||||
|
||||
-- Tuesday Feb 12, 2013 at 4:30am is the "now" for the tests
|
||||
corpus :: Corpus
|
||||
corpus = (context, testOptions, allExamples)
|
||||
|
||||
allExamples :: [Example]
|
||||
allExamples = concat
|
||||
[ examples (datetime (2013, 2, 12, 4, 30, 0) Second)
|
||||
[ "şimdi"
|
||||
, "şu an"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 0, 0, 0) Day)
|
||||
[ "bugün"
|
||||
]
|
||||
, examples (datetime (2014, 1, 1, 0, 0, 0) Year)
|
||||
[ "2014"
|
||||
]
|
||||
, examples (datetime (2013, 2, 11, 0, 0, 0) Day)
|
||||
[ "dün"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 0, 0, 0) Day)
|
||||
[ "yarın"
|
||||
]
|
||||
, examples (datetime (2013, 2, 14, 0, 0, 0) Day)
|
||||
[ "yarından sonraki"
|
||||
, "yarından sonraki gün"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Month)
|
||||
[ "ay sonu"
|
||||
]
|
||||
, examples (datetime (2014, 1, 1, 0, 0, 0) Year)
|
||||
[ "yıl sonu"
|
||||
]
|
||||
, examples (datetime (2013, 2, 18, 0, 0, 0) Day)
|
||||
[ "pazartesi"
|
||||
, "bu pazartesi"
|
||||
, "18 şubat pazartesi"
|
||||
, "şubat 18 pazartesi"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
||||
[ "salı"
|
||||
, "sal"
|
||||
, "bu salı"
|
||||
, "19 şubat salı"
|
||||
]
|
||||
, examples (datetime (2013, 2, 14, 0, 0, 0) Day)
|
||||
[ "perşembe"
|
||||
, "per"
|
||||
]
|
||||
, examples (datetime (2013, 2, 15, 0, 0, 0) Day)
|
||||
[ "cuma"
|
||||
, "cum"
|
||||
]
|
||||
, examples (datetime (2013, 2, 16, 0, 0, 0) Day)
|
||||
[ "cumartesi"
|
||||
, "cmt"
|
||||
]
|
||||
, examples (datetime (2013, 2, 17, 0, 0, 0) Day)
|
||||
[ "pazar"
|
||||
]
|
||||
, examples (datetime (2013, 3, 3, 0, 0, 0) Day)
|
||||
[ "martın üçü"
|
||||
, "3 mart"
|
||||
]
|
||||
, examples (datetime (2013, 3, 15, 0, 0, 0) Day)
|
||||
[ "martın ortası"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 0, 0, 0) Day)
|
||||
[ "şubatın ortası"
|
||||
]
|
||||
, examples (datetime (2015, 3, 3, 0, 0, 0) Day)
|
||||
[ "mart 3 2015"
|
||||
, "mart üç 2015"
|
||||
, "3 mart 2015"
|
||||
, "üç mart 2015"
|
||||
, "3/3/2015"
|
||||
, "2015-3-3"
|
||||
, "2015-03-03"
|
||||
]
|
||||
, examples (datetime (2013, 8, 8, 0, 0, 0) Day)
|
||||
[ "Ağu 8"
|
||||
, "Ağustos 8"
|
||||
]
|
||||
, examples (datetime (2014, 7, 18, 0, 0, 0) Day)
|
||||
[ "cuma temmuz 18"
|
||||
, "temmuz 18 cuma"
|
||||
, "18 temmuz cuma"
|
||||
]
|
||||
, examples (datetime (2014, 10, 1, 0, 0, 0) Month)
|
||||
[ "Ekim 2014"
|
||||
]
|
||||
, examples (datetime (2015, 4, 14, 0, 0, 0) Day)
|
||||
[ "14 nisan 2015"
|
||||
, "nisan 14 2015"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
||||
[ "önümüzdeki salı"
|
||||
, "sonraki salı"
|
||||
]
|
||||
, examples (datetime (2013, 2, 15, 0, 0, 0) Day)
|
||||
[ "sonraki cuma"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Month)
|
||||
[ "önümüzdeki mart"
|
||||
, "sonraki mart"
|
||||
, "sonraki ay"
|
||||
, "önümüzdeki ay"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Month)
|
||||
[ "önümüzdeki mart"
|
||||
]
|
||||
, examples (datetime (2013, 2, 10, 0, 0, 0) Day)
|
||||
[ "pazar 10 şubat"
|
||||
]
|
||||
, examples (datetime (2013, 2, 11, 0, 0, 0) Week)
|
||||
[ "bu hafta"
|
||||
]
|
||||
, examples (datetime (2013, 2, 18, 0, 0, 0) Week)
|
||||
[ "önümüzdeki hafta"
|
||||
]
|
||||
, examples (datetime (2013, 2, 4, 0, 0, 0) Week)
|
||||
[ "geçen hafta"
|
||||
, "geçtiğimiz hafta"
|
||||
, "önceki hafta"
|
||||
]
|
||||
, examples (datetime (2013, 2, 18, 0, 0, 0) Week)
|
||||
[ "sonraki hafta"
|
||||
, "gelecek hafta"
|
||||
, "önümüzdeki hafta"
|
||||
]
|
||||
, examples (datetime (2013, 1, 1, 0, 0, 0) Month)
|
||||
[ "geçen ay"
|
||||
, "geçtiğimiz ay"
|
||||
, "önceki ay"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Month)
|
||||
[ "önümüzdeki ay"
|
||||
, "sonraki ay"
|
||||
, "gelecek ay"
|
||||
]
|
||||
, examples (datetime (2013, 1, 1, 0, 0, 0) Quarter)
|
||||
[ "bu çeyrek yıl"
|
||||
]
|
||||
, examples (datetime (2013, 4, 1, 0, 0, 0) Quarter)
|
||||
[ "sonraki çeyrek yıl"
|
||||
]
|
||||
, examples (datetime (2013, 7, 1, 0, 0, 0) Quarter)
|
||||
[ "üçüncü çeyrek yıl"
|
||||
]
|
||||
, examples (datetime (2013, 10, 1, 0, 0, 0) Quarter)
|
||||
[ "dördüncü çeyrek yıl"
|
||||
]
|
||||
, examples (datetime (2012, 1, 1, 0, 0, 0) Year)
|
||||
[ "geçen yıl"
|
||||
]
|
||||
, examples (datetime (2013, 1, 1, 0, 0, 0) Year)
|
||||
[ "bu yıl"
|
||||
]
|
||||
, examples (datetime (2014, 1, 1, 0, 0, 0) Year)
|
||||
[ "sonraki yıl"
|
||||
]
|
||||
, examples (datetime (2013, 2, 10, 0, 0, 0) Day)
|
||||
[ "geçen pazar"
|
||||
, "geçen hafta pazar"
|
||||
]
|
||||
, examples (datetime (2013, 2, 5, 0, 0, 0) Day)
|
||||
[ "geçen salı"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
||||
[ "önümüzdeki salı"
|
||||
, "gelecek salı"
|
||||
, "sonraki salı"
|
||||
]
|
||||
, examples (datetime (2013, 2, 20, 0, 0, 0) Day)
|
||||
[ "gelecek hafta çarşamba"
|
||||
]
|
||||
, examples (datetime (2013, 2, 14, 0, 0, 0) Day)
|
||||
[ "yarından sonraki gün"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 17, 0, 0) Hour)
|
||||
[ "sonraki gün saat 17"
|
||||
]
|
||||
, examples (datetime (2013, 2, 10, 0, 0, 0) Day)
|
||||
[ "dün değil evvelsi gün"
|
||||
, "dünden önceki gün"
|
||||
, "öbürki gün"
|
||||
, "öbürsü gün"
|
||||
]
|
||||
, examples (datetime (2013, 2, 10, 8, 0, 0) Hour)
|
||||
[ "dünden önceki gün saat 8"
|
||||
]
|
||||
, examples (datetime (2013, 10, 1, 0, 0, 0) Day)
|
||||
[ "ekimin birinci salı"
|
||||
, "ekimin birinci salısı"
|
||||
]
|
||||
, examples (datetime (2014, 10, 1, 0, 0, 0) Day)
|
||||
[ "ekim 2014 birinci çarşambası"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 15, 0, 0) Hour)
|
||||
[ "saat 3"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 10, 0, 0) Hour)
|
||||
[ "sabah saat 10"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 3, 18, 0) Minute)
|
||||
[ "3:18"
|
||||
, "03:18"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 15, 0, 0) Hour)
|
||||
[ "saat 15"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 15, 0, 0) Minute)
|
||||
[ "15:00"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 15, 3, 0) Minute)
|
||||
[ "saat 15:03"
|
||||
, "15:03"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 9, 59, 0) Minute)
|
||||
[ "saat dokuz elli dokuz"
|
||||
]
|
||||
, examples (datetime (2013, 9, 20, 19, 30, 0) Minute)
|
||||
[ "20 eylül cuma saat 19:30"
|
||||
]
|
||||
, examples (datetime (2013, 2, 16, 9, 0, 0) Hour)
|
||||
[ "cumartesi saat 9"
|
||||
, "cumartesi sabah saat 9"
|
||||
]
|
||||
, examples (datetime (2014, 7, 18, 19, 0, 0) Minute)
|
||||
[ "18 temmuz 2014 cuma saat 19:00"
|
||||
, "saat 19:00 18 temmuz 2014 cuma"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 30, 1) Second)
|
||||
[ "bir saniye içinde"
|
||||
, "bir saniye içerisinde"
|
||||
, "1 saniye içerisinde"
|
||||
, "1 saniye içinde"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 31, 0) Second)
|
||||
[ "bir dakika içinde"
|
||||
, "bir dakika içerisinde"
|
||||
, "1 dakika içinde"
|
||||
, "1 dakika içerisinde"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 4, 32, 0) Second)
|
||||
[ "2 dakika içinde"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 5, 30, 0) Second)
|
||||
[ "60 dakika içinde"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 5, 30, 0) Minute)
|
||||
[ "bir saat içinde"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 4, 0, 0) Hour)
|
||||
[ "bir gün sonra"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 4, 0, 0) Hour)
|
||||
[ "7 gün içinde"
|
||||
]
|
||||
, examples (datetime (2017, 2, 1, 17, 0, 0) Hour)
|
||||
[ "4 yıl sonra saat 17"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
||||
[ "1 hafta içinde"
|
||||
, "1 hafta sonra"
|
||||
]
|
||||
, examples (datetime (2013, 2, 5, 4, 0, 0) Hour)
|
||||
[ "7 gün önce"
|
||||
]
|
||||
, examples (datetime (2013, 1, 29, 4, 0, 0) Hour)
|
||||
[ "14 gün önce"
|
||||
, "iki hafta önce"
|
||||
]
|
||||
, examples (datetime (2013, 2, 5, 0, 0, 0) Day)
|
||||
[ "bir hafta önce"
|
||||
, "1 hafta önce"
|
||||
]
|
||||
, examples (datetime (2013, 1, 22, 0, 0, 0) Day)
|
||||
[ "üç hafta önce"
|
||||
]
|
||||
, examples (datetime (2012, 11, 12, 0, 0, 0) Day)
|
||||
[ "üç ay önce"
|
||||
]
|
||||
, examples (datetime (2011, 2, 1, 0, 0, 0) Month)
|
||||
[ "iki yıl önce"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 4, 0, 0) Hour)
|
||||
[ "7 gün sonra"
|
||||
]
|
||||
, examples (datetime (2013, 2, 26, 4, 0, 0) Hour)
|
||||
[ "14 gün sonra"
|
||||
, "iki hafta sonra"
|
||||
]
|
||||
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
||||
[ "bir hafta sonra"
|
||||
, "1 hafta sonra"
|
||||
]
|
||||
, examples (datetime (2013, 3, 5, 0, 0, 0) Day)
|
||||
[ "üç hafta sonra"
|
||||
]
|
||||
, examples (datetime (2013, 5, 12, 0, 0, 0) Day)
|
||||
[ "üç ay sonra"
|
||||
]
|
||||
, examples (datetime (2015, 2, 1, 0, 0, 0) Month)
|
||||
[ "iki yıl sonra"
|
||||
]
|
||||
, examples (datetime (2014, 1, 1, 0, 0, 0) Day)
|
||||
[ "yılbaşından sonra bir yıl"
|
||||
, "yılbaşından bir yıl sonra"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 12, 18, 0, 0, 0), (2013, 12, 29, 0, 0, 0)) Day)
|
||||
[ "18 aralıktan itibaren 10 gün boyunca"
|
||||
, "18 aralıktan itibaren 10 gün süresince"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 16, 30, 0) Minute)
|
||||
[ "saat 16'dan 30 dakika sonra"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 6, 21, 0, 0, 0), (2013, 9, 24, 0, 0, 0)) Day)
|
||||
[ "bu yaz"
|
||||
]
|
||||
, examples (datetimeInterval ((2012, 12, 21, 0, 0, 0), (2013, 3, 21, 0, 0, 0)) Day)
|
||||
[ "bu kış"
|
||||
]
|
||||
, examples (datetimeInterval ((2011, 12, 21, 0, 0, 0), (2012, 03, 21, 0, 0, 0)) Day)
|
||||
[ "geçen kış"
|
||||
, "önceki kış"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 3, 20, 0, 0, 0), (2013, 6, 22, 0, 0, 0)) Day)
|
||||
[ "gelecek ilkbahar"
|
||||
]
|
||||
, examples (datetimeHoliday (2014, 1, 1, 0, 0, 0) Day "Yılbaşı")
|
||||
[ "yılbaşı"
|
||||
]
|
||||
, examples (datetimeHoliday (2014, 1, 1, 18, 0, 0) Hour "Yılbaşı")
|
||||
[ "yılbaşı saat 18"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 13, 0, 0, 0)) Hour)
|
||||
[ "bu akşam"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 8, 18, 0, 0), (2013, 2, 11, 0, 0, 0)) Hour)
|
||||
[ "geçen hafta sonu"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 13, 18, 0, 0), (2013, 2, 14, 0, 0, 0)) Hour)
|
||||
[ "yarın akşam"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 13, 12, 0, 0), (2013, 2, 13, 14, 0, 0)) Hour)
|
||||
[ "yarın öğle yemeği"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 11, 18, 0, 0), (2013, 2, 12, 0, 0, 0)) Hour)
|
||||
[ "dün akşam"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 15, 18, 0, 0), (2013, 2, 18, 0, 0, 0)) Hour)
|
||||
[ "bu hafta sonu"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 18, 0, 0, 0), (2013, 2, 18, 12, 0, 0)) Hour)
|
||||
[ "pazartesi sabah"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 15, 0, 0, 0), (2013, 2, 15, 12, 0, 0)) Hour)
|
||||
[ "15 şubat sabahı"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 29, 58), (2013, 2, 12, 4, 30, 0)) Second)
|
||||
[ "son 2 saniye"
|
||||
, "son iki saniye"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 1), (2013, 2, 12, 4, 30, 4)) Second)
|
||||
[ "sonraki 3 saniye"
|
||||
, "sonraki üç saniye"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 28, 0), (2013, 2, 12, 4, 30, 0)) Minute)
|
||||
[ "son 2 dakika"
|
||||
, "son iki dakika"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 3, 0, 0), (2013, 2, 12, 4, 0, 0)) Hour)
|
||||
[ "son 1 saat"
|
||||
, "son bir saat"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 5, 0, 0), (2013, 2, 12, 8, 0, 0)) Hour)
|
||||
[ "sonraki 3 saat"
|
||||
, "sonraki üç saat"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 10, 0, 0, 0), (2013, 2, 12, 0, 0, 0)) Day)
|
||||
[ "son iki gün"
|
||||
, "son 2 gün"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 1, 28, 0, 0, 0), (2013, 2, 11, 0, 0, 0)) Week)
|
||||
[ "geçtiğimiz iki hafta"
|
||||
, "önceki iki hafta"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 18, 0, 0, 0), (2013, 3, 11, 0, 0, 0)) Week)
|
||||
[ "önümüzdeki üç hafta"
|
||||
, "sonraki üç hafta"
|
||||
]
|
||||
, examples (datetimeInterval ((2012, 12, 1, 0, 0, 0), (2013, 2, 1, 0, 0, 0)) Month)
|
||||
[ "son 2 ay"
|
||||
, "son iki ay"
|
||||
]
|
||||
, examples (datetimeInterval ((2011, 1, 1, 0, 0, 0), (2013, 1, 1, 0, 0, 0)) Year)
|
||||
[ "son 2 yıl"
|
||||
, "son iki yıl"
|
||||
]
|
||||
, examples (datetimeInterval ((2014, 1, 1, 0, 0, 0), (2017, 1, 1, 0, 0, 0)) Year)
|
||||
[ "önümüzdeki üç yıl"
|
||||
, "önümüzdeki 3 yıl"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 8, 8, 0, 0, 0), (2013, 8, 13, 0, 0, 0)) Day)
|
||||
[ "8 Ağu - 12 Ağu"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 9, 30, 0), (2013, 2, 12, 11, 1, 0)) Minute)
|
||||
[ "9:30 - 11:00"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 14, 9, 30, 0), (2013, 2, 14, 11, 1, 0)) Minute)
|
||||
[ "perşembe 9:30 - 11:00"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 15, 0, 0), (2013, 2, 12, 17, 0, 0)) Hour)
|
||||
[ "saat 15-16"]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 15, 30, 0), (2013, 2, 12, 18, 1, 0)) Minute)
|
||||
[ "saat 15:30 - 18"]
|
||||
, examples (datetimeInterval ((2013, 2, 14, 9, 0, 0), (2013, 2, 14, 12, 0, 0)) Hour)
|
||||
[ "perşembe saat 9-11"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 11, 30, 0), (2013, 2, 12, 13, 31, 0)) Minute)
|
||||
[ "saat 11:30-13:30"
|
||||
]
|
||||
, examples (datetime (2013, 9, 21, 13, 30, 0) Minute)
|
||||
[ "21 eylül cumartesi saat 13:30"
|
||||
]
|
||||
, examples (datetime (2013, 2, 26, 0, 0, 0) Day)
|
||||
[ "2 hafta içinde"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 13, 0, 0, 0)) Second)
|
||||
[ "gün sonuna kadar"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 3, 1, 0, 0, 0)) Second)
|
||||
[ "ay sonuna kadar"
|
||||
]
|
||||
, examples (datetime (2013, 3, 1, 0, 0, 0) Month)
|
||||
[ "ay sonunda"
|
||||
, "ay sonu"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 10, 30, 0) Minute)
|
||||
[ "saat 10:30 civarı"
|
||||
, "10:30 civarı"
|
||||
, "yaklaşık saat 10:30"
|
||||
, "saat yaklaşık 10:30"
|
||||
]
|
||||
, examples (datetime (2013, 2, 12, 19, 30, 0) Minute)
|
||||
[ "akşam saat 19:30"
|
||||
]
|
||||
, examples (datetime (2013, 2, 13, 15, 0, 0) Minute)
|
||||
[ "yarın saat 15:00"
|
||||
]
|
||||
, examples (datetimeInterval ((2013, 2, 11, 0, 0, 0), (2013, 2, 17, 0, 0, 0)) Day)
|
||||
[ "hafta boyunca"
|
||||
]
|
||||
, examples (datetimeHoliday (1950, 7, 16, 0, 0, 0) Day "Ramazan Bayramı")
|
||||
[ "ramazan bayramı 1950"
|
||||
, "1950 ramazan bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (1975, 10, 6, 0, 0, 0) Day "Ramazan Bayramı")
|
||||
[ "1975 ramazan bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (1988, 5, 16, 0, 0, 0) Day "Ramazan Bayramı")
|
||||
[ "1988 ramazan bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (2018, 6, 15, 0, 0, 0) Day "Ramazan Bayramı")
|
||||
[ "2018 ramazan bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (2013, 8, 8, 0, 0, 0) Day "Ramazan Bayramı")
|
||||
[ "2013 ramazan bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (2046, 8, 4, 0, 0, 0) Day "Ramazan Bayramı")
|
||||
[ "2046 ramazan bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (2050, 6, 21, 0, 0, 0) Day "Ramazan Bayramı")
|
||||
[ "2050 ramazan bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (2018, 8, 21, 0, 0, 0) Day "Kurban Bayramı")
|
||||
[ "2018 kurban bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (1980, 10, 19, 0, 0, 0) Day "Kurban Bayramı")
|
||||
[ "1980 kurban bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (1966, 4, 1, 0, 0, 0) Day "Kurban Bayramı")
|
||||
[ "1966 kurban bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (1974, 1, 3, 0, 0, 0) Day "Kurban Bayramı")
|
||||
[ "1974 kurban bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (2013, 4, 23, 0, 0, 0) Day "Ulusal Egemenlik ve Çocuk Bayramı")
|
||||
[ "ulusal egemenlik ve çocuk bayramı"
|
||||
, "çocuk bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (2013, 5, 1, 0, 0, 0) Day "Emek ve Dayanışma Günü")
|
||||
[ "emek ve dayanışma günü"
|
||||
]
|
||||
, examples (datetimeHoliday (2013, 5, 19, 0, 0, 0) Day "Atatürk’ü Anma, Gençlik ve Spor Bayramı")
|
||||
[ "gençlik ve spor bayramı"
|
||||
, "gençlik bayramı"
|
||||
, "spor bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (2013, 8, 30, 0, 0, 0) Day "Zafer Bayramı")
|
||||
[ "zafer bayramı"
|
||||
]
|
||||
, examples (datetimeHoliday (2013, 10, 29, 0, 0, 0) Day "Cumhuriyet Bayramı")
|
||||
[ "cumhuriyet bayramı"
|
||||
]
|
||||
]
|
1140
Duckling/Time/TR/Rules.hs
Normal file
1140
Duckling/Time/TR/Rules.hs
Normal file
File diff suppressed because it is too large
Load Diff
@ -20,14 +20,14 @@ import Duckling.Types
|
||||
import qualified Duckling.TimeGrain.Types as TG
|
||||
|
||||
grains :: [(Text, String, TG.Grain)]
|
||||
grains = [ ("saniye (grain)", "sa?n(iye)?", TG.Second)
|
||||
, ("dakika (grain)", "da?k(ika)?", TG.Minute)
|
||||
, ("saat (grain)", "sa(at)?", TG.Hour)
|
||||
, ("gün (grain)", "gün", TG.Day)
|
||||
, ("hafta (grain)", "hafta", TG.Week)
|
||||
, ("ay (grain)", "ay", TG.Month)
|
||||
, ("çeyrek yıl (grain)", "\231eyrek y\305l", TG.Quarter)
|
||||
, ("yıl (grain)", "y\305l", TG.Year)
|
||||
grains = [ ("saniye (grain)", "sa?n(iye)?(nin)?", TG.Second)
|
||||
, ("dakika (grain)", "da?k(ika)?(nın)?", TG.Minute)
|
||||
, ("saat (grain)", "sa(at)?(in)?", TG.Hour)
|
||||
, ("gün (grain)", "gün(ün)?", TG.Day)
|
||||
, ("hafta (grain)", "hafta(nın)?", TG.Week)
|
||||
, ("ay (grain)", "ay(ın)?", TG.Month)
|
||||
, ("çeyrek yıl (grain)", "\231eyrek y\305l(ın)?", TG.Quarter)
|
||||
, ("yıl (grain)", "y\305l(ın)?", TG.Year)
|
||||
]
|
||||
|
||||
rules :: [Rule]
|
||||
|
@ -743,6 +743,8 @@ library
|
||||
, Duckling.Time.RU.Rules
|
||||
, Duckling.Time.SV.Corpus
|
||||
, Duckling.Time.SV.Rules
|
||||
, Duckling.Time.TR.Corpus
|
||||
, Duckling.Time.TR.Rules
|
||||
, Duckling.Time.UK.Corpus
|
||||
, Duckling.Time.UK.Rules
|
||||
, Duckling.Time.VI.Corpus
|
||||
|
@ -52,6 +52,7 @@ import qualified Duckling.Time.PT.Corpus as PTTime
|
||||
import qualified Duckling.Time.RO.Corpus as ROTime
|
||||
import qualified Duckling.Time.RU.Corpus as RUTime
|
||||
import qualified Duckling.Time.SV.Corpus as SVTime
|
||||
import qualified Duckling.Time.TR.Corpus as TRTime
|
||||
import qualified Duckling.Time.UK.Corpus as UKTime
|
||||
import qualified Duckling.Time.VI.Corpus as VITime
|
||||
import qualified Duckling.Time.ZH.Corpus as ZHTime
|
||||
@ -215,7 +216,7 @@ getCorpusForLang SW = (testContext, testOptions, [])
|
||||
getCorpusForLang TA = (testContext, testOptions, [])
|
||||
getCorpusForLang TE = (testContext, testOptions, [])
|
||||
getCorpusForLang TH = (testContext, testOptions, [])
|
||||
getCorpusForLang TR = (testContext, testOptions, [])
|
||||
getCorpusForLang TR = TRTime.corpus
|
||||
getCorpusForLang UK = UKTime.corpus
|
||||
getCorpusForLang VI = VITime.corpus
|
||||
getCorpusForLang ZH = ZHTime.corpus
|
||||
|
14
tests/Duckling/Time/TR/Tests.hs
Normal file
14
tests/Duckling/Time/TR/Tests.hs
Normal file
@ -0,0 +1,14 @@
|
||||
module Duckling.Time.TR.Tests
|
||||
( tests ) where
|
||||
|
||||
import Data.String
|
||||
import Test.Tasty
|
||||
|
||||
import Duckling.Dimensions.Types
|
||||
import Duckling.Testing.Asserts
|
||||
import Duckling.Time.TR.Corpus
|
||||
|
||||
tests :: TestTree
|
||||
tests = testGroup "TR Tests"
|
||||
[ makeCorpusTest [Seal Time] corpus
|
||||
]
|
Loading…
Reference in New Issue
Block a user