Challenge Overview

Challenge Objectives

 
  • Update frontend and backend with new app features

  • Integrate with Watson Discovery API and Natural Language Understanding API


Project Background

  • Our client, an insurance company wants us to build a system that will crawl internal and external data sources and provide search results for the relevant claims.

  • In a previous challenge, we configured Watson discovery service to crawl external data sources, built a UI for the end user to enter queries and view results, and built a backend that proxies the query requests to the discovery service.

  • In this challenge we will add new features to the application - filtering by entities/keywords/labels, uploading incident report and using Watson NLU API, and saving search templates

  • Future challenges will implement further query filtering options and add more external data sources.

 

Background

Our client has a lot of large payouts in $250k-$2.5MM where a person deciding on a claim (adjustor) makes all the decisions without oversight and governance in place. Their job consists of analyzing the policy and the claim and then manually researching current historical precedent and current trends/news around industry and litigation of these claims.

Today, their best source of research is google.com or a paid for research forum – and the adjustor has to take the initiative to perform the research vs. being pushed content.  This is a blend of structured and unstructured data (i.e. take structured claims data and then crawl over public and trusted sources to bring together research / opinion of unstructured data) to help guide the claims adjustor’s strategy of settle the claim, litigation or mediation, reinsurance, and or closing the loop of communication with underwriting about how to go to market with future policy language.

 

Technology Stack

 
  • Watson Discovery Service

  • Watson Natural Language Understanding Service

  • NodeJS

  • Angular / Angular Material

 

Code access

 

See challenge forms for access to the project codebase. Use develop branch as a starter

 

Individual requirements

 
  1. Limit display of entities/keywords/labels
    Create a dropdown selector to limit items to display in each of these categories - the current UI doesn’t restrict the number of items and clutters the screen. Available options should be 10, 15, 20, 40, All

 
  1. Allow filtering by entities/keywords/labels
    User should be able to select entities/keywords/labels and filter the results based on the selections. Note that the user can select multiple entities, keywords and labels

 
  1. Incident report upload
    Add a text area field where user could enter a complete incident report (sample available in the forums). Once uploaded, the app should use IBM Watson Natural Language Understanding api to extract entities from the text (goal here is to find out the company name from the incident report). Use company name to perform a search with NL query. Also, show the list of all entities extracted from the report (list should be a collapsible container, collapsed by default - it’s only an informational list for now)

  2. Saved search templates
    Allow the user to save current selections as search template (selected collections, entities, keywords, labels) + saved search name. Show saved searches list in the left sidebar - clicking the saved search would perform that search with saved search configuration and current search query (company name)

 

Update README file with details on how to deploy and verify the frontend/backend and Discovery service configuration. Deploy a sample app to Heroku. Unit testing is out of scope.


What To Submit

 

Submit the full source code

Submit the build/deployment documentation

Submit a short demo video



Final Submission Guidelines

See above

ELIGIBLE EVENTS:

Topcoder Open 2019

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30092320