-- 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.DE.Corpus ( corpus , negativeCorpus ) where import Prelude import Data.String import Duckling.Lang import Duckling.Resolve import Duckling.Time.Corpus import Duckling.Time.Types hiding (Month) import Duckling.TimeGrain.Types hiding (add) import Duckling.Testing.Types hiding (examples) corpus :: Corpus corpus = (testContext {lang = DE}, allExamples) negativeCorpus :: NegativeCorpus negativeCorpus = (testContext {lang = DE}, examples) where examples = [ "ein Hotel" , "ein Angebot" ] allExamples :: [Example] allExamples = concat [ examples (datetime (2013, 2, 12, 4, 30, 0) Second) [ "jetzt" , "genau jetzt" , "gerade eben" ] , examples (datetime (2013, 2, 12, 0, 0, 0) Day) [ "heute" , "zu dieser zeit" ] , examples (datetime (2013, 2, 11, 0, 0, 0) Day) [ "gestern" ] , examples (datetime (2013, 2, 13, 0, 0, 0) Day) [ "morgen" ] , examples (datetime (2013, 2, 18, 0, 0, 0) Day) [ "montag" , "mo." , "diesen montag" ] , examples (datetime (2013, 2, 18, 0, 0, 0) Day) [ "Montag, Feb 18" , "Montag, Februar 18" ] , examples (datetime (2013, 2, 19, 0, 0, 0) Day) [ "dienstag" ] , examples (datetime (2013, 2, 14, 0, 0, 0) Day) [ "donnerstag" , "do" , "do." ] , examples (datetime (2013, 2, 15, 0, 0, 0) Day) [ "freitag" , "fr." ] , examples (datetime (2013, 2, 16, 0, 0, 0) Day) [ "samstag" , "sa." ] , examples (datetime (2013, 2, 17, 0, 0, 0) Day) [ "sonntag" , "so." ] , examples (datetime (2013, 3, 1, 0, 0, 0) Day) [ "1 märz" , "erster märz" ] , examples (datetime (2013, 3, 3, 0, 0, 0) Day) [ "märz 3" ] , examples (datetime (2015, 3, 3, 0, 0, 0) Day) [ "märz 3 2015" ] , examples (datetime (2013, 2, 15, 0, 0, 0) Day) [ "am 15ten" ] , examples (datetime (2013, 2, 15, 0, 0, 0) Day) [ "15. februar" , "februar 15" , "15te februar" , "15.2." , "am 15.2." , "februar 15" ] , examples (datetime (2013, 8, 8, 0, 0, 0) Day) [ "Aug 8" ] , examples (datetime (2014, 10, 0, 0, 0, 0) Month) [ "Oktober 2014" ] , examples (datetime (1974, 10, 31, 0, 0, 0) Day) [ "31.10.1974" , "31.10.74" ] , examples (datetime (2015, 4, 14, 0, 0, 0) Day) [ "14 april 2015" , "April 14, 2015" , "14te April 15" ] , examples (datetime (2013, 2, 19, 0, 0, 0) Day) [ "nächsten dienstag" ] , examples (datetime (2013, 2, 22, 0, 0, 0) Day) [ "übernächsten freitag" ] , examples (datetime (2013, 3, 0, 0, 0, 0) Month) [ "nächsten märz" ] , examples (datetime (2014, 3, 0, 0, 0, 0) Month) [ "übernächsten märz" ] , examples (datetime (2013, 2, 10, 0, 0, 0) Day) [ "Sonntag, Feb 10" ] , examples (datetime (2013, 2, 13, 0, 0, 0) Day) [ "Mittwoch, Feb 13" ] , examples (datetime (2013, 2, 18, 0, 0, 0) Day) [ "Montag, Feb 18" ] , examples (datetime (2013, 2, 11, 0, 0, 0) Week) [ "diese woche" , "kommende woche" ] , examples (datetime (2013, 2, 4, 0, 0, 0) Week) [ "letzte woche" ] , examples (datetime (2013, 2, 18, 0, 0, 0) Week) [ "nächste woche" ] , examples (datetime (2013, 1, 0, 0, 0, 0) Month) [ "letzten monat" ] , examples (datetime (2013, 3, 0, 0, 0, 0) Month) [ "nächsten monat" ] , examples (datetime (2013, 1, 1, 0, 0, 0) Quarter) [ "dieses quartal" ] , examples (datetime (2013, 4, 1, 0, 0, 0) Quarter) [ "nächstes quartal" ] , examples (datetime (2013, 7, 1, 0, 0, 0) Quarter) [ "drittes quartal" ] , examples (datetime (2018, 10, 1, 0, 0, 0) Quarter) [ "4tes quartal 2018" ] , examples (datetime (2012, 0, 0, 0, 0, 0) Year) [ "letztes jahr" ] , examples (datetime (2013, 0, 0, 0, 0, 0) Year) [ "dieses jahr" ] , examples (datetime (2014, 0, 0, 0, 0, 0) Year) [ "nächstes jahr" ] , examples (datetime (2013, 2, 10, 0, 0, 0) Day) [ "letzten sonntag" , "sonntag der letzten woche" , "sonntag letzte woche" ] , examples (datetime (2013, 2, 5, 0, 0, 0) Day) [ "letzten dienstag" ] , examples (datetime (2013, 2, 19, 0, 0, 0) Day) [ "nächsten dienstag" ] , examples (datetime (2013, 2, 13, 0, 0, 0) Day) [ "nächsten mittwoch" ] , examples (datetime (2013, 2, 20, 0, 0, 0) Day) [ "mittwoch der nächsten woche" , "mittwoch nächste woche" , "mittwoch nach dem nächsten" ] , examples (datetime (2013, 2, 22, 0, 0, 0) Day) [ "freitag nach dem nächsten" ] , examples (datetime (2013, 2, 11, 0, 0, 0) Day) [ "montag dieser woche" ] , examples (datetime (2013, 2, 12, 0, 0, 0) Day) [ "dienstag dieser woche" ] , examples (datetime (2013, 2, 13, 0, 0, 0) Day) [ "mittwoch dieser woche" ] , examples (datetime (2013, 2, 14, 0, 0, 0) Day) [ "übermorgen" ] , examples (datetime (2013, 2, 10, 0, 0, 0) Day) [ "vorgestern" ] , examples (datetime (2013, 3, 25, 0, 0, 0) Day) [ "letzter montag im märz" ] , examples (datetime (2014, 3, 30, 0, 0, 0) Day) [ "letzter sonntag im märz 2014" ] , examples (datetime (2013, 10, 3, 0, 0, 0) Day) [ "dritter tag im oktober" ] , examples (datetime (2014, 10, 6, 0, 0, 0) Week) [ "erste woche im oktober 2014" ] , examples (datetime (2015, 10, 31, 0, 0, 0) Day) [ "letzter tag im oktober 2015" ] , examples (datetime (2014, 9, 22, 0, 0, 0) Week) [ "letzte woche im september 2014" ] , examples (datetime (2013, 10, 1, 0, 0, 0) Day) [ "erster dienstag im oktober" ] , examples (datetime (2014, 9, 16, 0, 0, 0) Day) [ "dritter dienstag im september 2014" ] , examples (datetime (2014, 10, 1, 0, 0, 0) Day) [ "erster mittwoch im oktober 2014" ] , examples (datetime (2014, 10, 8, 0, 0, 0) Day) [ "zweiter mittwoch im oktober 2014" ] , examples (datetime (2015, 1, 13, 0, 0, 0) Day) [ "dritter dienstag nach weihnachten 2014" ] , examples (datetime (2013, 2, 12, 4, 0, 0) Hour) [ "um 4 in der früh" ] , examples (datetime (2013, 2, 12, 15, 0, 0) Hour) [ "um 3" , "3 uhr" , "um drei" ] , examples (datetime (2013, 2, 12, 3, 18, 0) Minute) [ "3:18 früh" ] , examples (datetime (2013, 2, 13, 3, 18, 0) Minute) [ "3:18" ] , examples (datetime (2013, 2, 12, 15, 0, 0) Hour) [ "um 3 am nachmittag" , "um 15" , "um 15 uhr" , "15 uhr" ] , examples (datetime (2013, 2, 12, 15, 0, 0) Hour) [ "zirka 15 uhr" , "zirka 3 uhr am nachmittag" , "um ungefähr 15 uhr" ] , examples (datetime (2013, 2, 13, 17, 0, 0) Hour) [ "pünktlich um 17 uhr morgen" ] , examples (datetime (2013, 2, 12, 15, 15, 0) Minute) [ "um viertel nach 3" , "viertel nach drei Uhr" , "3 uhr 15 am nachmittag" , "15:15" ] , examples (datetime (2013, 2, 12, 15, 20, 0) Minute) [ "um 20 nach 3" , "15:20 am nachmittag" , "15 uhr 20 nachmittags" , "zwanzig nach 3" , "15:20" ] , examples (datetime (2013, 2, 12, 15, 30, 0) Minute) [ "um halb 4" ] , examples (datetime (2013, 2, 12, 15, 30, 0) Minute) [ "halb vier uhr nachmittags" , "halb vier am nachmittag" , "15:30" ] , examples (datetime (2013, 2, 13, 3, 30, 0) Minute) [ "3:30" ] , examples (datetime (2013, 2, 12, 11, 45, 0) Minute) [ "viertel vor 12" , "11:45" ] , examples (datetime (2013, 2, 12, 11, 45, 0) Second) [ "15 minuten vor 12" ] , examples (datetime (2013, 2, 12, 20, 0, 0) Hour) [ "8 uhr am abend" , "heute abend um 20 Uhr" ] , examples (datetime (2013, 2, 12, 20, 0, 0) Minute) [ "heute um 20:00" ] , examples (datetime (2013, 9, 20, 19, 30, 0) Minute) [ "um 19:30 am fr, 20. Sept." ] , examples (datetime (2013, 2, 16, 9, 0, 0) Hour) [ "am samstag um 9 Uhr" ] , examples (datetime (2014, 7, 18, 19, 0, 0) Hour) [ "Fr, 18. Juli 2014 7 uhr abends" ] , examples (datetime (2013, 2, 12, 4, 30, 1) Second) [ "in einer sekunde" ] , examples (datetime (2013, 2, 12, 4, 31, 0) Second) [ "in einer minute" ] , examples (datetime (2013, 2, 12, 4, 32, 0) Second) [ "in 2 minuten" ] , examples (datetime (2013, 2, 12, 5, 30, 0) Second) [ "in 60 minuten" ] , examples (datetime (2013, 2, 12, 5, 0, 0) Second) [ "in einer halben stunde" , "in 30 minuten" ] , examples (datetime (2013, 2, 12, 7, 0, 0) Second) [ "in 2.5 stunden" , "in zwei ein halb stunden" ] , examples (datetime (2013, 2, 12, 5, 30, 0) Minute) [ "in einer stunde" ] , examples (datetime (2013, 2, 12, 6, 30, 0) Minute) [ "in zwei stunden" ] , examples (datetime (2013, 2, 12, 6, 30, 0) Minute) [ "in ein paar stunden" ] , examples (datetime (2013, 2, 13, 4, 30, 0) Minute) [ "in 24 stunden" ] , examples (datetime (2013, 2, 13, 0, 0, 0) Day) [ "morgen" ] , examples (datetime (2016, 2, 0, 0, 0, 0) Month) [ "in 3 Jahren" ] , examples (datetime (2013, 2, 19, 4, 0, 0) Hour) [ "in 7 tagen" ] , examples (datetime (2013, 2, 19, 0, 0, 0) Day) [ "in 1 woche" , "in einer woche" ] , examples (datetime (2013, 2, 12, 5, 0, 0) Second) [ "in zirka einer halben stunde" ] , examples (datetime (2013, 2, 5, 4, 0, 0) Hour) [ "vor 7 tagen" ] , examples (datetime (2013, 1, 29, 4, 0, 0) Hour) [ "vor 14 tagen" ] , examples (datetime (2013, 1, 29, 0, 0, 0) Day) [ "vor zwei wochen" ] , examples (datetime (2013, 2, 5, 0, 0, 0) Day) [ "vor einer woche" ] , examples (datetime (2013, 1, 22, 0, 0, 0) Day) [ "vor drei wochen" ] , examples (datetime (2012, 11, 12, 0, 0, 0) Day) [ "vor drei monaten" ] , examples (datetime (2011, 2, 0, 0, 0, 0) Month) [ "vor zwei jahren" ] , examples (datetime (2013, 2, 19, 4, 0, 0) Hour) [ "in 7 tagen" ] , examples (datetime (2013, 12, 0, 0, 0, 0) Month) [ "ein jahr nach weihnachten" ] , examples (datetimeInterval ((2013, 6, 21, 0, 0, 0), (2013, 9, 24, 0, 0, 0)) Day) [ "diesen sommer" ] , examples (datetimeInterval ((2012, 12, 21, 0, 0, 0), (2013, 3, 21, 0, 0, 0)) Day) [ "diesen winter" ] , examples (datetime (2013, 12, 25, 0, 0, 0) Day) [ "Weihnachten" , "Weihnachtstag" ] , examples (datetime (2013, 12, 31, 0, 0, 0) Day) [ "Silvester" ] , examples (datetime (2014, 1, 1, 0, 0, 0) Day) [ "Neujahrstag" , "Neujahr" ] , examples (datetime (2013, 2, 14, 0, 0, 0) Day) [ "Valentinstag" ] , examples (datetime (2013, 5, 12, 0, 0, 0) Day) [ "Muttertag" ] , examples (datetime (2013, 6, 16, 0, 0, 0) Day) [ "Vatertag" ] , examples (datetime (2013, 10, 3, 0, 0, 0) Day) [ "Tag der Deutschen Einheit" , "3. Oktober" ] , examples (datetime (2013, 10, 31, 0, 0, 0) Day) [ "Halloween" ] , examples (datetime (2013, 11, 1, 0, 0, 0) Day) [ "Allerheiligen" ] , examples (datetime (2013, 12, 6, 0, 0, 0) Day) [ "Nikolaus" , "Nikolaustag" ] , examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 13, 0, 0, 0)) Hour) [ "heute abend" , "am abend" ] , examples (datetimeInterval ((2013, 2, 13, 18, 0, 0), (2013, 2, 14, 0, 0, 0)) Hour) [ "morgen abend" ] , examples (datetimeInterval ((2013, 2, 13, 12, 0, 0), (2013, 2, 13, 14, 0, 0)) Hour) [ "morgen mittag" , "morgen zu mittag" ] , examples (datetimeInterval ((2013, 2, 11, 18, 0, 0), (2013, 2, 12, 0, 0, 0)) Hour) [ "gestern abend" ] , examples (datetimeInterval ((2013, 2, 15, 18, 0, 0), (2013, 2, 18, 0, 0, 0)) Hour) [ "dieses wochenende" ] , examples (datetimeInterval ((2013, 2, 18, 3, 0, 0), (2013, 2, 18, 12, 0, 0)) Hour) [ "montag morgens" ] , examples (datetimeInterval ((2013, 2, 15, 3, 0, 0), (2013, 2, 15, 12, 0, 0)) Hour) [ "morgens am 15. februar" , "15. februar morgens" , "am morgen des 15. februar" ] , examples (datetimeInterval ((2013, 2, 12, 4, 29, 58), (2013, 2, 12, 4, 30, 0)) Second) [ "letzte 2 sekunden" , "letzten zwei sekunden" ] , examples (datetimeInterval ((2013, 2, 12, 4, 30, 1), (2013, 2, 12, 4, 30, 4)) Second) [ "nächste 3 sekunden" , "nächsten drei sekunden" ] , examples (datetimeInterval ((2013, 2, 12, 4, 28, 0), (2013, 2, 12, 4, 30, 0)) Minute) [ "letzte 2 minuten" , "letzten zwei minuten" ] , examples (datetimeInterval ((2013, 2, 12, 4, 31, 0), (2013, 2, 12, 4, 34, 0)) Minute) [ "nächste 3 minuten" , "nächsten drei minuten" ] , examples (datetimeInterval ((2013, 2, 12, 5, 0, 0), (2013, 2, 12, 8, 0, 0)) Hour) [ "nächste 3 stunden" , "nächsten drei stunden" ] , examples (datetimeInterval ((2013, 2, 10, 0, 0, 0), (2013, 2, 12, 0, 0, 0)) Day) [ "letzte 2 tage" , "letzten zwei tage" , "vergangenen zwei tage" ] , examples (datetimeInterval ((2013, 2, 13, 0, 0, 0), (2013, 2, 16, 0, 0, 0)) Day) [ "nächsten 3 tagen" , "nächsten drei tage" , "kommenden drei tagen" ] , examples (datetimeInterval ((2013, 2, 13, 0, 0, 0), (2013, 2, 15, 0, 0, 0)) Day) [ "nächsten paar tagen" , "kommenden paar tagen" ] , examples (datetimeInterval ((2013, 1, 28, 0, 0, 0), (2013, 2, 11, 0, 0, 0)) Week) [ "letzten 2 wochen" , "letzte zwei wochen" , "vergangenen 2 wochen" ] , examples (datetimeInterval ((2013, 2, 18, 0, 0, 0), (2013, 3, 11, 0, 0, 0)) Week) [ "nächsten 3 wochen" , "nächste drei wochen" , "kommenden drei wochen" ] , examples (datetimeInterval ((2012, 12, 0, 0, 0, 0), (2013, 2, 0, 0, 0, 0)) Month) [ "letzten 2 monaten" , "letzte zwei monate" , "vergangenen zwei monaten" ] , examples (datetimeInterval ((2013, 3, 0, 0, 0, 0), (2013, 6, 0, 0, 0, 0)) Month) [ "nächsten 3 monaten" , "nächste drei monate" , "kommenden drei monaten" ] , examples (datetimeInterval ((2011, 0, 0, 0, 0, 0), (2013, 0, 0, 0, 0, 0)) Year) [ "letzten 2 jahren" , "letzten zwei jahre" , "vergangenen zwei jahren" ] , examples (datetimeInterval ((2014, 0, 0, 0, 0, 0), (2017, 0, 0, 0, 0, 0)) Year) [ "nächsten 3 jahren" , "kommenden drei jahren" , "nächste drei jahre" ] , examples (datetimeInterval ((2013, 7, 13, 0, 0, 0), (2013, 7, 16, 0, 0, 0)) Day) [ "13. - 15. Juli" , "13ter bis 15ter Juli" , "13 bis 15 Juli" , "13 - 15 Juli" , "Juli 13 - Juli 15" ] , examples (datetimeInterval ((2013, 8, 8, 0, 0, 0), (2013, 8, 13, 0, 0, 0)) Day) [ "Aug 8 - Aug 12" ] , 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) [ "am Donnerstag von 9:30 - 11:00" , "am Donnerstag zwischen 9:30 und 11:00" , "Donnerstag 9:30 - 11:00" , "am Donnerstag nach 9:30 aber vor 11:00" , "Donnerstag von 9:30 bis 11:00" ] , examples (datetimeInterval ((2013, 2, 14, 9, 0, 0), (2013, 2, 14, 12, 0, 0)) Hour) [ "Donnerstag Vormittag von 9 bis 11" ] , examples (datetimeInterval ((2013, 2, 12, 11, 30, 0), (2013, 2, 12, 13, 31, 0)) Minute) [ "11:30-13:30" ] , examples (datetime (2013, 9, 21, 1, 30, 0) Minute) [ "1:30 am Sa, 21. Sept" ] , examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 26, 0, 0, 0)) Second) [ "binnen 2 wochen" , "innerhalb von 2 wochen" ] , examples (datetimeOpenInterval Before (2013, 2, 12, 14, 0, 0) Hour) [ "bis 2 Uhr nachmittag" ] , examples (datetimeOpenInterval Before (2013, 2, 13, 0, 0, 0) Hour) [ "bis zum ende des tages" ] , examples (datetimeOpenInterval Before (2013, 3, 1, 0, 0, 0) Month) [ "bis zum ende des monats" ] , examples (datetime (2013, 2, 12, 13, 0, 0) Minute) [ "16 Uhr CET" ] , examples (datetime (2013, 2, 14, 6, 0, 0) Minute) [ "donnerstag 8:00 GMT" ] , examples (datetime (2013, 2, 12, 14, 0, 0) Hour) [ "heute um 14 Uhr" , "um 2" ] , examples (datetime (2013, 2, 13, 15, 0, 0) Hour) [ "morgen um 15 Uhr" ] , examples (datetimeOpenInterval After (2013, 2, 12, 14, 0, 0) Hour) [ "nach 14 Uhr" , "nach 14h" , "nach 2 Uhr" ] , examples (datetimeOpenInterval Before (2013, 2, 12, 11, 0, 0) Hour) [ "bis 11 uhr" , "bis 11h vormittags" , "bis 11 am vormittag" ] , examples (datetimeInterval ((2013, 2, 12, 12, 0, 0), (2013, 2, 12, 19, 0, 0)) Hour) [ "am nachmittag" ] , examples (datetime (2013, 2, 12, 13, 30, 0) Minute) [ "um 13:30 am nachmittag" , "nachmittags um 1 uhr 30" , "13:30" ] , examples (datetime (2013, 2, 12, 4, 45, 0) Second) [ "in 15 minuten" ] , examples (datetimeInterval ((2013, 2, 12, 13, 0, 0), (2013, 2, 12, 17, 0, 0)) Hour) [ "nach dem mittagessen" ] , examples (datetime (2013, 2, 12, 10, 30, 0) Minute) [ "10:30" ] , examples (datetime (2013, 2, 18, 0, 0, 0) Day) [ "nächsten montag" , "kommenden montag" ] , examples (datetime (2013, 12, 10, 0, 0, 0) Day) [ "10.12." ] , examples (datetimeInterval ((2013, 2, 12, 18, 30, 0), (2013, 2, 12, 19, 1, 0)) Minute) [ "18:30h - 19:00h" ] ]