Introducing Chat-Reply on Carousell

Girish Kumar
Mar 5, 2018 · 3 min read

In the past five years, Carousell has led the way in mobile classifieds and is one of the fastest growing mobile marketplaces in Southeast Asia. We’re in 19 cities across 7 countries. We’re looking at ways to leverage machine learning to enhance the user experience.

With buying as easy as chatting, Carousell users have grown used to dealing with one another through chats. However, for those selling multiple or popular items, typing out responses can be a huge hassle when you’re flooded with messages from interested buyers. It gets even more frustrating when you find yourself answering questions, when details are already in the listing description.

Our machine-learning team at Carousell decided to tackle this problem head-on, and built Chat-Reply. Currently rolled out to Singapore, Chat-Reply features a pair of machine-learning models that automatically crafts chat reply suggestions for you. One model suggests general replies, while the other determines if the message already has an answer within the listing’s description.

The first model powering Chat-Reply is a neural network that takes up to 20 past messages in a conversation and attempts to select a correct response from a pool of candidates.

This neural network consists of two equally-functioning halves. Using embeddings and a deep neural network, one half processes past messages and the other, candidates. Each half outputs high-dimensional vectors, and vector similarity is then used for ranking.

This model is trained on millions of actual conversations, but we do deeply respect our users’ privacy and data. While running our model, all data was encrypted and engineers could only inspect aggregated statistics across the many users.

Each time a user receives a new message, the model ranks a list of candidate responses, and presents the top three responses to the user.

Now Chat-Reply’s second model checks if any information in the product listing applies to the chat question. Product listings are often accompanied by seller-crafted descriptions. Occasionally, buyers may miss this information, and ask questions for which there is already an answer for. Our second model suggests answers to such buyer questions by extracting a sentence from this description, where appropriate.

Answers suggested by our question answering model. Understands a little Singlish too!

Just like our first model, the second model retrieves a high dimensional vector representation of the buyer’s question. A recurrent neural network (RNN), initialised with this question representation, processes the list of sentences in the description, in sequence. The RNN outputs a vector for each description sentence.

Vector similarity between the buyer’s question and each description sentence is used to rank suitable candidate answers within the description.

Finally, we combine the suggestions from both models to present the final suggested responses to the user.

We look forward to you trying this new machine-learning powered feature on our marketplace. Your feedback, by simply tapping on good suggestions and not tapping on bad ones, can go a long way in improving our models.

Chat-Reply is now available for all users in Singapore.

More technical details on our question answering model can be found in our paper,, which will be presented at the International Workshop on Spoken Dialog System Technology in May.

Carousell Insider

What's going on under the hood at one of the world's…

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

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