Tải bản đầy đủ (.pdf) (79 trang)

Nghiên cứu, xây dựng hệ thống lập kế hoạch du lịch dựa trên hệ gợi ý

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.9 MB, 79 trang )

Header Page 1 of 161.
BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ QUỐC PHÒNG

HỌC VIỆN KỸ THUẬT QUÂN SỰ

NGUYỄN ĐÌNH GIỚI

NGHIÊN CỨU, XÂY DỰNG HỆ THỐNG LẬP KẾ HOẠCH DU LỊCH
DỰA TRÊN HỆ GỢI Ý

LUẬN VĂN THẠC SĨ
Chuyên ngành: Khoa học máy tính

Hà Nội - Năm 2016

Footer Page 1 of 161.


Header Page 2 of 161.

BỘ GIÁO DỤC VÀ ĐÀO TẠO

BỘ QUỐC PHÒNG

HỌC VIỆN KỸ THUẬT QUÂN SỰ

NGUYỄN ĐÌNH GIỚI

NGHIÊN CỨU, XÂY DỰNG HỆ THỐNG LẬP KẾ HOẠCH DU LỊCH


DỰA TRÊN HỆ GỢI Ý
Chuyên ngành: Khoa học máy tính
Mã số: 60480101

CÁN BỘ HƯỚNG DẪN KHOA HỌC
Cán bộ hướng dẫn chính: TS. Nguyễn Thị Hiền

Hà Nội - Năm 2016

Footer Page 2 of 161.


Header Page 3 of 161.

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
HỌC VIỆN KỸ THUẬT QUÂN SỰ
Cán bộ chấm phản biện 1: ...................................................................................

Cán bộ chấm phản biện 2: ...................................................................................

Luận văn thạc sĩ được bảo vệ tại:
HỘI ĐỒNG CHẤM LUẬN VĂN THẠC SĨ
HỌC VIỆN KỸ THUẬT QUÂN SỰ
Ngày…tháng…năm 2016

Footer Page 3 of 161.


Header Page 4 of 161.


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn: Nguyễn Đình Giới
Đề tài luận văn: Nghiên cứu, xây dựng hệ thống lập kế hoạch du lịch
dựa trên hệ gợi ý
Chuyên ngành: Khoa học máy tính
Mã số: 60480101
Cán bộ hướng dẫn: TS. Nguyễn Thị Hiền
Tác giả, cán bộ hướng dẫn khoa học và Hội đồng chấm luận văn xác
nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày
..............................................với các nội dung như sau:
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
.............................................................................................................................
Ngày ..... tháng .... năm 2016
Cán bộ hướng dẫn

Footer Page 4 of 161.

Tác giả luận văn


Header Page 5 of 161.

Nguyễn Thị Hiền

Nguyễn Đình Giới


CHỦ TỊCH HOẶC THƯ KÝ HỘI ĐỒNG

Footer Page 5 of 161.


Header Page 6 of 161.

Tôi xin cam đoan:
Những kết quả nghiên cứu được trình bày trong luận văn là hoàn toàn
trung thực, của tôi, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và
pháp luật Việt Nam. Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp luật.

TÁC GIẢ LUẬN VĂN

Nguyễn Đình Giới

Footer Page 6 of 161.


Header Page 7 of 161.

MỤC LỤC
Trang
Trang phụ bìa:.....................................................................................................
Bản xác nhận chỉnh sửa luận văn:.......................................................................
Bản cam đoan: ....................................................................................................
Mục lục:...............................................................................................................
Tóm tắt luận văn:.................................................................................................
Danh mục chữ viết tắt ........................................................................................

