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:


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


url: "www.cnn.com"


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


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


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


Natural language processing
Natural language understanding


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:


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


"apples": joy
"oranges": anger


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:


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


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


Search your content for relevant keywords. For example:


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


Australian Open
Tennis Australia
IBM SlamTracker analytics


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


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


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


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


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


"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:


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


Subject: Watson
Action: competed
Object: on Jeopardy


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:


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


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.


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

Next steps