Skip to content

Issue with recognizing bare multiplier words like "hundred dollars" #3208

@BegBedion

Description

@BegBedion

Describe the bug
Microsoft.Recognizers.Text (v1.8.2) does not recognize bare multiplier words like "hundred dollars", "thousand euros" — only "a hundred dollars" or "one hundred dollars" work. Confirmed unfixed through v1.8.13.

Bare multiplier words like "hundred", "thousand", "million" are not recognized as numbers. Only prefixed forms work: "one hundred", "a hundred", "1 hundred". This affects all NumberWithUnit models (Currency, Age, Temperature, etc.) since they depend on the Number extractor. For example, "hundred dollars" is not recognized as $100

To Reproduce
Steps to reproduce the behavior:

  • See Description

Expected behavior
A clear and concise description of what you expected to happen.

"hundred dollars" -> $100

Platform (please complete the following information):

  • Platform: .NET
  • Environment: 1.8.2 - 1.8.13
  • Version of package [e.g. v1.0.8.1]

Additional context
AllIntRegex in English-Numbers.yaml requires a coefficient before RoundNumberIntegerRegex. The pattern structure is: ({coefficient})({RoundNumberIntegerRegex})+ where {coefficient} is mandatory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions