Chuyển đến nội dung chính
  1. Bài viết/

Vì sao bài cũ cứ bị bảng tin dìm xuống

· loading · loading ·
Nhân Tài Đức
Tác giả
Nhân Tài Đức
Người dẫn dắt đội ngũ và kỹ sư phần mềm, sống tại Seoul, Hàn Quốc

Công việc của tôi là làm một nền tảng nội dung, nên có một câu hỏi mà người dùng không bao giờ nhìn thấy, nhưng tôi thì nghĩ tới thường xuyên hơn hầu hết mọi người: đến lúc nào thì bảng tin (feed) nên thôi hiển thị một bài viết?

Nội dung nào rồi cũng cũ. Người ta mở ứng dụng là để xem có gì mới, và bảng tin phải đáp ứng được điều đó. Nhưng một bài hay từ tháng trước cũng không nên biến mất chỉ vì nó không còn mới. Hàm suy giảm (decay function) là cách tiêu chuẩn để mô hình hoá sự đánh đổi này, và nó đơn giản hơn cái tên nhiều.

Độ mới quan trọng, nhưng không phải ở đâu cũng vậy
#

Khi mở một trang tin tức hay bảng tin mạng xã hội, thường thì bạn muốn xem cái mới nhất. Ở những lĩnh vực thay đổi nhanh như tin tức hay thị trường tài chính, nội dung tuần trước chỉ tổ chiếm chỗ, nên cách xếp hạng ở đó nghiêng hẳn về độ mới.

Nhưng không phải lĩnh vực nào cũng thế. Bài viết học thuật hay các bài báo chuyên sâu vẫn giữ được giá trị theo thời gian, có khi còn quý hơn. Tuổi của nội dung có ý nghĩa trong hầu hết hệ thống xếp hạng, nhưng nên cho nó nặng bao nhiêu thì hoàn toàn tuỳ vào thứ bạn đang xếp hạng.

Mô hình hoá độ “phai” bằng suy giảm theo hàm mũ
#

Cách thường dùng để mô hình hoá độ liên quan giảm dần là suy giảm theo hàm mũ (exponential decay): nội dung càng cũ thì giá trị mà người ta cảm nhận được càng tụt nhanh. Dạng đơn giản nhất trông thế này:

relevance = e^(-decay_rate × age)

trong đó relevance là giá trị hiện tại của nội dung, decay_rate là tốc độ suy giảm, quyết định nội dung mất giá trị nhanh hay chậm, còn age là tuổi của bài, thường tính bằng số ngày kể từ lúc đăng.

Điều tôi thích ở mô hình này là nó chỉ có đúng một cái núm để vặn. Chỉnh tốc độ suy giảm là bạn quyết định được nội dung còn “sống” trong vài giờ, vài ngày hay vài tuần. Toàn bộ phần cấu hình chỉ có vậy.

Tương tác giúp nội dung hay sống lâu hơn
#

Tuổi của bài mới chỉ là một nửa bức tranh. Lượt xem, lượt thích và bình luận cho bạn biết người ta có thật sự quan tâm hay không; bỏ qua chúng thì cách xếp hạng sẽ chôn luôn cả bài hay lẫn bài dở. Cách sửa đơn giản là nhân hai yếu tố này với nhau:

score = engagement × e^(-decay_rate × age)

Giờ thì một bài cũ nhưng tương tác mạnh vẫn có thể xếp trên một bài mới nhưng làng nhàng. Chỉ có điều, nó cần ngày càng nhiều tương tác hơn mới giữ được chỗ, vì phần suy giảm bên dưới cứ nhỏ dần đi.

Trong thực tế, vòng đời của một bài viết diễn ra thế này: bài mới đăng được cộng điểm vì còn mới, nên có một cơ hội công bằng để được nhìn thấy. Nếu người ta xem, thích, bình luận, điểm sẽ tăng. Ngày qua ngày, phần suy giảm gặm dần vào điểm số, và chỉ những bài giữ được tương tác đều đặn mới trụ lại gần đầu bảng tin. Nội dung mới thì được trao cơ hội; còn nội dung thật sự hay thì tự giành lấy chỗ đứng.

Nói thật thì mẹo chỉ có vậy. Một hàm mũ, một hệ số tương tác, một cái núm để vặn. Phần khó là chọn tốc độ suy giảm bao nhiêu cho hợp với loại nội dung của riêng bạn, và phần đó thì chỉ có thể dựa vào phán đoán.