Bài viết 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ó.
Kỷ yếu Hội nghị Khoa học Quốc gia lần thứ IX “Nghiên cứu ứng dụng Công nghệ thông tin (FAIR'9)”; Cần Thơ, ngày 4-5/8/2016 DOI: 10.15625/vap.2016.00024 GIẢI PHÁP TÍCH HỢP XỬ LÝ NGỮ NGHĨA VÀO HỆ THỐNG GỢI Ý Huỳnh Thanh Tài1, Nguyễn Hữu Hoà1, Huỳnh Minh Trí2, Nguyễn Thái Nghe1 Khoa Cơng nghệ Thơng tin & Truyền thông, trường Đại học Cần Thơ Khoa Công nghệ Thông tin, trường Đại học Kiên Giang httaik21@gmail.com, nhhoa@ctu.edu.vn, hmtri@vnkgu.edu.vn, ntnghe@cit.ctu.edu.vn TÓM TẮT — Hệ thống gợi ý thường tạo danh sách mục tin để gợi ý cho người dùng theo hai cách: lọc dựa nội dung (content-based filtering) lọc cộng tác (collaborative filtering) Lọc dựa nội dung hướng tiếp cận vào việc phân tích đặc trưng nội dung mục tin mà người dùng chọn khứ hệ thống thực gợi ý cho người dùng mục tin có đặc trưng nội dung tương tự Lọc cộng tác hướng tiếp cận dựa nhóm người dùng chọn mục tin giống người dùng cần gợi ý để xác định mục tin cần giới thiệu với người Những hướng tiếp cận sử dụng liệu có sẵn để xây dựng mơ hình dự đoán Trên thực tế, tồn hệ thống gợi ý chưa sẵn có chưa đủ liệu để huấn luyện cho mơ hình dự đốn Điều nguyên nhân làm giảm độ xác kết gợi ý Trong viết 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 kết hợp kỹ thuật gợi ý truyền thống phân tích mối quan hệ ngữ nghĩa mục tin hệ thống lưu trữ Ontology Thơng qua mơ hình ngữ nghĩa, chúng tơi tiến hành suy diễn liệu nhằm tăng thêm liệu huấn luyện cho mơ hình dự đốn Thực nghiệm cho thấy với việc tích hợp ngữ nghĩa để suy diễn thêm liệu, mơ hình cho kết dự đốn xác so với sử dụng liệu sẵn có Từ khố — Hệ thống gợi ý, web ngữ nghĩa, gợi ý dựa ngữ nghĩa, liệu suy diễn I GIỚI THIỆU Việc sử dụng hệ thống gợi ý (recommender systems - RSs) phát triển nhanh chóng mạnh mẽ Những kỹ thuật gợi ý giúp người giải vấn đề tải thông tin lựa chọn thơng tin cách trình bày mục tin gợi ý phù hợp với sở thích người dùng Tuy nhiên, vấn đề thuật toán gợi ý gặp phải vấn đề thưa thớt liệu vấn đề mục tin thực khó đến với người dùng hệ thống Trong đó, phải kể đến việc hệ thống khơng có khả đưa gợi ý phù hợp thu thập đủ số lượng xếp hạng từ phía người dùng để huấn luyện cho mơ hình dự đốn Thực tế cho thấy, hệ thống gợi ý thường sử dụng kết hợp nhiều mơ hình dự đốn nhằm cải thiện độ xác, nâng cao tính hiệu quả, giảm thiểu lỗi cho mơ hình dự đốn xếp hạng Tuy nhiên, hướng tiếp cận nêu sử dụng liệu sẵn có để huấn luyện cho mơ hình dự đốn Với hệ thống chưa sẵn có liệu để huấn luyện, liệu thưa, người dùng mơ hình khơng có khả đưa dự đốn xác để gợi ý cho người dùng Bài viết đề xuất giải pháp tích hợp ngữ nghĩa vào hệ thống gợi ý Phương pháp kết hợp kỹ thuật gợi ý truyền thống phân tích mối quan hệ ngữ nghĩa mục tin hệ thống lưu trữ Ontology Ý tưởng tận dụng ưu phương pháp gợi ý truyền thống kết hợp với khai thác mối quan hệ ngữ nghĩa mục tin nhằm suy diễn thêm liệu để thực dự đoán, giúp hạn chế phần tình trạng liệu thưa thớt, trạng thái mục tin mới, người dùng từ nâng cao độ xác mục tin gợi ý cho người dùng Sau xây dựng mơ hình, chúng tơi tiến hành thực nghiệm tập liệu chuẩn nhằm xác định tính khả thi mơ hình đề xuất II NHỮNG NGHIÊN CỨU LIÊN QUAN Framework Hermes[5] công cụ cung cấp cách tiếp cận dựa ngữ nghĩa (semantic-based) để lấy tin tức liên quan trực tiếp gián tiếp Các khái niệm mà người dùng thích từ miền ontology gọi sở tri thức Hermes News Portal (HNP) chương trình Java cài đặt Framework Hermes[5], chương trình cho phép người sử dụng truy vấn tin tức xem thông tin khác HNP sử dụng thư viện Jena suy luận dựa ngôn ngữ ontology OWL Đối với truy vấn, HNP sử dụng SPARQL tSPARQL[5], Đồng thời, có thêm thông số thời gian để thực truy vấn Việc phân loại báo thực cách sử dụng GATE[7] WordNet[2] ngữ nghĩa từ vựng Nghiên cứu sử dụng độ đo IF-IDF hệ số tương tự Jaccard để tính tốn độ tương tự cho báo gợi ý cho người dùng Nghiên cứu [6] xây dựng hệ thống gợi ý tích hợp Quickstep[11] kết hợp AKT Ontology hệ thống OntoCoPI chứng minh cách tiếp cận tác giả để giảm ―khởi đầu lạnh‖ hệ thống Tác giả chứng minh việc sử dụng Ontology để khởi động cho hồ sơ người dùng làm giảm đáng kể tác động hệ thống gợi ý vấn đề ―khởi đầu lạnh‖ Quickstep hệ thống gợi ý lai (hybrid recommender system), giải vấn đề thực tế việc gợi ý báo khoa học trực tuyến để nhà nghiên cứu tìm thấy chúng Hành động duyệt web người dùng âm thầm giám sát thông qua máy chủ (proxy server) lần đăng nhập Một thuật toán láng giềng gần dùng để phân loại URL duyệt dựa tập liệu huấn luyện báo mẫu Hệ thống lưu trữ báo sở liệu trung tâm Các phản hồi tường minh URL duyệt thông tin lưu sở thích người dùng Nghiên cứu trước Quickstep sử dụng hồ sơ ban đầu GIẢI PHÁP TÍCH HỢP XỬ LÝ NGỮ NGHĨA VÀO HỆ THỐNG GỢI Ý 190 xây dựng tay, dựa liệu vấn để đối phó với vấn đề ―khởi đầu lạnh‖ hệ thống Tích hợp Quickstep với Ontology AKT làm tự động hóa q trình cho phép hạn chế tình trạng ―khởi đầu lạnh‖ thực tế với số lượng lớn người dùng Ontology sử dụng để cải thiện hiệu tìm kiếm dựa nội dung, OntoSeek Guarino, N., Masolo, C and Vetere [1999] Người sử dụng OntoSeek điều hướng từ ontology để xây dựng truy vấn Ontology sử dụng để tự động xây dựng sở tri thức từ trang web, chẳng hạn Web-KB Craven, M DiPasquo, D Freitag đồng [1998] Web-KB sử dụng phương pháp gán nhãn tay cho khái niệm tên miền áp dụng kỹ thuật máy học để phân loại trang web Trên sở nắm bắt thơng tin tự động sở thích người sử dụng phục vụ cho việc gợi ý Những hệ thống liên quan CiteSeer Bollacker, K.D., Lawrence, S., Giles [1998], tác giả sử dụng phương pháp tương tự dựa nội dung để giúp tìm kiếm tài liệu nghiên cứu khoa học thư viện kỹ thuật số thông qua độ đo tượng tự Jaccard TF-IDF gợi ý cho người dùng Ánh xạ Ontology như: Knowledge framework for Indian Medicinal Plants (KIMP): dự án quản lý tri thức thuốc Ấn Độ xây dựng từ cấu trúc Ontology thông qua giao diện người dùng U.S Medical Subject Heading (MeSH) thư viện Y khoa quốc gia nước Mỹ MeSH xây dựng nhằm quản lý từ vựng đồng nghĩa lĩnh vực y khoa, quản lý tập hợp thuật ngữ theo cấu trúc phân cấp (thứ bậc) cho phép tìm kiếm thuật ngữ cấp độ khác nhau, quản lý Ontology [Vadivu, G and S Waheeta Hopper 2012] [15] Ánh xạ KIMP MeSH thực tự động thông qua hệ số Jaccard JaroWinkler giúp xác định độ tương đồng cho thuật ngữ y khoa chuẩn; đồng thời, giúp cải thiện khả tái sử dụng phát mối quan hệ khái niệm Nhiều nghiên cứu tập trung vào khai thác ngữ nghĩa để nâng cao chất lượng cho kỹ thuật gợi ý họ Hầu hết số sử dụng phương pháp tương tự ngữ nghĩa (semantic similarity) để nâng cao hiệu suất phương pháp tiếp cận dựa nội dung (CB), có số hệ thống sử dụng phương pháp lọc cộng tác dựa hồ sơ người dùng lưu trữ Ontology Ví dụ: ePaper[8] hệ thống gợi ý báo khoa học, sử dụng mối quan hệ kế thừa khái niệm miền để tính tốn kết hợp khái niệm mơ tả mục tin khái niệm thu thập từ sở thích người dùng Dự án âm nhạc FOAFing[3] hệ thống gợi ý nhạc sử dụng tiêu chuẩn vocabulary2 FOAF để thiết lập hồ sơ người dùng khai thác mô tả ngữ nghĩa hát, chủ yếu mối quan hệ nghệ sĩ FOAF tìm hát tương tự thói quen nghe nhạc người dùng để thực gợi ý Một hệ thống gợi ý sử dụng phương pháp suy luận ngữ nghĩa hai giai đoạn trình gợi ý AVATAR[1] hệ thống gợi ý kênh truyền hình sử dụng phương pháp lan truyền ngược (upward-propagation) phương pháp tương tự ngữ nghĩa III GIẢI PHÁP ĐỀ XUẤT Trong phạm vi nghiên cứu này, đề xuất giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý; kỹ thuật kết hợp kỹ thuật gợi ý truyền thống (ví dụ: Thực nghiệm sử dụng kỹ thuật lọc cộng tác dựa người dùng k-NNs Collaborative Filtering) phương pháp suy diễn liệu ngữ nghĩa mục tin lưu trữ Ontology Ý tưởng từ mục tin mà người dùng đọc/xem, thơng qua mơ hình ngữ nghĩa chúng tơi xác định mục tin tương tự (điều có ưu điểm người dùng chí khơng cần phải thực thao tác đánh giá, xếp hạng phản hồi trở lại với hệ thống) Bằng việc sinh liệu suy diễn từ mơ hình ngữ nghĩa khắc phục tình trạng thiếu thơng tin từ phía người dùng, tình trạng liệu tình trạng liệu thưa mà hệ thống gợi ý gặp khó khăn Từ ý tưởng nêu trên, chúng tơi đề xuất mơ hình tích hợp sau: a Mơ hình tích hợp Hình Mơ hình tích hợp xử lý ngữ nghĩa vào Hệ thống gợi ý Huỳnh Thanh Tài, Nguyễn Hữu Hoà, Huỳnh Minh Trí, Nguyễn Thái Nghe 191 Mơ hình tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trình bày Hình Trong đó, trường hợp cần xử lý trình bày đây: * Trường hợp (người dùng mới/khách): Người dùng khơng có thơng tin hệ thống, tức khơng có UserID - Bước (gợi ý bản): Hệ thống trả Ntop mục tin gợi ý cho người dùng theo phương pháp xử lý ―truyền thống‖ Ntop mục tin người dùng thích nhất, hay bán chạy nhất – tuỳ vào mục tiêu cụ thể ứng dụng - Bước 2: Người dùng chọn xem đánh giá mục tin (mục tin kết bước người dùng tìm – tuỳ hệ thống thực tế) Hệ thống tiến hành xử lý tìm Ontology mục tin có tương tự mặt ngữ nghĩa (mục III.d) với mục tin người dùng thao tác; từ đó, trả Ntop mục tin có độ tương đồng cao gợi ý cho người dùng * Trường hợp (người dùng): Người dùng có thơng tin hệ thống, tức tồn UserID thông tin lịch sử (History data) - Bước 1: Hệ thống sử dụng giải thuật gợi ý ―truyền thống‖ (như lọc cộng tác dựa người dùng k-NNs Collaborative Filtering) để đưa gợi ý Ntop mục tin mà người dùng quan tâm - Bước 2: Người dùng chọn xem đánh giá mục tin (mục tin kết bước người dùng tìm – tuỳ hệ thống thực tế) Hệ thống tiến hành trình xử lý tìm Ontology mục tin có tương tự mặt ngữ nghĩa với mục tin người dùng thao tác; từ trả Ntop mục tin có độ tương đồng cao Đồng thời, kết hợp với kết bước trả Ntop mục tin gợi ý cho người dùng tuỳ vào ứng dụng cụ thể → Sự khác biệt chủ yếu trường hợp: Trong trường hợp 1: hệ thống chưa tồn thông tin người dùng, hệ thống sử dụng dự đoán để gợi ý bước bước không thực thao tác kết hợp kết dự đoán trả cho người dùng Trường hợp ngược lại, bước thực gợi ý theo phương pháp ―truyền thống‖ tuỳ vào hệ thống bước thực thao tác kết hợp kết bước trả cho người dùng b Giải pháp xây dựng Ontology lưu trữ liệu Để lưu trữ mục tin phục vụ cho việc xử lý trường hợp theo mơ Hình mà viết đề cập bên trên, mơ hình Ontology đề nghị sau: * Mơ hình Ontology: Hình Mơ hình Ontology Để lưu trữ mục tin phục vụ cho việc xử lý cho trường hợp theo Hình Mơ hình Ontology tổng qt đề xuất Hình 2; Trong đó, lớp Item có thuộc tính: property_1, property_2…là thuộc tính mang giá trị riêng cho mục tin (ví dụ: item_id, item_title…) lớp Sub_item lớp (subclass) lớp Item, Sub_item có thuộc tính (Item_genre…) thể loại mục tin với giá trị cụ thể (ví dụ: Comedy, Amination…) GIẢI PHÁP TÍCH HỢP XỬ LÝ NGỮ NGHĨA VÀO HỆ THỐNG GỢI Ý 192 * Cấu trúc đồ thị RDFS: Hình Cấu trúc đồ thị RDFS Với cấu trúc đồ thị RDFS Hình 3, ta nhận thấy: rdfs:Class lớp tất lớp, rdfs:subClassOf chuyển thuộc tính lớp cha rs:Item sang lớp rs:sub_item, rdfs:domain định miền thuộc tính, rdfs:range định phạm vi thuộc tính, rdf:Property lớp tất thuộc tính, rdf:type: định lớp lớp tài nguyên; Đặc biệt, với thể lớp Item ta có nhiều [privateproperty] tương tự với subClass lớp Item tức lớp sub_item ta có có nhiều [publicproperty] tuỳ vào tập liệu cụ thể sử dụng để xây dựng Ontology * Ví dụ minh hoạ: Hình Ví dụ minh hoạ Hình ví dụ cụ thể khái niệm lưu trữ (mẫu tin tập liệu MovieLens100k), cụ thể: (Movie_id=1, Movie_title=Toy Story (1995), Video_release_date=01-Jan-1995, Movie_genre (attributes) = {Comedy, Amination, Childrens} * Các bước tiến hành xây dựng Ontology Để lưu trữ truy vấn lại mục tin người dùng đánh giá, xếp hạng từ tập liệu đề xuất (mục IV.a), xây dựng Ontology theo cấu trúc Hình 3, bước thực sau: Bước Tạo Mơ hình OWLModel rỗng Bước Tạo lớp Item kiểu Class, lớp [Privateproperties] [Publicproperties]; lưu ý: [Privateproperties] thuộc miền Item [Publicproperties] kiểu [Class] Huỳnh Thanh Tài, Nguyễn Hữu Hoà, Huỳnh Minh Trí, Nguyễn Thái Nghe 193 Bước Tạo thể lớp [Publicproperties], tức thể cụ thể đối tượng lớp Bước Đọc mục tin từ liệu truyền vào, ItemID mục tin (chính thể lớp Item) subClass sub_item; thuộc tính mục tin thuộc tính thể vừa tạo; Lưu ý: [Publicproperties] thuộc tính thể vừa tạo với giá trị thể lớp [Publicproperties] tạo bước 3; c Phương pháp chuẩn hố liệu đầu vào cho mơ hình Ontology Để thực việc lưu trữ liệu mục tin cấu trúc Ontology theo Hình 3, cần thiết chuẩn hố liệu đầu vào cho mơ hình này, cụ thể thực nghiệm liệu dạng sau: [ItemID]|[privateproperties]|[publicproperties] Và tập tin lưu trữ cấu trúc thuộc tính chi tiết liệu mục tin Ví dụ: cấu trúc thuộc tính tập liệu MovieLens (u.item) cụ thể sau (tập liệu giới thiệu chi tiết phần thực nghiệm): movie_id|movie_title|video_release_date|IMDb_URL|unknown|Action|Adventure|… Từ cấu trúc liệu ta tiến hành thực bước phần ―Giải pháp xây dựng Ontology lưu trữ liệu‖ (mục III.b) d Cách tính độ tương tự mục tin lưu trữ Ontology Để thực nghiệm sử dụng số Jaccard để thực đo độ tương tự mục tin lưu trữ cấu trúc Ontology Chỉ số Jaccard, gọi hệ số tương tự Jaccard – (Jaccard Similarity), ban đầu đặt hệ số de communauté đề xuất Paul Jaccard, hệ số thống kê sử dụng để so sánh giống đa dạng mẫu (sample sets) Hệ số Jaccard đo tương đồng mẫu hữu hạn định nghĩa kích thước phần giao (intersection) chia cho kích thước phần hợp (union) mẫu, cụ thể: J(A,B) = |A ∩ B| |A U B| = |A ∩ B| |A| + |B| - |A ∩ B| (Nếu A B rỗng ta định nghĩa J(A,B) = 1), Trong đó: ≤ J(A,B) ≤ Ví dụ: Xét hai A = {0, 1, 2, 5, 6} B = {0, 2, 3, 5, 7, 9} Độ tương tự Jaccard xác định sau: J(A,B) = |A ∩ B| /|A U B| = |{0, 2, 5}| /|{0, 1, 2, 3, 5, 6, 7, 9}| = / = 0.375 Chúng sử dụng hệ số tương tự Jaccard nhằm mục đích lượng hố độ tương tự mục tin lưu trữ Ontology, kết tìm mục tin có độ tương tự cao (tức J(A,B) = 1) với mục tin A (người dùng xem) trả cho hệ thống gợi ý Với hệ thống cụ thể sử dụng hệ số tương tự khác, tuỳ tình hình thực tế e Phương pháp tích hợp Ontology vào hệ thống Để kết hợp Ontology vào hệ thống RS, cần phải truyền vào thuật tốn tích hợp Hình tham số: userID, itemID tham số ktop mục tin cần trả gợi ý cho người dùng, thuật toán cụ thể sau: 1: procedure INTEGRATIONRECOMMEND(userID, itemID, ktop) // Let L[ktop] be return results of the traditional RS for userID // Let M[ktop] and R[ktop] be return results of Similarity for itemID and Procedure 2: R ← L 3: for k ← to ktop 4: R[ktop + k] ← M[k] 5: end for 6: for j ← to 2*ktop – 7: biggest ← j 8: for i ← j + to 2*ktop 9: if R[i] == R[biggest] then remove(R, R[i]) // remove(from, what) 10: if R[i] > R[biggest] then 11: biggest ← i 12: end for 13: R[j] ↔ R[biggest] 14: end for 15: return R[ktop] 16: end procedure Hình Giải thuật tích hợp Ontology vào hệ thống Hàm trả danh sách ktop mục tin có dự đốn lớn để gợi ý cho người dùng có userID cụ thể truyền vào thuật toán, sở kết hợp mục tin gợi ý cho người dùng từ mô hình gợi ý truyền thống mục tin có độ tương tự với mục tin mà người dùng đọc/xem (trong thực nghiệm sử dụng độ tương tự GIẢI PHÁP TÍCH HỢP XỬ LÝ NGỮ NGHĨA VÀO HỆ THỐNG GỢI Ý 194 cho mục tin lưu trữ Ontology thông qua hệ số tương tự Jaccard); Từ danh sách mục tin kết hợp từ mơ hình này, chúng tơi tiến hành công đoạn loại bỏ mục tin trùng lắp, đồng thời tiến hành thêm việc xếp lại danh sách kết theo thứ tự giảm dần dựa theo tiêu chí đánh giá (rating) mục tin; sau cơng đoạn xếp, thuật toán trả ktop mục tin gợi ý cho người dùng (userID) f Phương pháp suy diễn liệu thơng qua mơ hình Ontology Mục đích việc suy diễn liệu nhằm xây dựng nên tập liệu huấn luyện cho mơ hình tích hợp mà chúng tơi đề xuất; Với mơ hình gợi ý truyền thống, tiến hành công việc đánh giá độ lỗi giải thuật thông qua độ đo: Root Mean Squared Error (RMSE) Mean Absolute Error (MAE) [Chai, T., Draxler, R.R.R, 2014] theo phương thức: ―3-fold cross validation‖ [Geisser, Seymour, 1993 Kohavi, Ron, 1995]; Với mơ hình tích hợp, chúng tơi tiến hành cơng đoạn suy diễn liệu thơng qua mơ hình Ontology để xây dựng nên tập liệu huấn luyện; Trên sở liệu suy diễn, tiến hành xây dựng lại mơ hình đánh giá độ lỗi giải thuật tích hợp với độ đo phương thức dùng đánh mơ hình truyền thống, thuật toán suy diễn liệu thực qua giai đoạn, cụ thể sau: - Giai đoạn 1: chuẩn bị + Chuẩn bị liệu để suy diễn (dữ liệu huấn luyện giải thuật gợi ý truyền thống) + Sắp xếp lại liệu (ASC/DESC) theo tiêu chí UserID (ví dụ: UserID u.data MovieLens) + Chuẩn bị Ontology lưu trữ mục tin theo cấu trúc (mục III.c) Giai đoạn chuẩn bị liệu hoàn tất, ta tiến hành sang giai đoạn - Giai đoạn 2: Suy diễn liệu 1: procedure SEMDATA(Drating, OWLmodel) // Let R be return results of Procedure 2: R ← null 3: size ← 4: for each item i from Drating 5: M be return results of Similarity for i in OWLModel, even i i with rating is the globalAVG item’s rate for current user 6: n ← lengh of M 7: for k ← to n 8: R[size+k] ← M[k] 9: end for 10: size ← size + n 11: end for // remove dupplicate items on R[size] 12: for i ← to size – 13: for j ← i + to size 14: if R[i] == R[j] then remove(R, R[j]) // remove(from, what) 15: end for 16: end for 17: return R 18: end procedure Hình Giải thuật suy diễn liệu Thuật toán suy diễn liệu Hình thực cơng việc sau: Với mục tin i tương ứng tập liệu huấn luyện mơ hình gợi ý truyền thống Dtrain (các mục tin Dtrain xếp lại theo tiêu chí userID để truyền vào thuật tốn) chúng tơi tiến hành tìm Ontology mục tin tương tự với i (trong thực nghiệm tìm mục tin có hệ số tương tự Jaccard so với i giá trị đánh giá giá trị trung bình đánh giá tất mục tin - globalAVG) để xây dựng tập liệu huấn luyện cho mơ hình tích hợp; sau tất mục tin tương tự với i (lưu trữ ontology) tìm thấy, chúng tơi tiến hành loại bỏ mục tin trùng theo tiêu chí userID-itemID Kết thuật toán trả danh sách mục tin sau suy diễn theo cấu trúc userID\t itemID\t rating Sau công đoạn suy diễn liệu, chúng tơi tiến hành xây dựng lại mơ hình huấn luyện liệu suy diễn tương tự phương pháp áp dụng cho mơ hình dự đốn truyền thống với tập liệu kiểm tra; Từ đó, thực lại công việc đánh giá cho mơ hình tích hợp Thu thập kết đánh giá mơ hình truyền thống mơ hình tích hợp ta có kết thực nghiệm để thực việc so sánh tính khả thi mơ hình đề xuất IV KẾT QUẢ THỰC NGHIỆM a Dữ liệu dùng đánh giá - Tập liệu hệ thống gợi ý phim MovieLens Lưu trữ lại địa chỉ: http://grouplens.org/datasets/movielens/ cụ thể: Tập liệu sử dụng nhiều nhà nghiên cứu: số nhà nghiên cứu dùng tập liệu để kiểm tra đánh giá kinh nghiệm thân họ; Huỳnh Thanh Tài, Nguyễn Hữu Hồ, Huỳnh Minh Trí, Nguyễn Thái Nghe 195 số nhà nghiên cứu khác sử dụng tập liệu để nghiên cứu hệ thống gợi ý áp dụng kỹ thuật khác [L Candillier, K Jack, F Fessant, and F Meyer 2009]; ngồi GroupLens cịn cung cấp nhiều phiên khác liệu, cụ thể: MovieLens 100k, MovieLens 1M MovieLens 10M Dữ liệu sử dụng viết đề xuất sử dụng tập MovieLens 100K; tập liệu có 100.000 đánh giá thực 943 người dùng số lượng 1.682 phim; người dùng có đánh giá 20 phim đánh giá gán (tệ) … (tuyệt vời) * Cấu trúc tập liệu Movielens: - u.item (1,682 items); [movie id | movie title | release date | video release date | IMDb URL | unknown | Action | Adventure | Animation | Children’s | Comedy | Crime | Documentary | Drama | Fantasy | Film-Noir | Horror | Musical | Mystery | Romance | Sci-Fi | Thriller | War | Western] - u.data (100,000 rate/943 users): [user id | item id | rating | timestamp] - Tập liệu MovieTweetings: tập liệu gợi ý phim MovieTweetings: lưu địa (https://github.com/sidooms/MovieTweetings) MovieTweetings liệu bao gồm đánh giá phim thu thập website Twitter, tập liệu kết cơng trình nghiên cứu đạo Simon Dooms cộng ông Đại học Ghent nước Bỉ Tập liệu tạo nhằm cung cấp thông tin cho hoạt động hệ thống RecSys (ACM RecSys conferences), để phục vụ công tác nghiên cứu thử nghiệm MovieTweetings phân thành phân đoạn liệu cụ thể: 10k có nghĩa tập liệu thu thập trước 10.000 đánh giá, 20k nghĩa liệu thu thập trước 20.000 đánh giá tương tự đến tập liệu 200k; cụ thể có: * Cấu trúc tập liệu MovieTweetings: - Items.dat (3,906 items): [movie_id::movie_title(movie_year)::genre| genre|genre|…] - Ratings.dat (10,000 rates): [user_id::movie_id::rating::rating_timestamp] Tập liệu sử dụng viết đề xuất sử dụng tập MovieTweetings 10K; với thông tin bảng trên; với đánh giá gán từ 1…10; Tuy nhiên để sử dụng tập liệu 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 liệu Restaurant & Consumer data (RCData): cung cấp bởi: Rafael Ponce Medellín, Juan Gabriel González Serna Blanca Vargas-Govea, mơn khoa học máy tính, Trung tâm Nghiên cứu Phát triển Chiến lược Quốc gia CENIDET (México) lưu trữ địa https://archive.ics.uci.edu/ml/machine-learningdatabases/00232/ Tập liệu thu thập từ phần hệ thống gợi ý Nhà hàng theo đánh giá khách hàng thành phố đất nước México, mục tiêu tạo danh sách Ntop nhà hàng tốt theo bình chọn khách hàng Tập liệu thử nghiệm phương pháp: Lọc cộng tác ngữ cảnh, cụ thể: → Kỹ thuật lọc cộng tác sử dụng tập tin rating_final.csv Tiếp cận theo hướng ngữ cảnh sử dụng tập tin cịn lại tập liệu Để đánh giá giải thuật, phạm vi viết sử dụng tập tin tập liệu, cụ thể: * Cấu trúc tập 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 miền giá trị cụ thể 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] GIẢI PHÁP TÍCH HỢP XỬ LÝ NGỮ NGHĨA VÀO HỆ THỐNG GỢI Ý 196 Từ cấu trúc tập tin geoplaces2.csv ta nhận thấy có 09 thuộc tính phụ thuộc miền giá trị; nhận định điều nhằm mục đích: để sử dụng mơ hình Ontology Hình tập tin liệu cần thiết phải chuẩn hố giá trị thuộc miền thuộc tính thành [Publicproperties] mục tin, tức placeID tập liệu tương tự sử dụng tập liệu khác (nếu có) b Các độ đo dùng thực nghiệm Trong thực nghiệm, sử dụng độ đo lỗi thường nhà nghiên cứu lĩnh vực RSs hay sử dụng để so sánh giải thuật, độ đo lỗi: Root Mean Squared Error (RMSE) Mean Absolute Error (MAE); Trong đó, độ đo MAE dùng dự đốn mục tin (Item Prediction) RMSE dùng dự đoán xếp hạng (Rating Prediction) [Gunawardana, A Shani, G, 2009] Đặc biệt, độ đo lỗi RMSE độ đo chuẩn sử dụng kỳ thi hội nghị kDD Cup khai thác liệu - khám phá tri thức; Cả độ đo phù hợp với lĩnh vực nghiên cứu mà đề xuất; Theo nghiên cứu tác giả [Chai, T., Draxler, R.R.R, 2014] cho khơng có phương pháp đánh giá xác tuyệt đối giải thuật tác giả đề xuất rằng: để đánh giá độ lỗi giải thuật gợi ý liệu dạng offline nhà nghiên cứu nên sử dụng độ đo lỗi RMSE MAE; Để kết đánh giá mơ hình mang tính xác thuyết phục hơn, đề xuất dùng nghi thức kiểm tra ―3-fold cross validation‖ [Geisser, Seymour, 1993 Kohavi, Ron, 1995] với độ đo lỗi RMSE MAE nêu trên, cụ thể sau: RMSE (Root Mean Squared Error) RMSE độ đo phổ biến mà cộng đồng người dùng lĩnh vực máy học thường sử dụng, kể kỳ thi giải thuật RSs; Mặc dù có nhiều phương pháp khác mà sử dụng để đánh giá giải thuật gợi ý như: F-Meansure, Area Under the ROC curve (AUC),… với phương pháp đánh giá thích hợp cho lĩnh vực cụ thể (ví dụ: F-Meansure AUC dùng truy tìm thơng tin phân lớp; MAE dùng dự đoán mục tin RMSE dùng dự đoán xếp hạng [Gunawardana, A Shani, G, 2009]); RMSE xác định cơng thức: Trong đó: Dtest U × I × R tập 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 đại lượng dùng để đo cường độ trung bình sai số tập hợp dự báo, mà không xem xét hướng chúng, công thức MAE cụ thể sau: Trong đó, ký hiệu mô tả sử dụng RMSE c Kết thực nghiệm Bảng Kết đánh giá độ lỗi tập liệu chuẩn Các độ đo đánh giá Các tập liệu RMSE error OldData MAE error 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 Trình bày kết chạy thực nghiệm tập liệu chuẩn giải thuật User-kNN (k=50) với tập liệu (tập kiểm tra – tập huấn luyện) có số lượng mẫu tin độ lỗi cụ thể sau: * Tập 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 tập kiểm tra, độ lỗi RMSE OldData SemData tương ứng 1,1181 1,0635 lỗi MAE tương ứng 0,8805 0,8475 * Tập 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 tập kiểm tra, độ lỗi RMSE OldData SemData tương ứng 2,9434 2,0489 lỗi MAE tương ứng 2,1949 1,5440 Huỳnh Thanh Tài, Nguyễn Hữu Hoà, Huỳnh Minh Trí, Nguyễn Thái Nghe 197 * Tập 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 tập kiểm tra, độ lỗi RMSE OldData SemData tương ứng 2,6314 2,3415 lỗi MAE tương ứng 2,0809 1,8785 Để trực quan cho kết thực nghiệm trình bày Bảng 1, tiến hành xây dựng biểu đồ so sánh kết Hình sau: RMSE Error 3.5000 3.0000 2.5000 2.0000 1.5000 1.0000 0.5000 0.0000 OldData SemData 2.9434 2.6314 2.0489 2.3415 1.1181 1.0635 MovieLens MovieTweetings 1.1181 1.0635 2.9434 2.0489 Restaurant & Consumer data 2.6314 2.3415 Hình So sánh độ lỗi RMSE mơ hình đề xuất (SemData) phương pháp truyền thống (OldData) * Nhận xét: Qua biểu đồ Hình thể độ lỗi RMSE tập liệu trường hợp: OldData (hệ thống không kết hợp xử lý ngữ nghĩa) SemData (hệ thống kết hợp xử lý ngữ nghĩa) nhận thấy: - Tập liệu MovieLens 100k: độ lỗi RMSE OldData là: 1,1181; 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 liệu Movietweeting 10k: độ lỗi RMSE OldData là: 2,9434; 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 liệu RCData: độ lỗi RMSE OldData là: 2,6314; 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 tập liệu: độ đo lỗi RMSE liệu kết hợp xử lý ngữ nghĩa (SemData) thấp so với liệu không kết hợp xử lý ngữ nghĩa (OldData); Đặc biêt, ta nhận thấy độ lỗi tập liệu MovieTweeting RCData cao tập liệu OldData SemData nguyên nhân người dùng đánh giá cho mục tin tập liệu huấn luyện ít, độ lỗi mơ hình mức cao MAE Error 2.5000 2.1949 2.0000 2.0809 1.8785 1.5440 1.5000 1.0000 0.8805 0.8475 0.5000 0.0000 OldData SemData MovieLens MovieTweetings 0.8805 0.8475 2.1949 1.5440 Restaurant & Consumer data 2.0809 1.8785 Hình So sánh độ lỗi MAE mơ hình đề xuất (SemData) phương pháp truyền thống (OldData) * Nhận xét: Qua biểu đồ Hình 8, thể độ lỗi MAE tập liệu trường hợp: OldData (hệ thống không kết hợp xử lý ngữ nghĩa) SemData (hệ thống kết hợp xử lý ngữ nghĩa) nhận thấy: - Tập liệu MovieLens 100k: độ lỗi MAE OldData là: 0,7188; 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 mơ hình tích hợp tăng ngun nhân độ lỗi RMSE trình bày bên 198 GIẢI PHÁP TÍCH HỢP XỬ LÝ NGỮ NGHĨA VÀO HỆ THỐNG GỢI Ý - Tập liệu Movietweeting 10k: độ lỗi MAE OldData là: 2,0970; 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 liệu RCData: độ lỗi MAE OldData là: 1,2981; 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 tập liệu: độ đo lỗi MAE liệu kết hợp xử lý ngữ nghĩa (SemData) thấp so với liệu không kết hợp xử lý ngữ nghĩa (OldData); Đặc biệt, ta nhận thấy độ lỗi tập liệu MovieTweeting cao tập liệu OldData SemData nguyên nhân tương tự RMSE; Nhận định tổng quan kết thực nghiệm: Nhìn chung kết chạy thực nghiệm tập liệu khẳng định tính khả thi mơ hình tích hợp ngữ nghĩa vào hệ thống gợi ý mà đề xuất, thực nghiệm tập liệu với giải thuật User-kNN (k=50) chứng minh độ lỗi mơ hình gợi ý tích hợp chúng tơi đề nghị thấp so với mơ hình truyền thống (khơng kết hợp xử lý ngữ nghĩa) kể độ đo lỗi RMSE MAE V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Nghiên cứu đề 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 khai thác điểm tương đồng ngữ nghĩa thực gợi ý cho tình cụ thể, sử dụng kết kỹ thuật gợi ý tương đồng ngữ nghĩa mặt nội dung mục tin lưu trữ Ontology để thực gợi ý cho người dùng sử dụng hệ thống Từ kết thực nghiệm tập 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 so với phương pháp truyền thống Việc ứng dụng mơ hình tích hợp vào hệ thống gợi ý với đối tượng gợi ý cho người dùng mục tin có chia thuộc tính hồn tồn khả thi Nghiên cứu ứng dụng giải pháp tích hợp ngữ nghĩa vào hệ thống gợi ý để giải tình trạng ―khởi đầu lạnh‖ 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 knowledgebased 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 (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 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 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 http://grouplens.org/datasets/movielens/ 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 Hồ, 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 ... phương pháp tương tự ngữ nghĩa III GIẢI PHÁP ĐỀ XUẤT Trong phạm vi nghiên cứu này, chúng tơi đề xuất giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý; kỹ thuật kết hợp kỹ thuật gợi ý truyền thống. .. hình tích hợp sau: a Mơ hình tích hợp Hình Mơ hình tích hợp xử lý ngữ nghĩa vào Hệ thống gợi ý Huỳnh Thanh Tài, Nguyễn Hữu Hoà, Huỳnh Minh Trí, Nguyễn Thái Nghe 191 Mơ hình tích hợp xử lý ngữ nghĩa. .. phương pháp truyền thống (OldData) * Nhận xét: Qua biểu đồ Hình thể độ lỗi RMSE tập liệu trường hợp: OldData (hệ thống không kết hợp xử lý ngữ nghĩa) SemData (hệ thống kết hợp xử lý ngữ nghĩa)