mirror of
https://github.com/facebook/duckling.git
synced 2024-10-27 14:26:54 +03:00
305358b2f7
Summary: `ter` also means `to have`, which is very common. `ter` is a very rare form for `Tuesday`, only used in calendar-like contexts Reviewed By: blandinw Differential Revision: D6066506 fbshipit-source-id: c8cd231
480 lines
16 KiB
Haskell
480 lines
16 KiB
Haskell
-- 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.PT.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)
|
|
|
|
corpus :: Corpus
|
|
corpus = (testContext {locale = makeLocale PT Nothing}, allExamples)
|
|
|
|
negativeCorpus :: NegativeCorpus
|
|
negativeCorpus = (testContext {locale = makeLocale PT Nothing}, examples)
|
|
where
|
|
examples =
|
|
[ "no 987"
|
|
, "um"
|
|
, "um dos"
|
|
, "um dos minutos"
|
|
, "ter"
|
|
]
|
|
|
|
allExamples :: [Example]
|
|
allExamples = concat
|
|
[ examples (datetime (2013, 2, 12, 4, 30, 0) Second)
|
|
[ "agora"
|
|
, "já"
|
|
, "ja"
|
|
, "nesse instante"
|
|
, "neste instante"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 0, 0, 0) Day)
|
|
[ "hoje"
|
|
, "nesse momento"
|
|
, "neste momento"
|
|
]
|
|
, examples (datetime (2013, 2, 11, 0, 0, 0) Day)
|
|
[ "ontem"
|
|
]
|
|
, examples (datetime (2013, 2, 10, 0, 0, 0) Day)
|
|
[ "antes de ontem"
|
|
, "anteontem"
|
|
]
|
|
, examples (datetime (2013, 2, 13, 0, 0, 0) Day)
|
|
[ "amanhã"
|
|
, "amanha"
|
|
]
|
|
, examples (datetime (2013, 2, 14, 0, 0, 0) Day)
|
|
[ "depois de amanhã"
|
|
, "depois de amanha"
|
|
]
|
|
, examples (datetime (2013, 2, 18, 0, 0, 0) Day)
|
|
[ "segunda-feira"
|
|
, "segunda feira"
|
|
, "segunda"
|
|
, "seg."
|
|
, "seg"
|
|
, "essa segunda-feira"
|
|
, "essa segunda feira"
|
|
, "essa segunda"
|
|
]
|
|
, examples (datetime (2013, 2, 18, 0, 0, 0) Day)
|
|
[ "segunda, 18 de fevereiro"
|
|
]
|
|
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
|
[ "terça-feira"
|
|
, "terça feira"
|
|
, "terça"
|
|
, "terca-feira"
|
|
, "terca feira"
|
|
, "terca"
|
|
, "ter."
|
|
]
|
|
, examples (datetime (2013, 2, 13, 0, 0, 0) Day)
|
|
[ "quarta-feira"
|
|
, "quarta feira"
|
|
, "quarta"
|
|
, "qua."
|
|
, "qua"
|
|
]
|
|
, examples (datetime (2013, 2, 14, 0, 0, 0) Day)
|
|
[ "quinta-feira"
|
|
, "quinta feira"
|
|
, "quinta"
|
|
, "qui."
|
|
, "qui"
|
|
]
|
|
, examples (datetime (2013, 2, 15, 0, 0, 0) Day)
|
|
[ "sexta-feira"
|
|
, "sexta feira"
|
|
, "sexta"
|
|
, "sex."
|
|
, "sex"
|
|
]
|
|
, examples (datetime (2013, 2, 16, 0, 0, 0) Day)
|
|
[ "sábado"
|
|
, "sabado"
|
|
, "sáb."
|
|
, "sáb"
|
|
, "sab."
|
|
, "sab"
|
|
]
|
|
, examples (datetime (2013, 2, 17, 0, 0, 0) Day)
|
|
[ "domingo"
|
|
, "dom."
|
|
, "dom"
|
|
]
|
|
, examples (datetime (2013, 5, 5, 0, 0, 0) Day)
|
|
[ "5 de maio"
|
|
, "cinco de maio"
|
|
]
|
|
, examples (datetime (2013, 5, 5, 0, 0, 0) Day)
|
|
[ "cinco de maio de 2013"
|
|
, "5 de maio de 2013"
|
|
, "5/5"
|
|
, "5/5/2013"
|
|
]
|
|
, examples (datetime (2013, 7, 4, 0, 0, 0) Day)
|
|
[ "4 de julho"
|
|
, "quatro de julho"
|
|
, "4/7"
|
|
, "4/7/2013"
|
|
]
|
|
, examples (datetime (2013, 3, 3, 0, 0, 0) Day)
|
|
[ "3 de março"
|
|
, "três de março"
|
|
, "tres de março"
|
|
, "3/3"
|
|
, "3/3/2013"
|
|
]
|
|
, examples (datetime (2013, 4, 5, 0, 0, 0) Day)
|
|
[ "5 de abril"
|
|
, "cinco de abril"
|
|
]
|
|
, examples (datetime (2013, 3, 1, 0, 0, 0) Day)
|
|
[ "1 de março"
|
|
, "primeiro de março"
|
|
, "um de março"
|
|
, "1o de março"
|
|
]
|
|
, examples (datetime (2013, 3, 1, 0, 0, 0) Day)
|
|
[ "1-3-2013"
|
|
, "1.3.2013"
|
|
, "1/3/2013"
|
|
]
|
|
, examples (datetime (2013, 2, 16, 0, 0, 0) Day)
|
|
[ "essa dia 16"
|
|
, "16 de fevereiro"
|
|
]
|
|
, examples (datetime (2013, 2, 17, 0, 0, 0) Day)
|
|
[ "este dia 17"
|
|
, "17 de fevereiro"
|
|
, "17/2"
|
|
, "no domingo"
|
|
, "no dia 17"
|
|
]
|
|
, examples (datetime (2013, 2, 20, 0, 0, 0) Day)
|
|
[ "esse dia 20"
|
|
, "20 de fevereiro"
|
|
, "20/2"
|
|
]
|
|
, examples (datetime (1974, 10, 31, 0, 0, 0) Day)
|
|
[ "31/10/1974"
|
|
, "31/10/74"
|
|
]
|
|
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
|
[ "próxima terça-feira"
|
|
, "próxima terça feira"
|
|
, "próxima terça"
|
|
, "proxima terça-feira"
|
|
, "proxima terça feira"
|
|
, "proxima terça"
|
|
]
|
|
, examples (datetime (2013, 2, 20, 0, 0, 0) Day)
|
|
[ "quarta que vem"
|
|
, "quarta da semana que vem"
|
|
, "quarta da próxima semana"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 0, 0, 0) Day)
|
|
[ "terça desta semana"
|
|
, "terça dessa semana"
|
|
, "terça agora"
|
|
]
|
|
, examples (datetime (2013, 2, 11, 0, 0, 0) Week)
|
|
[ "esta semana"
|
|
]
|
|
, examples (datetime (2013, 2, 4, 0, 0, 0) Week)
|
|
[ "semana passada"
|
|
]
|
|
, examples (datetime (2013, 2, 18, 0, 0, 0) Week)
|
|
[ "semana que vem"
|
|
, "proxima semana"
|
|
]
|
|
, examples (datetime (2013, 1, 0, 0, 0, 0) Month)
|
|
[ "mês passado"
|
|
]
|
|
, examples (datetime (2013, 3, 0, 0, 0, 0) Month)
|
|
[ "mes que vem"
|
|
, "próximo mês"
|
|
]
|
|
, examples (datetime (2012, 0, 0, 0, 0, 0) Year)
|
|
[ "ano passado"
|
|
]
|
|
, examples (datetime (2013, 0, 0, 0, 0, 0) Year)
|
|
[ "este ano"
|
|
]
|
|
, examples (datetime (2014, 0, 0, 0, 0, 0) Year)
|
|
[ "ano que vem"
|
|
, "proximo ano"
|
|
]
|
|
, examples (datetime (2013, 2, 10, 0, 0, 0) Day)
|
|
[ "domingo passado"
|
|
, "domingo da semana passada"
|
|
]
|
|
, examples (datetime (2013, 2, 5, 0, 0, 0) Day)
|
|
[ "terça passada"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 15, 0, 0) Hour)
|
|
[ "às tres da tarde"
|
|
, "às tres"
|
|
, "às 3 pm"
|
|
, "às 15 horas"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 20, 0, 0) Hour)
|
|
[ "às oito da noite"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 15, 0, 0) Minute)
|
|
[ "15:00"
|
|
, "15.00"
|
|
]
|
|
, examples (datetime (2013, 2, 13, 0, 0, 0) Hour)
|
|
[ "meianoite"
|
|
, "meia noite"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 12, 0, 0) Hour)
|
|
[ "meio dia"
|
|
, "meiodia"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 12, 15, 0) Minute)
|
|
[ "meio dia e quinze"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 11, 55, 0) Minute)
|
|
[ "5 para meio dia"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 12, 30, 0) Minute)
|
|
[ "meio dia e meia"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 6, 0, 0) Hour)
|
|
[ "as seis da manha"
|
|
, "as seis pela manha"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 15, 15, 0) Minute)
|
|
[ "às tres e quinze"
|
|
, "às tres e quinze da tarde"
|
|
, "às tres e quinze pela tarde"
|
|
, "15:15"
|
|
, "15.15"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 15, 30, 0) Minute)
|
|
[ "às tres e meia"
|
|
, "às 3 e trinta"
|
|
, "às tres e meia da tarde"
|
|
, "às 3 e trinta da tarde"
|
|
, "15:30"
|
|
, "15.30"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 11, 45, 0) Minute)
|
|
[ "quinze para meio dia"
|
|
, "quinze para o meio dia"
|
|
, "11:45"
|
|
, "as onze e quarenta e cinco"
|
|
, "hoje quinze para o meio dia"
|
|
, "hoje às onze e quarenta e cinco"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 5, 15, 0) Minute)
|
|
[ "5 e quinze"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 6, 0, 0) Hour)
|
|
[ "6 da manhã"
|
|
]
|
|
, examples (datetime (2013, 2, 13, 11, 0, 0) Hour)
|
|
[ "quarta às onze da manhã"
|
|
]
|
|
, examples (datetime (2014, 9, 12, 0, 0, 0) Day)
|
|
[ "sexta, 12 de setembro de 2014"
|
|
, "sexta feira, 12 de setembro de 2014"
|
|
, "12 de setembro de 2014, sexta"
|
|
, "12 de setembro de 2014 sexta feira"
|
|
, "sexta feira 12 de setembro de 2014"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 4, 30, 1) Second)
|
|
[ "em um segundo"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 4, 31, 0) Second)
|
|
[ "em um minuto"
|
|
, "em 1 min"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 4, 32, 0) Second)
|
|
[ "em 2 minutos"
|
|
, "em dois minutos"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 5, 30, 0) Second)
|
|
[ "em 60 minutos"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 5, 30, 0) Minute)
|
|
[ "em uma hora"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 2, 30, 0) Minute)
|
|
[ "fazem duas horas"
|
|
]
|
|
, examples (datetime (2013, 2, 13, 4, 30, 0) Minute)
|
|
[ "em 24 horas"
|
|
, "em vinte e quatro horas"
|
|
]
|
|
, examples (datetime (2013, 2, 13, 4, 0, 0) Hour)
|
|
[ "em um dia"
|
|
]
|
|
, examples (datetime (2013, 2, 19, 4, 0, 0) Hour)
|
|
[ "em 7 dias"
|
|
]
|
|
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
|
|
[ "em uma semana"
|
|
]
|
|
, examples (datetime (2013, 1, 22, 0, 0, 0) Day)
|
|
[ "faz tres semanas"
|
|
, "faz três semanas"
|
|
]
|
|
, examples (datetime (2013, 4, 12, 0, 0, 0) Day)
|
|
[ "em dois meses"
|
|
]
|
|
, examples (datetime (2012, 11, 12, 0, 0, 0) Day)
|
|
[ "faz tres meses"
|
|
]
|
|
, examples (datetime (2014, 2, 0, 0, 0, 0) Month)
|
|
[ "em um ano"
|
|
, "em 1 ano"
|
|
]
|
|
, examples (datetime (2011, 2, 0, 0, 0, 0) Month)
|
|
[ "faz dois anos"
|
|
]
|
|
, examples (datetimeInterval ((2013, 6, 21, 0, 0, 0), (2013, 9, 24, 0, 0, 0)) Day)
|
|
[ "este verão"
|
|
, "este verao"
|
|
]
|
|
, examples (datetimeInterval ((2012, 12, 21, 0, 0, 0), (2013, 3, 21, 0, 0, 0)) Day)
|
|
[ "este inverno"
|
|
]
|
|
, examples (datetime (2013, 12, 25, 0, 0, 0) Day)
|
|
[ "Natal"
|
|
]
|
|
, examples (datetime (2013, 12, 31, 0, 0, 0) Day)
|
|
[ "véspera de ano novo"
|
|
]
|
|
, examples (datetime (2014, 1, 1, 0, 0, 0) Day)
|
|
[ "ano novo"
|
|
, "reveillon"
|
|
, "Reveillon"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 12, 18, 0, 0), (2013, 2, 13, 0, 0, 0)) Hour)
|
|
[ "esta noite"
|
|
, "essa noite"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 13, 18, 0, 0), (2013, 2, 14, 0, 0, 0)) Hour)
|
|
[ "amanhã a noite"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 11, 18, 0, 0), (2013, 2, 12, 0, 0, 0)) Hour)
|
|
[ "ontem a noite"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 15, 18, 0, 0), (2013, 2, 18, 0, 0, 0)) Hour)
|
|
[ "este final de semana"
|
|
, "este fim de semana"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 18, 4, 0, 0), (2013, 2, 18, 12, 0, 0)) Hour)
|
|
[ "segunda de manhã"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 15, 4, 0, 0), (2013, 2, 15, 12, 0, 0)) Hour)
|
|
[ "dia 15 de fevereiro pela manhã"
|
|
, "dia 15 de fevereiro de manhã"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 20, 0, 0) Hour)
|
|
[ "às 8 da noite"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 12, 4, 29, 58), (2013, 2, 12, 4, 30, 0)) Second)
|
|
[ "2 segundos atras"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 1), (2013, 2, 12, 4, 30, 4)) Second)
|
|
[ "proximos 3 segundos"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 12, 4, 28, 0), (2013, 2, 12, 4, 30, 0)) Minute)
|
|
[ "2 minutos atrás"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 12, 4, 31, 0), (2013, 2, 12, 4, 34, 0)) Minute)
|
|
[ "proximos 3 minutos"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 12, 5, 0, 0), (2013, 2, 12, 8, 0, 0)) Hour)
|
|
[ "proximas 3 horas"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 10, 0, 0, 0), (2013, 2, 12, 0, 0, 0)) Day)
|
|
[ "passados 2 dias"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 13, 0, 0, 0), (2013, 2, 16, 0, 0, 0)) Day)
|
|
[ "proximos 3 dias"
|
|
]
|
|
, examples (datetimeInterval ((2013, 1, 28, 0, 0, 0), (2013, 2, 11, 0, 0, 0)) Week)
|
|
[ "duas semanas atras"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 18, 0, 0, 0), (2013, 3, 11, 0, 0, 0)) Week)
|
|
[ "3 proximas semanas"
|
|
, "3 semanas que vem"
|
|
]
|
|
, examples (datetimeInterval ((2012, 12, 0, 0, 0, 0), (2013, 2, 0, 0, 0, 0)) Month)
|
|
[ "passados 2 meses"
|
|
]
|
|
, examples (datetimeInterval ((2013, 3, 0, 0, 0, 0), (2013, 6, 0, 0, 0, 0)) Month)
|
|
[ "3 próximos meses"
|
|
, "proximos tres meses"
|
|
, "tres meses que vem"
|
|
]
|
|
, examples (datetimeInterval ((2011, 0, 0, 0, 0, 0), (2013, 0, 0, 0, 0, 0)) Year)
|
|
[ "passados 2 anos"
|
|
]
|
|
, examples (datetimeInterval ((2014, 0, 0, 0, 0, 0), (2017, 0, 0, 0, 0, 0)) Year)
|
|
[ "3 próximos anos"
|
|
, "proximo tres anos"
|
|
, "3 anos que vem"
|
|
]
|
|
, examples (datetimeInterval ((2013, 7, 13, 0, 0, 0), (2013, 7, 16, 0, 0, 0)) Day)
|
|
[ "13 a 15 de julho"
|
|
, "13 - 15 de julho de 2013"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 12, 9, 30, 0), (2013, 2, 12, 11, 0, 0)) Minute)
|
|
[ "9:30 - 11:00"
|
|
]
|
|
, examples (datetimeInterval ((2013, 12, 21, 0, 0, 0), (2014, 1, 7, 0, 0, 0)) Day)
|
|
[ "21 de Dez. a 6 de Jan"
|
|
]
|
|
, examples (datetimeInterval ((2013, 2, 12, 4, 30, 0), (2013, 2, 12, 7, 30, 0)) Second)
|
|
[ "dentro de tres horas"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 16, 0, 0) Hour)
|
|
[ "as quatro da tarde"
|
|
]
|
|
, examples (datetime (2013, 2, 12, 13, 0, 0) Minute)
|
|
[ "as quatro CET"
|
|
]
|
|
, examples (datetimeOpenInterval After (2013, 2, 12, 12, 0, 0) Hour)
|
|
[ "após ao meio dia"
|
|
, "depois do meio dia"
|
|
]
|
|
, examples (datetimeOpenInterval Before (2013, 2, 12, 12, 0, 0) Hour)
|
|
[ "antes do meio dia"
|
|
, "não mais que meio dia"
|
|
]
|
|
, examples (datetimeOpenInterval After (2013, 2, 13, 15, 0, 0) Hour)
|
|
[ "amanhã depois das 15hs"
|
|
, "amanha após as quinze horas"
|
|
]
|
|
, examples (datetimeOpenInterval Before (2013, 2, 13, 0, 0, 0) Hour)
|
|
[ "antes da meia noite"
|
|
, "até a meia noite"
|
|
]
|
|
]
|