VI: Ordinal

Summary: Ordinal for Vietnamese.

Reviewed By: niteria

Differential Revision: D4959285

fbshipit-source-id: 7212cc9
This commit is contained in:
Julien Odent 2017-04-28 07:47:01 -07:00 committed by Facebook Github Bot
parent 0370c452f1
commit 3314ddc7a4
7 changed files with 94 additions and 1 deletions

View File

@ -15,4 +15,5 @@ import Duckling.Dimensions.Types
allDimensions :: [Some Dimension]
allDimensions =
[ This Numeral
, This Ordinal
]

View File

@ -0,0 +1,31 @@
-- 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.Ordinal.VI.Corpus
( corpus ) where
import Prelude
import Data.String
import Duckling.Lang
import Duckling.Ordinal.Types
import Duckling.Resolve
import Duckling.Testing.Types
corpus :: Corpus
corpus = (testContext {lang = VI}, allExamples)
allExamples :: [Example]
allExamples = concat
[ examples (OrdinalData 1)
[ "đầu tiên"
, "thứ nhất"
, "thứ 1"
]
]

View File

@ -0,0 +1,33 @@
-- 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 GADTs #-}
{-# LANGUAGE OverloadedStrings #-}
module Duckling.Ordinal.VI.Rules
( rules ) where
import Data.String
import Prelude
import Duckling.Dimensions.Types
import Duckling.Ordinal.Helpers
import Duckling.Types
ruleOrdinals :: Rule
ruleOrdinals = Rule
{ name = "ordinals"
, pattern =
[ regex "(\x0111\x1ea7u ti\x00ean|th\x1ee9 nh\x1ea5t|th\x1ee9 1)"
]
, prod = \_ -> Just $ ordinal 1
}
rules :: [Rule]
rules =
[ ruleOrdinals
]

View File

@ -16,6 +16,7 @@ module Duckling.Rules.VI
import qualified Duckling.AmountOfMoney.VI.Rules as AmountOfMoney
import Duckling.Dimensions.Types
import qualified Duckling.Numeral.VI.Rules as Numeral
import qualified Duckling.Ordinal.VI.Rules as Ordinal
import Duckling.Types
rules :: Some Dimension -> [Rule]
@ -24,7 +25,7 @@ rules (This Duration) = []
rules (This Numeral) = Numeral.rules
rules (This Email) = []
rules (This AmountOfMoney) = AmountOfMoney.rules
rules (This Ordinal) = []
rules (This Ordinal) = Ordinal.rules
rules (This PhoneNumber) = []
rules (This Quantity) = []
rules (This RegexMatch) = []

View File

@ -321,6 +321,8 @@ library
, Duckling.Ordinal.TR.Rules
, Duckling.Ordinal.UK.Corpus
, Duckling.Ordinal.UK.Rules
, Duckling.Ordinal.VI.Corpus
, Duckling.Ordinal.VI.Rules
, Duckling.Ordinal.ZH.Corpus
, Duckling.Ordinal.ZH.Rules
, Duckling.Ordinal.Helpers
@ -607,6 +609,7 @@ test-suite duckling-test
, Duckling.Ordinal.SV.Tests
, Duckling.Ordinal.TR.Tests
, Duckling.Ordinal.UK.Tests
, Duckling.Ordinal.VI.Tests
, Duckling.Ordinal.ZH.Tests
, Duckling.Ordinal.Tests

View File

@ -34,6 +34,7 @@ import qualified Duckling.Ordinal.RU.Tests as RU
import qualified Duckling.Ordinal.SV.Tests as SV
import qualified Duckling.Ordinal.TR.Tests as TR
import qualified Duckling.Ordinal.UK.Tests as UK
import qualified Duckling.Ordinal.VI.Tests as VI
import qualified Duckling.Ordinal.ZH.Tests as ZH
tests :: TestTree
@ -60,5 +61,6 @@ tests = testGroup "Ordinal Tests"
, SV.tests
, TR.tests
, UK.tests
, VI.tests
, ZH.tests
]

View File

@ -0,0 +1,22 @@
-- 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.
module Duckling.Ordinal.VI.Tests
( tests ) where
import Data.String
import Prelude
import Test.Tasty
import Duckling.Dimensions.Types
import Duckling.Ordinal.VI.Corpus
import Duckling.Testing.Asserts
tests :: TestTree
tests = testGroup "VI Tests"
[ makeCorpusTest [This Ordinal] corpus
]