Danh mục bảng biểu............................................................................................
Danh mục hình vẽ...............................................................................................
MỞ ĐẦU .......................................................................................................... 1
Chương 1. HỆ THỐNG GỢI Ý VÀ GIẢI THUẬT CBR............................ 3
1.1. Giới thiệu hệ thống gợi ý ......................................................................... 3
1.1.1. Hệ thống gợi ý ..................................................................................... 3
1.2.2. Các phương pháp gợi ý truyền thống .................................................. 4
1.2. Giải thuật CBR ......................................................................................... 6
1.2.1. Khái niệm CBR ................................................................................... 6
1.2.2. Giải thuật CBR .................................................................................... 7
CHƯƠNG 2: BÀI TOÁN GỢI Ý TOUR DU LỊCH .................................. 12
2.1. Mô hình lô-gic và các hàm chức năng ..................................................... 12
2.2. Biểu diễn thành phần tour ........................................................................ 16
2.2.1. Cấu trúc của một case ....................................................................... 18
2.2.2. Độ tương đồng và xếp hạng các item ............................................... 24
2.2.3. Hệ thức khoảng cách không đồng nhất ............................................. 31
2.2.4. Độ tương đồng giữa hai case ............................................................ 33
Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG CỔNG THÔNG TIN
DU LỊCH ........................................................................................................ 47

Footer Page 7 of 161.


Header Page 8 of 161.

3.1. Thiết kế cơ sở dữ liệu ............................................................................. 47
3.1.1. Các thực thể....................................................................................... 47
3.1.2. Sơ đồ liên kết thực thể ...................................................................... 53
3.2. Thiết kế chương trình ............................................................................ 53
3.2.1. Thiết kế các lớp dữ liệu ..................................................................... 53

3.2.2. Sơ đồ liên kết lớp .............................................................................. 60
3.2.3. Luồng xử lý hệ thống ........................................................................ 61
Chương 4. XÂY DỰNG HỆ THỐNG ......................................................... 62
4.1. Xây dựng hệ thống ................................................................................... 62
4.2. Kết quả thực hiện ..................................................................................... 62
KẾT LUẬN VÀ HƯỚNG MỞ RỘNG ........................................................ 64
TÀI LIỆU THAM KHẢO ............................................................................ 65

Footer Page 8 of 161.


Header Page 9 of 161.

TÓM TẮT LUẬN VĂN
+ Họ và tên học viên: Nguyễn Đình Giới
+ Chuyên ngành: Khoa học máy tính

Khoá: 2014 - 2016

+ Cán bộ hướng dẫn: TS. Nguyễn Thị Hiền
+ Tên đề tài: Nghiên cứu, xây dựng hệ thống lập kế hoạch du lịch dựa trên hệ
gợi ý.
+ Tóm tắt: Nghiên cứu giải thuật CBR để áp dụng vào cổng thông tin du lịch
nhằm gợi ý cho người dùng những tour du lịch hợp lý nhất. Kết quả gợi ý
được đưa ra khá tốt.

Footer Page 9 of 161.


Header Page 10 of 161.


BẢNG DANH MỤC CHỮ VIẾT TẮT

Ký hiệu
CBR

Thuật ngữ
Case –Based Reasoning

Footer Page 10 of 161.


Header Page 11 of 161.

DANH MỤC BẢNG BIỂU
Bảng 1. Bảng dữ liệu Khách sạn ................................................................... ..47
Bảng 2. Bảng dữ liệu thắng cảnh .................................................................. ..48
Bảng 3. Bảng dữ liệu đặc điểm, loại hình du lịch ......................................... ..48
Bảng 4. Bảng dữ liệu các thành phố ............................................................... 49
Bảng 5. Bảng dữ liệu các điểm đến................................................................. 49
Bảng 6. Bảng dữ liệu sự kiện, lễ hội ............................................................... 49
Bảng 7. Bảng dữ liệu cơ sở vật chất................................................................ 50
Bảng 8. Bảng dữ liệu giá phòng các khách sạn .............................................. 50
Bảng 9. Bảng dữ liệu các loại sản phẩm ......................................................... 51
Bảng 10. Bảng dữ liệu các khu vực ................................................................ 51
Bảng 11. Bảng dữ liệu các loại phòng ............................................................ 51
Bảng 12. Bảng dữ liệu các dịch vụ của khách sạn .......................................... 52
Bảng 13. Bảng dữ liệu case base..................................................................... 52
Bảng 14. Bảng dữ liệu điểm số các thành phần của case ............................... 52
Bảng 15. Lớp SimilityObject .......................................................................... 53

Bảng 16. Lớp BaseConstraint ......................................................................... 54
Bảng 17. Lớp Location.................................................................................... 54
Bảng 18. Lớp Accommodation ....................................................................... 55
Bảng 19. Lớp TravelInformation .................................................................... 55
Bảng 20. Lớp Case .......................................................................................... 56
Bảng 21. Lớp CBRConfig ............................................................................... 56
Bảng 22. Lớp DBAdapter ............................................................................... 57
Bảng 23. Lớp CBR .......................................................................................... 58

Footer Page 11 of 161.


Header Page 12 of 161.

DANH MỤC HÌNH VẼ
Hình 1.1. Minh họa về Collaborative filtering ................................................. 4
Hình 1.2. Qui trình giải thuật CBR ................................................................... 9
Hình 2.1. Mô hình logic CBR ......................................................................... 12
Hình 2.2. Minh họa một case .......................................................................... 19
Hình 2.3. Sắp xếp danh mục sản phẩm ........................................................... 41
Hình 2.4. Sắp xếp điểm đến ............................................................................ 42
Hình 2.5. Quá trình tìm kiếm tình huống tour tương tự.................................. 44
Hình 2.6. Qui trình gợi ý các thành phần tour ................................................ 45
Hình 3.1. Classes Diagram .............................................................................. 60
Hình 3.2. Qui trình làm việc của hệ thống ...................................................... 61
Hình 4.1. Các gợi ý ban đầu cho khách lựa chọn ........................................... 63
Hình 4.2. Khi đã hoàn thành các gợi ý ............................................................ 63

Footer Page 12 of 161.



Header Page 13 of 161.

1

MỞ ĐẦU
1. Tính cấp thiết của đề tài
Việt Nam là một trong những điểm đến hấp dẫn và an toàn nhất thế giới.
Trong những năm gần đây, mặc dù phải đối mặt với cuộc khủng hoảng kinh
tế toàn cầu, GDP ngành Du Lịch vẫn tăng với một tốc độ đáng nể và du lịch
ước tính đã đóng góp 13,1% cho tổng sản phẩm quốc dân (GDP).
Ngành du lịch Việt Nam được dụ báo sẽ phát triển mạnh mẽ hơn nữa
trong tương khi mà chúng ta vẫn chưa biết cách khai thác hết lợi thế vốn có
"rừng vàng, biển bạc" của đất nước. Và một thực tế vẫn tồn tại, tại hầu hết
những khu du lịch lối tư duy bóc ngắn cắn dài đã ăn sâu vào tiềm thức của
những người làm kinh doanh dẫn đến việc thiếu tôn trọng du khách, lợi dụng
thời cơ cơ hội để chặt chém lừa bịp du khách để nhanh chóng kiếm lợi nhuận
trong một mùa nào đó để bù lại thời điểm ế khách trong năm. Chính những
điều đó đã và đang cản trở sự phát triển của ngành du lịch nước nhà.
Đứng trước vấn đề đó, tôi đã lựa chọn đề tài “Nghiên cứu, xây dựng hệ
thống lập kế hoạch du lịch dựa trên hệ gợi ý” làm đề tài luận văn tốt nghiệp
thạc sỹ của mình.
2. Mục tiêu của đề tài
- Tìm hiểu kỹ thuật kỹ thuật xây dựng hệ gợi ý
- Xây dựng cổng thông tin du lịch
- Tích hợp kỹ thuật gợi ý vào cổng thông tin du lịch
3. Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Giải thuật CBR
- Phạm vi nghiên cứu:
4. Nội dung nghiên cứu

Chương 1. HỆ THỐNG GỢI Ý VÀ GIẢI THUẬT CBR
1.1. Giới thiệu hệ thống gợi ý

Footer Page 13 of 161.


Header Page 14 of 161.

2

