Win $20,000. Help build the future of education. Answer the call. Learn more

Technical support ticket classification using Watson Natural Language Classification


In this code pattern, we’ll build an app that classifies various consumer complaint support tickets. We’ll use the IBM Watson Natural Language Classifier service to train a model that uses a consumer complaint data set. Note that this data is free to use for non-commercial use. Otherwise, explicit permission must be obtained. The custom Natural Language Classifier model can be built quickly and easily in the web UI, deployed into a Node.js app by using the Watson Developer Cloud Node.js SDK, and then run from a browser.


Each week, consumer finance protection bureaus receive thousands of consumer complaints about financial products and services that are then sent to various companies for a response. With the large number of complaints being sent to the companies, it is difficult and impractical for the companies to go through each complaint manually and then categorize the complaint into the appropriate categories. The response time from the right team would take an estimated 15 days to get to the proper resolution. This manual approach is an inefficient way of routing the complaints.

With support ticket knowledge and examples, you can use AI tools to help you determine the nature of the support ticket content. IBM Watson Natural Language Classifier is a perfect fit to help you. By providing the training data, you give the Natural Language Classifier service all of the information that is needed to determine which support ticket belongs to which category. The convenient uploading of complaints in a CSV format in the GUI makes creating the model simple. Then, you can use Watson Developer Cloud SDKs to integrate the service into your application.

This categorization of the data helps to identify trends and problems in the marketplace to help companies do a better job of supervising companies, enforcing federal consumer financial laws, and writing rules and regulations.

After you have completed this code pattern, you’ll understand how to:

  • Build a Watson Natural Language Classifier model by using the web UI
  • Create a Node.js app that uses the Natural Language Classifier model to classify the collection of consumer complaint support ticket text into various categories
  • Use the Watson Developer Cloud SDK for Node.js



  1. Interact with the Natural Language Classifier interface to train the model.
  2. Load the consumer complaint support ticket data set to the Natural Language Classifier service for training.
  3. Upload the Excel file (using the .csv extension) with test data to have it classified.
  4. Application uses the Watson Natural Language Classifier service to classify the collection to mortgage-, banking-, loans-, or credit card-related support tickets.


Find the detailed steps for this pattern in the readme file. The steps will show you how to:

  1. Clone the GitHub repository.
  2. Create the Watson Natural Language Classifier service with IBM Cloud.
  3. Train the Natural Language Classifier model.
  4. Configure the credentials.
  5. Run the application.