GIỚI THIỆU
Tính cấp thiết của đề tài
Ngày nay, sự phát triển của trang web thương mại điện tử ngày càng trở nên phổ biến, đặc biệt trong bối cảnh thương mại điện tử phát triển nhanh chóng Với chi phí thấp, nhiều người lựa chọn hình thức kinh doanh này Tuy nhiên, sự gia tăng của các trang web thương mại điện tử cũng đặt ra thách thức cho người dùng trong việc lựa chọn sản phẩm giữa vô số lựa chọn Khi truy cập vào một trang web thương mại điện tử, khách hàng thường có hai xu hướng: một là đã xác định sản phẩm cần mua, hai là chỉ có ý tưởng về sản phẩm sẽ mua Trong trường hợp thứ hai, người dùng cần sự hỗ trợ từ hệ thống gợi ý để tìm ra sản phẩm phù hợp nhất với nhu cầu của họ Hệ thống gợi ý sẽ cung cấp thông tin phản hồi và danh sách sản phẩm phù hợp, giúp người dùng dễ dàng hơn trong việc ra quyết định Hiện nay, các hệ thống gợi ý ngày càng được chú trọng, đặc biệt là từ các nhà cung cấp dịch vụ trực tuyến như Amazon, Netflix, và YouTube, vì chúng có thể tăng cường sự hài lòng và giữ chân khách hàng.
Hình 1: Mô tả hệ thống gợi ý (trích từ web)
Sự phát triển nhanh chóng của thương mại điện tử và tương tác trực tuyến đã dẫn đến sự bùng nổ dữ liệu khổng lồ Điều này tạo ra thách thức lớn cho các công ty và tổ chức trong việc tìm kiếm và đánh giá để cung cấp sản phẩm phù hợp đến tay người dùng.
Mỗi phút, có tới 300 giờ video mới được tải lên YouTube, khiến người dùng không thể xem hết toàn bộ nội dung Trong số hàng tỷ người dùng, mỗi cá nhân có sở thích riêng, dẫn đến 99,99% nội dung không phù hợp với họ Tình huống tương tự cũng xảy ra trên Amazon, nơi người dùng không thể duyệt qua hàng trăm triệu sản phẩm khi mua sắm.
Hệ thống gợi ý đã được nghiên cứu và ứng dụng mạnh mẽ, mang lại lợi ích cho cả nhà cung cấp và người sử dụng dịch vụ Ý tưởng chính là sử dụng dữ liệu từ người dùng để dự đoán và gợi ý các sản phẩm, tính năng, dịch vụ mà họ có thể thích, từ đó nâng cao chất lượng dịch vụ và tăng lợi nhuận.
Các trang thương mại điện tử lớn như Tiki và Shopee đã thu thập dữ liệu người dùng, xác định danh tính và theo dõi hành vi thông qua phiên truy cập Thách thức đặt ra cho các công ty là xây dựng hệ thống gợi ý dựa trên dữ liệu phiên sử dụng, cho phép xử lý dữ liệu chuỗi thời gian và hành vi tuần tự Điều này không chỉ nâng cao trải nghiệm người dùng mà còn tăng doanh số bán hàng thông qua các sản phẩm được gợi ý hợp lý.
Hình 2: Hệ gợi ý dựa trên phiên sử dụng của người dùng
Mục tiêu nghiên cứu
Luận văn này giải quyết bài toán hệ gợi ý cho dữ liệu phiên sử dụng của người dùng, nghiên cứu tập trung vào các vấn đề sau:
- Giới thiệu tổng quan về bài toán hệ gợi ý
Học máy và học sâu là hai lĩnh vực quan trọng trong trí tuệ nhân tạo, với nhiều ứng dụng thực tiễn Một thuật toán học máy bao gồm các thành phần chính như dữ liệu đầu vào, mô hình, hàm mất mát và quá trình tối ưu hóa Trong khi đó, học sâu sử dụng mạng nơ-ron nhiều lớp để tự động trích xuất đặc trưng từ dữ liệu Việc nắm vững cấu thành của các thuật toán này giúp nghiên cứu, ứng dụng và cải tiến chúng hiệu quả hơn trong các lĩnh vực như nhận diện hình ảnh, xử lý ngôn ngữ tự nhiên và dự đoán dữ liệu.
- Các phương pháp học sâu giải quyết bài toán hệ gợi ý cho dữ liệu phiên sử dụng
- Tiếp cận phương pháp biến đổi dữ liệu phiên sử dụng thành đồ thị và sử dụng mạng đồ thị (Graph Neural Network) để giải quyết bài toán
- Thử nghiệm và đánh giá trên dữ liệu Yoochoose (dữ liệu được công bố trong cuộc thi RecSys Challenge 2015).
Đối tượng và phạm vi nghiên cứu
Luận văn này nghiên cứu tổng quan về học máy và học sâu, tập trung vào các hệ gợi ý và các phương pháp giải quyết bài toán liên quan Đặc biệt, nó đi sâu vào việc áp dụng phương pháp xây dựng đồ thị học sâu cho hệ gợi ý dựa trên dữ liệu phiên sử dụng của người dùng Bằng cách áp dụng các nghiên cứu trước đó, luận văn giải quyết bài toán thực tế với tập dữ liệu Yoochoose và trình bày kết quả đạt được.
Cấu trúc luận văn
Luận văn được trình bày với cấu trúc sau
Phần 1 giới thiệu tổng quan về tính cấp thiết và mục tiêu của đề tài nghiên cứu
Phần 2 đi sâu về cơ sở lý thuyết của học máy, học sâu bao gồm phân loại các bài toán học máy Phân tích cấu trúc của thuật toán học máy nói chung Các vấn đề của học máy như overfiting, underfitting, … Cấu thành của thuật toán học sâu và giới thiệu một số mạng học sâu điển hình
Phần 3 giới thiệu những nghiên cứu liên quan, các nghiên cứu tổng quan về bài toán hệ gợi ý và các nghiên cứu chuyên sâu về hệ gợi ý dựa trên dữ liệu phiên giao dịch sử dụng đồ thị học sâu
Phần 4 đưa ra giải pháp đề xuất để giải quyết bài toán hệ gợi ý dựa trên dữ liệu phiên sử dụng của người dùng
Phần 5 là kết quả đánh giá và thử nghiệm cho tập dữ liệu Yoochoose Ở phần cuối cùng là kết luận và hướng phát triển
CƠ SỞ LÝ THUYẾT
Tổng quan về học máy
Học máy, một nhánh của trí tuệ nhân tạo, tập trung vào việc phát triển các kỹ thuật giúp hệ thống tự động học từ dữ liệu nhằm giải quyết các vấn đề cụ thể Chẳng hạn, hệ thống có khả năng phân loại thư rác và tự động chuyển chúng vào mục thư rác tương ứng.
2.1.1 Phân loại bài toán trong học máy
Học máy thường được phân làm hai loại, đó là:
Cả hai bài toán đều nhằm giải quyết những vấn đề riêng biệt, nhưng từ góc độ thống kê, chúng ta có thể áp dụng quy tắc chuỗi (chain rules) để phân tích Cụ thể, quy tắc này được định nghĩa là 𝑝(𝑥) = ∏ % !&"𝑝(𝑥 ! | 𝑥 " , 𝑥 # , , 𝑥 !$" ) Do đó, để giải quyết bài toán không giám sát, chúng ta có thể chia nó thành n bài toán có giám sát và tiến hành giải quyết từng phần.
Trong bài toán này, mô hình được huấn luyện từ bộ dữ liệu không có nhãn để phát hiện các mẫu ẩn Ứng dụng chủ yếu của bài toán là phân cụm (clustering), tập trung vào phân tích hình học của dữ liệu trong không gian đầu vào nhằm xác định mối liên kết giữa các điểm dữ liệu Giả định rằng các điểm dữ liệu trong không gian đầu vào có thuộc tính tương tự là điều kiện cần thiết cho việc phân cụm hiệu quả.
Một số mô hình học không giám sát được kể tới là:
Bài toán học có giám sát thường được ứng dụng rộng rãi hơn trong hệ gợi ý so với bài toán học không giám sát Do đó, luận văn này sẽ tập trung chủ yếu vào nghiên cứu và phân tích bài toán học có giám sát.
Học có giám sát là phương pháp mà máy tính sử dụng dữ liệu đã được gán nhãn để giám sát và điều chỉnh mô hình trong quá trình học Đầu tiên, bộ dữ liệu huấn luyện được đưa vào mô hình, sau đó máy sẽ tự động cập nhật các tham số để dự đoán nhãn gần nhất với nhãn thực Cuối cùng, quá trình này cho phép thu được bộ tham số tối ưu, có khả năng dự đoán cho dữ liệu mới trong tương lai.
2.1.2 Cấu trúc thuật toán học máy
Mặc dù có nhiều thuật toán học máy với phương pháp luận và ứng dụng đa dạng, tất cả đều tuân theo một cấu trúc chung.
- Đặc tả tập dữ liệu
Hầu hết các thuật toán học có giám sát đều có đặc tả tập dữ liệu tương tự nhau, trong khi ba thành phần còn lại cho thấy nhiều sự biến đổi đáng kể Việc hiểu rõ đặc tả tập dữ liệu là rất quan trọng trong quá trình phát triển và ứng dụng các thuật toán này.
Mỗi tập dữ liệu bao gồm n thực thể, được gọi là mẫu, với véc tơ đầu vào ký hiệu là x và đầu ra ký hiệu là y Trong đó, giá trị i thể hiện thứ tự của mẫu và p là số chiều của véc tơ đầu vào Véc tơ đầu vào được biểu diễn như sau:
Các phần tử trong véc tơ cần có chung dạng dữ liệu, ví dụ như chuỗi thời gian, và phải được sắp xếp theo đúng thứ tự thời gian cũng như được chuẩn hóa Hầu hết các thuật toán học máy yêu cầu dữ liệu đầu vào được chuẩn hóa để cải thiện khả năng học của mô hình Đầu ra y biểu diễn nhãn của mẫu, do đó số lượng nhãn này cần phải được xác định trước.
Mô hình nhận giá trị đầu vào 𝑥 và đưa ra dự đoán 𝑦, với mỗi mô hình có một bộ tham số biểu diễn bởi véc tơ θ Véc tơ này được điều chỉnh trong quá trình huấn luyện mô hình Một ví dụ đơn giản về mô hình này là hồi quy tuyến tính.
Tham số của mô hình này được biểu diễn như sau: θ ' = 1θ " , … , θ ( 2 PT 1
Với p là số chiều của dữ liệu đầu vào
Khi đó dự đoán 𝑦3 của mô hình sẽ là:
Tổng quát cho toàn bộ tập dữ liệu là:
Hàm mất mát, hay còn gọi là hàm mục tiêu, là công cụ quan trọng để đánh giá dự đoán của mô hình so với nhãn thực tế, giúp mô hình học hiệu quả hơn Khả năng học của thuật toán máy phụ thuộc vào việc ước lượng mức độ cải thiện thông qua thay đổi tham số, vì vậy hàm mất mát cần phải khả vi Trong mô hình hồi quy tuyến tính, hàm mất mát phổ biến nhất là tổng bình phương của sai số (Mean Squared Error), vì khi áp dụng phương pháp hợp lý hóa cực đại để tối ưu hóa tham số θ, ta sẽ thu được hàm này Hơn nữa, đạo hàm của hàm mất mát này đảm bảo rằng mô hình hồi quy tuyến tính chỉ có một cực tiểu toàn cục.
Hàm mất mát khi đó được định nghĩa là:
= (𝑌 − 𝑋θ) ' (𝑌 − 𝑋θ) PT 6 Để tối ưu quá trình tính toán, hàm mất mát thường được sử dụng theo phương trình PT4 (biểu diễn theo ma trận)
Bước cuối cùng trong thuật toán học máy là quá trình tối ưu hóa, trong đó bộ tham số θ của mô hình được cập nhật để cải thiện độ chính xác của dự đoán Mục tiêu là tìm ra bộ tham số θ sao cho giá trị của hàm mất mát đạt mức tối thiểu, từ đó nâng cao hiệu suất của mô hình.
Mô hình hồi quy tuyến tính chỉ phù hợp với các bài toán cơ bản, trong khi các mô hình phức tạp yêu cầu sử dụng hàm mất mát khác, làm cho quá trình tối ưu trở nên thách thức hơn Việc tìm kiếm cực tiểu toàn cục trong những bài toán này thường không đảm bảo, do đó, thuật toán tối ưu cần được lặp lại để dần tiếp cận cực tiểu Các phương pháp này được gọi là tối ưu hóa dựa trên gradient, với Gradient Descent là phương pháp phổ biến nhất.
2.1.3 Độ phức tạp của mô hình
Học có giám sát là quá trình xây dựng mô hình nhằm thể hiện mối quan hệ chính xác giữa dữ liệu đầu vào và nhãn Nhiệm vụ chính của nó là tối ưu hóa khả năng dự đoán dựa trên các mẫu đã được gán nhãn.
Học máy không thể xác định chính xác mối quan hệ giữa các yếu tố do thiếu dữ liệu đầy đủ Thay vào đó, nhiệm vụ của nó là dự đoán mối quan hệ này dựa trên dữ liệu hiện có.
Tổng quan về học sâu
Học sâu là một hình thức của học máy, sử dụng các thuật toán phức tạp để tạo ra mô hình tự động trích xuất đặc trưng từ dữ liệu có độ trừu tượng cao Mặc dù thuộc lĩnh vực học máy, nhưng học sâu vượt trội hơn trong việc xử lý các bài toán với dữ liệu lớn và phức tạp, như dữ liệu văn bản, hình ảnh và chuỗi thời gian, mà các thuật toán học máy cơ bản không thể đạt được hiệu quả tương tự.
Mục tiêu của nghiên cứu trong lĩnh vực học sâu là cải thiện cách biểu diễn dữ liệu và xây dựng mô hình từ dữ liệu không gán nhãn quy mô lớn Nhiều thuật toán học sâu như mạng nơ ron học sâu, mạng nơ ron tái phát và mạng nơ ron tích chập đã được phát triển và áp dụng hiệu quả trong các lĩnh vực như thị giác máy tính, nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, nhận dạng âm thanh, và đặc biệt là trong bài toán chuỗi thời gian.
Lịch sử của mạng nơ ron, tiền thân của học sâu, bắt nguồn từ những năm đầu của thế kỷ 20 Kể từ đó, thuật ngữ "mạng nơ ron" đã trở thành một phần quan trọng trong lĩnh vực học sâu, đóng vai trò then chốt trong sự phát triển của trí tuệ nhân tạo.
Năm 1943, Warren McCulloch và Walter Pitts phát triển mô hình toán học lấy cảm hứng từ hệ thần kinh của động vật có vú Sự phát triển này đã dẫn đến việc tạo ra Perceptron vào năm 1958 bởi Frank Rosenblatt, một mô hình đơn giản mô phỏng tế bào thần kinh sinh học Perceptron không chỉ là một mô hình mà còn là thuật toán học từ dữ liệu Mặc dù ban đầu Perceptron hứa hẹn, nhưng nhanh chóng bộc lộ những hạn chế nghiêm trọng, đặc biệt khi Minsky chứng minh rằng Perceptron không thể giải quyết bài toán XOR, cho thấy nó chỉ có thể xử lý các vấn đề phân tách tuyến tính.
Mặc dù Minsky không có ý ác ý khi chỉ trích, nhưng những lời nhận xét của ông đã làm giảm sự quan tâm đến mạng nơ ron trong suốt một thập kỷ Tuy nhiên, đã có những giải pháp được đưa ra để khắc phục những điểm yếu này.
Vào năm 1986, thuật toán học truyền ngược được phát minh, cho phép các nơ-ron được tổ chức thành các lớp xếp chồng lên nhau, tạo thành cấu trúc phân cấp gọi là mạng nơ-ron Các mạng nơ-ron này thường được biết đến với tên gọi Multilayer Perceptron (MLP).
Trong những năm 80 và 90, sự quan tâm đến mạng nơ ron giảm sút, và nghiên cứu AI chủ yếu tập trung vào các kỹ thuật học máy như SVM và ensemble cho các bài toán phân loại Đến năm 2000, mạng nơ ron bị xem nhẹ trong cộng đồng học thuật và nghiên cứu AI Tuy nhiên, vào khoảng năm 2009, sự ra đời của các mô hình học sâu với nhiều lớp ẩn đã mang lại kết quả ấn tượng, giúp học sâu có vị thế riêng Deep Neural Network (DNN) được định nghĩa với số lượng lớn lớp ẩn, trong khi trước đây, các mạng chỉ có 1 hoặc 2 lớp ẩn được coi là mạng nông Ngày nay, mạng sâu có thể có hàng chục đến hàng trăm lớp ẩn.
Mặc dù sự phát triển của mạng nơ-ron sâu (DNN) theo cấu trúc với nhiều lớp ẩn là rõ ràng, nhưng việc nghiên cứu và thử nghiệm vẫn gặp nhiều hạn chế.
- Không có kỹ thuật nào cho phép mở rộng số lớp ẩn
- Không có đủ dữ liệu được gán nhãn để huấn luyện
- Phần cứng tính toán không đủ mạnh để huấn luyện các mạng đủ lớn và phức tạp một cách hiệu quả
Sự ra đời của các mạng học sâu như CNN và RNN đã giải quyết vấn đề đầu tiên trong lĩnh vực trí tuệ nhân tạo Vấn đề thứ hai được khắc phục nhờ vào sự cung cấp dữ liệu lớn từ các công ty lớn như Google, Facebook, Amazon và Youtube, cùng với sự hỗ trợ từ cộng đồng chuyên gia và những người đam mê khoa học dữ liệu Cuối cùng, tiến bộ trong công nghệ phần cứng và cải tiến phương pháp huấn luyện đã xử lý vấn đề thứ ba, trong đó việc sử dụng đơn vị xử lý đồ họa (GPU) để đáp ứng nhu cầu tính toán cao trong huấn luyện là một bước tiến đột phá Hơn nữa, do các phép toán trong huấn luyện mạng nơ ron chủ yếu là đơn giản như nhân ma trận và véc tơ, chúng có thể được thiết kế để xử lý song song, từ đó cải thiện đáng kể tốc độ tính toán.
Cấu trúc mạng nơ ron nhân tạo
Mạng nơ ron là một thuật ngữ chung, mô tả nhiều loại mô hình khác nhau Trong ngữ cảnh này, mạng nơ ron hoạt động như một mô hình phân tán và song song, cho phép xử lý thông tin hiệu quả.
Mạng nơ-ron bao gồm nhiều đơn vị tính toán gọi là nơ-ron, được tổ chức trong một cấu trúc liên kết cụ thể, cho phép gần đúng các hàm phi tuyến phức tạp.
Cấu trúc của mạng nơ ron được xây dựng dựa trên thuật toán học máy, bao gồm mô hình, hàm mất mát và thuật toán tối ưu Tuy nhiên, mô hình mạng nơ ron phức tạp hơn nhiều so với các mô hình học máy thông thường Do đó, phân tích mô hình mạng nơ ron cần được chia thành hai phần: mô hình nơ ron và cấu trúc liên kết của mạng.
Nơ ron là đơn vị tính toán thực hiện biến đổi phi tuyến các đầu vào của chúng:
Hình 5: Cấu trúc nơ ron [29]
Mô hình nơ ron, được phát triển từ cảm hứng sinh học, ban đầu dựa vào cấu trúc nơ ron của não người Tuy nhiên, theo thời gian, sự tương đồng giữa các mô hình này và nơ ron sinh học đã giảm đi, dẫn đến việc các mô hình học sâu hiện đại chỉ còn tương ứng một cách hời hợt với các đối tác sinh học của chúng.
Mỗi nơ-ron trong mạng lưới thần kinh nhân tạo có một số đầu vào x được kết hợp với nhau để thực hiện một số thao tác nhất định Mỗi đầu vào này sẽ được gán chung với một trọng số cụ thể, giúp quyết định mức độ ảnh hưởng của nó đến kết quả đầu ra.
Trọng số (Weight) đóng vai trò quan trọng trong quá trình tính toán đầu vào của một nơ ron, khi mỗi đầu vào được gán một trọng số riêng thông qua các tham số w Các tham số này sẽ được điều chỉnh trong quá trình học để xác định độ quan trọng của từng đầu vào, giúp mô hình hiểu rõ hơn về mối quan hệ giữa các đầu vào và đầu ra.
Khi trọng số của nơ ron nhỏ, đầu vào cụ thể sẽ không ảnh hưởng nhiều đến đầu ra, nhưng khi trọng số lớn, tác động của đầu vào đến đầu ra trở nên đáng kể hơn.
Một tham số có thể học khác là thiên vị (biases) b, có tác động trực tiếp tới giai đoạn đầu ra tuyến tính của lớp
Để mạng nơ ron có khả năng biểu diễn xấp xỉ hàm phi tuyến, mỗi nơ ron cần thực hiện biến đổi phi tuyến cho đầu vào thông qua hàm kích hoạt g(z) Việc lựa chọn hàm kích hoạt phụ thuộc vào loại mạng và lớp mà mạng đang sử dụng, với điều kiện tiên quyết là hàm đó phải phi tuyến.
Một trong những hàm cổ điển nhất là hàm sigmoid:
PT 10 Điểm yếu của sigmoid là đạo hàm sẽ trở nên rất yếu và không đáng kể ở hai đầu giá trị, dẫn đến việc làm chậm quá trình huấn luyện
Một hàm kích hoạt khác cũng hay được sử dụng là hàm tanh, thường được sử dụng trọng mạng RNN
Hàm kích hoạt được sử dụng phổ biến nhất trong các mạng học sâu hiện nay là hàm ReLU Ưu điểm của hàm này là đạo hàm đơn giản, giúp quá trình tính toán trở nên dễ dàng hơn.
𝑔(𝑧) = {" %ế2 : ;& / / %ế2 : < / PT 13 Điểm yếu của hàm này là đạo hàm bằng 0 nếu z < 0
Cấu trúc topo của mạng
Trong học sâu, hai cấu trúc phổ biến nhất là mạng truyền thẳng (feed-forward) và mạng tái phát (recurrent) Mạng feed-forward cho phép thông tin di chuyển một chiều từ đầu vào đến đầu ra, trong khi mạng tái phát có các vòng lặp phản hồi, cho phép thông tin quay trở lại và ảnh hưởng đến các bước xử lý tiếp theo.
Thông thường, các mạng nơ ron được sắp xếp theo lớp, trong mỗi lớp có thể có từ
Mạng nơ ron bao gồm từ 1 đến n nơ ron được sắp xếp theo thứ bậc, trong đó lớp đầu tiên là lớp đầu vào, lớp cuối cùng là lớp đầu ra, và các lớp ở giữa được gọi là lớp ẩn Để mô tả mạng, ta cần xem xét các kết nối giữa các lớp, với sơ đồ phổ biến nhất là kết nối đầy đủ (fully-connected) Trong sơ đồ này, mỗi nơ ron của lớp ẩn L nhận đầu vào từ tất cả các nơ ron của lớp trước L -1 và đầu ra của nó được kết nối với đầu vào của lớp L + 1 Toàn bộ cấu trúc này được minh họa trong Hình 7.
Hình 7: Cấu trúc một mạng nơ ron (trích từ blog viblo)
Giá trị của nơ ron phụ thuộc vào loại lớp, với sự khác biệt chính là hàm kích hoạt Trước đây, tất cả các lớp đều sử dụng hàm kích hoạt sigmoid, vì đầu ra của nó dễ dàng ánh xạ vào phân bố xác suất từ 0 đến 1 Gần đây, nghiên cứu cho thấy mạng nơ ron sử dụng hàm kích hoạt ReLU trong các lớp ẩn có thể được huấn luyện nhanh chóng và có khả năng chống overfitting hiệu quả.
Các nơ ron trong lớp đầu ra cần biểu diễn phân phối xác suất để ước lượng xác suất của nhãn Do đó, hàm kích hoạt phổ biến cho nơ ron đầu ra là softmax Softmax là hàm mũ chuẩn hóa, dùng để thể hiện xác suất một cá thể thuộc lớp j trong tổng số K lớp.
Hàm mất mát trong mạng nơ ron là một chủ đề phức tạp, nhưng một trong những hàm mất mát phổ biến nhất cho phân loại đa lớp là hàm cross-entropy Khi sử dụng hàm kích hoạt softmax, hàm mất mát được định nghĩa rõ ràng, giúp cải thiện hiệu suất của mô hình.
NGHIÊN CỨU LIÊN QUAN
Bài toán hệ gợi ý
Hệ thống gợi ý (Recommender Systems) là một phần quan trọng của hệ thống thông tin, giúp người dùng tìm kiếm thông tin cần thiết một cách hiệu quả Chức năng chính của nó là dự đoán sở thích và xếp hạng mà người dùng có thể dành cho các mục thông tin (item) mà họ chưa từng xem qua trước đó.
Hệ gợi ý tính toán sử dụng dữ liệu người dùng từ việc mua sắm và đánh giá cá nhân để đưa ra dự đoán sản phẩm mà họ có thể thích, nhờ vào các thuật toán Học máy Điều này không chỉ giúp tối ưu hóa doanh thu thông qua up-sale và cross-sale mà còn cải thiện trải nghiệm người dùng và tăng hiệu suất hoạt động thông qua tự động hóa, biến khách hàng tiềm năng thành khách hàng thực sự Một khảo sát liên quan đã mô tả tổng quan về hệ gợi ý.
Bài toán hệ gợi ý được phân loại thành các cách tiếp cận sau:
- Phân loại dựa vào nội dung sản phẩm
Hình 9: Phân loại bài toán hệ gợi ý (trích từ blog towardsdatascience)
Phân loại bài toán hệ gợi ý
3.2.1 Dựa vào nội dung sản phẩm
Phương pháp này là một trong những cách tiếp cận đơn giản nhất và đóng vai trò quan trọng trong lý thuyết hệ gợi ý Ý tưởng chính là giới thiệu những sản phẩm phù hợp với sở thích của người dùng, giúp họ dễ dàng tìm thấy lựa chọn ưng ý.
Hệ gợi ý dựa trên nội dung sản phẩm có nhiệm vụ tính toán sự tương đồng giữa các sản phẩm trong hệ thống, giúp người dùng tìm kiếm và khám phá những sản phẩm mà họ có thể thích dựa trên sở thích đã thể hiện trước đó.
Có rất nhiều phương pháp để véc tơ hóa dữ liệu sản phẩm chẳng hạn
- Xây dựng bộ hồ sơ dữ liệu sản phẩm (item profile)
Xây dựng véc tơ đặc trưng cho sản phẩm dựa trên mô tả của nó là một bước quan trọng trong việc tạo ra bộ hồ sơ dữ liệu sản phẩm Phương pháp này giúp xác định thể loại sản phẩm và mối tương đồng giữa các thể loại, từ đó cải thiện khả năng tìm kiếm và phân loại sản phẩm một cách hiệu quả.
Khi xây dựng bộ hồ sơ cho dữ liệu phim ảnh, cần xác định các thông tin quan trọng như thể loại phim (hài kịch, hành động, trinh thám, v.v.), danh sách diễn viên tham gia, đạo diễn của bộ phim và năm phát hành.
- Véc tơ hóa dữ liệu sản phẩm dựa vào bóc tách văn bản
Dữ liệu sản phẩm có thể được xây dựng từ tài liệu mô tả dưới dạng văn bản hoặc hình ảnh Đối với dữ liệu văn bản, chúng ta có thể áp dụng các phương pháp mã hóa như TFIDF và word2vec để xử lý thông tin hiệu quả.
Chúng ta có thể xác định độ tương đồng giữa các sản phẩm bằng cách tính khoảng cách giữa các véc tơ đại diện cho chúng, chẳng hạn như sử dụng khoảng cách cosin.
3.2.2 Bộ lọc cộng tác Đề xuất lọc cộng tác là thuật toán nổi tiếng nhất trong các hệ gợi ý Thuật toán này mô hình hóa thị hiếu của người dùng theo lịch sử của hành vi của người dùng GroupLens đã xuất bản bài báo đầu tiên [7] về lọc cộng tác và bài báo đã nâng cao tính năng lọc cộng tác dựa trên người dùng Năm 2000, Amazon đã đưa ra với tính năng lọc cộng tác dựa trên mục trong bài báo của họ [8] Hai thuật toán này là rất nổi tiếng trong hệ thống gợi ý
- Bộ lọc cộng tác dựa vào dữ liệu người dùng
Phương pháp này bắt đầu bằng việc xây dựng một bộ dữ liệu về sở thích của người dùng đối với các sản phẩm Tiếp theo, bộ lọc sẽ xác định những người dùng có độ tương đồng cao để đưa ra gợi ý về các sản phẩm mà họ có khả năng thích.
21 nhau Chẳng hạn, cho người dùng a và b, N(a) và N (b) là bộ sản phẩm mà họ thích tương ứng Độ tương đồng của hai người sẽ được tính như sau:
Cách tính điểm để người dùng a có thích sản phẩm i hay không được tính bằng công thức sau:
Bảng dưới đây minh họa một bộ lọc cộng tác dựa trên dữ liệu người dùng, cho thấy rằng chỉ có người C có độ tương đồng cao với người A, do đó sản phẩm D sẽ được gợi ý cho người A.
Bảng 1: Bộ lọc cộng tác dựa vào người dùng
Sản phẩm A Sản phẩm B Sản phẩm C Sản phẩm D
- Bộ lọc cộng tác dựa vào dữ liệu sản phẩm
Khác với phương pháp dựa vào dữ liệu người dùng, phương pháp này tìm kiếm sản phẩm có độ tương đồng với những sản phẩm mà người dùng đã thích trước đó Mục tiêu chính là xác định mức độ tương đồng giữa các sản phẩm Giả sử N(i) và N(j) là tập hợp người dùng thích cả sản phẩm i và j, độ tương đồng giữa hai sản phẩm này được tính theo một công thức cụ thể.
Cách tính điểm để người dùng u có thích sản phẩm i hay không được tính bởi công thức sau:
Bảng dưới đây minh họa bộ lọc cộng tác dựa trên dữ liệu sản phẩm, cho thấy rằng những người yêu thích sản phẩm A thường cũng có xu hướng thích sản phẩm C Do đó, chúng tôi sẽ đề xuất sản phẩm C cho những người đã thể hiện sự quan tâm đến sản phẩm A.
Cả 2 phương pháp dựa vào dữ liệu người dùng hay dựa vào dữ liệu sản phẩm đều dựa trên ý tưởng về thuật toán hàng xóm liền kề Còn có nhiều phương pháp về bộ lọc cộng tác khác như Latent Class Model được đề xuất bởi Thomas Hofmann [9], mô hình này kết nối dữ liệu người dùng và sản phẩm bởi lớp ngầm, không xem xét về việc người dùng thích sản phẩm một cách trực tiếp Thay vào đó, người dùng sẽ thích sản phẩm theo thể loại, mô hình sẽ học và tìm ra các thể loại của sản phẩm đó Đi cùng với Latent Class Model, nhiều nghiên cứu về việc sử dụng Matrix Decomposition Model hay còn gọi là Latent Factor Model [12] Nhiều mô hình dựa trên kỹ thuật trên được giới thiệu trong các bài báo về RSVD [11], SVD++
3.2.3 Phương pháp kết hợp cho hệ gợi ý
Hệ thống gợi ý kết hợp (Hybrid Recommender System) đang trở nên phổ biến toàn cầu, nhờ vào việc kết hợp giữa bộ lọc cộng tác và nội dung sản phẩm Phương pháp này đã chứng minh hiệu quả rõ rệt trong việc cải thiện chất lượng gợi ý, như được nêu trong nghiên cứu của [9].
Có các phương pháp kết hợp sau:
- Thêm trọng số: Thêm trọng số điểm cho từng thành phần của hệ gợi ý
- Chuyển đổi: Chuyển giữa các thành phần của hệ gợi ý
- Kết hợp: Kết hợp kết quả của các hệ thống gợi ý khác nhau
- Kết hợp các thuộc tính: Trích xuất thuộc tính từ các nguồn khác nhau và kết hợp chúng thành dữ liệu đầu vào
- Tăng cường dữ liệu thuộc tính: Tính toán thuộc tính từ một hệ thống gợi ý và chuyển tiếp kết quả của chúng tới hệ thống gợi ý khác
- Xếp tầng: Tạo kết quả thô bằng các kỹ thuật gợi ý và gợi ý dựa vào kết quả của bước trước
- Cấp độ dữ liệu (meta-level): Sử dụng kết quả sinh ra từ hệ gợi ý làm đầu vào cho các kỹ thuật hệ gợi ý khác
Mặc dù có nhiều kỹ thuật kết hợp hệ thống gợi ý, nhưng không phải lúc nào chúng cũng mang lại hiệu quả Nghiên cứu này trình bày các phương pháp nhằm khắc phục những điểm yếu trong việc kết hợp các hệ thống gợi ý.
Ứng dụng học sâu cho hệ gợi ý
Ngày nay, mạng nơ ron được ứng dụng rộng rãi cho dữ liệu có thể biểu diễn dưới dạng cấu trúc đồ thị, như trong mạng xã hội và cơ sở tri thức Một trong những phương pháp nổi bật trong lĩnh vực này là sự mở rộng của word2vec do Mikolov và các cộng sự phát triển.
2013), một thuật toán không giám sát DeepWalk (Perozzi, Al-Rfou và Skiena
Năm 2014, nghiên cứu đã được thực hiện để khám phá cách biểu diễn các nút đồ thị thông qua bước ngẫu nhiên, dẫn đến sự phát triển của các thuật toán nhúng mạng như DeepWalk, LINE và node2vec Các mạng nơ-ron cổ điển như CNN và RNN cũng đã được áp dụng cho cấu trúc dữ liệu đồ thị, cho phép xử lý các loại dữ liệu không có khoảng cách Euclidean như mạng xã hội và đồ thị tri thức Hệ gợi ý có thể được biểu diễn dưới dạng đồ thị, như được đề xuất bởi Rianne van den Berg, người đã kết nối bài toán dự đoán với đồ thị CNN để tích hợp thông tin giữa người dùng và sản phẩm Rex Ying đã ứng dụng đồ thị học sâu cho hệ gợi ý Pinterest, tạo ra véc tơ nhúng sản phẩm từ đồ thị thông tin bằng cách sử dụng thuật toán bước ngẫu nhiên và CNN Cuối cùng, Duvenaud và cộng sự đã giới thiệu một mạng nơ-ron tích tụ có khả năng hoạt động trên các đồ thị có kích thước và hình dạng tùy ý.
Một phương pháp mở rộng, được đề xuất bởi Kipf và Welling (2017), sử dụng kiến trúc tích chập để xấp xỉ cục bộ các chập của đồ thị quang phổ, cho phép hoạt động trực tiếp trên đồ thị, tuy nhiên chỉ áp dụng cho đồ thị vô hướng Trước đó, Mạng nơ-ron đồ thị (GNN) đã được phát triển để làm việc với đồ thị có hướng (Gori, Monfardini và Scarselli, 2005; Scarselli và cộng sự, 2009) Gated GNN, một biến thể của GNN, được giới thiệu bởi Li và cộng sự (2015), sử dụng các đơn vị định kỳ và phương pháp truyền ngược qua thời gian (BPTT) để tính toán độ dốc Gần đây, GNN đã được áp dụng rộng rãi cho nhiều nhiệm vụ khác nhau.
24 vụ, ví dụ: dự đoán sự kiện kịch bản, nhận dạng tình huống (Li và cộng sự 2017b)
[28], và phân loại hình ảnh (Marino, Salakhutdinov và Gupta 2017) [27]
GIẢI PHÁP ĐỀ XUẤT
Đồ thị học sâu (Graph Neural Network)
Gần đây, Graph Neural Network (GNN) do Jie Zhou giới thiệu đã trở nên phổ biến trong nhiều lĩnh vực như mạng xã hội, biểu đồ tri thức, hệ thống khuyến nghị và khoa học đời sống GNN mạnh mẽ trong việc mô hình hóa sự phụ thuộc giữa các nút trong biểu đồ, tạo ra những bước đột phá trong nghiên cứu phân tích đồ thị.
Trong Khoa học Máy tính, đồ thị là một cấu trúc dữ liệu quan trọng, bao gồm hai thành phần chính là đỉnh và cạnh Đồ thị G có thể được mô tả một cách rõ ràng thông qua tập hợp các đỉnh V và các cạnh kết nối chúng.
Hình 10: Mô tả đồ thị
Đồ thị là một cấu trúc dữ liệu phức tạp, trong đó các cạnh có thể có hướng hoặc vô hướng tùy thuộc vào mối quan hệ giữa các đỉnh Đồ thị thường được sử dụng để giải quyết các bài toán liên quan đến việc thể hiện mối liên hệ giữa các thực thể, đặc biệt là trong các trường hợp mà kiểu dữ liệu thông thường không thể biểu diễn một cách hiệu quả Các ví dụ về ứng dụng của đồ thị bao gồm phân tích dữ liệu mạng xã hội, mô hình hóa liên kết mạng internet, nghiên cứu tương tác giữa các nguyên tử và phân tử.
Hình 11: Các bài toán điển hình của đồ thị (trích từ blog viblo)
Với những dạng dữ liệu đặc thù như vậy, cũng yêu cầu các mục tiêu khác nhau tùy thuộc vào mục đích của từng bài toán, chẳng hạn như:
- Phân tích dữ liệu mạng xã hội để nắm bắt được các xu hướng của cộng đồng hiện tại, các nhóm đối tượng khách hàng
Phân tích mức độ ảnh hưởng của một cá nhân trong cộng đồng là một chiến lược hiệu quả để giảm chi phí marketing trong khi vẫn đảm bảo độ lan tỏa rộng rãi Việc xác định và tận dụng những người có tầm ảnh hưởng sẽ giúp doanh nghiệp tối ưu hóa ngân sách quảng cáo và gia tăng khả năng tiếp cận khách hàng mục tiêu.
Phân tích sự tương tác ở cấp độ phân tử và nguyên tử đóng vai trò quan trọng trong y sinh học, đặc biệt trong việc nghiên cứu tác dụng phụ của thuốc Việc hiểu rõ các mối quan hệ này giúp cải thiện hiệu quả điều trị và giảm thiểu rủi ro cho bệnh nhân.
- Xây dựng các hệ thống gợi ý sản phẩm cho các trang web thương mại điện tử từ dữ liệu tương tác của người dùng
- Phát hiện tin giả trên mạng xã hội dựa vào phân tích độ liên kết giữa các thực thể trong đồ thị
Hình 12: Ứng dụng của bài toán sử dụng đồ thị (trích từ blog viblo)
Thuật toán CNN, được ứng dụng trong xử lý ảnh, sử dụng các bộ lọc cố định kích thước như cửa sổ trượt để trích xuất đặc trưng từ bức ảnh Các bộ lọc này, là trọng số của mô hình CNN, sẽ được cập nhật trong quá trình học, với mỗi bộ lọc học được các thuộc tính khác nhau Tương tự, Graph Neural Network tổng hợp các nút lân cận nhau, nhưng các nút trong đồ thị không có thứ tự và số cạnh liên kết với các nút là khác nhau.
Hình 13: Đồ thị học sâu (trích từ blog viblo)
Mạng Nơ-ron Đồ thị (Graph Neural Network - GNN) là một loại mạng nơ-ron được thiết kế để hoạt động trực tiếp trên cấu trúc đồ thị Thông qua việc sử dụng mạng nơ-ron, các nút trong GNN có khả năng thu thập và bổ sung thông tin, từ đó cải thiện khả năng phân tích và xử lý dữ liệu liên quan đến đồ thị.
Mạng nơ-ron đồ thị (GNN) thu thập thông tin từ các nút lân cận và lớp cuối cùng tổng hợp tất cả dữ liệu này để đưa ra dự đoán hoặc phân loại Thông thường, GNN được áp dụng để giải quyết nhiều vấn đề khác nhau trong lĩnh vực học máy.
- Phân loại đỉnh (Node classification)
- Dự đoán liên kết (Link prediction)
- Phân loại đồ thị (Graph classification)
Trong đồ thị, mỗi đỉnh được gán với một tập hợp các thuộc tính và các đỉnh tương tự Mục tiêu của mạng nơ-ron đồ thị (GNN) là học trạng thái nhúng ℎ R ∈ 𝑅 S, chứa thông tin từ các đỉnh hàng xóm Trạng thái nhúng ℎ R là véc tơ s chiều của đỉnh v, cho phép dự đoán nhãn của đỉnh v là 𝑜 R Hàm f là hàm chuyển tiếp cục bộ, được chia sẻ giữa các đỉnh, giúp cập nhật trạng thái đỉnh dựa trên đầu vào từ hàng xóm Đồng thời, g là hàm đầu ra cục bộ, mô tả cách dự đoán đầu ra.
Trong đó, 𝑥 R , 𝑥 6T[R] , ℎ %W[R] , 𝑥 %W[R] là thuộc tính của đỉnh v, thuộc tính của cạnh, trạng thái, thuộc tính của đỉnh hàng xóm của v
Giả sử H, O, X và 𝑋 % là các véc tơ khởi tạo từ tập hợp các trạng thái, đầu ra, và thuộc tính đỉnh Chúng ta có thể áp dụng công thức sau đây.
Để học được các tham số của hàm f và g trong bài toán học có giám sát với nhãn mục tiêu là 𝑡 R, chúng ta cần xác định hàm mất mát Hàm mất mát này sẽ giúp đánh giá độ chính xác của mô hình trong quá trình học tập.
Trong đó, p là số lượng đỉnh đã có nhãn, thuật toán sẽ học dựa trên thuật toán gradient-descent đã được giới thiệu ở trước.
Nhúng đỉnh đồ thị (Node Embedding)
Hình 14: Nhúng đỉnh đồ thị (trích từ blog viblo)
Việc học dựa trên đồ thị được chia làm hai phân nhóm chính:
Nhúng đỉnh đồ thị là quá trình ánh xạ một đỉnh trong đồ thị sang một không gian rời rạc khác với d chiều Việc sử dụng các không gian rời rạc này không chỉ giúp biểu diễn hóa mà còn áp dụng vào nhiều nhiệm vụ khác như phân loại nút (node classification) và phân cụm đồ thị (graph clustering).
Nhúng đồ thị là quá trình ánh xạ một đồ thị hoặc đồ thị con thành một véc tơ duy nhất, giúp so sánh các cấu trúc phân tử trong không gian rời rạc Phương pháp này có liên quan chặt chẽ đến các bài toán phân lớp dựa trên đồ thị hoặc đồ thị con, hỗ trợ trong việc phân tích và so sánh các đặc điểm của các cấu trúc khác nhau.
Nhiều thuật toán học dựa trên đồ thị, như graph-based embedding và graph neural network, giả định rằng các nút gần nhau có đặc trưng tương đồng Ví dụ, việc theo dõi người dùng trên Twitter cho thấy mối quan tâm của bạn đối với các vấn đề như machine learning, deep learning, hay chính trị, tôn giáo, sắc tộc Dựa trên các mối liên hệ này, các nhà phát triển thiết kế mô hình cho các mục đích như phân tích mạng xã hội và hệ thống gợi ý.
Bước ngẫu nhiên (Random walk)
Bước ngẫu nhiên được giới thiệu bởi Giannis Nikolentzos là một giải pháp cho thách thức trong thiết kế mạng nơ ron cho đồ thị, nhằm giúp máy hiểu các hoán vị bất biến của đồ thị Bất kỳ hoán vị nào của các đỉnh trong một đồ thị đều tạo ra cấu trúc giống hệt nhau, do đó, đầu ra của GNN cần phải nhất quán bất kể thứ tự của các đỉnh Đồ thị thường được biểu diễn bằng ma trận kề hoặc ma trận chứa thuộc tính của các đỉnh Đầu vào của thuật toán là tập hợp các đồ thị 𝐺 " , … , 𝐺 % ⊂ 𝐺 cùng với nhãn tương ứng 𝑦 " , … , 𝑦 % ⊂ 𝑌, và thuật toán sẽ tìm kiếm véc tơ thuộc tính đặc trưng của đồ thị.
ℎ X , véc tơ này dùng để dự đoán nhãn của đồ thị, nghĩa là 𝑦 = 𝑓(ℎ X ) trong đấy f là hàm dự đoán
Đồ thị G = (V, E) là một đồ thị vô hướng với V là tập các đỉnh và E là tập các cạnh Số lượng đỉnh được ký hiệu là n và số lượng cạnh là m Ma trận kề A ∈ R^(n×n) thể hiện thông tin mối quan hệ giữa các đỉnh, trong đó vị trí hàng i cột j bằng 1 nếu hai đỉnh v_i và v_j có liên kết, ngược lại bằng 0 Mỗi đỉnh được liên kết với một véc tơ thuộc tính X ∈ R^(n×d), trong đó d là số chiều của véc tơ thuộc tính, và véc tơ thuộc tính của đỉnh v_i tương ứng với hàng thứ i của ma trận X.
Cho ma trận kề A của đồ thị G, cần thiết phải tạo ra đầu ra đồng nhất cho tất cả các ma trận 𝑃𝐴𝑃', trong đó P là tập con của ma trận hoán vị n x n Thuật toán nhằm mục đích so sánh đồ thị đầu vào với một đồ thị ẩn.
Mô hình có N đồ thị ẩn 𝐺 " , 𝐺 # , … , 𝐺 % với kích thước khác nhau về số lượng đỉnh Cấu trúc thuộc tính của các đỉnh có thể được học, trong đó ma trận kề của đồ thị ẩn 𝐺 ! với n đỉnh được mô tả bởi ma trận trọng số 𝑊 ! ∈ 𝑅 %BZ, và các thuộc tính của đỉnh được lưu trữ trong một ma trận kề khác.
Đồ thị ẩn 𝑍 ! ∈ 𝑅 %BZ có thể là đồ thị có hướng hoặc vô hướng, có lặp hoặc không lặp Đồ thị 𝐺 B được định nghĩa là tích vô hướng của đồ thị G và G’, với 𝐺 B = (𝑉 B , 𝐸 B ) Tập đỉnh 𝑉 B bao gồm các cặp đỉnh 𝑣 và 𝑣 C từ hai đồ thị G và G’, trong khi tập cạnh 𝐸 B bao gồm các cặp cạnh giữa các đỉnh này Do đó, thực hiện bước đi ngẫu nhiên trên đồ thị 𝐺 B tương đương với việc thực hiện bước đi ngẫu nhiên trên cả hai đồ thị G và G’ Ma trận kề 𝐴 B được sử dụng để biểu diễn đồ thị 𝐺 B.
𝐺 B , 𝑃 ∈ 𝑁, “P-bước ngẫu nhiên” giữa đồ thị G và G’ Ta có:
PT 40 Ở đây λ / , λ " , … , λ ( là chuỗi các trọng số dương Mục đích của thuật toán bước đi ngẫu nhiên là tính toán biến thể nhỏ nhất của “P-bước ngẫu nhiên”, bước đi có độ dài chính xác p giữa G và G’
Hình 15: Tổng quan về thuật toán bước đi ngẫu nhiên [15]
DeepWalk là một mô hình node embedding đơn giản, lấy cảm hứng từ mô hình word2vec, đặc biệt là mô hình Skip-gram Mô hình này thực hiện các bước ngẫu nhiên trên toàn bộ đồ thị để tạo ra các chuỗi đỉnh, tương tự như cách mà các câu được biểu diễn trong ngôn ngữ Thuật toán DeepWalk đã được chứng minh là cải thiện độ chính xác trên nhiều tập dữ liệu khác nhau.
DeepWalk lấy cảm hứng từ phương pháp Skip-gram với mục tiêu tối đa hóa xác suất xuất hiện đồng thời giữa đỉnh mục tiêu và đỉnh ngữ cảnh trong một cửa sổ bước ngẫu nhiên Cụ thể, với chuỗi bước ngẫu nhiên 𝑠 = 𝑣 " , 𝑣 # , … , 𝑣 Y trong đó 𝑣 ! thuộc tập hợp đỉnh 𝑉, mỗi đỉnh mục tiêu 𝑣 ! sẽ có một cửa sổ K chỗ, và ngữ cảnh của đỉnh i được xác định là 𝑐 ! = (𝑣 !$> , … , 𝑣 !D> )\𝑣 ! Hàm mất mát của DeepWalk được định nghĩa dựa trên các yếu tố này.
Trong đó, S là tập các chuỗi bước ngẫu nhiên sinh ra từ việc bước ngẫu nhiên trên toàn đồ thị Xác suất 𝑃𝑟;𝑣 * }𝑣 ! = là được tính sử dụng hàm softmax
Trong đó, 𝑥 ! , 𝑥 * là véc tơ đại diện cho đỉnh 𝑣 ! và 𝑣 * và (.) tích vô hướng của hai véc tơ
Node2Vec là một mô hình Node Embedding được phát triển dựa trên các khái niệm của DeepWalk và Word2Vec Khác với các phương pháp truyền thống chỉ sử dụng bước đi ngẫu nhiên, Node2Vec giới thiệu hai tham số P và Q, cho phép điều chỉnh quá trình bước đi ngẫu nhiên trên đồ thị một cách linh hoạt hơn.
Hình 17: Bước ngẫu nhiên trên Node2Vec [19]
Tham số p, hay còn gọi là tham số quay lại, xác định khả năng trở về một nút trước đó trong quá trình đi ngẫu nhiên Nếu giá trị của p lớn, khả năng quay lại nút trước đó sẽ giảm, trong khi giá trị p nhỏ sẽ làm tăng khả năng này.
Tham số q (hay còn gọi là tham số in-out) xác định khả năng di chuyển gần hoặc xa so với nút khởi đầu Khi q > 1, bước đi ngẫu nhiên có xu hướng quanh quẩn ở nút ban đầu, trong khi đó, khi q < 1, nó có xu hướng di chuyển ra xa khỏi nút ban đầu.
Cụ thể mã giả của thuật toán Node2Vec được mô tả ở hình sau:
Hình 18: Mã giả thuật toán Node2Vec [19]
Công thức và ký hiệu
Hệ gợi ý sử dụng dữ liệu phiên sử dụng của người dùng để dự đoán các sản phẩm mà họ có khả năng mua Bằng cách phân tích hành vi tuần tự của người dùng, hệ thống có thể đưa ra những dự đoán chính xác về sở thích mua sắm của họ.
Dữ liệu phiên được định nghĩa là tập hợp tất cả các sản phẩm không bị lặp lại trong tất cả các phiên sử dụng của người dùng, với 𝑉 = 𝑣 " , 𝑣 # , … , 𝑣 Y Mỗi phiên sử dụng chứa thông tin quan trọng về hành vi và sở thích của người dùng.
Trong đó: v ],+ ∈ V là đại diện cho sản phẩm mà người dùng chọn trong phiên sử dụng và được sắp xếp theo thứ tự thời gian
Hệ gợi ý nhằm dự đoán sản phẩm mà người dùng có khả năng mua dựa trên dữ liệu lựa chọn của họ Trong mỗi phiên sử dụng, mô hình sẽ cung cấp một tập hợp 𝑦 ⏜ gồm các sản phẩm tiềm năng Kết quả cuối cùng của hệ gợi ý là tập hợp k sản phẩm có điểm số cao nhất.
Khởi tạo đồ thị phiên sử dụng
Mỗi phiên sử dụng có thể được mô hình hóa dưới dạng đồ thị có hướng 𝐺 S (𝑉 S , 𝐸 S ), trong đó mỗi đỉnh biểu thị một sản phẩm 𝑣 S,! ∈ 𝑉.
Mỗi cạnh trong đồ thị biểu thị sự lựa chọn sản phẩm của người dùng trong một phiên sử dụng, với 𝑣 S,!$" là sản phẩm được chọn đầu tiên và 𝑣 S,! là sản phẩm được chọn tiếp theo Sản phẩm 𝑣 % là sản phẩm cuối cùng mà người dùng mua trong phiên đó Một số cạnh có thể được lặp lại, vì vậy cần tạo véc tơ nhúng cho mỗi sản phẩm với số chiều d Từ véc tơ nhúng của các đỉnh, ta có thể xây dựng véc tơ đặc trưng cho phiên sử dụng bằng cách kết hợp các đỉnh trong đồ thị Cuối cùng, véc tơ đặc trưng này được sử dụng để dự đoán các sản phẩm mà người dùng có thể quan tâm.
Học nhúng véc tơ của sản phẩm từ đồ thị
Để khám phá véc tơ đặc trưng ẩn của các đỉnh và sản phẩm trong đồ thị, tôi áp dụng các phương pháp nhúng từ đồ thị học sâu Đồ thị học sâu có khả năng tự động học và phát hiện các thuộc tính đặc trưng của sản phẩm dựa trên thông tin giữa các đỉnh Công thức cập nhật cho đỉnh 𝑣 S,! trong đồ thị 𝐺 S được trình bày như sau:
- 𝐻 ∈ 𝑅 ZB#Z là ma trận quản lý trọng số của mô hình
- 𝑧 S,! và 𝑟 S,! là tương ứng cửa làm mới (reset gate) và cửa cập nhật (update gate)
- [𝑣 " G$" , , 𝑣 % G$" ] là danh sách của véc tơ cạnh trong phiên sử dụng s
- ⊙ là phép nhân element-wise
- 𝑣 ! ∈ 𝑅 Z là véc tơ nhúng của đỉnh 𝑣 S,!
- 𝐴 S ∈ 𝑅 %B#% là ma trận liên kết xác định các đỉnh trong đồ thị liên kết thế nào với các đỉnh khác
- 𝐴 S,! ∈ 𝑅 "B#% là 2 cột của ma trận 𝐴 S tương ứng với đỉnh 𝑣 S,!
Ma trận 𝐴 S được xác định là sự kết nối giữa hai ma trận kề 𝐴 S (RàT) và 𝐴 S (_K), đại diện cho trọng số của các kết nối trong và ngoài của các cạnh trong đồ thị phiên sử dụng Ví dụ, với phiên sử dụng s = [v1, v2, v3, v2, v4], ma trận 𝐴 S tương ứng với đồ thị 𝐺 S được tính toán như sau:
Hình 19: Ma trận vào ra của đồ thị Gs
Nhúng đồ thị
Hệ gợi ý dựa trên dữ liệu phiên sử dụng giả định rằng có đặc trưng ẩn cho từng người dùng và phiên sử dụng Mục tiêu của đồ thị học sâu là xác định véc tơ đặc trưng ẩn này Sau khi huấn luyện, ta thu được tập các véc tơ đặc trưng của các đỉnh, từ đó đại diện cho mỗi phiên bằng véc tơ nhúng 𝑠 ∈ 𝑅 Z Véc tơ nhúng địa phương của phiên sử dụng s được ký hiệu là 𝑠 ", trong đó 𝑣 S,% biểu thị sản phẩm mà người dùng đã mua trong phiên đó, do đó 𝑣 S,% = 𝑠 ".
Sau khi xem xét véc tơ nhúng toàn cục của phiên sử dụng s, chúng ta tổng hợp từ tất cả các véc tơ đặc trưng của đỉnh để đưa ra kết quả chính xác.
- 𝑞 ∈ 𝑅 Z và 𝑊 " , 𝑊 # là tham số và ma trận quản lý trọng số của véc tơ nhúng của sản phẩm
Cuối cùng, ta tính biến đổi nhúng 𝑠 b thông qua biến đổi tuyến tính kết hợp giữa cục bộ và toàn cục của véc tơ nhúng:
Trong đó, ma trận 𝑊 c ∈ 𝑅 ZB#Z là ma trận nén kết hợp hai véc tơ nhúng vào không gian d chiều.
Xây dựng hệ gợi ý và huấn luyện mô hình
Sau khi thu thập véc tơ nhúng cho từng phiên sử dụng, chúng ta tiến hành tính toán điểm số 𝑧 ~ ! cho mỗi sản phẩm được chọn 𝑣 ! ∈ 𝑉 Điểm số này được xác định bằng cách nhân véc tơ nhúng của sản phẩm 𝑣 ! với véc tơ đại diện cho phiên sử dụng 𝑠 b.
𝑧 ~ ! = 𝑠 b ' 𝑣 ! Sau đó, áp dụng hàm softmax cho đầu ra của hàm dự đoán của mô hình:
Trong mô hình này, 𝑦 ~ đại diện cho xác suất mà người dùng sẽ quyết định mua sản phẩm sau khi hoàn tất phiên sử dụng, trong khi 𝑧 ~ là điểm số gợi ý cho tất cả các sản phẩm.
Sau mỗi phiên sử dụng, hàm mất mát được xác định là hàm số cross-entropy giữa giá trị dự đoán và giá trị nhãn Hàm này có thể được tính toán theo công thức cụ thể.
Trong đó: y là véc tơ one-hot của nhãn