1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng hệ thống khuyến nghị hỗ trợ du lịch tỉnh quảng bình

76 91 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 2,99 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

BUILDING 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

Recommender Systems, matrix factorization, collaborative filtering, algorithm

Trang 6

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

Trang 7

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 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

Trang 8

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

Trang 9

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

Trang 10

DANH MỤC CÁC TỪ VIẾT TẮT

3 CAMF Context Aware Matrix Factorization

4 CSLIM Contextual Sparse Linear Method

9 MCS Multidimensional Context Similarity

Trang 11

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

Trang 12

Nă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

Trang 13

Nghiê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

Trang 14

- 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

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

Trang 15

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

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

Các cơ quan

QLNN

Đơn vị cung cấp DV du lịch

Tiêu dùng du lịch cá nhân

hóa kết hợp Số và Thực

Dịch vụ du lịch QLNN về du lịch

Internet vạn vật

Điện toán đám mây

Trí tuệ nhân tạo

Hệ thống khuyến nghị

du lịch

Trang 16

1.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ệ

Trang 17

thố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, …

Cảm

biến Cảm biến vật lý và logic Thấp Có thể có lỗi

Lỗi thiết bị cảm biến, mất mạng, ngắt mạng, … Đặc tả

(profiled)

Do người dùng đặc tả trực tiếp

hoặc gián tiếp qua chương trình Mãi mãi

Có thể không chắc chắn Lỗi con người Được

phát sinh Các thông tin ngữ cảnh khác Biến đổi

Dựa vào việc

xử lý của nguồn phát

Đầ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

Trang 18

cá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 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

Trang 19

Câ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, …

Trang 20

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

Thiết bị

Vị trí

Thời tiết

Tác vụ và xử lý Người dùng và vai trò

Trang 21

1.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)

Trang 22

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

Trang 23

hạ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:

Trang 24

ȓ: 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(u i ,i) giữa người dùng u i và i, trong

đó u i 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:

Trang 25

Ví 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]:

Trang 26

• Xử lý ngữ cảnh đầu vào (Contextu alpre-filtering): Trong tiếp cận này, thông

tin về ngữ cảnh được sử dụng để lựa chọn hoặc xây dựng các thiết lập có liên quan đến dữ liệu (xếp hạng) Sau khi lọc thông tin ngữ cảnh, hệ thống đa chiều

sẽ trở thành hệ thống hai chiều và ta có thể sử dụng bất kỳ phương pháp gợi ý truyền thống nào trên các dữ liệu đã chọn

• Xử lý ngữ cảnh đầu ra (Contextual post-filtering): Trong tiếp cận này, ngữ

cảnh thông tin ban đầu bị bỏ qua và xếp hạng được dự đoán bằng cách sử dụng bất kỳ phương pháp gợi ý truyền thống trên toàn bộ dữ liệu Sau đó, các gợi ý được điều chỉnh cho mỗi người sử dụng bằng cách sử dụng các thông tin theo ngữ cảnh

• Mô hình hóa ngữ cảnh (Contextual modeling): Phương pháp này xây dựng

một mô hình dự đoán Ví dụ, mô hình này có thể đưa ra xác suất một người dùng cụ thể chọn một sản phẩm cụ thể trong một bối cảnh cụ thể là bao nhiêu Sau đó xác suất này được dùng để điều chỉnh và tìm ra gợi ý phù hợp

1.3.3 Dự đoán trong hệ thống gợi ý

Một cách hình thức, gọi U là tập người dùng, I là tập các sản phẩm có thể được gợi ý Tập sản phẩm I có thể lên đến hàng trăm, hàng nghìn thậm chí là hàng triệu sản phẩm Tương tự như vậy, tập người dùng U cũng có thể rất lớn lên đến hàng triệu trường hợp Để dự đoán xếp hạng (hay tính tiện ích) của sản phẩm i đối

với người dùng u thì người ta đưa ra hàm xếp hạng (rating) r: U × I R, trong