1.2. Giải thuật CBR
CHƯƠNG 2: BÀI TOÁN GỢI Ý TOUR DU LỊCH
2.1. Mô hình lô-gic và các hàm chức năng
2.2. Biểu diễn thành phần tour
Chương 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG CỔNG THÔNG TIN DU LỊCH
3.1. Thiết kế cơ sở dữ liệu
3.2. Thiết kế chương trình
Chương 4. XÂY DỰNG HỆ THỐNG
4.1. Xây dựng hệ thống
4.2. Kết quả thực hiện
KẾT LUẬN VÀ HƯỚNG MỞ RỘNG

Footer Page 14 of 161.


Header Page 15 of 161.

3

Chương 1. HỆ THỐNG GỢI Ý VÀ GIẢI THUẬT CBR


1.1. Giới thiệu hệ thống gợi ý
1.1.1. Hệ thống gợi ý
Hệ thống gợi ý [1] là một hệ thống có khả năng dự đoán và đưa ra sự gợi
ý cho một items tới người sử dụng. Sự gợi ý liên quan đến việc đưa ra quyết
định của người dùng, chẳng hạn như chọn sản phẩm nào để mua, chọn nghe
bài hát nào hay chọn địa điểm nào để đi du lịch…
Thuật ngữ “Items” sử dụng để đại diện cho bất cứ một đối tượng, nội
dung nào mà hệ thống gợi ý cho người dùng.
Các lĩnh vực ứng dụng: Thương mại điện tử, Giáo dục, Học tập, Giải trí,
Mạng xã hội…
Các hệ thống điển hình: Amazon.com, Pandora Radio, Netflix…

Footer Page 15 of 161.


Header Page 16 of 161.

4

1.2.2. Các phương pháp gợi ý truyền thống
1.1.2.1. Lọc cộng tác (Collaborative filtering)
Đây là phương pháp được thực hiện dựa trên việc thu thập và phân tích
một lượng lớn những thông tin về thói quen, hành vi hay sở thích của người
dùng và từ đó dự đoán những item mà người dùng có khả năng hài lòng thông
qua việc so sánh sự giống nhau của họ với những người dùng khác. Điểm
mạnh chính của phương pháp lọc cộng tác (collaborative filtering) [1] đó là
nó không thực sự phụ thuộc vào khả năng phân tích nội dung của máy tính và
do đó, phương pháp này có khả năng gợi ý một cách chính xác những item
phức tạp. Chẳng hạn như hệ thống có thể xem xét một bộ phim mà không cần

“hiểu” về nội dung của bộ phim đó. Có khá nhiều thuật toán đã được sử dụng
để đo lường độ tương tự giữa những người dùng hoặc giữ các item với nhau
trong một hệ thống gợi ý. Điển hình như: k-nearest neighborhood (k-NN) và
Pearson Correlation.

Hình 1.1. Minh họa về lọc cộng tác (Collaborative filtering) [3]

Footer Page 16 of 161.


Header Page 17 of 161.

5

Việc xây dựng một mô hình mẫu từ hồ sơ của người dùng thường được
thực hiện giữa hai phương pháp thu thập dữ liệu tường mình và không tường
minh.
Một vài ví dụ về việc thu thập dữ liệu tường minh:
- Yêu cầu người dùng bầu chọn một item theo một thang điểm nào đó
- Yêu cầu người dùng xếp hạng một hoặc một nhóm các item mà người
đó yêu thích nhất
- Đưa ra cho người sử dụng hai item, yêu cầu họ chọn một item tốt hơn
- Yêu cầu người dụng tạo ra danh mục sản phẩm yêu thích của riêng họ
Một vài ví dụ về việc thu thập dữ liệu không tường minh:
- Theo dõi những item mà người dùng đã xem
- Phân tích thời gian mà người dùng xem một item
- Lưu giữ thông tin về những sản phẩm mà người dùng đã mua trực
tuyến
- Thu thập danh sách những item mà người dùng đã xem trên máy tính
của họ

- Phân tích người dùng trên mạng xã hội để biết họ thích, không thích
điều gì
Nhược điểm:
- Phụ thuộc nhiều vào lượng lớn thông tin từ phía người dùng, khó khăn
với một hệ thống mới, gặp khó khăn với những item mới
1.1.2.2. Lọc dựa trên nội dung (Content-based filtering)
Lọc dựa trên nội dung (Content-based filtering) [1] là phương pháp dựa
trên những đặc điểm của chính item. Nói cách khác, thuật toán cho phương
pháp này cố gắng gợi ý những item có những điểm giống với những item mà
người dùng đã từng quan tâm trong quá khứ. Item được đề xuất là những item

Footer Page 17 of 161.


Header Page 18 of 161.

6

được chọn ra với độ tương đồng lớn nhất bằng việc so sánh với những item đã
được người dùng xếp hạng, đánh giá trước đó.
Về cơ bản, phương pháp này sử dụng một hồ sơ các đặc điểm về một
item ở bên trong hệ thống. Hệ thống tạo một hồ sơ của người dùng dựa trên
một véc-tơ trọng số các thuộc tính của item. Mỗi trọng số biểu thị cho mức độ
quan trọng của mỗi thuộc tính tương ứng đối với người sử dụng và có thể
được tính toán từ véc-tơ xếp hạng nội dung bằng nhiều công nghệ khác nhau.
Phương pháp tiếp cận đơn giản nhất là sử dụng giá trị trung bình từ véctơ xếp hạng item. Bên cạnh đó có một số phương thức phức tạp hơn sử dụng
kỹ thuật học máy chẳng hạn như Bayesian Classifiers, Cluster Analysis,
Decision Trees và Artificial Neural Networks để ước lượng xác xuất mà
người dùng có khả năng thích một item nào đó. Sự phản hồi trực tiếp từ người
dùng (thường là nút like, dislike) cũng có thể được sử dụng để gán thiết đặt

những trọng số cho những thuộc tính nhất định (using Rocchio Classification
or other similar techniques)
Nhược điểm chính của lọc dựa trên nội dung đó là liệu rằng hệ thống có
khả năng học những sở thích từ những hoạt động của người dùng liên quan
đến một nguồn nội dung và sử dụng chúng cho những kiểu nội dung khác.
Khi hệ thống bị giới hạn bởi việc gợi ý các nội dung cùng loại mà người dùng
đã sử dụng, các sản phẩm gợi ý từ hệ thống có thể ít hơn nhiều so với các kiểu
nội dung từ những dịch vụ khác.

1.2. Giải thuật CBR
1.2.1. Khái niệm CBR
CBR (Case –Based Reasoning) [2, 3] có thể được coi như một hệ thức
phương pháp luận hoạt động dựa trên sự tái sử dụng những kinh nghiệm,
được mô hình hóa như một tình huống (case). Bên cạnh đó, CBR có thể được

Footer Page 18 of 161.


Header Page 19 of 161.

7

hiểu như một mô hình bậc cao mô hình hóa quá trình nhận thức, hay một dạng
thức tính toán để giải quyết một bài toán phát sinh. Giải thuật CBR áp dụng
trong hệ tư vấn được tập trung chủ yếu theo cách hiểu thứ hai. Trong đó, như
Amoodt và Plaza [3] đã khẳng định, CBR được coi như một qui trình tìm lời
giải cho một vấn đề, qui trình này sử dụng một nguồn tri thức cụ thể được thu
thập qua những tình huống cố định đã phát sinh. Điều này đối nghịch với
những phương pháp luận truyền thống chỉ dựa trên những nguồn tri thức phổ
quát thuộc về một miền vấn đề nhất định. Những tri thức này được thể hiện

