Analyze product reviews and generate a shopping guide


If you’ve ever been shopping for a product and sifting through myriad reviews, you know how time-consuming it can be. You just want to know, overall, what do most people think of this item vs. that one? IBM Watson™ can help you make that final decision on your shopping cart. In this pattern, we will create a Watson Second Opinion app that asks for the link of the product you want, takes the reviews it finds, and stores them in a database. The app then analyzes the reviews with Watson Natural Language Understanding for you to reveal insights across reviews.


So, in a nutshell, what do most people think of this item vs. that one? This pattern gets you started on an app that helps you make those decisions. We will create a Node.js app that takes Amazon reviews and feeds them into the Watson Natural Language Understanding service. The reviews will be stored in a Cloudant® database. Watson NLU will deduce and summarize the overall sentiments of the reviews. The sample application will do all the review reading for you and will provide overall review insight. This pattern can be useful to developers looking into processing multiple documents with Watson NLU.

When you complete this pattern, you will understand how to:

  • Interact with Watson NLU using Watson’s Node SDK
  • Build a user interface around the result of Watson NLU
  • Deploy the app in IBM Cloud
  • Deploy and connect Cloudant to the IBM Cloud application



  1. User deploys app in IBM Cloud. User interacts with the app UI.
  2. User enters product URL, and app starts retrieving product reviews.
  3. App then stores the reviews in a Cloudant database for later use.
  4. App uploads the reviews to Watson NLU.
  5. After Watson NLU finishes processing the reviews, the app stores the result (general sentiment and top entities) in Cloudant. The user will see the result in the UI.