5.1. M6 tả hệ thống
Hệ thống đề xuất của chúng tôi áp dụng cả hai phương pháp CBF va CF, tối ưu cả
dữ liệu văn bản của các đầu sách và dit liệu ratings của user. Bằng cách tận dụng dữ liệu rating của user đối với các item, và dữ liệu văn bản được véc-tơ hóa bằng các
kỹ thuật truy hồi thông tin, mô hình sẽ dự đoán rating cho cáci item mà user chưa tương tác, đồng thời cũng tìm các user tương đồng và đề xuất những item được đánh giá cao cho user. Các bước xử lý của mô hình hệ khuyến nghị được mô tả sau
đây:
1. Xử lý dữ liệu thô: Tiền xử lý các dữ liệu thô ban đầu như dữ liệu văn bản mô tả
của item, đữ liệu ratings của các user như đã mô tả trong mục 3.1.2. Kết quả thu được sẽ là các văn bản chứa token đối với dữ liệu văn bản mô tả của item, và 2 tập dùng dé training va testing đối với tập dữ liệu ratings của user. Các bước tiền
xử lý này nhằm đảm bảo độ ôn định và chất lượng của tập dit liệu được sử dụng trong các bước tiếp theo.
2. Véc-tơ hóa dữ liệu văn bản: Trong bước này, chúng tôi sẽ áp dụng hai kỹ thuật
truy hồi thông tin là TF-IDF và Doc2Vec dé xử lý dữ liệu dé thu được danh sách
các véc-tơ của từng dữ liệu văn bản tập dữ liệu. Các véc-tơ này sẽ được sử dụng
trong các quá trình xử lý tiếp theo.
3. Tạo hồ sơ cho các user và lập ma trận user: Ở bước này, chúng tôi sẽ sử dụng dữ
liệu của user trong tập dữ liệu huấn luyện. Mô hình hồi quy Ridge sẽ được áp dụng để tạo hồ sơ cho từng user. Danh sách các item sẽ được sử dụng để truy xuất các vector tương ứng đã thu được ở bước 2. Trước khi áp dụng mô hình hồi quy Ridge, dữ liệu ratings sẽ được xử lý như đã đề cập ở mục 3.1.2. Tiến hành
áp dụng mô hình này với các biến phụ thuộc là các giá trị véc-tơ item của user
đã tương tác và biến độc lập là giá trị ratings của user cho item tương ứng đã được tiền xử lý. Kết quả thu được là một mô hình hồi quy Ridge đã được huấn
36
luyện với dữ liệu của user. Hệ số của mô hình sau khi fit với đữ liệu của từng user sẽ được lưu lại dé tạo ma trận user. Mô hình cơ bản đã được hoàn thành.
Tạo gợi ý cho user: Sau khi đã có ma trận user, mô hình có thé đưa ra các gợi ý cho từng user cụ thé. Khi nhập user id vào, mô hình sẽ tiễn hành tái tạo lại hồ sơ
cua user đó và đưa ra các gợi ý dựa theo ratings của item ma user đó đã đánh gia
trong quá khứ. Đồng thời mô hình cũng tìm các user tương đồng với user bằng
ma trận user đã tao ở bước trước đó, sau đó dé xuât các item mà những user
Dữ liệu ratings của users |
Tiên xử lý d
tương đồng đánh giá cao cho user.
Dữ liệu van ban thé
Tiên xử lý văn bản
Mô hinh truy hồi thông tin
Van ban dưởi dang vector
Mỏ hinh hoi quy Ridge
lỮ liệu rating
Tao ma trận users
Ma trận users
Hình 5.1. Quá trình xử ly dữ liệu.
37
Mé hỉnh khuyến nghị
Lay dữ liệu items của người Lay dif liệu các users
dùng tương đồng
Danh sách các users
Dự doan ratings các items =
tương dong
user chưa tương tắc
Danh sach item-rating
Lay các items có ratings cao
Danh sach items
Hình 5.2. Quá trình tao các gợi ý.
5.2. Trién khai mô hình
5.2.1. Streamlit
Streamlit là một thư viện Python mã nguồn mở. Streamlit cho phép nhà phát triển xây dựng một ứng dụng web dé tương tác và trực quan hóa dữ liệu nhanh chóng và đơn giản. Streamlit đơn giản hóa các bước phát triển và chia sẻ ứng dụng web bằng
các API thân thiện với user.
Sreamlit cho phép tạo ứng dụng từ các đoạn script Python mà không cần các kiến thức liên quan tới HTML, CSS, hay JavaScript. Thư viện này cung cấp tất cả các công cụ tạo các components dé user tương tác trên ứng dụng như buttons, sliders, dropdowns, và kê cả plots.
38
Thư viện này cũng hỗ trợ các thư viện data science phổ biến bao gồm NumPy, Pandas, Matplotlib, và TensorFlow. Điều này làm cho các công đoạn xử lý dữ liệu,
phân tích, và trực quan hóa dữ liệu trở nên mượt mà hơn.
5.2.2. Các bước triển khai
Các bước triển khai mô hình như sau:
1. Sau khi đã huấn luyện xong hệ khuyến nghị với các dữ liệu user trên môi trường
Jupyter Notebook, chúng tôi tiến hành lưu mô hình bang các công cụ được cung cấp trong thư viện Joblib, một thư viện pipeline, để lưu mô hình đã huấn luyện
vào một file .joblib.
2. Tiến hành gọi mô hình bằng các công cụ có trong thư viện Joblib.
5.2.3. Giao diện chính của ứng dụng
39
Giao diện của ứng dụng demo bao gồm 2 mục, lựa chọn đề xuất theo book_id va lựa chọn dé xuất theo user_id.
Đối với lựa chọn đề xuất theo book id: User sẽ nhập book_id và số lượng sách muốn gợi ý vào form. Sau đó nhân “Submit” thì hệ thống sẽ đề xuất các đầu sách tương tự với cuốn sách có id đó.
Đối với lựa chọn đề xuất theo user id: Tương tự như đề xuất theo book_id, thay vi nhập book_id thì sẽ nhập user_id mong muốn. Sau đó hệ thống sẽ đề xuất các item
thích hợp.
40