1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Hệ thống đề xuất sử dụng các mạng học sâu trong thương mại điện tử

72 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ thống đề xuất sử dụng các mạng học sâu trong thương mại điện tử
Tác giả Nguyễn Công Hậu
Người hướng dẫn PGS.TS Trần Minh Quang
Trường học Đại học Quốc gia TP. HCM
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 72
Dung lượng 1,28 MB

Cấu trúc

  • Chương 1: Giới thiệu bài toán (14)
    • 1.1. Lý do chọn đề tài (0)
    • 1.2. Mục đích nghiên cứu (0)
    • 1.3. Ý nghĩa khoa học và thực tiễn (0)
      • 1.3.1. Ý nghĩa khoa học (17)
      • 1.3.2. Ý nghĩa thực tiễn (17)
  • Chương 2: Các nghiên cứu liên quan (19)
    • 2.1. Các nghiên cứu trong nước (19)
    • 2.2. Các nghiên cứu nước ngoài (20)
  • Chương 3: Nền tảng lý thuyết (23)
    • 3.1. Đặc điểm các mạng học sâu (0)
    • 3.2. Mạng học sâu Neural Collaborative Filtering (24)
    • 3.3. Học sâu và rộng trong hệ thống đề xuất (Wide and Deep Learning for (0)
    • 3.4. Các thuật toán sử dụng trong phân cụm người dùng (0)
      • 3.4.1. Thu giảm số chiều sử dụng thuật toán PCA (Principal Component Analysis) (33)
      • 3.4.2. Thuật toán - K_Means Clustering (34)
  • Chương 4: Giải pháp đề xuất (40)
    • 4.1. Xây dựng model (0)
    • 4.2. Phương pháp đánh giá (42)
      • 4.2.1. Normalized Discounted Cumulative Gain (44)
      • 4.2.2. Phương pháp đánh giá độ tổng quát của model WD (46)
  • Chương 5: Hiện thực (47)
    • 5.1. Thu thập dữ liệu (47)
    • 5.2. Phân tích dữ liệu (0)
    • 5.3. Hiện thực hai mạng học sâu (0)
      • 5.3.1. Neural Colloborative Filtering (52)
      • 5.3.2. Wide and D eep Learning (54)
    • 5.4. Đánh giá kết quả hai mạng (56)
      • 5.4.1. Áp dụng phương thức đánh giá NDCG (56)
      • 5.4.2. Áp dụng phương pháp đánh giá tổng quát (58)
    • 5.5. So sánh kết quả của hai mạng NCF và WD (0)
  • Chương 6: Đánh giá và tổng kết nghiên cứu (66)
    • 6.1. Ý nghĩa khoa học (66)
    • 6.2. Ý nghĩa thực tiễn (0)
    • 6.3. Đề xuất hướng mở rộng (0)
  • Tài liệu tham khảo (68)

Nội dung

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ế

Như chúng ta đã biết việc triển khai, áp dụng một công nghệ mới với một sản phẩm, ứng dụng đang được vận hành là một điều không dễ dàng, đặc biệt đối với lĩnh vực học sâu, chúng ta cần có một hệ thống các siêu máy tính để thực hiện huấn luyện và điều này cần một nguồn chi phí lớn Nên đòi hỏi các nhà quản lí, doanh nghiệp cần có những nghiên cứu kĩ lưỡng để trang bị hệ thống tính toán phù hợp, vừa đủ không gây lãng phí về tài chính và tài nguyên của doanh nghiệp

Do tính chất sản phẩm và dữ liệu khác nhau, mục tiêu triển khai hệ thống đề xuất cho các lĩnh vực khác nhau cũng khác nhau Vì vậy, các doanh nghiệp cần áp dụng các mạng học sâu khác nhau để phù hợp nhất Bài viết này sẽ cung cấp cho các nhà quản lý và doanh nghiệp một số cơ sở, góc nhìn để tham khảo và giải quyết hai vấn đề nêu trên khi cần 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, tại Việt Nam, các sàn thương mại điện tử (STMĐT) do doanh nghiệp trong nước phát triển còn hạn chế Một số STMĐT tiêu biểu có thể kể đến như Tiki, Sendo, Vỏ Sò Tuy nhiên, chỉ có Tiki là đủ sức cạnh tranh để lọt vào vị trí thứ 3, so với các sàn TMĐT nước ngoài như Shopee, Lazada Những STMĐT còn lại chưa phổ biến, số lượng người dùng còn hạn chế nên chưa được áp dụng rộng rãi các phương pháp đề xuất.

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 nổi bật với khả năng đưa ra các đề xuất cá nhân hóa và phù hợp với người dùng Không chỉ một mà Amazon đã sử dụng nhiều công nghệ tiên tiến để phân tích dữ liệu từ hành vi, sở thích và đặc điểm mặt hàng ưu thích của khách hàng để đưa ra các đề xuất phù hợp [8] Cụ thể:

• 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ử

• Deep Neural Networks for Click-Through Rate (CTR) Prediction: Hệ thống có thể ước tính khả năng người dùng nhấp chuột vào một mục cụ thể bằng cách huấn luyện các mô hình này trên dữ liệu nhấp chuột lịch sử

• 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 về thành công của mô hình đề xuất là Netflix Mặc dù không phải là một Sàn thương mại điện tử, Netflix đã đạt được doanh thu đáng kể sau khi ứng dụng mô hình này.

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] :