đó R là tập các giá trị xếp hạng được thứ tự toàn phần (ví dụ số nguyên dương hoặc số thực trong tập xác định) Mô hình này còn được gọi với tên gọi là mô hình

dự đoán 2 chiều (two-dimensional recommendation framework) [3]

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

Trang 27

Với mỗi người dùng u ∈ U, chúng ta có thể chọn được sản phẩm i ∈ I sao cho hàm xếp hạng của người dùng u đối với item i là lớn nhất

ˆ, u arg max ( , )

i I

Tập người dùng U (u U; |U|=n), tập sản phẩm I (i I; |I| = m), và rui ∈

R là xếp hạng của người dùng u cho sản phẩm i Trong hệ gợi ý, tính tiện ích của sản phẩm i thường biểu thị mức độ quan tâm của người dùng tới một mặt hàng cụ thể thông qua trọng số; ví dụ người dùng May đánh giá sản phẩm 3 có trọng số là

Bảng 1 3: Bảng ma trận trọng số (đánh giá) của hệ gợi ý

1.3.4 Các phương pháp tiếp cận truyền thống trong hệ gợi ý

Có rất nhiều phương pháp tiếp cận trong hệ gợi ý, tuy nhiên có thể chia thành 3 nhóm kỹ thuật chính như sau:

- Gợi ý dựa trên cộng tác (collaborative filtering - CF): người dùng sẽ được gợi ý những sản phẩm được ưa chuộng xuất phát từ những người dùng

có cùng sở thích và thị hiếu với mình (có độ tương quan cao)

- Gợi ý dựa trên nội dung (content-based filtering): người dùng sẽ được gợi ý những sản phẩm tương tự với những sản phẩm đã được người dùng

đó ưa thích trước đây

- Gợi ý dựa trên cách tiếp cận kết hợp (hybrid approach): kết hợp cả hai phương pháp lọc cộng tác và dựa trên nội dung

Trong các phương pháp tiếp cận trên, phương pháp tiếp cận dựa trên lọc cộng tác thường được sử dụng nhiều nhất Phương pháp này dựa trên những hành

Trang 28

vi quá khứ của người dùng, ví dụ như: lịch sử giao dịch, đánh giá sản phẩm, xem một bộ phim, nghe một bài hát, và đặc biệt là nó không cần thiết phải tạo ra các

hồ sơ tường minh (explicit feedback) cho người dùng Để gợi ý các sản phẩm cho người dùng, hệ thống lọc cộng tác cần so sánh các đối tượng cơ bản khác nhau như các sản phẩm và người dùng Một hệ thống lọc cộng tác truyền thống thường

có kiến trúc như sau:

Hình 1 6: Kiến trúc tổng quan của hệ thống lọc cộng tác [3]

1.3.5 Các phương pháp tiếp cận hiện đại trong hệ gợi ý

Trong vài thập kỷ đã qua, một số thuật toán gợi ý nhận diện ngữ cảnh đã được phát triển, như là:

a) Mô hình bối cảnh khác biệt (Differential Context Modeling): kết hợp ngữ cảnh như là những bộ lọc trong lọc cộng tác (Collaborative Filtering)

b) Phân rã ma trận nhận diện ngữ cảnh (Context-Aware Matrix Factorization - CAMF): sử dụng ngữ cảnh trong phân rã ma trận

c) Phân rã nhân tử (Tensor Factorization - TF): trực tiếp xem xét ngữ cảnh

là chiều cá nhân trong không gian xếp hạng đa chiều

Trang 29

2) Phương pháp dựa trên ngữ nghĩa

Hầu hết thông tin của sản phẩm, người dùng trong hệ gợi ý và phần còn lại của trang web được thể hiện ra trong trang web ở dạng văn bản Sử dụng chủ đề

