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

XÂY DỰNG hệ KHUYẾN NGHỊ CHO các sản PHẨM mỹ PHẨM dựa TRÊN THÔNG TIN MẠNG xã hội

118 169 3

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 118
Dung lượng 14,6 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THƠNG TIN  Trần Ngơ Hồng Thành XÂY DỰNG HỆ KHUYẾN NGHỊ CHO CÁC SẢN PHẨM MỸ PHẨM DỰA TRÊN THÔNG TIN MẠNG XÃ HỘI LUẬN VĂN THẠC SĨ NGÀNH: CÔNG NGHỆ THÔNG TIN Mã số: 60.48.02.01 NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Hoàng Tú Anh TP HỒ CHÍ MINH - NĂM 2017 LỜI CAM ĐOAN Tơi xin cam đoan cơng trình nghiên cứu tơi hướng dẫn TS.Nguyễn Hồng Tú Anh Các số liệu, kết nêu Luận văn trung thực chưa công bố cơng trình khác Tơi xin cam đoan giúp đỡ cho việc thực Luận văn cảm ơn thông tin trích dẫn Luận văn hồn tồn có nguồn gốc Tơi xin chịu hồn tồn trách nhiệm cơng trình nghiên cứu Tác giả Trần Ngơ Hồng Thành MỤC LỤC Danh mục kí hiệu chữ viết tắt Danh mục bảng Danh mục hình vẽ, đồ thị Danh mục biểu đồ MỞ ĐẦU 10 Giới thiệu 10 Phát biểu toán 11 Ứng dụng toán 11 Khó khăn thách thức 11 Mục tiêu luận văn 11 Đối tượng phạm vi nghiên cứu 12 Cấu trúc luận văn 12 Chương 1: TỔNG QUAN CÁC HƯỚNG TIẾP CẬN 14 1.1 Hệ khuyến nghị 14 1.2 Hệ khuyến nghị theo hướng nhân hóa 14 1.3 Các hướng tiếp cận 15 1.3.1 Lọc theo nội dung (Content-based filtering – CBF) 15 1.3.2 Lọc cộng tác (Collaborative Filtering - CF) 16 1.3.3 Lai ghép (Hybrid filtering) 17 1.4 Các độ đo đánh giá hệ khuyến nghị 18 1.4.1 Root Mean Squared Error (RMSE): 20 1.4.2 Mean Absolute Error (MAE): 20 1.5 Mạng xã hội 21 1.6 Các yếu tổ ảnh hưởng trực tiếp đến kết khuyến nghị 22 1.7 Các thách thức tồn 23 1.8 Kết luận 24 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 26 2.1 Hệ khuyến nghị dựa tin tưởng (Trust-base Recommender) 26 2.1.1 Các cơng trình nghiên cứu nước 26 2.1.2 Các cơng trình nghiên cứu ngồi nước 26 2.2 Định nghĩa hệ khuyến nghị dựa tin tưởng 30 2.3 SoRec – Phân rã ma trận theo xác suất 33 2.4 SoReg – Phương pháp quy nạp giá trị tắc 34 2.4.1 Tham số tắc trung bình 35 2.4.2 Tham số tắc cá nhân 36 2.5 TrustMF – Mơ hình láng giềng tin cậy 36 2.5.1 Mơ hình truster 38 2.5.2 Mơ hình trustee 40 2.5.3 Công thức TrustMF 41 2.6 TrustSVD – Phân rã thông tin tường minh tiềm ẩn quan hệ 41 2.7 Kết luận 46 Chương 3: CÀI ĐẶT HỆ KHUYẾN NGHỊ 47 3.1 Use case hệ thống 47 3.2 Kiến trúc tổng quan 48 3.3 Kiến trúc chi tiết theo thành phần 51 3.4 Cài đặt chi tiết 57 3.5 Thiết kế sở liệu 60 3.6 Kết luận 61 Chương 4: KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 62 4.1 Bộ liệu thực nghiệm 62 4.1.1 Thu thập liệu 62 4.1.2 Đặc tả liệu 63 4.2 Các độ đo đánh giá 70 4.3 Các phương pháp thực nghiệm 70 4.4 Kết thực nghiệm 75 4.5 Chương trình minh họa 77 4.5.1 Các cơng nghệ 77 4.5.2: Hình ảnh minh hoạ 78 4.6 Kết luận 88 Chương 5: KẾT LUẬN 89 5.1 Kết đạt 89 5.2 Hướng phát triển 89 TÀI LIỆU THAM KHẢO 90 PHỤ LỤC 94 Phục lục 1: Apache Hadoop 94 Phụ lục 2: Spark 99 2.1 MapReduce truyền thống 99 2.2 MapReduce Spark 100 Phụ lục 3: LibRec 101 3.1 Giới thiệu 101 3.2 Generic Interface 102 3.3 Data Structures 103 3.4 Recommendation Algorithms 104 Phụ lục 4: Cài đặt Hadoop 104 Phụ lục 5: Cài đặt LibRec 112 Danh mục kí hiệu chữ viết tắt Danh mục kí hiệu chữ viết tắt STT Ký hiệu viết tắt RS SRS 10 11 User Item CBF CF HF RMSE MAE SoRec TrustMF 12 TrustSVD 13 LibRec 14 15 HDFS DAO 16 Frontend 17 Backend 18 Interface Nội dung viết tắt Hệ khuyến nghị Hệ khuyến nghị sử dụng thông tin mạng xã hội Người dùng hệ thống Sản phẩm bán hệ thống Lọc theo nội dung Lọc cộng tác Lọc lai ghép Root Mean Squared Error Mean Absolute Error Social recommendation Một kỹ thuật đưa khuyến nghị dựa thông tin mạng xã hội Một kỹ thuật đưa khuyến nghị dựa thông tin mạng xã hội Bộ thư viện Java cài đặt kỹ thuật SRS Hadoop Distributed File System Đối tượng truy xuất liệu (data access object) Giao diện, phần tương tác trực tiếp với người dùng Những xử lý hệ thống để đáp ứng tương tác người dùng Giao diện lập trình Danh mục bảng Danh mục bảng Bảng 1: Ma trận rating 31 Bảng 2: Độ thưa thớt thông tin trust 42 Bảng 3: Các giá trị mẫu lưu trữ tập tin 55 Bảng 4: Phân bố rating 69 Bảng 5: Bảng thống kê độ thưa thớt liệu 69 Bảng 6: Kết so sánh giải thuật liệu FilmTrust 71 Bảng 7: Kết so sánh giải thuật liệu Ciao 72 Bảng 8: Kết so sánh giải thuật liệu Epinions 73 Bảng 9: Cấu hình đề xuất cho giải thuật 74 Danh mục hình vẽ, đồ thị Danh mục hình vẽ, đồ thị Hình 1: Lọc dựa theo nội dung [28] 15 Hình 2: Các hướng tiếp cận phương pháp lai ghép [28] 18 Hình 3: Mơ hình đánh giá cross-validation [28] 19 Hình 4: Các tiếp cận theo hướng trust-base 28 Hình 5: Đồ thị quan hệ mạng xã hội trọng số [18] 32 Hình 6: Mối liên hệ thành phần hệ khuyến nghị sử dụng thông tin mạng xã hội [17] 33 Hình 7: Mơ hình truster [11] 38 Hình 8: Mơ hình trustee [11] 40 Hình 9: Vùng giá trị liên kết láng giềng [16] 43 Hình 10: Use case hệ thống 47 Hình 11: Kiến trúc hệ thống 49 Hình 12: Các cơng nghệ sử dụng 50 Hình 13: Các thành phần cốt lõi hệ khuyến nghị 51 Hình 14: Luồng xử lý hệ thống 52 Hình 15: Kiến trúc class tổng quát hệ thống 54 Hình 16: Hàm khởi chạy hệ khuyến nghị 57 Hình 17: Các thành phần SparkDataModel 58 Hình 18: Hàm xử lý liệu SparkSocialDataAppender 59 Hình 19: Mơ hình sở liệu chi tiết 60 Hình 20: Thông tin người dùng 63 Hình 21: Thơng tin giao dịch khách hàng 66 Hình 22: Giao diện trang web người dùng chưa đăng nhập 78 Hình 23: Màn hình login hệ thống 79 Hình 24: Thông tin người sử dụng 80 Hình 25: Giao diện trang web người dùng đăng nhập 81 Hình 26: Thơng tin chi tiết sản phẩm người dùng chưa đăng nhập 82 Danh mục hình vẽ, đồ thị Hình 27: Nhận xét sản phẩm 83 Hình 28: Xem thông tin chi tiết người dùng 84 Hình 29: Xem chi tiết thông tin bạn bè 85 Hình 30: Thơng tin giỏ hàng 86 Hình 31: Thơng tin giỏ hàng cho người dùng chưa đăng nhập 87 Hình 32: Cấu trúc Hadoop 94 Hình 33: Cấu trúc YARN 96 Hình 34: Hệ sinh thái Hadoop 98 Hình 35: Hình minh hoạ đếm chữ sử dụng MapReduce [12] 99 Hình 36: Tốc độ Spark so với Hadoop 101 Hình 37: Kiến trúc Spark 101 Hình 38: Kiến trúc LibRec 102 Hình 39: Giải nén hadoop 105 Hình 40: Chỉnh lại biến mơi trường Hadoop 106 Hình 41: Kiểm tra Hadoop version 106 Hình 42: Format namenode hadoop 107 Hình 43: Khởi động dfs yarn 108 Hình 44: Giao diện quản trị hadoop 109 Hình 45: Kiểm tra trạng thái cluster yarn 110 Hình 46: Tạo đưa liệu vào hadoop 111 Hình 47: Kiểm tra liệu hadoop 111 Hình 48: Tải mã nguồn LibRec từ mạng internet 112 Hình 49: Build thư viện LibRec 113 Bản giải trình Thành phần: Có thành phần cấu thành nên LibRec, chia liệu (data split), chuyển đổi (conversion), tương tự (similary), thuật toán (algorithm), đánh giá (evaluator) cuối lọc (filter) Cấu hình: Có thể dễ dàng cấu hình mơi trường lập trình khác Mở rộng: Thiết kế theo dạng mô-đun, dễ dàng cài đặt thuật tốn mới, đảm bảo độ ổn định hệ thống Tốc độ: Đạt tốc độ tốt chạy liệu lớn so sánh với hệ khuyến nghị MyMediaLite PREA Dễ sử dụng: dễ dàng cài đặt nhiều tảng hệ điều hành khác Hình 38: Kiến trúc LibRec 3.2 Generic Interface LibRec tập hợp abstract recommender dễ dàng cài đặt mở rộng thuật toán khuyến nghị Trong phiên LibRec tại, Recommender định nghĩa hệ khuyến nghị tổng quát, lớp sở mà hệ khuyến nghị phải kế thừa Sở dĩ cần kế thừa từ class nhằm để dễ dàng cài đặt mở rộng tương lai xuất thuật toán Các loại khuyến nghị hỗ trợ bao gồm  IterativeRecommender định nghĩa hệ khuyến nghị dùng giải thuật lặp để học đưa dự đốn 102 Bản giải trình  Matrix factorization-based: với tiếp cận phân mã trận SVD++, BiasesMF  GraphicRecommender liên qua tới giải thuật đồ thị dùng xác suất, đơn cử LDA, BUCM  SocialRecommender hệ khuyến nghị theo hướng tiếp cận mạng xã hội SocialMF TrustSVD  ContextRecommender hệ khuyến nghị sử dụng thêm thông tin ngữ cảnh để nâng cao độ xác dự đốn TimeSVD Tất hệ khuyến nghị kế thừa từ lớp sở lớp Recommender 3.3 Data Structures Có loại cấu trúc liệu sử dụng rộng rãi thường xuyên LibRec, bao gồm ma trận thưa vectors, and ma trận rậm vectors Một số cấu trúc liệu khác bao gồm ma trận đối xứng ma trận bất đối xứng Dữ liệu cấu trúc đóng vai trò lớn việc tối ưu hố khả xử lý tốc độ hệ khuyến nghị Tất cấu trúc liệu sử dụng LibRec truyền cảm hứng từ cấu trúc liệu ma trận Java (MTJ) MTJ thư viện mạnh mẽ ngôn ngữ lập trình Java MTJ cài đặt số cấu trúc liệu có chế nén dòng (compress row) để tối ưu hoá việc lưu trữ xử lý Do thường truy xuất liệu thơng qua dòng/cột q trình xử lý liệu nên LibRec định chọn cài đặt cấu trúc liệu theo ý tưởng MTJ, bao gồm việc nén liệu dòng cột Ngồi dễ dàng cài đặt truy xuất trình xử lý dùng cấu trúc liệu LibRec bao gồm số thành phần khác như: DataDAO, truy xuất liệu để làm input/output cho trình xử lý DataSplitter thư viện đảm nhận việc chia nhỏ liệu thành tập nhỏ bao gồm tập kiểm thử tập huấn luyện 103 Bản giải trình DataConverter, chuyển đổi liệu dùng để chuyển hoá liệu từ dạng sang dạng khác từ tập nguồn vào tập đích 3.4 Recommendation Algorithms LibRec cài đặt loại thuật tốn dành cho hệ khuyến nghị bao gồm:  Base line sử dụng thông tin cá nhân để tạo dự đoán  Core algorithms: cài đặt thuật toán state-of-the-art nay, sử dụng thông tin rating, thông tin mạng xã hội số thông tin ngữ cảnh Các thuật toán trải dài từ lúc xuất kỹ thuật đại như: PMF, BMF, LOCABAL, STE, mTrust, SoRec, SoReg, SocialMF, TrustMF, TrustSVD  Các thuật toán khác nằm dạng Khi đánh giá hiệu hệ khuyến nghị, người ta thường sử dụng nhiều cấu hình khác nhau: thay đổi hệ số N (ratio) rating, thay đổi K K-fold crossvalidation cold start Người ta so sánh dựa độ đo lỗi khác như: RMSE, MAE MPE, MRR…v.v Phụ lục 4: Cài đặt Hadoop Cài đặt Hadoop: chọn Hadoop phiên 2.7.3 cài đặt Ubuntu 16.04 LTS, phiên thời điểm Hadoop yêu cầu phải cài đặt java, máy tính bạn chưa cài đặt Java JDK tham khảo đây: https://www.java.com/en/download/help/index_installing.xml Sau tải về, bạn tiến hành giải nén: tar -xvzf hadoop-2.7.3.tar.gz 104 Bản giải trình Hình 39: Giải nén hadoop Chỉnh lại biến mơi trường /hadoop-2.7.3/etc/hadoop/hadoop-env.sh Các tuỳ chỉnh bao gồm:  Chỉnh lại JAVA_HOME environment  Chỉnh lại thư mục config hadoop 105 Bản giải trình Hình 40: Chỉnh lại biến môi trường Hadoop Kiểm tra Hadoop cài đặt thành cơng hay chưa dòng lệnh: Hadoop version Hình 41: Kiểm tra Hadoop version Sau cài đặt thành công Hadoop, tiếp tục khởi tạo Hadoop lần đầu tiên: Mở terminal gõ câu lệnh sau: hadoop namenode -format 106 Bản giải trình Hình 42: Format namenode hadoop start-dfs.sh start-yarn.sh 107 Bản giải trình Hình 43: Khởi động dfs yarn Câu lệnh dùng để tái cấu hình namenode Hadoop, thơng tin cấu liệu thiết lập Câu lệnh dùng để khởi dạo dfs, hệ thống lưu trữ file Hadoop Và cuối câu lệnh dùng để khởi tạo yarn, biết yarn có nhiệm vụ quản lý tài nguyên, lập lịch trình để xử lý tác vụ Hadoop 108 Bản giải trình Sau chạy xong câu lệnh trên, kiểm tra trạng thái Hadoop thông qua giao diện web địa chỉ: http://localhost:50070 Hình 44: Giao diện quản trị hadoop Tiếp theo kiểm tra giao diện quản trị yarn, để biết task thực thi, tài nguyên hệ thống http://localhost:8088/cluster 109 địa chỉ: Bản giải trình Hình 45: Kiểm tra trạng thái cluster yarn Tới hồn thành phần cài đặt cấu hình cluster Hadoop Tiếp theo tiến hành đưa liệu vào hdfs Để đưa liệu vào Hadoop, việc nên làm tạo số thư mục, sau đưa liệu vào thư mục Ở tạo thư mục /user/input bỏ liệu cần xử lý vào thư mục Chạy câu lệnh sau: hdfs dfs -mkdir /user hdfs dfs -mkdir /user/input hdfs dfs -put /data/* /user/input 110 Bản giải trình Câu tạo thư mục user nằm thư mục gốc hfds trước Tiếp tạo thư mục input thư mục user Và cuối đẩy tất data nằm thưc mục data máy vào hdfs Kết thu sau: Hình 46: Tạo đưa liệu vào hadoop Để kiểm tra liệu đưa thành công hay chưa, ta dùng lệnh: hdfs dfs -ls /user/input Hình 47: Kiểm tra liệu hadoop 111 Bản giải trình Phụ lục 5: Cài đặt LibRec Bước cần phải download thư viện LibRec Do tác giả thư viện cung cấp mã nguồn, nên cần phải download mã nguồn về, sau build thành file jar thêm vào thư viện để sử dụng Để download ta dùng lệnh sau: git clone https://github.com/guoguibing/librec.git Hình 48: Tải mã nguồn LibRec từ mạng internet Tiếp tục build mã nguồn thành thư viện dùng Ta dùng câu lệnh sau (lưu ý mã nguồn dùng maven build, bạn cần phải cấu hình maven trước thực câu lệnh): mvn clean package 112 Bản giải trình Hình 49: Build thư viện LibRec 113 Bản giải trình ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc lập - Tự - Hạnh phúc CÔNG NGHỆ THÔNG TIN BẢN GIẢI TRÌNH Tên đề tài luận văn: Xây dựng hệ khuyến nghị cho sản phẩm mỹ phẩm dựa thông tin mạng xã hội Học viên: Trần Ngơ Hồng Thành MSHV: CH1502020 Giảng viên hướng dẫn: TS Nguyễn Hoàng Tú Anh Phản biện 1: PGS.TS Hồ Bảo Quốc Phản biện 2: TS Dương Minh Đức Ngày bảo vệ: 31/08/2017 Kết bảo vệ (điểm): 8.5 Yêu cầu Bổ sung yếu tố liên quan yếu tố đưa khuyến nghị Bản giải trình Giải trình Bổ sung yếu tố ảnh hưởng trực tiếp phân tích liên quan yếu tố trình khuyến nghị (phần Các yếu tổ ảnh hưởng trực tiếp đến kết khuyến nghị, chương 1, mục 1.6, trang 22) Yêu cầu Trình bày rõ bước thu thập xử lý liệu Giải trình Bổ sung bước thu thập tiền xử lý liệu Trong trình bày rõ bước thu thập liệu mạng xã hội facebook, sau ánh xạ thông tin thành thông tin bạn bè thông qua phương pháp thống kê Cuối trình bày tiền xử lý liệu liệu khách hàng liệu mỹ phẩm (phần Kết thực nghiệm đánh giá, chương 4, mục 4.1.1, trang 62, 63) Yêu cầu Tình hình nghiên cứu nước nào? Giải trình Bổ sung cơng trình nghiên cứu nước Các cơng trình nước dừng lại việc xây dựng hệ khuyến nghị dựa tiếp cận truyền thống, tiếp cận chủ yếu dựa việc phân rã ma trận người dùng ma trận sản phẩm để tìm láng giềng lân cận Hiện chưa có cơng trình theo hướng tin tưởng cơng bố (phần Các cơng trình nghiên cứu nước, chương 2, mục 2.1.1, trang 26) Yêu cầu Chỉnh sửa cho hình thức luận văn, tài liệu tham khảo cho đồng Bản giải trình Giải trình Sửa lại số thứ tự, tên tác giả, tên báo, tên tạp chí, tập, số trang phần tài liệu tham thảo tiếng Anh theo chuẩn quy định trường (Mục Tài liệu Tham Khảo, trang 90) TPHCM, ngày 20 tháng 09 năm 2017 Học viên ký, ghi rõ họ tên Ý kiến GVHD (họ tên, chữ ký) TS Nguyễn Hồng Tú Anh Trần Ngơ Hồng Thành ... hãng mỹ phẩm lớn muốn xây dựng hệ khuyến nghị để tư vấn sản phẩm hãng đến người sử dụng Các sản phẩm khuyến nghị phải phù hợp với nhu cầu mua hàng người dùng Hệ thống xây dựng phân tích thông tin. .. lớn hệ khuyến nghị Nhờ có hệ khuyến nghị mà người dùng dễ dàng tìm kiếm sản phẩm cần, qua kích thích nhu cầu mua hàng họ Các hệ khuyến nghị truyền thống thường đưa khuyến nghị dựa vào nội dung sản. .. Absolute Error Social recommendation Một kỹ thuật đưa khuyến nghị dựa thông tin mạng xã hội Một kỹ thuật đưa khuyến nghị dựa thông tin mạng xã hội Bộ thư viện Java cài đặt kỹ thuật SRS Hadoop Distributed

Ngày đăng: 23/12/2018, 06:16

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w