In this series we will shed light on the extraordinary community work done by our Rasa Superheroes, take a deep dive into what inspired them, and find out if they have any tips or advice to share with aspiring community builders and conversational AI enthusiasts. For our third instalment, we get to know Xiaoquan "Howl" Kong.
Xiaoquan currently leads a team at Ecarx (a subsidiary of Geely Group) who are developing smart assistants in Shanghai, China. Howl was one of the earliest graduates of Baidu Huangpu College's chief AI architect training program, and at his previous company, ELE.ME (a subsidiary of Alibaba Group), he was responsible for the design of an intelligent customer service system, the construction of a natural language understanding platform, and the development of algorithms for intelligent dialogue systems.
On top of all of that, he's not just a Rasa Superhero, he's also a Google Developer Expert for Machine Learning and a TensorFlow Core & Addons contributor!
Xiaoquan started his contributor journey with us back in November 2017, when his first PR was merged to Rasa Open Source. It's safe to say he has not slowed down since that day, so let's find out exactly what this incredibly accomplished community champion has been up to!
Hi Xiaoquan, could you tell us what a typical day is like for you?
On normal workdays, I usually take the subway to arrive at the office around 9 o'clock. I participate in the morning meeting, discuss daily planning, respond to emails and then spend the rest of the day reading and writing code or reading papers and discussing the details of various products and technologies with my colleagues.
I usually go home around 20:00, and occasionally I finish up with work around 19:00 or 22:00. Once I'm home, I enjoy watching Dota2 matches and catching up on YouTube videos. I am currently interested in the TensorFlow source code and few-shot learning, so I am also spending some time learning these techniques.
Could you tell us about your journey into the world of Machine Learning?
From 2012 to 2015 I studied for my Master's degree in "Inorganic Ecology of Inorganic Chemistry", and my research direction was predicting the distribution of trees under different climate and geographical conditions.
During that time, I used the R language for predictions based on machine learning models. AI/ML at that point was not as popular as it is now, and the mainstream machine learning algorithms back then were Support-vector Machine and Random forest.
Subsequently, I published 3 papers on SCIE-indexed journals, 3 papers on SCI-indexed journals and 2 software written in R and Python language.
- The Predictive Performance and Stability of Six Species Distribution Models
- The potential effects of climate change on amphibian distribution, range fragmentation and turnover in China
- SDMdata: A Web-Based Software Tool for Collecting Species Occurrence Records
- SDMvspecies: a software for creating virtual species for species distribution modelling
- Ecophysiological responses to different forest patch type of two codominant tree seedlings
- The Niche Limitation Method (NicheLim), a new algorithm for generating virtual species to study biogeography
Neural Network Models were also not popular then. Regardless, I thought this computing method was amazing, and I very much believe it will be widely used in the future. So, right after graduating with my master's degree, I dived into AI / ML related work.
Was it long after you come across Rasa Open Source?
Around August 2017, when I implemented the intelligent customer service system, I carefully examined most chatbot systems (including Rasa Open Source) on GitHub and assessed functional completeness, active development, scalability, completeness of documentation and community support. In the end, we felt that Rasa Open Source fit these criteria well.
At ELE.ME, I was responsible for building a universal platform to provide Natural Language Understanding services (semantic classification, entity extraction) for business systems in other departments. At that time, NLP for Chinese support was pretty poor, so we decided to develop our own algorithm using the Rasa framework.
You have made many contributions to Rasa Open Source and our community over the last years. What was your first ever contribution?
My first merged Pull Request on Rasa was submitted on November 16, 2017, "Load model dynamically from cloud storage".
The introduction of this feature meant that there was no longer the need to restart your server after adding a new project since it will automatically load from the cloud.
This is super useful in a production environment because in the real world we cannot restart the server every time a customer creates a new project.
So you're working on a book about Rasa in Mandarin Chinese - that's new and exciting for us! Could you give us a sneak peek into what you're planning and tell us what you hope readers will take away?
Guan Wang and I, the author team, hope it becomes an authoritative and in-depth Rasa Open Source book. The goal is to give a detailed introduction to Rasa Open Source: from basic usage, configuration, developing custom components, ecosystem software and best practices. We hope that readers will subsequently be able to use Rasa Open Source independently to solve practical business problems.
However, the book will not focus on how to implement algorithms, because there are already many excellent books and web materials (blogs, videos, online courses) to teach everyone how to use Python, TensorFlow, and how to implement specific ML algorithms.The Python official website has very detailed docs and tutorials and I suggest Python learners refer to that website. For someone who wants to learn Machine Learning, I recommend the courses from Andrew Ng.
But you also contribute in other ways, by running the "Rasa China Official Community" QQ chat. Could you tell us a little more about it and how that started?
The "Rasa China Official Community" QQ group was created in September, 2018 and currently has over 500 members!
In China, QQ and WeChat are very popular instant messaging tools, and at the time, I observed that many new users of Rasa Open Source were looking for support in the local Chinese language. We needed a unified and localized way to communicate, so I established the QQ group. I hope to help everyone have a channel that is recognized and supported. Most people come from China mainland, so they speak Mandarin Chinese, few people come from Hong Kong or Taiwan, so they speak Traditional Chinese. :)
[You can join the group through this ID: 820037374]
Could you share a piece of advice for anyone developing a local community?
An important fact I learned from community operations is that there are many Rasa Open Source users in China, but many of them are unaware of the Rasa community.
Therefore, the important work of the community is to build awareness of the existence of the community. A great way to do that is to host events online or offline, set up localized communication channels, and jointly translate official documents into local languages.
You spend a lot of your free time supporting the Rasa community. What encourages you to do this?
Helping the community is helping yourself. A good open-source software community requires everyone to actively contribute to the community's growth. A well-developed community can benefit every community member: faster bug fixes, more stable systems, more advanced technology, more features, more detailed documentation, more ecological software..
Reflecting on your years of experience, what did you find most challenging about conversational AI in your career so far and how did you solve it?
I think the biggest challenge may be lack of data. I have participated in the early development of multiple projects before, and the biggest problem was always that there was insufficient data or no data at all to train the model. Although there is a lot of data in my current project, the data quality is not very good and cleaning data takes a lot of manpower in our team.
We are trying to solve the problem of small data through transfer learning and few-shot learning, although this work is still under study.
Could you share the best piece of advice you have received while working on your conversational AI projects?
I think the most practical advice is: Avoid blind action. When you start a project, you should fully research the existing open-source solutions.
Many open-source projects are developed by very knowledgeable and experienced people who have avoided many common problems in their design. You should first try to understand pre-existing designs because these are proven, effective and practical. After fully understanding the existing options, then decide on your technical selection.
Do you think technologies like Rasa Open Source can change the world?
Yes, absolutely! Rasa Open Source is like an extensible operating system, providing a well-designed foundation for a variety of applications.
Such an operating system helps to solve many low-level details: such as model training, model storage, model discovery, model distributed deployment, and message flow. Developers only need to focus on business development.
Due to the uniformity of the operating system, the components are standardized, and the community can seamlessly improve, communicate and trade components.
Additionally, Rasa Open Source also has a lot of third-party ecosystem software such as auxiliary tools, which greatly reduces the cost of developing the Rasa Open Source system.
We learned so much about your incredible career and contributions to Rasa Open Source, but you also mentioned that you are a fan of Dota 2. When you're playing with others, what is your preferred lane and hero in the team?
I usually go to the top or bottom lane and I prefer Sniper and Undying! For Dota 2 tournaments, I find Na'Vi.Dendi (recently, he is B8.Dendi), funny and entertaining to follow :D
Thank you again for incredible support of the Rasa community and beyond!
Want to nominate someone for a spotlight? Send us an email at firstname.lastname@example.org