bằng cách sử dụng một trong những ngôn ngữ biểu diễn tri thức như những
qui tắc, dạng logic (first-order logic), hay các mạng ngữ nghĩa (semantic
networks),..
1.2.2. Giải thuật CBR
Để có thể áp dụng qui trình giải lập luận tình huống CBR, vấn đề căn
bản đầu tiên liên quan đến việc sử dụng ngôn ngữ mô tả tình huống (case
representation language) và phạm vi sử dụng của những khái niệm trong mô
tả tình huống. Những khái niệm xuất hiện trong một ứng dụng CBR bao gồm
nội dung tình huống, cấu trúc thích hợp mô tả một tình huống, cách thức sắp
xếp các tri thức về tình huống đã diễn ra. Trong đó, nội dung tình huống phụ
thuộc vào lĩnh vực mà tình huống đó diễn ra. Một tình huống có thể được biểu
diễn bằng cách sử dụng véc-tơ đặc điểm tuyến tính (linear featured vector),
văn bản bán cấu trúc (semi-structured text), hay các đối tượng có cấu trúc
phức tạp như đồ thị (graph), mẫu đối tượng (object pattern) trong ngôn ngữ
hướng đối tượng.
Trong phương pháp sử dụng véc-tơ đặc điểm tuyến tính, một tình huống
được mô tả như một danh sách cố định những đặc điểm không đồng nhất
(heterogeneous features) bao gồm những chuỗi (string), số thực, số nguyên,
Boolean,.. Về cơ bản, phương pháp mô tả tình huống với véc-tơ tuyến tính

Footer Page 19 of 161.


Header Page 20 of 161.

8

được bắt nguồn từ các phương pháp học máy (machine learning) hay nhận
dạng mẫu (pattern recognition), và được định nghĩa như một phương pháp sao
chép (exemplar), ánh xạ (instance) hay ghi nhớ (memory). Đối với những

phương pháp này, quá trình giải quyết vấn đề có thể được coi như một bài
toán phân loại (classification) hay một tác vụ phỏng đoán chức năng (function
approximation). Trong phương pháp thứ hai, thông tin đầu vào của một tình
huống được biểu diễn dưới dạng văn bản. Bản thân những dữ liệu văn bản
đầu vào đã trải qua quá trình tiền xử lý. Ví dụ, quá trình tiền xử lý có thể bao
gồm việc xây dựng chỉ mục (index), thông tin siêu dữ liệu (metadata), tóm
lược cho dữ liệu văn bản. Quá trình này gắn kết CBR với các phương pháp
thu thập dữ liệu (information retrieval). Trong phương pháp cuối cùng, một
tình huống có thể là sự kết hợp giữa mô tả văn bản (text-based) với mô tả véctơ (vector-based representation) hoặc có thể được biểu diễn bằng những mô
hình dữ liệu đồ thị. Phương pháp này thường được sử dụng trong trường hợp
tình huống có cấu trúc phức tạp, bao gồm nhiều thành phần phân cấp
(hierarchy). Những tình huống xuất hiện trong tư vấn tour du lịch có thể được
coi như những tình huống có cấu trúc phức tạp với sự xuất hiện của nhiều
thành phần dạng cây như địa điểm (location), chỗ ở (accomodation), sự kiện
(event), hoạt động (activity),.. Vấn đề biểu diễn một tình huống tour cụ thể sẽ
được đề cập chi tiết trong mục 2.2.1 của chương 2 với việc sử dụng XML là
ngôn ngữ mô hình hóa dữ liệu chính.
Tóm lại, một tình huống thường bao gồm ba thành phần chính: Mô tả
vấn đề (problem description), giải pháp (solution) và kết quả (outcome).
Thành phần thứ nhất chứa đựng những thông tin cần thiết miêu tả một tình
huống phát sinh, mô tả này biểu thị khả năng tái sử dụng dữ liệu của những
tình huống đã xảy ra để giải quyết vấn đề mới. Nếu coi quá trình tìm lời giải
cho một tình huống vấn đề mới như một hàm ước đoán thì phần mô tả dữ liệu

Footer Page 20 of 161.


Header Page 21 of 161.

9


