packages feed

duckling-0.2.0.0: Duckling/Time/RU/Corpus.hs

-- 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.RU.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 RU Nothing}

corpus :: Corpus
corpus = (context, testOptions, allExamples)

negativeCorpus :: NegativeCorpus
negativeCorpus = (context, testOptions, examples)
  where
    examples =
      [ "1 отель"
      , "1 предложение"
      , "следующие 5"
      ]

allExamples :: [Example]
allExamples = concat
  [examples (datetime (2013, 2, 12, 0, 0, 0) Day)
             [ "сегодня"
             ]
  , examples (datetime (2013, 2, 11, 0, 0, 0) Day)
             [ "вчера"
             ]
  , examples (datetime (2013, 2, 13, 0, 0, 0) Day)
             [ "завтра"
             ]
  , examples (datetime (2013, 2, 18, 0, 0, 0) Day)
             [ "понедельник"
             ]
  , examples (datetime (2013, 2, 18, 0, 0, 0) Day)
             [ "понедельник, 18 февраля"
             , "18 февраля"
             ]
  , examples (datetime (2013, 2, 19, 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, 3, 1, 0, 0, 0) Day)
             [ "1 марта"
             , "первое марта"
             , "1 мар."
             ]
  , examples (datetime (2015, 3, 3, 0, 0, 0) Day)
             [ "3 марта 2015"
             , "3 мар. 2015"
             ]
  , examples (datetime (2013, 2, 15, 0, 0, 0) Day)
             [ "15 февраля"
             , "15.2"
             , "15 Фев"
             ]
  , examples (datetime (2013, 8, 8, 0, 0, 0) Day)
             [ "8 августа"
             , "8 Авг"
             ]
  , examples (datetime (2014, 10, 0, 0, 0, 0) Month)
             [ "Октябрь 2014"
             ]
  , examples (datetime (2014, 11, 0, 0, 0, 0) Month)
             [ "Ноябрь 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 апреля 2015"
             ]
  , examples (datetime (2013, 2, 10, 0, 0, 0) Day)
             [ "Воскресенье, 10 фев."
             ]
  , examples (datetime (2013, 2, 13, 0, 0, 0) Day)
             [ "Среда, 13 февраля"
             ]
  , examples (datetime (2013, 2, 18, 0, 0, 0) Day)
             [ "Понедельник, 18 фев"
             ]
  , examples (datetimeInterval ((2013, 2, 11, 0, 0, 0), (2013, 2, 17, 0, 0, 0)) Day)
             [ "эта неделя"
             ]
  , examples (datetime (2013, 1, 0, 0, 0, 0) Month)
             [ "прошлый месяц"
             ]
  , examples (datetime (2013, 3, 0, 0, 0, 0) Month)
             [ "следующий месяц"
             ]
  , examples (datetime (2014, 0, 0, 0, 0, 0) Year)
             [ "следующий год"
             ]
  , examples (datetime (2013, 2, 5, 0, 0, 0) Day)
             [ "в прошлый вторник"
             ]
  , examples (datetime (2013, 2, 19, 0, 0, 0) Day)
             [ "следующий вторник"
             ]
  , examples (datetime (2013, 2, 12, 4, 0, 0) Hour)
             [ "в 4 утра"
             ]
  , examples (datetime (2013, 2, 12, 15, 0, 0) Hour)
             [ "в 3"
             , "3 часа"
             , "в три"
             ]
  , examples (datetime (2013, 2, 12, 3, 18, 0) Minute)
             [ "3:18 утра"
             ]
  , examples (datetime (2013, 2, 13, 3, 18, 0) Minute)
             [ "3:18"
             ]
  , examples (datetime (2013, 2, 12, 15, 0, 0) Hour)
             [ "в 3 часа дня"
             , "в 15"
             , "в 15 часов"
             , "15 часов"
             , "в 15ч"
             ]
  , examples (datetime (2013, 4, 1, 18, 0, 0) Hour)
             [ "01.04. в 18 часов"
             ]
  , examples (datetime (2013, 2, 13, 17, 0, 0) Hour)
             [ "в 17 часов завтра"
             ]
  , examples (datetime (2013, 2, 12, 15, 15, 0) Minute)
             ["15:15"
             ]
  , examples (datetime (2013, 2, 12, 20, 0, 0) Hour)
             [ "8 часов вечера"
             , "сегодня в 8 вечера"
             ]
  , examples (datetime (2013, 2, 12, 20, 0, 0) Minute)
             [ "сегодня в 20:00"
             ]
  , examples (datetime (2013, 2, 16, 9, 0, 0) Hour)
             [ "в субботу в 9 часов"
             ]
  , examples (datetime (2014, 7, 18, 19, 0, 0) Hour)
             [ "пятница, 18 июля 2014 7 часов вечера"
             ]
  , examples (datetime (2014, 7, 18, 0, 0, 0) Day)
             [ "Пт, 18 июля 2014"
             , "Пятница, 18.07.14"
             ]
  , 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 минуты"
             ]
  , examples (datetime (2013, 2, 12, 5, 30, 0) Second)
             [ "через 60 минут"
             ]
  , examples (datetime (2013, 2, 12, 5, 0, 0) Second)
             [ "через 30 минут"
             ]
  , examples (datetime (2013, 2, 12, 5, 30, 0) Minute)
             [ "через 1 час"
             ]
  , examples (datetime (2013, 2, 12, 6, 30, 0) Minute)
             [ "через два часа"
             ]
  , examples (datetime (2013, 2, 13, 4, 30, 0) Minute)
             [ "через 24 часа"
             ]
  , examples (datetime (2013, 2, 13, 0, 0, 0) Day)
             [ "завтра"
             ]
  , examples (datetime (2016, 2, 0, 0, 0, 0) Month)
             [ "через 3 года"
             ]
  , examples (datetime (2013, 2, 19, 4, 0, 0) Hour)
             [ "через 7 дней"
             ]
  , examples (datetime (2013, 2, 19, 0, 0, 0) Day)
             [ "через 1 неделю"
             ]
  , examples (datetime (2013, 2, 5, 4, 0, 0) Hour)
             [ "7 дней назад"
             ]
  , examples (datetime (2013, 1, 29, 4, 0, 0) Hour)
             [ "14 дней назад"
             ]
  , examples (datetime (2013, 1, 29, 0, 0, 0) Day)
             [ "две недели назад"
             ]
  , 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, 0, 0, 0, 0) Month)
             [ "два года назад"
             ]
  , examples (datetimeInterval ((2013, 6, 1, 0, 0, 0), (2013, 9, 1, 0, 0, 0)) Day)
             [ "лета"
             , "лето"
             ]
  , examples (datetimeInterval ((2013, 3, 1, 0, 0, 0), (2013, 6, 1, 0, 0, 0)) Day)
             [ "весна"
             ]
  , examples (datetimeInterval ((2012, 12, 1, 0, 0, 0), (2013, 3, 1, 0, 0, 0)) Day)
             [ "зима"
             ]
  , examples (datetimeHoliday (2014, 1, 7, 0, 0, 0) Day "Рождество Христово")
             [ "рождество"
             , "Рождество Христово"
             ]
  , examples (datetimeHoliday (2014, 1, 1, 0, 0, 0) Day "Новый год")
             [ "Новый год"
             ]
  , examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 13, 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, 14, 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, 12, 4, 29, 58), (2013, 2, 12, 4, 30, 0)) Second)
             [ "последние 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, 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 дня"
             , "последние два дня"
             ]
  , examples (datetimeInterval ((2013, 2, 13, 0, 0, 0), (2013, 2, 16, 0, 0, 0)) Day)
             [ "следующие 3 дня"
             , "следующие три дня"
             ]
  , 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, 0, 0, 0, 0), (2013, 2, 0, 0, 0, 0)) Month)
             [ "последние 2 месяца"
             , "последние два месяца"
             ]
  , examples (datetimeInterval ((2013, 3, 0, 0, 0, 0), (2013, 6, 0, 0, 0, 0)) Month)
             [ "следующие 3 месяца"
             , "следующие три месяца"
             ]
  , examples (datetimeInterval ((2011, 0, 0, 0, 0, 0), (2013, 0, 0, 0, 0, 0)) Year)
             [ "последние 2 года"
             , "последние два года"
             ]
  , examples (datetimeInterval ((2014, 0, 0, 0, 0, 0), (2017, 0, 0, 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 июля"
             ]
  , 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"
             ]
  , 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 ночи сб, 21 сен."
             ]
  , examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 26, 0, 0, 0)) Second)
             [ "в течение 2 недель"
             ]
  , examples (datetimeOpenInterval Before (2013, 2, 12, 14, 0, 0) Hour)
             [ "до 2 часов дня"
             ]
  , examples (datetimeOpenInterval Before (2013, 2, 13, 0, 0, 0) Hour)
             [ "до конца дня"
             ]
  , examples (datetimeOpenInterval Before (2013, 3, 1, 0, 0, 0) Month)
             [ "до конца месяца"
             ]
  , examples (datetime (2013, 2, 12, 13, 0, 0) Minute)
             [ "16:00 CET"
             ]
  , examples (datetime (2013, 2, 14, 6, 0, 0) Minute)
             [ "четверг 8:00 GMT"
             , "четверг 8:00 gmt"
             ]
  , examples (datetime (2013, 2, 12, 14, 0, 0) Hour)
             [ "сегодня в 14 часов"
             , "в 2"
             , "в 2 часа"
             ]
  , examples (datetime (2013, 2, 13, 15, 0, 0) Hour)
             [ "завтра в 15 часов"
             ]
  , examples (datetimeOpenInterval After (2013, 2, 12, 14, 0, 0) Hour)
             [ "после 14 часов"
             , "после 14ч"
             , "после 2 часов"
             ]
  , examples (datetimeOpenInterval Before (2013, 2, 12, 11, 0, 0) Hour)
             [ "до 11 часов"
             , "до 11 часов утра"
             ]
  , examples (datetimeInterval ((2013, 2, 12, 12, 0, 0), (2013, 2, 12, 19, 0, 0)) Hour)
             [ "сегодня днем"
             ]
  , examples (datetime (2013, 2, 12, 13, 30, 0) Minute)
             [ "в 13:30 дня"
             , "13:30"
             ]
  , examples (datetime (2013, 2, 12, 4, 45, 0) Second)
             [ "через 15 минут"
             ]
  , examples (datetime (2013, 2, 12, 10, 30, 0) Minute)
             [ "10:30"
             ]
  , examples (datetime (2013, 2, 18, 0, 0, 0) Day)
             [ "в следующий понедельник"
             ]
  , 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:30ч - 19:00ч"
             , "18:30ч/19:00ч"
             ]
  , examples (datetimeInterval ((2013, 10, 14, 0, 0, 0), (2013, 10, 16, 0, 0, 0)) Day)
             [ "14. - 15.10."
             , "14 - 15.10."
             , "14. - 15.10"
             , "14.10. - 15.10."
             , "14. - 15.10.2013"
             , "14./15.10."
             ]
  , examples (datetimeInterval ((2018, 10, 14, 0, 0, 0), (2018, 10, 16, 0, 0, 0)) Day)
             [ "14. - 15.10.18"
             , "14 - 15.10.18"
             , "14./15.10.2018"
             , "с 14.10. - 15.10.2018"
             , "14.10. по 15.10.2018"
             , "с 14.10. по 15.10.2018"
             ]
  , examples (datetime (2013, 10, 10, 0, 0, 0) Day)
             ["10.10.2013"
             ]
  , examples (datetime (2013, 2, 12, 10, 10, 0) Minute)
             [ "в 10.10"
             ]
  , examples (datetime (2013, 2, 12, 17, 10, 0) Minute)
             [ "17ч10"
             ]
  ]