Qua đây chúng ta có thể thấy được sự quan trọng của việc áp dụng hệ thống đề xuất trong tình hình kinh doanh ở thời điểm hiện tại.

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 sự tương tác hai chiều giữa người dùng và sản phẩm Các yếu tố tiềm ẩn và từng chiều của không gian tiềm ẩn độc lập với nhau và kết hợp tuyến tính chúng với cùng trọng số Như vậy, ma trận thừa số có thể đượ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 đạt mức cao, ma trận thừa số sẽ trở nên thưa thớt, làm giảm hiệu quả hoạt động của ma trận Vì vậy, để đảm bảo hiệu quả của ma trận thừa số, cần tăng cường tương tác của khách hàng với các sản phẩm bằng các chiến lược như cung cấp nội dung hấp dẫn, khuyến khích khách hàng đánh giá và bình luận, đồng thời tối ưu hóa trải nghiệm mua sắm.

Do tính toán đơn giản nên ma trận thừa số không tổng quát được với dữ liệu lớn và phức tạp.

Hình 3.2 Hạn chế của ma trận thừa số [16]

Quan sát biểu đồ trái của Hình 3.2, dựa trên lịch sử giao dịch, ta thấy User_4 tương đồng nhất với User_1, tiếp đến là User_3 và cuối cùng là User_2 Tuy nhiên, khi biểu diễn trong không gian ẩn như đồ thị bên trái Hình 3.2, do 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, khiến cho vector 𝑝 4 (vector ẩn của User_4) nằm 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ại 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 ma 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 sẽ "chiếu" (biểu diễn) dữ liệu đa chiều lên một không gian có cơ sở trực giao, tức nếu ta xem mỗi cơ sở trong không gian mới là một biến thì hình ảnh của dữ liệu gốc trong không gian mới này sẽ được biểu diễn thông qua các biến độc lập (tuyến tính) Vấn đề là nếu chuyển dữ liệu ban đầu sang không gian mới thì những thông tin đáng quan tâm của dữ liệu ban đầu liệu có bị mất? Để giải quyết vấn đề này phương pháp PCA sẽ tìm không gian mới với tiêu chí cố gắng phản ánh được càng nhiều thông tin gốc càng tốt, và thước đo cho khái niệm "thông tin" ở đây là phương sai Một điểm hay nữa là các biến trong không gian mới độc lập, nên ta có thể tính toán được tỷ lệ giải thích phương sai của từng biến mới đối với dữ liệu, điều này cho phép ta cân nhắc việc chỉ dùng số ít các biến để giải thích dữ liệu

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 hệ trục tọa độ của không gian cũ, PCA xây dựng một không gian mới có chiều ít hơn, nhưng vẫn có khả năng biểu diễn dữ liệu tốt tương đương với không gian cũ Điều này có nghĩa là PCA đảm bảo độ biến thiên (variability) của dữ liệu trên mỗi chiều mới được tạo ra.

