ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
NGUYỄN THỊ KHÁNH HUYỀN
XÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ
HỖ TRỢ DU LỊCH TỈNH QUẢNG BÌNH
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 8480101
LUẬN VĂN THẠC SĨ KỸ THUẬT
CÁN BỘ HƯỚNG DẪN KHOA HỌC:
PGS.TS. NGUYỄN TẤN KHÔI
Đà Nẵng - Năm 2019
-i-
LỜI CAM ĐOAN
Tôi xin cam đoan:
- Nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực
tiếp của PGS.TS. Nguyễn Tấn Khôi.
- Tài liệu tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên
tác giả, tên nhà xuất bản, năm xuất bản và chú thích các nội dung tham
khảo đầy đủ.
Học viên
Nguyễn Thị Khánh Huyền
-ii-
LỜI CẢM ƠN
Trong thời gian học tập và làm luận văn, tôi chân thành cảm ơn Ban Giám
hiệu Trường Đại học Bách khoa Đà Nẵng, Trường Đại học Quảng Bình đã tạo
điều kiện về môi trường cũng như cơ sở vật chất cho công việc học tập và nghiên
cứu.
Cảm ơn các Thầy, Cô trong khoa Công nghệ thông tin Trường Đại học Bách
khoa Đà Nẵng và các Thầy, Cô trong khoa Công nghệ - Kỹ thuật trường đại học
Quảng Bình đã giảng dạy và giúp đỡ tôi trong quá trình học tập và nghiên cứu về
chuyên ngành Khoa học máy tính. Đặc biệt, cảm ơn PGS.TS. Nguyễn Tấn Khôi
đã nhiệt tình và tâm huyết hướng dẫn và giúp đỡ tôi hoàn thành luận văn này.
Quá trình làm luận văn, bản thân tôi đã cố gắng tập trung nghiên cứu, tìm
hiểu và tham khảo thêm nhiều tài liệu liên quan. Tuy nhiên, do chưa có nhiều kinh
nghiệm trong nghiên cứu khoa học nên chắc chắn luận văn vẫn còn nhiều thiếu
sót. Tôi rất mong nhận được sự góp ý của các thầy cô và bạn bè, đồng nghiệp để
luận văn được hoàn thiện hơn.
Quảng Bình, tháng 9 năm 2019
Học viên
NGUYỄN THỊ KHÁNH HUYỀN
-iiiXÂY DỰNG HỆ THỐNG KHUYẾN NGHỊ
HỒ TRỢ DU LỊCH TỈNH QUẢNG BÌNH
Học viên: Nguyễn Thị Khánh Huyền
Mã số: 8480101
Khóa: 35
Chuyên ngành: Khoa học máy tính
Trường Đại học Bách khoa - ĐHĐN
Tóm tắt - Du lịch Quảng Bình là một trong những ngành kinh tế mũi nhọn
tạo động lực tăng trưởng cho tỉnh nhà. Tỉnh Quảng Bình đang nỗ lực đổi mới
cả về nội dung lẫn hình thức quảng bá, đưa hình ảnh du lịch Quảng Bình đến
với tất cả bạn bè trong nước và trên thế giới. Vì vậy, cần xây dựng giải pháp hỗ
trợ du lịch nhằm phục vụ nhu cầu tra cứu thông tin, hỗ trợ du khách trong hành
trình trải nghiệm du lịch. Xuất phát từ yêu cầu thực tiễn và khoa học, tôi đã đề
xuất nghiên cứu "Xây dựng hệ thống khuyến nghị hỗ trợ du lịch tỉnh Quảng
Bình" làm luận văn cao học. Hệ thống được xây dựng với mục đích tìm hiểu,
nghiên cứu hoạt động của hệ thống gợi ý. Hệ thống sử dụng các thuật toán không
có ngữ cảnh và có ngữ cảnh giúp phân tích và tạo ra các khuyến nghị để người
dùng có thể thử nghiệm độ tối ưu của thuật toán và áp dụng các thuật toán đó
vào các website du lịch nhằm tạo ra các khuyến nghị thích hợp với mỗi du
khách.
Luận văn bao gồm các nội dung sau: (1) Giới thiệu về mô hình hệ thống
khuyến nghị du lịch, các nội dung lý thuyết về ngữ cảnh, nhận biết ngữ cảnh,
hệ thống gợi ý, các phương pháp tiếp cận trong hệ thống gợi ý. (2) Phân tích
chức năng hệ thống, trình bày các sơ đồ, xây dựng các thuật toán của hệ thống.
(3) Triển khai, phân tích và đánh giá kết quả đạt được của hệ thống.
Từ khóa: Hệ thống gợi ý theo ngữ cảnh, hệ thống khuyến nghị du lịch, kỹ
thuật phân rã ma trận, lọc cộng tác, thuật toán.
-ivBUILDING THE RECOMMENDATION SYSTEM
HAVING A TOURIST SUPPORT IN QUANG BINH PROVINCE
Abstract - Tourism Quang Binh is one of the key economic sectors to
create growth momentum for the province. Quang Binh province is trying to
innovate both in terms of content and form of promotion, bringing Quang Binh
tourism image to all friends in the country and the world.
Therefore, it is necessary to build a tourism support solution to serve the
needs of searching information and supporting tourists in the journey of
traveling experience. Stemming from practical and scientific requirements, I
have proposed research "Building a system of recommendations for tourism
support in Quang Binh province" for master thesis. The system was built for the
purpose of understanding and studying the operation of the suggestion system.
The system uses non-contextual and contextual algorithms to analyze and create
suggestions so that users can test the algorithm's optimization and apply those
algorithms to travel websites to Create appropriate suggestions for every visitor.
The thesis includes the following contents: (1) Introduction to the model
of tourism recommendation system, the contents of the theory of context,
contextual recognition, suggestion system, approaches in the system suggestion
system. (2) Analysis of system functions, presentation of diagrams, construction
of system algorithms. (3) Deploy, analyze and evaluate the results of the system.
Keywords:
Recommender
Systems,
Context-Aware
Tourist
Recommender Systems, matrix factorization, collaborative filtering, algorithm.
-v-
MỤC LỤC
LỜI CAM ĐOAN................................................................................................. i
LỜI CẢM ƠN ..................................................................................................... ii
MỤC LỤC ........................................................................................................... v
DANH MỤC HÌNH ẢNH ................................................................................ vii
DANH MỤC BẢNG BIỂU ............................................................................. viii
DANH MỤC CÁC TỪ VIẾT TẮT ................................................................... ix
MỞ ĐẦU ............................................................................................................ 1
1. Lý do chọn đề tài ............................................................................................. 1
2. Mục tiêu và nhiệm vụ nghiên cứu ................................................................... 2
3. Đối tượng và phạm vi nghiên cứu ................................................................... 3
4. Phương pháp nghiên cứu ................................................................................. 3
5. Bố cục của luận văn ........................................................................................ 4
NỘI DUNG ......................................................................................................... 5
Chương 1: TỔNG QUAN VỀ ĐỀ TÀI ............................................................ 5
1.1. MÔ HÌNH HỆ THỐNG KHUYẾN NGHỊ DU LỊCH ................................ 5
1.2. LÝ THUYẾT VỀ NGỮ CẢNH .................................................................. 6
1.2.1. Định nghĩa ngữ cảnh ........................................................................... 6
1.2.2. Các đặc trưng của ngữ cảnh ................................................................ 7
1.2.3. Phân loại ngữ cảnh .............................................................................. 8
1.2.4. Nhận biết ngữ cảnh ........................................................................... 10
1.2.5. Phương pháp nhận biết ngữ cảnh ...................................................... 11
1.3. HỆ THỐNG GỢI Ý .................................................................................. 12
1.3.1. Giới thiệu .......................................................................................... 12
1.3.2. Phân loại hệ thống gợi ý ................................................................... 13
1.3.3. Dự đoán trong hệ thống gợi ý ........................................................... 16
1.3.4. Các phương pháp tiếp cận truyền thống trong hệ gợi ý .................... 17
1.3.5. Các phương pháp tiếp cận hiện đại trong hệ gợi ý ........................... 18
1.3.6. Các phương pháp tiếp cận phân rã ma trận....................................... 19
1.3.7. Các phương pháp tiếp cận theo tương quan ngữ cảnh ...................... 23
1.3.8. Đánh giá hệ thống gợi ý .................................................................... 27
1.3.9. Các thách thức của hệ thống gợi ý truyền thống .............................. 31
1.4. KẾT CHƯƠNG ......................................................................................... 32
-viChương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG KHUYẾN NGHỊ
DU LỊCH TẠI QUẢNG BÌNH....................................................................... 33
2.1. MÔ TẢ HỆ THỐNG ................................................................................. 33
2.2. PHÂN TÍCH CHỨC NĂNG HỆ THỐNG ............................................... 33
2.3. CÁC THUẬT TOÁN KHUYẾN NGHỊ ................................................... 34
2.3.1. Các thuật toán trung bình .................................................................. 35
2.3.2. Các thuật toán lọc cộng tác ............................................................... 35
2.3.3. Các thuật toán xếp hạng .................................................................... 36
2.3.4. Các thuật toán biến đổi ..................................................................... 37
2.3.5. Các thuật toán thích ứng phụ thuộc .................................................. 37
2.4. KẾT CHƯƠNG ......................................................................................... 39
Chương 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ ............................... 40
3.1. MÔI TRƯỜNG TRIỂN KHAI ................................................................. 40
3.2. ĐÁNH GIÁ KẾT QUẢ KHUYẾN NGHỊ THEO BỘ DỮ LIỆU THỬ
NGHIỆM 01 ...................................................................................................... 40
3.2.1. Bộ dữ liệu thử nghiệm ...................................................................... 40
3.2.2. Kết quả chạy chương trình ................................................................ 42
3.2.3. Phân tích kết quả ............................................................................... 42
3.2.4. Đánh giá kết quả ............................................................................... 44
3.2.5. Kết quả khuyến nghị ......................................................................... 46
3.3. ĐÁNH GIÁ KẾT QUẢ KHUYẾN NGHỊ THEO BỘ DỮ LIỆU THỬ
NGHIỆM 02 ...................................................................................................... 47
3.3.1. Bộ dữ liệu thử nghiệm ...................................................................... 47
3.3.2. Kết quả chạy chương trình ................................................................ 48
3.3.3. Phân tích kết quả ............................................................................... 48
3.3.4. Đánh giá kết quả ............................................................................... 50
3.3.5. Kết quả khuyến nghị ......................................................................... 51
3.4. KẾT CHƯƠNG ......................................................................................... 52
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..................................................... 53
TÀI LIỆU THAM KHẢO .............................................................................. 55
-vii-
DANH MỤC HÌNH ẢNH
Hình 1. 1: Mô hình tổng thể của hệ thống khuyến nghị du lịch ......................... 5
Hình 1. 2: Tổng quan các hạng mục ngữ cảnh ................................................. 10
Hình 1. 3: Mô hình sử dụng ngữ cảnh .............................................................. 12
Hình 1. 4: Minh họa cho không gian gợi ý ba chiều ........................................ 15
Hình 1. 5: Các thành phần cơ bản của tiến trình gợi ý truyền thống ................ 16
Hình 1. 6: Kiến trúc tổng quan của hệ thống lọc cộng tác ............................... 18
Hình 1. 7: Ví dụ của hệ tọa độ đa chiều ........................................................... 26
Hình 2. 1: Sơ đồ luồng dữ liệu của ứng dụng ................................................... 34
Hình 2. 2: Các nhóm thuật toán ........................................................................ 34
Hình 3. 1: Giao diện chạy chương trình ........................................................... 42
Hình 3. 2: Đồ thị đối sánh ................................................................................. 44
Hình 3. 3: So sánh RMSE giữa các phương pháp ............................................ 45
Hình 3. 4: Một phần kết quả khuyến nghị ........................................................ 46
Hình 3. 5: Giao diện chạy chương trình ........................................................... 48
Hình 3. 6: Đồ thị đối sánh ................................................................................. 49
Hình 3. 7: So sánh RMSE giữa các phương pháp ............................................ 50
Hình 3. 8: Một phần kết quả khuyến nghị ........................................................ 51
-viii-
DANH MỤC BẢNG BIỂU
Bảng 1. 1: Các thuộc tính đặc trưng của ngữ cảnh ............................................. 7
Bảng 1. 2: Phân loại các chiều ngữ cảnh ............................................................ 8
Bảng 1. 3: Bảng ma trận trọng số (đánh giá) của hệ gợi ý ............................... 17
Bảng 1. 4: Xếp hạng phim trong ngữ cảnh ....................................................... 20
Bảng 1. 5: Ví dụ của một ma trận tương quan ................................................. 24
Bảng 1. 6: Các phương pháp đánh giá .............................................................. 30
Bảng 3. 1: Bảng người dùng ............................................................................. 40
Bảng 3. 2: Bảng địa điểm ................................................................................. 41
Bảng 3. 3: Bảng đánh giá của người dùng cho địa điểm .................................. 41
Bảng 3. 4: Kết quả thực thi các thuật toán........................................................ 43
Bảng 3. 5: Kết quả khuyến nghị ....................................................................... 46
Bảng 3. 6: Bộ dữ liệu thử nghiệm 02................................................................ 47
Bảng 3. 7: Kết quả thực thi các thuật toán........................................................ 49
Bảng 3. 8: Kết quả khuyến nghị ....................................................................... 52
-ix-
DANH MỤC CÁC TỪ VIẾT TẮT
STT
TỪ VIẾT TẮT
MÔ TẢ
1
RS
Recommender Systems
2
CARS
Context Aware Recommender Systems
3
CAMF
Context Aware Matrix Factorization
4
CSLIM
Contextual Sparse Linear Method
5
TF
Tensor Factorization
6
MF
Matrix Factorization
7
ICS
Independent Context Similarity
8
LCS
Latent Context Similarity
9
MCS
Multidimensional Context Similarity
-1-
MỞ ĐẦU
1. Lý do chọn đề tài
Trong giai đoạn hiện nay, hầu hết các nước đang bị cuốn theo xu thế toàn
cầu hóa bao gồm toàn cầu hóa kinh tế hay chính trị, toàn cầu hóa về văn hóa và
xã hội. Toàn cầu hóa làm thay đổi thế giới, khiến các quốc gia trên thế giới ngày
càng phụ thuộc lẫn nhau. Sự phát triển của ngành du lịch cũng không nằm ngoài
sức ảnh hưởng mang tính toàn cầu đó.
Trong quy hoạch phát triển kinh tế - xã hội đến năm 2020, tầm nhìn 2030,
tỉnh Quảng Bình xác định du lịch là một trong những ngành kinh tế mũi nhọn tạo
động lực tăng trưởng. Du lịch Quảng Bình được Thủ tướng Nguyễn Xuân Phúc
ví như “viên kim cương xanh”. Không bỏ lỡ tiềm năng quý giá đó, tỉnh đang nỗ
lực đổi mới cả về nội dung lẫn hình thức quảng bá, đưa hình ảnh du lịch Quảng
Bình đến với tất cả bạn bè trong nước và trên thế giới, mở ra bước ngoặt mới cho
du lịch tỉnh nhà.
Hiện nay, khách du lịch đến tỉnh Quảng Bình bao gồm cả khách quốc tế và
khách nội địa. Trong đó, khách du lịch nước ngoài chủ yếu tập trung vào các thị
trường: Asean, Hàn Quốc, Nhật Bản, các nước trong khối EU, khu vực Bắc Mỹ
(đặc biệt là thị trường Mỹ), Nga và Đông Âu. Khách du lịch nội địa chủ yếu là thị
trường Bắc Bộ (đặc biệt là Hà Nội), thị trường các đô thị khu vực miền Trung, thị
trường khách du lịch từ TP. Hồ Chí Minh và các đô thị lớn phía Nam.
Theo báo cáo kết quả hoạt động kinh doanh du lịch của Sở Du lịch Quảng
Bình thì tổng lượt khách năm 2018 ước đạt 3,9 triệu lượt, tăng 18,2% so với năm
2017. Trong đó, khách quốc tế ước đạt 200.000 lượt, tăng 53,8% so với 2017.
Tổng thu từ khách du lịch ước đạt 4.485 tỷ đổng, tăng 20,2% so với năm 2017.
Hệ số lưu trú ước đạt: 1,13 ngày/khách.
-2Năm 2019 ngành du lịch toàn tỉnh tiếp tục đẩy mạnh công tác tuyên truyền,
quảng bá và xúc tiến du lịch với phương thức đa dạng, nội dung phong phú trên
phạm vi rộng từ tỉnh đến quốc gia, khu vực và quốc tế. Ứng dụng công nghệ thông
tin và việc tin học hóa được xem là một trong những yếu tố mang tính quyết định
của hoạt động quảng bá, xúc tiến du lịch; nó đóng vai trò hết sức quan trọng, có
thể tạo ra những bước đột phá mạnh mẽ cho ngành du lịch nói chung và du lịch
Quảng Bình nói riêng.
Bằng Internet, việc quảng bá du lịch Quảng Bình có thể thực hiện được với
tốc độ nhanh hơn, phạm vi rộng lớn hơn và chi phí thấp hơn nhiều so với các cách
thức truyền thống. Đối với sự bùng nổ của công nghệ thông tin, thì việc xây dựng
hệ thống hỗ trợ du lịch trên Internet là vô cùng quan trọng đối với ngành du lịch.
Hệ thống hỗ trợ du lịch là một trong những đặc thù của các website du lịch hiện
nay. Nó giới thiệu chuyên sâu về địa điểm du lịch, các sản phẩm du lịch và quảng
bá truyền thông cho từng mảng du lịch lữ hành mà chúng ta đầu tư. Đây chính là
một kênh không thể thiếu đối với các tỉnh có thế mạnh về du lịch trong cả kinh
doanh và phát triển thương hiệu du lịch sau này. Vấn đề đặt ra là cần xây dựng
giải pháp du lịch nhằm phục vụ nhu cầu tra cứu thông tin, hỗ trợ du khách trong
hành trình trải nghiệm du lịch. Chính vì vậy, tôi chọn đề tài "Xây dựng hệ thống
khuyến nghị hỗ trợ du lịch tỉnh Quảng Bình" làm đề tài luận văn tốt nghiệp. Hệ
thống được xây dựng với mục đích tìm hiểu, nghiên cứu hoạt động của hệ thống
khuyến nghị. Hệ thống sử dụng các thuật toán không có ngữ cảnh và có ngữ cảnh
giúp phân tích và tạo ra các khuyến nghị để người dùng có thể thử nghiệm độ tối
ưu của thuật toán và áp dụng các thuật toán đó vào các website du lịch nhằm tạo
ra các khuyến nghị thích hợp với mỗi du khách.
Đề tài này sẽ có thể góp phần hỗ trợ các website du lịch tỉnh Quảng Bình
trong việc quảng bá và phát triển du lịch trong thời gian tới.
2. Mục tiêu và nhiệm vụ nghiên cứu
2.1. Mục tiêu
-3Nghiên cứu ứng dụng hệ thống gợi ý để xây dựng hệ thống khuyến nghị hỗ
trợ du lịch phục vụ khách du lịch.
2.2. Nhiệm vụ
Để đạt được mục tiêu trên, nhiệm vụ của tôi nghiên cứu về:
- Tìm hiểu cơ sở lý thuyết về hệ thống gợi ý.
- Phân tích thiết kế xây dựng hệ thống khuyến nghị hỗ trợ du lịch dựa
trên hệ thống gợi ý theo ngữ cảnh.
- Triển khai phân tích, đánh giá kết quả thực nghiệm.
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Du lịch Quảng Bình.
- Các điểm du lịch
- Khách du lịch.
3.2. Phạm vi nghiên cứu
Các địa điểm du lịch ở Quảng Bình
4. Phương pháp nghiên cứu
Phương pháp nghiên cứu, chúng tôi đã sử dụng hai phương pháp chính là
nghiên cứu lý thuyết và nghiên cứu thực nghiệm.
4.1. Phương pháp nghiên cứu lý thuyết
- Cơ sở lý thuyết về nhận biết ngữ cảnh, lý thuyết hệ thống gợi ý, các
phương pháp tiếp cận trong hệ thống gợi ý.
- Mô hình khuyến nghị du lịch.
4.2. Phương pháp thực nghiệm
- Khảo sát, phân tích dữ liệu.
-4- Phân tích thiết kế hệ thống.
- Triển khai xây dựng ứng dụng.
- Đánh giá thử nghiệm.
5. Bố cục của luận văn
Luận văn được tổ chức thành 3 chương chính:
Chương 1: Tổng quan về đề tài
Giới thiệu về mô hình hệ thống khuyến nghị du lịch, các nội dung lý thuyết
về ngữ cảnh, nhận biết ngữ cảnh, hệ thống gợi ý, các phương pháp tiếp cận trong
hệ thống gợi ý.
Chương 2: Phân tích và thiết kế Hệ thống khuyến nghị du lịch tại Quảng
Bình
Phân tích chức năng hệ thống, trình bày các sơ đồ và các thuật toán của hệ
thống.
Chương 3: Triển khai và đánh giá
Triển khai, phân tích và đánh giá kết quả đạt được của hệ thống.
-5-
NỘI DUNG
Chương 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1. MÔ HÌNH HỆ THỐNG KHUYẾN NGHỊ DU LỊCH
Mô hình hệ thống khuyến nghị du lịch được xây dựng dựa trên nền tảng của
công nghệ thông tin và truyền thống, trong đó, hạ tầng tích hợp dữ liệu được phát
triển đồng bộ, đảm bảo sự tương tác kịp thời giữa 3 bên là nhà quản lý, đơn vị
cung cấp dịch vụ du lịch và du khách.
Du khách
QLNN về du lịch
Tiêu dùng du lịch cá nhân
hóa kết hợp Số và Thực
Hệ thống khuyến nghị
du lịch
Internet
vạn vật
Các cơ quan
QLNN
Điện
toán
đám
mây
Các tour
du lịch
Dịch vụ du lịch
Trí tuệ
nhân
tạo
Đơn vị cung
cấp DV du lịch
Hình 1. 1: Mô hình tổng thể của hệ thống khuyến nghị du lịch
Hệ thống khuyến nghị du lịch là giải pháp hỗ trợ du lịch nhằm phục vụ nhu
cầu tra cứu thông tin, hỗ trợ du khách trong hành trình trải nghiệm du lịch.
Hệ thống khuyến nghị du lịch ứng dụng Hệ tư vấn nhằm gợi ý một điểm đến
phù hợp cho người dùng.
-61.2. LÝ THUYẾT VỀ NGỮ CẢNH
1.2.1. Định nghĩa ngữ cảnh
Ngữ cảnh là "toàn bộ tình huống, nền tảng hay môi trường có liên quan tới
một vài sự kiện xảy ra hoặc cá nhân nào đó" (Theo từ điển của Webster - Noah
Webster - Mỹ). Khái niệm này rất là chung khi sử dụng trong tính toán nhận biết
ngữ cảnh.
Ngữ cảnh là một vấn đề chính trong trong tương tác giữa người và máy tính,
miêu tả các nhân tố xung quanh với ngữ nghĩa biểu đạt [4]. Trong lĩnh vực nghiên
cứu tính toán di động, tham số vị trí thường được dùng nhất để chỉ ngữ cảnh và
cài đặt các ứng dụng nhận biết ngữ cảnh.
Ngữ cảnh và nhận biết ngữ cảnh đã bắt đầu được nghiên cứu trong tính toán
phân tán với sức mạnh của các thành phần tính toán di động từ những năm 90.
Những nghiên cứu từ rất sớm này đã nhận biết vị trí của người dùng và sử dụng
vị trí như là trung tâm của tính toán nhận biết ngữ cảnh.
Các ứng dụng nhận biết ngữ cảnh tìm kiếm ai, ở đâu, khi nào và làm gì (tức
hành động này đang xảy ra) của các thực thể và sử dụng thông tin này để xác định
tại sao một tình huống đang xảy ra. Một ứng dụng không xác định được thực sự
tại sao một tình huống đang xảy ra nhưng người thiết kế ứng dụng thì có thể làm
được điều đó. Người thiết kế sử dụng ngữ cảnh nắm bắt được để xác định tại sao
lại có tình huống đó và sử dụng điều này để lập trình các hành động trong ứng
dụng [6]. Và cho đến nay, với một lượng khá lớn các hệ thống được xây dựng
trong môi trường tính toán nhân rộng, thì khái niệm ngữ cảnh của Dey vẫn được
sử dụng nhiều nhất và có thể coi gần như là chuẩn.
Dey [7] định nghĩa ngữ cảnh là "bất kỳ thông tin nào mà có thể sử dụng được
để đặc tả một tình huống của một thực thể. Một thực thể là một người, một nơi
hay một số đối tượng được xem là có liên quan đến tương tác giữa người dùng và
ứng dụng, bao gồm cả chính người dùng và ứng dụng đó". Đồng thời, ông cũng
cung cấp định nghĩa sau cho các hệ thống tính toán nhận biết ngữ cảnh: "Một hệ
-7thống sử dụng ngữ cảnh để cung cấp các thông tin liên quan hoặc các dịch vụ cho
người dùng trong đó mối liên quan phụ thuộc vào nhiệm vụ của người dùng".
1.2.2. Các đặc trưng của ngữ cảnh
Theo Karen [8] thông tin ngữ cảnh có 4 đặc trưng được cho trong bảng sau.
Theo đó, ta thấy đặc trưng ngữ cảnh phụ thuộc vào hai yếu tố như: kiểu nhận biết
ngữ cảnh, nguồn thu thập. Điều đó ảnh hưởng tới giá trị thuộc tính của ngữ cảnh.
Ví dụ nếu kiểu nhận biết ngữ cảnh là các cảm biến thì khả năng tồn tại của thông
tin ngữ cảnh là không cao, chất lượng thông tin có thể chưa tốt tại một thời điểm
nhất định khi gặp các sự cố như: thiết bị có lỗi, mất mạng, …
Kiểu
Cảm
biến
Nguồn
Cảm biến vật lý và
logic
Tính
lâu dài
Thấp
Đặc tả
Do người dùng đặc tả trực tiếp
(profiled) hoặc gián tiếp qua chương trình
Mãi mãi
Được
phát sinh
Biến
đổi
Các thông tin ngữ
cảnh khác
Chất lượng
Nguyên nhân
lỗi
Có thể có lỗi
Lỗi thiết bị cảm
biến, mất mạng,
ngắt mạng, …
Có thể không
chắc chắn
Dựa vào việc
xử lý của
nguồn phát
Lỗi con người
Đầu vào không
đầy đủ, cơ chế
nguồn, …
Bảng 1. 1: Các thuộc tính đặc trưng của ngữ cảnh
Ngoài ra khi nghiên cứu về các đặc trưng ngữ cảnh, còn một số vấn đề sau:
- Chưa xác định khi không có thông tin nào về vật chất là sẵn có.
- Mơ hồ (tối nghĩa) khi có một số báo cáo khác nhau về vật chất, ví dụ 2 vị
trí cùng được đọc cho một người được lấy từ các thiết bị định vị riêng.
- Không chính xác: khi trạng thái được báo cáo không đúng với trạng thái
đúng, ví dụ khi vị trí của 1 người được biết trong miền giới hạn, nhưng vị trí trong
miền này không được chốt cho mức độ yêu cầu chuẩn xác.
- Sai: khi có lỗi giữa trạng thái được báo cáo và trạng thái thực của vật chất.
Tính chưa xác định thường là do các vấn đề về kết nối, cảm biến và các lỗi
khác. Thông tin mơ hồ phát sinh khi giá trị của một vật chất có thể được lấy một
-8cách độc lập từ nhiều nguồn. Thông tin ngữ cảnh được lấy từ cảm biến là thường
xuyên thay đổi và chấp nhận các vấn đề như tính không chính xác và staleness
(tính cũ, chưa cập nhật). Thông tin ngữ cảnh được cung cấp bởi người dùng
thường chậm thay đổi, kiểu thông tin này được gọi là tĩnh (tức không bao giờ thay
đổi nên độ chính xác cao). Kiểu thông tin ngữ cảnh profiled được lấy trực tiếp từ
người dùng trong form về đặc tả thông tin của họ hoặc lấy gián tiếp qua ứng dụng
của họ [8], ví dụ phần mềm lập lịch duy trì lịch sử hoạt động của người dùng.
Thông tin profiled thường cũ và không đầy đủ. Cuối cùng, đặc điểm về thông tin
mong muốn thường được xác định rộng bởi các thông tin cơ bản.
1.2.3. Phân loại ngữ cảnh
Pash [9] phân loại ngữ cảnh thành 4 chiều là: ngữ cảnh tĩnh của người dùng,
ngữ cảnh động của người dùng, kết nối mạng và ngữ cảnh môi trường. Mỗi chiều
ngữ cảnh được miêu tả bởi tham số ngữ cảnh tương ứng, ví dụ tham số ngữ cảnh
tĩnh của người dùng là profiled, các sở thích, mối quan tâm của người đó, …
Ngữ cảnh
Chiều ngữ cảnh
Các tham số ngữ cảnh
Ngữ cảnh tĩnh của người dùng
Profiled, thói quen, sở thích
Ngữ cảnh động của người dùng
Vị trí, nhiệm vụ hiện thời hoặc có liên quan
tới người hay đối tượng khác.
Ngữ cảnh môi trường
Thời tiết, tiếng ồn, thời gian,..
Kết nối mạng
Đặc tính mạng, đặc tả thiết bị di động đầu
cuối
Bảng 1. 2: Phân loại các chiều ngữ cảnh
Đối với những ngữ cảnh này, có 3 loại hành động được thể hiện. Bộ tích hợp
ngữ cảnh thu thập dữ liệu ngữ cảnh thô từ các cảm biến để làm tăng dữ liệu. Bộ
phân tích ngữ cảnh chuyển dữ liệu thô từ cảm biến thành các dữ liệu mức cao mà
con người có thể hiểu. Các ngữ cảnh mức cao được tạo từ dữ liệu khác với các
nguồn dữ liệu ngữ cảnh theo các chiều khác nhau (vị trí, nhiệt độ, …). Bộ diễn
dịch thực hiện bằng việc sử dụng các luật.
-9Câu hỏi cách tích hợp các phần tử ngữ cảnh, hay các tham số như thế nào
trong một mô hình ứng dụng được tiếp cận theo 2 cách khác nhau. Đầu tiên, có
thể hiểu là cho phép định nghĩa tùy ý các tham số ngữ cảnh và kết hợp tùy ý với
các phần tử của ontology miền. Điều này sẽ cung cấp tính linh hoạt tối đa trong
việc liên kết các tham số ngữ cảnh và các phần tử miền lĩnh vực, và đảm bảo mô
hình có khả năng biểu diễn không giới hạn về mặt lý thuyết. Cách tiếp cận thứ 2
là xác định một hạng mục các tham số ngữ cảnh, và yêu cầu các giá trị đặc tả liên
quan tới miền lĩnh vực để gán cho mỗi lớp. Điều này dường như là một hạn chế
chính cho mô hình khái niệm, tuy nhiên việc sử dụng cụ thể chúng ta mặc định
rằng việc nhóm các tham số là không thể tránh khỏi (xem hình 1.2), từ triển vọng
mô hình hóa và việc sử dụng. Vì chúng ta giả thiết rằng các biểu mẫu tương tác
với người được yêu cầu để hoàn thành và điều chỉnh mô hình, việc nhóm các tham
số là rất cần thiết để người dùng duy trì một cái nhìn tổng quan về mô hình. Mặt
khác, chúng ta giả thiết rằng không phải tất cả các phần tử ngữ cảnh đều sẽ được
liên kết với ontology miền. Điều này có nghĩa sẽ có một khái niệm "hàng xóm"
hoặc cụ thể hơn là khoảng cách giữa các phần tử ngữ cảnh; các phần tử chắc chắn
sẽ liên quan tới một ngữ cảnh được cho, thậm chí chúng không được liên kết trực
tiếp tới miền lĩnh vực. Để đạt được một hàng xóm, một số biểu mẫu các hạng mục
được yêu cầu. Hơn nữa Use & Role cung cấp một hạng mục về người dùng theo
các nguyên tắc của họ như các kiểu khách hàng, hay các kiểu nhân viên khác nhau.
Tác vụ và xử lý biểu diễn một ngữ cảnh chức năng như các đối tượng công
việc cho nhân viên.
Vị trí là một hạng mục của vị trí có liên quan đến ứng dụng, có thể là thành
phố, nông thôn, địa chỉ, …
Thời gian thể hiện kiểu khác của thông tin thời gian có thể liên quan như
vùng thời gian của client, thời gian thực, thời gian ảo, …
-10Thời gian
Các tham số ngữ cảnh
Thiết bị
Vị trí
Thời tiết
Người dùng và vai trò
Tác vụ và xử lý
Hình 1. 2: Tổng quan các hạng mục ngữ cảnh
1.2.4. Nhận biết ngữ cảnh
Tính toán nhận biết ngữ cảnh lần đầu tiên được xem xét bởi Schilit và
Theimer năm 1994 với phần mềm thích ứng theo vị trí sử dụng để sưu tầm những
đối tượng và người gần đó đồng thời thay đổi các đối tượng này theo thời gian.
Các định nghĩa dần trở nên rõ ràng và đặc tả hơn: thích ứng theo ngữ cảnh.
Dey đã xác định khái niệm mới theo cách ngữ cảnh được dùng và các đặc tính
nhận biết ngữ cảnh khác nhau: Một hệ thống là nhận biết ngữ cảnh nếu nó sử
dụng ngữ cảnh để cung cấp thông tin liên quan hay các dịch vụ tới người dùng,
trong đó, mức độ liên quan tùy thuộc vào tác vụ của người dùng. Và định nghĩa
này được lựa chọn là định nghĩa dùng chung cho tính toán nhận biết ngữ cảnh.
Định nghĩa này cho chúng ta biết cách để xác định xem liệu một ứng dụng
có là nhận biết ngữ cảnh hay không. Điều này rất hữu ích khi xác định kiểu ứng
dụng mà chúng ta muốn hỗ trợ. Theo Dey [10] nhận biết ngữ cảnh là một thuộc
tính của một hệ thống có sử dụng ngữ cảnh để cung cấp các thông tin hay dịch vụ
liên quan tới người dùng.
-111.2.5. Phương pháp nhận biết ngữ cảnh
Trong hệ thống gợi ý nhận biết ngữ cảnh, ngữ cảnh luôn luôn được xem là
“bất cứ thông tin nào có thể được sử dụng để đặc trưng hóa tình hình của một thực
thể”, bao gồm thời gian và người đồng hành có thể là hai điều có ảnh hưởng đến
ngữ cảnh, bởi vì sở thích của người dùng có thể thay đổi khi hai ngữ cảnh kia thay
đổi.
Giới thiệu về phân loại hai phần của thông tin theo ngữ cảnh. Phân loại của
nó dựa trên hai sự cân nhắc: những điều mà hệ gợi ý nhận biết về một yếu tố ngữ
cảnh (contextual factor) và cách mà yếu tố ngữ cảnh đó thay đổi theo thời gian.
Hiểu biết của hệ thống (system knowledge) có thể được chia thành: quan sát được
hoàn toàn (fully observable), quan sát được một phần (partially observable) và
không quan sát được (unobservable). Khía cạnh thời gian của một yếu tố có thể
chia thành tĩnh (static) và động (dynamic).
Một vài thuật toán gợi ý nhận biết ngữ cảnh đã được phát triển trong vài thập
kỷ trước. Điển hình là, ngữ cảnh có thể áp dụng trong ba chiến thuật cơ bản sử
dụng gợi ý: lọc trước (pre-filtering), lọc sau (post-filtering) và mô hình ngữ cảnh
(contextual modeling). Kỹ thuật pre-filtering, như là cách tiếp cận phân tách nhận
biết ngữ cảnh (Context-Aware Splitting Approaches – CASA), áp dụng ngữ cảnh
làm bộ lọc trước để lọc ra các hồ sơ xếp hạng không liên quan. Post-filtering, mặt
khác, áp dụng ngữ cảnh như bộ lọc cho hệ gợi ý sau quá trình ra gợi ý. Trong
contextual modeling, các mô hình dự đoán được học cách sử dụng toàn bộ ngữ
cảnh. Hầu hết chúng vẫn còn hoạt động, như là phân rã ma trận nhận diện ngữ
cảnh (CAMF), phân rã nhân tử (TF) và phương pháp tuyến tính ngữ cảnh thưa
thớt (CSLIM).
-12-
Hình 1. 3: Mô hình sử dụng ngữ cảnh [3]
1.3. HỆ THỐNG GỢI Ý
1.3.1. Giới thiệu
Hệ thống gợi ý hay còn gọi là hệ thống khuyến nghị (Recommender system
- RS) là một dạng của hệ thống lọc thông tin, được sử dụng để dự đoán sở thích
(preference) hay xếp hạng (rating) mà người dùng có thể dành cho một mục thông
tin (item) nào đó mà họ chưa xem xét tới trong quá khứ (item có thể là một sản
phẩm, bộ phim, video clip, music, sách, ...) [1] nhằm gợi ý các mục thông tin “có
thể quan tâm” bởi người dùng.
Hệ thống gợi ý sẽ đưa ra các gợi ý dựa trên quá trình thu thập, xử lý và phân
tích dữ liệu từ người dùng. Dữ liệu đó được chia làm 2 loại là tường minh (explicit)
bằng cách yêu cầu người dùng phản hồi trực tiếp và tiềm ẩn (implicit) bằng cách
tự động suy luận dựa trên những tương tác của người dùng với hệ thống như: vị
trí thay đổi, số lần nhấp chuột, thời gian quan sát... Trong hầu hết các trường hợp,
bài toán gợi ý được coi là bài toán dự đoán việc xếp hạng (rating) của các sản
phẩm (phim, sản phẩm tiêu dùng, sách, nhạc…) chưa được người dùng biết đến.
Việc dự đoán này thường dựa trên những đánh giá đã có của chính người dùng đó
hoặc những người dùng khác. Ví dụ, những bộ phim được dự đoán là sẽ có xếp
-13hạng cao nhất sẽ được dùng để gợi ý. Có khá nhiều ứng dụng nổi tiếng về hệ gợi
ý như: gợi ý sản phẩm của Amazon và Ebay, hệ gợi ý phim của NetFlix và
Youtube,...
Hệ thống gợi ý đã chứng minh được ý nghĩa to lớn: giúp cho người sử dụng
trực tuyến đối phó với tình trạng quá tải thông tin. Hệ thống gợi ý trở thành một
trong những công cụ mạnh mẽ và phổ biến trong thương mại điện tử. Mục đích
của hệ thống gợi ý là dựa vào hành vi từ thói quen, nhu cầu... trong quá khứ của
người sử dụng để dự đoán sở thích trong tương lai của họ.
1.3.2. Phân loại hệ thống gợi ý
Có hai loại mô hình hệ thống gợi ý được nghiên cứu và ứng dụng trong
thực tiễn đó là: hệ thống gợi ý 2 chiều (2D RS) và hệ thống gợi ý theo ngữ cảnh
(đa chiều, thông thường là 3 chiều - 3D RS).
1) Hệ thống gợi ý hai chiều
Trong hệ thống gợi ý 2 chiều có hai khái niệm chính là người dùng (user)
và mục tin (item) cần được gợi ý đến cho người dùng. Quá trình gợi ý dựa vào các
phản hồi (feedbacks/rating) của người dùng về các đối tượng. Ví dụ, đánh giá của
người dùng về các sản phẩm mà họ đã từng mua trên Amazon từ đến
. Nhiệm vụ của hệ thống gợi ý là dự đoán các đánh giá của những
người dùng đối với những item mà họ chưa thấy/mua và sau đó gợi ý cho họ [2].
Gọi U là tập người dùng (users); I là tập mục tin (items). Tập I có thể rất
lớn, từ hàng trăm ngàn (sách, CD,…) đến hàng triệu (như bài báo, bản tin,…). R
là tập các giá trị đánh giá của người dùng trên các mục tin.
Thông thường dữ liệu được biểu diễn trong một ma trận 2 chiều, trong đó
mỗi dòng là một user, mỗi cột là một item và mỗi ô là đánh giá của user trên item
tương ứng. Với mỗi người dùng u ∈ U, cần tìm mục i ∈ I (u chưa xem/mua i) sao
cho hàm ȓ đo độ phù hợp (xếp hạng/đánh giá) của người dùng u đạt giá trị lớn
nhất trên i:
-14ȓ: U × I → R
Các kỹ thuật trong hệ thống gợi ý thường được phân thành ba nhóm [11]:
1) Dựa trên nội dung (content-based filtering): người dùng được gợi ý những
item tương tự như các item từng được họ đánh giá cao;
2) Lọc cộng tác (collaborative filtering): người dùng được gợi ý các sản phẩm
mà những người cùng sở thích với họ đánh giá cao. Đây là kỹ thuật thường
được sử dụng nhất;
3) Lai ghép (hybrid): kết hợp cả 2 phương pháp trên.
Ý tưởng chính của kỹ thuật lọc cộng tác là dự đoán độ phù hợp của item i
được đánh giá bởi người dùng u dựa trên tập N(ui,i) giữa người dùng ui và i, trong
đó ui là người có cùng sở thích với u.
Ví dụ, để gợi ý một điểm du lịch cho người dùng u, đầu tiên hệ thống lọc
cộng tác tìm những người dùng khác có cùng sở thích với u. Sau đó, những nơi
được họ đánh giá cao sẽ được dùng để gợi ý cho u.
2) Hệ thống gợi ý theo ngữ cảnh (Context-aware RS)
Thông thường trong hệ thống gợi ý hai chiều, người ta thường biểu diễn dữ
liệu vào ma trận user-item do vậy chỉ quan tâm đến người dùng và mục tin là
chính chứ không quan tâm đến các thông tin ngữ cảnh (context) bên ngoài có tác
động đến quyết định của người dùng hay không. “Thông tin ngữ cảnh là những
thông tin có thể mô tả được hoàn cảnh của một thực thể” [12]. Ví dụ: thời gian,
nơi chốn, thời tiết, tâm trạng,… là những thông tin ngữ cảnh, chúng có thể ảnh
hưởng đến đánh giá của người dùng đối với các item, từ đó dẫn đến sự ảnh hưởng
của những gợi ý trong hệ thống gợi ý.
Với hệ thống gợi ý đa chiều, hàm ȓ được bổ sung thêm thông tin ngữ cảnh
(context) và trở thành:
ȓ: U × I × C → R
(C là thông tin ngữ cảnh)
-15Ví dụ, trong hệ thống gợi ý du lịch, user là khách du lịch, item là những địa
điểm du lịch, và ngữ cảnh có thể là thời gian (buổi sáng/tối, cuối tuần, mùa, lễ,
tết,…), bạn đồng hành (đi một mình, đi với bạn trai/ bạn gái, đi với gia đình, trẻ
nhỏ…). Những đánh giá cho một điểm du lịch bởi một người dùng có thể sẽ phụ
thuộc vào những ngữ cảnh đó. Ví dụ vào buổi tối mùa xuân đi cùng gia đình thì
địa điểm ABC là hấp dẫn nhất, nhưng khi đi cùng bạn gái thì có thể địa điểm đó
không phù hợp nữa)[2].
Không gian gợi ý ba chiều có thể được mô tả trong khối lập phương như ở
Hình 1.4. Ô tô đậm cho biết chỉ số R(101,7,1) = 4 có ý nghĩa là người dùng có mã
số 101 đánh giá sản phẩm có mã số 7 trong điều kiện thời gian có mã số 1 với giá
trị đánh giá là 4. Trong khối lập phương này, không phải ô nào cũng có giá trị,
những ô không có giá trị là do người dùng chưa đánh giá. Mục tiêu của hệ thống
gợi ý là dự đoán giá trị tại những ô còn thiếu đó, từ đó đưa ra lời gợi ý đến với
người dùng.
Hình 1. 4: Minh họa cho không gian gợi ý ba chiều
Các phương pháp tiếp cận trong hệ thống gợi ý đa chiều có thể được tóm
tắt như sau [12]: