Trong bài viết này, chúng ta sẽ trao đổi về hệ thống đề xuất của Youtube, công cụ gợi ý video cho từng cá nhân dựa trên lịch sử hoạt động của họ.
Ngày nay, h thng đ xut gợi ý có thể được bắt gặp rt nhiu trang web (Amazon, YouTube, Facebook…). Mi trang web lại áp dụng những thut toán khác nhau cho hệ thống này.
Vn đ
Youtube là một diễn đàn chia sẻ video khổng lồ, cơ sở dữ liệu của nó bao gồm hàng tỷ video đóng góp bởi hàng triệu người dùng ở vô số thể loại khác nhau. Thông thường, người ta tìm tới Youtube với nhiều mục đích đa dạng như xem một video nhất định, tìm những video về chủ đề mà họ quan tâm, hoặc đơn giản chỉ là giải trí với những video mà họ thấy hấp dẫn,… Vì vậy, một vấn đề lớn mà người dùng gặp phải là việc tìm video phù hợp với nhu cầu của họ trong hàng tỷ video đó.
Gii pháp
Nhằm giúp người dùng tìm kiếm video dễ dàng hơn, YouTube cung cấp một hệ thống đề xuất video gợi ý cho phép người dùng tiếp cận với bộ các video cá nhân hóa cho riêng họ. Các video này được chọn lọc dựa trên các hoạt động trước đó của từng người dùng và được cân nhắc thông qua nội dung phù hợp với sở thích của họ. Để làm việc này, YouTube xem xét lịch sử người dùng như những video nào được họ xem trong một khoảng thời gian nhất định, video nào được thích bởi người dùng đó, bao nhiêu người dùng mới đóng góp đánh giá của họ cho một video…
Ngoài ra, YouTube luôn luôn muốn đề xuất những video mới nhất và nóng hổi nhất. Hàng ngày, video trên YouTube được upload liên tục hàng giờ, vì thế diễn đàn này cần phổ biến những video đó tới người dùng một cách nhanh nhất có thể. Phần còn lại của bài viết sẽ trình bày cách YouTube dùng thông tin để hình thành những nhóm video đặc thù cho cá nhân người dùng.
D liu đu vào
Trong quá trình cho ra lò những đề xuất video cho cá nhân, chúng tôi phải cân nhắc những nguồn dữ liệu khổng lồ. Về tổng thể, có hai lớp dữ liệu chính để nhìn nhận: 1) dữ liệu nội dung, như những dòng video chưa qua chỉnh sửa và siêu dữ liệu video như tiêu đề, mô tả,… và 2) dữ liệu hoạt động của người dùng, lớp này có thể được phân loại sâu hơn thành nhóm hoạt động bộc lộ và nhóm hoạt động không bộc lộ. Các hoạt động bộc lộ bao gồm lượt đánh giá một video, video ưa thích, hoặc đăng kí theo dõi một người chủ video nào khác. Những hoạt động không bộc lộ là dữ liệu thu thập qua kết quả người dùng xem và tương tác với video,… người dùng đã bắt đầu xem một video và xem được bao nhiêu phần của video đó (thời lượng xem cụ thể)
Nhng video liên quan
Trong phần này, chúng ta sẽ xây dựng bộ các video có liên quan cho từng video cụ thể – tạm gọi là video hạt giống (seed-video). Một video liên quan có thể được hiểu là một video mà người dùng có thể sẽ xem sau khi xem video hạt giống. Để tìm ra những video liên quan này, YouTube sử dụng một kĩ thuật phổ biến có tên Association Rule Mining, còn được hiểu là kĩ thuật đếm số lượng tham quan đồng thời. Trong một khoảng thời gian cho trước (trong 24 giờ), đối với mỗi cặp video, chúng tôi đếm xem bao nhiêu lần chúng cùng được xem, số lượng đếm được ghi chép làm tín hiệu. Sau đó, điểm số mức độ có liên quan của video đó đối với video gốc có thể được đánh giá như sau:
Where (Ở đâu) là một hàm tiêu chuẩn có khả năng xem xét mức độ phổ biến trên toàn cầu của cả video hạt giống và video đề cử, và nó tính toán tổng số lần xuất hiện trong tất cả các thời điểm của lần lượt từng video.
Sau khi cho điểm mức độ liên quan của tất cả các video đề cử, chúng tôi chọn ra N videos đứng thứ hạng cao nhất về điểm số để hình thành một nhóm, và đặt ra một ngưỡng cho số lượng các video cần phân loại. Cuối cùng, chúng tôi xây dựng một đồ thị có hướng tập hợp các nhóm video (Đồ thị video liên quan): Đối với mỗi cặp video, có một đường biên với độ dày thể hiện điểm số mức độ liên quan đến nhau của chúng.
Hình thành những đề cử cá nhân hóa
Sau khi xây dựng Đồ thị video liên quan, bước tiếp theo sẽ xây dựng nhóm các video cá nhân hóa cho từng người dùng. Để có được các nhóm video này, chúng tôi phải thu thập tất cả những thông tin về video mà người dùng có thao tác tương tác (đã xem, thích, đánh giá, đưa vào danh sách ưa thích,…) – được gọi là nhóm video hạt giống. Cụ thể hơn, đối với mỗi video, chúng tôi có một nhóm video có liên quan, và từ đó tổng hợp tất cả chúng lại để tạo thành nhóm video đề cử.
Không may thay, những nhóm này không đủ rộng và phong phú để bao hàm toàn bộ các video có thể hấp dẫn người dùng. Vì vậy, giải pháp của chúng tôi là mở rộng các nhóm đề xuất bằng cách giới hạn một vòng khép kín bao ngoài Đồ thị video liên quan. Nói cách khác, nhóm đề xuất sẽ bao gồm cả những video có thể được tiếp cận trong vòng n click từ bất kì video nào trong nhóm hạt giống của Đồ thị video.
Công thức dưới đây được sử dụng để mô tả cách tìm video ứng cử đã được cá nhân hóa:
Xếp hạng
Bước cuối cùng của quá trình này là đánh giá thứ hạng video trong các video đề cử để hiển thị cho người dùng. Ba loại thông tin chúng tôi dùng để xếp hạng bao gồm: 1) chất lượng video, 2) đặc tính người dùng và 3) sự đa dạng hóa.
Những thông tin về chất lượng video được dùng để đánh giá khả năng video sẽ được ưa thích bởi và không phụ thuộc vào người dùng cụ thể nào, bao gồm lượt xem, lượt đánh giá, bình luận, ưa thích, chia sẻ,…
Thông tin về đặc tính người dùng được xem xét để tăng khả năng video phù hợp với thị hiếu đặc trưng và ưu tiên của người dùng.
Do ở mỗi thời điểm người dùng thường có hứng thú với nhiều chủ đề khác nhau, chúng tôi loại bỏ những video giống nhau trong công đoạn này để phát huy tốt hơn tính đa dạng. Một thao tác đơn giản hướng tới mục đích này là kiểm soát chặt chẽ số lượng video cùng liên hệ với một video hạt giống, hoặc hạn chế số lượng video đề cử từ cùng một kênh cá nhân (cùng một người đóng góp). Ngoài ra, những kỹ thuật tinh vi hơn dựa trên việc phân nhóm chủ đề và phân tích nội dung cũng thường xuyên được sử dụng.
Cuối cùng, chúng tôi chọn ra từ 4-60 video trong những đề cử đã xếp hạng để hiển thị cho người dùng. Những video này đã được tối ưu hóa để cân đối giữa mức độ liên quan và sự đa dạng trong tất cả các thể loại.
Kết luận
“Khuyến nghị” là một trong ba đề tài nghiên cứu quan trọng trong máy móc học (Machine Learning) và hiện đang được sử dụng trong rất nhiều lĩnh vực. Một cách tiếp cận về kĩ thuật đề xuất có thể được áp dụng cho nhiều bài toán trong các lĩnh vực khác nhau bởi tuy có những đặc tính riêng biệt nhưng giữa chúng cũng tồn tại nhiều điểm tương đồng. Cũng bởi vậy, thuật toán đề xuất của YouTube có thể được sử dụng trong một số mô hình khác như: đề xuất sản phẩm trên mạng lưới kinh doanh online, hoặc đề xuất sách rao bán trực tuyến,…
Nguyễn Đỗ Hải – FPT Software
Tin liên quan: