What is BINS?
BINS is a web service, intended as a filtering service to pre-process the text input from Chatbot/Robot users.
It has a proprietary Pattern Matching and Substitution Engine that performs the heavy lifting of sophisticated pattern matching and substitution - it works just like a RegEx engine, only more powerful and much easier to program.
It offers a Web API for programmatic access, as well as a web User Interface for registered clients to create/manage their own patterns.
Usage Scenario:
A developer is making a chatbot server. After training, the NLU engine works great in parsing user input. Once in a while, particular user expressions are encountered that the NLU engine has difficulty interpreting. He has the option of tweaking the NLU engine - which is ongoing and necessary, or sometimes he may prefer the alternative: preprocessing user input before feeding to the chatbot, to convert those pecular expressions to a more NLU readable form. BINS is a light-weight and easy-to-use web service designed exactly for this purpose.
Why or when would a developer prefer to use a preprocessor, rather than tweaking the NLU engine directly?
It turns out, there are a number of situations where it is a more convenient alternative.
There may be issues that are temporary, in which case he wants the NLU engine stay intact and yet be able accommodate the new expressions.
Or there may be something with not all but only a small fraction of the users.
Or there may be a special issue that is in conflict with existing training data, which means changing the NLU engine will negatively impact other already working cases.
A developer can utilize the BINS preprocessor exactly like a professional photographer putting a filter lens in front of his high-end photo camera. BINS will help the AI engine to understand a much big variety of human expressions -- especially those that are exceptions to the (syntatic and/or semantic) rules: there are always many different ways for humans to say the same thing, and BINS can help your AI to recognize them all.
The NLU technology a chatbot uses is NEVER perfect - by off-loading some of the work to a pre-processor like BINS, a chatbot developer can seamlessly integrate the strength of both. BINS as a text pre-processor is light-weight, flexible, yet powerful.
An NLU engine Specifically, it can perform the following actions
including dates. dates are in various format, NLU unit may not deal with each onemptied
Acronym/emoji expansion
Howdy => How are you
Morning => How are you
How does BINS work internally?
BINS works like an RegEx engine - except that it is much more powerful and much easier to use.
At its core is a proprietary Pattern Matching and Substibution Engine. It matches user input text against a set of client (e.g. a chatbot developer) specified patterns, and perform required actions (by client, e.g. a chatbot developer) when a match is discovered.
The client specified patterns are expressed in our proprietary Natural Expression pattern description language, which is intuitive, yet powerful and expressive. It does support RegEx as a subset.
The core engine and the pattern data resides in the cloud. A client (e.g. a chatbot developer) manages the pattern data through a web page, i.e. the BINS Pattern Editor.
A chatbot end user input is processed through a Web Service API.
1. Register an account & log in on the Sin In/Up page.
2. Set up/edit patterns. Here is a tutorial.
3. Manually verify or test how the patterns work - for this you need to stay logged in, and the BINS server will use a cookie to identify you.
4. Set up programmatic access - for this you need to use your QID (query id), which is generated when you sign up, and it serves as your service access password. You can easily regenerate it whenever necessary.
BINS usage is free for developers, within a daily quota of access limit (10K daily queries for now).
If you use BINS in real chatbot production deployment, a reasonable utility fee will be assessed, through mutual agreement (i.e. it'll be negotiable, not fixed yet).