• 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á trực tuyến là phương pháp đánh giá hệ thống đề xuất trong môi trường thực tế, sử dụng dữ liệu thu thập được để đánh giá hiệu quả Các phương thức phổ biến gồm: Click-Through Rates đo lường khả năng thu hút người dùng; Retention Rates đo tần suất quay lại của người dùng; Conversion Rates đo tỷ lệ chuyển đổi thành giao dịch thành công, đánh giá tổng hợp hiệu quả của hệ thống dựa trên doanh số.

• 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 toán dựa trên danh sách thực tế mà người dùng đã thực hiện Khi áp dụng phương pháp này, chúng ta có thể đánh giá một cách linh hoạt hơn và đi sâu vào từng chi tiết của 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 trên hình 5.2, phân bổ sản phẩm ở mức tương đối đồng đều, trong đó có nhóm sản phẩm nổi bật nhất là nhóm có số lượng cao nhất.

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

Mô hình WD sử dụng các thuộc tính làm giá trị đầu vào cho thành phần Deep để thực hiện tổng quát hóa Biểu đồ trong Hình 5.7 thể hiện mối tương quan giữa các thuộc tính này.

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)

Từ lớp đầu vào của CustomerID, ProductID, CategoryID sử dụng lớp embedding để tạo thành 2 vector MF và MLP( Block 2), sau đó sử dụng lớp flatten để duỗi các vector về một chiều

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à

Trong lớp Deep, các thuộc tính địa lý (GeographyKey) và tình trạng hôn nhân (MaritalStatus) đóng vai trò là đầu vào để đưa vào mô hình Các giá trị đầu vào này đã được chuyển thành các vector số chiều thấp hơn thông qua lớp nhúng (Block 2).

Hiện thực hai mạng học sâ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)

Từ lớp đầu vào của CustomerID, ProductID, CategoryID sử dụng lớp embedding để tạo thành 2 vector MF và MLP( Block 2), sau đó sử dụng lớp flatten để duỗi các vector về một chiều

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 ( Block 3) để kết hợp thông qua lớp Concatenate ( Block 4) làm giá trị đầu vào cho lớp mạng DNN

Thành phần Wide, các giá trị CustomerID và ProductID sẽ được chuyển đổi thành lớp tuyến tính