được xem như miền xác định của hàm, trong khi giải pháp và kết quả xác
định các miền giới hạn tương đồng (codomain). Giải pháp biểu thị lượng
thông tin cần thiết để giải quyết vấn đề, ví dụ như xây dựng một kế hoạch hợp
lý để có thể đưa du khách đến địa điểm đúng thời điểm. Cuối cùng, kết quả
được coi như một đánh giá tổng kết mức độ hữu ích của giải pháp được áp
dụng giải quyết vấn đề phát sinh. Trong trường hợp giải thuật CBR của hệ tư
vấn du lịch được trình bày trong chương này, tình huống tour sẽ được mô tả
với những thành phần phức tạp, đồng nghĩa với không có sự khác biệt rõ ràng
giữa những thành phần mô tả vấn đề với những thành phần biểu thị giải pháp.
Trong quá trình xử lý, giải pháp giải quyết vấn đề tìm kiếm, gợi ý điểm đến
(destination) có thể được dùng như mô tả của vấn đề gợi ý địa điểm thắng
cảnh (attraction) du khách nên đến.
Về cơ bản, qui trình giải quyết vấn đề theo phương pháp lập luận tình
huống CBR có thể được diễn tả bởi hình 1.2:

Input

New problem

Learned Case

5. Retain

Case Library

Domain
Model

1. Retrieve


Retrieved Cases

2. Reuse
Retrieved
Solution (s)

Outcome

Retrieved

4. Review

3. Revise

Solution

Hình 1.2. Qui trình giải thuật CBR [2]

Footer Page 21 of 161.


Header Page 22 of 161.

10

- Đầu vào của giải thuật: là các tình huống, mô tả tình huống đó và sử
dụng các kỹ thuật phân vùng, phân cụm và các phương pháp tính khoảng cách
để lọc từ CSDL ra các tình huống tương đồng.
- Đầu ra của giải thuật: Là các tình huống tương đồng có độ tương

đồng cao nhất và được lưu vào CSDL tình huống.
Trong đó:
Bước 1. Tiếp nhận vấn đề: Trong bước đầu tiên của qui trình, mô tả về
vấn đề mới được tiếp nhận. Bằng cách sử dụng những phương pháp tính
khoảng cách (distance metric) với miền xác định là dữ liệu mô tả vấn đề đầu
vào, những tình huống tương đồng với tình huống đại diện cho vấn đề phát
sinh được lọc ra từ cơ sở dữ liệu chứa những tình huống đã được giải. Các kỹ
thuật phân vùng (case partition), phân cụm (case cluster) tình huống có thể
được dùng để đẩy nhanh tốc độ phân lọc dữ liệu tình huống.
Bước 2. Tái sử dụng giải pháp: Những tình huống tương đồng được tiếp
nhận sau quá trình tính toán mức độ tương đồng ở bước đầu tiên sẽ được dùng
để xây dựng giải pháp cho tình huống mới. Việc xây dựng giải pháp có thể
chỉ đơn giản là trích chọn những giải pháp từ những tình huống tương đồng
áp dụng để giải quyết tình huống mới, cũng có thể phức tạp khi những giải
pháp từ những tình huống tương đồng được trích chọn và tích hợp với nhau
thành một giải pháp mới chung nhất cho vấn đề mới.
Bước 3. Sửa đổi giải pháp: Giải pháp mới sau khi được xây dựng sẽ
được xem xét sửa đổi để đáp ứng đúng những yêu cầu cụ thể của tình huống
hiện tại. Ví dụ trong điều trị y học, bác sĩ có thể tái sử dụng một pháp đồ điều
trị cho cùng một bệnh nhưng cần cân nhắc sự khác nhau về đặc điểm (tuổi tác,
cân nặng) giữa các bệnh nhân.
Bước 4. Xét duyệt giải pháp: Giải pháp sau khi được sửa đổi hoàn chỉnh
sẽ được xét duyệt, đánh giá khi áp dụng vào giải quyết tình huống hiện tại.

Footer Page 22 of 161.


Header Page 23 of 161.

11


Trong trường hợp giải pháp thất bại trong giải quyết vấn đề, tình huống sẽ
được đưa về trạng thái trước đó trong bước 2, 3. Các bước 2, 3, 4 trong lập
luận CBR có thể được coi như các giai đoạn tìm kiếm giải pháp thích ứng với
vấn đề mới.
Bước 5. Lưu trữ giải pháp: Giải pháp cho tình huống mới sau khi trải
qua các quá trình thích ứng (2, 3, 4) sẽ được cân nhắc để lưu trữ vào cơ sở dữ
liệu các giải pháp tình huống. Trong trường hợp tình huống mới không được
đánh giá kỹ lưỡng hay quá tương đồng với những tình huống đã được lưu trữ,
tình huống này sẽ không được lưu trữ vì không mang lại tri thức mới.

