Skip to content
Microsoft.Recognizers.Text provides recognition and resolution of numbers, units, and date/time expressed in multiple languages (CN, EN, FR, ES, PT, DE. Partial support for NL, JA, KO). Contributions are greatly welcome! Packages are available at https://www.nuget.org/profiles/Recognizers.Text and https://www.npmjs.com/~recognizers.text
C# Java Python JavaScript TypeScript HTML Other
Branch: master
Clone or download

README.md

Microsoft Recognizers Text Overview

Build Status Build Status

Microsoft.Recognizers.Text provides robust recognition and resolution of entities like numbers, units, and date/time; expressed in multiple languages. Full support for Chinese, English, French, Spanish, Portuguese, and German. Partial support for Dutch, Japanese, Korean, Italian, and Turkish. More on the way.

Utilizing the Project

Microsoft.Recognizers.Text powers pre-built entities in both LUIS: Language Understanding Intelligent Service and Microsoft Bot Framework; base entity types in Text Analytics Cognitive Service; and it is also available as standalone packages (for the base classes and the different entity recognizers).

The Microsoft.Recognizers.Text packages currently target four platforms:

Contributions are greatly welcome! Both for fixes and extensions in the currently supported languages and for expansion to new ones. Especially for Dutch, Italian, Japanese, Korean, and Turkish. More info below.

Help

If you have any questions, please go ahead and open an issue, even if it's not an actual bug. Issues are an acceptable discussion forum as well.

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Good starting points for contribution are:

  • the list of open issues (especially those marked as help wanted);
  • the json spec cases temporarily marked as NotSupported (Specs); and
  • translating json test spec cases that work in English, but don't yet exist in a target language.

The links below describe the project structure and provide both an overview and tips on how to contribute (altough some steps may have become a little out-of-date). Thank you!

Supported Entities across Cultures

The table below summarizes the currently supported entities. Support for English is usually more complete than others. The primary platform is .NET (shown in table) and support should propagate to the others.

Entity Type EN ZH-CN NL FR DE IT JA KO PT ES
Number (cardinal)
Ordinal SO
Percentage SO
Number Range PA PA PA
Unit - Age SO
Unit - Currency SP
Unit - Dimensions SP
Unit - Temperature SP
Choice - Boolean SO
Seq. - E-mail G G* G G G G G* G* G G
Seq. - GUID G G G G G G G G G G
Seq. - Social G G G G G G G G G G
Seq. - IP Address G G G G G G G G G G
Seq. - Phone Number G G G G G G G G G G
Seq. - URL G G* G G G G G* G* G G
DateTime (+subtypes) PA SP SP
Entity Type SV BG TR
Number (cardinal)
Ordinal
Percentage
Number Range SO
Unit - Age
Unit - Currency
Unit - Dimensions
Unit - Temperature
Choice - Boolean SO
Seq. - E-mail G G G
Seq. - GUID G G G
Seq. - Social G G G
Seq. - IP Address G G G
Seq. - Phone Number
Seq. - URL G G G
DateTime (+subtypes) PA
  • G: Generic entity, not language-specific (* unicode TLDs not-supported);
  • PA: Partial support;
  • SO: Specs-only;
  • SP: Partial specs;
  • SI: Very initial specs.
You can’t perform that action at this time.