Structure of Voice based query interface for database

Before I start building up the server for the application, I wanted to pen down the structure for the app. The structure is represented below.

Abbreviations:

  • WSA: Web Speech API (Speech to Text)
  • NLP: Natural Language Processing Tool (Syntaxnet or Google Cloud NLP API)
  • DIS: Database Indexed Search
  • DDI: Database Dynamic Indexing
  • DES: Database Exhaustive Search
  • NES: NoSQL Database Elastic Search
  • SFT: SQL Database Full Text Search

struct

 

Server Decisions

  • Server will be built on node js (express js) as of now. Node JS is capable of forking processes to run shell commands on the server and evoke output. A barebones express js server will allow the app to be small, quick and efficient.
  • The server needs to be a VPS with some minimum requirements to support syntaxnet if that is chosen. If we use the Google Cloud NLP API all the way, we will still need a google cloud instance.