Chương 1 Tổng quan: Trong chương đầu tiên, nêu lên vấn đề, hiện trạng của thương mại điện tử Việt Nam. Từ đó, đề ra mục tiêu và chức năng chính của hệ thống trang web và định hướng giải quyết van đề dé hoàn thành trang web. Chương 2 Cơ sở lý thuyết và công nghệ sử dụng: Ở chương 2, trình bày cơ sở lý thuyết và lý do tại sao lại chọn các công nghệ đề phục vụ cho việc xây dựng trang web. Đồng thời, giới thiệu cơ sở nền về thuật toán được áp dụng.
Chương 3 Mô hình khuyến nghị được thực nghiệm: Từ cơ sở nền phát biểu ở chương 2, tại chương 3 sẽ phát triển thành hai mô hình khuyến nghị đề xuất. Từ đó, kết luận được chọn mô hình nao là phù hợp cho trang web. Chương 4 Phân tích thiết kế hệ thống: Trình bày việc khảo sát hệ thống, xác định các yêu cầu cho hệ thống. Trình bày về sơ đồ tô chức của trang wcb, phân tích thiết kế hệ thống, thiết kế CSDL phi cấu trúc và thiết kế quy trình khuyến nghị.
Chương 5 Triển khai hệ thống: Xây dựng kịch bản, thé hiện các màn hình chức năng có trên web. Chương 6 Kết luận và hướng phát triển: Trình bày kết quả đạt được, những hạn chế còn tồn đọng trong quá trình thực hiện đề tài và nêu ra hướng phát triển trong tương lai. Trang 4 Chương 2 CƠ SỞ LÝ THUYET VÀ CÔNG NGHỆ SỬ DỤNG 2.Công nghệ sử dụng trong đề tài 2.1 Logo của Heidisql[15] HeidiSQL[15] được gọi là ứng dụng khách, chỉ có thé sử dụng được khi có sẵn một số máy chủ. Đảm bảo có một số máy chủ MariaDB, MySQL, MS SQL, PostgreSQL hoặc tệp cơ sở dữ liệu SQLite để kết nối.
Logo của Heidisql được thé hiện tại hình 2. HeidiSql được lựa chọn trong khóa luận bởi một số tính chất quan trọng sau: e Dễ sử dụng e@ Độ bảo mật cao e Đa tinh năng e Khả năng mở rộng mạnh mẽ 2. Ngôn ngữ PHP PHP[16] là viết tắt của cụm từ “Hypertext Preprocessor”, đây là một ngôn ngữ lập trình kịch ban hay một loại mã lệnh chủ yếu được dung dé phát triển các ứng dụng viết cho máy chủ server, mã nguồn mở, mục tiêu chính của ngôn ngữ là cho phép các nhà phát triển tạo ra các trang web động một cách nhanh chóng. PHP được phát triển từ một sản phẩm có tên là PHP/FI do Rasmus Lerdorf tạo ra từ năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch ban Perl đề theo dõi tình hình truy cập đến các bản sơ yếu lý lich của ông trên mang.
Vào tháng 11 năm 1997, PHP/FI 2.0 được công bố chính thức, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0 — phiên bản đầu tiên cho chung — Trang 5 ta thấy một hình ảnh gần gũi với các phiên bản PHP mà ngày nay chúng ta đang được biết tới. PHP được lựa chọn trong khóa luận bởi một số tính chất quan trọng sau: e Phổ biến hon PHP là ngôn ngữ mã nguồn mở, có thể chạy được trên cả Apache và IIS. Cấu trúc PHP cực kỳ đơn giản, không mất nhiều thời gian đề có thé học được.
e Thư viện phong phú Lập trình viên có thể sử dụng nhiều thư viện để tối ưu hóa và tiết kiệm thời gian. e _ Việc cài đặt môi trường phát triển đơn giản Do chạy được trên máy chủ Apache và thường di cặp cùng với hệ quản tri cơ sở đữ liệu MySQL nên việc cài đặt một trường phát triển vô cùng đơn giản, thông qua một bộ cài đặt duy nhất như là: XAMPP trên windows và linux, MAMP trên MacOS. e Nhiều framework hỗ tro PHP có nhiều frameworks kết hợp được sử dụng dé thêm các chức năng cụ thể. Một số Framework pho bién nhu: Laravel, Codelgniter, Yii 2, Phalcon, CakePHP.
Laravel FrameWork l2 Laravel Hình 2.2 Logo của Laravel FrameWork[6] Laravel[6] là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC. Logo của Laravel FrameWork được thể hiện tại hình 2. Laravel được lựa chọn trong khóa luận bởi một số tính chất quan trọng sau: — Trang 6 Tốc độ xử lý nhanh Dễ dàng sử dụng Mô hình MVC Tích hợp sẵn nhiều tính năng Module đa dạng Cộng đồng người dùng rộng lớn 2. Laragon @ Laragon Full 3.27-winB4-VC14 started MySQL mysql-6.19-win64 started 80 3306 Reload Nginx ngin1.0 started 8080 Reload Redis redis-x64-3.100 started 6379 Memeached memeached-1.5 started 1121 O stop wer A Database Terminal Root Hình 2.3 Màn hình của phần mềm laragon| 17] Laragon{ 17] là một môi trường phat triển phổ quát di động, biệt lập, nhanh chóng và mạnh mẽ dành cho PHP, Node.Js, Python, Java, Go, Ruby.
Nó nhanh, nhẹ, dễ sử dụng và dễ mở rộng. Laragon là công cụ tuyệt vời để xây dựng và quản lý các ứng dụng web hiện đại. Nó tập trung vào hiệu suất - được thiết kế xung quanh sự ôn định, đơn giản, linh hoạt và tự do. Laragon rất nhẹ và sẽ càng gọn gàng càng tốt.
Bản thân tệp nhị phân lõi nhỏ hơn 2 MB và sử dụng ít hơn 4 MB RAM khi chạy. Laragon không sử dụng các dịch vụ Windows. Nó có hệ thống điều phối dịch vụ riêng dé quản lý các dịch vụ không đồng bộ và không chặn Trang 7 Laragon được lựa chọn trong khóa luận bởi một số tính chất quan trọng sau: e URL gon Su dung app.test thay vi localhost/app. e Tinh chuyển động Ban có thé di chuyển thư mục Laragon (sang đĩa khác, sang laptop khác, đồng bộ lên Cloud,.) mà không phải lo lắng gì.
e Hoat động dé dàng Không giống như những cái khác cầu hình sẵn cho bạn, Laragon tự động cấu hình tất cả những thứ phức tạp. Đó là lý do có thể thêm các phiên bản khác của PHP, Python, Ruby, Java, Go, Apache, Nginx, MySQL, PostgreSQL, MongoDB,. một cach dé dang.Hệ thống khuyến nghị sản phẩm 2. Giới thiệu Hệ thống khuyến nghị [18] (Recommendation System) là hệ thông thông tin nhằm dự đoán đánh giá sở thích, mối quan tâm, nhu cầu của người dùng dé đưa ra một hoặc nhiều mục, sản phẩm, dịch vụ mà người dùng quan tâm.
Có hai thực thể chính trong Recommendation System là users và items. Users là người dùng. Items là sản phẩm, ví dụ như các bộ phim, bài hát, video clip, hoặc cũng có thé là các users khác trong bài toán khuyến nghị. Mục đích chính của các Recommender System là dự đoán mức độ quan tâm của một user tới một item nào đó, qua đó có chiến lược khuyến nghị phù hợp.
Giới thiệu phương pháp xây dựng hệ thống khuyến nghị Hệ thống khuyến nghị thường được chia thành hai nhóm chính Content-based system (khuyến nghị dựa theo nội dung): là phương pháp dùng để đánh giá đặc tính của từng item, sắp xếp thành từng nhóm theo từng đặc trưng. Collaborative filtering (lọc cộng tác): là phương pháp mà hệ thống gợi ý items dựa trên sự tương quan (similarity) giữa các users và items. Mục tiêu của các hệ thống khuyến nghị sán phẩm Tiết kiệm thời gian, tăng tốc độ tìm kiếm. ——————— Trang 8 Tăng trải nghiệm người dùng, giúp người dùng tiếp cận các sản phẩm phù hợp với nhu cầu.
Những sản phẩm chưa thực sự phổ biến vẫn có thẻ tiếp cận đến người dùng theo nhu câu của họ. Cơ sở lý thuyết và xây dựng hệ thống khuyến nghị 2. Collaborative filtering User-user collaborative filtering[3] Trong phương pháp này, hệ thống sẽ xác định được sự giống nhau giữa các users. User similarity matrix được tính dựa trên các cột tương ứng với các users trong ma trận này.
ee°e “ 3m|an|ss|im ass 33] teh alghetedt Ai ¥ b) Normalized utility matrix ¥ ¢) User similarity matrix S. Predict normalized rating of uy oni, with k = 2 Users who rated 4; 5 (to. us} Corresponding similarities: (0. us} with normalized ratings {0.28 29 |406/310| 5 e) Example f) Full Y Hình 2.4 Các bước thực hiện User-user CF [3] Các bước thực hiện User-user CF[3]: a) Utility matrix ban đầu.
b) Utility matrix đã được chuẩn hóa. c) User similarity matrix. d) Dự đoán các giá tri ratings đã chuẩn hóa còn thiếu. Trang 9 e) Ví dụ về cách dự đoán rating của ul cho il.
f) Dự đoán các rating còn thiếu. Bước chuẩn hóa dữ liệu: Hàng cuối cùng trong hình a) là giá trị trung bình các đánh giá của mỗi user với các item. Sau đó, trừ mỗi đánh giá cho giá trị trung bình này và thay các giá trị chưa biết bằng 0, sẽ được Utility matrix đã chuẩn hóa như hình b). Việc trừ đi trung bình cộng làm cho mỗi cột có những giá trị dương và âm.
Những giá trị dương tương ứng với việc user thích item, những giá trị âm tương ứng với việc user không thích item. Những giá trị bằng 0 tương ứng với việc chưa xác định được liệu user có thích item hay không. Sau khi đã chuẩn hóa dữ liệu, sử dụng một trong các Similarity Function dé tính toán ma tran Similarity, thông thường là Cosine Similarity. ulu cosine_similarity(u1,u2) = cOs(u¡,02) = Imlblluala 1ll2 2ll2 e Rating[3] Việc xác định mức độ quan tâm của một user lên item dựa trên các user gần nhất (neighbor user) tương tự phương pháp K-nearest neighbors (KNN).
Tương tự như KNN, trong CF, missing rating cũng được xác định dựa trên thông tin về k neighbor user, chỉ quan tâm tới các user đã rate item đang xét. Các đánh giá được dự đoán thường được xác định bằng trung bình cộng trọng số của các đánh giá đã chuẩn hóa. Trong KNN, các trọng số được xác định dựa trên khoảng cách giữa 2 điểm, và các khoảng cách này là các số không âm. Trong khi đó, trong lọc cộng tác, các trọng số được xác định dựa trên similarity giữa 2 user, những trọng số này có thé nhỏ hơn 0 Công thức được sử dụng đề dự đoán đánh giá cua user u cho item i là — Dujen(ui) Jiujsimcuu;) Diu 5 Lujenui|sim(u, 1)| (sử dung trị tuyệt đối dé xử lý các số âm) Trong đó N (u, i) là tập hợp k user trong neighborhood (tức là có similarity cao nhất của user u va đã đánh giá item ¡.Việc hệ thông quyết định khuyến nghị item nao cho mỗi user có thể được xác định bằng nhiều cách khác nhau.
Có thể sắp xếp các item chưa đánh giá theo thứ tự từ lớn đến bé của các đánh giá được dự đoán, hoặc chỉ chọn các item có các Trang 10 đánh giá chuẩn hóa được dự đoán có giá trị dương — tương ứng với việc user này có nhiều khả năng thích hơn. e Similarity matrix[3] Sau khi có Utility matrix, phải xác định được độ tương đồng (similarity) giữa các users/items.