Ngày đăng: 30/07/2024, 16:36

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] B. Quyến, "https://thuvienphapluat.vn," 05 10 2021. [Online]. Available: https://thuvienphapluat.vn/phap-luat-doanh-nghiep/bai-viet/hoat-dong-thuong-mai-dien-tu-theo-quy-dinh-phap-luat-1214.html. [Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: https://thuvienphapluat.vn
[2] F. Du, "theecommmanager," 01 05 2023. [Online]. Available: https://theecommmanager.com/ecommerce/ecommerce-growth-trends/.[Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: theecommmanager
[3] H. My, "advertisingvietnam.com," 28 07 2023. [Online]. Available: https://advertisingvietnam.com/louis-nguyen-cung-acfc-dau-tu-chien-luoc-vao-omni-channels-huong-toi-muc-tieu-thong-tri-nganh-ban-le-thoi-trang-p22469. [Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: advertisingvietnam.com
[4] T. U. School of Computing, "Rachmi Helfianur #1, Z. K. A. Baizal#2," Rachmi Helfianur #1, Z. K. A. Baizal#2, 02 07 2022. [Online]. Available:https://socj.telkomuniversity.ac.id/ojs/index.php/indojc/article/download/650/355. [Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: Rachmi Helfianur #1, Z. K. A. Baizal#2
[5] softwaretestinghelp, "softwaretestinghelp," 27 06 2023. [Online]. Available: https://www.softwaretestinghelp.com/apriori-algorithm/. [Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: softwaretestinghelp
[6] B. A. Mohammed Al-Maolegi, "arxiv," 2 2013. [Online]. Available: https://arxiv.org/ftp/arxiv/papers/1403/1403.3948.pdf. [Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: arxiv
[7] recostream, "https://recostream.com/blog/amazon-recommendation-system," 21 10 2021. [Online]. Available: https://recostream.com/blog/amazon-recommendation-system. [Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: https://recostream.com/blog/amazon-recommendation-system
[8] S. Bouguezzi, "baeldung," 23 11 2023. [Online]. Available: https://www.baeldung.com/cs/amazon-recommendation-system. [Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: baeldung
[9] RecoAI, "https://recoai.net/netflix-recommendation-system-how-it-works/," 3 5 2022. [Online]. Available: https://recoai.net/netflix-recommendation-system-how-it-works/. [Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: https://recoai.net/netflix-recommendation-system-how-it-works/
[11] L. Y. A. S. Y. T. Shuai Zhang, "Deep Learning based Recommender System: A Survey and New Perspectives," Arxis, 10 7 2019. [Online].Available: https://arxiv.org/abs/1707.07435. [Accessed 01 10 2022] Sách, tạp chí
Tiêu đề: Deep Learning based Recommender System: A Survey and New Perspectives
[12] L. L. H. Z. L. N. X. H. T.-S. C. Xiangnan He, "https://arxiv.org/abs/1708.05031," 16 08 2017. [Online]. Available:https://arxiv.org/abs/1708.05031. [Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: https://arxiv.org/abs/1708.05031
[13] Google, "Machine Learning," Google, 18 07 2022. [Online]. Available: https://developers.google.com/machine-learning/recommendation/collaborative/basics. [Accessed 01 10 2022] Sách, tạp chí
Tiêu đề: Machine Learning
[14] R. Sheldon, "techtarget," 01 04 2023. [Online]. Available: https://www.techtarget.com/whatis/definition/dot-product-scalar-product.[Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: techtarget
[16] N. R. Janjanam, "iq.opengenus.org," [Online]. Available: https://iq.opengenus.org/neural-collaborative-filtering/. [Accessed 01 10 2023] Sách, tạp chí
Tiêu đề: iq.opengenus.org
[17] L. K. J. H. T. S. T. C. Heng-Tze Cheng, "Wide & Deep Learning for Recommender Systems," 24 6 2016. [Online]. Available:https://arxiv.org/pdf/1606.07792.pdf. [Accessed 01 10 2022] Sách, tạp chí
Tiêu đề: Wide & Deep Learning for Recommender Systems
[19] P. D. Khanh, "phamdinhkhanh.github.io," 01 01 2021. [Online]. Available: https://phamdinhkhanh.github.io/deepai-book/ch_ml/KMeans.html.[Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: phamdinhkhanh.github.io
[20] Tensorflow, "Tensorflow," 08 06 2023. [Online]. Available: https://www.tensorflow.org/guide/keras. [Accessed 01 11 2023] Sách, tạp chí
Tiêu đề: Tensorflow
[21] A. Mysteries, "analyticsindiamag," 24 10 2021. [Online]. Available: https://analyticsindiamag.com/how-to-measure-the-success-of-a-recommendation-system/. [Accessed 01 12 2023] Sách, tạp chí
Tiêu đề: analyticsindiamag
[23] Microsoft, "www.microsoft.com," 15 06 2022. [Online]. Available: https://www.microsoft.com/en-us/download/details.aspx?id=18279.[Accessed 18 01 2024] Sách, tạp chí
Tiêu đề: www.microsoft.com
[10] RecoAI, 05 04 2022. [Online]. Available: https://recoai.net/netflix- recommendation-system-how-it-works/. [Accessed 01 11 2023] Link

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN