Làm sao News Feed của Facebook đoán được bạn muốn xem gì?

News Feed của Facebook là nơi mà người dùng Facebook ở lại lâu nhất. Bên dưới đó là một hệ thống chọn lọc bài viết cực kỳ phức tạp. Có bao giờ bạn suy nghĩ về cơ chế hoạt động của News Feed chưa?

TL;DR: Bài tương đối dài và có nhiều thông tin kỹ thuật, mô tả tổng quát cách thức hoạt động của News Feed Facebook, nếu chịu khó đọc hết sẽ biết thêm nhiều điều thú vị.

News Feed (Bảng tin) của Facebook là một nơi được đầu tư rất nhiều trí tuệ và công sức vì hầu hết thời gian xài Facebook, người dùng luôn lướt News Feed là chủ yếu.

Thế nhưng có bao giờ bạn đặt câu hỏi: vì sao những người mà bạn ít tương tác thì dần dần không thấy họ trên News Feed nữa đến mức suýt thì quên luôn sự hiện diện của họ, mặc dù vẫn còn kết bạn; vậy mà chỉ cần vào Like hay comment thôi là lần sau thấy họ lại liền.

Ẩn đằng sau những vấn đề tưởng như đơn giản đó là cả một hệ thống rất lớn & phức tạp.

Vì sao News Feed của Facebook rất phức tạp?

Thử tưởng tượng nhé: Bạn có 1.000 bạn, Like khoảng 100 Page, tham gia chừng 30 Group. Mỗi ngày có rất nhiều bài mới được đăng như hình ảnh, status; Page post bài mới, các Group cũng có bài mới… nhưng không phải lúc nào bạn cũng thấy toàn bộ. News Feed thường sẽ chỉ loanh quanh một nhóm nhiều người mà bạn hay tương tác nhất và những Group, Page bạn “quan tâm” hơn nhóm còn lại.

Thậm chí, ngay cả khi bạn chuyển từ chế độ sắp xếp mặc định “Top Stories” sang “Most Recent” thì việc hiển thị post theo thứ tự từ mới tới cũ vẫn chịu những sự sắp xếp nhất định.

Khi nói về cách thức hoạt động của News Feed Facebook, chúng ta có thể đã từng đọc tài liệu học thuật lẫn… bí thuật. Hầu như ai cũng biết là có “một cái gì đó” đảm nhận việc này và một số ít hiểu sâu thêm là có nhiều yếu tố ảnh hưởng tới kết quả (ví dụ như bạn có Like hoặc tương tác với post hay không…). Nhưng theo Facebook, vẫn còn đó những hiểu lầm.

Facebook từng công khai nhiều thông tin và tính năng của News Feed, nhưng ở bên dưới, hệ thống xếp hạng dựa trên máy học (Machine Learning – ML) của News Feed vẫn cực kỳ phức tạp với nhiều lớp. Trong bài này, họ có những chia sẻ mới về hoạt động của hệ thống và những thử thách phải đối mặt khi xây dựng một cơ chế cá nhân hóa cho hơn 2 tỷ người: Làm cách nào để hiển thị nội dung có liên quan và nhiều ý nghĩa nhất cho từng cá nhân mỗi khi họ xài Facebook.

Điều này khó tới cỡ nào?

Đầu tiên là số lượng nội dung. Hơn 2 tỷ người dùng Facebook trên toàn cầu. Mỗi người có trung bình hơn 1.000 post tiềm năng (chờ xuất hiện trên News Feed của họ). Như vậy, tính sương sương là có tới hàng nghìn tỷ post dành cho mọi người trên Facebook.

Sau đó, khi xem xét sâu hơn vào từng cá nhân, lại có hàng nghìn dấu hiệu (signal) cần đánh giá để xác định những gì liên quan nhất tới người đó. Tức là, có hàng nghìn tỷ post và hàng nghìn dấu hiệu và Facebook phải cần dự đoán gần như ngay lập tức những gì mà người dùng muốn xem. Khi mở Facebook, quá trình đó diễn ra âm thầm chỉ trong ít giây trước khi bạn thấy News Feed đầy đủ 🙂

Chưa hết nhé. Khi hệ thống đi vào hoạt động, mọi thứ liên tục thay đổi và Facebook cần giải quyết các vấn đề phát sinh như câu click (clickbait) hay tin giả (fake news). Trong thực tế, hệ thống xếp hạng không phải chỉ có một thuật toán duy nhất mà nó là rất nhiều lớp chứa các mô hình máy học để dự đoán nội dung thật sự có ý nghĩa cho từng người. Sau khi chạy qua nhiều lớp, hệ thống sẽ lọc từ hàng nghìn post có tiềm năng xuống còn vài trăm post để đẩy lên News Feed.

Minh họa quá trình “lọc” post trên News Feed. Ảnh: Facebook

Hệ thống này hoạt động như thế nào?

Nói đơn giản, hệ thống xác định những post nào được đẩy lên News Feed, với thứ tự ra sao, bằng cách đoán những gì sẽ khiến bạn hứng thú và tương tác. Những dự đoán này dựa trên rất nhiều yếu tố khác nhau, trong đó có cả những gì bạn đang theo dõi, thích hoặc tương tác gần đây nhất.

Để hiểu rõ hơn với ví dụ thực tế, hãy thử xem những gì xảy ra khi một người đăng nhập Facebook. Hãy gọi anh ấy bằng cái tên đẹp: Phương 🤣

Kể từ lần cuối Phương vào Facebook (hôm qua), bạn của Phương là Kiều Trinh đã post một hình về con Corgi của cô ấy. Một người bạn khác, Huyền, lại post video chạy bộ buổi sáng. Page yêu thích lại share bài drama trong showbiz và Group nấu ăn quen thuộc lại có 4 bài về công thức mới.

Tất cả những nội dung ở trên đều liên quan và thú vị với Phương vì chính Phương đã chọn theo dõi bạn bè cũng như Like những Page đó. Nhưng để quyết định cái gì xuất hiện trước cái gì sau, Facebook cần đoán được post nào có nội dung mang lại giá trị tốt nhất cho Phương.

Facebook có thể dựa vào đặc tính của post, ví dụ như ai được tag, post khi nào… để đoán liệu Phương có thích hay không. Ví dụ, nếu Phương hay tương tác với Huyền trong quá khứ và video chạy bộ mới được post gần đây thì khả năng cao là Phương cũng sẽ thích video đó. Nếu Phương tương tác với video nhiều hơn hình, có thể mức độ yêu thích của Phương với hình chó Corgi sẽ thấp hơn. Trong trường hợp này, thuật toán sẽ xếp video chạy bộ cao hơn hình chó.

Nhưng Like không phải là cách duy nhất mà chúng ta thể hiện sự thích thú trên Facebook. Người dùng share bài báo, xem video từ bạn bè hay các sao mà họ theo dõi, rồi còn comment trên post của bạn bè. Nói theo một cách Toán học thì mọi thứ sẽ phức tạp hơn khi cần tối ưu cho rất nhiều mục tiêu phụ nhằm hoàn thành mục tiêu lớn nhất: Tạo nên giá trị lâu dài cho người dùng bằng cách hiển thị những nội dung có ý nghĩa và liên quan tới họ nhất.

Các mô hình ML sẽ đưa ra rất nhiều dự đoán về khả năng Phương sẽ tương tác với hình của Trinh, video của Huyền, bài về drama showbiz hoặc các công thức nấu ăn. Mỗi mô hình sẽ cố gắng xếp hạng các mẩu nội dung đó. Thỉnh thoảng chúng bất đồng ý kiến với nhau: có thể Phương sẽ thích video của Huyền hơn tin drama nhưng Phương lại hay comment trên các tin tức hơn là video. Vì vậy, Facebook cần có cách để tổng hợp các dự đoán này thành một điểm số được tối ưu cho mục tiêu mang lại giá trị lâu dài.

Vậy làm sao Facebook biết được cái cái gì sẽ mang lại giá trị lâu dài cho một ai đó? Họ hỏi. Ví dụ, khảo sát mọi người về ý nghĩa của việc tương tác với bạn bè hoặc một post nào đó có xứng đáng với thời gian họ bỏ ra hay không, và hệ thống sẽ phản ánh những gì họ thích nhất. Sau đó, Facebook sẽ đưa những yếu tố này vào thuật toán sắp xếp News Feed.

Ảnh: Newsfeed.org

Bóc tách từng lớp

Để xếp hạng cả nghìn post đối với mỗi người hàng ngày, cho hơn 2 tỷ người – trong thời gian thực – Facebook cần xử lý việc này một cách hiệu quả. Họ xử lý trong nhiều bước, sắp xếp một cách có chiến lược để xử lý nhanh và cần ít tài nguyên điện toán nhất.

Đầu tiên, hệ thống tổng hợp toàn bộ các post ứng viên cần xếp hạng (như trong ví dụ bài này là hình chó Corgi, video chạy bộ…) vào một kho chứa (inventory). Inventory này còn có cả những post của bạn bè, Group, Page mà Phương quan tâm được đăng từ lần cuối Phương đăng nhập Facebook.

Nhưng còn các post đăng trước thời điểm đó nữa mà Phương chưa xem thì sao?

Facebook áp dụng “unread bumping logic”: Những bài đã từng được xếp hạng (nhưng chưa được xem) ở lần truy cập trước cũng được đưa vào inventory lần này. Bên cạnh đó, họ cũng có “action bumping logic”: những bài dù Phương đã xem nhưng có bạn bè comment xôm tụ trong đó cũng sẽ được đưa vào inventory này luôn.

Tiếp theo, hệ thống sẽ chấm điểm từng post dựa trên nhiều yếu tố, ví dụ như loại post, mức độ tương tự với các post khác, mức độ trùng khớp với những gì Phương hay tương tác. Để tính toán hàng nghìn post, cho hàng tỷ người dùng – tất cả trong thời gian thực – Facebook chạy các mô hình dự đoán này song song trên nhiều máy, gọi là các predictor.

Trước khi tổng hợp tất cả dự đoán vào thành một điểm số duy nhất, Facebook sẽ áp dụng thêm vài quy tắc nữa và nhờ đó, số bài trong inventory sẽ được lọc kỹ hơn và giảm xuống. Các quy tắc này được áp dụng qua nhiều lần để giảm yêu cầu về năng lực tính toán.

Tiếp theo, một số xử lý về tính toàn vẹn (integrity) được áp dụng cho từng post. Số lượng post tiềm năng sẽ được giảm xuống còn 500 post có liên quan nhất. Số này càng ít thì càng tận dụng hiệu quả sức mạnh xử lý của neural network (mạng thần kinh nhân tạo) trong những bước sau.

Tiếp nữa là bước chấm điểm chính, nơi mà hầu hết việc cá nhân hóa sẽ diễn ra. Tại đây, mỗi post sẽ được chấm điểm độc lập rồi 500 post được xếp theo thứ tự điểm. Với một vài người, điểm số dành cho Like sẽ cao hơn comment vì họ thích Like dạo hơn. Hành động nào mà người dùng ít thực hiện sẽ có điểm rất thấp.

Cuối cùng của tất cả là lượt xử lý về ngữ cảnh, chẳng hạn như đảm bảo News Feed của Phương có đa dạng loại nội dung, không có tình trạng kiểu rất nhiều video được xếp liên tiếp nhau.

Tất cả những bước xử lý này chỉ diễn ra trong ít giây để khi chúng ta mở app Facebook, đã có một News Feed đầy đủ nội dung sẵn sàng chờ đợi. Như vậy có thể đủ thấy sức mạnh điện toán và năng lực xử lý dữ liệu của Facebook mạnh mẽ và “khủng” tới mức nào.

Hi vọng, bài viết dày đặc ngôn ngữ chuyên môn ở trên sẽ phần nào giúp bạn hình dung được cách thức mà News Feed của Facebook hoạt động.


Tham khảo: Facebook, 2021, How Does News Feed Predict What You Want to See?, 24/02/2021, <https://about.fb.com/news/2021/01/how-does-news-feed-predict-what-you-want-to-see/>

Leave A Reply

Your email address will not be published.