At Rasa, our team is building the standard infrastructure for conversational AI. Behind the scenes, the people of Rasa come together from diverse backgrounds to solve today's most interesting challenges in NLP and dialogue management. We're pulling back the curtain to highlight a few of the humans behind the bots.
Today we're talking with Dr. Johannes Mosig, Machine Learning Researcher at Rasa. We'll learn Johannes's story and explore the day-to-day projects and technologies he's passionate about.
Hi, Johannes. Tell us about yourself! What was your path to joining Rasa?
Quite a winding one! :D While I was already curious about computers and neural networks during high school, I went a slightly different route and decided to study physics at the Free University of Berlin. I wrote my BSc thesis on theoretical particle physics in Sweden and my MSc thesis on general relativity at the Max-Planck Institute for Gravitational Physics in Potsdam. Following that, I did my PhD in applied mathematics (ocean modeling) at University of Otago in New Zealand. Finally, I changed subjects once more and self-studied machine learning.
I knew that changing subjects yet again after my PhD was going to be hard, so I started my own blog to gather feedback from people and also to demonstrate my understanding of the subject. I joined various study groups in Berlin and worked on my own little project. While I had a job as a software developer (no machine learning) for some of that time, this period was quite nerve-wracking, as my future was so uncertain. But I kept going and then found Rasa via various meetups, which was a 100% match. It's really the best of both worlds here: you can do actual research (not just tweaking existing models to a new dataset) while having a permanent job (which is very rare in academia)!
Take us through a typical day as a Machine Learning Researcher. What types of projects do you work on?
I am currently managing two research projects. In the first project, we collaborate with a researcher from Carnegie Mellon University to create a new dialogue dataset that is more interesting than the ones we have today. The other project concerns a new kind of word embedding and artificial neural network architecture. While the former is both necessary and useful in the long run, the latter is what I am most excited about. At this early stage we cannot say for sure, of course, if it'll all work out. But that is why it's called research!
Besides my two main projects, I work on smaller things every now and then. For example, I recently contributed a tool to Rasa Open Source that lets you check if your training data is consistent (
rasa data validate stories). Here I worked very closely with the engineering team. Furthermore, I also contribute to research papers, such as "Dialogue Transformers".
On a typical work day I choose one of these things to focus on. In the morning I tell GeekBot on Slack what my day's goal is, and if I accomplished my goal from yesterday. Then I type, read, think, and code until I reach my goal or realize that I cannot reach it in a day. At noon I typically have lunch with one or more colleagues and throughout the week I attend various meetings where we coordinate our work, share knowledge, or discuss ideas. We don't have meetings on Wednesdays (literally our official no-meeting-day), though.
Which areas of your work are you most passionate about?
I love to try out new ideas and think deeply about natural language processing. It is also very stimulating to be challenged and supported by my peers and to constantly acquire new skills. Finally, it is exciting to see how a movement that I started in my early days at Rasa (driving a positive impact on society through the technologies we develop) gets picked up by colleagues and develops a life of its own.
What's an important problem you're solving at Rasa?
Besides the research, I am passionate about ensuring that the things we develop here have a positive impact on people. In the long run, I think that Rasa assistants may well influence society as much as email, the smart phone, or Facebook. Such technologies can be amazing, but can also have dire consequences. Within Rasa, I help to keep the discussion going about what we can do to make our impact as positive as possible.
How would you describe Rasa in three words?
Dynamic. Honest. Ambitious.
How do you collaborate with other teams at Rasa?
Slack is really the fulcrum of our communication. Since many people work remotely or from home, most communication is channeled through it. Crucially, our communication guidelines say that you don't have to respond to everything right away, and that you should never expect immediate responses, which is great. This asynchronous remote-ready setup is particularly handy because this way it is no problem for me to visit my fiancee in New Zealand and work from there for a month. Of course, to discuss ideas and make decisions, I often meet with colleagues in person, too, whenever possible.
What does a culture of diversity mean for you at Rasa?
Honestly, this is not something I often think about, because it is just normal here. My colleagues come from all over the world and thus have different cultural backgrounds, which is awesome! We're all united in our common goals and it's great to work (and cook, and play board games) together. I love the fact that we can all talk openly about issues and that it is more important to be honest than to deliver pretty numbers.
Tell us about the transition from working in academia to working at Rasa. What have you found challenging or rewarding?
Having studied technical subjects for ten years has a lot of benefits (independent and creative thinking, broad knowledge, deep knowledge, etc.), but when I started working at Rasa, I also had to unlearn some habits from my PhD life. Things are just way more fast-paced here. Especially in the first couple of weeks it was quite overwhelming. But I enjoy the challenge!
For example, when I am stuck, I sometimes kept working on the problem for months before I looked for help. Now I typically ask after 15 minutes. Also, I improved my time management skills and my decision making process. (What is the easiest thing to do that might test whether something will work? Is the decision I am about to make reversible or not? Etc.) The best thing is to see when an idea I had ends up in our product and random people express their happiness about it being there. Something I never experienced in theoretical physics.
What's the most interesting thing you've learned lately?
I learn tons of things every week. That's what makes life interesting! For example, I recently learned that it might be feasible with present-day technology to build a "sky-hook" that greatly reduces the cost of transporting things into space (similar to a space elevator, but more realistic in the near-term future). I also learned that deep linear networks actually have quite an interesting learning dynamic, and that functional decision theory predicts the best choices in both the prisoner's dilemma and Newcomb's problem. I also learned that people used to eat the pulp of the chocolate fruit long before they discovered uses of cocoa beans.
What's the best career advice you've received?
I cannot remember anything that strikes me as particularly helpful, since I really just followed my interests and that may only have worked because I was lucky. But the "80.000 hours" podcast is a good resource to check out when you are at the beginning of your career.
Want to team up with Rasa? We're hiring! Find open positions on the Research team and other roles on ourJobs Board.