  At present, bots are still in their preliminary stages of development. Many
are relatively simple, or developed ad-hoc for a very specific use-case. For
this reason, they are typically programmed manually, or utilize
machine-learning classifiers to interpret a fixed set of user utterances. In
reality, real world conversations with humans require support for dynamically
capturing users expressions. Moreover, bots will derive immeasurable value by
programming them to invoke APIs for their results. Today, within the Web and
Mobile development community, complex applications are being stringed together
with a few lines of code -- all made possible by APIs. Yet, developers today
are not as empowered to program bots in much the same way. To overcome this, we
introduce BotBase, a bot programming platform that dynamically synthesizes
natural language user expressions into API invocations. Our solution is two
faceted: Firstly, we construct an API knowledge graph to encode and evolve
APIs; secondly, leveraging the above we apply techniques in NLP, ML and Entity
Recognition to perform the required synthesis from natural language user
expressions into API calls.
