Overview of the IBM Watson Natural Language Understanding service

With Natural Language Understanding, developers can analyze semantic features of text input, including - categories, concepts, emotion, entities, keywords, metadata, relations, semantic roles, and sentiment.

Service features

Send API requests to the Analyze endpoint using text, HTML, or a public URL, and specify one or more of the following features:

Categories

Categorize your content using a five-level classification hierarchy. View the complete list of categories here. For example:

Input

url: "www.cnn.com"

Response

/news
/art and entertainment
/movies and tv/television
/news
/international news

Concepts

Identify high-level concepts that aren't necessarily directly referenced in the text. For example:

Input

text: "Natural Language Understanding uses natural language processing to analyze text."

Response

Linguistics
Natural language processing
Natural language understanding

Emotion

Analyze emotion conveyed by specific target phrases or by the document as a whole. You can also enable emotion analysis for entities and keywords that are automatically detected by the service. For example:

Input

text: "I love apples, but I hate oranges."
targets: "apples", and "oranges"

Response

"apples": joy
"oranges": anger

Entities

Find people, places, events, and other types of entities mentioned in your content. View the complete list of entity types and subtypes here. For example:

Input

text: "IBM is an American multinational technology company headquartered in Armonk, New York, United States, with operations in over 170 countries."

Response

IBM: Company
Armonk: Location
New York: Location
United States: Location

Keywords

Search your content for relevant keywords. For example:

Input

url: "http://www-03.ibm.com/press/us/en/pressrelease/51493.wss"

Response

Australian Open
Tennis Australia
IBM SlamTracker analytics

Metadata

For HTML and URL input, get the author of the webpage, the page title, and the publication date. For example:

Input

url: "https://www.ibm.com/blogs/think/2017/01/cognitive-grid/"

Response

Author: Stephen Callahan
Title: Girding the Grid with Cognitive Computing - THINK Blog
Publication date: January 31, 2017

Relations

Recognize when two entities are related, and identify the type of relation. For example:

Input

text: "The Nobel Prize in Physics 1921 was awarded to Albert Einstein."

Response

"awardedTo" relation between "Noble Prize in Physics" and "Albert Einstein"
"timeOf" relation between "1921" and "awarded"

Semantic Roles

Parse sentences into subject-action-object form, and identify entities and keywords that are subjects or objects of an action. For example:

Input

text: "In 2011, Watson competed on Jeopardy!"

Response

Subject: Watson
Action: competed
Object: on Jeopardy

Sentiment

Analyze the sentiment toward specific target phrases and the sentiment of the document as a whole. You can also get sentiment information for detected entities and keywords by enabling the sentiment option for those features. For example:

Input

text: "Thank you and have a nice day!"

Response

Positive sentiment (score: 0.91)

Supported languages

This table shows the supported languages for each feature.

Sentiment Semantic Roles Relations* Metadata Keywords Entities* Emotion Concepts Categories
Arabic X X X X***
English X X X X X X X X X
French X X** X X X X***
German X X** X X X
Italian X X** X X X X***
Japanese X
Portuguese X X** X X X X***
Russian X X X X
Spanish X X X X X X X X***
Swedish X X X

*You can build Watson Knowledge Studio custom models for entities and relations in English, French, German, Italian, Portuguese, and Spanish. You can use some of these languages in Natural Language Understanding or you can customize the models.

**These languages are only supported through custom models in Watson Knowledge Studio.

***These languages are supported in the public service, but not in Bluemix Dedicated.

Natural Language Understanding automatically detects the language of your source text by default. You can override automatic language detection if you want to specify the language manually.

Pricing

For pricing information, see the Natural Language Understanding service in Bluemix.

Next steps