Way back in 2014 we set out to build a world class AI stylist. We style ourselves everyday without much thought, so how hard could it be? We told our Styling team “We need to know how you think”. And started asking some basic questions such as “Why did you pair those items together?”, “What colours match with Yellow, why?”. While they attempted to articulate what they did intuitively, the tech team bravely attempted to program it.
Did it work? Sure it did. After many experiments and trying different approaches, we cracked it. We had an outfit recommendation engine which could generate good outfits. Clients were happy with our demos and we started onboarding them. But optimising the styling engine for each client turned out to be tedious, iterative and time consuming.
While clients were happy with the recommendations we gave them, we were not happy with the effort it took.
As we tried to find easier ways to onboard clients, it became evident that what we had was indeed unscalable. We were not able to visualise how an outfit got generated. We didn’t know why an outfit was good or why it was bad. The only way we could improve the system was to throw data at it, tweak a few rules and hope for the best.
So, while we had a perfect working model, we needed to go back to the drawing board and create a something that could grow. You would think rebuilding would be easy, we've done it before. The first hurdle we had to cross was the language of fashion. There is no universally accepted taxonomy in the fashion world. A “Full Sleeve” for one is a ”Long Sleeve” for another.
After extensive research we mapped the language of fashion that we would need to style an individual. We defined the meaning of each attribute, the synonyms, and the hierarchy. We probably have one of the most extensively researched fashion styling taxonomy in the world.
Cataloguing is largely a manual process, hence only 6-8 product attributes are tagged to an image. We needed much richer information. While saying that a T-shirt has a V-neck is adequate for online sales, we needed to know if the V was a high V or a deep V so we could recommend the deep V if we were styling someone with a short neck. We used machine learning to build classifiers to automatically enrich catalog images with our attributes.
With the language in place and data attributed, we set about defining all the conditions that constitute an algorithm. We built a rule management tool so that stylists could do the programming without knowing how to code. Thousands of rules were written along with data models to generate outfits. We now can generate tens of thousands of world class outfits in seconds.
Now, when we recommend an outfit, we know exactly what rules and models are involved. We now have a very critical ingredient that was missing in our earlier solution, “ Interpretability of the outcome”.
When a client gives feedback, it is immediately entered into the system and the same outfit doesn’t get generated again. The entire process is automated end to end.
Authored by Malini Konda, Streamoid's Director of Business Development.