First Bucharest.AI Workshop - Building Recommender Systems

Mircea Bardac
Bucharest AI
Published in
6 min readJun 6, 2018

Tackling the needs of the Bucharest AI community, now, also through hands-on workshops 🙌

Back in April this year, we celebrated 1 year of Bucharest.AI, a year full of knowledge sharing, community growth and achievements. 💪

While the AI community in Bucharest is still in its early age, Bucharest.AI encouraged everyone working on AI to come forward with their ideas, challenges, solutions and support for the community. We engaged with the community during meetups, networking sessions, and over many coffees, lunches and dinners, in our efforts to understand it better and adjust properly our activities and efforts to make it stronger and more successful. As a team, and with support from the global AI community as well, we’re ultimately striving to accelerate the local community’s growth, unleash its potential by boosting the use of local resources, removing roadblocks, and enabling the full exchange of knowledge.

In March, we saw the first opportunity to take knowledge sharing to the next level with a hands-on skills development approach. We noticed there’s a gap on growing AI skills last year, when we started Bucharest.AI. The ecosystem is still trying to cope with the demand of AI skilled people, so we kept the idea of doing hands-on trainings in the back of our minds. The community kept on reaching out to us and phrasing its challenge as “we want something that allows our product to give out suggestions to our users just like online shops do”. This is how we identified the first opportunity to design and deliver the first hands-on workshop on recommender systems in Bucharest.

The power of “together”

We scoured the community, our industry and academic partners and found lots of interest in the topic. Many people interested in attending, and many helping hands. Adobe Romania was kind to host us, provide us with food & drinks for half a day — Big thank you! 🙏

Ruxandra Burtică embarked with us on the journey of designing the curricula and hands-on workshop exercises. We put together some awesome teams to make the best out of this first hands-on experience. We had a team for reviewing the materials with Traian Rebedea and Mihai Dascălu from University POLITEHNICA of Bucharest — they provided valuable feedback for steering the workshop content in the right direction.

Here is what Ruxandra told us that she liked most when creating the workshop:

I generally love learning new things myself, while creating a presentation/workshop. For this workshop in particular, on top of that, I greatly appreciated the collaboration with the trainers, Traian, Mihai and everybody involved :)

We also had a team with Giorgiana Vlăsceanu, Marilena Panaite and Mihai Cristian Pîrvu that went through all the content during a dry-run. They fixed the tiny details to ensure the participants would have a smooth experience during the workshop. They were joined by Ștefania Budulan and, the 4 of them, were our amazing team that supported Ruxandra during the hands-on workshop. We are more than happy to have had all these people with us. You were an awesome workshop team, and participants were more than thrilled to have your support (more on this later).

Awesome attendees

We had more than 60 people interested in the workshop. Unfortunately, we couldn’t accommodate them all. However, we tried to bring in the best mix of backgrounds and experiences for this first edition. The only prerequisite for attending the workshop was Python knowledge. We didn’t look for any previous AI/Machine Learning experience, as we tried to be as inclusive as possible.

21 people attended the first workshop and, even though we didn’t look at this during the selection process, 6 of them were women (28.5%, very similar demographics with what we observed in the interested people). On the long term, we hope to encourage as many women as possible to join the community and slowly decrease the gender gap.

We were thrilled to see participants coming from very very different backgrounds, such as Computer Engineering, Computer Science, Electronics, Economics, and even Microbiology. They were either students, software developers or architects, web developers, data scientists or CTOs, coming out from very different industries — from computer security, to autonomous driving or retail. This eclectic mix of experiences led to dynamic and intriguing conversations during the workshops, and, thus, everyone got to find out about various use cases of recommender systems and AI in general, across all the industry spectrum.

Mixing the knowledge, delivering the hands-on experience

During the half-day workshop, we had 3 hands-on sessions, with breaks and lunch in between. Our objectives for the workshop were to provide the attendees a better understanding of when to use, how to design, and how to implement Recommender Systems.

The day started at 10 am with an intro in Recommender Systems given by Ruxandra. The intro covered the types of recommender systems, such as systems based on collaborative filtering, content based or hybrid (here are the slides). It also introduced pros and cons for using each type of recommender system, with examples and use-cases that could easily be understood. In this workshop, the hands-on sessions were mostly focused on collaborative filtering and aimed getting participants closer to building ready-to-use prototypes.

Ruxandra designed the workshop using the Google’s Collaboratory platform, with one Python notebook for each hands-on section. All workshop-related notebooks are available in Ruxandra’s recommender-systems Github repository. In order to simplify the development of recommender systems, the hands-on exercises made use of the Surprise Python library, which was really appreciated by the attendees.

The first hands-on session covered memory-based collaborative filtering, when to use them, how to build them, and challenges related to creating these systems. The 2nd session was about model-based collaborative filtering, going through everything from design, to system evaluation and challenges. The 3rd session briefly touched on the content-based recommender systems, how to design them and how to quickly make use of them.

We asked Ruxandra how was the experience during the workshop, working with the attendees:

I liked the relaxed atmosphere during the workshop, the fact that participants were involved and curious. I hope this workshop was a good kickstarter for their own projects.

The team of trainers and Ruxandra did a great job going to each participant to check if they need support, remove roadblocks, or to provide more insights on how to better build recommender systems. Three of the attendees exceeded the expectations of the trainers and were rewarded with shopping vouchers (prizes kindly provided by Adobe). 👍👏

The future is hands-on

We had an awesome time preparing and delivering the workshop. The team put a lot of effort into it and enjoyed the entire experience end-to-end. The participants were really excited to go through it and overwhelmed the team with positive feedback and requests for more similar workshops. We promise you guys, we’re on it and we will consider your suggestions — more algorithms, business cases, visual examples, and in-depth approach of the information.

In addition to learning how to build a recommender system and how to choose the recommender algorithms based on their type of problem, participants were also excited to find about different libraries, such as Surprise, which can simplify the development of recommender systems.

Once again, huge thanks to everyone involved in organizing this workshop, for their excitement and professionalism, and to participants for their interest, successful participation and feedback 🙏. Great experiences like this are the things that keep us going.

Going forward, we — as Bucharest.AI — will continue working on improving the quality and overall experience of our events, including future workshops. Don’t forget to always send us your feedback and ideas, as these are the drivers of the community’s successful development and growth.

Last but not least, stay tuned for more by following our Bucharest.AI Facebook page and our Bucharest.AI LinkedIn page.

--

--

Mircea Bardac
Bucharest AI

Team Lead | Technologist | Growing Teams & Products