và từ khóa mà không có bất kỳ ý nghĩa ngữ nghĩa nào sẽ không cải thiện tính chính xác của các đề xuất trong mọi trường hợp, vì một số từ khóa có thể là từ đồng âm Đó là lý do tại sao việc hiểu và cấu trúc cho văn bản là một khuyến nghị rất quan trọng Phương pháp khai thác văn bản truyền thống dựa trên phân tích từ vựng và cú pháp cho thấy các mô tả có thể hiểu được bởi người dùng chứ không phải máy tính hoặc hệ thống đề xuất Đó là một lý do tạo ra các kỹ thuật xác định

ý nghĩa văn bản mới dựa trên phân tích ngữ nghĩa Các hệ thống đề xuất với các

kỹ thuật như vậy được gọi là các hệ thống đề xuất ngữ nghĩa

1.3.6 Các phương pháp tiếp cận phân rã ma trận

1) Phân rã ma trận (Matrix Factorization)

Phân rã ma trận là một trong các thuật toán gợi ý hiệu quả nhất trong hệ thống gợi ý truyền thống Đơn giản, cả người dùng và sản phẩm đều được biểu diễn dưới dạng vector Ví dụ, 𝑝⃗⃗⃗⃗ được sử dụng để biểu thị vector người dùng, 𝑝𝑢 ⃗⃗⃗ 𝑖như là một vector sản phẩm Các giá trị trong những vector đó có thể được biểu diễn bởi phương trình 1

Trang 30

𝑟̂𝑢𝑖 = 𝑝⃗⃗⃗⃗ 𝑝𝑢 ⃗⃗⃗ 𝑖 (1) Đặc biệt hơn, trọng số của 𝑝⃗⃗⃗⃗ được sử dụng để biểu thị số lượng người dùng 𝑢thích các nhân tố tiềm ẩn (latent factor) đó, và trọng số 𝑝⃗⃗⃗ thể hiện cách mà những 𝑖sản phẩm này có được các nhân tố tiềm ẩn đó Do đó, tích vô hướng của hai vector này được sử dụng để biểu lộ mức độ người dùng thích sản phẩm này

𝑟̂𝑢𝑖 = 𝜇 + 𝑏𝑢+ 𝑏𝑖 + 𝑝⃗⃗⃗⃗ 𝑝𝑢 ⃗⃗⃗ 𝑖 (2) Bên cạnh đó, người dùng và thiên vị đánh giá sản phẩm cũng được thêm vào, như đã biểu diễn ở công thức số 2, nơi mà 𝜇 biểu lộ đánh giá trung bình toàn bộ trong bộ dữ liệu, 𝑏𝑢 và 𝑏𝑖 biểu diễn người dùng và thiên vị cho sản phẩm tương

ứng

2) Phân rã ma trận nhận biết ngữ cảnh (Context-aware Matrix Factorization)

Xét ví dụ gợi ý phim trong Bảng 1.4 Ta thấy người dùng U1, một sản phẩm

T1, và ba chiều ngữ cảnh - Thời gian (ngày trong tuần và cuối tuần), Vị trí (ở nhà

và rạp phim) và Đồng hành (một mình, người yêu, gia đình) Trong thảo luận sau, chúng ta sử dụng chiều ngữ cảnh để chứng tỏ giá trị của ngữ cảnh, ví dụ như

Vị trí Thuật ngữ điều kiện ngữ cảnh đề cập đến một giá trị cụ thể trong một chiều,

ví dụ như “nhà” và “rạp phim” là hai trạng thái của “Vị trí” Do đó, một ngữ cảnh hay một tình huống có ngữ cảnh là một tập hợp của các trạng thái ngữ cảnh

Bảng 1 4: Xếp hạng phim trong ngữ cảnh

Thêm nữa, chúng ta sử dụng 𝑐𝑘 và 𝑐𝑚 để chứng tỏ hai tình huống ngữ cảnh khác nhau Nói cách khác, 𝑐𝑘 được hợp thành bởi một tập của các điều kiện ngữ cảnh Và chúng ta sử dụng 𝑐𝑘,𝑙 để chứng tỏ trạng thái ngữ cảnh thứ l (𝑙𝑡ℎ) trong

