nghiên cứu phương pháp lọc cộng tác dựa trên ngữ nghĩa và ứng dụng xây dựng chương trình gợi ý địa điểm

72 1 0
  • Loading ...
1/72 trang

Thông tin tài liệu

Ngày đăng: 07/05/2020, 23:15

BỘ GIÁO DỤC VÀ ĐÀO TẠO LÂM VĂN ÂN VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN CÔNG NGHỆ THÔNG TIN NGHIÊN CỨU PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN NGỮ NGHĨA VÀ ỨNG DỤNG XÂY DỰNG CHƯƠNG TRÌNH GỢI Ý ĐỊA ĐIỂM LÂM VĂN ÂN 2013 – 2015 HÀ NỘI - 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ NGHIÊN CỨU PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN NGỮ NGHĨA VÀ ỨNG DỤNG XÂY DỰNG CHƯƠNG TRÌNH GỢI Ý ĐỊA ĐIỂM LÂM VĂN ÂN CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN MÃ SỐ: 60.48.02.01 NGƯỜI HƯỚNG DẪN KHOA HỌC: TS DƯƠNG THĂNG LONG HÀ NỘI - 2017 LỜI CAM ĐOAN Tôi xin cam đoan kết đạt luận văn sản phẩm riêng cá nhân hướng dẫn TS Dương Thăng Long không chép Những điều trình bày toàn nội dung luận văn, cá nhân tổng hợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có nguồn gốc rõ ràng trích dẫn hợp pháp Tơi xin hồn tồn chịu trách nhiệm theo quy định cho lời cam đoan Hà Nội, ngày 25 tháng 12 năm 2017 Học viên Lâm Văn Ân i LỜI CẢM ƠN Luận văn thực Viện Đại Học Mở Hà Nội hướng dẫn TS Dương Thăng Long Tôi xin gửi lời cảm ơn sâu sắc đến thầy định hướng, giúp đỡ, quan tâm tạo điều kiện thuận lợi suốt q trình nghiên cứu để hồn thành luận văn Tôi xin gửi lời cảm ơn đến thầy cô Khoa công nghệ thông tin mang lại cho kiến thức vơ q giá bổ ích q trình học tập trường Tôi xin gửi lời cảm ơn tới gia đình bạn bè ln quan tâm động viên giúp tơi có thêm nghị lực để hồn thành luận văn Do thời gian kiến thức có hạn nên luận văn khơng tránh khỏi thiếu sót Tơi mong nhận góp ý q báu thầy bạn Xin chân thành cảm ơn! Hà Nội, ngày 25 tháng 12 năm 2017 Học viên Lâm Văn Ân ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN .ii MỤC LỤC iii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v DANH SÁCH BẢNG vi DANH SÁCH HÌNH VẼ vii MỞ ĐẦU .1 CHƯƠNG 1: BÀI TOÁN LỌC CỘNG TÁC VÀ MỘT SỐ KỸ THUẬT BỔ TRỢ 1.1 Lọc cộng tác [1] 1.2 Một số phương pháp cho toán lọc cộng tác 1.2.1 Lọc cộng tác dựa nhớ 1.2.1.1 Phương pháp User-based 1.2.1.2 Phương pháp Item-Based .11 1.2.2 Lọc cộng tác dựa mơ hình 14 1.3 Một số vấn đề lọc cộng tác 17 1.4 Kết luận chương .19 CHƯƠNG 2: PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN NGỮ NGHĨA 21 2.1 Phương pháp đánh giá độ tương đồng ngữ nghĩa theo mơ hình LDA .21 2.1.1 Mơ hình tách từ vnTokenizer 21 2.1.2 Mơ hình LDA 23 2.2 Phương pháp lọc cộng tác dựa mơ hình LDA 27 2.2.1 Kỹ thuật lọc cộng tác dựa mơ hình 27 2.2.2 Phương pháp item-base có sử dụng mơ hình LDA 28 iii 2.3 Hệ thống gợi ý dựa phương pháp lọc LDA 30 2.4 Kết luận chương .33 CHƯƠNG 3: XÂY DỤNG ỨNG DỤNG VÀ THỬ NGHIỆM KẾT QUẢ .35 3.1 Bài toán ứng dụng phương pháp lọc cộng tác dựa ngữ nghĩa 35 3.2 Mơ hình cài đặt 41 3.2.1 Tương tác người dùng .44 3.2.2 Tính tốn gợi ý 44 3.2.3 Bộ đệm .45 3.2.4 Thiết kế sở liệu lưu trữ 47 3.2.5 Thử nghiệm kết 51 3.3 Kết luận chương .57 CHƯƠNG 4: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 58 4.1 Kết luận 58 4.2 Định hướng phát triển đề tài 58 TÀI LIỆU THAM KHẢO 60 PHỤ LỤC 62 iv DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Chữ viết tắt/ ký hiệu Cụm từ đầy đủ LDA Latent Dirichlet Allocation CF Collaborative Filtering CBF Content-based Filtering SBCF Semantic-based Collaborative Filtering IBCF Item-based Collaborative Filtering v DANH SÁCH BẢNG Bảng 1.1 Ví dụ ma trận đánh giá lọc cộng tác .5 Bảng 1.2 Ma trận đánh giá lọc cộng tác 17 Bảng 2.1 Tính độ tương đồng hai mục 28 Bảng 3.1 Môi trường, phần mềm thư viện hỗ trợ 45 vi DANH SÁCH HÌNH VẼ Hình 1.1 Các thành phần hệ thống lọc cộng tác Hình 1.2 Các bước thực lọc cộng tác người dùng Hình 1.3 Các bước thực lọc cộng tác mục 12 Hình 2.1 Mơ hình xử lý thơng tin vnTokenizer hệ thống 21 Hình 2.2 Mơ hình xử lý liệu LDA model .24 Hình 2.3 Mơ hình module đánh giá 30 Hình 3.1 Mơ hình kiến trúc hệ thống .42 Hình 3.2 Mơ hình cài đặt hệ thống 43 Hình 3.3 Biểu đồ sở liệu 47 Hình 3.4 Biểu diễn liệu sau bước tiền xử lý .53 Hình 3.5 Giao diện trang chủ chưa đăng nhập 55 Hình 3.6 Giao diện trang chủ đăng nhập .55 Hình 3.7 Giao diện tìm kiếm 56 Hình 3.8 Giao diện trang yêu thích 56 Hình 3.9 Giao diện trang chi tiết - đánh giá .57 vii MỞ ĐẦU Ngày nay, với tăng trưởng bùng nổ công nghệ thông tin, đặc biệt Internet, nhiều thông tin liệu phổ biến qua môi trường Với lượng liệu khổng lồ, thách thức không nhỏ người dùng mong muốn tìm kiếm thơng tin từ khắp kho lữu trữ toàn giới Điều thường gọi vấn đề tải thông tin hạn chế khả xử lý thơng tin người Do đó, hệ thống gợi ý đời, nhằm hỗ trợ người dùng việc lấy thơng tin hữu ích cách hiệu trường hợp người dùng khơng thể mơ tả yêu cầu họ cách xác Hệ thống đề nghị người dùng thông tin mong muốn cách phân tích sở thích trước họ sở thích người có đặc điểm chung với họ Đề tài tốt nghiệp nhằm xây dựng hệ thống gợi ý địa điểm cho người dùng phạm vi thành phố Hà Nội Hệ thống sử dụng kỹ thuật lọc tiếp cận lai, gọi kỹ thuật lọc cộng tác dựa ngữ nghĩa SBCF (semantic-based collaborative filtering) Cụ thể hơn, kỹ thuật sử dụng mơ hình LDA (Latent Dirichlet Allocation) để phân tích đặc trưng ngữ nghĩa liệu mơ tả địa điểm, sau sử dụng phương pháp lọc cộng tác dựa tài liệu (item-based Collaborative Filtering) đánh giá đặc điểm ngữ nghĩa thu từ mơ hình LDA, từ đưa tập thơng tin gợi ý có độ tương đồng ngữ nghĩa cao với thông tin mà người dùng u thích q khứ Các thơng tin tính toán đặc trưng ngữ nghĩa địa điểm du dịch trình bày đoạn text mô tả địa điểm lấy từ liệu Bộ liệu sử dụng cho hệ thống gợi ý địa điểm du lịch lấy Google Places API Nội dung luận văn trình bày chương, bao gồm:  Chương 1: Lọc cộng tác số kỹ thuật bổ trợ  Chương 2: Trình bày phương pháp lọc cộng tác Bảng diadiem: lưu trữ thông tin địa điểm Diadiem STT TÊN TRƯỜNG KIỂU DỮ LIỆU GHI CHÚ id Integer(11) Primary key name Varchar(128) category_id Integer(11) city_id Integer(11) location Varchar(128) latitude Double longitude Double description Text Bảng rating: dùng để lưu trữ địa điểm mà người dùng thích rating (user_id, diadiem_id) user_id: integer(11) diadiem_id: integer(11) Rating STT TÊN TRƯỜNG KIỂU DỮ LIỆU GHI CHÚ user_id Integer(11) Primary key Diadiem_id Integer(11) 49 Bảng members: dùng để lưu trữ thông tin người dùng Members STT TÊN TRƯỜNG KIỂU DỮ LIỆU GHI CHÚ id Integer(11) Primary key username Varchar(128) password Varchar(32) Email Varchar(255) URLS Varchar(255) name Varchar(255) birthday Varchar(255) 50 3.2.5 Thử nghiệm kết Để khởi động hệ thống gợi ý cần khởi chạy qua module chính:  Module tiền xử lý liệu, tách từ vnTokenizer  Module phân tích ngữ nghĩa, mơ hình LDA  Module gợi ý, đưa danh sách gợi ý Tập liệu sử dụng hệ thống bao gồm 4278 địa điểm thu thập từ hệ thống cung cấp dịch vụ địa điểm Google Places Tập liệu phân bố theo chủ đề chính: - Ẩm thực (657) - Khách sạn (275) - Mua sắm (782) - Giải trí (239) - Du lịch (789) - Làm đẹp (444) - Tài Chính (680) - Y tế (412) Các chủ đề phân loại sẵn, giúp hệ thống có gợi ý xác với nhu cầu người dùng 51 Bước 1: tiền xử lý liệu Dữ liệu đầu vào module trường mô tả địa điểm bảng liệu địa điểm sở liệu Để lấy liệu từ MySQL môi trường Java, ta sử dụng giao thức ODBC: Sau có liệu, ta sử dụng thư viện vnTokenizer 4.1.1 để tách từ, loại bỏ từ dừng, ký tự đặc biệt Dữ liệu sau tách từ lưu lại thành file data.txt liệu có cấu trúc sau: [M] [motadiadiem1] [motadiadiem2] [motadiadiemM] Trong đó: M: số địa điểm tập liệu motadiadiemi: địa điểm thứ i tập liệu, mô tả địa điểm biểu diễn dòng, dòng tập từ biểu diễn cho địa điểm đó, phân cách giữ từ khoảng trắng [motadiadiemi] = [wordi1] [wordi2] [wordiNi] 52 Hình phần liệu file data.txt: Hình 3.4: Biểu diễn liệu sau bước tiền xử lý 53 Bước 2: LDA Model Dữ liệu đầu vào mơ hình LDA file data.txt tổng hợp từ bước tiền xử lý liệu Ta sử dụng thư viện JGibbLDA thầy Phan Xuân Hiếu để tìm ma trận θ phân phối chủ đề ẩn địa điểm Để sử dụng JGibbLDA, ta cần cung cấp số thông tin tham số sau: - Đường dẫn đến file data.txt - Đường dẫn folder output - Số topic K = 100 - α = 50/K (mặc định) - β = 0.1 - số vòng lặp lấy mẫu: 1000 Sau thực thuật toán lấy mẫu thực thi xong, ta có hai ma trận θ φ hai file có tên “model-final.theta” “model-final.phi” folder output mà ta cung cấp trước Bước 3: tính tốn gợi ý Từ ma trận θ thu từ bước xử lý LDA, ta xây dựng hàm lấy liệu ma trận đó, gọi hàm loadMatrixTheta, hàm lấy liệu lưu lại dạng TreeMap(Phụ lục 2) Từ liệu thu được, ta biểu diễn địa điểm sở liệu array giá trị phân bố xác suất chủ đề Với người dùng sở liệu, lấy hai mảng địa điểm, mảng chứa id địa điểm người dùng thích, mảng lại chứa id địa điểm người dùng chưa biết đến Với địa điểm mà người dùng chưa biết đến, ta tính tốn điểm số đánh giá khả người dùng quan tâm (bằng công thức độ tương đồng cosin vector biểu diễn phân bố xác suất chủ đề ẩn ứng với địa điểm) Từ đưa danh sách địa điểm có điểm số đánh giá cao người dùng Danh sách lưu vào sở liệu đưa cho người dùng người dùng tương tác với hệ thống 54 Giao diện chương trình Hình 3.5: Giao diện trang chủ chưa đăng nhập Hình 3.6: Giao diện trang chủ đăng nhập 55 Hình 3.7: Giao diện tìm kiếm Hình 3.8: Giao diện trang u thích 56 Hình 3.9: Giao diện trang chi tiết - đánh giá 3.3 Kết luận chương Như vậy, chương luận văn, trình bày khái qt tốn nghiên cứu góc độ tốn học Bên cạnh đó, tơi đưa mơ hình đề xuất tổng thể mà chúng tơi áp dụng để giải tốn Để kiểm chứng cho kết áp dụng phương pháp lọc cộng tác dựa ngữ nghĩa với mô hình nói trên, tơi trình bày q trình thu thập liệu, thiết kế hệ thống, tính tốn mơ hình gợi ý kết thu trình xây dựng ứng dụng thực nghiệm 57 CHƯƠNG 4: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 4.1 Kết luận Trong suốt q trình hồn thiện luận văn tốt nghiệp, nhờ tích cực tìm tòi thân cộng với giúp đỡ tận tình TS Dương Thăng Long nên đạt số kết sau: - Đã nắm bắt cách hệ thống gợi ý xây dựng làm việc - Tìm hiểu phương pháp lọc cộng tác dựa ngữ nghĩa - Nắm bắt cách hoạt động sử dụng tách từ tiếng Việt vnTokenizer - Nắm bắt mơ hình phân tích ngữ nghĩa dựa theo chủ đề ẩn LDA - Hoàn thành yêu cầu luận văn đề - Xây dựng hệ thống gợi ý địa điểm dành cho người dùng Tuy nhiên trình độ thời gian có hạn nên nhiều thiếu sót, ví dụ hệ thống gợi ý bị giới hạn phạm vi thành phố Hà Nội Bên cạnh đó, thiếu phần quản trị thành viên admin hệ thống tương tác, phần định hướng bổ sung tương lai 4.2 Định hướng phát triển đề tài Thứ mở rộng hệ thống gợi ý địa điểm phạm vi thành phố Hà Nội, cụ thể trước mắt số thành phố lớn TPHCM, Huế, Đà Nẵng vv… phục vụ nhu cầu phát triển, quảng bá du lịch cho tỉnh, thành phố lớn nước Giúp người dùng tiết kiệm thời gian việc chọn lựa địa điểm theo nhu cầu Thứ hai xây dựng hệ thống theo hướng module tích hợp với mạng xã hội, nơi người dùng có nhiều hoạt động nhu cầu thông tin liên quan đến địa điểm Dựa vào chia sẻ nhân sở thích người dùng, ta dễ dàng lấy liệu cần thiết cho việc đưa gợi ý mà không cần phải yêu cầu người dùng tham gia khảo sát hay đánh giá Đây định hướng tương lai hệ thống 58 Thứ ba nghiên cứu, áp dụng thêm phương pháp học bán giám sát vào đề tài Nhằm mục đích khắc phục nhược điểm tồn phương pháp lọc cộng tác gặp khó khăn người dùng liệu đánh giá thưa thớt, người dùng chưa có đánh giá sản phẩm, sản phẩm chưa người dùng đánh giá, giải vào vấn đề tồn lọc thơng tin cho hệ tư vấn vấn đề thưa liệu 59 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Nguyễn Duy Phương (2011) Luận án tiến sĩ công nghệ thông tin: “Phát triển số phương pháp lọc thông tin cho hệ tư vấn”, Trường ĐH Công Nghệ - ĐHQGHN [2] vnTokenizer - Vietnamese word segmentation, Le Hong Phuong, Faculty of Mathematics, Mechanics and Informatics, VNU University of Science, http://mim.hus.vnu.edu.vn/phuonglh/softwares/vnTokenizer, 2009 Tiếng Anh: [3] B M Kim, Q Li, C S Park, S G Kim, and J Y Kim A new approach for combining content-based and collaborative filters.J Intell Inf Syst., 27(1):79–91, 2006 [4] Bíró, I., Siklósi, D., Szabó, J., and Benczúr, A.A.(2009) Linked latent dirichlet allocation in web spam filtering Paper presented at the Proceedings of the 5th International Workshop on Adversarial Information Retrieval on the Web [5] Blei, D.M., Ng, A.Y., and Jordan, M.I (2003) Latent dirichlet allocation the Journal of machine Learning research, 3, 993-1022 [6] Francesco Ricci and Lior Rokach and Bracha Shapira, Introduction to Recommender Systems Handbook, Recommender Systems Handbook, Springer, 2011, page.1-35 [7] J Bao, Y Zheng, and M F.Mokel Location-based and preference-aware recomemnation using sparse geo-soical networking data InGIS, 2012 [8] Krestel, R., Fankhauser, P., and Nejdl, W (2009) Latent dirichlet allocation for tag recommendation Paper presented at the Proceedings of the third ACMconference on Recommender systems 60 [9] Nguyen Cam Tu, (2008) Hidden Topic Discovery Toward Classification And Clustering In Vietnamese Web Documents MSc thesis in Coltech of Technology, Viet Nam National University, Ha Noi, Viet Nam, 2008 [10] Te-Min Chang, LDA-based Personalized Document Recommendation, National Sun Yat-sen University, Kaohsiung, Taiwan, R.O.C., temin@mail.nsysu.edu.tw [11] Xuan Hieu Phan, Cam Tu Nguyen, “JGibbLDA: A Java Implementation of Latent Dirichlet Allocation (LDA) using Gibbs Sampling for Parameter Estimation and Inference” , http://jgibblda.sourceforge.net/ , 2008 61 PHỤ LỤC Giao thức ODBC public void connectMySql() throws Exception { try { // This will load the MySQL driver, each DB has its own driver Class.forName("com.mysql.jdbc.Driver"); // Setup the connection with the DB connect = DriverManager getConnection("jdbc:mysql://localhost:3306/travel?" + "user=root&password=&useUnicode=true&characterEncoding=utf8"); } catch (ClassNotFoundException | SQLException e) { throw e; } Hàm loadMatrixTheta //load matrix theta public void loadMatrixTheta() { try { System.out.println("Load matrix theta"); FileInputStream thetaIS = new FileInputStream(new File("D:/LocationRecommender/Resource/model-final.theta")); Scanner scanner = new Scanner(thetaIS); for (int i = 0; i < ndocs; i++) { TreeMap temp = new TreeMap(); 62 for (int j = 0; j < ntopics; j++) { temp.put(j, scanner.nextDouble()); } itemTree.put(allItemID.get(i), temp); } } catch (FileNotFoundException ex) { Logger.getLogger(LDAbasedCF.class.getName()).log(Level.SEVERE, null, ex); } } 63 ... chương, bao gồm:  Chương 1: Lọc cộng tác số kỹ thuật bổ trợ  Chương 2: Trình bày phương pháp lọc cộng tác  Chương 3: Xây dựng ứng dụng áp dụng phương pháp lọc cộng tác dựa ngữ nghĩa vào toán thực... LDA Phương pháp sử dụng đề xuất trình bày Chương  Nghiên cứu đề xuất sử dụng phương pháp lọc cộng tác LDA Mơ hình đề xuất trình bày Chương 20 CHƯƠNG 2: PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN NGỮ NGHĨA...BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ NGHIÊN CỨU PHƯƠNG PHÁP LỌC CỘNG TÁC DỰA TRÊN NGỮ NGHĨA VÀ ỨNG DỤNG XÂY DỰNG CHƯƠNG TRÌNH GỢI Ý ĐỊA ĐIỂM LÂM VĂN ÂN CHUYÊN
- Xem thêm -

Xem thêm: nghiên cứu phương pháp lọc cộng tác dựa trên ngữ nghĩa và ứng dụng xây dựng chương trình gợi ý địa điểm , nghiên cứu phương pháp lọc cộng tác dựa trên ngữ nghĩa và ứng dụng xây dựng chương trình gợi ý địa điểm

Gợi ý tài liệu liên quan cho bạn