IBM/OpenWhiskChatAssistant

Name: OpenWhiskChatAssistant

Owner: International Business Machines

Description: null

Created: 2017-07-28 13:29:44.0

Updated: 2018-01-22 18:48:55.0

Pushed: 2017-12-08 08:43:44.0

Homepage: null

Size: 38625

Language: Swift

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Cognitive Chat Assistant

Description

This project demonstrates how serverless technology - powered by Apache OpenWhisk on IBM Cloud Functions - can be used as the mobile backend in an iOS Chat App, where Watson Natural Language Understanding service analysis the emotion and keywords of a dialog, and wikipedia appliances send diagnostic readings to the cloud for analysis and proactive maintenance.

The application integrates the Watson Natural Language Understanding, IBM Cloud Functions, and Wikipedia in an iOS Chat App.

You should have a basic understanding of the OpenWhisk programming model. If not, try the action, trigger, and rule demo first. You'll also need a IBM Code account and the latest OpenWhisk command line tool (wsk) installed and on your PATH.

Overview
Flow

High level diagram

  1. User sends a message by the chat App sends a message. The chat App will call an action pushmsg on IBM Cloud with the OpenWhisk iOS client.
  2. The action pushmsg running on IBM Cloud will send the message to a specific topic defined in the Message Hub with Kafka client.
  3. The chat App will call an action sequence on IBM Cloud in a proper frequency, in order to get the message sent to this user.
  4. The action sequence indeed is composed with 3 actions: pullmsg,languageanalysis and wikipediaquery. pullmsg will get the latest messages sent to a specific topic.
  5. languageanalysis will call Watson Natural Language Understanding service to get the emotion and keywords analysis result.
  6. wikipediaquery will query wikipedia and get the definitions of the keywords. All these information will be returned to the chat App to show.
Install
Test

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.