Search code examples
nlpopennlp

How to implement BOT engine like WIT.AI for on an on-premise solution?


I want to build a chatbot for a customer service application. I tried SaaS services like Wit.Ai, Motion.Ai, Api.Ai, LUIS.ai etc. These cognitive services find the "intent" and "entities" when trained with the typical interactions model.

I need to build chatbot for on-premise solution, without using any of these SaaS services.

e.g Typical conversation would be as following -

    Can you book me a ticket?
    Is my ticket booked?
    What is the status of my booking BK02?
    I want to cancel the booking BK02.
    Book the tickets

StandFord NLP toolkit looks promising but there are licensing constraints. Hence I started experimenting with the OpenNLP. I assume, there are two OpenNLP tasks involved -

  1. Use 'Document Categorizer' to find out the intent
  2. Use 'Named Entity Recognition' to find out entities

Once the context is identified, I will call my application APIS to build the response.

  • Is it a right approach?
  • How good OpenNLP is in parsing the text?
  • Can I use Facebook FASTTEXT library for Intent identification?
  • Is there any other open source library which can be helpful in building the BOT?
  • Will "SyntaxNet" be useful for my adventure?

I prefer to do this in Java. BUT open to node or python solution too.

PS - I am new to NLP.


Solution

  • Have a look at this. It says it is an Open-source language understanding for bots and a drop-in replacement for popular NLP tools like wit.ai, api.ai or LUIS

    https://rasa.ai/