Nội dung của phần này sẽ tập trung vào xây dựng các thuật toán cho hệ thống cung cấp thông tin du lịch. Đầu tiên là chúng ta sẽ áp dụng các luật ký hiệu Sự kiện
(Event) – Điều kiện (Condition) – Hành động (Action) (được viết tắt là ECA) trong các
cơ sở dữ liệu nâng cao bằng toán tử logic sau:
ON <sự kiện> IF <điều kiện> DO <hành động>
Áp dụng toán tử logic ECA trên vào bài toán ứng với hai cơ chế như sau: Với cơ
chế push, hệ thống tự động đưa ra những gợi ý cho người dùng. Khi đó sự kiện là sự thay đổi vị trí người dùng, điều kiện là những nội dung yêu cầu được đề cập trong profile của người dùng, hệ thống sẽ đưa ra hành động là sẽ quyết định mà hệ thống
đưa ra thông tin thỏa yêu cầu được đưa ra ở profile người dùng; Với cơ chế push, sự kiện là khi người dùng đưa yêu cầu tìm kiếm, điều kiện là những thông tin trong profile, sau khi kết hợp hai yếu tố trên, hệ thống sẽ đưa ra hành động lọc thông tin, lựa chọn và cung cấp thông tin phù hợp tới người dùng.
51
Đầu tiên để xây dựng thuật toán chúng ta đưa ra các ký hiệu được mô tả trong bảng 4.1 và bảng 4.2 để tham chiếu tới một vài nguồn cơ sở dữ liệu.
Bảng 4.1 Bảng ký hiệu
Ký hiệu Giải thích
L Tập hợp tất cả location trong cơ sở dữ liệu
I Tập hợp tất cả các thông tin trong cơ sở dữ liệu
O Tập hợp tất cả các Object trong cơ sở dữ liệu
T Cây phân nhánh Chủ đề
G Tập hợp tất cả các nhóm ngữ nghĩa trong cơ sở dữ liệu H(u) Lịch sử khả dụng của người dùng
P(u) Profile của người dùng u chứa tập hợp các chủ đề và item mà người
dùng quan tâm
SE Tập hợp tất cả các sự kiện được lập lịch sẵn
Bảng 4.2 Tóm tắt chức năng các hàm thường dùng
Hàm Khái quát chức năng
covers (object, location) Hàm trả về true nếu object bao phủ lên location, ngược
lại sẽ trả về false
member (object, group) Hàm trả về true object được tham chiếu tới nhóm ngữ nghĩa group, ngược lại thì trả về false
distance(object, location) Hàm trả về khoảng cách từ điểm du lịch object tới vị trí
location.
52 đề lớn T.
send(information) Gửi thông tin information cho người dùng.
recommend(object) Đề xuất, gợi ý một object tới người dùng.
soon(time) Trả về true nếu thời điểm time gần với thời điểm hiện tại.
Các thuật toán chính của hệ thống được xây dựng gồm: thuật toán tìm kiếm thông tin theo vị trí, theo thời gian và theo profile, thuật toán tìm kiếm thông tin dựa vào lịch sử dụng để nhằm đưa ra đề xuất gợi ý. Ngoài ra, để hệ thống đảm bảo gửi thông tin cho người dùng một cách đúng thời điểm, giảm thiểu độ trễ của thông tin, chúng ta cần có thêm thuật toán dự đoán vị trí tương lai của thiết bị di động dựa vào mẫu chuyển động đã được ghi lại trong lịch sử dịch chuyển trên thiết bị di động hoặc trên server.