Named Entity Recognition

Hello World,

Azure is puling up the curtains on another preview feature in Cognitive Services Text Analytics API – Named Entity Recognition

What it is?

You give the API free text and it will identify entities like people, locations, dates, numbers and more and bring the location,type and link to the information. very helpful and a big addition to the already existing features of the service

Text Analytics already can do:

  • Detect language
  • Analyze sentiment
  • Extract key phrases
  • Named Entity Recognition

In other words its a sort of LUIS but the intents are pre trained with types and sub types (in a table in the end of the article there is an example for the types that can be extracted.

Lior is working with Microsofts Cognitive Service every day from 9am

{
   "Documents": [   {
      "Id": "1",
      "Entities":       [
                  {
            "Name": "Lior",
            "Matches": [            {
               "Text": "Lior",
               "Offset": 0,
               "Length": 4
            }],
            "Type": "Person"
         },
                  {
            "Name": "Microsoft",
            "Matches": [            {
               "Text": "Microsoft's",
               "Offset": 21,
               "Length": 11
            }],
            "WikipediaLanguage": "en",
            "WikipediaId": "Microsoft",
            "WikipediaUrl": "https://en.wikipedia.org/wiki/Microsoft",
            "BingId": "a093e9b9-90f5-a3d5-c4b8-5855e1b01f85"
         },
                  {
            "Name": "Artificial intelligence",
            "Matches": [            {
               "Text": "AI",
               "Offset": 33,
               "Length": 2
            }],
            "WikipediaLanguage": "en",
            "WikipediaId": "Artificial intelligence",
            "WikipediaUrl": "https://en.wikipedia.org/wiki/Artificial_intelligence",
            "BingId": "9d99fb44-edac-0e03-1579-19d8d8591a49"
         },
                  {
            "Name": "every day",
            "Matches": [            {
               "Text": "every day",
               "Offset": 36,
               "Length": 9
            }],
            "Type": "DateTime",
            "SubType": "Set"
         },
                  {
            "Name": "9am",
            "Matches": [            {
               "Text": "9am",
               "Offset": 51,
               "Length": 3
            }],
            "Type": "DateTime",
            "SubType": "Time"
         }
      ]
   }],
   "Errors": []
}

What do we get?

First detect that Lior is a Person – ☑ checked

Find Microsoft and mark it as an organization and give me the wiki about the company- ☑ checked

Finds the work AI trying to bring some information about that –  ☑ checked

Extract date and time and identity it in the text – Very cool – ☑ checked

Conclusion:

Text Analytics is making progress and now include more features that help analyze any kind of text even in other languages 

Cool

Supported Types for Named Entity Recognition:

Type SubType Example
Person N/A* "Jeff", "Ashish Makadia"
Location N/A* "Redmond, Washington", "Paris"
Organization N/A* "Microsoft"
Quantity Number "6", "six"
Quantity Percentage "50%", "fifty percent"
Quantity Ordinal "2nd", "second"
Quantity NumberRange "4 to 8"
Quantity Age "90 days old", "30 years old"
Quantity Currency "$10.99"
Quantity Dimension "10 miles", "40 cm"
Quantity Temperature "32 degrees"
DateTime N/A* "6:30PM February 4, 2012"
DateTime Date "May 2nd, 2017", "05/02/2017"
DateTime Time "8am", "8:00"
DateTime DateRange "May 2nd to May 5th"
DateTime TimeRange "6pm to 7pm"
DateTime Duration "1 minute and 45 seconds"
DateTime Set "every Tuesday"
DateTime TimeZone “UTC-7”, “CST”
URL N/A* "http://www.bing.com"
Email N/A* "support@microsoft.com"

Add a Comment

Your email address will not be published. Required fields are marked *