Trang 31

ngữ cảnh 𝑐𝑘 Ví dụ, giả sử 𝑐𝑘 = {cuối tuần, ở nhà, một mình}, 𝑐𝑘,2 là “nhà” Trong những thảo luận dưới, chúng ta tiếp tục sử dụng những ký hiệu và biểu tượng này

để mô tả không gian ngữ cảnh và các điều kiện tương tự trong thuật toán hay phương trình

Hầu hết các thuật toán gợi ý nhận biết ngữ cảnh được xây dựng bằng cách kết hợp ngữ cảnh và trong các thuật toán gợi ý truyền thống, đặc biệt là những thuật toán dựa trên lọc cộng tác Đây là một trong những thuật toán gợi ý phổ biến nhất, nó khá hợp lý cho việc sử dụng MF để xây dựng các thuật toán phân rã ma trận nhận biết ngữ cảnh

Thuật toán CAMF có phương trình dự đoán xếp hạng được biểu diễn [24]:

𝑟̂𝑢𝑖𝑐𝑘,1𝑐𝑘,2…𝑐𝑘,𝑙 = 𝜇 + 𝑏𝑢+ ∑𝐿𝑗=1𝐵𝑖𝑗𝑐𝑘,𝑗 + 𝑝⃗⃗⃗⃗ 𝑞𝑢 ⃗⃗⃗ 𝑖 (3) Giả sử ta có tổng cộng L không gian ngữ cảnh, 𝑐𝑘 = {𝑐𝑘,1𝑐𝑘,2… 𝑐𝑘,𝑙} được dùng để mô tả tình huống ngữ cảnh, với 𝑐𝑘,𝑗 biểu thị tình trạng ngữ cảnh trong chiều ngữ cảnh thứ j (𝑗𝑡ℎ) Do đó, 𝐵𝑖𝑗𝑐𝑘,𝑗 biểu thị độ lệch đánh giá theo ngữ cảnh (contextual rating deviation term) với sản phẩm i và trạng thái ngữ cảnh trong chiều thứ j (𝑗𝑡ℎ)

Một so sánh giữa công thức 2 và công thức 3 cho thấy rằng CAMF đơn giản thay thế thiên vị sản phẩm 𝑏𝑖 bởi một công thức độ lệch đánh giá theo ngữ cảnh

∑𝐿𝑗=1𝐵𝑖𝑗𝑐𝑘,𝑗 và nó giả định rằng thiên vị đánh giá theo ngữ cảnh là phụ thuộc vào sản phẩm, do đó, hướng tiếp cận này được đặt tên là CAMF_CI (Context Item) Theo đó, độ lệch này cũng có thể được biểu diễn bị phụ thuộc vào người dùng, bằng cách thay thế 𝑏𝑢 bằng độ lệch đánh giá theo ngữ cảnh và hình thành CAMF_CU (Context User) Thêm nữa, thuật toán CAMF_C giả định rằng độ lệch đánh giá theo ngữ cảnh không phụ thuộc và người dùng hay sản phẩm

Trang 32

Do đó, những biến số, như là người dùng và sản phẩm và vector sản phẩm, thiên vị người dùng và độ lệch đánh giá, có thể được học bằng phương pháp stochastic gradient descent (SGD) để giảm thiểu lỗi dự đoán xếp hạng.

3) Phân rã ma trận nhận biết ngữ cảnh dựa trên tương quan (Correlation-Based Context-aware Matrix Factorization)

Phương trình độ lệch đánh giá theo ngữ cảnh là một cách phổ biến và hiệu quả để xây dựng thuật toán gợi ý hướng ngữ cảnh CARS hiện tại đã kết hợp độ

lệch đánh giá theo ngữ cảnh vào phương pháp tuyến tính rời rạc (Sparse Linear Method - SLIM) và phát triển hướng ngữ cảnh cho SLIM (CSLIM) và CSLIM đã

được chứng minh là vượt trội những thuật toán gợi ý hướng ngữ cảnh hiện tại, bao gồm cả CAMF đã được giới thiệu ở trên

Tương quan ngữ cảnh là một cách thay thế để xây dựng thuật toán gợi ý

hướng ngữ cảnh, ngoại trừ mô hình hóa sai lệch theo ngữ cảnh (modeling the contextual deviations) Tiếp theo, chúng ta khám phá thêm những cách để xây

dựng CAMF dựa trên tương quan

Giả định đằng sau khái niệm “ngữ cảnh tương quan” là: tăng thêm tính tương

tự hay tương quan giữa hai ngữ cảnh, hai danh sách gợi ý cho cùng một người dùng cho hai tình huống tương tự cũng nên giống nhau Trong phân rã ma trận, hàm dự đoán có thể được mô tả như phương trình 4 [24]

𝑟̂𝑢𝑖𝑐𝑘 = 𝑞⃗⃗⃗⃗ ∙ 𝑞𝑢 ⃗⃗⃗ ∙ 𝐶𝑜𝑟𝑟(𝑐𝑖 𝑘, 𝑐𝐸) (4)

𝑐𝐸 thay cho tình huống có ngữ cảnh thiếu - giá trị trong không gian mẫu là

trống (empty) hoặc không có sẵn (Not Available - NA), nghĩa là: 𝑐𝐸,1 = 𝑐𝐸,2 =

⋯ = 𝑐𝐸,𝐿 = 𝑁/𝐴 Do đó, hàm 𝐶𝑜𝑟𝑟(𝑐𝑘, 𝑐𝐸) ước tính sự tương quan giữa 𝑐𝐸 và hình huống ngữ cảnh 𝑐𝑘 nơi mà ít nhất một tình huống ngữ cảnh không trống hoặc

“NA” Chú ý rằng công thức 3 Ngữ cảnh sai lệch xếp hạng theo ngữ cảnh có thể được xem như sai lệch từ tình huống ngữ cảnh thiếu với tình huống không thiếu ngữ cảnh [24]

Trang 33

nhau (Independent Context Similarity – ICS), Bối cảnh tiềm ẩn tương tự nhau (Latent Context Similarity – LCS), Bối cảnh đa chiều tương tự nhau (Multidimensional Context Similarity – MCS), Trọng số ngữ cảnh jaccard tương

tự nhau (Weighted Jaccard Context Similarity – WJCS) Và những chiến thuật này

có thể được sử dụng lại trong CAMF dựa trên tương quan Do WJCS chỉ đếm chiều ngữ cảnh có cùng giá trị và sự tương quan được tính toán bằng điều đó giữa một ngữ cảnh và một ngữ cảnh trống, nó không áp dụng cho hàm tương quan được đề cập ở trên

1.3.7 Các phương pháp tiếp cận theo tương quan ngữ cảnh

1) Bối cảnh độc lập tương tự nhau (Independent Context Similarity - ICS)

Một ví dụ của ma trận tương quan trong Bảng 1.5 Với ICS, chúng ta chỉ tính toán sự tương quan giữa hai trạng thái dữ liệu khi chúng nằm trên cùng một chiều không gian ngữ cảnh, chúng ta không bao giờ tính toán tương quan giữa “Thời gian = Cuối tuần” và “Vị trí = Nhà”, bởi vì chúng từ hai chiều khác nhau Mỗi cặp của chiều không gian được cho rằng không phụ thuộc vào nhau Trong trường hợp này, sự tương quan giữa hai ngữ cảnh có thể được biểu diễn bằng tích của sự tương quan giữa các chiều khác nhau Ví dụ, cho rằng 𝑐𝑘 là {Thời gian = Cuối tuần, Vị trí = Nhà}, và 𝑐𝑚 là {Thời gian = Giữa tuần, Vị trí = Rạp phim}, sự

tương quan giữa 𝑐𝑘 và 𝑐𝑚 có thể được biểu diễn bằng sự tương quan của <Thời gian = Cuối tuần, Thời gian = Giữa tuần> nhân với tương quan của <Vị trí = Nhà, Vị trí = Rạp phim>, vì hai chiều chiều này được cho là không phụ thuộc

Trang 34

T = Cuối tuần T = Giữa tuần L = Nhà L = Rạp phim

Bảng 1 5: Ví dụ của một ma trận tương quan

Cho rằng có tất cả L chiều không gian ngữ cảnh, sự tương quan có thể được

dự đoán bằng công thức 6, với 𝑐𝑘,𝑙 được dùng để biểu đạt giá trị của trạng thái

ngữ cảnh trong chiều không gian thứ l trong ngữ cảnh 𝑐𝑘, và hàm “correlation” được dùng để biểu diễn sự tương quan giữa hai trạng thái ngữ cảnh, mà cũng là cái được học trong quá trình tối ưu Nói cách khác, sự tương quan giữa hai ngữ cảnh được biểu diễn bằng tích của các tương quan không phụ thuộc giữa các trạng thái ngữ cảnh trong mỗi miền không gian [24]

𝐶𝑜𝑟𝑟(𝑐𝑘, 𝑐𝑚) = ∏𝐿𝑙=1𝑐𝑜𝑟𝑟𝑒𝑙𝑎𝑡𝑖𝑜𝑛(𝑐𝑘,𝑙, 𝑐𝑚,𝑙) (6)

Những giá trị tương quan này (𝑐𝑜𝑟𝑟𝑒𝑙𝑎𝑡𝑖𝑜𝑛(𝑐𝑘,𝑙, 𝑐𝑚,𝑙)) có thể được học bởi quá trình tối ưu một cách hợp lý Sự rủi ro của biểu diễn này là vài thông tin có thể bị mất, nếu sự tương quan là không thật sự phụ thuộc trong các chiều ngữ cảnh khác nhau Ví dụ, nếu người dùng luôn luôn đi xem phim để xem phim tình cảm với gia đình của họ, thì “Vị trí” và “Đồng hành” có thể có ý nghĩa tương quan với kết quả

2) Bối cảnh tiềm ẩn tương tự nhau (Latent Context Similarity - LCS)

Như đã lưu ý trước đó, dữ liệu xếp hạng theo ngữ cảnh thường thưa thớt, vì việc nhiều người dùng xếp hạng các sản phẩm giống nhau trong nhiều tình huống theo ngữ cảnh là hơi bất thường Điều này đặt ra một khó khăn khi bối cảnh mới gặp phải

Ví dụ, sự tương quan giữa một cặp ngữ cảnh mới <Thời gian = Cuối tuần, Thời gian = Kỳ nghỉ> có thể yêu cầu trong bộ dữ liệu thử, nhưng nó có thể không

Trang 35

được học từ dữ liệu dạy vì vấn đề dữ liệu thưa thớt (sparsity problem) Nhưng sự

tương quan của hai cặp dữ liệu có sẵn <Thời gian = Giữa tuần, Thời gian = Cuối tuần> và <Thời gian = Giữa tuần, Thời gian = Kỳ nghỉ> có thể đã được học

Trong trường hợp này, biểu diễn này bị vấn đề xếp hạng thưa thớt theo ngữ

cảnh (contextual rating sparsity problem) Việc xử lý từng không gian một cách

độc lập sẽ ngăn thuật toán tận dụng ưu thế của việc so sánh mà có thể làm được thông qua nhiều chiều không gian

Để giảm thiểu vấn đề này, chúng ta biểu diễn mỗi trạng thái ngữ cảnh bởi một vector trọng số thông qua một tập các hệ số tiềm ẩn (theo kinh nghiệm thì chúng ta sử dụng 5 hệ số tiềm ẩn), mà trọng số được khởi tạo vào thời điểm bắt đầu và được học qua quá trình tối ưu Tích vô hướng giữa hai vector có thể được dùng để biểu đạt sự tương quan giữa mỗi cặp trạng thái ngữ cảnh Kết quả là ngay

cả khi có một cặp mới mà không tồn tại trong bộ dữ liệu dạy, trọng số trong vector

để biểu diễn hai trạng thái (“Thời gian = Cuối tuần” và “Thời gian = Kỳ nghỉ”) sẽ được học và cập nhật bởi quá trình học thông qua các cặp đang tồn tại, và sự tương quan của cặp mới có thể được tính toán một cách dễ dàng bằng sử dụng tích vô hướng Sự tương quan được cho bởi [24]:

𝑐𝑜𝑟𝑟𝑒𝑙𝑎𝑡𝑖𝑜𝑛(𝑐𝑘,𝑙, 𝑐𝑚,𝑙) = 𝑉𝑐𝑘,𝑙 ∙ 𝑉𝑐𝑚,𝑙 (7)

với 𝑉𝑐𝑘,𝑙 và 𝑉𝑐𝑚,𝑙 biểu diễn vector đại diện cho trạng thái ngữ cảnh 𝑐𝑘,𝑙 và 𝑐𝑚,𝑙, tương ứng trong không gian của các yếu tố tiềm ẩn Sau đó, chúng ta sử dụng phép tính tương quan tương tự như công thức (6) Chúng ta gọi phương pháp này

là mô hình Latent Context Similarity (LCS) Phương pháp này cũng cho phép tăng thêm hiệu suất của thuật toán SCLIM dựa trên sai lệch Trái ngược với phương pháp tiếp cận bối cảnh độc lập tương tự nhau, LCS tăng thêm khả năng đáp ứng, nhưng cũng thêm hao tổn tính toán qua việc học các hệ số tiềm ẩn Với LCS, những gì cần được học trong quá trình tối ưu là các vector trọng số đại diện cho từng trạng thái ngữ cảnh

Trang 36

3) Bối cảnh đa chiều tương tự nhau (Multidimensional Context Similarity

- MCS)

Trong mô hình MCS, chúng ta giả định rằng các chiều ngữ cảnh tạo thành một hệ tọa độ đa chiều (Hình 1.7)

Hình 1 7: Ví dụ của hệ tọa độ đa chiều [24]

Chúng ta giả định rằng có ba chiều không gian ngữ cảnh: Thời gian, Vị trí

và Đồng hành Chúng ta gán giá trị thực sự cho từng trạng thái ngữ cảnh trong

những chiều này, do đó mỗi trạng thái được xác định một vị trí trong trục tương ứng Trong trường hợp này, một ngữ cảnh (là một tập các trạng thái ngữ cảnh) có thể được biểu diễn như một điểm trong không gian đa chiều Theo đó, khoảng cách giữa hai điểm có thể được sử dụng như nền tảng cho tính toán tương quan Trong phương pháp này, những giá trị thực cho mỗi trạng thái ngữ cảnh là thông

số được học trong quá trình tối ưu Ví dụ, những giá trị “gia đình” và “trẻ em” được cập nhật trong phía bên phải của Hình 1.7 Vậy nên vị trí của các điểm dữ liệu được cấp cho hai trạng thái ngữ cảnh này sẽ được thay đổi, tương tự với khoảng cách giữa tính tương quan của hai ngữ cảnh Do đó, mối tương quan có thể được tính bằng nghịch đảo khoảng cách giữa hai điểm dữ liệu Trong các thí nghiệm, chúng tôi sử dụng khoảng cách Euclidean để tính khoảng cách, mặc dù các cách tính khoảng cách khác có thể được sử dụng Chi phí tính toán liên quan trực tiếp đến số lượng trạng thái ngữ cảnh trong bộ dữ liệu, mà có thể khiến cho

Trang 37

phương pháp này là là mô hình hao phí nhất Một lần nữa, số lượng trạng thái ngữ cảnh có thể được giảm bởi việc lựa chọn ngữ cảnh

1.3.8 Đánh giá hệ thống gợi ý

Theo [11], việc đánh giá một hệ gợi ý trong nhiều trường hợp thì đó là việc

so sánh những hướng tiếp cận nào tốt phù hợp để thiết kế quy trình hay hệ thống

Từ bước đầu tiên là chọn ra thuật toán phù hợp để quyết định những thuộc tính nào của ứng dụng được dùng để đưa ra quyết định, cụ thể là một hệ gợi ý có rất nhiều thuộc tính khác nhau có thể ảnh hưởng đến trải nghiệm người dùng như độ chính xác, chắc chắn, khả năng mở rộng… Các thuật toán có thể so sánh bằng những hệ số (metric) Có hai nhóm tiêu chí đánh giá: các tiêu chí định lượng và tiêu chí định tính Các tiêu chí định lượng được giành riêng cho việc đánh giá số lượng các gợi ý liên quan, chúng tương ứng với độ chính xác Các tiêu chí định tính được sử dụng để đánh giá chung về chất lượng của hệ gợi ý

1) Các tiêu chí định lượng:

- Đánh giá độ chính xác của hàm dự đoán xếp hạng (rating prediction): việc

đánh giá chính xác các dự đoán có thể sử dụng sai số bình phương trung bình

(Mean square error - MSE), căn của sai số bình phương trung bình (Root mean square error - RMSE), sai số trung bình tuyệt đối (Mean absolute error - MAE)

[13] Tính chính xác của các dự đoán được đo trên n quan sát, trong đó pi là giá trị dự đoán xếp hạng của sản phẩm i và ri là giá trị xếp hạng thực tế của sản phẩm

i

2 1

2 1

Trang 38

Số lượng gợi ý phù hợp

Số lượng gợi ý tạo ra

Các chỉ số này thích hợp cho một CSDL không phải nhị phân và cho một giá trị dự đoán là số Nó giúp đo lường mức độ sai số của các dự đoán Các giá trị này

đo lường này bằng 0 khi hệ thống đạt hiệu quả tốt nhất Giá trị này càng cao thì hiệu quả của hệ thống, hay nói cách khác là độ chính xác dự đoán của hệ thống càng thấp

- Đánh giá độ chính xác của hàm gợi ý (item recommendation): ngoài việc đánh giá tính chính xác của các dự đoán, một số chỉ số khác như precision, recall

và F_score, R score được dùng để đánh giá độ chính xác của hàm gợi ý (đánh giá

việc sử dụng của các dự đoán) trong trường hợp CSDL nhị phân (Herlocker J.L

et al, 2004)

Precision: là tỷ lệ giữa số lượng các gợi ý phù hợp và tổng số các gợi ý đã

cung cấp (đã tạo ra) Precision bằng 100% có nghĩa là tất cả các gợi ý cho người dùng đều phù hợp

Recall: được định nghĩa bởi tỷ lệ giữa số lượng các gợi ý phù hợp và số

lượng các mục dữ liệu mà người dùng đã chọn (xem, nghe, mua, đọc, ) Recall được sử dụng để đo khả năng hệ thống tìm được những mục dữ liệu phù hợp so với những gì mà người dùng cần

F-score: Precision và Recall được xem là hữu ích trong việc đánh giá một

hệ gợi ý Tuy nhiên, trong một số trường hợp thì precision và recall lại có giá trị

tỷ lệ nghịch với nhau Ví dụ số lượng gợi ý mà hệ thống tạo ra là 10, số lượng gợi

Số lượng gợi ý phù hợp

Số lượng sản phẩm được chọn bởi người dùng

Ngày đăng: 14/07/2020, 15:06

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w