Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý
TÓM TẮT — Hệ thống gợi ý thường tạo ra một danh sách các mục tin để gợi ý cho người dùng theo một trong hai cách: lọc dựa trên nội dung (content-Based filtering) và lọc cộng tác (collaborative filtering). Lọc dựa trên nội dung là hướng tiếp cận căn cứ vào việc phân tích đặc trưng trên nội dung của các mục tin mà người dùng đã chọn trong quá khứ và hệ thống thực hiện gợi ý cho người dùng những mục tin có đặc trưng nội dung tương tự. Lọc cộng tác là hướng tiếp cận dựa trên nhóm người dùng đã từng chọn những mục tin giống người dùng cần gợi ý để xác định những mục tin cần giới thiệu với người này. Những hướng tiếp cận này chỉ sử dụng dữ liệu có sẵn để xây dựng các mô hình dự đoán. Trên thực tế, tồn tại những hệ thống gợi ý chưa sẵn có hoặc chưa đủ dữ liệu để huấn luyện cho mô hình dự đoán. Điều này cũng là một trong những nguyên nhân làm giảm độ chính xác của các kết quả gợi ý. Trong bài viết này chúng tôi giới thiệu giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý. Phương pháp này là sự kết hợp giữa kỹ thuật gợi ý truyền thống và phân tích mối quan hệ ngữ nghĩa của những mục tin trong hệ thống được lưu trữ bằng Ontology. Thông qua mô hình ngữ nghĩa, chúng tôi tiến hành suy diễn dữ liệu nhằm tăng thêm dữ liệu huấn luyện cho các mô hình dự đoán. Thực nghiệm cho thấy với việc tích hợp ngữ nghĩa để suy diễn thêm dữ liệu, các mô hình cho kết quả dự đoán chính xác hơn so với chỉ sử dụng dữ liệu sẵn có
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý
e_title(movie_year)::genre| genre|genre|] - Ratings.dat (10,000 rates): [user_id::movie_id::rating::rating_timestamp] Tập dữ liệu sử dụng trong bài viết này chúng tôi đề xuất sử dụng tập MovieTweetings 10K; với thông tin cơ bản như bảng trên; với đánh giá được gán từ 110; Tuy nhiên để có thể sử dụng được tập dữ liệu này cần thiết phải chuẩn hoá cấu trúc tập tin Items.dat làm đầu vào cho mô hình xử lý. - Tập dữ liệu Restaurant & Consumer data (RCData): được cung cấp bởi: Rafael Ponce Medellín, Juan Gabriel González Serna và Blanca Vargas-Govea, bộ môn khoa học máy tính, Trung tâm Nghiên cứu và Phát triển Chiến lược Quốc gia CENIDET (México) lưu trữ tại địa chỉ https://archive.ics.uci.edu/ml/machine-learning- databases/00232/ Tập dữ liệu này được thu thập từ một phần của hệ thống gợi ý Nhà hàng theo đánh giá của khách hàng tại các thành phố trên đất nước México, mục tiêu tạo ra một danh sách Ntop nhà hàng tốt nhất theo bình chọn của khách hàng. Tập dữ liệu này đã được thử nghiệm bằng 2 phương pháp: Lọc cộng tác và ngữ cảnh, cụ thể: → Kỹ thuật lọc cộng tác chỉ sử dụng 1 tập tin rating_final.csv. Tiếp cận theo hướng ngữ cảnh thì sử dụng 8 tập tin còn lại trong tập dữ liệu. Để đánh giá giải thuật, trong phạm vi bài viết này chỉ sử dụng 2 tập tin trong tập dữ liệu, cụ thể: * Cấu trúc của tập dữ liệu RCData: - rating_final.csv (1,161 rates): [userID, placeID, rating, food_rating, service_rating] - geoplaces2.csv (130 lines): [placeID, latitude, longitude, the_geom_meter, name, address, city, state, country, fax, zip, alcohol, smoking_area, dress_code, accessibility, price, url, Rambience, franchise, area, other_services] Các thuộc tính thuộc các miền giá trị cụ thể như sau: - alcohol [No_Alcohol_Served, Wine_Beer, Full_Bar] - smoking_area [none, only_at_bar, permitted, section, not_permitted] - dress_code [informal, casual, formal] - accessibility [no_accessibility, completely, partially] - price [medium, low, high] - rambience [familiar, quiet] - franchise [t, f] - area [open, closed] - other_services [none, internet, variety] 196 GIẢI PHÁP TÍCH HỢP XỬ LÝ NGỮ NGHĨA VÀO HỆ THỐNG GỢI Ý Từ cấu trúc tập tin geoplaces2.csv như trên ta nhận thấy có 09 thuộc tính phụ thuộc miền giá trị; nhận định điều này nhằm mục đích: để có thể sử dụng được mô hình Ontology như Hình 2 trên tập tin dữ liệu này thì cần thiết phải chuẩn hoá các giá trị thuộc miền của các thuộc tính thành các [Publicproperties] của mục tin, tức là các placeID trong tập dữ liệu này và tương tự khi sử dụng các tập dữ liệu khác (nếu có). b. Các độ đo dùng trong thực nghiệm Trong thực nghiệm, chúng tôi sử dụng 2 độ đo lỗi thường được các nhà nghiên cứu trong lĩnh vực RSs hay sử dụng để so sánh giải thuật, đó là các độ đo lỗi: Root Mean Squared Error (RMSE) và Mean Absolute Error (MAE); Trong đó, độ đo MAE dùng trong dự đoán mục tin (Item Prediction) và RMSE dùng trong dự đoán xếp hạng (Rating Prediction) [Gunawardana, A và Shani, G, 2009]. Đặc biệt, độ đo lỗi RMSE cũng là độ đo chuẩn được sử dụng trong các kỳ thi của hội nghị kDD Cup về khai thác dữ liệu - khám phá tri thức; Cả 2 độ đo này phù hợp với lĩnh vực nghiên cứu mà chúng tôi đề xuất; Theo nghiên cứu của các tác giả [Chai, T., Draxler, R.R.R, 2014] cho rằng không có phương pháp đánh giá nào là chính xác tuyệt đối trên các giải thuật vì thế các tác giả đề xuất rằng: để đánh giá độ lỗi của giải thuật gợi ý trên dữ liệu dạng offline các nhà nghiên cứu nên sử dụng cả 2 độ đo lỗi RMSE và MAE; Để kết quả đánh giá các mô hình mang tính chính xác và thuyết phục hơn, chúng tôi đề xuất dùng nghi thức kiểm tra ―3-fold cross validation‖ [Geisser, Seymour, 1993 và Kohavi, Ron, 1995] với các độ đo lỗi RMSE và MAE nêu trên, cụ thể như sau: RMSE (Root Mean Squared Error) RMSE là độ đo phổ biến mà cộng đồng người dùng trong lĩnh vực máy học thường sử dụng, kể cả trong các kỳ thi giải thuật của RSs; Mặc dù có nhiều phương pháp khác nhau mà chúng ta có thể sử dụng để đánh giá giải thuật gợi ý như: F-Meansure, Area Under the ROC curve (AUC), với mỗi phương pháp đánh giá sẽ thích hợp cho từng lĩnh vực cụ thể (ví dụ: F-Meansure và AUC được dùng trong truy tìm thông tin và phân lớp; MAE dùng trong dự đoán mục tin và RMSE dùng trong dự đoán xếp hạng [Gunawardana, A và Shani, G, 2009]); RMSE được xác định bằng công thức: Trong đó: Dtest U × I × R là tập dữ liệu kiểm thử; U: tập người dung (user); I: Tập item; rui: giá trị thực tế; rˆui : giá trị dự đoán. Độ đo MAE (mean absolute error) MAE là một đại lượng dùng để đo cường độ trung bình của các sai số trong một tập hợp các dự báo, mà không xem xét hướng của chúng, công thức MAE cụ thể như sau: Trong đó, các ký hiệu được mô tả như sử dụng trong RMSE. c. Kết quả thực nghiệm Bảng 1. Kết quả đánh giá độ lỗi trên các tập dữ liệu chuẩn Các tập dữ liệu Các độ đo đánh giá RMSE error MAE error OldData SemData OldData SemData MovieLens 100k 1,1181 1,0635 0,8805 0,8475 MovieTweetings 10k 2,9434 2,0489 2,1949 1,5440 RCData 2,6314 2,3415 2,0809 1,8785 Bảng 1. Trình bày kết quả chạy thực nghiệm trên 3 tập dữ liệu chuẩn bằng giải thuật User-kNN (k=50) với các tập dữ liệu (tập kiểm tra – tập huấn luyện) có số lượng mẫu tin và độ lỗi cụ thể như sau: * Tập dữ liệu MovieLens 100k ta có: tập kiểm tra: 29.942 mẫu tin; OldData: tập huấn luyện: 70.058 mẫu tin; SemData: tập huấn luyện: 897.098 mẫu tin; với cùng tập kiểm tra, độ lỗi RMSE của OldData và SemData tương ứng 1,1181 và 1,0635 và lỗi MAE tương ứng là 0,8805 và 0,8475. * Tập dữ liệu MovieTweetings 10k ta có: tập kiểm tra: 2.569 mẫu tin; OldData: tập huấn luyện: 7.431 mẫu tin; SemData: tập huấn luyện: 307.158 mẫu tin; với cùng tập kiểm tra, độ lỗi RMSE của OldData và SemData tương ứng 2,9434 và 2,0489 và lỗi MAE tương ứng là 2,1949 và 1,5440. Huỳnh Thanh Tài, Nguyễn Hữu Hoà, Huỳnh Minh Trí, Nguyễn Thái Nghe 197 * Tập dữ liệu RCData ta có: tập kiểm tra: 336 mẫu tin; OldData: tập huấn luyện: 825 mẫu tin; SemData: tập huấn luyện: 3.421 mẫu tin; với cùng tập kiểm tra, độ lỗi RMSE của OldData và SemData tương ứng 2,6314 và 2,3415 và lỗi MAE tương ứng là 2,0809 và 1,8785. Để trực quan cho kết quả thực nghiệm trình bày trong Bảng 1, chúng tôi tiến hành xây dựng biểu đồ so sánh kết quả Hình 7 như sau: Hình 7. So sánh độ lỗi RMSE trên mô hình đề xuất (SemData) và phương pháp truyền thống (OldData) * Nhận xét: Qua biểu đồ Hình 7. thể hiện độ lỗi RMSE trên các tập dữ liệu trong 2 trường hợp: OldData (hệ thống khi không kết hợp xử lý ngữ nghĩa) và SemData (hệ thống khi kết hợp xử lý ngữ nghĩa) nhận thấy: - Tập dữ liệu MovieLens 100k: độ lỗi RMSE trên OldData là: 1,1181; và SemData là: 1,0635; → Mô hình tích hợp ngữ nghĩa có độ lỗi RMSE giảm 0,0546 so với mô hình không tích hợp ngữ nghĩa; - Tập dữ liệu Movietweeting 10k: độ lỗi RMSE trên OldData là: 2,9434; và SemData là: 2,0489; → Mô hình tích hợp ngữ nghĩa có độ lỗi RMSE giảm 0,8945 so với mô hình không tích hợp ngữ nghĩa; - Tập dữ liệu RCData: độ lỗi RMSE trên OldData là: 2,6314; và SemData là: 2,3415; → Mô hình tích hợp ngữ nghĩa có độ lỗi RMSE giảm 0,2988 so với mô hình không tích hợp ngữ nghĩa; Tổng quan trên 3 tập dữ liệu: độ đo lỗi RMSE trên dữ liệu khi kết hợp xử lý ngữ nghĩa (SemData) thấp hơn so với dữ liệu khi không kết hợp xử lý ngữ nghĩa (OldData); Đặc biêt, ta nhận thấy độ lỗi của tập dữ liệu MovieTweeting và RCData khá cao trên cả 2 tập dữ liệu OldData và SemData do nguyên nhân mỗi người dùng đánh giá cho các mục tin trong tập dữ liệu huấn luyện ít, vì thế độ lỗi của mô hình sẽ ở mức cao. Hình 8. So sánh độ lỗi MAE trên mô hình đề xuất (SemData) và phương pháp truyền thống (OldData) * Nhận xét: Qua biểu đồ Hình 8, thể hiện độ lỗi MAE trên các tập dữ liệu trong 2 trường hợp: OldData (hệ thống khi không kết hợp xử lý ngữ nghĩa) và SemData (hệ thống khi kết hợp xử lý ngữ nghĩa) nhận thấy: - Tập dữ liệu MovieLens 100k: độ lỗi MAE trên OldData là: 0,7188; và SemData là: 0,7823; → Mô hình tích hợp ngữ nghĩa có độ lỗi MAE tăng 0,0635 so với mô hình không tích hợp ngữ nghĩa; Nguyên nhân độ lỗi MAE của mô hình tích hợp tăng cùng nguyên nhân của độ lỗi RMSE trình bày bên trên. MovieLens MovieTweetings Restaurant & Consumer data OldData 1.1181 2.9434 2.6314 SemData 1.0635 2.0489 2.3415 1.1181 2.9434 2.6314 1.0635 2.0489 2.3415 0.0000 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 RMSE Error MovieLens MovieTweetings Restaurant & Consumer data OldData 0.8805 2.1949 2.0809 SemData 0.8475 1.5440 1.8785 0.8805 2.1949 2.0809 0.8475 1.5440 1.8785 0.0000 0.5000 1.0000 1.5000 2.0000 2.5000 MAE Error 198 GIẢI PHÁP TÍCH HỢP XỬ LÝ NGỮ NGHĨA VÀO HỆ THỐNG GỢI Ý - Tập dữ liệu Movietweeting 10k: độ lỗi MAE trên OldData là: 2,0970; và SemData là: 1,5978; → Mô hình tích hợp ngữ nghĩa có độ lỗi MAE giảm 0,4992 so với mô hình không tích hợp ngữ nghĩa; - Tập dữ liệu RCData: độ lỗi MAE trên OldData là: 1,2981; và SemData là: 1,2860; → Mô hình tích hợp ngữ nghĩa có độ lỗi MAE giảm 0,0121 so với mô hình không tích hợp ngữ nghĩa; Tổng quan trên 3 tập dữ liệu: độ đo lỗi MAE trên dữ liệu khi kết hợp xử lý ngữ nghĩa (SemData) thấp hơn so với dữ liệu khi không kết hợp xử lý ngữ nghĩa (OldData); Đặc biệt, ta nhận thấy độ lỗi của tập dữ liệu MovieTweeting khá cao trên cả 2 tập dữ liệu OldData và SemData cùng nguyên nhân tương tự như RMSE; Nhận định tổng quan trên kết quả thực nghiệm: Nhìn chung kết quả chạy thực nghiệm trên các tập dữ liệu khẳng định tính khả thi của mô hình tích hợp ngữ nghĩa vào hệ thống gợi ý mà chúng tôi đề xuất, thực nghiệm trên 3 tập dữ liệu với giải thuật User-kNN (k=50) chứng minh độ lỗi của mô hình gợi ý tích hợp do chúng tôi đề nghị thấp hơn so với mô hình truyền thống (không kết hợp xử lý ngữ nghĩa) kể cả 2 độ đo lỗi RMSE và MAE. V. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Nghiên cứu này đề xuất giải pháp tích hợp mô hình ngữ nghĩa vào hệ thống gợi ý. Phương pháp này có thể khai thác các điểm tương đồng ngữ nghĩa khi thực hiện gợi ý cho những tình huống cụ thể, sử dụng kết quả của các kỹ thuật gợi ý hiện tại và tương đồng ngữ nghĩa về mặt nội dung của mục tin lưu trữ bằng Ontology để thực hiện gợi ý cho người dùng sử dụng hệ thống. Từ kết quả thực nghiệm trên các tập dữ liệu chuẩn cho thấy mô hình tích hợp chúng tôi đề xuất có độ lỗi thấp hơn so với phương pháp truyền thống. Việc ứng dụng mô hình tích hợp này vào các hệ thống gợi ý với đối tượng gợi ý cho người dùng là những mục tin có chia sẽ thuộc tính là hoàn toàn khả thi. Nghiên cứu tiếp theo sẽ ứng dụng giải pháp tích hợp ngữ nghĩa vào hệ thống gợi ý để giải quyết tình trạng ―khởi đầu lạnh‖ của hệ thống gợi ý. TÀI LIỆU THAM KHẢO [1]. Blanco-Fernández, Y. et al. 2008. A flexible semantic inference methodology to reason about user preferences in knowledge- based recommender systems. Knowledge-Based Systems 21 (4), 305-320. [2]. C. Fellbaum, editor. WordNet: An Electronic Lexical Database. MIT Press, Cambridge, MA, 1998. [3]. Celma, O. and Serra, X. 2008. FOAFing the music: Bridging the semantic gap in music recommendation. Web Semantics: Science, Services and Agents on the World Wide Web 6 (4), 250-256. [4]. Craven, M. DiPasquo, D. Freitag, D. McCallum, A. Mitchell, T. Nigam K. and Slattery, S. Learning to Extract Symbolic Knowledge from the World Wide Web, Proceedings of the 15th National Conference on Artificial Intelligence (AAAI-98), 1998. [5]. F. Frasincar, J. Borsje, and L. Levering. A Semantic Web-Based Approach for Building Personalized News Services. International Journal of E-Business Research, 5(3):35–53, 2009. [6]. Guarino, N., Masolo, C. and Vetere, G. OntoSeek: Content-Based Access to the Web, IEEE Intelligent Systems, Vol. 14,No. 3, May/June 1999. [7]. H. Cunningham. GATE, a General Architecture for Text Engineering. Computers and the Humanities, 36:223–254, 2002. [8]. Maidel, V., Shoval, P., Shapira, B., Taieb-Maimon, M. 2008. Evaluation of an ontology-content based filtering method for a personalized newspaper. RecSys'08: Proceedings of the 2008, 91-98. [9]. Middleton, N. R. Shadbolt, and D. C. D. Roure. Ontological User Profiling in Recommender Systems. ACM Transactions on Information Systems, 22(1):54–88, 2004. [10]. Middleton, Stuart E., Shadbolt, N.R. and De Roure, D.C. (2004) Ontological User Profiling in Recommender Systems. ACM Transactions on Information Systems (TOIS), 22, (1), 54-88. [11]. Middleton, S. E., De Roure, D. C., and Shadbolt, N.R.Capturing Knowledge of User Preferences: ontologies on recommender systems, In Proceedings of the First International Conference on Knowledge Capture (K-CAP 2001), Oct 2001, Victoria, B. C. Canada. [12]. Nguyễn Thái Nghe, Nguyễn Hùng Dũng (2014): Hệ thống gợi ý sản phẩm trong bán hàng trực tuyến sử dụng kỹ thuật lọc cộng tác. Tạp chí Khoa học Trường Đại học Cần Thơ, số 31a (2014), trang 36-51. ISSN: 1859-2333. [13]. Nguyễn Thái Nghe, Triệu Vĩnh Viêm, Triệu Yến Yến (2013): Xây dựng hệ thống gợi ý phim dựa trên mô hình nhân tố láng giềng. Số chuyên đề: Công nghệ Thông tin (2013): 170-179, Tạp chí Khoa học Trường Đại học Cần Thơ, ISSN: 1859-2333. [14]. Rocha, C., Schwabe, D., Aragao, M.P.: A hybrid approach for searching in the semantic web. In: Proceedings of the 13th international conference on World Wide Web, WWW 2004, New York, NY, USA (2004) 374–383 [15]. Vadivu, G., and Hopper, W.,―Ontology Mapping of Indian Medicinal Plants with Standardized Medical Terms‖, Journal of Computer Science, 8(9), pp.1576-1584, 2012. [16]. MovieTweeting dataset from and MovieTweetings dataset from https://github.com/sidooms/MovieTweetings/ [17]. Restaurant & consumer dataset: https://archive.ics.uci.edu/ml/machine-learning-databases/00232/ Huỳnh Thanh Tài, Nguyễn Hữu Hoà, Huỳnh Minh Trí, Nguyễn Thái Nghe 199 A SEMANTIC INTEGRATION APPROACH FOR RECOMMENDER SYSTEMS Huynh Thanh Tai, Nguyen Huu Hoa, Huynh Minh Tri, Nguyen Thai Nghe ABSTRACT — Recommender system (RS) often creates a list of recommendation items to users in one of two ways: content-based filtering and collaborative filtering. Content-based filtering is the approach based on specific analysis on the content of the items that the user has selected in the past and recommend for users of specific items with similar content. Collaborative filtering is an approach that uses groups of users who preferred the same items with the current user. All approaches above use available data to build prediction models. In this article, we introduce an approach to integrate semantic model into recommender systems. This approach can generate semantic data from the proposed Ontology model. Experimental results shows that, by using inferred data from the Ontology, the RS models can improve the prediction results. Keywords — Recommender systems, semantic web, integrated solutions, hybrid systems.
File đính kèm:
- giai_phap_tich_hop_xu_ly_ngu_nghia_vao_he_thong_goi_y.pdf