facebook / facebook/duckling

Rules with no Spaces in numerals

Open
#415 0 comments 0 reactions 0 assignees View on GitHub
bug IT (Italian)
Dominant language
Haskell
Stars
4.3k
Forks
740
PR merge metrics
No merged PRs in 30d

Description

Hi,

the rule below works for Italian in parsing number with three digits such as `tre cento venti` (320), but fails in recognizing the same expression without spaces (`trecentoventi`) which is actually the correct one in Italian.

Could anyone points out an easy way to transform this rule, to make it working without spaces?

Thanks! 🙏

https://github.com/facebook/duckling/blob/1b36e2b8191a1c37dc316e0ebf6c7468751faac6/Duckling/Numeral/IT/Rules.hs#L286

```haskell
ruleNumerals :: Rule
ruleNumerals = Rule
{ name = "numbers 200..999"
, pattern =
[ numberBetween 2 10
, numberWith TNumeral.value (== 100)
, numberBetween 0 100
]
, prod = \tokens -> case tokens of
(Token Numeral NumeralData{TNumeral.value = v1}:
Token Numeral NumeralData{TNumeral.value = v2}:
Token Numeral NumeralData{TNumeral.value = v3}:
_) -> double $ v1 * v2 + v3
_ -> Nothing
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.