Đặt vấn đề và lý do chọn đề tài, khảo sát hiện trạng, mục tiêu và phạm vi nghiên cứu, công cụ xây dựng hệ thống và bố cục của báo cáo. © Chương 2: Cơ sở lý thuyết: Giới thiệu lý thuyết, khái niệm về hệ thống gợi ý, các thư viện, công cụ sử dụng trong dé tài. Trình bày ưu nhược điểm của từng mục và lí do lựa chọn. Trình bày chỉ tiết lý thuyết thuật toán áp dụng trong đề tài.
e Chương3: Phân tích và thiết kế hệ thong: Trình bay sơ đồ tô chức của ứng dụng, phân tích thiết kế hệ thống, thiết kế cơ sở dữ liệu, thiết kế giao diện và các usecase, luồng chạy của ứng dụng. e Chương 4: Cài đặt và triển khai hệ thống: Trình bày những công cụ đã sử dụng, các dịch vụ bên thứ 3 được sử dụng dé hiện thực sản phẩm của đề tài. Cách áp dụng các thuật toán phân lớp. Cách triển khai hệ thống, và các thành phần làm việc với nhau như thế nào.
e Chương 5: Kết luận: Tóm tắt đề tài, thành công và hạn chế, hướng phát triển tương lai về mặt chức năng và khả năng đề xuất cho người dùng. Ngoài ra còn có các danh mục sau: e_ Danh mục hình: Liệt kê các hình ảnh xuất hiện trong báo cáo. © - Danh mục bảng: Liệt kê các bảng xuất hiện trong báo cáo. ® Danh mục từ viết tắt: Liệt kê và điễn đạt các từ viết tắt xuất hiện trong báo cáo.
e Tài liệu tham khảo e Phụ lục CHƯƠNG 2: CƠ SỞ LÝ THUYET Dé hoàn thành tốt mục tiêu dé ra của khóa luận, không thé không nhắc lại những kiến thức lý thuyết quan trọng. Đặc biệt là cần làm rõ những lý thuyết về công nghệ, thuật toán, khái niêm được sử dụng và nhắc đến trong khóa luận.1 Hệ thống khuyến nghị là gì ? Hệ thống khuyến nghị (Recommender system or Recommendation system) là một mô hình lọc thông tin (hình ảnh, video, âm nhạc, .) sử dung dữ liệu dé dự đoán xếp hạng của những đối tượng cho người dùng. Vi du: Dựa vào lịch sử xem video dé dự đoán những videos mà người dùng có thể quan tâm. Hệ thống khuyến nghị hiện nay là một trong những chủ đề được nghiên cứu sôi nổi khi mà khối lượng dữ liệu đang ngày càng lớn.
Những ứng dụng của mô hình này trong thực tế hiện nay như: ¢ Youtube hiện cho người dùng những videos mà họ có thé thích © Amazon gợi ý sản phâm dựa trên sản phâm mà người dùng mua e Facebook, Google ưu tiên hiện quảng cáo những sản phẩm mà người dùng vừa tìm kiếm e Netflix gợi ý phim cho người dùng dựa trên những phim mà người dùng đã xem Một số hướng tiếp cận của bài toán này bao gồm [1]: 1. Đề xuất dựa trên nội dung (Content-based recommendation) 2. Đề xuất lọc cộng tac (Collaborative-filtering recommendation) 3. Dé xuất kết hợp (Hybrid recommendation) 2.1 Content-based recommendation 1a gi ? Phương pháp nay sử dụng những đặc tinh (features) của item được khuyến nghị.
Vi dụ như một người dùng Facebook xem rất nhiều videos về “Review phim”, hệ thống sẽ tìm những videos có chung đặc tính “Review phim” dé gợi ý cho người dùng này. Hướng tiếp cận này so sánh sự tương đồng của đặc tính giữa những items trong cơ sở đữ liệu so với những items mà người dùng đã phản ứng tích cực (thích, xem nhiều, bình luận,. Những đặc tính này được biểu diễn dưới dạng vec-tơ và có thể tính được độ tương đồng thông qua các độ đo như khoảng cách euclid, độ tương đồng cosine,. Nhu đã dé cập, content-based recommendation khuyến nghị những items tương đồng với những items mà người dùng đã thích (hoặc mua, xem nhiều,.
Do đó, xu hướng của một người dùng có thé được mô hình hoá dựa trên lịch sử hoạt động của người dùng đó. Các bước chính: e _ Biểu diễn mỗi sản phâm dưới dạng một vector thuộc tính. e Recommend các sản phẩm tương tự nhau © _ Hoặc xây dựng profile người dùng theo các thuộc tính sản phẩm và recommend sản phẩm có thuộc tính phù hợp với profile người dùng Trong khoá luận này, đối với bài toán khuyến nghị những videos tương đồng với những videos mà một người dùng cụ thé đã xem, sinh viên sử dụng những thông tin như lượt likes và dislikes của video, số lượng bình luận, thời gian chạy của video, thể loại video,. để tạo nên vec-tơ đặc trưng cho mỗi video mà người dùng đã xem, đặc biệt là những video người dùng thích hoặc xem nhiều lần.
watched by user similar movies recommended †o user Hình 2 - 1. Mô hình phương pháp Content-based Filtering 2.2 Collaborative-filtering là gì ? Collaborative-filtering recommendation là hệ thống gợi ý items dựa trên sự tương đồng giữa những người dùng hoặc so với những items khác. Trong hướng tiếp cận này có hai thuật toán chính: Lọc cộng tác dựa trên người dùng (User-based collaborative- filtering) và Loc cộng tác dựa trên sản phẩm (Item-based collaborative-filtering) 2.1 User-based collaborative-filtering là gì ? Trong thuật toán này, hệ thống giả định rằng người dùng có thể thích những items mà người dùng có cùng đặc điểm thích. Đầu tiên, thuật toán tìm kiếm người dùng có cùng mà hệ thống cho rằng có cùng sở thích với người dùng cần được khuyến nghị, sau đó hệ thống xếp hạng và gợi ý những items mà người dùng tương tự thích cho người dùng đó.
watched by both users my es similar users watched 4 =< Peon’ by her es to him Hình 2 - 2. Mô ta phương pháp User-based Collaborative-filtering Vi du: Ba người dùng An, Bình và Thuy đều xem phim Iron Man. Ngoài ra, ta biết được rằng An cũng thích xem phim khác là Captain America, hệ thông có thé dự đoán rằng Bình và Thuỷ có thể cũng thích xem phim Captain America nên gợi ý cho họ.2 Item-based collaborative-filtering là gì ? Đối với Lọc cộng tác dựa trên sản phẩm, thuật toán này giả định rằng người dùng có thể sẽ thích những items tương tự với những items mà người dùng này thích trước đó. Bước đầu tiên của thuật toán là tìm kiếm những items tương tự với items mà người dùng đã thích.
Sau đó, hệ thống sẽ xếp hạng dựa trên độ tương đồng và gợi ý cho người dùng. Vi dụ: Một người ding đã xem phim Ant-Man. Trong khi đó, hệ thống biết được rằng Ant-Man là thể loại phim về siêu anh hùng/viễn tưởng và được sản xuất bởi Marvel studio. Do đó, những phim có đặc điểm tương tự như: Avenger, Iron-Man,.
sẽ được gợi ý cho người dùng đó.3 Hybrid recommendation là gì ? Mỗi phương pháp đều có ưu điểm và nhược điểm riêng biệt. Những nhược điểm của các phương pháp này có thể được bù đắp bởi ưu điểm của phương pháp khác. Đề xuất kết hợp là mô hình kết hợp giữa ít nhất 02 mô hình khuyến nghị khác nhau để tận dụng tất cả ưu điểm của các mô hình và từ đó giúp mô hình đưa ra khuyến nghị chính xác hơn. Đề xuất kết hợp được xây dựng chủ yếu bằng cách kết hợp giữa Đề xuất dựa trên nội dung và Dé xuất lọc cộng tác.
Cụ thể, hệ thống kết hợp sẽ nhận kết quả trả về từ cả 2 phương pháp và đưa ra gợi ý bằng cách lấy trung bình có trọng sé của kết quả từ cả 2 phương pháp 2.2 Các lý thuyết được sử dụng để phát triển hệ thống gợi ý Dưới đây là các lý thuyết, thuật toán dùng đê xây dựng module Recommendation. Sinh viên đã đánh giá, tìm hiểu và nghiên cứu các thuật toán và đã lọc ra những phương pháp thích hợp nhất với mục tiêu và yêu cầu của đề tài.1 TF-IDF (Term Frequency — Inverse Document Frequency) TF-IDF [2] là viết tắt của term frequency-inverse document frequency, là một kỹ thuật được sử dụng trong truy vấn thông tin và khai phá dữ liệu văn bản, nó được biểu diễn dưới dạng vec-tơ những trọng só, mỗi phan tử trong vec-tơ cho biết mức độ quan trọng của một từ cụ thể trong một văn bản. Sự quan trọng của một từ tỉ lệ thuận với số lần xuất hiện của từ đó trong một văn bản và tỉ lệ nghịch với số lần xuất hiện của từ đó trong toàn bộ văn bản (ví dụ như những từ “là”, “tôi”, “và” tuy xuất hiện nhiều trong mọi văn bản nhưng thực tế nó ít quan trọng hơn những từ khác). Term frequency TF (, đ) mô ta số tần suất xuất hiện của một từ trong một văn bản d.
Tần suất xuất hiện của r trong văn bản d càng lớn thì độ quan trọng của nó đối với văn bản càng cao và được tính bởi số lần xuất hiện của r trong d chia cho tổng số từ trong văn bản d như sau: TF(t,d) = Frequency(t, d) Yee a Frequency(t’, d) Inverse document frequency IDF(t) cho biết tỉ lệ nghịch đảo của tần suất xuất hiện của từ ¢ trong toàn bộ văn bản. Do đó, t xuất hiện càng nhiều lần trong toàn bộ văn bản, độ quan trọng của nó càng giảm đi do nó làm giảm đi sự phân biệt giữa các văn bản với nhau. IDF được tính theo công thức: II NỌặ) ứ.P) IDF(,D)= —————— 1+l{deD:ted)| Với: - N(D): Tổng số văn bản trong tập văn bản mà ta có - l{d eD : t e đ}|: Số văn bản mà chứa từ 7, nếu không có trong toàn bộ văn bản, biểu thức sẽ chia cho 0, do đó ta chỉnh phần mẫu số thành 1 + |{đ e D : £ e d}| Kết hợp hai biểu thức trên, ta được: TFIDF(t,d,D) = TF(t,d) * IDF(t,D) Trong thực tế, ta thường lấy Jog cho TF va IDF nhằm giảm bớt di sự quan trọng của những từ xuất hiện quá nhiều lần. Do đó TFIDF được tính như sau: TFIDF (t, d,D) = log(1 + TF(t, đ)) * log(IDF(Œ, D)) 2.2 Kỹ thuật chuẩn hóa dữ liệu Min — Max Scaling Chuẩn hóa Min - Max Scaling [3] là phương pháp đơn giản nhất trong việc co giãn phạm vi của đặc trưng bằng việc co giãn chúng về phạm vi [0,1] hoặc [-1,1].
Công thức chung được cho như sau: > ÁX-rñif(x) * (x) — min(x) với x là giá trị ban dau, x’ là giá trị sau khi chuẩn hóa, min(x) là giá trị nhỏ nhất của đặc trưng và max(x) là giá trị lớn nhất của đặc trưng.3 Công thức tính độ tương đồng Cosine Similarity Cosine(A,B) = II4lIlIPII Cos góc alpha được gọi là cosine similarity, đó chính là độ tương đồng của vector A và B. Giá trị của cosine luôn nằm trong đoạn [-1, 1]. Vậy ta rút ra được. © Néu giá trị cosine bằng 1, nghĩa là góc hợp bởi vector A và vector B là 0 độ.
Tức hai vector trùng nhau. => đối tượng A, B giống nhau. e Ngược lại, giá tri cosine càng tiến dần về -1 thì A, B là khác nhau.