VnExpress là báo điện tử hàng đầu Việt Nam với hơn 30 triệu độc giả. Với khối lượng tin bài và quảng cáo đồ sộ, tòa báo hiện đang sử dụng giải pháp Big Data toàn diện để phục vụ việc chọn lựa nội dung hiển thị trên toàn bộ các kênh như web, app và các thể loại nội dung như bài báo, video, quảng cáo. Giải pháp này được xây dựng bằng công nghệ xử lý song song và khoa học dữ liệu trên nền tảng mã nguồn mở, qua đó giảm đáng kể chi phí phát triển và có thể nâng cấp dễ dàng trong quá trình hoạt động.

Bài toán kinh doanh

Các hạng mục nội dung của VnExpress nhìn chung có thể chia thành các loại sau: bài báo, video, quảng cáo và các tin rao vặt do người dùng đăng. Bài toán chọn lựa nội dung cũng có thể chia thành các tình huống riêng biệt nhưng liên quan lẫn nhau:

  • Gợi ý các bài báo hoặc video cho độc giả đang xem một bài báo hay video khác. Tình huống này có thể chia thành các trường hợp nhỏ hơn như theo dòng sự kiện hay khám phá một chủ đề.
  • Chọn lựa quảng cáo để hiện thị trên từng trang nội dung.
  • Hiển thị các tin rao vặt phù hợp để tối tối ưu hóa doanh số.

Các tình huống này vốn được xử lý bằng nhân lực, nhưng khối lượng nội dung ngày càng lớn đã dẫn đến nhiều khó khăn. Do số lượng các hạng mục nội dung quá lớn, nguồn lực con người chỉ đủ để xem xét các nội dung phổ biến nhất hoặc quan trọng nhất. Thêm vào đó quy trình chọn lựa nội dung bằng sức người hoàn toàn bỏ qua yếu tố độc giả: với số lượng độc giả lên đến hàng triệu, việc xem xét từng cá nhân độc giả là hoàn toàn bất khả thi.

Giải pháp big data đã giải quyết cùng lúc cả hai vấn đề nói trên. Thứ nhất, toàn bộ danh mục nội dung của tòa báo đều được xem xét và có cơ hội đến với độc giả. Thứ hai, công nghệ phân tích hành vi độc giả cho phép lựa chọn nội dung thích hợp nhất với từng cá nhân và trong từng tình huống cụ thể.

Tuy nhiên quy trình tự động không phải để thay thế hoàn toàn vai trò con người trong quá trình lựa chọn nội dung. Trái lại công nghệ ở đây giúp giải phóng nguồn nhân lực để tập trung vào các khâu trọng yếu hoặc có ý nghĩa nâng cao hiệu suất kinh doanh.

Phương pháp khoa học

Đóng vai trò cốt lõi trong giải pháp này là hệ thống phân tích nội dung, với chức năng phân loại và tính toán các đặc trưng của từng hạng mục nội dung. Hệ thống này dựa trên các kỹ thuật xử lý ngôn ngữ tự nhiên như mô hình phân tích chủ đề và các thuật toán phân tích dữ liệu tổng quát, kết hợp với phản hồi của các biên tập viên hay nhân viên vận hành quảng cáo. Mỗi hạng mục nội dung được biểu diễn bởi một tập hợp các chỉ số và đặc trưng; đây là cơ sở để tham chiếu sở thích và hành vi của độc giả.

Sau khi đã phân tích và phân loại toàn bộ danh mục nội dung, độc giả VnExpress được tạo một hồ sơ cá nhân dựa trên đặc trưng chung của các hạng mục nội dung họ đã tương tác và độ mạnh của các tương tác đó. Dựa vào các hồ sơ này ta có thể chọn lựa các hạng mục nội dung phù hợp nhất với từng độc giả trong từng tình huống, và so sánh thái độ của các độc giả khác nhau đối với danh mục nội dung của tòa báo. Các hồ sơ độc giả còn được bổ sung thông tin xã hội như giới tính, độ tuổi… do độc giả tự cung cấp hoặc được tính toán từ chính hồ sơ hành vi của họ bằng các mô hình xác suất thống kê.

Kết quả phân tích nội dung và hồ sơ độc giả có thể sử dụng để chọn lựa nội dung bằng thuật toán tự động, hoặc dùng làm thông tin tham khảo cho đội ngũ nhân viên tùy tình huống.

Nền tảng công nghệ

Toàn bộ tương tác trên các kênh của VnExpress đều được ghi trên log và tập hợp lại để phân tích. Phần thuật toán phân tích được xử lý song song bằng công cụ Apache Spark và Spark MLlib. Spark là nền tảng big data có độ chín và được cộng đồng hỗ trợ rất mạnh. Tính riêng thư viện MLlib trong năm 2015 đã có hơn 200 thành viên đóng góp từ 75 tổ chức khác nhau. Nền tảng này tương thích với phần lớn các công cụ khoa học dữ liệu phổ biến và cho phép mở rộng khả năng xử lý rất dễ dàng khi khối lượng dữ liệu tăng vọt. Việc chuyển code giữa các môi trường nghiên cứu, phát triển và triển khai cũng hết sức thuận tiện.

Hệ thống phân tích dữ liệu được chạy theo lịch nhiều lần trong ngày và kết quả được chuyển qua lưu trên một Redis cluster để truy cập cho nhanh. Các truy vấn đến Redis cluster được chuyển qua một NGINX proxy đến các Apache server đứng sau. Proxy này đảm nhiệm việc cân bằng tải để các server đằng sau chạy ứng dụng. Có thể phác họa sơ đồ hệ thống như sau:

Đặng Hoàng Vũ – FPT HO
(Bài viết được đăng trên ấn phẩm Đặc san công nghệ FPT, FPT TechInsight No.1)

Tin liên quan: