This is part of a series of “Bot Making Tools Assessment” findings from the ‘How To Build A Bot With The Right Kind Of Tools‘ article.
Checkout the rest of the series by following these links:
- Chatbot Building Platforms
- Facebook Chat API
- Microsoft Bot Builder SDK
- Synthetic Intelligence Markup Language with OSCOVA (this article)
OSCOVA is part of Syn Bot Development Framework developed by Synthetic Intelligence Network. This development company has been around for a while and their core business is built around providing intelligent automation of selected workflow using pure Artificial Intelligence.
My experience with OSCOVA was initially through a use case where the bot is used for Data Visualization based on excel sheet data (completely offline). Check out the sample project here .
What I find interesting about the framework was it is .NET compatible and uses a markup language to build the bot intelligence (SIML). Since I have spent quite a bit of time with Microsoft Bot Framework and LUIS earlier, it easy to understand how everything ties in when crafting the bot’s intelligence model.
If you have read the other three approaches of bot building (Chatbot Building Platforms, Facebook Messenger Platform API & Microsoft Bot Framework), you may notice that most of the “Artificial Intelligence” (AI) magic is done via cloud hosted services, and they have made available trained models to cater for common use cases. It is also noted that English remains the dominant language for AI at the moment, with other languages gradually being added overtime by these platforms.
From my point of view, OSCOVA addresses the question – “What about uncommon use cases?”:
- Bot brain that is based on certain language / domain terminology / specialized glossary?
- Running experimental modals based on special rules / scenarios.
- Devices with no / limited internet connectivity (e.g. on-premise security devices, mobile phones).
- Learning how bot intelligence models can be crafted, for educational & research purposes.
- Separately test the bot’s intelligence without worrying which channel the bot be hosted in.
- When ownership of the bot intelligence modal is a top priority in the project or business.
- Applying clear separation of concerns on the bot intelligence model.
Note that the developer still needs to spend time developing the actual interface for the end user to key in requests. This could be a mobile or web application, or even Internet Of Things or speech recognition devices. Connecting to a messaging channel would require additional technical knowledge of the connecting APIs and managing token issuance & API maintenance as well.
- If you already have a .NET application and want to add some “intelligence” without the “strings” (online connectivity to cloud services), OSCOVA is a viable option because it has a relatively straight-forward API and decoupling of bot logic and business logic.
- If you are feeling adventurous and want to learn something more advanced, and having ultimate control over how your bot should be thinking, then yes, OSCOVA provides implementation flexibility on the AI level.
A few caveats:
- Looking up relevant resources via Google search may lead you to samples written for SIML 1.0. Do note that OSCOVA uses SIML 2.0 (also known as SIML Modern) which is a different specification and elements.
- SimlBot and OSCOVABot are two different libraries, with OSCOVA being the newer component with architectural difference (hence working with the newer SIML specification) & improved performance. The developer may choose to actually use both to bridge any gaps in terms of features, but do take special care of memory utilization of your application especially on devices with limited memory.
- Community Edition is Free (has core engine features and for personal projects). It’s a great option to go for to try stuff out.
- Developer & Enterprise Licensing is available for full developer support via Email. You may want to consider this option for large scale projects.