facebook / duckling

Language, engine, and tooling for expressing, testing, and evaluating composable language rules on input strings.
Other
4.05k stars 723 forks source link

Support Ordinal intervals #598

Open chessai opened 3 years ago

chessai commented 3 years ago
> debug (makeLocale EN Nothing) "5th to 7th" [Seal Ordinal]
ordinal (digits) (5th)
-- regex (5th)
ordinal (digits) (7th)
-- regex (7th)
[Entity {dim = "ordinal", body = "5th", value = RVal Ordinal (OrdinalData {value = 5}), start = 0, end = 3, latent = False, enode = Node {nodeRange = Range 0 3, token = Token Ordinal (OrdinalData {value = 5}), children = [Node {nodeRange = Range 0 3, token = Token RegexMatch (GroupMatch ["5","th"]), children = [], rule = Nothing}], rule = Just "ordinal (digits)"}},Entity {dim = "ordinal", body = "7th", value = RVal Ordinal (OrdinalData {value = 7}), start = 7, end = 10, latent = False, enode = Node {nodeRange = Range 7 10, token = Token Ordinal (OrdinalData {value = 7}), children = [Node {nodeRange = Range 7 10, token = Token RegexMatch (GroupMatch ["7","th"]), children = [], rule = Nothing}], rule = Just "ordinal (digits)"}}]

shouldn't return two separate ordinals, but rather an interval