Duckling/Time/JA/Corpus.hs (590 lines of code) (raw):
-- 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.JA.Corpus
( corpus
, negativeCorpus
) where
import Data.String
import Prelude
import Duckling.Locale
import Duckling.Resolve
import Duckling.Time.Corpus
import Duckling.Time.Types hiding (Month, refTime)
import Duckling.TimeGrain.Types hiding (add)
import Duckling.Testing.Types hiding (examples)
corpus :: Corpus
corpus = (testContext {locale = makeLocale JA Nothing}, testOptions, allExamples)
negativeCorpus :: NegativeCorpus
negativeCorpus = (testContext {locale = makeLocale JA Nothing}, testOptions, examples)
where
examples =
[ "三三時分"
, "月"
, "火"
, "かよう"
]
allExamples :: [Example]
allExamples = concat
[ examples (datetime (2013, 2, 12, 15, 20, 0) Minute)
[ "15:20"
, "15時20分"
, "3:20 pm"
, "3:20PM"
, "午後3:20"
, "午後3時20分"
, "午後三時二十分"
, "15時20分に"
, "15時20分で"
, "15時20分の"
]
, examples (datetime (2013, 2, 13, 3, 20, 0) Minute)
[ "3:20 am"
, "3:20AM"
, "午前3:20"
, "午前3時20分"
, "午前三時二十分"
]
, examples (datetime (2013, 2, 12, 15, 0, 0) Hour)
[ "15時ちょうど"
, "15時きっかり"
, "15時ぴったり"
, "午後3時ちょうど"
, "午後3時きっかり"
, "午後3時ぴったり"
]
, examples (datetime (2013, 3, 25, 0, 0, 0) Day)
[ "3月25日"
, "3/25"
, "03/25に"
, "2013年3月25日に"
]
, examples (datetime (2021, 8, 6, 0, 0, 0) Day)
[ "2021年8月6日に"
, "令和3年8月6日に"
]
, examples (datetime (2021, 3, 25, 0, 0, 0) Day)
[ "2021年三月25日に"
, "2021年3月25日に"
, "2021/03/25に"
, "2021/03/25で"
, "2021/3/25に"
, "2021.03.25に"
, "2021/3/25に"
]
-- on Tuesday
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
[ "火曜日に"
, "火曜に"
, "(火)に"
, "(火)に"
, "かようびに"
, "かように"
, "火曜日は"
, "火曜日で"
]
-- on the 25th
, examples (datetime (2013, 2, 25, 0, 0, 0) Day)
[ "25日に"
, "25日は"
, "25日で"
]
-- in June
, examples (datetime (2013, 6, 1, 0, 0, 0) Month)
[ "6月に"
, "6がつに"
, "6月中に"
, "6月の間に"
, "6月は"
, "6月で"
, "六月に"
, "ろくがつに"
]
-- in 2020
, examples (datetime (2020, 1, 1, 0, 0, 0) Year)
[ "2020年に"
, "2020年は"
, "2020年で"
, "令和2年に"
, "令和2年は"
, "令和2年で"
]
-- in 2018
, examples (datetime (2018, 1, 1, 0, 0, 0) Year)
[ "平成30年に"
]
-- in 1912 = gannen Taisho
, examples (datetime (1912, 1, 1, 0, 0, 0) Year)
[ "大正元年に"
]
-- in March 2020
, examples (datetime (2021, 3, 1, 0, 0, 0) Month)
[ "2021年3月に"
, "2021年三月に"
, "2021/03に"
, "2021/3に"
, "2021.03に"
, "2021.3に"
]
-- in 2 months
, examples (datetime (2013, 4, 12, 0, 0, 0) Day)
[ "2ヶ月で"
]
-- after 25/03/2021
, examples (datetimeOpenInterval After (2021, 3, 25, 0, 0, 0) Day)
[ "2021/03/25以降"
, "2021/3/25以降に"
, "2021.03.25~"
, "2021/03/25より後"
, "2021.3.25から"
]
-- before 25/03/2021
, examples (datetimeOpenInterval Before (2021, 3, 25, 0, 0, 0) Day)
[ "2021/03/25まで"
, "2021/03/25より前"
, "2021/03/25以前"
]
-- until June 2020
, examples (datetimeOpenInterval Before (2020, 6, 1, 0, 0, 0) Day)
[ "2020年6月1日までに"
]
-- until June 2020
, examples (datetimeOpenInterval Before (2020, 6, 1, 0, 0, 0) Month)
[ "2020年6月よりも前"
, "2020年6月以前"
]
-- until June
, examples (datetimeOpenInterval Before (2013, 6, 1, 0, 0, 0) Month)
[ "6月よりも前"
, "6月より前"
, "6月以前"
]
-- until June 1
, examples (datetimeOpenInterval Before (2013, 6, 1, 0, 0, 0) Day)
[ "6月1日までに"
]
-- until 2020
, examples (datetimeOpenInterval Before (2020, 1, 1, 0, 0, 0) Year)
[ "2020年よりも前"
, "2020年より前"
, "2020年以前"
]
, examples (datetimeInterval ((2021, 3, 25, 0, 0, 0), (2021, 3, 31, 0, 0, 0)) Day)
[ "2021/03/25から2021/03/30まで"
, "2021/03/25以降2021/03/30以前"
, "2021/03/25以降2021/03/30まで"
, "2021/03/25より2021/03/30まで"
, "2021/03/25~2021/03/30"
, "2021/03/25~03/30"
]
-- from 2020
, examples (datetimeOpenInterval After (2020, 1, 1, 0, 0, 0) Year)
[ "2020年以降"
, "2020年以来"
, "2020年より後"
, "2020年よりも後"
]
-- from June 2020
, examples (datetimeOpenInterval After (2020, 6, 1, 0, 0, 0) Month)
[ "2020年6月以降"
, "2020年6月初め以降"
, "2020年6月から"
, "2020年6月~"
]
-- from June to July 2020
, examples (datetimeInterval ((2020, 6, 1, 0, 0, 0), (2020, 8, 1, 0, 0, 0)) Month)
[ "2020年6月から7月まで"
, "2020年6月~7月"
, "2020年6月以降7月いっぱい"
, "2020年6月頭から7月末まで"
, "2020年6月初めから7月いっぱい"
, "2020年6月以降7月にかけて"
]
-- from June 2020 to July 2021
, examples (datetimeInterval ((2020, 6, 1, 0, 0, 0), (2021, 8, 1, 0, 0, 0)) Month)
[ "2020年6月から2021年7月まで"
, "2020年6月~2021年7月"
, "2020年6月から2021年7月にかけて"
, "2020年6月以降2021年7月いっぱい"
, "2020年6月頭から2021年7月末まで"
, "2020年6月初めから2021年7月いっぱい"
, "2020年6月以降2021年7月にかけて"
]
-- from June
, examples (datetimeOpenInterval After (2013, 6, 1, 0, 0, 0) Month)
[ "6月以降"
, "6月以来"
, "6月より後"
, "6月よりも後"
, "6月から"
]
-- from June to July
, examples (datetimeInterval ((2013, 6, 1, 0, 0, 0), (2013, 8, 1, 0, 0, 0)) Month)
[ "6月から7月まで"
, "6月~7月"
, "6月から7月にかけて"
, "6月初めから7月末まで"
, "6月頭から7月いっぱい"
]
-- from 2020 to 2021
, examples (datetimeInterval ((2020, 1, 1, 0, 0, 0), (2022, 1, 1, 0, 0, 0)) Year)
[ "2020年から2021年まで"
, "2020年から2021年にかけて"
, "2020年から2021年"
, "2020年~2021年"
, "2020年・2021年"
, "2020年、2021年"
, "2020から2021年"
, "2020~2021年"
, "2020・2021年"
, "2020、2021年"
, "2020年から2021年の間"
]
-- ruleDaysOfWeek
, examples (datetime (2013, 2, 18, 0, 0, 0) Day)
[ "月に"
, "月曜"
, "月曜日"
, "げつようび"
]
, examples (datetime (2013, 2, 19, 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, 15, 0, 0, 0) Day)
[ "(金)に"
, "金曜"
, "金曜日"
, "きんようび"
]
, examples (datetime (2013, 2, 16, 0, 0, 0) Day)
[ "土に"
, "土曜"
, "土曜日"
, "どようび"
]
, examples (datetime (2013, 2, 17, 0, 0, 0) Day)
[ "日に"
, "日曜"
, "日曜日"
, "にちようび"
]
-- ruleMonths
, examples (datetime (2014, 1, 1, 0, 0, 0) Month)
[ "1月"
, "一月"
, "1月"
, "いちがつ"
]
, examples (datetime (2013, 2, 1, 0, 0, 0) Month)
[ "2月"
, "二月"
, "2月"
, "にがつ"
]
, examples (datetime (2013, 3, 1, 0, 0, 0) Month)
[ "3月"
, "3月"
, "三月"
, "さんがつ"
, "3月に"
, "三月は"
, "三月の間に"
, "三月中に"
]
, examples (datetime (2013, 4, 1, 0, 0, 0) Month)
[ "4月"
, "四月"
, "4月"
, "しがつ"
]
, examples (datetime (2013, 5, 1, 0, 0, 0) Month)
[ "5月"
, "五月"
, "5月"
, "ごがつ"
]
, examples (datetime (2013, 6, 1, 0, 0, 0) Month)
[ "6月"
, "六月"
, "6月"
, "ろくがつ"
]
, examples (datetime (2013, 7, 1, 0, 0, 0) Month)
[ "7月"
, "七月"
, "7月"
, "しちがつ"
]
, examples (datetime (2013, 8, 1, 0, 0, 0) Month)
[ "8月"
, "八月"
, "8月"
, "はちがつ"
]
, examples (datetime (2013, 9, 1, 0, 0, 0) Month)
[ "9月"
, "九月"
, "9月"
, "くがつ"
]
, examples (datetime (2013, 10, 1, 0, 0, 0) Month)
[ "10月"
, "十月"
, "10月"
, "じゅうがつ"
]
, examples (datetime (2013, 11, 1, 0, 0, 0) Month)
[ "11月"
, "十一月"
, "11月"
, "じゅういちがつ"
]
, examples (datetime (2013, 12, 1, 0, 0, 0) Month)
[ "12月"
, "十二月"
, "12月"
, "じゅうにがつ"
]
-- weekend
, examples (datetimeInterval ((2013, 2, 15, 18, 0, 0), (2013, 2, 18, 0, 0, 0)) Hour)
[ "週末"
, "しゅうまつ"
]
-- now
, examples (datetime (2013, 2, 12, 4, 30, 0) Second)
[ "即"
, "いま"
, "今すぐ"
, "ただいま"
, "ただちに"
]
-- today
, examples (datetime (2013, 2, 12, 0, 0, 0) Day)
[ "今日"
, "きょう"
, "本日"
, "ほんじつ"
]
-- tomorrow
, examples (datetime (2013, 2, 13, 0, 0, 0) Day)
[ "明日"
, "あした"
, "あす"
, "みょうにち"
]
-- yesterday
, examples (datetime (2013, 2, 11, 0, 0, 0) Day)
[ "昨日"
, "きのう"
, "さくじつ"
, "前日"
]
-- this hour
, examples (datetime (2013, 2, 12, 4, 0, 0) Hour)
[ "この1時間"
, "当1時間"
, "現1時間"
, "今1時間"
]
-- last one hour
, examples (datetimeInterval ((2013, 2, 12, 3, 0, 0), (2013, 2, 12, 4, 0, 0)) Hour)
[ "過去1時間"
]
-- current day
, examples (datetime (2013, 2, 12, 0, 0, 0) Day)
[ "今日"
, "本日"
, "きょう"
, "ほんじつ"
, "今日1日"
, "この1日"
]
-- current/this week
, examples (datetime (2013, 2, 11, 0, 0, 0) Week)
[ "今週"
, "当週"
, "この週"
, "現在の週"
, "こんしゅう"
, "この1週間"
]
-- current/this month
, examples (datetime (2013, 2, 1, 0, 0, 0) Month)
[ "今月"
, "当月"
, "こんげつ"
, "このひと月"
]
-- "this one month"
, examples (datetimeInterval ((2013, 1, 12, 0, 0, 0), (2013, 2, 12, 4, 30, 1)) Second)
[ "この1ヶ月"
]
-- "this two months"
, examples (datetimeInterval ((2012, 12, 12, 0, 0, 0), (2013, 2, 12, 4, 30, 1)) Second)
[ "この2ヶ月"
]
-- current/this quarter
, examples (datetime (2013, 1, 1, 0, 0, 0) Quarter)
[ "今四半期"
, "今QTR"
, "当四半期"
, "当QTR"
, "現四半期"
, "本四半期"
, "現行四半期"
, "現在の四半期"
, "今の四半期"
]
-- current/this year
, examples (datetime (2013, 1, 1, 0, 0, 0) Year)
[ "今年"
, "本年"
, "当年"
]
-- "this two years"
, examples (datetimeInterval ((2011, 2, 1, 0, 0, 0), (2013, 2, 12, 4, 30, 1)) Second)
[ "この2年"
, "この二年"
]
-- last second
, examples (datetime (2013, 2, 12, 4, 29, 59) Second)
[ "直近1秒間"
, "直近の1秒間"
, "直近の1秒"
, "直近1秒"
, "前の1秒"
, "前の1秒間"
, "前秒"
, "昨秒"
, "最後の1秒"
, "最後の1秒間"
]
-- last minute
, examples (datetime (2013, 2, 12, 4, 29, 0) Minute)
[ "直近1分間"
, "直近の1分間"
, "直近の1分"
, "直近1分"
, "前の1分"
, "前の1分間"
, "前分"
, "昨分"
, "最後の1分"
, "最後の1分間"
]
-- last hour
, examples (datetime (2013, 2, 12, 3, 0, 0) Hour)
[ "直近1時間"
, "直近の1時間"
, "直近1時間"
, "前1時間"
, "前の1時間"
, "最後の1時間"
]
-- last week
, examples (datetime (2013, 2, 4, 0, 0, 0) Week)
[ "先週"
, "せんしゅう"
, "先の週"
, "前週"
, "前の週"
, "昨週"
]
-- last month
, examples (datetime (2013, 1, 1, 0, 0, 0) Month)
[ "先月"
, "前月"
, "前の月"
, "昨月"
]
-- last quarter
, examples (datetime (2012, 10, 1, 0, 0, 0) Quarter)
[ "前四半期"
, "前の四半期"
, "先四半期"
, "先QTR"
, "先の四半期"
, "昨四半期"
]
-- last year
, examples (datetime (2012, 1, 1, 0, 0, 0) Year)
[ "去年"
, "昨年"
, "前年"
, "前の年"
, "先年"
, "先の年"
]
-- last 7 days
, examples (datetimeInterval ((2013, 2, 5, 0, 0, 0), (2013, 2, 12, 0, 0, 0)) Day)
[ "過去7日間"
, "直在7日間"
]
-- in the last 7 days
, examples (datetimeInterval ((2013, 2, 5, 4, 0, 0), (2013, 2, 12, 4, 30, 1)) Second)
[ "この7日間"
]
-- August 19th last year
, examples (datetime (2012, 8, 19, 0, 0, 0) Day)
[ "去年8月19日"
]
-- in two minutes
, examples (datetime (2013, 2, 12, 4, 32, 0) Second)
[ "2分後"
, "2分で"
, "2分間で"
, "2分経ったら"
, "2分経ってから"
, "2分経過後に"
, "2分経過してから"
, "2分経過したら"
, "2分過ぎに"
, "2分過ぎたら"
]
-- in two months
, examples (datetime (2013, 4, 12, 0, 0, 0) Day)
[ "2ヶ月後"
, "2ヶ月で"
, "2ヶ月間で"
, "2ヶ月経ったら"
, "2ヶ月経ってから"
, "2ヶ月経過後に"
, "2ヶ月経過してから"
, "2ヶ月経過したら"
, "2ヶ月過ぎに"
, "2ヶ月過ぎたら"
]
-- next week
, examples (datetime (2013, 2, 18, 0, 0, 0) Week)
[ "来週"
, "らいしゅう"
]
-- a week after next
, examples (datetime (2013, 2, 25, 0, 0, 0) Week)
[ "再来週"
, "さらいしゅう"
]
-- in one week
, examples (datetime (2013, 2, 19, 0, 0, 0) Day)
[ "一週間後"
, "1週間後"
]
]