Footer Page 23 of 161.


Header Page 24 of 161.

12

CHƯƠNG 2: BÀI TOÁN GỢI Ý TOUR DU LỊCH
Trong chương này tác giả sẽ sử dụng giải thuật CBR áp dụng vào bài
toán gợi ý tour du lịch.
Ta có thể thấy các thành phần khái niệm liên quan đến giải thuật lập luận
tình huống được dùng trong hệ gợi ý bao gồm những thành phần sau: Các
khái niệm liên quan đến qui trình lập luận tình huống, các khái niệm mô tả
cấu trúc biểu diễn của một tình huống tour cùng các thành phần thiết yếu nhất
cấu tạo nên một tour như điểm đến, nơi ăn nghỉ, và thắng cảnh, mô hình logic
và các hàm chức năng trong hệ tư vấn, các hệ thức khoảng cách giúp tính toán
mức độ tương đồng, độ tương đồng giữa các thành phần tour và tình huống
tour, cuối cùng là mô tả qui trình gợi ý một tour hoàn chỉnh dựa trên tính toán
độ tương đồng và gợi ý lần lượt từng thành phần tour riêng lẻ. Dựa trên những

mô tả chi tiết về các khái niệm, định nghĩa cùng qui trình, giải thuật, ta có thể
từng bước xây dựng và kiểm thử tính hiệu quả của giải thuật CBR bao gồm
các mục sau đây:
2.1. Mô hình lô-gic và các hàm chức năng

Hình 2.1. Mô hình logic CBR [2]

Footer Page 24 of 161.


Header Page 25 of 161.

13

Hình 2.1 là lược đồ biểu diễn mối quan hệ giữa các lớp đối tượng được
sử dụng trong giải thuật CBR của hệ tư vấn. Các thành phần gồm có: case,
base constraint, location, attraction, accommodation, item, user profile,
reward, travel wish, travel bag, travel information
 Case: Được hiểu như một tình huống biểu thị một phiên (session) hoàn
chỉnh tương tác giữa người dùng và hệ thống. Tình huống (phiên) này được
khởi tạo và kết thúc bởi người dùng. Trong biểu đồ 2, một tình huống (case)
được hợp thành bởi các thành phần travel information (bao gồm travel wish
và travel bag), user profile và reward. Những thành phần này sẽ lần lượt được
trình bày chi tiết dưới đây.
 UserProfile: Là lớp chứa những thông tin về người dùng. Thông tin
này bao gồm tên, tuổi, giới tính và được dùng trong tính toán độ tương đồng
giữa hai người dùng. Đối với người dùng không đăng ký, thông tin được lưu
trữ dưới dạng dữ liệu null.
 TravelInformation: Là lớp chứa thông tin về giới hạn yêu cầu (base
constraint) từ người dùng, đồng thời bao gồm những thành phần cơ bản của

một tour như điểm đến (location), thắng cảnh (attraction) và chỗ ở
(accommodation). Travel information là lớp tổng quát của hai lớp con travel
bag và travel wish.
 TravelBag: Là lớp lưu trữ thông tin về những thành phần tour (điểm
đến, thắng cảnh, chỗ ở) được người dùng chú ý chọn từ danh sách được gợi ý.
Những thành phần này đại diện cho một tour phù hợp với yêu cầu của người
dùng.
 TravelWish: Là lớp lưu trữ những yêu cầu, nguyện vọng về một tour
du lịch từ phía người dùng. Các thành phần tour tương tự với các thành phần
nằm trong travel bag, bao gồm điểm đến, thắng cảnh và chỗ ở, đồng thời với
dữ liệu yêu cầu (base constraint) của người dùng . TravelWish có thể được coi

Footer Page 25 of 161.


×