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ó

Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trang 1

Trang 1

Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trang 2

Trang 2

Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trang 3

Trang 3

Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trang 4

Trang 4

Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trang 5

Trang 5

Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trang 6

Trang 6

Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trang 7

Trang 7

Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trang 8

Trang 8

Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trang 9

Trang 9

Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 11 trang xuanhieu 3620
Bạn đang xem 10 trang mẫu của tài liệu "Giải pháp tích hợp xử lý ngữ nghĩa vào hệ thống gợi ý", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

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 ý

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:

  • pdfgiai_phap_tich_hop_xu_ly_ngu_nghia_vao_he_thong_goi_y.pdf