MỘT MÔ HÌNH GIẢI QUYẾT VẤN ĐỀ KHỞI ĐẦU NGUỘI TRONG TƯ VẤN XÃ HỘI DỰA TRÊN PHƯƠNG PHÁP MA TRẬN NHÂN TỬ. KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

51 2 0
MỘT MÔ HÌNH GIẢI QUYẾT VẤN ĐỀ KHỞI ĐẦU NGUỘI TRONG TƯ VẤN XÃ HỘI  DỰA TRÊN PHƯƠNG PHÁP MA TRẬN NHÂN TỬ. KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Hữu Tú MỘT MƠ HÌNH GIẢI QUYẾT VẤN ĐỀ KHỞI ĐẦU NGUỘI TRONG TƯ VẤN XÃ HỘI DỰA TRÊN PHƯƠNG PHÁP MA TRẬN NHÂN TỬ KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng Nghệ Thơng Tin HÀ NỘI - 2017 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Hữu Tú MỘT MƠ HÌNH GIẢI QUYẾT VẤN ĐỀ KHỞI ĐẦU NGUỘI TRONG TƯ VẤN XÃ HỘI DỰA TRÊN PHƯƠNG PHÁP MA TRẬN NHÂN TỬ KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin Cán hướng dẫn: PGS-TS Hà Quang Thụy Cán đồng hướng dẫn: ThS NCS Lê Hoàng Quỳnh HÀ NỘI - 2017 VIETNAM NATIONAL UNIVERSITY, HANOI UNIVERSITY OF ENGINEERING AND TECHNOLOGY Nguyen Huu Tu A MODEL ADDRESSES THE COLD-START PROBLEM IN SOCIAL RECOMMENDATION BASED ON THE MATRIX FACTORIZATION METHOD Major: Information Technology Supervisor: Assoc Prof Dr.Sc Ha Quang Thuy Co-Supervisor: M.Sc Le Hoang Quynh HANOI - 2017 LỜI CẢM ƠN Lời đầu tiên, xin gửi lời biết ơn chân thành đến thầy giáo PGS-TS Hà Quang Thụy tận tình bảo, hướng dẫn, giúp đỡ tơi suốt q trình tơi thực khóa luận Tơi xin gửi lời cảm ơn chân thành đến thầy, cô khoa Công nghệ thông tin, trường Đại học Công nghệ - Đại học Quốc gia Hà Nội truyền đạt cho kiến thức bổ ích để tơi có đủ hành trang, kiến thức phục vụ công việc sau Tôi xin cảm ơn tập thể sinh viên K58CLC Trường Đại học Công Nghệ ủng hộ khuyến khích tơi q trình nghiên cứu thực khóa luận Tơi xin gửi lời cảm ơn tới thầy cô, anh chị bạn phịng thú nghiệm Cơng nghệ tri thức khoa học liệu KT-Lab, bạn nhóm nghiên cứu khoa học “Tư vấn xã hội” trao đổi, thảo luận để hoàn thành đề tài Cuối cùng, muốn gửi lời cảm vơ hạn tới gia đình bạn bè, người thân yêu bên cạnh, tin tưởng động viên tơi suốt q trình thực đề tài Xin cảm ơn! Hà Nội, ngày 08 tháng 05 năm 2017 Sinh viên Nguyễn Hữu Tú i TĨM TẮT Tóm tắt: Trong năm gần đây, với phát triển mạnh mẽ phương tiện xã hội, thơng tin có ích cho người dùng từ ngày nhiều Tư vấn cho người dùng đọc gì, xem gì, đâu,… dựa liệu phương tiện xã hội nhiệm vụ quan trọng tư vấn xã hội Nghiên cứu cải tiến hệ tư vấn xã hội, để đưa định xác hỗ trợ cho người dùng nhiều Hệ tư vấn đứng trước nhiều thách thức vấn đề cần phải giải có vấn đề khởi đầu nguội Khởi đầu nguội xảy người dùng (user) mục (item) thêm vào hệ thống mà chưa có đánh giá liệu hệ thống Hệ thống phải tính tốn đưa định tư vấn xác cho người dùng mục Khóa luận trình bày vấn đề khởi đầu nguội hệ tư vấn xã hội, nhóm phương pháp hướng giải dựa vào nghiên cứu Uroš Ocepek cộng Khóa luận đề xuất mơ hình giải cho vấn đề khởi đầu nguội tư vấn xã hội, mơ hình xây dựng dựa phương pháp ma trận nhân tử Từ khóa: tư vấn xã hội, khởi đầu nguội, ma trận nhân tử ii ABSTRACT Abstract: In the recent years, with the strong development of social media, there are many more and more useful information come to user Advising the user what to read, what to see, where to go, is an important mission of social recomendation Research to improve the social recomendation system, to make more exactly decisions and to support more for users The recomendation system is also facing many challenges as well as problems that need to be addressed include cold-start Cold-start occurs when a new user or item is added to the system without any rating in the system data The system will have to calculate and make the most accurate consultation decisions for the user or item This thesis presents the cold-start problem in the social recomendation system, a group of methods and a method based on research by Uroš Ocepek et al The thesis proposes a model for addressing the cold-start problem in social recomendation, which will be based on the matrix factorization method Keywords: social recommendation, cold-start, matrix factorization iii LỜI CAM ĐOAN Tôi xin cam đoan kỹ thuật sử dụng để giải vấn đề khởi đầu nguội tư vấn xã hội trình bày khóa luận thực hướng dẫn PGS.TS Hà Quang Thụy Tất tham khảo từ nghiên cứu liên quan nêu nguồn gốc cách rõ ràng từ danh mục tài liệu tham khảo khóa luận Trong khóa luận, khơng có việc chép tài liệu, cơng trình nghiên cứu người khác mà không rõ tài liệu tham khảo Hà Nội, ngày 08 tháng 05 năm 2017 Sinh viên Nguyễn Hữu Tú iv MỤC LỤC LỜI CẢM ƠN i TÓM TẮT ii ABSTRACT iii LỜI CAM ĐOAN iv MỤC LỤC v Danh sách thuật ngữ từ viết tắt vii Danh sách bảng ix Danh sách hình vẽ x Mở đầu Chương Hệ tư vấn xã hội vấn đề khởi đầu nguội 1.1 Hệ tư vấn hệ tư vấn xã hội 1.1.1 Giới thiệu chung 1.1.2 Tư vấn xã hội 1.2 Vấn đề khởi đầu nguội hệ tư vấn 1.3 Bài toán xử lý khởi đầu nguội tư vấn xã hội Tóm tắt chương .9 Chương Các nhóm phương pháp cho vấn đề khởi đầu nguội nói chung phương pháp ma trận nhân tử hệ tư vấn xã hội 10 2.1 Các nhóm phương pháp cho vấn đề khởi đầu nguội 10 2.1.1 Tận dụng nguồn liệu bổ sung 10 2.1.2 Chọn nhóm người sử dụng tương đồng bật 14 2.1.3 Tăng cường dự đoán sử dụng phương pháp lai 16 2.1 Phương pháp ma trận nhân tử giải vấn đề khởi đầu nguội 18 2.1.1 Giới thiệu ma trận nhân tử với hệ tư vấn .18 2.1.2 Ứng dụng ma trận nhân tử giải vấn đề khởi đầu nguội .19 2.3 Ý tưởng mơ hình giải tốn khóa luận 20 Tóm tắt chương .21 Chương Mơ hình xử lý khởi đầu nguội dựa phương pháp ma trận nhân tử .22 3.1 Giới thiệu mơ hình 22 v 3.2 Các bước mơ hình .23 3.2.1 Tìm người dùng tương đồng .24 3.2.2 Chọn thuộc tính có liên quan .26 3.2.3 Nhập giá trị thiếu 28 3.2.4 Tư vấn sử dụng ma trận nhân tử 29 Tóm tắt chương .30 Chương Thực nghiệm đánh giá .31 4.1 Giới thiệu phần mềm thực nghiệm 31 4.1.1 Đặt vấn đề 31 4.1.2 Project thực trình thực nghiệm 31 4.2 Môi trường cài đặt project .32 4.3 Dữ liệu 33 4.4 Kết thực nghiệm nhận xét 33 Tóm tắt chương .36 Kết luận 37 Kết đạt 37 Định hướng tương lai .37 Tài liệu tham khảo .38 Tài liệu tiếng Việt 38 Tài liệu tiếng Anh 38 vi Danh sách thuật ngữ từ viết tắt Tiếng Anh/Từ viết tắt Tiếng Việt/Cụm từ đầy đủ Absolute cold start Khởi đầu nguội tuyệt đối Cold Start user/CS-user Người dùng khởi đầu nguội Cold-start/CS Khởi đầu nguội Collaborative Filtering/CF Lọc cộng tác HU-FCF Hybrid User-based Fuzzy Collaborative Filtering Item Mục (“mặt hàng”, “dịch vụ”) MAE Mean absolute error MIPFGWC Modification Intuitionistic Possiblistic Fuzzy Geographically Weighted Clustering NG Non-negative matrix factorization with stochastic Gradient descent NHSM New Heuristic Similarity Model NS Non-negative matrix factorization with alternating least Squares Partial cold start Khởi đầu nguội tương đối (một phần) Recommendation System/ Hệ tư vấn Recommender System/RS RMSE Root Mean Squared Error SN Semi-Nonnegative matrix factorization with missing data vii toán từ người dùng liên quan tới người dùng Và sau liệu nhập cho người mới, thuật toán ma trận nhân tử hoạt động để đưa tư vấn Hình 3.1 Sơ đồ mơ hình dựa phương pháp ma trận nhân tử[11] 3.2.1 Tìm người dùng tương đồng A, Xác định người dùng khởi đầu nguội Với tập liệu đầu vào cho trước, ta cần xác định đối tượng có vấn đề khởi đầu nguội Khởi đầu nguội trường hợp hiểu liệu đánh giá người dùng để hệ tư vấn đưa gợi ý xác Mục tiêu bước xác định đối tượng cho pha từ liệu ban đầu Đầu vào: Tập liệu chứa thông tin user, item, rating ban đầu 24 Đầu ra: Xác định id_user có vấn đề khởi đầu nguội Các bước tiến hành: Đọc liệu đầu vào Xác định số đánh giá number_rating user Chọn ngưỡng để so sánh So sánh với ngưỡng, user có number_rating ≤ xếp vào nhóm có tình trạng khởi đầu nguội (CS-user) B, Tìm người dùng tương đồng Bước đầu tiên, ta cần tìm người dùng tương tự cho người dùng CS định với giá trị đánh giá bị thiếu Giá trị đánh giá chọn người dùng tổng hợp gộp sau thay cho đánh giá bị thiếu cho người dùng CS Để chọn người dùng tương tự nhất, ta sử dụng khoảng cách Euclide để tính tương tự người dùng CS mẫu huấn luyện khác (người dùng CS) Sau đó, xếp hạng (rank) mẫu tương đồng giảm dần họ giữ tỷ lệ định người dùng tương tự để xử lý tiếp Lưu ý cơng việc nói xảy người sử dụng khởi đầu nguội phần (đã có trước vài giá trị đánh giá liệu) cho phép tính khoảng cách Euclide; Các tình khởi đầu nguội tuyệt đối (khơng có giá trị đánh giá đưa từ trước) khơng giải mơ hình Trong trường hợp này, ta xem xét chuyển đổi khởi đầu nguội tuyệt đối thành khởi đầu nguội tương đối cách gán giá trị thuộc tính nhất, sau tiến hành mơ tả Đầu vào: Dữ liệu đầu vào có sẵn định người dùng có vấn đề khởi đầu nguội Đầu ra: Dữ liệu người dùng liên quan với người người dùng có vấn đề khởi đầu nguội Các bước tiến hành: Đọc liệu đầu vào theo dòng, tách liệu dòng theo ký tự trống (\t-tab, \space) Xác định thông số CS-user người cịn lại 25 Tính độ tương đồng CS-user với người dùng khác theo cách sau: Tính theo độ tương đồng khoảng cách Euclide Khoảng cách CS-user với người dùng khác: ( , ) = ( − ) Mức độ tương đồng người dùng: ( , ) =1− , Tính theo giá trị có - Xác định giá trị đánh giá cao có CS-user chọn - Duyệt liệu, truy xuất người dùng khác đánh giá item CSuser Xếp hạng độ tương đồng người dùng lại với CS-user Chọn số lượng người dùng tương đồng với CS-user, truy xuất liệu file ghi id người dùng tương đồng, item họ đánh giá giá trị đánh giá: Id_user, Id_item, Rating 3.2.2 Chọn thuộc tính có liên quan Bước thứ hai, ta chọn thuộc tính có liên quan đáng tin cậy (các mục tư vấn) mà sử dụng để tính giá trị mục bị thiếu giá trị đánh giá cho CS-user Ta có bốn cách tiếp cận khác cho việc chọn thuộc tính liên quan, hai yếu tố dựa số liệu thống kê mô tả đơn giản, hai yếu tố thứ hai dựa số liệu đánh giá thuộc tính:  SD (độ lệch tiêu chuẩn): chọn thuộc tính có độ lệch chuẩn thấp ngưỡng định Lý đằng sau cách tiếp cận giá trị cịn thiếu thuộc tính đáng tin cậy (nghĩa có lỗi thấp hơn) thay cho thuộc tính có độ lệch thấp Độ lệch chuẩn tính theo công thức sau: 26 Phương sai: = ∑ ( − ) −1 Độ lệch chuẩn: =  FR (giá trị thường xun): chọn thuộc tính có tần số thường xuyên có giá trị cao ngưỡng định Tùy trường hợp, ta chọn ngưỡng tần số xuất giá trị hợp lý Hai cách tiếp cận cịn lại chọn thuộc tính sử dụng đáng tin cậy dạng biến phụ thuộc (biến đích), chúng mơ hàm thuộc tính cịn lại Cả hai lặp lại tất thuộc tính có sẵn; Trong lần lặp, chúng xử lý thuộc tính làm thuộc tính đích tất thuộc tính khác thuộc tính đầu vào đánh giá thuộc tính cách sử dụng:  IG (độ lợi thông tin)[4]: Cho tập liệu huấn luyện SX, xi giá trị vectơ vị trí thứ i có giá trị xi = v; Độ lợi thơng tin tính theo cơng thức sau: ( , )= ( )− ( ) ( ) Với độ không chắn thông tin – Entropy: ( ) = − ( ) log ( ) − ( ) log Trong ±( ( ) ) xác suất mẫu huấn luyện tập S rơi vào lớp dương/âm  RR (RReliefF) [11]: Thuật toán ReliefF (Relief-F) lựa chọn thuộc tính xử lý liệu nhiễu Đối với thuộc tính trình thực hiện, lưu ý ý giá trị trung bình phép tính chất lượng thuộc tính Khi trình cuối kết thúc, chọn số lượng thuộc tính có ước lượng trung bình cao nhất, mong đợi mơ hình hóa xác chức thuộc tính khác Đầu bước tập thuộc tính (mục), mà nhập liệu bước cho người dùng khởi đầu nguội Đầu vào: Tập liệu với thông tin người dùng tương đồng với CS-user mục, giá trị đánh giá 27 Đầu ra: Lựa chọn thuộc tính có liên quan loại bỏ thuộc tính thừa Các bước tiến hành: Tính theo độ lệch tiêu chuẩn Đọc file liệu đầu vào, file truy xuất từ bước Tính giá trị trung bình lần 1, loại bỏ giá trị hỗ trợ Tính độ lệch tiêu chuẩn giá trị đánh giá thuộc tính theo công thức So sánh rating với ngưỡng để chọn thuộc tính cịn lại liên quan với CS-user Truy xuất liệu file bao gồm ID người dùng tương đồng, ID item liên quan, giá trị đánh giá Rating: Id_user, Id_item, Rating 3.2.3 Tính tốn giá trị cịn thiếu Trong bước thứ ba, ta sử dụng bốn chiến lược khác để tính tốn giá trị cịn thiếu cho người dùng trạng thái khởi đầu nguội Đầu vào cho bước tập thuộc tính có liên quan chọn từ bước trước người dùng khởi đầu nguội có giá trị cịn thiếu Các giá trị cần tính toán sở cho ma trận user-item mơ hình, bước sử dụng ma trận nhân tử Các chiến lược tính tốn giá trị thiếu cho CS-user đề xuất là: • ME (giá trị trung bình): phép tính giá trị trung bình thuộc tính Sau chọn thuộc tính phù hợp từ người tương đồng với CSuser, ta tính trung bình giá trị điền vào cho CS-user • MF (thường xuyên nhất): gán trị giá trị thường xuyên thuộc tính Ta xét mức độ xuất giá trị thuộc tính, ví dụ phim có nhiều người dùng đánh giá điểm, ta lấy giá trị để gán cho vị trí cịn bị thiếu CS-user • LR (hồi quy tuyến tính) RT (cây hồi quy): hai mơ hình học giám sát (hồi quy tuyến tính hồi quy) dự đốn thuộc tính, chọn để nhập, sử dụng tất thuộc tính đầu vào sẵn có Các mơ hình xây dựng giá trị biết ví dụ gần chọn (khơng trạng thái 28 khởi đầu nguội) sử dụng để nhập vào giá trị thuộc tính bị thiếu cho mẫu trạng thái khởi đầu nguội Đầu vào: Tập thuộc tính giá trị đánh giá người dùng tương đồng (truy xuất bước số 2) Vị trí thuộc tính cịn bị thiếu giá trị đánh giá CS-user Đầu ra: Các giá trị đánh giá bị thiếu CS-user điền giá trị Các bước tiến hành: Thực theo chiến lược giá trị trung bình ME Đọc giá trị từ file truy xuất bước 2 Xét thứ tự thuộc tính (mục), mục có giá trị tổng biến đếm khởi tạo với giá trị a Thực duyệt qua hàng, thuộc tính lựa chọn, tổng = tổng + rating, đếm = đếm +1; b Tính giá trị trung bình mục duyệt Gán giá trị trung bình thuộc tính cho vị trí thiếu CS-user Truy xuất liệu: người dùng, mục, đánh giá, với giá trị đánh giá bị thiếu bổ sung Đây nguyên liệu cho bước cuối cùng, sử dụng Ma trận nhân tử 3.2.4 Tư vấn sử dụng ma trận nhân tử Trong nghiên cứu này, ta sử dụng thuật ma trận nhân tử khác độ xác tương đối ma trận ban đầu (bao gồm người dùng trạng thái khởi đầu nguội) ma trận nhập giá trị Các thuật tốn ma trận nhân tử sử dụng là: ● NG[5] (Non-negative matrix factorization with stochastic Gradient descent) ma trận nhân tử không âm với gradient ngẫu nhiên giảm dần: thuật toán lặp qua tất đánh giá tồn ma trận đầu vào Đối với mức đánh giá tại, hệ thống tính tốn dự đốn lỗi dự đốn liên quan, đầu vào để sửa đổi tham số theo cường độ tỷ lệ với tỷ lệ học hướng đối nghịch gradient Ưu điểm thuật tốn phù hợp với ma trận thưa thớt Nhược điểm, cách tiếp cận tốn nhiều thời gian sử dụng với ma trận lớn [5] 29 ● NS[11] (Non-negative matrix factorization with alternating least Squares) ma trận nhân tử không âm với vng xen kẽ nhỏ nhất: thuật tốn lặp pha, xác định hai hệ số ma trận, tính tốn khác, ngược lại hội tụ Cách tiếp cận không hiệu ma trận thưa thớt, thuật tốn tồn ma trận nhân tử khơng lặp lại qua đánh giá định, chẳng hạn độ dốc gradient ● SN[9] (Semi-Nonnegative matrix factorization with missing data) ma trận nhân tử bán không âm với liệu thiếu: để xử lý liệu bị mất, ta sử dụng phần mở rộng hệ số ma trận bán-âm không (SNMF)[9] SNMF lặp lại việc cập nhật hệ số ma trận cho người dùng mục cách sử dụng phần tách biệt dương âm ma trận mặt hàng Theo SNMF thơng thường, thuật tốn SN tính tốn ma trận có trọng số ('0' liệu bị '1' cho liệu hợp lệ) Thuật tốn lựa chọn tốt cho NG nhanh xử lý ma trận lớn với số lượng lớn đánh giá Đầu vào: bước Ma trận liệu huấn luyện, ma trận xây dựng Đầu ra: Các đánh giá cá nhân cho người dùng chưa đánh giá ma trận Các bước tiến hành: NG - Ma trận nhân tử không âm với gradient ngẫu nhiên giảm dần Đọc liệu đầu vào, thiết lập tham số cho ma trận numFactor (các yếu tố tiềm ẩn) iteratorMax(số lần lặp tối đa), (ngưỡng tối thiểu chấp nhận được) Khởi tạo ma trận thành phần P Q, ma trận với kỳ vọng R~P.Q Lặp với điều kiện: k

Ngày đăng: 03/08/2022, 08:01

Tài liệu cùng người dùng

Tài liệu liên quan