Join DeepPavlov Contributor Program

Darya Moroz
Sep 3, 2020 · 5 min read

Today, we are excited to invite you to join us in our adventure. Not just because contributing to open source is a valuable learning experience and an excellent opportunity to grow your portfolio. We invite you because by contributing to Open Source projects, you will personally help to move our field’s progress forward faster and better. Your personal contribution into moving the frontier’s line is important and worthy of attention.

At DeepPavlov.ai, we are facing challenges in the NLP and Conversational AI field on an everyday basis, as we build and ship components for development of natural language understanding machines.

If you are an ML/NLP engineer, and share our inner passion to push boundaries of Conversational AI, or simply want to make NLP/NLU tools easier to use by the wider community, we welcome you to join our Open Source Community.

Getting To Know The DeepPavlov’s Family

DeepPavlov has three core projects:

  • DP Library is an open-source framework that provides developers with a declarative approach to define ML pipelines to solve a large variety of NLP problems. With DP Library, one can use either existing pre-trained models, or train their own variations of those models in a very short amount of time.

With the wide variety of individual components that make our projects, there are many opportunities to leave your mark in the field of Conversational AI.

How Can You Contribute To DeepPavlov Projects?

This is a central question, and it very much begins with you and what you want to achieve. No matter how you contribute, your contribution will matter.

I Want To Contribute New Code

We know this feeling. You look at a new shiny platform, you see (inevitably) missing pieces, and you feel the urge to get them done. In closed-source products all you can dream of is to focus their busy product managers’ attention to build those pieces. In Open Source projects, you can build those pieces together. They still have to go through the internal scrutiny of how and where a new piece fits into the entire platform, and then through testing and code review. It’s a real chance to push the project forward, and have your work shipped in the new release.

I Want To Improve Existing Code

That’s more than familiar, too. You work with the platform, you see that something can be improved. This might be a dataset reader, more params in the REST API, and you can’t stop from thinking of doing that. Or, you look into the source code and see a crazy little bug that bugs you out. Well, you are at your destination. Come on in here, we welcome you and your contributions!

Couple of Success Stories To Inspire You

Automatic Dataset Generation Tool

Go-Bot is a framework for building simple goal-oriented bots in DeepPavlov. Originally it supported training only with the DSTC2 Schema format. While it is quite rich and powerful, converting your data into DSTC-2 Schema might be a challenging task. Fortunately, one of our Open Source community members, Eugene, stepped in and built his own DSTC2-compliant dataset generation tool. After internal analysis and code review, we’ve been happy to release it as a part of our v0.11 release!

Top N Answers In ODQA Model

ODQA (open-domain question-answering) is one of the most popular components of DeepPavlov. It allows the computer to find answers directly in the raw text. However, initially you could only use this model to get the best answer from the candidates found . This made usage of the model rather limited . Thanks to Mapryl’s Top N Answers PR to the ODQA model, now you can get N candidate answers with scores . It was shipped as part of our v0.12 release.

We will publish interviews with our contributors in the blog soon, so stay tuned!

Contributing To DeepPavlov’s Project Family: The Process

Once you’ve chosen what to do, the process is straightforward:

  1. File a GitHub issue

To get a deeper understanding of the DeepPavlov roadmap, you can start by reading the DP DREAM announcement. It gives an overview of directions we are heading to, and helps to figure out where and how your contribution might fit in. We will also keep posting updates in our DP Blog, including more detailed information about the upcoming housekeeping in DP Library. Beware that some of the existing DP Library components will be transformed into the deprecated form, while others will move around within our project family, to better align with our goals.

Once you’ve familiarized yourself with the current state of things, we encourage you to join our brand new Contributors Community in our Slack. While you can simply file an issue by following our Contributor Guide in the docs, code and then file a PR, getting in touch with us can be rather helpful.

We also encourage you to join our regular Community Calls and yearly State of The Union Calls where we will talk about our projects and their development status, and raise your questions in the live conversations with our team.

Conclusion

Big things have small beginnings. We’re just getting started with the Contribution Program, and its first fruits shall inspire both you and us that together we can move the Conversational AI field towards new heights!

Let us know in the comments if you need any help in building chatbots using DeepPavlov. And don’t forget DeepPavlov has a dedicated forum where all kinds of questions concerning the framework and the models are welcome.

We look forward to seeing your contributions!

DeepPavlov

An open-source library for Conversational AI

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store