Blog DeepPavlov

Announcing DeepPavlov Library 0.14.0 release

Products Updates Community Tutorials
Merry Christmas!!!

We are happy to share our last release in 2020, v0.14.0! 
Back in September 2020 we promised to begin releasing components of our Alexa Prize 3 DREAM Socialbot. While we’ve shipped some of them as examples since that time, this is a special release for us as one of those components, Intent Catcher, is now a part of our DeepPavlov Library!

In addition to it, we’ve also added basic support for Form-Filling in our Go-Bot Framework, alongside with the tutorial.

Finally, we’ve published our free, open-source Multiskill AI Assistant called Deepy, and we encourage you to read the post to learn more how to integrate some of the DeepPavlov components in your own Multiskill AI assistants!

Library

New Features


Intent Catcher

Intent Catcher is an NLP component used for intent detection in the Conversational AI systems. It was originally designed for the high-level intent detection as part of the DREAM Socialbot that was built by DeepPavlov team for Alexa Prize 3.

It consists of an embedder, which is a Transformer model, and a number of dense layers, that are fitted upon provided embeddings. The current provided embeddings are: Universal Sentence Encoder 1, and it’s larger version. 

While there are already different intent classifiers, Intent Catcher was designed to support Alexa Prize 3 needs. What makes Alexa Prize needs different from the needs of the typical business chatbots?

Alexa Prize socialbots are expected to react to a wide number of user intents in the open domain. The team needed to have a simple and fast way to add more intents, and add a relatively small number of examples for each new intent. Using regular expressions alone wouldn’t be useful. But they could be used for up-sampling.

With this idea of up-sampling, we’ve designed and built our Intent Catcher

At the additional cost of requiring basic knowledge of Regular Expressions, you are now able to provide a smaller number of examples in RegEx format to enable up-sampling. In addition to that, you can also use RegEx directly for specific pattern matching. Finally, you can also add checks for the punctuation as a useful way to distinguish statements from questions and the like.

Note: In one of the upcoming releases we will showcase how you can integrate Intent Catcher together with our Go-Bot Framework to further cut time spent on preparing training sets for goal-oriented skills. Stay tuned!

Docs:

Form Filling in Go-Bot

In the previous release of the DeepPavlov Library, we’ve shipped an updated version of Go-Bot which enabled you, for the first time, to use only selected RASA DSLs to train your Go-Bot-based goal-oriented skill.

In this release, we’ve added support for basic Form-Filling as part of Go-Bot, to enable you to use form-filling in your Go-Bot-based goal-oriented skills.

Docs:

Support of all Transformer-based models from Hugging 🤗 Face transformers

In the previous release we added support for training DeepPavlov models with datasets made with HF format. Today we’re adding support of all Transformer-based models from HF which are working with the DeepPavlov classification pipeline. HF Transformers provides thousands of pretrained models in 100+ languages and its aim is to make cutting-edge NLP easier to use for everyone. We are happy to make them available to you within the DeepPavlov Library tooling.

Improvements


Componentization of KBQA, Entity Linking, and Wikidata Parser

These components were originally developed as a monolithic component collectively called KBQA, but in this new version they are decoupled from each other, making them available as semi-independent components. This is extremely handy when you want Wikidata Parser or Entity Linking to be available as standalone parts of the larger Multiskill AI Assistant deployment. This update will also facilitate development of the Knowledge Graph-driven skills for DeepPavlov Dream.

  • Wikidata Parser — it enables working with either online Wikidata APIs, or downloading and working with offline Wikidata Knowledge Graph. In the nutshell, it provides a SPARQL endpoint, as well as the mechanism for downloading Wikidata as an HDT archive, and then either working with it from the disk drive, or (available in the future releases) by uploading it into the RAM, 
  • Entity Linking — while it was already available as a standalone model as of our 0.12 release, its new version is now available as a standalone component, and can run inside the same larger Multiskill AI Assistant deployment,
  • KBQA — this component will now work with both Wikidata Parser and Entity Linking as part of the same larger Multiskill AI Assistant deployment.

Docs: 

Dream & Deepy


New Features

Back in September 2020, we announced DeepPavlov Dream as both a Multiskill AI Assistant Demo, and a promise to share a set of its skills and example configs for Multiskill AI Assistants built using the said Demo.

While we worked on open sourcing the entire Dream Demo in its fullness, a happy coincidence happened: DeepPavlov’s DREAM team 2 was selected to participate in Alexa Prize 4

With that announcement, and given the strict rules of the challenge, we’ve had to change our strategy with open sourcing Dream. In the beginning of December 2020, we made three new major steps towards this goal:

  1. We had to put down Dream AI Assistant Demo for the entire duration of Alexa Prize Grand Socialbot Challenge 4 ☹
  2. We deployed Deepy 3000, our smaller multiskill AI Assistant originally designed after Gerty 3000 from the Moon Movie, to our Demo website 😊
  3. We jump started a new repository for Dream/Deepy at https://github.com/deepmipt/deepy with 3 distributions including the one running on our Demo website! 😍

Build Your Own Multiskill AI Assistant with DeepPavlov Deepy!
You can clone the repository, pick your distribution (see the assistant_dists directory), use our Go-Bot to build your goal-oriented skills, and build your own Multiskill AI Assistant with DeepPavlov Conversational AI technology stack!

Available Distributions:
  • deepy_base — basic Deepy distribution comprising of two skills (simple goal-oriented and chit-chat skills, Emotion Classification and Spell Checking Annotators),
  • deepy_gobot_base — Go-Bot-based Deepy distribution comprising of two skills (Go-Bot-based goal-oriented and chit-chat skills, Emotion Classification and Spell Checking Annotators),
  • deepy_adv — more advanced Deepy distribution which, in addition to deepy_gobot_base components also includes a few more annotators including Entity Linking, Intent Catcher, and Sentence Segmentation).

Overview:

Deepy on the Web:

Docs:





We encourage you to begin building your Conversational AI systems with our DeepPavlov Library on Github and DeepPavlov Deepy on GitHub, and let us know what you think! Feel free to test our BERT-based models by using our demo. And keep in mind that we have a dedicated forum, where any questions concerning the framework and the models are welcome.

Follow @deeppavlov on Twitter.