NHIỆM VỤ VÀ NỘI DUNG: • Tìm hiểu vai trò và ý nghĩa của hệ thống đề xuất đối với lĩnh vực thương mại điện tử • Tìm hiểu cở sở lí thuyết và hiện thực hai mạng học sâu Neural C
Giới thiệu bài toán
Ý nghĩa khoa học và thực tiễn
1.3 Ý nghĩa khoa học và thực tiễn
Dựa trên các cơ sở lí thuyết được trình bày về hai mạng học sâu là NCF và
WD (sẽ được trình bày rõ hơn ở chương 3.2 và 3.3), đề tài nghiên cứu sẽ thiết kế và hiện thực lại hai mạng học sâu này, sao cho có thể vận hành trên cùng một tập dữ liệu
Từ đó có thể đưa ra các nhận xét, đánh giá về quá trình thiết kế, thời gian huấn luyện, và kết quả vận hành của hai mạng này Đồng thời, cũng dựa trên các cơ sở lí thuyết, đề tài sẽ đề xuất một số cải tiến, nhằm giúp các mạng có thể hoạt động tốt hơn, đóng góp vào việc phát triển các hệ thống đề xuất
Ngoài ra, đề tài còn đưa ra một phương pháp đánh giá nhằm kiểm tra tính tổng quát của mạng WD, áp dụng thuật toán PCA (Principal Component Analysis) và kỹ thuật K-Means trong Machine Learning (học máy) Phương pháp đánh giá này nhằm giúp chúng ta có thêm một số kết quả, để đảm bảo mô hình hoạt động tốt trước khi áp dụng vào thực tế
Việc triển khai công nghệ học sâu đòi hỏi hệ thống siêu máy tính tốn kém Để tránh lãng phí tài chính và tài nguyên, các doanh nghiệp nên nghiên cứu kỹ lưỡng để trang bị hệ thống tính toán phù hợp, vừa đủ đáp ứng nhu cầu của ứng dụng.
Bên cạnh đó, tính chất về sản phẩm và dữ liệu là khác nhau, và mục tiêu triển khai các hệ thống đề xuất đối với từng lĩnh vực là khác nhau, nên đòi hỏi các doanh nghiệp cần áp những mạng học sâu khác nhau sao cho phù hợp nhất Đề tài này sẽ giúp cho các nhà quản lí, doanh nghiệp có thêm một số cơ sở, góc nhìn từ đó có thể tham khảo và giải quyết hai vấn đề được nêu trên, khi có nhu cầu triển khai hệ thống đề xuất sử dụng hai mạng học sâu NCF và WD.
Các nghiên cứu liên quan
Các nghiên cứu trong nước
Hiện nay, về các STMĐT có nguồn gốc là các doanh nghiệp của Việt Nam đang rất hạn chế Có thể kể đến một số STMĐT nổi bật như Tiki, Sendo, Vỏ Sò Nhưng trong đó chỉ có Tiki là có thể cạnh tranh các vị trí nằm trong nhóm 3 so với các sàn thương mại đến từ nước ngoài như Shopee, Lazada, các STMĐT còn lại chưa được phổ biến, cũng như số lượng người sử dụng còn hạn chế nên việc áp dụng các phương pháp đề xuất chưa được sử dụng rộng rãi
Các STMĐT lớn như Shopee, Lazada hiện tại đã có áp dụng hệ thống đề xuất, tuy vậy các hệ thống này còn khá sơ khai, chưa áp dụng các công nghệ hiện đại, và cũng chưa thật sự gây ấn tượng mạnh với người dùng
Cụ thể đối với STMĐT Shopee [4], đang sử dụng thuật toán “Apriori” Apriori là một phương pháp tìm ra mối quan hệ giữa một hoặc nhiều sản phẩm trong tập dữ liệu lớn Thuật toán Apriori sử dụng tần suất thuộc tính được xác định trước để có thể tìm thấy thêm thông tin Trong thuật toán này, các sản phẩm đề xuất có thể xuất hiện sẽ được xác định bằng cách tính thông qua hai đại lượng chính là giá trị hỗ trợ tối thiểu (support) và độ tin cậy tối thiểu (confidence) [5] Cụ thể thuật toán Apriori gồm
3 thành phần là support, confidence, lift và được biểu diễn như công thức (1), (2) và (3):
𝑆𝑢𝑝𝑝𝑜𝑟𝑡 (𝐴) ∗ 𝑆𝑢𝑝𝑝𝑜𝑟𝑡 (𝐵) (3) Dựa vào công thức (1), (2), (3) chúng ta có thể thấy để đề xuất được một sản phẩm thì thuật toán Apriori cần trải qua 3 lần tính toán và yếu tố then chốt trong thuật toán Apriori là phải tính được số lượng giao dịch của một sản phẩm và tổng số giao dịch tại một thời điểm, điều này đòi hỏi cần phải kết nối và truy vấn dữ liệu liên tục để đảm bảo số liệu được cập nhật mới nhất, điều này ảnh hưởng rất lớn đến hiệu suất trong quá trình vận hành của ứng dụng [6].
Các nghiên cứu nước ngoài
Các giải pháp liên quan đến hệ thống đề xuất đã sớm được áp dụng đối với thương mại điện tử Một trong những thành công điển hình có thể kể đến sàn thương mại điện tử Amazon
Hình 2.1 Doanh số của Amazon qua các năm [7]
Dựa vào hình 2.1, chúng ta có thể thấy được doanh số của Amazon đã có những bước tăng trưởng vượt bậc từ năm 2017 đến năm 2020 Đặc biệt trong từ năm 2019 đến năm 2020 doanh số đã tăng 36% từ 280 tỷ đô lên tới 386 tỷ đô Thành công này đến từ việc Amazon đã áp dụng thành công mô hình đề xuất vào trong quá trình kinh doanh
Hệ thống đề xuất của Amazon khéo léo cung cấp các đề xuất được cá nhân hóa và phù hợp với người dùng Amazon sử dụng nhiều công nghệ tiên tiến để phân tích dữ liệu về hành vi, sở thích và mặt hàng được ưa chuộng của khách hàng Từ đó, hệ thống có thể đưa ra các đề xuất phù hợp, đáp ứng nhu cầu riêng của từng người dùng.
• Collaborative Filtering: tìm kiếm những người dùng có cùng sở thích từ đó Amazon có thể giới thiệu những sản phẩm mà một người dùng đã sử dụng cho những người dùng khác có cùng sở thích
• User-Based Collabrotive Filtering: xác định những người dùng có sở thích và sở thích tương tự dựa trên hành vi lịch sử của họ
• Item-Based Collabrotive Filtering: xác định sự tương đồng giữa các mặt hàng dựa trên số lượng người dùng đã mua
• Content-Based Filtering: phân tích các đặc điểm của sản phẩm, như tiêu đề, mô tả, danh mục và thuộc tính của chúng
• NLP for Textual Data: trích xuất thông tin chi tiết từ đánh giá của khách hàng, mô tả sản phẩm và dữ liệu từ văn bản
• Machine Learning và Deep Learning: những thuật toán này có thể xử lý lượng lớn dữ liệu, tìm hiểu các mô hình và mối quan hệ phức tạp có trong tập dữ liệu bằng cách huấn luyện mô hình trên dữ liệu lịch sử
Các mô hình mạng nơ-ron sâu có thể dự đoán tỷ lệ nhấp chuột (CTR) bằng cách được huấn luyện trên dữ liệu nhấp chuột trong quá khứ Tỷ lệ nhấp chuột là xác suất người dùng nhấp vào một mục cụ thể, do đó dự đoán CTR có thể giúp các hệ thống cải thiện hiệu suất bằng cách ước tính khả năng người dùng thực hiện hành động nhấp chuột cho từng mục.
• Recurrent Neural Networks (RNNs) for Sequential Recommendations: sử dụng các kiến trúc RNN như Long Short-Term Memory (LSTM) và Gated Recurrent Unit (GRU) để mô hình hóa các tương tác tạm thời, hoặc đang thực hiện của người dùng
• Real-Time Data Processing: hoạt động trong thời gian thực và thích ứng với sự phát triển của sở thích và thay đổi hành vi của người dùng
Một ví dụ khác có thể kể đến là Netfix, tuy không phải là một STMĐT, nhưng Netfix cũng đã rất thành công sau khi áp dụng mô hình đề xuất và đạt được nguồn doanh thu đáng kể
Hình 2.2 Doanh số của Netfix qua các năm [9]
Một số công nghệ được Netfix sử dụng cho hệ thống đề xuất của mình [10] :
Sử dụng hệ thống đề xuất đóng vai trò tối quan trọng trong kinh doanh hiện đại Hệ thống này giúp doanh nghiệp cá nhân hóa trải nghiệm của khách hàng bằng cách đưa ra những đề xuất về sản phẩm hoặc dịch vụ liên quan, dựa trên các tương tác trước đây của họ Bằng cách tận dụng hệ thống đề xuất, doanh nghiệp có thể tăng khả năng chuyển đổi, tăng doanh số và xây dựng mối quan hệ bền chặt hơn với khách hàng.
Nền tảng lý thuyết
Mạng học sâu Neural Collaborative Filtering
Trước khi đi vào tìm hiểu mạng học sâu NCF(Neural Collaborative Filtering), chúng ta sẽ tìm hiểu về một phương thức có thể xem là tiền thân của NCF là bộ lọc cộng tác(Collaborative Filtering) [12]
Sử dụng đồng thời các điểm tương đồng giữa người dùng và sản phẩm để đưa ra các đề xuất Điều này cho phép các đề xuất ngẫu nhiên, nghĩa là các bộ lọc cộng tác có thể đưa ra các đề xuất các sản phẩm cho người dùng A dựa trên sở thích của người dùng B
Ngoài ra, các phép nhúng (embedding) có thể học tự động mà không cần phải dựa vào kỹ thuật thủ công của các đặc điểm
Ma trận thừa số là một mô hình nhúng (embedding model) đơn giản Cung cấp các thông tin về đánh giá dưới dạng một ma trận 𝐴 𝜖 𝑅 𝑚 ×𝑛 với m là số người dùng(user) và n là số sản phẩm(item) Để xây dựng ma trận thừa số mô hình sẽ học từ:
• User embedding matrix 𝑃 𝜖 𝑅 𝑚×𝑑 , với mỗi dòng i sẽ thể hiện cho một embedding user
• Item embedding matrix 𝑄𝜖 𝑅 𝑛×𝑑 , với mỗi dòng j sẽ thể hiện cho một embedding item [13]
Hay nói một cách khác, chúng ta sẽ phân tích ma trận thừa số thành hai ma trận của người dùng (user) và sản phẩm (item)
Sử dụng phép nhân ma trận để 𝑃𝑄 𝑇 để tính được các cặp giá trị tương ứng trong ma trận thừa số, hay còn gọi là phép tính nhân ma trận(dot product) [14]
Hình 3.1 Cách tính ma trận thừa số [15]
Dựa vào hình 3.1, ma trận P(ma trận biểu diễn người dùng, nằm bên trái và có kích thước 4×2) và ma trận Q(ma trận biểu diễn các bộ phim và có kích thước 2×4) đều có giá trị nằm trong khoản [-1,1], trong đó ma trận 𝑃 4×2 có cột một thể hiện người dùng có mức ưu tiên chọn loại phim nào hơn, cột hai thể hiện bộ phim này mức độ ưu tiên đối tượng là người lớn hay trẻ em hơn Ma trận 𝑄 2× 4 , đi theo cột là tương ứng từng bộ phim, đi theo hàng thì hàng thứ nhất là phân biệt thể loại phim, hàng thứ hai là phân biệt người lớn hay trẻ em
Ma trận thừa số sẽ được tính bằng cách thực hiện phép nhân 𝑃𝑄 𝑇
Thực hiện phép nhân ma trận, chúng ta sẽ xây dựng được ma trận thừa số Cuối cùng kết quả dự đoán sẽ được tính theo công thức:
(4) trong đó K là số chiều của vector tiềm ẩn của người dùng và sản phẩm
Ma trận thừa số mô hình hóa tương tác giữa người dùng và sản phẩm bằng cách kết hợp tuyến tính các yếu tố ẩn của mỗi chiều không gian ẩn, không phụ thuộc vào nhau và có trọng số bằng nhau Do đó, ma trận thừa số được coi là mô hình tuyến tính của các yếu tố tiềm ẩn.
• Như trình bày ở trên ma trận thừa số hoàn toàn được xây dựng từ các phép nhân tuyến tính giữa các tham số, nên không yêu cầu mức độ tính toán cao, tốc độ sẽ được tối ưu Đồng thời ma trận thừa số cũng giúp đưa ra các dự đoán chính xác về sản phẩm tương tự, vì dựa hoàn toàn vào điểm tương tác của khách hàng đối với các sản phẩm tương tự
• Khi số lượng tương tác của khách hàng với từng sản phẩm không được cao, dẫn đến, ma trận thừa số sẽ bị thưa, lúc này ma trận thừa số sẽ không còn hoạt động tốt
• Vì cách tính quá đơn giản nên, ma trận thừa số cũng sẽ không có khả năng tổng quát đổi với những tập dữ liệu lớn và có tính phức tạp cao.
Hình 3.2 Hạn chế của ma trận thừa số [16]
Như ma trận bên trái của hình 3.2, theo lịch sử giao dịch, chúng ta có thể thấy User_4 sẽ tương đồng nhiều nhất với User_1, tiếp đến là User_3 và cuối cùng là User_2 Nhưng khi được biểu diễn trong không gian ẩn như đồ thị bên trái hình 3.2, vì User_2 và User_3 có điểm tương đồng nên khi biểu diễn trên không gian ẩn sẽ được đặt cạnh nhau, nên khi đặt vector 𝑝 4 (vector ẩn của User_4) giữa 𝑝 1 và 𝑝 2 , làm cho 𝑝 4 gần 𝑝 2 hơn 𝑝 3 , hoặc nếu đặt 𝑝 4 lên trên cùng thì 𝑝 4 là không gần 𝑝 2 và 𝑝 3 , các trường hợp này đều không mô tả đúng mối quan hệ của các User theo thức tế Để giải quyết các hạn chế của mạ trận thừa số, mạng NCF được ra đời
Hình 3.3 Kiến trúc mạng NCF [12]
Tổng quan về kiến trúc mạng của NCF được chia thành hai thành phần chính:
• Thành phần tuyến tính là lớp GMF( Generalized Matrix Factorization) là phép nhân ma trận giữa ma trận tương tác User(người dùng) và Item(sản phẩm), nhằm tìm ra các mối quan hệ giữa User, Item
• Thành phần phi tuyến bao gồm các lớp MLP(mulit-layer perceptron) xếp chồng lên nhau, các lớp MLP này có mục đích giúp model học được các mối quan hệ ẩn, phức tạp thông qua các hàm phi tuyến Và vì đầu vào chỉ có giá trị User và Iteam nên các lớp MLP còn giúp model tăng tính cá nhân hóa, đây cũng là một điểm nổi bật của mạng NCF
Cuối cùng hai thành phần này sẽ được kết hợp với nhau và huấn luyện chung để tối ưu các tham số trong quá trình huấn luyện
Chi tiết mạng NCF được chia thành 4 layers để thực hiện bộ lọc cộng tác sử dụng mạng neural
• Input layer : Đầu vào sẽ nhận vector thưa được mã hóa dưới dạng one-hot của người dùng và sản phẩm dưới dạng 𝑉 𝑢 𝑈 và 𝑉 𝑖 𝐼 Ví dụ, có 5 người dùng và 8 sản phẩm thì vector one-hot của người dùng thứ 3 (User_3) và sản phẩm thứ 5 (Item_5) lần lượt như sau:
User_1 User_2 User_3 User_4 User_5
Item_1 Item_2 Item_3 Item_4 Item_5 Item_6 Item_7 Itemp_8
0 0 0 0 1 0 0 0 Điều này giải quyết hiệu quả vấn đề thưa của dữ liệu, khi số lượng tương tác giữa người dùng và sản phẩm bị hạn chế
• Embedding layer : Chuyển hóa các giá trị đầu vào thành các vector có giá trị thực với độ dài cố định, điều này giúp tối ưu hóa không gian lưu trữ Với mục đích biểu diễn các giá trị User, Item dưới dạng các vertor dày đặc trong không gian dữ liệu thấp, điều này góp phần vào việc giải quyết vấn đề thưa của tập dữ liệu
• Neural CF Layer : sử dụng kiến trúc mạng học sâu để ánh xạ các vector tiềm ẩn của các điểm dự đoán
Các thuật toán sử dụng trong phân cụm người dùng
• Cải thiện khả năng tách cụm: PCA có thể giúp xác định các tính năng mạng lại nhiều thông tin nhất, giúp phân tách tốt hơn giữa các cụm Điều này có thể dẫn đến các cụm khác biệt và có ý nghĩa hơn khi được sử dụng kết hợp với K-Means
• Giảm nhiễu: PCA có thể giúp giảm tác động của nhiễu và các tính năng không liên quan trong tập dữ liệu, điều này có thể cải thiện được chất lượng các cụm được hình thành bởi K-Means
3.4.1 Thu giảm số chiều sử dụng thuật toán PCA (Principal Component Analysis)
Phương pháp Principle Component Analysis (PCA), đây là một thành tựu của toán học mà ngày nay được ứng dụng trong rất nhiều lĩnh vực: công nghệ thông tin, sinh học, tài chính, và công nghệ thực phẩm
Với dữ liệu cần phân tích ban đầu phụ thuộc nhiều biến, vấn đề là các biến này thường có tương quan với nhau sẽ bất lợi cho việc áp dụng các biến này để xây dựng các mô hình tính toán, ví dụ như là hồi quy và với số biến giải thích lớn chúng ta sẽ rất khó để có cái nhìn trực quan về dữ liệu
Cách tiến hành phương pháp PCA
Phương pháp PCA giúp biểu diễn dữ liệu đa chiều sang không gian mới vuông góc nhằm thể hiện dữ liệu gốc dưới dạng các biến độc lập Tiêu chí của PCA là tìm không gian mới phản ánh thông tin gốc nhiều nhất, được đo bằng phương sai Đặc biệt, các biến trong không gian mới là độc lập, cho phép tính tỷ lệ giải thích phương sai của từng biến đối với dữ liệu, giúp tối ưu việc sử dụng số lượng biến ít để giải thích dữ liệu hiệu quả.
Nói một cách ngắn gọn, mục tiêu của PCA là tìm một không gian mới (với số chiều nhỏ hơn không gian cũ) Các trục tọa độ trong không gian mới được xây dựng sao cho trên mỗi trục, độ biến thiên của dữ liệu trên đó là lớn nhất có thể
Hình 3.6 Minh họa phép chiếu [18]
Minh họa PCA: phép chiếu lên các trục tọa độ khác nhau có thể cho cách nhìn rất khác nhau về cùng một dữ liệu
- Một ví dụ kinh điển là hình ảnh về con lạc đà như hình 3.7 Cùng là một con lạc đà nhưng nếu nhìn từ bên hông thì ta có được đầy đủ thông tin nhất, trong khi nhìn từ phía trước thì thật khó để nói nó là lạc đà Ưu điểm của PCA:
• Giúp giảm số chiều của dữ liệu
• Thay vì giữ lại các trục tọa độ của không gian cũ, PCA xây dựng một không gian mới ít chiều hơn, nhưng lại có khả năng biểu diễn dữ liệu tốt tương đương không gian cũ, nghĩa là đảm bảo độ biến thiên (variability) của dữ liệu trên mỗi chiều mới
• Các trục tọa độ trong không gian mới là tổ hợp tuyến tính của không gian cũ, do đó về mặt ngữ nghĩa, PCA xây dựng feature mới dựa trên các feature đã quan sát được Điểm hay là những feature này vẫn biểu diễn tốt dữ liệu ban đầu
Trong không gian mới, các liên kết tiềm ẩn của dữ liệu có thể được khám phá, mà nếu đặt trong không gian cũ thì khó phát hiện hơn, hoặc những liên kết như thế không thể hiện rõ
3.4.2 Thuật toán - K_Means Clustering Đề tài sử dụng thuật toán K-Means để phân cụm khách hàng, việc sử dụng K-Means sẽ có một số ưu điểm:
• Khả năng diễn giải: K- Means tạo ra kết quả dễ hiệu bằng cách chỉ định mỗi khách hàng vào một cụng được đại diện bởi một tâm Điều này cho phép đề tài hiểu được các nhóm khách hành khác nhau dựa trên những đặc điểm của họ
• Khả năng mở rộng: K-Means có khả năng xử lí hiệu quả các tập dữ liệu lớn với nhiều khác hàng, điều này giúp cho K-Means rất phù hợp đối với các tập dự liệu có khả năng mở rộng nhanh như thương mại điện tử
• Tính đơn giản: K-Means rất dễ triển khai và dễ hiểu, điều này là một lợi thế trong quá trình triển khai thực tế
• Tùy chỉnh: K-Means cho phép khả năng tùy chỉnh số lượng cụm dựa trên nhu cầu thực tiễn và mức độ chi tiết trong quá trình vận hành thực tế
Trong thuật toán k-Means Clustering chúng ta được cung cấp một tập dữ liệu đầu vào {x 1, x 2, , x n }, trong đó x ∈ R d và phân cụm chúng vào những nhóm dữ liệu có tính chất chung Điểm đặc biệt của tập dữ liệu này là chúng hoàn toàn chưa được gán nhãn Như vậy k-Means Clustering là một thuật toán thuộc lớp các mô hình học không giám sát (Unsupervised Learning)
Trong thuật toán k-Means clustering mỗi cụm dữ liệu được đặc trưng bởi một tâm (centroid) Tâm là điểm đại diện nhất cho một cụm và có giá trị bằng trung bình của toàn bộ các quan sát nằm trong cụm Chúng ta sẽ dựa vào khoảng cách từ mỗi quan sát tới các tâm để xác định nhãn cho chúng trùng thuộc về tâm gần nhất Ban đầu thuật toán sẽ khởi tạo ngẫu nhiên một số lượng xác định trước tâm cụm Sau đó tiến hành xác định nhãn cho từng điểm dữ liệu và tiếp tục cập nhật lại tâm cụm Thuật toán sẽ dừng cho tới khi toàn bộ các điểm dữ liệu được phân về đúng cụm hoặc số lượt cập nhật tâm chạm ngưỡng
Cụ thể các bước của thuật toán k-Mean Clustering được tóm tắt như sau:
1 Khởi tạo ngẫu nhiờn k tõm cụm à 1, à 2, , à k
Giải pháp đề xuất
Phương pháp đánh giá
Khác với các bài toán khác, việc đánh giá một hệ thống đề xuất có hoạt động tốt hay không là một câu hỏi rất khó trả lời Vì trên một STMĐT chúng ta có hàng triệu hay vài trăm triệu khách hàng khác nhau, nên sở thích, nhu cầu của từng khách hàng cũng sẽ khác nhau và thậm chí còn thay đổi theo thời gian [21]
Về tổng quan chúng ta có thể chia làm 2 phương pháp đánh giá:
Đánh giá hiệu suất hệ thống đề xuất có thể được thực hiện trực tuyến sau khi triển khai hệ thống trong môi trường thực Các phương pháp đánh giá phổ biến bao gồm: Tỷ lệ nhấp (CTR) đo lường số người dùng nhấp vào sản phẩm được đề xuất, Tỷ lệ duy trì (RR) đo tần suất người dùng quay lại hoặc sử dụng hệ thống sau khi triển khai đề xuất và Tỷ lệ chuyển đổi (CR) đo tỷ lệ chuyển đổi thành giao dịch thành công, giúp đánh giá mức độ hiệu quả của hệ thống đề xuất dựa trên doanh số và các phương pháp trên.
• Phương pháp đánh giá offline Cũng giống như những bài toán khác, để đánh giá một mạng học sâu chúng ta sẽ dùng một số độ đo như: o Mean Absolute Error (MAE) : giá trị trung bình sai lệch giữa kết quả dự đoán và kết quả thực tế
𝑛∑ 𝑛 𝑖 =1 |𝑦 𝑖 − 𝑦̂ | 𝑖 (9) o Mean Squared Error (MSE) : giá trị trung bình bình phương của sự khác biệt giữa giá trị thực tế và giá trị dự đoán được
𝑖 =1 o Root Mean Squared Error (RMSE): độ lệch chuẩn của các lỗi xảy ra khi thực hiện dự đoán trên tập dữ liệu
Trong các công thức (9),(10),(11) các giá trị lần lượt là :
▪ n là tổng số điểm dữ liệu
▪ 𝑦 𝑖 là giá trị thực tế của điểm dữ liệu thứ i
▪ 𝑦̂ là giá trị dự đoán được tại điểm thứ i 𝑖 Như trình bày ở trên, nhu cầu, sở thích của người dùng sẽ rất khác nhau và còn có thể thay đổi theo thời gian, nên đề tài đề xuất một số phương pháp đánh giá linh động hơn, đó là sử dụng giá trị NDCG (Normalized Discounted Cumulative Gain) [22] để đo chất lượng xếp hạng trong vị trí sản phẩm được đề xuất với vị trí xếp hạng được người dùng thực hiện và phương pháp đánh giá độ tổng quát
Normalized Discounted Cumulative Gain (NDCG) [22] là thước đo chất lượng xếp hạng Nó so sánh thứ hạng của danh sách được đề xuất với thứ hạng thực tế mà người dùng thực sự ưu thích trên cùng một danh sách sản phẩm
Hình 4.2 Ý tưởng của phương pháp NDCG [22]
Thông thường khi sử dụng NDCG, chúng ta sẽ không sử dụng toàn bộ danh sách mà chỉ dừng lại ở vị trí nhất định, vị trí này được gọi là K
Hình 4.3 NDCG tại K [22] Để tính NDCG tại vị trí K, chúng ta cần tính discounted cumulative gain (DCG) và ideal DCG
• DCG@K là kết quả mà model dự đoán được và xếp hạng vị trí theo điểm dự đoán với K sản phẩm
• IDCG@K là vị trí xếp hạng thực tế mà người dùng đánh giá với K sản phẩm
• Trước khi tính DCG chúng ta sẽ tính cumulative gain (CG) CG là là thước đo mức độ liên quan tổng thể của danh sách được xếp hạng Nó tổng hợp điểm liên quan của từng mục trong danh sách được đề xuất
Ví dụ như hình 4.4 chúng ta có danh sách A với 5 sản phẩm, trong đó sản phẩm
3,4,5 là có liên quan thì CG của nó sẽ là 3 Tương ứng với danh sách B cũng có CG là 3
DCG sử dụng hàm logarithmic để hạ thấp các sản phẩm liên quan mà có thứ tự thấp trong danh sách theo công thức:
Trong đó 𝑟𝑒𝑙 𝑖 là điểm tương quan tại vị trí thứ i của sản phẩm
Tương tự như DCG, IDCG được tính trên danh sách thực mà người dùng đã thực hiện Khi áp dụng phương pháp này, cho phép chúng ta đánh giá được một cách mềm mại hơn, và có thể đi chi tiết theo từng người dùng
4.2.2 Phương pháp đánh giá độ tổng quát của model WD
Trong nghiên cứu này, đề tài thực hiện mạng WD, theo cơ sở lí thuyết, mạng
WD có khả năng tổng quát hoá người dùng Nghĩa là mô hình có thể đề xuất được không chỉ những sản phẩm đã được ưu thích nhất trên toàn tập dữ liệu, mà còn có thể đề xuất được các sản phẩm mà nhóm người dùng có cùng chung đặc điểm đang quan tâm Để kiểm chứng khả năng này, đề tài đề xuất phương pháp bao gồm các bước như sau:
1) Dựa trên tập dữ liệu hiện hữu, tiến hành phân cụm khách hàng, các đặc điểm dùng để phân cụm khách hàng sẽ tương ứng với các giá trị đầu vào của thành phần Deep
2) Sau khi gom cụm được khách hàng, tiến hành tìm kiếm danh sách các sản phẩm được ưu thích hay được sử dụng nhiều nhất trong từng cụm, ở đây đề tài sẽ truy vấn danh sách của 200 sản phẩm được ưa thích nhất Tạm gọi tập dữ liệu này là tập dữ liệu I
3) Sử dụng 500 Users ngẫu nhiên của từng cụm, cho qua model để dự đoán kết quả, chọn ra 70 sản phẩm có điểm dự đoán cao nhất của từng Users( tạm gọi là tập dữ liệu II), tiến hành kiểm tra mức độ giao thoa của tập dữ liệu I và II, điều này có nghĩa là chúng ta sẽ kiểm tra model có thể dự đoán được bao nhiêu sản phẩm đang được ưu thích trong từng cụm.
Hiện thực
Thu thập dữ liệu
Trong nghiên cứu này, đề tài sử dụng tập dữ liệu Contoso [23] Bộ dữ liệu Contoso BI Demo được sử dụng để minh họa các chức năng DW/BI trên toàn bộ dòng sản phẩm Microsoft Office Tập dữ liệu này bao gồm các kịch bản cấp C, bán hàng/tiếp thị, công nghệ thông tin và tài chính chung cho ngành bán lẻ và hỗ trợ tích hợp bản đồ Ngoài ra, tập dữ liệu này cung cấp khối lượng lớn giao dịch từ OLTP (Online Transactional Processing) và các tập hợp có cấu trúc tốt từ OLAP (Online Analytic Processing), cùng với dữ liệu tham chiếu và thứ nguyên Để dễ dàng hơn trong việc lưu trữ và truy vấn, đề tài đã trích xuất một số bảng có trong cơ sở dữ liệu Contoso và lưu trữ trên cơ sở dữ liệu Sqlite, một phiên bản tinh gọn hơn so với SQL-Server
Data model của tập dữ liệu mới :
Hình 5.1 Data model tập dữ liệu cho nghiên cứu
Cơ sở dữ liệu mới này bao gồm 4 bảng chính :
• Bảng products : chứa các thông tin về mã sản phẩm( productKey), tên sản phẩm( productName) và thể loại sản phẩm(ProductSubcategoryKey), và được liên kết với bảng product_sub_category bằng mối quan hệ n – 1
• Bảng product_sub_category chứa thông tin về thể loại sản phẩm và được liên kết với bảng products bằng mối quan hệ 1 – n
• Bảng customers bao gồm các thông tin về khách hàng như mã khách hàng (CustomerKey), mã vị trí( GeograpyKey), tình trạng hôn nhân( MaritalStatus), giới tính( Gender), thu nhập( YearlyIncome), học vấn( Education) và nghề nghiệp (Occupation) Bảng customers liên kết với bảng orders bằng mối quan hệ 1 – n
• Bảng orders chứa các thông tin chi tiết về giao dịch của khách hàng trên từng sản phẩm, bao gồm các thông tin chính như mã đơn hàng(OnlineSalesKey), mã sản phẩm(productKey), mã khách hàng(CustomerKey) Bảng orders đều liên kết với bảng products và customers bằng mối quan hệ n – 1
Một số thông tin tổng quan về tập dữ liệu Contoso:
Bảng 5.1 Thông tin tổng quan về tập dữ liệu
Số lượng người dùng 18869
Số lượng giao dịch 12627608
Hình 5.2 Tổng số sản phẩm theo từng CategoryID
Dựa vào hình 5.2, chúng ta có thể thấy các sản phẩm phân bố theo từng loại tương đối đồng đều, trong đó nổi bật có loại sản phẩm chiếm số lượng cao nhất là
Computers Accessories, Lamps tương ứng với CategoryID là 22 và 46
Hình 5.3 Tổng số Order và Amount theo từng CategoryID
Số lượng đơn đặt hàng và tổng tiền thu được theo từng CategoryID không tỷ lệ thuận với nhau, như hình 5.3 một số sản phẩm có CategoryID từ 10 đến 20 có số lượng đơn đặt hàng ít nhưng lại có doanh số cao, ngược lại một số sản phẩm có CategoryID từ 30 đến 40 có số đơn đặt hàng cao, song doanh số lại ít, điều này chứng tỏ giá trị của từng sản phẩm theo từng CategoryID có sự biến thiên theo từng CategoryID
Hình 5.4 Phân bố về độ tuổi, thu nhập và con của khách hàng
Dựa vào hình 5.4 chúng ta có thể thấy độ tuổi trung bình các khách hàng trong tập dữ liệu là 48, thu nhập trung bình hằng năm là 60.000$, và trung bình mỗi khách hàng sẽ có 2 người con
Một số thông tin về tình trạng hôn nhân và giới tính
Hình 5.5 Tổng số khách hàng theo tình trạng hôn nhân
Hình 5.6 Tổng số khách hàng theo giới tính Đối với model WD để thực hiện phần tổng quát hóa, model sử dụng các thuộc tính sử dụng làm giá trị input cho thành phần Deep Giá trị tương quan của các thuộc tính này này được biểu diễn như hình 5.7
Hình 5.7 Giá trị tương quan của các thuộc tính sử dụng trong model WD
Dựa vào hình 5.5 chúng ta có thể thấy một số thuộc tính có sự tương quan mạnh như tuổi(Age) và thu nhập( YearlyIncome) nghĩa là độ tuổi càng lớn thu nhập càng tăng hay nghề nghiệp( Occupation) và thu nhập (YearlyIncome) cũng có sự tỉ lệ thuận, ngược lại là độ tuổi (Age) với tình trạng hôn nhân(MaritalStatus), có tỉ lệ nghịch, càng lớn tuổi càng khó kết hôn
5.3 Hiện thực hai mạng học sâu
Vì cả hai mô hình này đều là mô hình học có giám sát và kết quả đầu ra chỉ cần trình bày được là người dùng thích hay không thích một sản phẩm, nên đề tài sẽ sử dụng binary lables (nhãn 0 và 1), biểu diễn như công thức(16):
0 𝑛𝑔ượ𝑐 𝑙ạ𝑖 (16) Việc chỉ sử dụng nhãn 0 và 1 sẽ đem lại một số lợi ích như :
• Góp phần giải quyết dữ liệu thưa, vì số lượng tương tác giữa một người dùng với tất cả sản phẩm là thấp, nên việc sử dụng giá trị 1 và 0 sẽ giúp model có thể nắm bắt được những giá trị liên kết ẩn bên trong tập dữ liệu
• Giúp tăng cường khả năng tính toán, từ đó có thể giúp model học trên toàn tập dữ liệu
• Model có thể sử dụng hàm loss binary cross-entropy loss, giúp model có thể đơn giản quá trình tối ưu hóa, từ đó giúp model dễ học hơn
Mô hình mạng NCF
Hình 5.8 Mô hình mạng NCF
Input layer bao gồm giá trị CustomerID và ProductID, CategoryID với kiểu dữ liệu là integer và được biểu diễn dưới dạng vecter One-Hot( Block 1)
From the input layer of CustomerID, ProductID, CategoryID, embedding layers are used to create two vectors MF and MLP (Block 2) Then, a flatten layer is used to flatten the vectors into one dimension.
Sau khi các vector MF CustomerID, MF ProductID, và MF CategoryID được duỗi thẳng, thực hiện lớp GMF bằng cách nhân ma trận cho ba vecter này
Lớp MLP(Block 4) sẽ nhận các lớp MLP CustomerID, MLP ProductID, MLP CategoryID đã được duỗi thẳng trước đó làm đầu vào Ba giá trị này sẽ được kết hợp với nhau thông qua lớp Concatenate Ở đây vì dữ liệu không quá nhiều nên đề tài chỉ sử dụng 2 lớp Dense trước kết hợp( Block 5) với kết quả ở lớp GMF layer để tạo thành NeuMF( Block 6), để huấn luyện chung, và lớp Output cuối cùng (Block 7) dùng để đưa ra kết quả dự đoán
Hình 5.9 Giá trị của hàm loss giữa tập train và tập validation mạng NCF
Hình 5.10 Độ chính xác của tập train và tập validation mạng NCF
Kết quả đánh giá trên tập test:
Mô hình mạng WD
Hình 5.11 Mô hình mạng WD
Cũng giống như mạng NCF, mạng WD cũng nhận giá trị đầu vào là
Ngoại trừ giá trị đầu vào là CustomerID và ProductID đã được chuyển hóa thành các vector số chiều thấp bằng lớp embedding( Block 2) , thành phần Deep sẽ sử dụng các thuộc tính