Tired of ads? Enjoy an ad-free experience by signing up.
Will Ho · · 6 min read

Introducing Tech in Asia’s unique content recommender

Our orange recommendation machine

Image credit: Joshua Lim, Susi Susanti

At Tech in Asia, we value our readers. Beyond serving quality content, we’re always finding ways to improve your reading experience.

As we scale, we find that it’s getting harder to serve content tailored to each reader’s tastes. That led us to one question: How can we serve you content you didn’t even know you wanted?

AI has been the solution to many problems in recent times, and this was no exception. At its core, our content recommender leverages machine learning to serve articles that it predicts you will like based on your reading behavior.

Let’s use the analogy of a hypothetical fruit recommender to illustrate what sets Tech in Asia‘s content recommender apart from others.

AD. Remove this ad space by . Enjoy an ad-free experience

Let’s say you are holding an orange. A fruit recommendation machine scans the fruit that you are holding, and determines its attributes: a fruit that is round in shape, orange in color, has a dimpled texture, weighs 140 g, and measures about 8 cm in diameter.

Fruits party

Image credit: Joshua Lim, Susi Susanti

Instead of making selections that have similar superficial attributes – which means that tangerines or mandarin oranges are likely to turn up – our machine recognizes the implicit relationships between fruits and then suggests citrus fruits such as pomelos and grapefruits.

Our method introduces an element of discovery, proposing fruits that are not too similar to help you avoid falling into an echo chamber, but also not too different so that recommended fruits remain pleasing to your taste buds. As an added bonus, fruits that are freshly plucked are favored much more than those that have been on the shelf for some time.

How we trained our model

We’re using a content-based recommendation approach, and at the core of it is our topic model.

A topic model contains definitions of a predefined number of topics. Each topic is a collection of relevance scores of the top 10,000 words in our dataset. So each topic will have a unique set of scores, depending on how relevant each word is to the topic. These words are usually ranked in descending order of relevance so they can be visualized and evaluated for quality.

AD. Remove this ad space by . Enjoy an ad-free experience
LDA top terms for 8 topics

Image credit: Joshua Lim

In the example above, we can see that the first topic emphasizes words that correspond to venture capital, and the third to mobility, and so on.

An instance of Latent Dirichlet Allocation (LDA) (Blei et al., 2003) with Expectation Maximization (Asuncion et al., 2009), our topic model has been tweaked specifically within the context of our entire article archive.

Training an LDA model is an example of Unsupervised Learning, where the machine infers abstract insights from the data without any human input. We can see the difference when we contrast it to typical machine learning methods, which require humans to explicitly tag the data before passing it through the model. In our case, a manual process would entail reading articles, arbitrarily determining the topic composition, saving them, and then repeating the process for every article we’ve ever published.

While LDA automates a lot of this process, it still requires hints from humans, as do most unsupervised learning models. There are three parameters that we fine-tune to arrive at the right model:

  1. 𝗸, the number of topics we expect the model to find
  2. 𝛂, how likely the document is to contain an even mixture of most topics
  3. 𝛃, how likely each topic is to contain an even mixture of most words

Each combination of 𝗸, 𝛂 and 𝛃 values produces a single model. In order to find the model that best fits our dataset, we perform what’s known as a Grid Search in which we enumerate all sane combinations of 𝗸, 𝛂 and 𝛃, train a model for each combination, evaluate the recommendations each generates, and pick the best model.

AD. Remove this ad space by . Enjoy an ad-free experience
Article to document vector transformation

Image credit: Joshua Lim

How we generate recommendations

We first process the article that you’re currently reading into a machine-readable form known as the document vector. This vector contains the word counts of every useful word in the document.

Document vector to topic vector transformation

Image credit: Joshua Lim

This document vector is then run through our fine-tuned topic model, which transforms them into topic vectors, representing the article’s topic composition. Let’s say we train a model of three topics. The topic vector above may represent 10 percent philosophy, 50 percent artificial intelligence, and 40 percent technology, depending on the words that the model deems as important in each topic.

Topic vector vs topic vector similarity and relevance

Image credit: Joshua Lim

The topic vector for that article is then compared mathematically with that of every other article we’ve ever published using a similarity metric, and we programmatically pick the best matches based on the following criteria:

  • Most relevant, in terms of having the same topic composition as the current article
  • Freshest content, prioritizing recent articles as opposed to historical ones

How we measure content relevance

We define the relevance of two pieces of content to one another by the similarity of their topic composition, weighted by freshness.

Cosine Similarity was used as the similarity metric between topic vectors, as it is a tried-and-tested method of measuring similarity in the natural language processing space.

Cosine similarity intuition

Image credit: Joshua Lim

Intuitively, the similarity between two vectors can be quantified by taking the cosine of the angle between them. For example, in identical (overlapping) vectors, the angle between them is 0° so the cosine value is one. Conversely, for vectors that are completely different, the angle between them is 90° so the cosine value is zero.

Time decay factor vs. Time since publishing

Image credit: Joshua Lim

The similarity score is then scaled by applying a time-decay factor, which gives priority to fresh articles and penalizes older articles non-linearly. That’s because we observed that articles become less relevant at an increasing rate as time passes.

The relevance score between two articles, therefore, is the product of their similarity scores and their respective time-decay factors.

What’s next?

More exciting improvements to the recommender are in the works even as you read this article. In the recommender’s next iteration, we intend to let others do the work for you.

What this means is that by looking at the behavior of readers with taste profiles resembling yours, we can use machine learning to predict and deliver content that we think you’ll like the most.

Going back to our fruit recommender analogy, the new machine will prioritize fruits that others with a similar purchase history have already picked. This means you’ll spend less time scrolling, and you’ll have more time and choices for reading.

We’re excited to roll this out so we can give you the best picks from Asia’s startup ecosystem. Keep your eyes peeled for our updates!

Stay updated on the go with our mobile app.

Get latest insights with smoother, more personalized experience through TIA mobile app.

How would you feel if you could no longer use Tech in Asia?

Editing by Terence Lee and Eileen C. Ang

(And yes, we’re serious about ethics and transparency. More information here.)

Community Writer

Will Ho

I add cats to data