Watson has evolved from its origins as a Jeopardy contestant into a collection of business solutions and public APIs. The presentation discussed Watson Developer Cloud and the Natural Language Classifier API. The Natural Language Classifier allows developers to build classifiers from labeled training data to categorize text. It was recommended to have sufficient and accurately labeled training examples. Sample applications included question answering systems and those with large datasets or a need for human communication.
2. Disclaimer
● I am not an IBM employee but I am currently consulting with them
3. Agenda
● Overview of Watson Technology
● Watson Developer Cloud
● Using the Natural Language Classifier
● Watson Applicable Apps
4. Watson History
● Then: Watson was a Jeopardy contestant
○ Watson started off as a collection of NLP systems which could play Jeopardy
○ Details have been published: http://researcher.watson.ibm.
com/researcher/view_group_pubs.php?grp=2099
● Now: Watson is a collection of business solutions and public APIs
○ Jeopardy system has been decomposed into capabilities
○ Additionally complementary capabilities have been added
○ Capabilities include Language, Speech, Vision, and Data Insights
5. Watson Components
● Watson Engagement Advisor (WEA) - A technology service that interacts with customers,
listens to questions and offers solutions. Engagement Advisor learns with every human
interaction and grows its collection of knowledge, quickly adapting to the way humans think.
● Watson Explorer (WEX) - A technology platform that accesses and analyzes structured and
unstructured content. Explorer presents data, analytics and cognitive insights in a single view.
Explorer gives you the information you’re looking for while uncovering trends, patterns and
relationships.
● Watson Discovery Advisor (WDA) - Whether augmenting creativity in the kitchen, developing
novel medical treatments, or helping law enforcement, Watson Discovery Advisor accelerates
the discovery process, infusing innovation and novel insights into everyone’s activities.
● Watson Developer Cloud (WDC) - The Watson Developer Cloud is a library of Watson APIs
that you can use to create Powered by Watson apps.
7. Consume Watson Through Bluemix
● Watson is made available as a collection of microservices on Bluemix
8. Consume Watson Through Bluemix
● Run Your Apps: The developer can chose any
language runtime or bring their own. Just upload your
code and go
● APIs and Services: A catalog of open source, IBM and
third party APIs services allow a developer to stitch
together an application in minutes
● DevOps: Development, monitoring, deployment and
logging tools allow the developer to run the entire
application
● Flexible Pricing: Pay as you go and subscription
models offer choice and flexibility
9. Consume Watson Through Bluemix
● Watson is made available as a collection of microservices on Bluemix
11. What is a Classifier?
● A classifier solves the problem of determining which category a new item
belongs to provided a labeled training set of categorized items
● Classifiers are a type of supervised learning
12. Natural Language Classifier
● A defined topology which is optimized for the type of NLC use cases
● Roughly based on a Convolutional Neural Network
● Training process includes randomness therefore the same training data will
result in similar but not necessarily identical classifiers
14. Creating a NLC
1. Prepare your training data
○ Sample Data
2. Create your Bluemix NLC instance
3. Create and train your classifier
○ NLC API Reference
4. Wait for training to be complete
5. Call the classifier with input text
15. Creating a NLC Ready App
● Communicate with the classifier directly using REST APIs or using a SDK
○ Sample Application
// if bluemix credentials exists, then override local
var credentials = extend({
version: 'v1',
url : '<url>',
username : '<username>',
password : '<password>',
}, bluemix.getServiceCreds('natural_language_classifier'));
// Create the service wrapper
var nlClassifier = watson.natural_language_classifier(credentials);
Create the Classifier Connection Query the Classifier
nlClassifier.classify({
text: 'TEXT TO CLASSIFY',
classifier_id: 'YOUR CLASSIFIER ID' },
function(err, response) {
if (err) {
console.log('error:', err);
} else {
// Do something with response;
}
});
16. NLC Tips
1. Data Coverage: Have enough training samples for each category
2. Category Accuracy: Ensure tagged examples truly represent their category
3. Feedback Loop: Add more samples for incorrect classifications
Additional NLC tips can be found in its documentation
18. Watson Applicable Apps
1. Apps that have access to a lot of data: Any scenario where you already
have a lot of data. Watson is data hungry!
2. Apps which need to communicate natively to humans
3. Apps with a lot of domain expertise
Example: Watson Health
19. Q/A Design Pattern
Build a Question Answering System:
Dialog - automate branching conversations between a user and your
application
Natural Language Classifier - interprets the intent behind text and
returns a corresponding classification with associated confidence levels
Retrieve and Rank - find the most relevant information for their query by
using a combination of search and machine learning algorithms to detect
"signals" in the data
20. Summary
● Watson has evolved to offer a set of Cognitive components which
developers can pick and choose the capabilities they need
● The Natural Language Classifier service allows developers to classify text
strings they have not seen before using on a training dataset
● Watson is great for applications which have a lot of data available or need
to natively communicate with their users