The web is home to massive amounts of data, with more being created every day. Organizations can harness this constant stream of information to gain understanding, plan strategies, and find opportunities. Enriched news data can help your application make dynamic connections across current events faster. In this exercise, you'll start with the basics and build your own news mining web application using JavaScript, Node.js, and the Watson Discovery service. In this exercise:
- Code is written in Node.js, with the server-side using the Express framework and the client using ReactJS.
- You'll use the pre-built Watson Discovery News collection
- You'll access the Watson Discovery service through the Watson Discovery API
Optionally, you can choose to:
- Host the app on the IBM Cloud
This code pattern shows you how to tap into massive data sets to mine insight. You'll build a news mining web application with the Watson Discovery service using the Watson Node.js SDK. The app demonstrates two use cases using Watson Discovery News:
- Search: Query for the most relevant new articles about a specific topic or subject. Because the news collection is pre-enriched with natural language processing, you can query not just on keywords or categories but also on concepts, sentiment, and relations to get richer search responses.
- The user interacts with the Watson Discovery News Server via the app UI.
- User input is processed and routed to the Watson Discovery News Server.
- The Watson Discovery News Server sends user requests to the Watson Discovery Service.
- The Watson Discovery Service queries the Watson News Collection.
- Watson Discovery: A cognitive search and content analytics engine for applications to identify patterns, trends, and actionable insights.
- Node.js: An asynchronous event driven JavaScript runtime, designed to build scalable applications
- React: Javascript library for building User Interfaces
- Express: A popular and minimalistic web framework for creating API and Web server
Click on one of the options below for instructions on deploying the app.
- Error deploying to IBM Cloud using the Deploy to Cloud Foundry option
If you see the following in the logs for a Deploy to IBM Cloud using Cloud Foundry in the Stage History
, click the Redeploy
button. This should get past the race condition during the deployment.
Binding service discovery-news-service to app sda-watson-discovery-news-9-4 in org scott.dangelo / space dev as scott.dangelo@ibm.com...
FAILED
Could not bind to service discovery-news-service
Error: Server error, status code: 409, error code: 60016, message: An operation for service instance discovery-news-service is in progress.
Finished: FAILED
The trending page:
The query page:
Here is a series of short videos that go into more of the details about the features of this code pattern.
- Part 1 - Navigating the UI
- Part 2 - Code walkthrough
- Part 3 - Watson Discovery service APIs
- Demo on Youtube: Watch the video.
- Watson Node.js SDK: Download the Watson Node SDK.
- Cognitive discovery architecture: Learn how this code pattern fits into the Cognitive discovery Reference Architecture.
- Overview of the Watson Discovery service: Extract value from unstructured data by converting, normalizing, enriching it.
- Three ways IBM has evolved Alchemy Data News into Watson Discovery News and made it even better: Watson Discovery News takes big steps forward in NLP-enriched news search.
- IBM launches Watson Discovery Service for big data analytics at scale: Suite of APIs makes it easier for companies to ingest and analyze their data, even if they don’t have advanced degrees in data science.
- SlideShare: Building with Watson – Network Visualizations using Watson Discovery: See an app built on the Watson Discovery Service and D3.js that helps you explore your data using a network map built on NLP metadata.
- Artificial Intelligence Code Patterns: Enjoyed this Code Pattern? Check out our other AI Code Patterns.
- AI and Data Code Pattern Playlist: Bookmark our playlist with all of our Code Pattern videos
- With Watson: Want to take your Watson app to the next level? Looking to utilize Watson Brand assets? Join the With Watson program to leverage exclusive brand, marketing, and tech resources to amplify and accelerate your Watson embedded commercial solution.
This code pattern is licensed under the Apache License, Version 2. Separate third-party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 and the Apache License, Version 2.