It’s been an incredible year for MindMeld since open-sourcing the platform in 2019, and we’re witnessing a tremendous period of growth for conversational interfaces. We’re excited to announce the release of MindMeld 4.3, which includes many new and innovative conversational features.
As more teams and partners inside and outside of Cisco have adopted MindMeld and developed their conversational use cases, we’ve gathered feedback and ideas to incorporate into the platform.
We’ll highlight a few of the major updates here — for the complete and updated documentation and API references, visit our documentation site.
1. Deep embedders for question answering
Over the past few years, there’s been a tremendous amount of development on deep learning-based semantic embedders. Previously, MindMeld’s question answerer relied purely on text-based information retrieval. Deep learning-based dense embeddings (character, word, or sentence) are, in many cases, better at capturing semantic information than traditional sparse vectors. Pretrained or fine-tuned embeddings can find the best match in the knowledge base, even if the search token isn’t present in the uploaded data.
To leverage semantic embeddings, you can update your question answering config to include only the embedder or a combination of embedding and text signals for search. You can use one of the provided embedders (sentence transformers based on BERT, RoBERTa, DistilBERT, or GloVe word vectors), or use your own. If your application mainly deals with standard English vocabulary, one of the provided embedders will likely work well, but if the text you are searching against has quite a bit of domain-specific vocabulary, you may benefit from training or fine-tuning your own embedder on your data.
For more information, check out our guide on working with the knowledge base and question answerer.
2. Custom actions in dialogue manager
MindMeld 4.3 introduces custom actions, which allow MindMeld developers to further separate their business logic from the conversational application. This paradigm shift helps reduce the barriers to build and deploy conversational applications.
Suppose a team building a MindMeld application wants to integrate it with the rest of their microservices. Their microservices may be written in Java, and the developers would want to reuse as much logic as possible. Because the MindMeld application is in Python while the rest of the services are in Java, it’s more desirable to keep a thin Python microservice for NLU while keeping as much business logic in Java as possible.
With MindMeld 4.3, developers can use custom actions to shift the responsibility of fulfilling business logic to services outside of MindMeld applications, and these services can be implemented in any language. The developers can specify the exact conditions, such as matching a certain domain or intent, to execute the custom actions. The MindMeld application will interact with the custom action server through HTTP requests.
For more information, check out our guide on working with custom actions.
3. Automatic slot-filling for entities
Slot-filling and information fulfillment are major components of many conversational interfaces. For example, if we’re building a food ordering application, we want to know what meals the customer wants to order and how they want them prepared. MindMeld 4.3 provides useful functionality for automatically prompting the user for missing entities or slots required to fulfill an intent, with minimal code on the developer side.
This is done by applying the @app.auto_fill decorator to any dialogue state handler that requires entities to be obtained before applying the functionality defined within. The functionality can also be invoked by a direct call to the feature at any point inside the handler. Developers can define their custom responses and user input validation schemes, or rely completely on the built-in validation methods.
For more information on using automatic slot-filling, check out our guide on working with the dialogue manager.
4. New blueprint for banking applications
MindMeld 4.3 introduces a brand new blueprint application. This blueprint implements an intelligent assistant that provides support for clients of a commercial bank. Users could use it to securely access their banking information and complete tasks as if they’re talking with a teller. They would be able to check balances, pay off credit card debt, transfer money, and carry out various other banking operations they may perform daily.
One of the benefits of MindMeld is the ability to have complete control over your data. This blueprint showcases how enterprises like banks with strict data policies can build useful and secure conversational interfaces.
For more information, check out our guide on the banking blueprint.
5. Configuring language and locale for your application
In MindMeld 4.3, you can configure your application with the desired language and locale to correctly resolve system entities like time and use the appropriate timestamp for a holiday.
For more information on configuring language and locale, check out our guide on internationalization.