WeChat Reading "Guess You Like" Recommendation System: Algorithms and Architecture

WeChat Reading’s “Guess You Like” engine combines real‑time click and reading data with tag‑based and deep‑learning embeddings, LSH similarity search, and a DeepFM ranking model to deliver cross‑type book, article, and video recommendations, continuously balancing exploitation and exploration to boost CTR and user engagement.

Tencent Cloud Developer
Tencent Cloud Developer
Tencent Cloud Developer
WeChat Reading "Guess You Like" Recommendation System: Algorithms and Architecture

WeChat Reading is a popular e‑book app with nearly 5 million daily active users. Its growth depends on user acquisition, reading experience, and recommendation quality. Users can search and purchase books, and the app also promotes reading through unlimited cards and other activities.

Because users have limited ways to discover new books and articles, the "Guess You Like" and story‑feed features were introduced. By leveraging reading, following, sharing, and social‑graph data, combined with machine‑learning and deep‑learning algorithms, the system recommends books, public accounts, and even Tencent videos that best match user interests.

Recommendation logic for the Bookstore "Guess You Like"

The backend service architecture is relatively simple (see diagram). Initially, only T+1 reading statistics were used, but later real‑time user actions (clicks on books, public accounts, reading details) were stored in Paxos KV and incorporated into the recommendation logic, improving click‑through rates.

For new‑book recommendations, tag‑based average embeddings were used at first, then the logic was refined as column limits and CTR considerations evolved.

Card "For You" recommendation

Early on, only recent reading and click behavior were used for similarity‑based recommendations. Later, demographic differences (age, gender) were incorporated. User basic profiles were embedded into the model (see diagram).

The model prints detailed user portraits (format profile_$sex_$age) confirming that the model is working.

Various embedding aggregation methods (concat vs. sum) were tested; sum performed better, leading to higher click‑through rates.

Recent user reading and click behavior are weighted by recency to produce a user‑recent‑interest embedding, which is then used with an LSH server for related‑item retrieval (see architecture diagram).

Story‑feed recommendation architecture and algorithm

The story‑feed mixes books, public‑account articles, and video content. The overall recommendation pipeline follows a classic three‑stage structure: recall, coarse ranking, and fine ranking (currently offline). Real‑time behavior recall is heavily used, including cross‑type recall, to capture short‑term user interests (e.g., after reading an NBA book, the user may want NBA videos).

Mixing across types currently uses a simple bandit‑style sampling based on recent user performance per content type, leaving room for more sophisticated mixing algorithms.

Item data processing (content data)

Content ingestion includes tokenization, tag extraction, item embedding computation, and content‑based similarity calculation (including cross‑type similarity). After evaluating Jieba, QQ‑segment, and THULAC, THULAC was chosen. TF‑IDF and TextRank are applied to compute keywords. A large embedding dictionary (8 million vectors) from the AI Lab is used, and item similarity is computed with a Python Annoy server, stored in Paxos KV and HDFS for real‑time recall and offline analysis.

Real‑time similar‑item recall has shown the best CTR improvements across public accounts, videos, and books.

User profile construction

User profiles cover video secondary‑category interests, public‑account interests, article interests, book reading and click behavior, similar‑user networks, and influence chains.

Public‑account profile: based on bookshelf, read/liked/favorited/shared articles, plus expansion via similar accounts.

Book profile: weighted reading time and similar‑book expansion.

Video cold‑start profile: derived from public‑account behavior using a BERT classifier for video categories.

Relationship‑chain influence factor: real‑time actions are propagated through the social graph for additional recall candidates.

Similar‑user calculation: instead of classic collaborative filtering, an embedding based on reading time, recency, and book popularity is built and LSH is used to find similar users. A bipartite graph with node2vec was also experimented but yielded inferior results.

Offline ranking module

Initially, online per‑request ranking was omitted due to insufficient behavior data. A compromise was to perform T+1 recall and ranking offline, storing results in an online KV queue. DeepFM was later introduced as the ranking model, trained on one month of video click logs with AUC as the evaluation metric.

DeepFM input features include:

User features: cumulative click counts per secondary category, most frequent tags, age, gender.

Item features: secondary category, tags, title length, punctuation count.

The model avoids ID features, relying only on static and tag features, making it easy to update periodically. The same feature set can be applied to public‑account and book recommendation tasks.

After deployment, click‑through rates and user counts increased significantly (see chart).

Conclusion and outlook

The recommendation system must continuously balance exploitation of known interests with exploration of potential interests. Over‑optimizing for CTR can lead to click‑bait, while excessive exploration may hurt early performance. Ongoing optimization and support from the YunJia community, architecture team, search, and Penguin Video are acknowledged.

References

Covington, Paul, Jay Adams, and Emre Sargin. "Deep neural networks for YouTube recommendations." Proceedings of the 10th ACM conference on recommender systems. ACM, 2016.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

machine learningrecommendation systemuser profilingcontent-based filteringwechat reading
Tencent Cloud Developer
Written by

Tencent Cloud Developer

Official Tencent Cloud community account that brings together developers, shares practical tech insights, and fosters an influential tech exchange community.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.