Giới thiệu đề tài
Các hệ thống gợi ý, khuyến nghị trong thực tế thường phải đối mặt với việc là gợi ý thật nhanh chóng cho người dùng, những gợi ý quảng cáo này phải mang tính cá nhân hoá đối với từng nhóm người dùng khi thời gian họ dành cho các ứng dụng ngày càng ít đi vì có rất nhiều ứng dụng, rất nhiều sản phẩm được quảng bá tới họ Mong muốn của người dùng thường được xác định dựa vào thông tin mang tính nhân khẩu học (demographic) như một người dùng có nghề nghiệp là nhạc sĩ thường sẽ quan tâm tới các dụng cụ sản phẩm có đặc tính về âm nhạc, âm thanh.
Tuy nhiên trong thực tế, phần lớn những nhu cầu tiêu dùng của người dùng lại phụ thuộc lớn vào những hành vi của họ trong một khoảng thời gian ngắn như là việc mua hàng trên các trang thương mại điện tử, ăn uống, mua sắm, du lịch, tài chính, giải trí Ví dụ minh hoạ như hình 1.1, giả sử người dùng có nghề nghiệp là nhạc sĩ đang có mong muốn mua một chiếc điện thoại mới nhưng hệ thống lại gợi ý sản phẩm tiếp theo là loa, microthu âm thì sẽ không phù hợp với nhu cầu thực sự của người dùng trong thời điểm đó mà lúc này các sản phẩm được gợi ý phù hợp nên là ốp lưng, cáp sạc, tai nghe Do đó song song với việc thu thập dữ liệu hành vi người dùng và tổ chức lưu trữ phù hợp thì việc nghiên cứu làm sao khai thác hiệu quả những hành vi tương tác của người dùng với sản phẩm trong ngắn hạn và đặc điểm tuần tự của chúng là rất quan trọng Đó cũng chính là lý do tôi chọn thực hiện đề tài với mục tiêu là có thểkhai thác đặc tính tuần tự trong việc đưa ra gợi ýcho người dùng từ đó giúp nâng cao chất lượng của kết quả gợi ý đưa ra.
Ngày nay, nghiên cứu khoa học khai thác đặc tính tuần tự utilisant học sâu đang thịnh hành nhờ vào sự phát triển của kiến trúc mô hình như RNN, xử lý hiệu quả dữ liệu dạng chuỗi.
Self-Attention, kiến trúcTransformer[13] đã đạt được những cột mốc đáng nhớ trong lĩnh vực Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) Bằng việc ứng dụng những thành tựu khoa học này vào bài toán gợi ý, Hệ thống khuyến nghị tuần tự đề xuấtlà một trong những giải pháp cho một hệ thống khuyến nghị người dùng quan tâm đến dữ liệu tương tác của người dùng dưới dạng tuần tự theo thời gian Với đặc điểm là ngoài việc sử dụng các thông tin cá nhân hoá của người dùng dài hạn (long-term user preferences) vào việc đưa ra gợi ý như các hướng tiếp cận truyền thống khác, hệ thống còn đặc biệt xem xét tới mối quan tâm ngắn hạn của người dùng trong thời gian ngắn(short-term intentions), hoặc theo phiên (session).
Ý nghĩa thực tiễn
Hình 1.1: Minh hoạ ứng dụng hệ thống khuyến nghị tuần tự mua kèm sản phẩm tại ứng dụng Tiki.
Việc ứng dụng hệ thống gợi ý tuần tự trong thực tế mang lại hiệu quả cao trong khả năng đưa ra các khuyến nghị, bằng việc mang lại lợi ích đối với người tiêu dùng khiến họ mua những sản phẩm phù hợp hơn từ đó mang lại giá trị cho các doanh nghiệp và các nhà cung cấp sản phẩm, dịch vụ:
■ Kinh doanh: Việc gợi ý hiệu quả giúp người dùng có nhiều cơ hội để mua sản phẩm hơn từ đó giúp tăng doanh thu cho doanh nghiệp.
■ Truyền thôngMarketing: Có khả năng nắm bắt xu hướng và đưa ra các chương trình khuyến mãi, quảng cáo đúng mục tiêu, gợi ý mang tính cá nhân hoá.
■ Chăm sóc khách hàng: Gia tăng mức độ hài lòng của khách hàng từ đó gia tăng lòng trung thành của khách hàng đối với doanh nghiệp.
■ Người tiêu dùng: Dễ lựa chọn sản phẩm thích hợp, tiết kiệm thời gian hơn trong quá trình quan sát và mua sắm.
Những khó khăn và thách thức
1.3 | Những khó khăn và thách thức
Những khó khăn và thách thức gặp phải trong quá trình thực hiện đề tài bao gồm những điểm sau:
■ Mỗi lĩnh vực khác nhau sẽ có những loại dữ liệu và đặc điểm khác nhau Do đó việc lựa chọn thuộc tính, dữ liệu sử dụng cần có kiến thức ngành liên quan phù hợp.
■ Nhiều cách đánh giá khác nhau cho bài toán gợi ý Thực tế có nhiều nhiệm vụ cần giải quyết cho bài toán gợi ý do đó dẫn tới ở mỗi nhiệm vụ sẽ có các phương pháp đánh giá phù hợp khác nhau.
Tiền xử lý dữ liệu đầu vào là bước quan trọng để đảm bảo hiệu quả của mô hình gợi ý Đối với dữ liệu tuần tự, việc tiền xử lý cần được thực hiện cẩn thận tùy theo kiến trúc hệ thống Quá trình này bao gồm những hoạt động khác nhau nhằm chuẩn hóa dữ liệu, xóa nhiễu và trích xuất các đặc trưng quan trọng Việc xử lý dữ liệu đúng cách không chỉ giúp cải thiện độ chính xác của mô hình mà còn tạo điều kiện thuận lợi cho việc kiểm chứng hiệu quả của mô hình thông qua các thí nghiệm thực tế.
■ Thời gian thực hiện đề tài có hạn do đó phạm vi của đề tài sẽ được giới hạn lại cho phù hợp, chưa thể thực hiện các phần liên quan để thành một ứng dụng gợi ý hoàn chỉnh hay thực nghiệm kết hợp với các giải pháp nghiên cứu khác.
Nhiệm vụ và cấu trúc luận văn
Nhiệm vụ luận văn
Luận văn này sẽ giải quyết các vấn đề sau trong quá trình thực hiện đề tài bao gồm:
■ Xây dựng quy trình tiền xử lý bao gồm chọn lọc, biến đổi và chuẩn hóa dữ liệu sẵn sàng đưa vào phân tích Bao gồm các thuộc tính của người dùng, sản phẩm và các thuộc tính ở dạng tuần tự.
■ Xây dựng bộ dữ liệu huấn luyện, bộ dữ liệu thẩm định và bộ dữ liệu kiểm nghiệm từ tập dữ liệu ban đầu.
■ Xây dựng kiến trúc mô hình huấn luyện đề xuất.
■ Kiểm tra thực nghiệm và đánh giá so sánh các mô hình cơ sở trên từng bài toán con.
1.4 Nhiệm vụ và cấu trúc luận văn
■ Tổng kết và đề xuất các giải pháp triển khai ứng dụng thực tế và hướng mở rộng để nghiên cứu trong tương lai.
Cấu trúc luận văn
Luận văn Hệ thống gợi ý tuần tự sử dụng kiến trúc Transformer bao gồm Năm phần với các nội dung chính sau đây:
Phần Một, Giới thiệutrình bày những điểm tổng quan về đề tài, lý do chọn đề tài và ý nghĩa thực tiễn của bài toán, cũng như trình bày về những khó khăn gặp phải trong quá trình thực hiện, cuối cùng là nhiệm vụ và cấu trúc của luận văn.
Phần Hai, Cơ sở lý thuyết và Công trình nghiên cứu liên quancung cấp một cái nhìn tổng quát về những nghiên cứu liên quan đã và đang được thực hiện, cũng như xu hướng chung hiện nay trong việc giải quyết bài toán, trong đó cũng trình bày những quan điểm cá nhân đối với các phương pháp này Phần Cơ sở lý thuyết là tổng hợp những vấn đề học thuật liên quan nhất sẽ áp dụng để giải quyết bài toán, bao gồm giới thiệu về bài toán gợi ý tuần tự, các mô hình gợi ý tuần tự đã được thực hiện, cách thức vận hành và ứng dụng của các mô hình này cho các bài toán xử lý tuần tự cũng như ưu và nhược điểm của chúng. ỞPhần Ba, Dữ liệu và Giải pháp đề xuấttôi trình bày chi tiết về bộ dữ liệu được sử dụng cũng như các phân tích thống kê Với những tính chất đặc trưng của bộ dữ liệu thí nghiệm, tôi trình bày phương pháp tiền xử lý và chọn lọc dữ liệu, thiết kế kiến trúc mô hình của hệ thống đề xuất, phương pháp cài đặt và tinh chỉnh mô hình cho từng bài toán con.
Phần Bốn, Kết quả và Thảo luậnlà kết quả thực nghiệm của mô hình đề xuất đã trình bày trong Phần Ba và kết quả so sánh với các mô hình cơ sở; sau đó là những nhận xét và thảo luận về các kết quả thu được này.
Phần cuối cùng, Kết luậnlà tổng hợp các kết quả có được từ quá trình thực hiện luận văn từ nghiên cứu và xây dựng giả thuyết, triển khai thực nghiệm Phần này cũng trình bày những hạn chế và vấn đề tồn đọng, đề xuất khả năng mở rộng, các giải pháp cải tiến bổ sung và tổng kết luận văn.
Mục lục,Danh sách hình vẽ,Danh sách bảng,Các từ viết tắtđược cung cấp ở đầu luận văn.Tài liệu tham khảovàPhụ lụcsẽ được trình bày ở cuối luận văn.
Cơ sở lý thuyết & Công trình nghiên cứu liên quan
Trong phần cơ sở lý thuyết, tôi sẽ giới thiệu tổng quan về bài toán gợi ý tuần tự, chỉ rõ nhánh tiếp cận trong gợi ý tuần tự mà đề tài sẽ giải quyết; những vấn đề học thuật, lý thuyết liên quan tới đề tài Trong những công trình nghiên cứu liên quan, tôi sẽ thực hiện khái quát lịch sử phát triển của các công trình nghiên cứu liên quan trong nỗ lực giải quyết bài toán Gợi ý tuần tự trên thế giới cùng những kết quả đã đạt được kèm theo đánh giá ưu điểm, khuyết điểm của các nghiên cứu này.
Tổng quan về bài toán gợi ý tuần tự
2.1 | Tổng quan về bài toán gợi ý tuần tự
Hầu hết các hệ thống khuyến nghị truyền thống (Traditional Recommendation) là một hệ thống theo hướng content-based [1] hoặc collaborative filtering-based[2] tập trung vào việc mô hình hoá mối quan hệ tương tác giữa người dùng (user) và sản phẩm (item) dựa trên các thuộc tính nhân khẩu học của người dùng, đặc tính của sản phẩm và lịch sử tương tác trong dài hạn của người dùng (nhưclicksản phẩm, yêu thích sản phẩm, mua sản phẩm của toàn bộ người dùng trong vòng một năm) Việc tương tác này của người dùng có thể được phân làm hai loại là tương tác rõ ràng, trực tiếp (explicit) và tương tác ẩn, gián tiếp (implicit) hoặc là kết hợp cả hai [3] Đối với các hệ thống này, ta đã giả định rặng tất cả những tương tác giữa người dùng và sản phẩm trong dữ liệu trong lịch sử là như nhau và cố gắng tìm ra một sở thích tĩnh (static preferences) Tuy nhiên như đã chia sẻ ở Chương 1 thì điều này không quá hữu dụng trong thực tế khi hành động, hành vi tương tác tiếp theo của người dùng chịu sự ảnh hưởng mạnh bởi những mối quan tâm hiện tại hơn là sở thích tĩnh dài hạn cũng như những tương tác này là một chuỗi các hành động có đặc tính thứ tự Do đó các hệ thống khuyến nghị thông thường đã bỏ qua sự phụ thuộc tuần tự khi thực hiện mô hình hoá dẫn tới mô hình đưa ra gợi ý không tương đồng với sở thích và mong muốn của người dùng.
Hệ thống khuyến nghị tuần tự (Sequential Recommendation) [12] là một hệ thống gợi ý người dùng dựa trên việc quan sát các hành vi tương tác của người dùng đối với sản phảm theo tuần tự và thứ tự Ví dụ minh hoạ như người dùng A tìm kiếm thông tin (search) sản phẩmX, chọn (click) vào sản phẩmY, nhưng lại mua (buy) sản phẩm Z Mô hình cần học được thông tin tương tác này kèm với thứ tự của chúng Hình 2.1 minh hoạ một lịch sử hành vi tương tác của người dùng trong tập dữ liệu về người dùngU u Thành phần chính của một hệ thống khuyến nghị tuần tự cần quan tâm trước nhất đó là sản phẩm người dùng tương tác (objects) và phương thức tương tác của người dùng đối với sản phẩm (types) Trong đó:
■ c 1 ,c 2 ,c 3 , cnlà loại phương pháp mà người dùng tương tác với sản phẩm;
■ o 1 ,o2,o3, onlà sản phẩm mà người dùng tương tác;
■ a 1 ,a2,a3, anlà các cặp thông tin (c i ,o i ) diễn tả sản phẩm và tương tác với sản phẩm đó của người dùng;
■ Ulà tập dữ liệu về người dùng;
2.1 Tổng quan về bài toán gợi ý tuần tự
■ Vlà tập dữ liệu về sản phẩm.
Hình 2.1: Minh hoạ một hệ thống gợi ý tuần tự tổng quan.
Dựa vào thông tin về loại tương tác (types) và sản phẩm tương tác (objects) mà người ta phân loại bài toán gợi ý tuần tự thành các nhánh bài toán con bao gồm:
■ Hành vi tuần tự dựa trên kinh nghiệm (Experience-based behavior sequence);
■ Hành vi tuần tự dựa trên giao dịch (Transaction-based behavior sequence);
■ Hành vi tuần tự dựa trên tương tác (Interaction-based behavior sequence).
Hình 2.2 minh hoạ cho hành vi tuần tự dựa trên kinh nghiệm khi muốn quan sát hành vi diễn ra trên cùng một sản phẩm, nhưng với nhiều hành vi khác nhau cần quan sát (nhưclick, view, share, buy ) lên sản phẩm đó Mục tiêu của mô hình là có thể dự đoán được hành vi tiếp theo của người dùng đối với sản phẩm đó.
Hình 2.2: Minh hoạ một hệ thống gợi ý tuần tự dựa trên kinh nghiệm (Experience-based).Hành vi tuần tự dựa trên giao dịch được minh hoạ ở Hình 2.3 Đây là loại mô hình nên áp dụng khi ta muốn quan sát hành vi của người dùng diễn ra trên nhiều sản phẩm
2.1 Tổng quan về bài toán gợi ý tuần tự khác nhau nhưng chỉ có một loại hành vi duy nhất Mục tiêu của mô hình là có thể dự đoán được sản phẩm tiếp theo mà người dùng thực hiện hành vi tương tác Đây cũng là nhánh được nghiên cứu và áp dụng vào thực tế nhiều nhất khi mục tiêu đầu ra của hệ thống là sản phẩm tiếp theo mà người dùng sẽ quan tâm và sự đơn giản hoá khi chỉ quan tâm tới một loại hành vi cụ thể nào đó (như hành vi mua sản phẩm).
Hình 2.3: Minh hoạ một hệ thống gợi ý tuần tự dựa trên giao dịch (Transaction-based).
Hành vi tuần tự dựa trên tương tác là phương pháp phức tạp nhất vì nó nghiên cứu toàn bộ tương tác của người dùng với các sản phẩm khác nhau theo nhiều hành vi khác nhau Mục tiêu của mô hình hành vi tuần tự dựa trên tương tác là dự đoán sản phẩm và hành vi tiếp theo mà người dùng sẽ thực hiện tương tác.
Hình 2.4: Minh hoạ một hệ thống gợi ý tuần tự dựa trên tương tác (Interaction-based).
Trong phạm vi nghiên cứu và thực nghiệm đề tài hướng đến, tác giả sẽ tập trung vào nhánhxây dựng hệ thống khuyến nghị tuần tự dựa trên giao dịch ( transaction-based sequential recommendation ) vì đây là nhánh có cách thiết lập dữ liệu huấn luyện đơn giản nhưng lại được ứng dụng trong thực tế hiệu quả và đào sâu trong các công trình nghiên cứu được thực hiện nhiều cho tới hiện tại.
Tình hình nghiên cứu trên thế giới
2.2 | Tình hình nghiên cứu trên thế giới
Như đã giới thiệu trong Chương 1 về sự phổ biến của các ứng dụng cần hệ thống gợi ý tuần tự Khoảng thời gian từ 2015 trở lại đây cũng là giai đoạn phát triển rực rỡ của Học sâu (Deep learning) đặc biệt là sự ra đời của các kiến trúc mạng phù hợp cho các mô hình dạng tuần tự như mô hình dạngRNN,LSTM, cơ chếAttention, kiến trúcTransformer được ứng dụng phổ biến trong các nghiên cứu thuộc lĩnh vựcNLPnhờ khả năng xử lý tốt các bài toán có thể biểu diễn dạng một chuỗi tuần tự Trong quãng thời gian này, kế thừa những thành tựu từ các kiến trúc mô hình này thì bên nhánh các bài toán gợi ý tuần tự cũng xuất hiện nhiều những bài báo liên quan dựa trên kiến trúc mô hìnhdeep learning
(Hình 2.5) Bằng việc xem xét và quan sát dữ liệu dưới dạng tuần tự và kế thừa các kiến trúc mô hình hiện đại, bài toán gợi ý tuần tự đã đạt được những kết quả state-of-the-art (SOTA) và được ứng dụng vào các hệ thống gợi ý trong thực tế.
Hình 2.5: Tình hình nghiên cứu trên thế giới về bài toán Gợi ý tuần tự.
Vào năm 2016, với mô hình GRU4REC [7] cho bài toán gợi ý tuần tự theo phiên (session-based) đạt được nhiều kết quả khả quan khi là mô hình ứng dụngRecurrent Neural Networks(RNN) đầu tiên áp dụng cho loại bài toán này Nhờ việc áp dụng kiến trúc mô hình hướngRNN, mô hình có khả năng ghi nhớ đặc điểm của các sản phẩm (item) xuất hiện ngay trước đưa ra dự đoán cho sản phẩm (item) xuất hiện sau mà nó còn có khả năng tránh được vấn đề triệt tiêu đạo hàm (vanishing gradient) nhờ cải tiến củaGRU[17].
Mô hình đã đạt kết quả tốt một thời gian dài và thường được sử dụng làm mô hình cơ sở để so sánh trong các công trình sau đó.
Tiếp đến, vào năm 2018, bằng việc áp dụng cơ chế Tự chú ý (Self-Attention) [13] lần đầu tiên vào bài toán gợi ý tuần tự này SASREC [9] đã đạt được những kết quả cải tiến đáng kể so với các mô hình cơ sở trước đó nhưGRU4RECở cả độ chính xác của hệ thống cũng như tốc độ huấn luyện mô hình nhờ khả năng tính toán song song của kiến trúc
2.2 Tình hình nghiên cứu trên thế giới thay vì tuần tự Với kiến trúc tổng quan có thể xếp chồng nhiều lớp Self-Attention lên nhau, mục tiêu của nhóm tác giả khi thực hiện là đạt kết quả tốt cho cả những tập dữ liệu thưa (sparse dataset- hầu hết người dùng tương tác với ít sản phẩm) và những tập dữ liệu đặc (dense dataset- hầu hết người dùng tương tác với nhiều sản phẩm) bằng cách sử dụng cơ chế Self-Attentioncho phép ghi nhớ những mối liên hệ dài hạn (tương tự như trong
GRU4REC) phù hợp với dữ liệu đặc và đưa ra dự đoán dựa trên hành động liên quan gần đó (cải tiến so với mô hình Markov Chains - mô hình sử dụng giả định sản phẩm tiếp theo sẽ được quyết định bởi sản phẩm ngay liền trước nó).
Phát triển mạnh mẽ vào năm 2019, BERT4REC [10] với kiến trúc Trans- former đã đạt được hiệu suất tiên tiến khi so sánh với các mô hình trước đó Mô hình này sử dụng cơ chế Self-Attention trong nhiều đầu, cho phép xếp chồng nhiều tầng khi xây dựng mô hình Nhờ khả năng học tập dữ liệu và tính tuần tự theo hai chiều (trái sang phải và phải sang trái), BERT4REC có thể nắm bắt mối quan hệ giữa các dữ liệu một cách toàn diện hơn, phù hợp với thực tế là các tương tác sản phẩm không luôn diễn ra theo thứ tự Do đó, sản phẩm sau có thể ảnh hưởng đến sản phẩm trước, như trường hợp mua iPhone sau đó mua ốp lưng để bảo vệ.
Cũng trong năm này, Mô hình BST [11] ở một nhánh khác được áp dụng thực tế trong sàn thương mại điện tửAlibabaở dạng bài toán Khả năngclickchuột vào sản phẩm(click-through-rate) có khả năng làm giàu thuộc tính huấn luyện cho mô hình khi đã tìm ra cách nhúng các thông tin của người dùng và sản phẩm làm đầu vào của mô hình đồng thời kết hợp với việc sử dụng kiến trúcTransformerở phần lõi giúp cho mô hình có khả năng học được cả từ các thuộc tính dài hạn lẫn các thuộc tính ngắn hạn khi sử dụng cả những thuộc tính về người dùng và sản phẩm cũng như tính tuần tự của tương tác giữa người dùng và sản phẩm vào trong kiến trúc của mô hình.
Cơ chế Self-Attention và mô hình SASREC
Cơ chế Self-Attention
Cơ chế tập trung (Attention mechanism) ra đời 2015 [16] với đề xuất của Bahdanau trong của bài toán dịch máy (machine translation) mang lại kết quả tốt Sau đó, vào năm
Năm 2017, Vaswani và cộng sự đã công bố một bài báo chấn động mang tên "Attention Is All You Need" Cơ chế chú ý là khả năng ghi nhớ và chú ý vào một phần cụ thể của dữ liệu đầu vào Trong khi các mô hình RNN dựa trên tính tuần tự để mã hóa thông tin, cơ chế chú ý hoạt động như một phép gộp tổng quát, tính toán đầu ra dựa trên tập các cặp khóa-giá trị được lưu trữ trong bộ nhớ Một phương pháp chú ý phổ biến là chú ý tự động (Self-Attention), được xác định bởi phép tính chấm tích có trọng số và phép làm mềm softmax.
■ Qlà đại diện biểu diễn cho vector truy vấn;
■ Klà đại điện biểu diễn cho vector khoá;
■ Vlà đại điện biểu diễn cho vector giá trị.
Theo đó, tầng tập trung (Attention(Q,K,V)) được tính bằng tổng có trong số (weighted sum) của tất các giá trị trongV Với trọng số giữaq i vàv j có liên quan tới trọng số giữaq i vàk j Phần√ dđược sử dụng để tránh giá trị lớn trong phép toán.
2.3 Cơ chế Self-Attention và mô hình SASREC
Hình 2.6: Minh hoạ các phép tính toán trong cơ chếSelf-Attention.
Các bước áp dụng để tính giá trị tập trung attention score trong cơ chếself-attention
(Hình 2.6) và cách sử dụng trong việc tính kết quả output được mô tả bao gồm những bước sau như sau:
1 Tính các vector Key , Value , Query của từng vector Input đầu vào.
2 Tính attention score của lần lượt từng input bằng cách tính dot-product của vector
Query tương ứng với input đó với tất cả các vector Key : score(Q t ,K) =Q t K (2.2)
3 Tính attention weight bằng hàm softmax của toàn bộ attention score : weight=so f tmax(score) (2.3)
4 Nhân attention weight với vector Value để thu được giá trị có trọng số (weighted value): weightedValue=weight∗V (2.4)
2.3 Cơ chế Self-Attention và mô hình SASREC
5 Cuối cùng là tính tổng các weighted value để tạo ra vector Output đầu ra: output=∑weightedValue (2.5)
Mô hình SASREC
Vào năm 2018, cơ chếself-attentionđược ứng dụng vào bài toán gợi ý tuần tự thông qua mô hìnhSASREC Mục tiêu của bài báo này là xây dựng hệ thống khuyến nghị tuần tự áp dụng cơ chếSelf-Attentioncó khả năng đưa ra gợi ý mà hiệu quả đạt được cao hơn so với các công trình nghiên cứu tương tự trước đó Không chỉ vậy, nhóm tác giả còn đề xuất cách áp dụng mô hình học sâu mớiSelf-Attentioncó khả năng hoạt động tốt trên cả tập dữ liệu đặc (dense) và dữ liệu thưa (sparse).
Hình 2.7: Kiến trúc mô hìnhSASREC(ứng dụng trong bài toánclick-through-rate).
Với cách dữ liệu được xử lý và chuyển đổi đã trình bày ở phần trước đó, Hình 2.7
2.3 Cơ chế Self-Attention và mô hình SASREC mô tả kiến trúc tổng quan được áp dụng trong mô hình tham khảoSASRECbao gồm các thành phần:
Dữ liệu đầu vào cho quá trình huấn luyện là chuỗi tuần tự gồm hành vi tương tác và vị trí tương tác đó trong chuỗi tuần tự.
■ Embedding Layer: tầng nhúng là tầng kết hợp dữ liệu bằng phép tínhConcatenatedữ liệu đầu vào của quá trình huấn luyện được sử dụng là chuỗi tuần tự bao gồm hành vi tương tác và vị trí của tương tác trong chuỗi tuần tự;
Lớp Self-Attention bao gồm khối tự chú ý Self-Attention nhận đầu vào từ lớp nhúng và trả về thông tin attention score làm đầu vào cho lớp Point-wise Feed-forward Những lớp này có thể được xếp chồng lên nhau để tăng cường khả năng học của mô hình sâu hơn.
■ Fully-connected Layer: tuỳ vào yêu cầu và đầu ra dữ liệu mà ta thực hiện gắn các lớp đầy đủ và hàm tối ưu tương ứng Như trong bài toánclick-through-rateđầu ra sẽ là nhãn dữ liệu phân lớp (có hai giá trị là Có-Không), do đó lớp đầy đủ cuối cùng sẽ cósizelà1và hàm tối ưu là hàmsigmoid.
Mô hìnhSASREC[9] đạt kết quả tốt hơn so với tất cả các mô hình theo hướng tương tự trước đó (trong đó cóGRU4REC) khi đạt độ cải tiến từ 6.9 % tới 9.6 % so với các công trình tốt nhất trước đó Ngoài ra, mô hình cũng cho thấy hiệu quả hơn các mô hình trước đó ở thời gian huấn luyện mô hình khi đạt tốc độ huấn luyện nhanh hơnGRU4REC+[8](cải tiến của tác giả mô hìnhGRU4REC) 18 lần.
Kiến trúc Transformer và mô hình BERT4REC, BST
Kiến trúc Transformer
Hình 2.8: Minh hoạ các phép tính toán trong cơ chếMulti-Head Self-Attention.
Cơ chế Self-Attention là thành phần cốt lõi của kiến trúc Transformer, giúp mô hình tập trung thông tin liên quan trong xử lý Trọng số attention-weight đo lường mức liên quan của Value trên trạng thái truy vấn Query dựa trên trạng thái Key và Query Tuy nhiên, tính toán một attention-weight duy nhất có thể không nắm bắt đầy đủ các khía cạnh khác nhau của đầu vào Do đó, sử dụng nhiều Self-Attention tạo ra nhiều attention-weight, cho phép tập trung vào nhiều điểm khác nhau trong chuỗi Các ma trận attention-weight từ các Self-Attention được nối (Concatenate) và nhân với ma trận trọng số W0 để tạo một ma trận attention-score duy nhất.
2.4 Kiến trúc Transformer và mô hình BERT4REC , BST trong kiến trúcTransformerđã đạt được nhiều thành tựu trong nhiều lĩnh vực nghiên cứu khác nhau dưới cái tên Multi-head Self-Attention (Hình 2.8), được tính thông qua công thức bên dưới:
MultiHead(Q,K,V) =Concat(head 1 ,head2, ,headn)W O (2.6) Trong đó:
■ head i = Attention(QW i Q ,KW i K ,VW i V )là đại diện cho mộtSelf-Attention;
■ W i Q là vector trọng số tương ứng với Query ;
■ W i K là vector trọng số tương ứng với Key ;
■ W i V là vector trọng số tương ứng với Value ;
■ W i O là vector trọng số tương ứng với Output
Nhờ việc áp dụng kiến trúcTransformervào các bài toán gợi ý, mô hìnhBERT4REC đã đạt kết quảstate-of-the-arttrong một thời gian dài trong khi mô hình BSTđược đưa vào ứng dụng trong thực tế ở một trong những tập đoàn thương mại điện tử lớn trên thế giới.
Mô hình BERT4REC
Tương tự như việc cải tiến từ cơ chếSelf-Attentionlên kiến trúcTransformer thì mô hìnhBERT4RECcũng có cải tiến tương ứng so vớiSASREC Ngoài ra, mô hìnhBERT4REC còn ứng dụng cơ chế tiền xử lý dữ liệu mới gọi là Cloze Taskcho phép tạo dữ liệu đầu ra (output) ở bất cứ vị trí nào trong chuỗi tuần tự từ dữ liệu đầu vào bằng cách che mờ (mask) dữ liệu ở vị trí đó trong quá trình huấn luyện Việc này giúp gia tăng thêm rất nhiều dữ liệu huấn luyện từ đó giúp mô hình có thể học nhiều hơn và đạt kết quả chính xác hơn.
Hình 2.9 mô tả chi tiết kiến trúc của mô hìnhBERT4REC ứng dụng trong bài toán click-through-rate Trong đó bao gồm các thành phần chính sau:
Dữ liệu đầu vào cho quá trình huấn luyện được sử dụng là chuỗi tuần tự, trong đó bao gồm hành vi tương tác và vị trí của tương tác trong chuỗi tuần tự.
2.4 Kiến trúc Transformer và mô hình BERT4REC , BST
Hình 2.9: Kiến trúc mô hìnhBERT4REC(ứng dụng trong bài toánclick-through-rate).
■ Embedding Layer: tầng nhúng là tầng kết hợp dữ liệu bằng phép tínhConcatenatedữ liệu đầu vào của quá trình huấn luyện được sử dụng là chuỗi tuần tự bao gồm hành vi tương tác và vị trí của tương tác trong chuỗi tuần tự;
■ Transformer Layer: bao gồmnhiều khối tự chú ý đa đầu Multi-head Self-Attention nhận đầu vào từ lớp nhúng và trả thông tinattention-weightlàm đầu vào cho tầng
Point-wise Feed-forward Các lớp này có thể xếp chồng lên nhau trong trường hợp muốn tăng thêm khả năng học của mô hình sâu hơn Đầu ra của lớp này là điểm số attention-scorekết hợp từ các điểmattention-weighttrước đó Đây là điểm cải tiến so với kiến trúc mô hìnhSASRECtrước đó.
■ Fully-connected Layer: tuỳ vào yêu cầu và đầu ra dữ liệu mà ta thực hiện gắn các lớp đầy đủ và hàm tối ưu tương ứng Như trong bài toánclick-through-rateđầu ra sẽ là
2.4 Kiến trúc Transformer và mô hình BERT4REC , BST nhãn dữ liệu phân lớp (có hai giá trị là Có-Không), do đó lớp đầy đủ cuối cùng sẽ cósizelà1và hàm tối ưu là hàmsigmoid.
Mô hình BST - Behavior Sequence Transformer
Hình 2.10: Kiến trúc mô hìnhBST(ứng dụng trong bài toánclick-through-rate).
Ngay sau sự ra đời củaBERT4REC, mô hìnhBST[11] ra đời và được ứng dụng thành công vào thực tiễn Ngoài việc cũng sử dụng kiến trúcTransformertrong việc huấn luyện các dữ liệu dạng chuỗi tuần tự Mô hìnhBSTcòn có khả năng kết hợp với các thuộc tính khác từ người dùng và sản phẩm vào trong mô hình Từ đó giúp cho mô hình ngoài việc phát huy điểm mạnh là học được các đặc điểm hành vi ngắn hạn còn có thể học được thông tin từ các thuộc tính dài hạn của người dùng và sản phẩm Nhờ tính hiệu quả trong việc sử dụng được nhiều loại thuộc tính khiến cho mô hình đạt kết quả tốt và có tiềm năng ứng dụng cao trong thực tế.
Hình 2.10 mô tả chi tiết kiến trúc của mô hìnhBST ứng dụng trong bài toánclick- through-rate Trong đó bao gồm các thành phần chính sau:
2.4 Kiến trúc Transformer và mô hình BERT4REC , BST
■ Input: dữ liệu đầu vào của quá trình huấn luyện được sử dụng ngoài chuỗi tuần tự bao gồm hành vi tương tác và vị trí của tương tác đó trong chuỗi tuần tự thì còn sử dụng các thông tin thuộc tính của người dùng kết hợp (được xử lý bên ngoài lớp
Tầng nhúng kết hợp dữ liệu đầu vào chuỗi tuần tự bao gồm hành vi tương tác và vị trí tương tác, sử dụng phép toán hợp nhất.
■ Transformer Layer: tương tự như trong mô hìnhBERT4RECbao gồmnhiều khối tự chú ý đa đầu Multi-head Self-Attention nhận đầu vào từ lớp nhúng và trả thông tinattention-weightlàm đầu vào cho tầngPoint-wise Feed-forward Các lớp này có thể xếp chồng lên nhau trong trường hợp muốn tăng thêm khả năng học của mô hình sâu hơn Đầu ra của lớp này là điểm sốattention-scorekết hợp từ các điểmattention- weighttrước đó Đây là điểm cải tiến so với kiến trúc mô hìnhSASRECtrước đó.
■ Fully-connected Layer: Dữ liệu đầu vào của lớp này sẽ là dữ liệukết hợp giữa đầu ra của lớp Transformer trước đó cùng với các thông tin bổ sung của người dùng thông qua phép tính Concatenate Từ đó, tuỳ vào yêu cầu và đầu ra dữ liệu mà ta thực hiện gắn các lớp đầy đủ và hàm tối ưu tương ứng Như trong bài toánclick- through-rateđầu ra sẽ là nhãn dữ liệu phân lớp (có hai giá trị là Có-Không), do đó lớp đầy đủ cuối cùng sẽ cósizelà1và hàm tối ưu là hàmsigmoid.
Phương pháp đánh giá
Đánh giá cho bài toán xếp hạng (rating)
Bài toán xếp hạng (rating) là bài toán mà mô hình dựa vào đầu vào là thông tin người dùng và sản phẩm để đưa ra dự đoán đầu ra là xếp hạng mà người dùng sẽ đánh giá cho sản phẩm Vì đây là một dạng bài toán thuộc về bài toán hồi quy do đó phù hợp để sử dụng phương pháp đánh giáRMSEvàMAElà phù hợp để đánh giá kết quả.
Phép đo RMSE là phương pháp đánh giá được sử dụng rộng rãi nhằm đo lường sự khác nhau giữa giá trị đánh giá dự đoán và giá trị đánh giá thực tế (nhãn gốc) Giá trị này càng thấp (càng gần về 0) thì dự đoán của mô hình càng chính xác.RMSEđược định nghĩa như sau:
■ Nlà tổng số phần tử được thực hiện đánh giá;
■ Ylà giá trị xếp hạng dự đoán;
■ Yˆ là giá trị xếp hạng thực tế;
■ (u,i)là các cặp giá trị (người dùng, sản phẩm).
Phép đo thứ hai được sử dụng là MAE cũng là phương pháp thường được sử dụng để đo lường trong các bài toán hồi quy tương tựRMSEkhi đo đạc sự khác nhau giữa giá trị dự đoán và giá trị đánh giá thực tế (nhãn gốc) và càng tối ưu (độ chính xác của mô hình cao) khi càng gần về 0 Tuy nhiên nó cũng có điểm khác biệt là trong khiRMSEsẽ phạt nặng hơnMAEnếu giá trị dự đoán khác giá trị thực tế (thông qua hàm bình phương trong công thức),MAEđược định nghĩa như sau:
■ Nlà tổng số phần tử được thực hiện đánh giá;
■ Ylà giá trị xếp hạng dự đoán;
■ Yˆ là giá trị xếp hạng thực tế;
■ (u,i)là các cặp giá trị (người dùng, sản phẩm).
Đánh giá cho bài toán khả năng nhấp chuột (click-through-rate)
Bài toán tỉ lệ nhấp chuột (click-through-rate) là bài toán mà mô hình dựa vào đầu vào là thông tin người dùng và sản phẩm để đưa ra dự đoán đầu ra là kết quảCó - Không việc người dùng có click (quan tâm) tới sản phẩm hay không Vì đây là một dạng bài toán thuộc về bài toán phân loại do đó phù hợp để sử dụng phương pháp đánh giáAccuracy vàAUClà phù hợp để đánh giá kết quả.
Phép đo Accuracy là phương pháp đánh giá được sử dụng rộng rãi nhằm đo lường độ chính xác của một mô hình phân loại dưới dạng tỉ lệ phần trăm Giá trị này càng cao (càng gần tới 100%) thì dự đoán của mô hình càng chính xác.Accuracyđược định nghĩa như sau:
■ TP-True Positivelà tổng số mẫuCóđược dự đoán đúng;
■ TN-True Negativelà tổng số mẫuKhôngđược dự đoán đúng;
■ Nlà tổng số phần tử được thực hiện đánh giá.
Phép đo thứ hai được sử dụng là AUC cũng là phương pháp thường được sử dụng để đo lường tính hiệu quả trong các bài toán phân lớp nhị phân Phép đoAUCthường được tính thông qua biểu đồ ROC (Receiver Operating Characteristic) Biểu đồROCcó trục tung (y-axis) là tỉ lệ dương tính thật và trục hoành (x-axis) là tỉ lệ dương tính giả (tức 1 trừ cho tỉ lệ dương tính thật) Cả hai tỉ lệ này có giá trị dao động từ 0 đến 100 (hay từ 0 đến 1, nếu dùng xác suất) Hai tỉ lệ này được ước tính cho từng giá trị tham chiếu Thực nghiệm cho kết quả tốt tức là những điểm ở góc trái thuộc phía trên của biểu đồ Những điểm này cho chúng ta biết đó là những giá trị tham chiếu có độ nhạy (Sensitivity) cao và độ dương tính giả (False Positive) thấp Hình 2.11 mô tả mối tương quan giữaROCvàAUC trong đó đường màu đỏROClà đường thể hiện tỉ lệ giữa dương tính giả và âm tính giả thì phần diện tích bên dưới màu vàng chính làAUC Có thể thấyAUCcàng cao thì diện tích càng bao phủ biểu đồ, tức là độ chính xác càng cao (tỉ lệ dương tính giả càng thấp).
Hình 2.11: Mô tả mối tương quan giữa hai phép đoROCvàAUC.
Tổng kết chương
Trong chương này tôi đã tập trung giới thiệu những kiến thức quan trọng sẽ được vận dụng trong toàn bộ công trình, bao gồm kiến thức nền tảng về bài toán gợi ý tuần tự, đặc biệt là giải quyết bài toán theo hướng tiếp cậnDeep Learning; các kiến trúc mô hình được áp dụng trong bài toán ở các công trình nghiên cứu trước đây, cũng như những cơ sở lý thuyết và phương pháp đánh giá sẽ được áp dụng vào đề tài này thông qua từng dạng bài toán con.
Dữ liệu và Giải pháp đề xuất
Dữ liệu
Dữ liệu xếp hạng phim MovieLens 1M
Tập dữ liệu MovieLens có địa chỉ tại GroupLens với nhiều phiên bản khác nhau. Ở đây chúng ta sẽ sử dụng tập dữ liệu MovieLens 1M Tập dữ liệu này bao gồm hiện
3,582,313 đánh giá(Bảng 3.1), xếp hạng từ 1 tới 5 sao, từ 6,040 người dùng (Bảng 3.2) dành cho3,706 bộ phim(Bảng 3.3).
Bảng 3.1: Dữ liệu mẫu trong bảng Xếp hạng (Rating).
Trong tập dữ liệu gốc này đã thực hiện việc tiền xử lý sao cho mỗi người dùng có ít nhất 20 đánh giá Một bộ phim có thể nhận được nhiều đánh giá, cũng có thể không nhận được đánh giá nào Ta có thể thấy vì đối với các bộ phim người dùng không thể nào đánh giá hết được, lượng đánh giá của tập dữ liệu chỉ chiếm khoảng16%so với kì vọng trong trường hợp mỗi bộ phim được đánh giá bởi tất cả người dùng (tương đương với khoảng 22 triệu đánh giá) Do đó, có thể nói tập dữ liệu này thuộc loại tập dữ liệu thưa(sparse dataset) Ngoài các thông tin dữ liệu bên trên, tập dữ liệu còn cung cấp các thông
UserID Sex AgeGroup Occupation ZipCode
Bảng 3.2: Dữ liệu mẫu trong bảng Người dùng (User).
1 Toy Story (1995) Animation|Children’s|Comedy
3 Grumpier Old Men (1995) Comedy|Romance
4 Waiting to Exhale (1995) Comedy|Drama
Bảng 3.3: Dữ liệu mẫu trong bảng Phim (Movie). tin về dữ liệu cá nhân của người dùng (Giới tính, tuổi, nghề nghiệp, địa điểm sinh sống) hay thông tin về các bộ phim (Tên phim, thể loại, năm sản xuất) sẽ sử dụng trong quá trình huấn luyện mô hình như là các thuộc tính bổ sung ngoài những thuộc tính tương tác tuần tự giữa người dùng và sản phẩm.
Phương pháp tiền xử lý dữ liệu
Từ dữ liệu đầu vào đã được phân tích và trình bày, cần thực hiện các bước tiền xử lý dữ liệu sau để đưa dữ liệu về dạng chuỗi tuần tự phù hợp với yêu cầu đầu vào của mô hình đề xuất.
1 Đưa dữ liệu xếp hạng của từng người dùng vềdữ liệu dạng tuần tự đảm bảo thứ tựdựa vào thời gian (timestamp) thực hiện đánh giá của họ.
2 Xác địnhđộ dài chuỗi ( sequence-length ) vàbước nhảy ( step-size )để tạo thành dữ liệu chuỗi tuần tự có chiều dài cố định.
3 Bổ sung các thuộc tính thông tin của các phim tương ứngvào dữ liệu chuỗi tuần tự.
4 Bổ sung các thuộc tính thông tin nhân khẩu học của người dùngkết hợp với thuộc tính tuần tự đã tạo ra trước đó.
Cuối cùng, ta thu được tập dữ liệu đầu vào kết hợp đầy đủ giữa những thuộc tính tuần tự và các thuộc tính bổ sung của cả người dùng và sản phẩm (Bảng 3.4) Đối với các thuộc tính dạng chuỗi tuần tự bao gồm SequenceMovies (chuỗi các bộ phim và thuộc tính của chúng mà người dùng tương tác theo thứ tự thời gian) và SequenceRatings (chuỗi tương ứng đánh giá của người dùng với các bộ phim) sẽ được dùng làm dữ liệu đầu vào cho phần kiến trúc Transformer xử lý Các thuộc tính còn lại sẽ được kết hợp và sử dụng bổ sung trong kiến trúc mô hình đề xuất Từ đó, ta có thể tiến hành chia dữ liệu thành các tập huấn luyện, tập kiểm tra theo một tỉ lệ nhất định và đưa vào mô hình bắt đầu huấn luyện và tiến hành kiểm tra đánh giá kết quả thực nghiệm.
UserID SequenceMovies SequenceRatings Sex AgeGroup Occupation ZipCode
Bảng 3.4: Dữ liệu đầu vào mẫu cho bài toán conrating(Độ dài chuỗi là4và bước nhảy là1).
Các bài toán con đã sử dụng phương pháp tiền xử lý dữ liệu giống hệt nhau Điểm khác biệt duy nhất nằm ở đầu ra của mô hình Thay vì giữ nguyên dạng xếp hạng (từ 1 đến 5 sao) như mô hình đầu tiên, dữ liệu đầu ra ở mô hình thứ hai được chuyển đổi sang dạng phân loại (Có - Không) Theo đó, các xếp hạng từ 3 đến 5 sao được xem là "Có quan tâm", còn các xếp hạng dưới 3 sao được xem là "Không quan tâm" Phương pháp tiền xử lý này tạo ra dữ liệu phù hợp cho bài toán thứ hai là xác định tỷ lệ nhấp chuột (click-through-rate).
UserID SequenceMovies SequenceRatings Sex AgeGroup Occupation ZipCode
Bảng 3.5: Dữ liệu đầu vào mẫu cho bài toán conclick-through-rate(Độ dài chuỗi là4và bước nhảy là1).
Mô hình cơ sở
Hình 3.1: Kiến trúc mô hình cơ sởSASRECđối với bài toánrating.
Mô hình cơ sở được sử dụng để so sánh trong quá trình kiểm tra thực nghiệm gồm mô hìnhSASREC(Hình 3.1) và mô hìnhBST(Hình 3.2) Việc sử dụng mô hìnhSASREC nhằm kiểm chứng khả năng học hỏi từ các thuộc tính tuần tự của cơ chếSelf-Attention.
Tiếp đến với mô hìnhBSTta sẽ kiểm chứng được tính hiệu quả của việc kết hợp bổ sung các thuộc tính dài hạn như nhân khẩu học của người dùng Ngoài ra, mô hìnhBERT4REC khá tương đồng với mô hìnhSASRECchỉ thay đổi phần lõi sử dụng kiến trúcTransformer thay vì chỉ dùng cơ chếSelf-Attention(đã được thể hiện thông qua mô hìnhBST) sẽ được lược bỏ. Ý nghĩa chi tiết của các thành phần trong kiến trúc SASRECvàBSTđã được trình bày cụ thể trong phần 2 thông qua bài toán conclick-through-rate Điểm khác biệt ở đây nằm ở đầu ra của bài toánratingsẽ là bài toán hồi quy nên cần thay đổi về hàm đánh giá
Hình 3.2: Kiến trúc mô hình cơ sởBSTđối với bài toánrating. và lớp đầu ra của kiến trúc mô hình Do đó, đề tài sẽ sử dụng cả hai mô hình cơ sở này cho hai dạng bài toán con đã đề cập.
Giải pháp đề xuất
Giải pháp đề xuất cho bài toán rating
Hình 3.3 mô tả chi tiết kiến trúc của mô hình đề xuất cho bài toánrating Trong đó bao gồm các thành phần chính sau:
- Dữ liệu đầu vào dùng huấn luyện bao gồm các thuộc tính chuỗi tuần tự xếp hạng của người dùng và thông tin nhân khẩu của họ.- Hệ thống đề xuất bổ sung thuộc tính thông tin sản phẩm vào dữ liệu input.
■ Embedding Layer: tầng nhúng là tầng kết hợp dữ liệu bằng phép tínhConcatenatedữ liệu đầu vào của quá trình huấn luyện được sử dụng là chuỗi tuần tự bao gồm hành vi tương tác và vị trí của tương tác trong chuỗi tuần tự,cùng với các thuộc tính bổ sung từ sản phẩm;
■ Transformer Layer: tương tự như trong mô hình cơ sởBSTbao gồmnhiều khối tự chú ý đa đầu Multi-head Self-Attention nhận đầu vào từ lớp nhúng và trả thông tinattention-weightlàm đầu vào cho tầngPoint-wise Feed-forward Các lớp này có thể xếp chồng lên nhau trong trường hợp muốn tăng thêm khả năng học của mô hình sâu hơn Đầu ra của lớp này là điểm sốattention-scorekết hợp từ các điểmattention- weight trước đó Điểm khác biệt là lúc này, kiến trúc Transfomer được bổ sung thêm các thông tin của sản phẩm;
■ Fully-connected Layer: Dữ liệu đầu vào của lớp này sẽ là dữ liệukết hợp giữa đầu ra của lớp Transformer trước đó cùng với các thông tin bổ sung của người dùng thông qua phép tính Concatenate Số lớp tầng ẩn này sẽ là các siêu tham số tinh chỉnh tùy thuộc vào kích thước của dữ liệu huấn luyện Đầu ra của kiến trúc mô hình sẽ là một tầng ẩn có kích thước là 1 và được tối ưu bằng hàm activationlà
Hình 3.3: Kiến trúc mô hình đề xuất cho bài toánrating.
Kiến trúc đề xuất xây dựng trên nền tảng dữ liệu đầu vào theo dạng học WDL (Wide and deep learning), tích hợp thêm thông tin bổ sung về sở thích màu sắc của người dùng Các thông số này được gắn vào bên trái của record đầu vào trước khi nhúng vào lớp Embedding có kích thước nhỏ Phần còn lại của record dữ liệu đầu vào là các bộ ba thông tin bao gồm thuộc tính phim, đánh giá phim và vị trí phim trong chuỗi tuần tự Cuối cùng, ta sẽ có ma trận đầu vào cho lớp Embedding Điểm khác biệt so với mô hình cơ sở BST là thay vì xem thông tin bổ sung từ phim như một thuộc tính bên ngoài, mô hình đề xuất tích hợp chúng như một chiều dữ liệu mới trong bộ thuộc tính hành vi, đảm bảo tính logic và duy trì tính tuần tự của thông tin về phim.
3.3 Giải pháp đề xuất trong.
Từ đầu vào của lớpEmbedding, phần thông tin hành vi xem phim tuần tự của người dùng sẽ được kết hơp bằng phép tínhconcatenatecác ma trận con của từng thông tin lại thành một ma trận tổng hợpW i trong đóilà đại diện cho bộ phim thứitrong chuỗi tuần tự Từ chuỗi các ma trận W i dưới dạng tuần tự ta đưa vào huấn luyện bằng kiến trúc
Như đã trình bày ở phần trước, kiến trúcTransformersẽ nhận đầu vào là mỗi phần tử ma trậnW i được học các mối tương quan thông qua nhiều đầu (Multi-Head)Self-Attention
[13] ta sẽ có được ma trận trọng số attention-score trong đó mỗi trọng số được tính bằng công thức:
S= MultiHead(E) =Concat(head 1 ,head 2 , ,head n )W H (3.1) Trong đó:
■ head i = Attention(EW i Q ,EW i K ,EW i V )phép chiếu Self-Attentionlên các ma trận trọng sốW i Q ,W i K ,W i V của ma trậnEmbeddingE;
■ W i Q là vector trọng số tương ứng với Query ;
■ W i K là vector trọng số tương ứng với Key ;
■ W i V là vector trọng số tương ứng với Value ;
■ W i H là vector trọng số tương ứng với số đầuattentionOutput
Từ ma trận trọng số thu được, mô hình sử dụng kiến trúc Transformer và thêm lớp Point-wise Feed-Forward Networks (FFN) với công thức FFN(S) để tăng độ sâu của mô hình Để tránh quá khớp, mô hình sử dụng các lớp chuẩn hóa (Normalization) và hàm phi tuyến (non-linearity) giúp tăng độ phi tuyến tính và tổng quát hóa của mô hình.
Trong đóW ( 1 ) ,b ( 1 ) ,W ( 2 ) ,b ( 2 ) là các ma trận trọng số có thể học được (learnable parameter) và LayerNorm là lớp dùng để chuẩn hoá.
Từ ma trận trọng sốFnày ta có thể xếp chồng nhiều cấp tương tự như vậy tạo thành nhiều khốiTransformerchồng lên nhau thông qua công thức:
Bằng phép tính concatenate, ta dễ dàng kết hợp các thuộc tính bổ sung từ người dùng ở đầu vào cùng với kết quả thu được từ các thuộc tính tuần tự thông quá kiến trúc
Ma trận tổng hợp Z được hình thành từ ma trận đầu vào F thông qua biến đổi tuyến tính Sau đó, các lớp ẩn kết nối đầy đủ được sử dụng để giảm kích thước của Z cho đến khi đạt được một lớp đầu ra kích thước 1 Mô hình này được huấn luyện tuần tự trên từng bản ghi dữ liệu bằng cách tối ưu hóa hàm mất RMSE, được biểu diễn bằng công thức được cung cấp trong phần 2.
Giải pháp đề xuất cho bài toán click-through-rate
Mô hình đề xuất cho bài toán conclick-through-ratebao gồm các lớp và dữ liệu đầu vào sử dụng tương tự như bài toánratingchỉ khác biệt ở lớp đầu ra và phương pháp để tối ưu mô hình huấn luyện tương ứng được trình bày trong hình 3.4.
Trong đó bao gồm các thành phần chính sau:
■ Input: tương tự như trong kiến trúc đề xuất của bài toán ratingđầu vào được sử dụng sẽ bao gồm các thông tin của người dùng, sản phẩm và các thông tin tương tác chuỗi tuần tự;
■ Embedding Layer: tương tự trong kiến trúc đề xuất của bài toánrating;
■ Transformer Layer: tương tự trong kiến trúc đề xuất của bài toánrating;
■ Fully-connected Layer: Dữ liệu đầu vào của lớp này sẽ là dữ liệukết hợp giữa đầu ra của lớp Transformer trước đó cùng với các thông tin bổ sung của người dùng
Hình 3.4: Kiến trúc mô hình đề xuất cho bài toánclick-through-rate. thông qua phép tính Concatenate Số lớp tầng ẩn này sẽ là các siêu tham số tinh chỉnh tùy thuộc vào kích thước của dữ liệu huấn luyện Đầu ra của kiến trúc mô hình tương ứng với một bài toán phân loại nhị phân (binary classification) sẽ là một tầng ẩn được kích hoạt bằng hàm sigmoid [19] để đưa giá trị đầu vào là số thực thành kết quả đầu ra nằm trong khoảng[0, 1]và mô hình sẽ được huấn luyện thông qua hàmlossbinary cross-entropy (Hình 3.6). loss=−1
■ N: đại diện cho toàn bộ tập dữ liệu (tập huấn luyện, tập kiểm định); x: dữ liệu đầu vào;
■ y: kết quả đầu ra, có nhãn là một trong hai giá trị(0,1);
■ p: là kết quả đầu của mô hình sau hàmsigmoidchỉ xác suất clickvào bộ phim hay không.
Tương tự như bài toánrating, điểm khác biệt của kiến trúc mô hình đề xuất nằm ở việc bổ sung thêm các thuộc tính của sản phẩm vào trong các điểm dữ liệu trong chuỗi tuần tự và được huấn luyện dựa trên kiến trúcTransformerđã được trình bày ở phần 3.3.1.Đối với bài toánclick-through-ratemô hình chỉ cần thay đổi hàm tối ưu và hàm kích hoạt như đã trình bày là có thể tiến hành kiểm tra thực nghiệm.
Cài đặt thực nghiệm
Cài đặt dữ liệu
Từ tập dữ liệu đã được tiền xử lý đã trình bày ở phần 3.1.2, ta thực hiện chia thành hai tập dữ liệu độc lập là dữ liệu huấn luyện (training dataset) và dữ liệu kiểm thử (test dataset) theo tỉ lệ 80/20 Dữ liệu kiểm thử được lựa chọn ngẫu nhiên trong tập dữ liệu gốc để đảm bảo tính tổng quát hóa của mô hình huấn luyện, không bị phụ thuộc chủ quan vào cách chia dữ liệu.
Phần dữ liệu được sử dụng trong quá trình huấn luyện (training dataset) được chia thành dữ liệu huấn luyện (training set) và dữ liệu thẩm định (validation set) theo tỉ lệ80/20 Đây là một kỹ thuật giúp mô hình có thể kiểm tra thẩm định ngay trong quá trình huấn luyện, giúp mô hình có thể tránh được vấn đề quá khớp (overfitting) và dừng huấn luyện khi mô hình trở nên suy giảm độ chính xác ở tập dữ liệu thẩm định từ đó giúp mô hình có thể trở nên tổng quát hóa và đạt được độ chính xác tốt hơn ở tập dữ liệu kiểm thử.
Cài đặt huấn luyện cho bài toán rating
Dựa trên mô hình kiến trúc và cài đặt dữ liệu đã thiết lập, tôi đã thực hiện kiểm tra thực nghiệm bằng cách tinh chỉnh các thông số khởi tạo và siêu tham số Việc kiểm tra lặp đi lặp lại với các điều chỉnh khác nhau đã cho phép đạt được kết quả đánh giá tối ưu.
Các thông số ban đầu của quá trình tiền xử lý gồm độ dài chuỗi và bước nhảy như sau: sequence_length 4 step_size 1
■ sequence_length độ dài của chuỗi tuần tự đối với mỗirecord dữ liệu đưa vào huấn luyện.
■ step_sizelà bước nhảy trong quá trình tạo các chuỗi tuần tự ở bước tiền xử lý.Các thông số ban đầu của kiến trúc mô hình đào tạo như sau:
3.4 Cài đặt thực nghiệm num_attention_heads 2 num_hidden_layers 3 hidden_size [1024, 512, 256] dropout_rate 0.2 loss_function RMSE
■ num_attention_headslà số lượng đầuattentionsử dụng trong kiến trúcTransformer.
■ num_hidden_layers là số tầng ẩn (các tầng ẩn này là các lớp kết nối đầy đủ (fully- connected layer)).
■ hidden_sizelà kích thước của các tầng ẩn.
■ dropout_ratelà tỉ lệ giảm bớt độ phức tạp của các kết nối trong mô hình nhằm tránh vấn đề quá khớp (overfitting).
■ loss_functionlà hàm dùng để tối ưu mô hình trong quá trình huấn luyện tương ứng với đầu ra bài toán dạng hồi quy (regression).
Trong giai đoạn huấn luyện, các siêu tham số khác như batch_size (kích thước tập đoàn), include_user_features (bao gồm các tính năng của người dùng), include_movie_features (bao gồm các tính năng của phim), learning_rate (tốc độ học) và epoch_size (kích thước kỷ nguyên) được sử dụng để tinh chỉnh quá trình bằng cách thiết lập các giá trị cụ thể như batch_size = 128, include_user_features = True, include_movie_features = True, learning_rate = 0,01 và epoch_size = 40.
■ batch_sizelà kích thước số lượng mẫu thực hiện huấn luyện trên mỗi lượt (epoch).
■ include_user_features là lựa chọn có sử dụng các thuộc tính của người dùng hay không.
■ include_movie_featureslà lựa chọn có sử dụng các thuộc tính của phim hay không.
■ learning_ratelà tham số tinh chỉnh tốc độ học ảnh hưởng tới quá trình hội tụ của mô hình.
■ epoch_sizelà sô lượt lặp khi huấn luyện mô hình trên toàn tập dữ liệu huấn luyện.
Tổng thời gian huấn luyện của mô hình cho đến khi hội tụ và đạt kết quả tối ưu là trong khoảng 1.5 giờ trên GPU với 40epochs.
Cài đặt huấn luyện cho bài toán click-through-rate
Đối với bài toán conclick-through-ratethì việc cài đặt huấn luyện là tương tự như bài toán conratingchỉ cần thay đổi đầu vào là dữ liệu đã tiền xử lý và kiến trúc mô hình đề xuất tương ứng để bắt đầu tinh chỉnh tham số và kiểm tra thực nghiệm.
Các thông số ban đầu của quá trình tiền xử lý gồm độ dài chuỗi và bước nhảy như sau: sequence_length 4 step_size 1
■ sequence_length độ dài của chuỗi tuần tự đối với mỗirecord dữ liệu đưa vào huấn luyện.
■ step_sizelà bước nhảy trong quá trình tạo các chuỗi tuần tự ở bước tiền xử lý. Các thông số ban đầu của kiến trúc mô hình đào tạo như sau: num_attention_heads 2 num_hidden_layers 3 hidden_size [1024, 512, 256] dropout_rate 0.2 loss_function BinaryCrossentropy
■ num_attention_headslà số lượng đầuattentionsử dụng trong kiến trúcTransformer.
■ num_hidden_layers là số tầng ẩn (các tầng ẩn này là các lớp kết nối đầy đủ (fully- connected layer)).
■ hidden_sizelà kích thước của các tầng ẩn.
■ dropout_ratelà tỉ lệ giảm bớt độ phức tạp của các kết nối trong mô hình nhằm tránh vấn đề quá khớp (overfitting).
■ loss_functionlà hàm dùng để tối ưu mô hình trong quá trình huấn luyện tương ứng với đầu ra bài toán dạng phân lớp (classification).
Các siêu tham số huấn luyện khác được dùng để tinh chỉnh trong quá trình huấn luyện như trong bảng sau: batch_size 128 include_user_features True include_movie_features True learning_rate 0.01 epoch_size 20
■ batch_sizelà kích thước số lượng mẫu thực hiện huấn luyện trên mỗi lượt (epoch).
■ include_user_features là lựa chọn có sử dụng các thuộc tính của người dùng hay không.
■ include_movie_featureslà lựa chọn có sử dụng các thuộc tính của phim hay không.
■ learning_ratelà tham số tinh chỉnh tốc độ học ảnh hưởng tới quá trình hội tụ của mô hình.
■ epoch_sizelà sô lượt lặp khi huấn luyện mô hình trên toàn tập dữ liệu huấn luyện.Tổng thời gian huấn luyện của mô hình cho đến khi hội tụ và đạt kết quả tối ưu là trong khoảng 1.5 giờ trên GPU với 20epochs.
Tổng kết chương
Trong chương này, tôi đã trình bày về bộ dữ liệu sử dụng, phương pháp tiền xử lý dữ liệu cũng như các hai bước giải quyết bài toán phân loại cảm xúc hướng khía cạnh và mô hình đề xuất Phần dữ liệu đã trình bày khái quát việc thu thập, gán nhãn, làm sạch và chọn lọc dữ liệu cũng như cách tạo ra bộ dữ liệu cho từng bài toán con với các cách tiếp cận khác nhau Trong phần giải pháp này, tôi đã mô tả giải pháp đề xuất của mình để giải quyết các bài toán phân loại cảm xúc hướng khía cạnh và đối chiếu với mô hình cơ sở Cuối cùng là mô tả các bước cài đặt dữ liệu, thiết lập các thông số ban đầu và các giá trị siêu tham số được lựa chọn trong quá trình thực nghiệm để tối ưu kết quả thu được của mô hình.
4 Kết quả và Thảo luận
Phần này trình bày kết quả thực nghiệm của các mô hình đề xuất cũng như kết quả hiện thực lại của các mô hình cơ sở, bao gồm kết quả cho cả hai bài toán con là bài toán rating và bài toán click-through-rate Các chỉ số đánh giá sử dụng tương đồng trên mô hình cơ sở và mô hình đề xuất để làm cơ sở so sánh Từ những kết quả đó, ta có thể rút ra được một số kết luận và đánh giá quan trọng cho giả thuyết đặt ra ban đầu.
Kết quả thực nghiệm
Kết quả thực nghiệm cho bài toán rating
Bảng 4.1 trình bày các kết quả đánh giá thực nghiệm thu được của mô hình đề xuất (kết quả được lấy trung bình từ 5 kết quả tốt nhất sau các lần thực nghiệm độc lập) và so sánh với các mô hình tham khảo.
Mô hình cơ sở 1 Mô hình cơ sở 2 Mô hình đề xuất
Train-set Test-set Train-set Test-set Train-set Test-set
Bảng 4.1: Kết quả đánh giá cho bài toánratingkhi so sánh với các mô hình cơ sở. Trong đó:
■ Mô hình cơ sở 1là mô hình áp dụng kiến trúc mô hìnhSASRECsử dụng cơ chế
Self-Attention và không sử dụng các thuộc tính bổ sung của người dùng và sản phẩm (chỉ sử dụng các thuộc tính chuỗi tuần tự).
■ Mô hình cơ sở 2là mô hình áp dụng kiến trúc mô hìnhBSTđề xuất bao gồm các thuộc tính bổ sung của người dùng và các thuộc tính chuỗi tuần tự (áp dụng để đưa vào kiến trúcTransformer).
Mô hình đề xuất áp dụng kiến trúc mô hình đề xuất bao gồm các thuộc tính của người dùng và chuỗi tuần tự, sau đó kết hợp các thuộc tính của phim vào các chuỗi tuần tự.
Kết quả thực nghiệm cho bài toán click-through-rate
Mô hình cơ sở 1 Mô hình cơ sở 2 Mô hình đề xuất
Train-set Test-set Train-set Test-set Train-set Test-set
Bảng 4.2: Kết quả đánh giá cho bài toánclick-through-ratekhi so sánh với các mô hình cơ sở.
Bảng 4.2 trình bày các kết quả đánh giá thực nghiệm thu được của mô hình đề xuất (kết quả được lấy trung bình từ 5 kết quả tốt nhất sau các lần thực nghiệm độc lập) và so sánh với các mô hình tham khảo.
■ Mô hình cơ sở 1là mô hình áp dụng kiến trúc mô hìnhSASRECsử dụng cơ chế
Self-Attention và không sử dụng các thuộc tính bổ sung của người dùng và sản phẩm (chỉ sử dụng các thuộc tính chuỗi tuần tự).
■ Mô hình cơ sở 2là mô hình áp dụng kiến trúc mô hìnhBSTđề xuất bao gồm các thuộc tính bổ sung của người dùng và các thuộc tính chuỗi tuần tự (áp dụng để đưa vào kiến trúcTransformer).
■ Mô hình đề xuấtlà mô hình áp dụng kiến trúc mô hình đề xuất bao gồm các thuộc tính bổ sung của người dùng và các thuộc tính chuỗi tuần tự (áp dụng để đưa vào kiến trúcTransformer) Trong đó có kết hợp các thuộc tính của phim vào các chuỗi tuần tự.
Thảo luận
4.2 | Thảo luận Đối với bài toán con rating , kết quả ở bảng 4.1 giúp ra rút ra một số nhận xét đánh giá như sau:
Mô hình cơ sở 1 sử dụng kiến trúc của mô hình SASREC đạt hiệu quả khá tốt khi chỉ sử dụng các thuộc tính chuỗi tuần tự, chứng tỏ việc áp dụng các thuộc tính này để dự đoán đề xuất là phù hợp và hiệu quả.
■ Mô hình cơ sở 2 (sử dụng kiến trúc của mô hìnhBST) cho kết quả cao hơn so với mô hình cơ sở 1 trên cả 2 tập huấn luyện và tập kiểm thử Điều này rút ra được việc áp dụng kiến trúcTransformer(sử dụng cùng lúc nhiều đầuSelf-Attentiontrong kiến trúc) và kết hợp với các thuộc tính bổ sung từ người dùng giúp cải thiện kết quả đánh giá của mô hình.
Mẫu đề xuất đưa ra kết quả tốt hơn khi so sánh với hai mẫu cơ bản cho dữ liệu thử nghiệm mặc dù kết quả đạt được trên dữ liệu huấn luyện thấp hơn một chút so với các mẫu cơ bản Điều này cho thấy việc bổ sung các thuộc tính của phim (năm sản xuất và thể loại của phim) giúp tăng cường hiệu quả của mẫu.
■ Việc áp dụng các kỹ thuật tối ưu mô hình trong học sâu nhưDropout, sử dụng tập thẩm định (validation set) giúp mô hình đề xuất đạt được độ cân bằng giữa kết quả trên tập huấn luyện và kết quả trên tập kiểm tra.
Việc ứng dụng kiến trúc Transformer trong xử lý dữ liệu dạng chuỗi tuần tự cho thấy hiệu quả đáng kể trong việc cung cấp gợi ý và đánh giá sản phẩm Bổ sung thêm các thuộc tính vào mô hình giúp tăng cường hiệu quả, cho phép tận dụng cả tác động dài hạn và thông tin tuần tự trong ngắn hạn.
Ngoài ra vì tập dữ liệu sử dụng để kiểm tra thực nghiệm là tương đối nhỏ và chuỗi tuần tự là không dài do đó tác động của các lớp tầng ẩn sử dụng và cải thiện của kiến trúcTransformerchưa thực sự vượt trội rõ ràng Tuy nhiên nhờ khả năng huấn luyện song song tốt của cơ chếSelf-Attentioncũng như kiến trúcTransformergiúp cho việc mở rộng huấn luyện mô hình trên các tập dữ liệu lớn là khả thi khi thời gian huấn luyện mô hình khá nhanh chóng.
4.2 Thảo luận Đối với bài toán con click-through-rate , ta thấy các kết quả đánh giá bằngAccuracy, AUCđều khá cao ở cả các mô hình cơ sở và mô hình đề xuất Trong đó mô hình đề xuất đạt kết quả tốt nhất trong tập kiểm tra Điều này cũng có thể lý giải tương tự với bài toán rating Đặc biệt, việc áp dụng mô hình đề xuất với loại bài toán này cho thấy được sự linh động trong kiến trúc mô hình khi có khả năng tuỳ chỉnh thay đổi dễ dàng tuỳ thuộc vào yêu cầu của bài toán.
Vì nhằm mục đích chứng minh tính linh động và độ hiệu quả của mô hình đề xuất đối với bài toán dạngclick-through-ratedo đó tập dữ liệu sử dụng cũng được tạo một cách tương đối chủ quan (ấn định các đánh giá dưới 3 sao làKhôngclick vào phim và ngược lại từ 3 sao trở lên làCóclick vào phim).
Kết quả đạt được
Với những cơ sở lý thuyết, thiết lập giả thuyết, xây dựng mô hình, triển khai thực nghiệm và đánh giá kết quả thu được với các mô hình cơ sở trong các công trình nghiên cứu liên quan Luận văn “ Xây dựng hệ thống khuyến nghị tuần tự dựa trên kiến trúc
Transformer ” đã thu được những kết quả như sau:
Dữ liệu đầu vào của bài toán gợi ý tuần tự đặt ra được tiền xử lý phù hợp với thực tế, cho phép cài đặt tương tự cho dữ liệu tương tác giữa người dùng và sản phẩm trong các lĩnh vực khác.
■ Việcứng dụng kiến trúc Transformer vào bài toán gợi ýlà khả thi và thu được kết quả thực nghiệm tốt khi so sánh với các mô hình cơ sở và kết quả nghiên cứu thực nghiệm khác.
■ Việc sử dụngkết hợp bổ sung với các thuộc tính dữ liệu kháccủa người dùng và sản phẩm giúp cải thiện rõ kết quả của mô hình tương đồng với giả thuyết đã đặt ra.
■ Kiến trúc mô hình học sâu sẽ giúp cho mô hình có thể sử dụng tốt trên các tập dữ liệu lớn nhờ khả năng mở rộng, tùy chỉnh linh động về kích cỡ và số lượng các tầng ẩn, thuộc tính sử dụng trong kiến trúc.
■ Triển khai tích hợp mô hình gợi ý tuần tự vào các hệ thống gợi ý của doanh nghiệp là khả thi và phù hợp với nhu cầu thực tế của người dùng.
Hạn chế và vấn đề tồn đọng
5.2 | Hạn chế và vấn đề tồn đọng
Vấn đề đầu tiên là tiền xử lý dữ liệu Độ dài chuỗi tuần tự thực tế không cố định cho mỗi khách hàng Trên thực tế, tương tác giữa khách hàng và sản phẩm xảy ra theo từng phiên và khác nhau tùy từng người Do đó, việc xác định độ dài cố định cho chuỗi tương tác tuần tự vẫn còn tương đối Điều này cũng được thể hiện rõ trong bộ dữ liệu.
Bộ dữ liệu MovieLens 1M được sử dụng trong thí nghiệm cho thấy hành vi xem phim của người dùng rất đa dạng Có những người xem nhiều phim trong một phiên truy cập, trong khi những người khác chỉ xem một phim và quay lại xem tiếp sau nhiều ngày hoặc nhiều tháng.
Vấn đề thứ hai là vấn đềkhởi động nguội ( cold-start )[20] Mặc dù trong giải pháp đề xuất có sử dụng các thuộc tính nhân khẩu học (demographic) của người dùng trong kiến trúc mô hình tuy nhiên độ hiệu quả của mô hình vẫn phụ thuộc rất lớn vào các thuộc tính tuần tự của khách hàng với sản phẩm (đặc biệt là trong các chuỗi tuần tự dài thường xảy ra trong thực tế) Do đó khi khách hàng chưa có sự tương tác với bất kì sản phẩm nào thì đã bỏ đi phần lớn thuộc tính mà mô hình được học từ đó dẫn tới kết quả gợi ý của mô hình có thể không chính xác (sai số lớn).
Tiếp đến làhạn chế về thời gian thực hiện luận văn Việc thực nghiệm giải pháp sẽ trở nên tổng quát hơn cho nhiều tập dữ liệu thuộc những lĩnh vực khác điều này sẽ giúp làm rõ hơn tính hiệu quả của mô hình khi áp dụng trong thực tế Điều này có thể thấy ở trong phần thực nghiệm bài toánclick-through-ratekhi dữ liệu sử dụng là dữ liệu được biến đổi từ dữ liệu của bài toánratingviệc này mang tính chủ quan khi trong thực tế, khách hàng hoàn toàn có thể tương tác (click) với sản phẩm nhưng sau đó không thích sản phẩm đó (ratingthấp) Ngoài ra, hiện nay cũng có một số nghiên cứu mới áp dụng các kỹ thuật bổ sung để giúp mô hình giải quyết các vấn đề và đạt được kết quả chính xác tốt hơn.
Hướng phát triển
Dựa vào những vấn đề đã nêu ra ở trên, ta có thể phát triển công trình này theo một số hướng như sau, chủ yếu tập trung vào khả năng triển khai và ứng dụng trong thực tiễn cũng như giải quyết vấn đề và nâng cao kết quả đánh giá của mô hình:
■ Thay đổi cách tiền xử lý dữ liệu hiệu quả và phù hợp với thực tế hơn tuy nhiên vẫn
Tổng kết luận văn
phải đảm bảo dữ liệu đầu vào cho mô hình thành dạng chuỗi tuần tự với độ dài cố định.
Thực nghiệm các giải pháp đề xuất trên nhiều tập dữ liệu khác nhau về lĩnh vực và kích thước nhằm kiểm chứng thêm tính hiệu quả của mô hình Các phép thử nghiệm sẽ giúp xác nhận mức độ chung chung của mô hình, khả năng xử lý các loại dữ liệu khác nhau và liệu nó có thể duy trì hiệu suất ổn định trong nhiều bối cảnh không.
■ Kết hợp với các giải pháp khác để tăng hiệu quả dự đoán trong việc xử lý vấn đề cold-start.
■ Triển khai sử dụng mô hình trong thực tế kết hợp với các mô hình khác trong các hệ thống gợi ý của doanh nghiệp, liên kết hiệu quả của mô hình với các kết quả kinh doanh của doanh nghiệp để hiểu rõ các vấn đề phát sinh trong thực tế cần phải giải quyết.
Trong quá trình thực hiện nghiên cứu và xây dựng thực nghiệm trong luận văn “ Xây dựng hệ thống khuyến nghị tuần tự dựa trên kiến trúc Transformer ” đã lần lượt thực hiện:
■ Nghiên cứu về cơ sở lý thuyết, các bài toán, các công trình đạt thành tựu lớn trong lĩnh vực học sâu và bài toán gợi ý để từ đó xác định ý tưởng và nhiệm vụ cần thực hiện cho đề tài.
■ Trình bày nhiệm vụ, những khó khăn, thách thức và hướng tiếp cận của bài toán một cách tường minh, rõ ràng, từ đó đặt giả thuyết bài toán cần giải quyết cho luận văn.
■ Cung cấp một cái nhìn tổng quát về những nghiên cứu liên quan đến bài toán đã và đang được nghiên cứu, cũng như xu hướng chung hiện nay trong giải quyết bài toán Tổng hợp những vấn đề học thuật liên quan nhất sẽ áp dụng, bao gồm tổng quan về bài toán gợi ý tuần tự, cơ chếSelf-Attention, kiến trúcTransformervà các mô hình ứng dụng các cơ sở này cho bài toán gợi ý tuần tự.
■ Về phương pháp nghiên cứu, tôi đã giới thiệu chi tiết bộ dữ liệu, phân tích thống kê và cách tiền xử lý dữ liệu phù hợp Về giải pháp đề xuất, tôi đã đưa ra kiến trúc thiết kế mô hình để giải quyết các nhiệm vụ đặt ra, chi tiết về cách cài đặt và thực nghiệm cũng như cách đánh giá mô hình, đưa ra những nhận xét và so sánh Từ các kết quả thực nghiệm thu được cho thấy mô hình đề xuất đã đạt được những chỉ số đánh giá khá cao và có thể sử dụng trong thực tế.
■ Đề xuất hướng mở rộng khả thi cho việc ứng dụng giải pháp trong xây dựng hệ thống gợi ý nhằm giải quyết mong muốn được gợi ý cá nhân hóa của người dùng trong kỷ nguyên số hiện nay.
Cuối cùng, thông qua quá trình thực hiện luận văn cũng giúp tôi hình thành và rèn luyện khả năng nghiên cứu một cách khoa học và rõ ràng Từ đó giúp tôi có thể nâng cao khả năng ứng dụng các thành tựu này vào ứng dụng thực tiễn trong tương lai.
[1] C Musto, C Greco, A Suglia, and G Semeraro "Ask Me Any Rating: A Content- based Recommender System based on Recurrent Neural Networks" Presented at IIR, Venice, Italy 2016.
[2] R Devooght and H Bersini "Collaborative filtering with recurrent neural net- works".arXiv preprint arXiv:1608.07400 2016.
[3] J Lian, X Zhou, F Zhang, Z Chen, X Xie, and G Sun "xDeepFM: Combining Ex- plicit and Implicit Feature Interactions for Recommender Systems" arXiv preprint arXiv:1803.05170 2018.
[4] H Cheng, L Koc, J Harmsen, T Shaked, T Chandra, H Aradhye, G Anderson, G. Corrado, W Chai, M Ispir "Wide & deep learning for recommender systems" 2016. https://doi.org/10.48550/arXiv.1606.07792.
[5] W Chen, P Huang, J Xu, X Guo, C Guo, F Sun, C Li, A Pfadler, H Zhao, and
B Zhao "POG: Personalized Outfit Generation for Fashion Recommendation at Al- ibaba iFashion" 2019 https://doi.org/10.48550/arXiv.1905.01866.
[6] K Cho, B Merrienboer, C Gulcehre, D Bahdanau, F Bougares, H Schwenk, Y Ben- gio "Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation".arXiv:1406.1078 [cs.CL] 2014.
[7] B Hidasi, A Karatzoglou, L Baltrunas and D Tikk "Session-based recommenda- tions with Recurrent Neural Networks".International Conference on Learning Repre- sentations (ICLR) 2016 https://doi.org/10.48550/arXiv.1511.06939.
[8] B Hidasi and A Karatzoglou "Recurrent Neural Networks with Top-k Gains for Session-based Recommendations".The Conference on Information and Knowledge Man- agement (CIKM) 2018 https://doi.org/10.48550/arXiv.1706.03847.
[9] W Kang and J McAuley (2018) "Self-Attentive Sequential Rec- ommendation" IEEE International Conference on Data Mining 2018. https://doi.org/10.48550/arXiv.1808.09781.
[10] F Sun, J Liu, J Wu, C Pei, X Lin, W Ou, and P Jiang "BERT4Rec: Sequen- tial Recommendation with Bidirectional Encoder Representations from Trans- former" The Conference on Information and Knowledge Management (CIKM) 2019. https://doi.org/10.48550/arXiv.1904.06690.
[11] Q Chen, H Zhao, W Li, P Huang, W Ou "Behavior Sequence Trans- former for E-commerce Recommendation in Alibaba" Deep Learning Practice for High-Dimensional Sparse Data with KDD (DLP-KDD) 2019. https://doi.org/10.48550/arXiv.1905.06874.
[12] H Fang, D Zhang, Y Shu, and G Guo "Deep Learning for Sequential Recommen- dation: Algorithms, Influential Factors, and Evaluations".ACM Transactions on Infor- mation Systems 2020 https://doi.org/10.48550/arXiv.1905.01997.
[13] A Vaswani, N Shazeer, N Parmar, J Uszkoreit, L Jones, N Gomez, L Kaiser and
I Polosukhin "Attention Is All You Need" Advances in Neural Information Processing Systems (NIPS) pp.311-318 2017 https://doi.org/10.48550/arXiv.1706.03762.
[14] Y LeCun, Y Bengio and G Hinton.Deep Learning Nature vol 521 pp.436-444 2015.
[15] O Mikolov , M Karafiát, L Burget, J ˇCernocký and S Khudanpur
"Recurrent Neural Network Based Language Model" Annual Conference of the International Speech Communication Association pp.1045-1048 2010. https://doi.org/10.48550/arXiv.1905.01876/
[16] D Bahdanau, K Cho and Y Bengio "Neural Machine Translation by Jointly Learn- ing to Align and Translate" International Conference on Learning Representations (ICLR) 2015 https://doi.org/10.48550/arXiv.1409.0473.
[17] J Chung, C Gulcehre, K Cho and Y Bengio "Empirical Evaluation of Gated Recur- rent Neural Networks on Sequence Modeling".Neural and Evolutionary Computing(cs.NE) 2014 https://doi.org/10.48550/arXiv.1412.3555.
[18] Y Wang, L Wang, Y Li, D He, T Liu, W Chen "A Theoretical Anal- ysis of NDCG Type Ranking Measures" Machine Learning (cs.LG) 2013. https://doi.org/10.48550/arXiv.1304.6480.
[19] E Nwankpa, W Ijomah, A Gachagan, and S Marshall "Activation Functions: Com- parison of Trends in Practice and Research for Deep Learning".arXiv:1811.03378v1.
[20] M Volkovs, G Yu, and T Poutanen "DropoutNet: Addressing Cold Start in Recom- mender Systems" In Advances in Neural Information Processing Systems 4957–4966.
[21] "Grouplens" Internet: https://grouplens.org/datasets/movielens/, 2019.
Dữ liệu mẫu trong bảng Xếp hạng (Rating)
Hiện tại, có rất nhiều tập dữ liệu có sẵn dùng cho nghiên cứu của bài toán gợi ý tuần tự Trong số đó, tập dữ liệu MovieLens [21] có lẽ là một trong những tập phổ biến nhất MovieLens là một hệ thống đề xuất phim phi thương mại trên nền tảng web Nó được tạo ra vào năm 1997 và vận hành bởi GroupLens, một phòng nghiên cứu tại Đại học Minnesota, nhằm thu thập dữ liệu đánh giá phim phục vụ mục đích nghiên cứu. MovieLens là một nguồn dữ liệu quan trọng cho các nghiên cứu về cá nhân hóa đề xuất và tâm lý học xã hội được sử dụng trong việc nghiên cứu và kiểm chứng mô hình hiệu quả Dữ liệu này phù hợp với các bài toán gợi ý nói chung và gợi ý tuần tự nói riêng. Bằng việc áp dụng các phương pháp tiền xử lý dữ liệu hợp lý, ta có thể biến đổi tương tác giữa người dùng và sản phẩm từ tập dữ liệu gốc về dữ liệu dưới dạng chuỗi tuần tự tương tác làm đầu vào cho mô hình đề xuất.
3.1.1 | Dữ liệu xếp hạng phim MovieLens 1M
Tập dữ liệu MovieLens có địa chỉ tại GroupLens với nhiều phiên bản khác nhau. Ở đây chúng ta sẽ sử dụng tập dữ liệu MovieLens 1M Tập dữ liệu này bao gồm hiện
3,582,313 đánh giá(Bảng 3.1), xếp hạng từ 1 tới 5 sao, từ 6,040 người dùng (Bảng 3.2) dành cho3,706 bộ phim(Bảng 3.3).
Bảng 3.1: Dữ liệu mẫu trong bảng Xếp hạng (Rating).
Trong tập dữ liệu gốc này đã thực hiện việc tiền xử lý sao cho mỗi người dùng có ít nhất 20 đánh giá Một bộ phim có thể nhận được nhiều đánh giá, cũng có thể không nhận được đánh giá nào Ta có thể thấy vì đối với các bộ phim người dùng không thể nào đánh giá hết được, lượng đánh giá của tập dữ liệu chỉ chiếm khoảng16%so với kì vọng trong trường hợp mỗi bộ phim được đánh giá bởi tất cả người dùng (tương đương với khoảng 22 triệu đánh giá) Do đó, có thể nói tập dữ liệu này thuộc loại tập dữ liệu thưa(sparse dataset) Ngoài các thông tin dữ liệu bên trên, tập dữ liệu còn cung cấp các thông
UserID Sex AgeGroup Occupation ZipCode
Bảng 3.2: Dữ liệu mẫu trong bảng Người dùng (User).
1 Toy Story (1995) Animation|Children’s|Comedy
3 Grumpier Old Men (1995) Comedy|Romance
4 Waiting to Exhale (1995) Comedy|Drama
Bảng 3.3: Dữ liệu mẫu trong bảng Phim (Movie). tin về dữ liệu cá nhân của người dùng (Giới tính, tuổi, nghề nghiệp, địa điểm sinh sống) hay thông tin về các bộ phim (Tên phim, thể loại, năm sản xuất) sẽ sử dụng trong quá trình huấn luyện mô hình như là các thuộc tính bổ sung ngoài những thuộc tính tương tác tuần tự giữa người dùng và sản phẩm.
3.1.2 | Phương pháp tiền xử lý dữ liệu
Từ dữ liệu đầu vào đã được phân tích và trình bày ở trên, ta cần thực hiện các bước tiền xử lý dữ liệu sau để đưa dữ liệu về dạng chuỗi tuần tự phù hợp với yêu cầu đầu vào của mô hình đề xuất Bao gồm:
1 Đưa dữ liệu xếp hạng của từng người dùng vềdữ liệu dạng tuần tự đảm bảo thứ tựdựa vào thời gian (timestamp) thực hiện đánh giá của họ.
2 Xác địnhđộ dài chuỗi ( sequence-length ) vàbước nhảy ( step-size )để tạo thành dữ liệu chuỗi tuần tự có chiều dài cố định.
3 Bổ sung các thuộc tính thông tin của các phim tương ứngvào dữ liệu chuỗi tuần tự.
4 Bổ sung các thuộc tính thông tin nhân khẩu học của người dùngkết hợp với thuộc tính tuần tự đã tạo ra trước đó.
Cuối cùng, ta thu được tập dữ liệu đầu vào kết hợp đầy đủ giữa những thuộc tính tuần tự và các thuộc tính bổ sung của cả người dùng và sản phẩm (Bảng 3.4) Đối với các thuộc tính dạng chuỗi tuần tự bao gồm SequenceMovies (chuỗi các bộ phim và thuộc tính của chúng mà người dùng tương tác theo thứ tự thời gian) và SequenceRatings (chuỗi tương ứng đánh giá của người dùng với các bộ phim) sẽ được dùng làm dữ liệu đầu vào cho phần kiến trúc Transformer xử lý Các thuộc tính còn lại sẽ được kết hợp và sử dụng bổ sung trong kiến trúc mô hình đề xuất Từ đó, ta có thể tiến hành chia dữ liệu thành các tập huấn luyện, tập kiểm tra theo một tỉ lệ nhất định và đưa vào mô hình bắt đầu huấn luyện và tiến hành kiểm tra đánh giá kết quả thực nghiệm.
UserID SequenceMovies SequenceRatings Sex AgeGroup Occupation ZipCode
Bảng 3.4: Dữ liệu đầu vào mẫu cho bài toán conrating(Độ dài chuỗi là4và bước nhảy là1).
Phương pháp tiền xử lý dữ liệu ở cả hai bài toán con là giống nhau, chỉ khác một điểm là thay vì giữ nguyên kết quả đầu ra của mô hình là thông tin xếp hạng (từ 1 đến 5 sao), ta thực hiện biến đổi dữ liệu đầu ra này về dạng phân loại (Có - Không) bằng cách xem như các xếp hạng từ 3 đến 5 sao làCó quan tâmcòn xếp hạng dưới 3 sao được xem là Không quan tâm Bằng phương pháp tiền xử lý này ta sẽ có dữ liệu phù hợp để thực nghiệm cho bài toán con thứ hai làclick-through-rate(Bảng 3.5).
UserID SequenceMovies SequenceRatings Sex AgeGroup Occupation ZipCode
Bảng 3.5: Dữ liệu đầu vào mẫu cho bài toán conclick-through-rate(Độ dài chuỗi là4và bước nhảy là1).
Hình 3.1: Kiến trúc mô hình cơ sởSASRECđối với bài toánrating.
Mô hình cơ sở được sử dụng để so sánh trong quá trình kiểm tra thực nghiệm gồm mô hìnhSASREC(Hình 3.1) và mô hìnhBST(Hình 3.2) Việc sử dụng mô hìnhSASREC nhằm kiểm chứng khả năng học hỏi từ các thuộc tính tuần tự của cơ chếSelf-Attention.
Tiếp theo, mô hình BST cho thấy hiệu quả của việc kết hợp các thuộc tính dài hạn (như thông tin dân số) BERT4REC tương tự như SASREC, chỉ khác ở phần lõi sử dụng kiến trúc Transformer thay vì chỉ dùng cơ chế Self-Attention như BST Nghĩa của từng thành phần trong SASREC và BST đã trình bày ở Phần 2, nhưng bài toán này là hồi quy đánh giá theo rating cho nên hàm đánh giá cần được thay đổi.
Hình 3.2: Kiến trúc mô hình cơ sởBSTđối với bài toánrating. và lớp đầu ra của kiến trúc mô hình Do đó, đề tài sẽ sử dụng cả hai mô hình cơ sở này cho hai dạng bài toán con đã đề cập.
Giải pháp được đề xuất của mô hình về tổng quan sẽ có khả năng huấn luyện sử dụng các thuộc tính chuỗi tuần tự tương tác (đánh giá/ khả năngclick) giữa người dùng và bộ phim đồng thời kết hợp các thuộc tính bổ sung thông tin về nhân khẩu học của người dùng (bao gồm thông tin về nhóm tuổi, vị trí địa lý, nghề nghiệp, giới tính) và thông tin về các bộ phim (bao gồm thời gian phát hành, thể loại) Giải pháp đề xuất sẽ được xây dựng cụ thể dựa trên hai bài toán conratingvàclick-through-rate.
3.3.1 | Giải pháp đề xuất cho bài toán rating
Hình 3.3 mô tả chi tiết kiến trúc của mô hình đề xuất cho bài toánrating Trong đó bao gồm các thành phần chính sau:
■ Input: dữ liệu đầu vào của quá trình huấn luyện được sử dụng bao gồm các thuộc tính chuỗi tuần tự xếp hạng của người dùng và các thông tin nhân khẩu học bổ sung của người dùng Đặc biệt,hệ thống còn đề xuất phương pháp bổ sung các thuộc tính thông tin của sản phẩm;
Tầng nhúng là một kỹ thuật kết hợp dữ liệu sử dụng phép toán nối (concatenation) Trong trường hợp này, dữ liệu đầu vào cho quá trình huấn luyện là các chuỗi tuần tự bao gồm hành vi tương tác, vị trí của tương tác và các thuộc tính bổ sung của sản phẩm Tầng nhúng đóng vai trò quan trọng trong việc chuyển đổi các chuỗi tuần tự này thành các vector số, khắc phục những hạn chế của các mô hình huấn luyện truyền thống dựa trên các biến phân loại riêng lẻ.
■ Transformer Layer: tương tự như trong mô hình cơ sởBSTbao gồmnhiều khối tự chú ý đa đầu Multi-head Self-Attention nhận đầu vào từ lớp nhúng và trả thông tinattention-weightlàm đầu vào cho tầngPoint-wise Feed-forward Các lớp này có thể xếp chồng lên nhau trong trường hợp muốn tăng thêm khả năng học của mô hình sâu hơn Đầu ra của lớp này là điểm sốattention-scorekết hợp từ các điểmattention- weight trước đó Điểm khác biệt là lúc này, kiến trúc Transfomer được bổ sung thêm các thông tin của sản phẩm;
■ Fully-connected Layer: Dữ liệu đầu vào của lớp này sẽ là dữ liệukết hợp giữa đầu ra của lớp Transformer trước đó cùng với các thông tin bổ sung của người dùng thông qua phép tính Concatenate Số lớp tầng ẩn này sẽ là các siêu tham số tinh chỉnh tùy thuộc vào kích thước của dữ liệu huấn luyện Đầu ra của kiến trúc mô hình sẽ là một tầng ẩn có kích thước là 1 và được tối ưu bằng hàm activationlà
Hình 3.3: Kiến trúc mô hình đề xuất cho bài toánrating.