1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu áp dụng công nghệ web ngữ nghĩa vào xây dựng hệ thống cung cấp thông tin hướng ngữ cảnh

75 13 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 75
Dung lượng 2,74 MB

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

Nội dung

Việc định nghĩa profile người dùng, phân loại thông tin, tổ chức lại thông tin sẽ đưa ra cho người dùng là một phần công việc cần phải làm để giúp hệ thống làm việc để tránh việc đưa ra

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

HOÀNG THỊ LOAN

TÌM HIỂU ÁP DỤNG CÔNG NGHỆ WEB NGỮ NGHĨA VÀO XÂY DỰNG HỆ THỐNG CUNG CẤP

THÔNG TIN HƯỚNG NGỮ CẢNH

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

HÀ NỘI - 2014

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

HOÀNG THỊ LOAN

TÌM HIỂU ÁP DỤNG CÔNG NGHỆ WEB NGỮ NGHĨA VÀO XÂY DỰNG HỆ THỐNG CUNG CẤP

THÔNG TIN HƯỚNG NGỮ CẢNH

Ngành: Công nghệ thông tin

Trang 3

LỜI CẢM ƠN Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc đến cô giáo Vũ Thị Hồng Nhạn, người đã cung cấp tài liệu, hướng dẫn rất tận tình và đóng góp ý kiến cho em trong suốt quá trình làm luận văn và hoàn thành luận văn này

Em xin chân thành cám ơn các thầy cô giáo trong khoa Công nghệ thông tin, trường Đại học Công nghệ, Đại học Quốc gia Hà Nội Các thầy cô đã giảng dạy, chỉ dẫn và cung cấp cho em những kiến thức quý báu trong suốt thời gian học tập và nghiên cứu tại trường

Tôi xin trân trọng cảm ơn các bạn học viên cao học khóa K17 trường Đại học Công nghệ đã đoàn kết giúp đỡ và đồng hành cùng tôi trong chương trình học tại trường

Do trong quá trình nghiên cứu, tìm hiểu và thực nghiệm luận văn chắc chắn không thể tránh khỏi sai sót nhất định, rất mong nhận được sự góp ý của thầy cô giáo

và các bạn

Em xin chân thành cảm ơn!

Hà Nội, tháng 12 năm 2014

Trang 4

dễ dàng tích hợp những dịch vụ mới trong tương lai một cách thuận tiện dễ dàng hơn

Để giải quyết sự nhập nhằng về ngữ nghĩa của thông tin, nghiên cứu sử dụng công nghệ Web Ngữ nghĩa và Ontology trong mô hình hóa dữ liệu Hệ thống được triển khai theo kiến trúc client – server và có khả năng thực hiện cung cấp thông tin theo hai

cơ chế, đó là đẩy (push) và kéo (pull) Các thuật toán cài đặt các thao tác tìm kiếm thông tin theo các điều kiện về vị trí, thời gian, cũng như vai trò và mối quan tâm của người dùng cũng được phân tích và cài đặt Cuối cùng, một hệ thống thử nghiệm được xây dựng cho phép cung cấp hai dịch vụ là du lịch và giao thông trong khu vực thành phố Hà Nội Hệ thống xây dựng cho điện thoại thông minh với hệ điều hành android

và công cụ Protégé để biểu diễn thông tin và ngữ nghĩa Kết quả của nghiên cứu hứa

Trang 5

hẹn cho sự ra đời của một hệ thống tích hợp và cung cấp nhiều loại dịch vụ dựa vào vị trí và ngữ cảnh của người dùng một cách tiện lợi và hiệu quả

Từ khóa: Cung cấp thông tin theo sự kiện và ngữ cảnh, truy vấn theo điều kiện không gian và thời gian, Web ngữ nghĩa và Ontology

Trang 6

4

Lời cam đoan

Tôi xin cam đoan luận văn này là do tôi tự nghiên cứu và viết dưới sự hướng dẫn của tiến sĩ Vũ Thị Hồng Nhạn, không có sự sao chép của người khác Tất cả những tài liệu tham khảo tôi đã liệt kê rõ ở phần cuối của luận văn Tôi cam kết những nội dung tham khảo nằm trong giới hạn cho phép theo quy chế của trường Nếu sai sự thật, tôi xin hoàn toàn chịu trách nhiệm

Hoàng Thị Loan

Trang 7

MỤC LỤC

LỜI CẢM ƠN 1

Tóm tắt luận văn 2

Lời cam đoan 4

Chương 1 Giới thiệu 8

Chương 2 Khảo sát các hệ thống LBS và mô hình dữ liệu hiện có 11

2.2 Mô hình dữ liệu không gian - thời gian 12

2.3 Phân loại dữ liệu trong LBS 13

Chương 3 Web Ngữ nghĩa 16

3.1 Web Ngữ nghĩa 16

3.1.1 Khái niệm Web Ngữ nghĩa 16

3.1.2 Kiến trúc tầng của Semantic Web 17

3.1.2.1 URI 17

3.1.2.2 Unicode 18

3.1.2.3 XML và tên không gian tên miền XML 18

3.1.2.4 RDF và giản đồ RDF 18

3.1.2.5 Ontology 18

3.1.2.6 Tầng Logic, Proof, Trust và Digital Signature 19

3.2 OWL và Ontology 19

3.2.1 Khái niệm Ontology 19

3.2.2 Cấu trúc Ontology 20

3.2.3 OWL 22

3.3 Truy vấn trong Semantic Web 23

3.3.1 Giới thiệu về Cơ sở dữ liệu Graph 23

3.3.2 Truy vấn thông qua SPARQL 25

Chương 4 Thiết kế hệ thống 27

4.1 Kiến trúc hệ thống 27

4.1.1 Thiết bị di động 27

4.1.2 Server 28

4.2 Phân tích chức năng của hệ thống 29

4.2.1 Chức năng phía server 29

4.2.2 Chức năng phía client 33

4.3 Thiết kế cơ sở dữ liệu 34

4.3.1 Mô hình hóa cơ sở dữ liệu theo mô hình thực thể 35

4.3.1.1 Xác định các thực thể trong hệ thống 35

4.3.1.2 Xác định mối quan hệ giữa các thực thể 36

4.3.1.3 Sơ đồ quan hệ thực thể 37

4.3.2 Mô hình hóa cơ sở dữ liệu bằng các Ontology 38

4.3.2.1 Ontology dữ liệu Miền 38

4.3.2.2 Ontology dữ liệu Nội dung 41

Trang 8

6

4.3.2.3 Ontology dữ liệu Ứng dụng 47

4.4 Các thuật toán tìm kiếm thông tin 50

4.4.1 Thuật toán dự đoán vị trí tương lai 52

4.4.2 Thuật toán cung cấp thông tin dựa trên vị trí người dùng 52

4.4.3 Thuật toán cung cấp thông tin dựa trên vị trí và thời gian 53

4.4.4 Thuật toán cung cấp thông tin dựa trên profile 54

4.4.5 Thuật toán cung cấp thông tin dựa trên lịch sử người dùng 55

4.4.6 Thuật toán gợi ý sự kiện bên ngoài hệ thống 56

4.4.7 Thuật toán thông báo tình trạng ùn tắc giao thông 57

Chương 5 Cài đặt hệ thống thử nghiệm 58

5.1 Môi trường cài đặt 59

5.1.1 Phần server 59

5.1.2 Phần client 59

5.1.3 Kết nối giữa Client – Server 59

5.2 Dữ liệu đầu vào và các yêu cầu cơ bản 60

5.3 Các kết quả thực nghiệm 60

5.3.1 Quản lý Database phía server bằng Protégé 61

5.3.2 Cung cấp thông tin dịch vụ du lịch theo cơ chế push 64

5.3.3 Cung cấp thông tin dịch vụ du lịch theo cơ chế pull 66

5.3.4 Cung cấp thông tin giao thông theo cơ chế push 67

5.3.5 Kết hợp hai dịch vụ thông tin du lịch và thông báo ùn tắc giao thông 67

5.4 So sánh với một số hệ thống cung cấp thông tin dựa trên vị trí hiện tại 68

Chương 6 Kết luận 69

TÀI LIỆU THAM KHẢO 70

Trang 9

DANH SÁCH CÁC HÌNH

Hình 2.1 Phân loại dữ liệu trong LBS 14

Hình 3.1 Kiến trúc tầng của Web Ngữ nghĩa 17

Hình 3.2 Các loại Biểu đồ dữ liệu 24

Hình 3.3 Mô hình Graph mô tả quan hệ giữa Bengie và Bonnie 24

Hình 4.1 Kiến trúc hệ thống 27

Hình 4.2 Sơ đồ phân rã chức năng phía Server 30

Hình 4.3 Cây chức năng phía client 33

Hình 4.4 Sơ đồ quan hệ thực thể ER 37

Hình 4.5 Hình dáng của reach trong không gian 39

Hình 4.5 Ontology dữ liệu Miền 40

Hình 4.6 Di chuyển của các đối tượng 42

Hình 4.7 Quan hệ của trajectory với môi trường và với trajectory khác 43

Hình 4.8 Giản đồ cơ sở dữ liệu của MOD 46

Hình 4.9 Trích đoạn Ontology Nội dung cho Dịch vụ du lịch 47

Hình 4.10 Trích đoạn Ontology Profile của người dùng 49

Hình 4.11 Ontology Dịch vụ cho LBS giao thông và du lịch 50

Hình 5.1 Kết nối giữa Client – Server 59

Hình 5.2 Ontology quản lý Người dùng 61

Hình 5.3 Ontology mô tả quan hệ giữa các class ở Dữ liệu Nội dung Du lịch 61

Hình 5.4 Ontology Nội dung Du lịch phân chia theo chủ đề 62

Hình 5.5 Ontology Nội dung về Giao thông 62

Hình 5.6 Cung cấp thông tin du lịch theo cơ chế push 64

Hình 5.7 Gợi ý sự kiện sắp xảy đến theo cơ chế push 65

Hình 5.8 Cung cấp thông tin theo cơ chế pull 66

Hình 5.9 Cung cấp thông tin về giao thông theo cơ chế Push 67

Hình 5.10 Kết quả thông báo cho kết hợp dịch vụ du lịch và giao thông 68

DANH SÁCH CÁC BẢNG Bảng 3.1 Ví dụ câu lệnh truy vấn Select của SPARQL 25

Bảng 4.1 Bảng ký hiệu 51

Bảng 4.2 Tóm tắt chức năng các hàm thường dùng 51

Trang 10

8

Chương 1 Giới thiệu

Ngày càng có nhiều dịch vụ cung cấp thông tin cho các thiết bị di động hơn trong

thời đại mà các thiết bị di động được gắn GPS hoặc kết nối mạng toàn cầu Việc có

quá nhiều dịch vụ và thông tin cũng gây không ít khó khăn cho người dùng các thiết bị

di động để chọn lọc ra thông tin cần thiết Vậy trước tiên chúng ta tìm hiểu xem thông tin nào là cần thiết với người dùng Thông tin thì có thể là cần thiết với cá nhân này, nhưng lại không cần thiết với các nhân khác Và thông tin có thể là cần thiết trong thời điểm này, nhưng lại không cần thiết ở thời điểm khác Điều ấy cho thấy rằng, việc định nghĩa ra loại thông tin cần thiết với người sử dụng chỉ mang tính chất tương đối

Việc định nghĩa profile người dùng, phân loại thông tin, tổ chức lại thông tin sẽ đưa ra

cho người dùng là một phần công việc cần phải làm để giúp hệ thống làm việc để tránh việc đưa ra thông tin không phù hợp với sự quan tâm của người sử dụng Nghiên cứu phát triển hệ thống thông tin dựa trên vị trí đã phát triển từ lâu tuy nhiên hầu hết các hệ thống đều triển khai cho một loại dịch vụ cụ thể như hướng dẫn định hướng trong một vùng RegionGuide [2, hay hướng dẫn cho Bảo tàng MuseumGuide [5 [6 [7

Hệ thống RegionGuide đưa ra các thông báo cho khách du lịch về các điểm tham quan, khách sạn, chỗ ăn uống… trong một khu vực Thông tin đa phương tiện có liên quan xuất hiện trên một bản đồ dựa trên giao diện người sử dụng các địa điểm yêu thích (Position Of Interest – POI) được tải về qua mạng điện thoại di động khi cần thiết Các POI sau khi được phân loại dựa trên một hệ thống phân loại quốc gia về dịch

vụ du lịch, được sử dụng như: chỗ ở, ăn uống hấp dẫn, hoạt động, sự kiện và thông tin

du lịch hoạt động, sự kiện và thông tin Tổng thể thiết kế của RegionGuide phản ánh kết quả của một cuộc khảo sát du lịch lớn đã được thực hiện để hiểu rõ hơn về hành vi của khách du lịch, vai trò du lịch, và các quyền lợi đặc biệt của khách du lịch và các chức năng nhiệm vụ mà hệ thống du lịch cần phải có

Với hệ thống MuseumGuide, ban đầu hệ thống được phát triển dựa trên ý tưởng

để tiếp sức cho một bảo tàng nằm cạnh một nhà thờ cổ đại, cung cấp các thước phim sống động và bổ sung thông tin về các điểm tham quan trong bảo tàng Bảo tàng này bao gồm bốn tòa nhà riêng biệt kèm theo một cái sân hình vuông ở giữa Bao quanh các tòa nhà là các bức tường đá rất dày, bên trong tòa nhà chứa các đồ tác tạo lưu giữ các phần của lịch sử thành phố và giai thoại về cư dân của vùng này Thiết kế của MuseumGuide mang tính kể chuyện nhằm mục đích giáo dục, đó là một trong những

đề nghị của ngành du lịch góp phần vào giới thiệu văn hóa Nội dung được tổ chức theo cấu trúc thứ bậc gồm ba cấp Trang chào mừng hướng người sử dụng về phía các

sự kiện lịch sử liên quan tới tòa nhà hoặc là các phòng cụ thể và các hiện vật cùng với các tòa nhà Người sử dụng được giới thiệu các đoạn văn ngắn kết hợp hình ảnh và

Trang 11

phác thảo đồ họa, cũng như video clip và các track audio, bao gồm cả bằng tiếng Nauy

và tiếng Anh Một số bản nhạc được phát gần các bức tượng lịch sử – để hỗ trợ ý định

về “talking heads” Chúng dài từ 30 tới 180 giây, và các video clip dài từ 24 tới 150 giây Hình ảnh chuyển đổi linh hoạt được sử dụng trong suốt các đoạn video để cải thiện khả năng hiển thị của video trên màn hình nhỏ, và các trang WAP tương đối ngắn để giảm thiểu nhu cầu di chuyển

Các hệ thống MuseumGuide được thực hiện như một dịch vụ dựa trên vị trí, sử dụng công nghệ ăng ten tiên tiến và WLAN để định vị Điện thoại di động 3G sử dụng được trang bị thẻ WLANSIM Hệ thống sử dụng WAP push để tải các trang WAP liên quan tới vị trí hiện tại của người dùng

Bên cạnh đó, nguồn thông tin cung cấp trong các dịch vụ LBS thường lấy từ nhiều Cơ sở dữ liệu phân tán khác nhau ví dụ như cơ sơ dữ liệu không gian, cơ sở dữ liệu sự kiện , làm thế nào để kết dính chúng lại với nhau và lấy ra chúng một cách dễ dàng và để máy tính cũng có thể hiểu được yêu cầu Việc áp dụng phương pháp xây dựng dữ liệu bằng Ontology và công nghệ Web Ngữ nghĩa là một trong những cách phổ biến mà ta có thể giải quyết được vấn đề trên Với việc áp dụng Ontology này, máy tính có thể hiểu được mong muốn của người sử dụng là muốn lấy về thông tin nào, đồng thời giảm thiểu việc xử lý dữ liệu dư thừa trong các truy vấn tìm kiếm Cùng với việc phân tích người dùng, phân tích dữ liệu liên quan tới profile, lịch

sử tham quan, vị trí, thời gian… người dùng, việc xây dựng Ontology để tố chức lại dữ liệu cho hệ thống các dịch vụ Web Ngữ nghĩa, thì việc xây dựng hệ thống truyền thông tin từ các dịch vụ tới các thiết bị di động cũng là một vấn đề cần giải quyết Dữ liệu sẽ được chia thành ba nhóm chính: Dữ liệu Miền, Dữ liệu Ứng dụng, Dữ liệu Nội dung Trong ba nhóm này, thì hai nhóm Dữ liệu Miền – liên quan tới vị trí, thời gian của người dùng,và Dữ liệu ứng dụng – liên quan tới profile người dùng và profile dịch vụ cung cấp sẽ được tái sử dụng trong các loại hình dịch vụ Nhóm còn lại là Dữ liệu Nội dung sẽ được phân thành các tầng dữ liệu chồng lấp lên nhau: thông tin du lịch, giao thông, mua sắm, thời tiết… nhằm mục đích sử dụng cho từng dịch vụ được yêu cầu Các loại thông tin đưa ra dựa vào vị trí, thời gian, profile của người dùng và lịch

sử tham quan có thể liên quan tới nhiều vấn đề từ ngôn ngữ định nghĩa phạm vi của profile tới truyền dữ liệu không dây Trong một loạt ứng dụng hỗ trợ liên quan tới lập lịch, ví dụ như cách tốt nhất để kết nối vị trí và thời gian với sự kiện Người dùng có thể có một danh sách các sự kiện như: xem giải đấu tennis, liên hoan phim, hội chợ thương mại, hoặc một hội nghị Người dùng có thể mong muốn tối ưu các sự kiện đó trên quãng đường tham quan thông qua chuỗi sự kiện/vị trí Một hệ thống thông minh

sẽ đưa ra danh sách các lựa chọn Các ứng dụng này thuộc vào chủ đề chung của tối ưu

Trang 12

Hệ thống được triển khai theo kiến trúc client – server và có khả năng thực hiện cung cấp thông tin theo hai cơ chế, đó là đẩy (push) và kéo (pull) Các thuật toán cài đặt các thao tác tìm kiếm thông tin theo các điều kiện về vị trí, thời gian, cũng như vai trò và mối quan tâm của người dùng cũng được phân tích và cài đặt Cuối cùng, một hệ thống thử nghiệm được xây dựng cho phép cung cấp hai dịch vụ là du lịch và giao thông trong khu vực thành phố Hà Nội Hệ thống xây dựng cho điện thoại thông minh với hệ điều hành android và công cụ Protégé để biểu diễn thông tin và ngữ nghĩa Kết quả của nghiên cứu hứa hẹn cho sự ra đời của một hệ thống tích hợp và cung cấp nhiều loại dịch vụ dựa vào vị trí và ngữ cảnh của người dùng một cách tiện lợi và hiệu quả

Từ những nhiệm vụ đã nêu trên, luận văn được trình bày với bố cục như sau: Chương 1 Giới thiệu tổng quan về hệ thống cung cấp thông tin hướng ngữ cảnh

và công nghệ Web Ngữ nghĩa

Chương 2 Khảo sát một số hệ thống cung cấp thông tin dựa trên sự kiện hiện có,

mô hình dữ liệu LBS

Chương 3 Tìm hiểu kiến trúc, thành phần của Web Ngữ nghĩa, trong đó tập trung vào công nghệ Ontology và xây dựng truy vấn SPARQL cho Ontology

Chương 4 Xây dựng kiến trúc hệ thống cung cấp thông dựa trên ngữ cảnh, thiết

kế ontology dữ liệu và xây dựng các thuật toán sử dụng để xây dựng hệ thống

Chương 5 Triển khai hệ thống thử nghiệm cung cấp thông tin du lịch và giao thông cho khu vực Hà Nội

Chương 6 Đánh giá quả thực nghiệm của luận văn và đưa ra các định hướng phát triển tiếp theo cho hệ thống trong tương lai

Trang 13

Chương 2 Khảo sát các hệ thống LBS và mô hình dữ liệu

hiện có Trong chương này, nội dung đề cập tới sẽ là khảo sát một số hệ thống cung cấp thông tin dựa trên ngữ cảnh Sau đó là khảo sát mô hình dữ liệu cho đối tượng di động, phân loại dữ liệu sử dụng trong các hệ thống LBS nhằm đưa ra cách nhìn rõ hơn về cấu trúc hoạt động của hệ thống theo hướng Semantic hóa

2.1 Khảo sát một số mô hình cung cấp thông tin dựa trên ngữ cảnh Hiện nay, tồn tại một vài hệ thống cung cấp thông tin dựa trên vị trí và xử lý thông tin nhận biết ngữ cảnh Chúng được chia thành hai loại hình dịch vụ: loại dịch

vụ cho các hoạt động ngoài trời và loại dịch vụ cho các hoạt động trong nhà Một số ví

dụ các dịch vụ ngoài trời bao gồm các hệ thống hướng dẫn du lịch như Nexus [2], Guide [3], Crumpet [4] Các dịch vụ trong nhà bao gồm hệ thống hướng dẫn bảo tàng như Hippie [5], Electrolic Guidebook [6], và Remember [7]

Mô hình hóa cơ sở dữ liệu và việc truy vấn cho các đối tượng di chuyển đã và đang được nhiều nghiên cứu đề cập tới (ví dụ trong [8], truy vấn cho các đối tượng di

chuyển được phân chia thành ba loại: instantaneous – đánh giá một lần khi định nghĩa;

continuous – đánh giá thường xuyên sau khi định nghĩa; và persistent – chuỗi các đánh

giá truy vấn instantaneous mỗi khi cập nhật cơ sở dữ liệu) Tuy nhiên, các cơ chế cụ

thể cho việc định nghĩa profile và bộ lọc sự kiện không được đề cập trong các nghiên

cứu đó Trong ngữ cảnh của các dịch vụ dựa trên ngữ cảnh, truy vấn continuous được

quan tâm một cách đặc biệt Hầu hết các hệ thống chỉ xem xét các truy vấn liên quan đến những thay đổi trong vị trí người sử dụng (ví dụ trong Oldenburg) Các nghiên cứu

mở rộng của các dịch vụ hướng ngữ cảnh tập trung vào công nghệ tương tác với người dùng di chuyển để trực quan hóa về mặt không gian của đối tượng di chuyển nói chung

Trong hầu hết các hệ thống, ngữ cảnh giường như chỉ được coi là vị trị của người dùng đo đạc được tại các điểm truy cập nhất định (ví dụ trong Electronic Guidebook) hoặc là một vị trí được đưa ra (ví dụ trong Nenus) Điều đó có nghĩa là truy vấn

continuous hoặc profile chỉ xem như là vị trí của người dùng Thêm vào đó, ngữ cảnh

còn được xem như là sở thích người dùng hay thời gian địa phương và các tham số kỹ thuật truyền thông Tuy nhiên, một vài hệ thống bao hàm ý niệm về sự kiện và profile theo cách khác Trong hệ thống Guide, khách du lịch được hệ thống chủ động thông báo về các sự kiện chung, như giờ mở cửa của một bảo tàng Thông tin này được gửi phát cho tất cả người dùng của hệ thống, mà không quan tâm tới việc người dùng có quan tâm hay không Tương tự như Nexus, VIT [38] cũng có cùng cơ chế cung cấp

Trang 14

sử dụng các truy vấn continuous về vị trí không gian của người dùng như các profile

Thông tin về các đối tượng (sự dịch chuyển) được gửi đi tùy thuộc vào tầm quan trọng của nó với người sử dụng, trong đó tầm quan trọng này phụ thuộc vào khoảng cách không gian giữa các đối tượng và người sử dụng

Hiện nay có rất nhiều các hệ thống thông báo sự kiện cho người dùng được cài đặt, ví dụ như SIFT [9] Một vài hệ thống thông báo sự kiện ENS áp dụng vào cung cấp thông tin ngữ cảnh cho du lịch, tập trung vào hỗ trợ lên kế hoạch du lịch và chỉ dẫn đường đi, ví dụ như hệ thống Genesis [10] Hầu như trong các hệ thống ENS, tin nhắn báo cáo cho một sự kiện được định dạng như một cặp tương ứng giá trị – thuộc tính

Ngày nay có rất nhiều ngôn ngữ định nghĩa profile, thường dùng để phân biệt các chủ đề từ nội dung đã được lọc Theo cách hiểu truyền thống, các profile là các chủ đề hoặc đề tài mà trong nó có các sự kiện được sắp xếp thứ tự Việc lọc nội dung cho phép lọc thông tin hiệu quả hơn, hỗ trợ tốt hơn cho người sử dụng hệ thống

Hệ thống Active Badges [11], Ultrasonic-based Bat [12] hay hệ thống Radar đều dựa trên công nghệ mạng không dây LAN Các hệ thống định vị cho các hoạt động ngoài trời có thể sử dụng mạng không dây di động hoặc GPS Chúng ta có thể thấy được cái nhìn bao quát về các hệ thống hướng ngữ cảnh trong [13] Trong nghiên cứu [14] tập trung vào sự ảnh hưởng của các thông số kỹ thuật như công suất máy tính của khách hàng, tốc độ và thông lượng của kết nối mạng với việc tương tác của người sử dụng

2.2 Mô hình dữ liệu không gian - thời gian

Phần này trình bày về tìm những nghiên cứu và triển khai về các mô hình dữ liệu không gian thời gian

Đầu tiên chúng ta cần tìm hiểu về khái niệm đối tượng trong không gian thời gian Theo nghiên cứu [1] thì một đối tượng chiếm một vị trí trong không gian được gọi là một đối tượng không gian Khi mà vị trí của nó thay đổi theo thời gian, thì nó được gọi

là đối tượng không gian – thời gian; và nếu đối tượng có thể chuyển động và thay đổi

vị trí theo thời gian thì được gọi là đối tượng di động [1]

Trang 15

Nghiên cứu [15] cũng đưa ra một mô hình cấu trúc dữ liệu để mô tả các kiểu đối tượng dữ liệu, nghiên cứu còn cung cấp một framework hỗ trợ quản lý và tổ chức dữ liệu Còn trong [16], tác giả định nghĩa ra mô hình dữ liệu không gian để mô hình hóa thế giới thực trong đó các đối tượng có thể thay đổi vị trí và hình dạng theo thời gian Trong hầu hết các mô hình không gian – thời gian, vị trí của các đối tượng được giả định có thể biết một cách chính xác Do đó theo giả định này thì giá trị thể hiện vị trí này luôn luôn cụ thể và tuyệt đối chính xác Tuy nhiên, trên thực tế, không thể khẳng định một cách chắc chắn vị trí tọa độ cụ thể chính xác của các đối tượng được

Vì thế mà vị trí của các đối tượng có một độ không chắc chắn nào đó và liên quan tới đường biên Ngoài ra, vị trí của các đối tượng trong không gian còn có các mối liên hệ ràng buộc với nhau Như vậy, các đối tượng di động có tính chất không chắc chắn và

bị ràng buộc bởi đường biên, và có mối quan hệ với nhau theo vị trí không gian [17] CSDL không gian bao gồm những bản ghi lưu trữ sự thay đổi trong không gian [18], CSDL thời gian được mô tả bởi tập hợp các dữ liệu thông tin thay đổi theo thời gian [19] Việc kết hợp cả hai chiều dữ liệu theo không gian và thời gian sẽ tạo ra CSDL chiều không gian – thời gian

Kỹ thuật khai phá dữ liệu không gian thời gian cũng là một vấn đề cần được xem xét cẩn trọng Kỹ thuật khai phá được áp dụng phụ thuộc rất lớn vào mô hình dữ liệu

mà ta sử dụng Để có được kỹ thuật khai phá tốt, cần phải nghiên cứu ngôn ngữ truy vấn không gian – thời gian tương ứng với kỹ thuật đó Trong nghiên cứu [20], ngôn ngữ truy vấn không gian hỗ trợ các thao tác liên quan tới dữ liệu không gian đã được phát triển Ngôn ngữ truy vấn thời gian cũng được nghiên cứu đề xuất trong [21] Sự

mở rộng ngôn ngữ truy vấn không gian – thời gian là sự kết hợp của hai ngôn ngữ truy vấn độc lập trên

2.3 Phân loại dữ liệu trong LBS

Một nhiệm vụ quan trọng khi xây dựng một hệ thống là việc phân tích và hiểu được việc phân loại dữ liệu liên quan, ví dụ như các khái niệm, ngữ nghĩa và cách sử dụng Nó không chỉ giúp việc cung cấp các công nghệ thích hợp để mô hình hóa và giao tiếp với dữ liệu, mà còn giúp hiểu đúng được các yêu cầu của dịch vụ và đáp ứng được các yêu cầu của hệ thống

Phân tích dữ liệu hệ thống là một quá trình mô đum hóa hệ thống Đầu tiên, chúng ta nhận biết được các loại dữ liệu đặc trưng và sau đó thì xác định chúng cụ thể hơn Trong phần này, chúng ta thể hiện thành ba loại dữ liệu, và chỉ ra sự kiết hợp giữa chúng Ba loại dữ liệu được mô phỏng mối quan hệ như trong Hình 2.1

Trang 16

nhau được GSM Group diễn giải và chỉ ra rằng: vị trí tương đối (location), vị trí tuyệt đối (position), sự dịch chuyển (movement) giống như thời gian đặc trưng hóa cho các

ứng dụng LBS Ví dụ, chúng ta nói về một LBS cho khách du lịch hoặc LBS giao thông

Position và location là hai thuật ngữ mang nghĩa giả định, chúng thường xuyên

được sử dụng thay thế cho nhau Tuy nhiên, trong LBS, chúng ta nên phân biệt ngữ nghĩa của hai khái niệm này tùy vào mục đích sử dụng trong hệ thống Để mô tả về mặt ngữ nghĩa tốt hơn thì chúng ta chọn cách để phân biệt hai thuật ngữ trên trong hai trường hợp: trong thực tế, chiều không gian đưa ra hai khái niệm mới trong LBS:

position và location của đối tượng Các vấn đề tương tự cho chiều thời gian, chúng ta

cũng sử dụng các khái niệm thời gian: thời gian chính xác (timestamp) và khoảng thời gian (time horizon)

Mục đích phân tích và đưa ra các khái niệm trên trong dữ liệu miền nhằm lưu trữ sự chuyển động của một đối tượng di chuyển theo hai chiều kích không gian và thời gian Chi tiết phân tích dữ liệu miền sẽ được trình bày trong các chương sau

2.3.2 Dữ liệu ứng dụng

Trang 17

Dữ liệu ứng dụng phân ra làm 2 loại dữ liệu sau:

- Dữ liệu Profile: đặc trưng cho người dùng và thiết bị di động mà du khách

mang theo, có thể là một trong các profile sau:

+ Profile người dùng: để lưu giữ thông tin người dùng và những thông tin

liên quan tới người dùng Ví dụ như người dùng tới du lịch ở thành phố Hà Nội có thể là một khách du lịch hoặc là một nhà khoa học, và họ có đều có

sở thích khác nhau Profile người dùng có thể lưu trữ sở thích người dùng cũng như những chủ đề thông tin mà họ muốn tìm hiểu

+ Profile thiết bị: lưu trữ các đặc tính của loại thiết bị di động mà người

dùng đang mang theo, có thể là thông số của CPU hoặc đặc trưng bộ nhớ hoặc kích thước màn hình…

- Dữ liệu dịch vụ: là nơi lưu trữ những dịch vụ cụ thể mà hệ thống LBS sẽ cung

cấp tới người Ví dụ như: dịch vụ ăn uống, dịch vụ chỉ đường, dịch vụ mua sắm hoặc dịch vụ giao thông cho người dùng sử dụng các thiết bị di động thông minh 2.3.3 Dữ liệu nội dung

Dữ liệu nội dung là dữ liệu thực của một ứng dụng cụ thể nào đó Ví dụ, cho LBS

du lịch, dữ liệu nội dung các thông tin về thiên nhiên, công viên, bảo tàng…; trong khi với với LBS giao thông lại là dữ liệu về ùn tắc giao thông, đường xá hoặc các loại

dữ liệu khác nói về giao thông Dữ liệu nội dung có thể bao gồm:

- Nội dung mô tả cụ thể: ví dụ như tên nhà hàng, thông tin kiến trúc của một danh

lam thắng cảnh nào đó

- Không gian được tham chiếu đến: chỉ ra nơi mà thông tin thực được đặt, nhìn

thấy hoặc đã được ghi lại, ví dụ như vị trí của một bảo tàng

- Thời gian được tham chiếu: chỉ ra thời điểm mà thông tin được chỉ định, được

nhìn thấy, hoặc được ghi lại vào trong hệ thống: ví dụ như thời gian của vụ ùn tắc giao thông

Ba loại dữ liệu miền, dữ liệu dịch vụ, dữ liệu nội dung được kết hợp với nhau để đưa ra thông tin nào đó cho một dịch vụ cụ thể Ví dụ: để cung cấp dịch vụ “tìm ra nhà hàng gần nhất so với vị trí hiện tại của người dùng”, một tham chiếu tới danh sách các nhà hàng trong dữ liệu nội dung kết hợp với vị trí của người dùng trong dữ liệu miền Không có sự liên kết trực tiếp nào giữa dữ liệu Nội dung và dữ liệu miền mà phải thông qua dữ liệu dịch vụ làm trung gian

Trang 18

16

Chương 3 Web Ngữ nghĩa Ngày nay, việc chia sẻ thông tin trên Web ngày càng nhiều, dẫn tới việc dữ liệu được lưu trữ một cách tràn lan Điều này khiến cho việc tìm kiếm các thông tin hữu ích khi cần thiết cũng ngày càng trở nên khó khăn Với thực tế đó, yêu cầu tổ chức thông tin dữ liệu một cách khoa học hơn để phục vụ cho việc tìm kiếm dễ dàng thuận lợi Với hoàn cảnh đó Web Ngữ nghĩa ra đời, mở đầu cho việc tổ chức lại dữ liệu theo một phương diện khác, làm sao cho việc tổ chức dữ liệu một cách ý nghĩa để máy tính có thể hiểu được những gì con người muốn tìm kiếm

Mối quan hệ giữa các thực thể trong thế giới thực được Khoa học Triết học nói tới thông qua việc mô phỏng là các Ontology Chính vì lý do này, mà Ontology trở thành hạt nhân lưu trữ của Sematic Web Trong phần này cũng sẽ đề cập tới cấu trúc của Ontology và cách để chúng lưu giữ thông tin cũng như các mối quan hệ liên quan tới nó ra sao Tiếp đó, để liên kết các Ontology đó lại thành một tập hợp tri thức, chúng ta cần tới việc sử DRFSchema Cấu trúc của RDF, RDFS cũng sẽ được tìm hiểu

và làm rõ

Việc tổ chức dữ liệu thông thường các truy vấn SQL là cách thức để Web thông thường thực hiện lấy ra, cập nhật, chèn thông tin thì với Web Ngữ nghĩa sẽ sử dụng giao thức SPARQL để đảm nhận các chức năng như ngôn ngữ truy vấn thông tin thông thường

Sau đây là nội dung chi tiết của các vấn đề liên quan tới Web Ngữ nghĩa

3.1 Web Ngữ nghĩa

3.1.1 Khái niệm Web Ngữ nghĩa

“Web Ngữ nghĩa là một sự mở rộng của Web hiện tại mà trong đó thông tin được

xử lý một cách tự động bằng máy tính, làm cho máy tính và con người có thể hợp tác với nhau”- Tim Berners-Lee

Web Ngữ nghĩa (Semantic Web) có thể coi là một mạng lưới các thông tin được liên kết sao cho chúng có thể được xử lý trên phạm vi toàn cầu thông qua các máy tính

Có thể coi Web Ngữ nghĩa như một cách mô tả thông tin rất hiệu quả trên World Wide Web, và cũng có thể coi đó là một cơ sở dữ liệu liên kết toàn cầu

Trong Semantic Web, dữ liệu được tổ chức một cách ngữ nghĩa, nhờ đó mà máy tính có thể hiểu được những mong muốn của con người, nhờ đó mà Semantic Web được coi là Web thông minh

Trang 19

Semantic Web cho phép việc tự động hoặc bán tự động chú thích, quảng cáo, tìm kiếm, lựa chọn, tác tạo và thực hiện việc tổ chức nội bộ nghiệp vụ logic, làm cho Internet trở thành một một nền tảng chung khi tổ chức và giao tiếp từng thành phần để thực hiện một vài các hoạt động thương mại và để cung cấp các dịch vụ kèm theo 3.1.2 Kiến trúc tầng của Semantic Web

Hình 3.1 Kiến trúc tầng của Web Ngữ nghĩa

Hình 3.1 mô tả khái quát kiến trúc của Semantic Web (W3C) - Tim Berners-Lee [29] Các công nghệ Semantic Web đưa ra một hướng mới để quản lý thông tin và tiến trình Các nguyên lý cơ bản của nó là việc tạo và sử dụng siêu dữ liệu ngữ nghĩa (semantic metadata) Semantic Web được chia thành 8 phần sau:

3.1.2.1 URI

Một định danh tài nguyên phổ biến (URI) là một chuỗi được định dạng mà đáp ứng như là ý nghĩa của định danh trừu tượng hoặc tài nguyên vật lý Một URI có thể được phân loại sâu hơn như là một định vị, một tên hoặc cả hai Định vị tài nguyên thống nhất (URL) dùng để chỉ tới tập con của URI mà xác định các tài nguyên thông qua một đại diện của cơ chế truy cập chính của chúng Một tên tài nguyên thống nhất (URN) dùng để chỉ tập hợp con của URI được yêu cầu để duy trì sự duy nhất toàn vẹn

và sự bền vững ngay cả khi nguồn tài nguyên không còn tồn tại hoặc không có sẵn Ví dụ: một URL: <http://dme.uma.pt/jcardoso/index.htm> xác định địa chỉ trang web được lấy về; một URN: “urn:isbn:3-540-24328-3” xác định một cuốn sách sử dụng ISBN

Trang 20

18

3.1.2.2 Unicode

Unicode cung cấp một số duy nhất cho mỗi ký tự, độc lập với nền tảng, hay chương trình, ngôn ngữ chạy dưới nó Trước khi có Unicode, đã tồn tại một vài hệ thống mã hóa khác Việc mã hóa đa dạng tạo ra các thao tác của dữ liệu trở lên phức tạp Bất kỳ máy tính nào cũng cần hỗ trợ nhiều dạng mã hóa Sẽ là rất nguy hiểm nếu như các chế độ mã hóa mâu thuẫn lẫn nhau, từ việc hai cơ chế mã hóa có thể sử dụng một số cho hai ký tự khác nhau, hoặc hai số khác nhau cho cùng một ký tự Một ví dụ điển hình về sự mâu thuẫn này là hai hệ thống ASCII và EBCDIC

3.1.2.3 XML và tên không gian tên miền XML

Các định nghĩa XML (ngôn ngữ đánh dấu mở rộng) với Tên miền XML và lược

đồ XML đảm bảo rằng có một cú pháp chung được sử dụng trong Semantic Web Các không gian tên miền XML cho phép xác định từ vựng được đánh dấu khác nhau trong một tài liệu XML Lược đồ XML nhằm đáp ứng việc mô tả lược đồ các định nghĩa của một tài liệu XML cụ thể XML và không gian tên miền XML được biết đến với khả năng tương thích với ngữ nghĩa, tuy nhiên chúng lại có một vài nhược điểm

3.1.2.4 RDF và giản đồ RDF

Phía trên của XML là Nền tảng mô tả tài nguyên (RDF), để biểu diễn thông tin về các tài nguyên trong một hình thức biểu đồ RDF được dựa trên bộ ba Đối tượng-Thuộc tính – Giá trị (Object – Attribute – Value), là hình thức của một biểu đồ dữ liệu với một quan hệ của đối tượng (một tài nguyên), một thuộc tính (một tính chất) và một giá trị (một tài nguyên) Lược đồ RDF (RDFS) định nghĩa từ vựng của mô hình RDF

Nó cung cấp cơ chế mô tả các thuộc tính của một miền cụ thể và các lớp của các tài nguyên, từ đó các thuộc tính kia có thể áp dụng, sử dụng một tập hợp các mô hình gốc

cơ bản (lớp, lớp con, thuộc tính, thuộc tính con, miền, phạm vi, loại) Tuy nhiên, RDFS là khá đơn giản và nó vẫn không cung cấp chính xác ngữ nghĩa của một tên miền

3.1.2.5 Ontology

Ontology bao gồm một tập hợp các thuật ngữ tri thức, bao gồm từ vựng, ngữ nghĩa, các mối liên kết, các quy tắc đơn giản để suy diễn và logic cho một số chủ đề cụ thể [39] [40] Ontology đã được áp dụng cho các trang web để tạo ra Semantic Web Ontology tạo điều kiện cho việc chia sẻ tri thức và cung cấp các nội dung Web có khả năng sử dụng lại, các dịch vụ Web, và các ứng dụng Một vài ngôn ngữ Ontology như là DAML (Ngôn ngữ đánh dấu tác nhân DARPA), OIL (Tầng đan xen Ontology)

và OWL (Ngôn ngữ Ontology Web) OWL được phát triển bắt đầu từ mô tả logic và

Trang 21

DAML+OIL OWL là một tập các phần tử XML và các thuộc tính với ý nghĩa được xác định rõ ràng Chúng được sử dụng để định nghĩa các thuật ngữ và các mối quan hệ (ví dụ Lớp, Thuộc tính tương đương, thuộc tính cắt nhau, thuộc tính hợp…)

Các phần tử OWL kế thừa các tập hợp RDF và RDFS, và không gian tên miền của OWL được sử dụng để biểu thị mã hóa OWL OWL được phân loại thành 3 kiểu: OWL Lite cho nguyên tắc phân loại và ràng buộc đơn giản, OWL DL hỗ trợ đầy đủ cho mô tả logic, OWL Full cho tối đa mặt ý nghĩa và tự do về mặt cú pháp của RDF OWL DL được sử dụng rộng rãi cho mô tả ontology

Khi thực hành, các ontology thường được phát triển sử dụng kết với các công cụ

đồ họa để tạo ra các ontology; một số công cụ thường được sử dụng như Protégé, OILed và OntoEdit Protégé tạo điều kiện thuận lợi cho tính mở rộng của cơ sở hạ tầng

và cho phép xây dựng dễ dàng các nội dung thông tin bao hàm của các ontology

3.1.2.6 Tầng Logic, Proof, Trust và Digital Signature

Tầng logic được sử dụng để nâng cao độ sâu của ngôn ngữ ontology và cho phép viết lên khai báo tri thức của ứng dụng cụ thể

Tầng proof bao gồm quá trình suy diễn thực tế như là bản biểu diễn thử trong các ngôn ngữ Web và đánh giá bản in thử

Cuối cùng, tầng Trust là tầng trên cùng, thông qua việc sử dụng các chữ ký số và các loại tri thức, dựa trên các gợi ý bởi các yếu tố đáng tin cậy hoặc trên các tác nhân đánh giá, chứng nhận và yêu cầu của từng khách hàng

3.2 OWL và Ontology

3.2.1 Khái niệm Ontology

Là một mô hình công cụ cho mô hình khái niệm mà mô tả thông tin hệ thống giới hạn ngữ nghĩa và tri thức Hay nói cách khác, ontology là một khái niệm dùng để biểu đạt tri thức theo một cách tường minh, khi mà miền tri thức được thể hiện như là các khái niệm và các mối quan hệ

Mô hình chung của Ontology được biểu đạt theo công thức sau:

O = <c, p, a>

Trong đó:

 c: là tập các khái niệm tên

Trang 22

20

 p: là tập các khái niệm về thuộc tính

 a: là tập các tiên đề, các ràng buộc và các quy tắc mà được định nghĩa trên các

khái niệm và thuộc tính

3.2.2 Cấu trúc Ontology

- Namespaces

Thành phần khởi tạo ban đầu chuẩn của một ontology là tập các khai báo XML

namespace với thẻ rdf:RDF Chúng đưa ra ý nghĩa định danh để tránh nhầm lẫn và làm

sáng tỏ các miền tri thức thể hiện của ontology Một OWL thông thường thì với một khai báo namespace giống với việc theo namespace đó Tuy nhiên, như đã trình bày ở phần RDF, ở trong w3c.org tham khảo thì các URI được khai báo như một định danh

namespace gọi tới http://www.w3.org/2002/07/owl# Đây là quy tắc khai báo OWL được dùng để giới thiệu từ vựng OWL

OWL phụ thuộc vào các cấu trúc được định nghĩa bởi RDF, RDFS và namespace

của loại dữ liệu của XML Schema (xsd:) Tuy nhiên điều quan trọng ở đây là việc khai

báo namespace ở đây nhằm mục đích làm đơn giản hóa và nhất quán của Ontology

- Ontology Headers

Sau khi thiết lập namespace, chúng ta thường khai báo vào bên trong thẻ

owl:Ontology tập các assertion Các thẻ này hỗ trợ các tiêu chuẩn như các comment,

quản lý version và các kết luận của các Ontology khác

+ Thẻ owl:Ontology là một thay thế cho tập hợp rất nhiều các meta-data của

OWL cho tài liệu Nó không đảm bảo rằng tài liệu mô tả một Ontology theo một

Trang 23

cách nhìn truyền thống Trong một số trường hợp chung, các Ontology không là các phần riêng lẻ nhưng chỉ các class và các property định nghĩa trong một miền

Khi sử dụng OWL để mô tả tập các dữ liệu khởi tạo, thẻ owl:Ontology có thể cần

thiết để ghi lại thông tin về version và để nhập các định nghĩa mà tài liệu phụ thuộc vào Do đó, trong toàn bộ OWL, tập ontology được mở rộng để bao gồm các khởi tạo dữ liệu

của thuộc tính là “”, thì trường hợp chuẩn, tên của Ontology là URI cơ bản của owl:Ontology Thông thường thì URI này của tài liệu đang chứa Ontology Một

ngoại lệ cho trường hợp sử dụng xml:base mà có thẻ thiết đặt URL-base là một

thuộc tính mà không phải là URI của tài liệu đang xét tới

+ Thẻ rdfs:comment được dùng để làm tăng tính rõ ràng cần thiết cho một ontology giống như việc chú giải chẳng hạn

+ Thẻ owl:priorVersion là một thẻ chuẩn có mục đích cung cấp các mấu chốt cho

hệ thống điều khiển version với các Ontology

+ Thẻ owl:imports được sử dụng tương đương với thẻ # include trong các ngôn ngữ

lập trình Thẻ này chỉ có một đối số, được xác định bởi thuộc tính rdf:resource

Việc nhập các Ontology khác vào Ontology hiện tại là đưa toàn bộ tập xác nhận được đưa ra bởi các Ontology được nhập vào trong Ontology hiện tại Để có được việc sử dụng tốt nhất các Ontology được import, thường nên phối hợp với khai báo ở namespace Chú ý rằng việc sử dụng owl:imports không phải lúc nào cũng

thành công, giống như những gì bạn mong đợi khi chia sẻ với Sematic Web, việc truy cập tới nguồn tài nguyên phân tán thông qua Web không phải lúc nào cũng

là có thể Ngoài ra OWL cung cấp một vài cơ chế để ràng buộc Ontology hiện tại

và các Ontology được import với nhau, đó chính là sử dụng cơ chế ontology mapping [32]

Một tập chuẩn các thẻ có thể đọc, được chứa trong tập thẻ siêu dữ liệu-

“meta-data” của chuẩn Dublin Core[31] Tập con bao gồm những kiểu dữ liệu đơn giản hoặc các chuỗi như các giá trị

- Tập hợp dữ liệu và Bảo mật

Khả năng của OWL là để diễn giải thông tin về sự xuất hiện khởi tạo trong nhiều tài liệu hỗ trợ việc liên kết dữ liệu từ các nguồn mong đợi trong một quy tắc Nền tảng semantic cung cấp hỗ trợ cho việc suy luận dây truyền thông qua các dữ liệu mà có thể đưa đến những kết quả không mong muốn Cụ thể, khả năng để diễn tả sự tương

đương bằng việc sử dụng owl:sameAs có thể được sử dụng cho tập giường như là khác

Trang 24

22

nhau từng phần riêng rẽ nhưng thực tế lại là giống nhau

Owl:InverseFunctionalProperty cũng được dùng để liên kết từng phần riêng lẻ với

nhau Ví dụ, nếu một thuộc tính “SocialSecurityNumber” là một

Owl:InverseFunctionalProperty, thì có hai thành phần riêng lẻ có thể được suy ra từ

nó để trở thành định danh dựa vào việc có giá trị giống nhau của thuộc tính đó Khi mà các phần riêng lẻ được xác định là giống nhau về ý nghĩa, thông tin về chúng từ các nguồn khác nhau có thể hợp lại với nhau Sự kết hợp này chứng minh rằng, thông tin sau khi tìm kiếm được thực tế không nằm trong một nguồn duy nhất nào mà nó được suy ra từ suy luận logic

Khả năng của Semantic Web là kết nối thông tin từ nhiều nguồn, các thuộc tính được sử dụng trong nhiều ứng dụng Tuy nhiên, khả năng kết hợp lắp ghép dữ liệu từ nhiều nguồn, kết nới với khả năng suy luận của OWL có thể dẫn tới xu hướng lạm dụng Người sử dụng OWL nên được cảnh báo về những tác động của tính bảo mật thông tin tiềm tàng Một số các giải pháp cho vấn đề bảo mật được các tổ chức giải quyết như SAML [33] và P3P [34]

3.2.3 OWL

3.2.3.1 Giới thiệu OWL

Bạn đánh một cụm từ nào đó trên google, chẳng hạn như “You And Me” và nhấn

nút “Search”, Google sẽ trả về cho bạn một số thông tin khác mà không phải hoàn toàn

chính xác tới 100% là cụm từ “You And Me” Câu hỏi đặt ra là, với hệ cơ sở dữ liệu bình thường, chúng ta chỉ có thể trả về một thông tin kiểu “xxxYou And Meyyyyy” có

thể hiểu là truy vấn dạng LIKE, vậy google làm như thế nào để có thể trả về các kết quả phong phú và đa dạng đến vậy

Và câu trả lời thật là đơn giản, họ đã sử dụng Dịch vụ Web Ngữ nghĩa - Semantic Web Service trong việc tìm kiếm thông tin đó Và cốt lõi của Semantic Web Service là OWL – Web Ontology Languages, một ngôn ngữ dùng cho việc định nghĩa các khởi tạo của Web ontology Ontology là một từ được mượn từ triết học mà nó chỉ tới môn khoa học trong việc mô tả các loại thực thể trong thế giới và làm thế nào để chúng liên

kết quan hệ với nhau Một Ontology OWS có thể bao gồm các mô tả về class, property

và các instances của chúng Được đưa ra như một Ontology, dạng ngữ nghĩa OWL xác

định là làm thể nào để lấy ra những kết luận một cách logic Việc kế thừa theo một quy tắc thứ tự có thể dựa trên một hay nhiều tài liệu phân tán và được kết nối với nhau bằng việc sử dụng cơ chế định nghĩa OWL

 Điểm khác biệt trong mô tả XML/Web chuẩn so với việc tổ chức theo OWL là

lý do mà người ta lựa chọn OWL trong việc tìm kiếm chứ không chọn XML/Web chuẩn

Trang 25

 Một Ontology khác với một XML schema trong việc thể hiện tri thức, chứ không phải định dạng thông điệp Hầu hết lĩnh vực công nghiệp dựa trên Web chuẩn đều bao gồm việc kết nối các định dạng thông điệp và các giao thức nhất định Những định dạng ở đây đã và đang đưa ra các toán tử ngữ nghĩa

 Một ưu điểm của ontology OWL là sự sẵn sàng của các công cụ có thể lý giải

về chính nó Các công cụ này cung cấp miền chung mà không phải là cho một miền vấn đề cụ thể nào, đó sẽ là trường hợp nếu xây dựng một hệ thống diễn giải về lược đổ XML tiêu chuẩn Xây dựng một hệ thống lý luận đúng đắn và hữu ích thì không hề đơn giản nhưng xây dựng một Ontology thì dễ dàng hơn

- OWL DL: hỗ trợ người sử dụng trong trường hợp họ muốn việc giải thích tôi đa

mà không mất đi tính toán hoàn chỉnh (tất cả thứ tự kế thừa đều được tính toán) và các khả năng quyết định của các hệ thống diễn giải OWL DL bao gồm tất cả các ngôn ngữ xây dựng OWL cũng được đặt tên dựa vào khả năng đáp ứng của nó với các mô tả logic

- OWL Full: cho người dùng mong muốn có giải thích tối đa và cú pháp RDF ngẫu nhiên với không đảm bảo tính toán nào Ví dụ với một OWL Full một class đối với việc thực thi như một tập các thành phần riêng rễ như một phần riêng rẽ trong chính nó OWL Full cho phép một Ontology làm đối số cho từ vựng được định nghĩa trước Nó không hề giống với bất kỳ phần mềm diễn giải nào có khả năng hỗ trợ mọi thuộc tính như OWL Full

3.3 Truy vấn trong Semantic Web

3.3.1 Giới thiệu về Cơ sở dữ liệu Graph

CSDL Graph là mô hình dữ liệu tổng quan cho Web ngữ nghĩa Sau đây là một

số hình ảnh mô tả CSDL Graph thông qua so sánh với các loại hình tổ chức dữ liệu khác với loại CSDL khác

Trang 26

24

Hình 3.2 Các loại Biểu đồ dữ liệu

Hình 3.2 thể hiện sự khác biệt giữa CSDL Graph với các hệ quản trị CSDL khác Với CSDL Quan hệ thông thường, các dữ liệu được trích xuất thông qua quan hệ giữa các bảng như JOIN, LEFT JOIN ; còn với CSDL Thứ bậc thì dữ liệu được tổ chức phân thứ bậc cha con Trong CSDL Graph, bởi các thực thể dữ liệu có quan hệ ngữ nghĩa với nhau, nên sau khi xây dựng các luật suy diễn giữa các thực thể trong Ontology thì việc trích xuất dữ liệu trở lên linh hoạt và dễ dàng và hiệu năng hơn Đồng thời qua ví dụ dưới đây, chúng ta sẽ hiểu rõ hơn về CSDL Graph

Bengie là tên một con chó

Bonnie là tên một con mèo

Bengie và Bonnie làm bạn với nhau

Hình 3.3 Mô hình Graph mô tả quan hệ giữa Bengie và Bonnie

Chúng ta sẽ phân tích mô hình này được ánh xạ vào trong RDF ra sao “Thing 1”

và “Thing 2” có các thuộc tính name, animalType và friendsWith Vì có mệnh đề

Trang 27

“Bengie và Bonnie làm bạn với nhau” nên ta suy ra thuộc tính friendsWith cho cả

“Thing 1” và “Thing 2”

Điều quan trọng ở đây những mũi tên một chiều là các thuộc tính, trong RDF còn

gọi là các predicate Và hai khái niệm property và predicate có thể chuyển đổi cho

nhau và các mũi tên diễn tả các thuộc tính trong đồ thị

3.3.2 Truy vấn thông qua SPARQL

3.3.2.1 Sự giống nhau giữa SPARQL và SQL

Giống với SQL, SPARQL cũng lấy dữ liệu từ tập các truy vấn dữ liệu sử một phát biểu SELECT để xác định tập con của tập dữ liệu được chọn ra là được trả về Với SPARQL sử dụng mệnh đề WHERE để định nghĩa mẫu mô hình cho việc tìm kiếm một ánh xạ cho tập truy vấn dữ liệu

3.3.2.2 Câu lệnh Select

Một mẫu mô hình trong một mệnh đề WHERE SPARQL gồm subject, predicate

và đối tượng thứ ba, nơi ánh xạ đến và trả về dữ liệu cho truy vấn trong ví dụ bảng 3.13 sau:

1.PREFIX sch-ont: <http://education.data.gov.uk/def/school/>

2.SELECT ?name WHERE {

3 ?school a sch-ont:School

4 ?school sch-ont:establishmentName ?name

5 ?school sch-ont:districtAdministrative

<http://statistics.data.gov.uk/id/local-authority-district/00AA>

6.}

7.ORDER BY ?name

Bảng 3.1 Ví dụ câu lệnh truy vấn Select của SPARQL

Từ Hình 3.1, ta nhận thấy trong SPARQL các tên biến được thêm vào tiền tố

“?” Trong mệnh đề WHERE của mẫu tìm kiếm trên đối tượng thứ hai của mẫu tìm kiếm (dòng 4) Tuy nhiên ?school cũng là một biến Bởi vì một URI cụ thể chưa được quy định cho một phù hợp nhưng là một biết một biến, Do đó bất kỳ subject nào phù hợp với URI sẽ được trả lại cho phần này của mô hình truy vấn và kết quả sẽ được ánh

xạ vào tên biến Vì vậy, trong câu truy vấn SPARQL trên, ?name sẽ trả về tất cả tên của các trường mà thỏa mãn ba mẫu tìm kiếm trong câu truy vấn Nếu chúng ta muốn lọc thêm điều kiện nữa, chỉ cần add thêm các tiêu chí tìm kiếm là có thể tìm ra kết quả mong muốn

Cuối cùng, ?school là biến ràng buộc cho cả ba mẫu tìm kiếm, bất kỳ subject nào phù hợp với mẫu tìm kiếm và sẽ được trả về cho biến này Nhưng chú ý rằng,

Trang 28

26

trong câu truy vấn SELECT, thì ?school không phải là cái cần trả về, mà nó chỉ là điều kiện để lọc ra giá trị trả về cho biến ?name

SPARQL không phải là một ngôn ngữ truy vấn mà nó là một giao thức, và nó trả

về các kết quả trong schema xác định mà phần mềm bạn có thể đọc Hầu hết tập kết quả trả về đều ở dưới định dạng là XML

Tương tự như truy vấn trong SQL, trong SPRQL cũng có các truy vấn CREATE, UPDATE, DELETE Chi tiết về các loại truy vấn này được trình bày rất chi tiết và rõ ràng trong nghiên cứu [35]

Trang 29

Chương 4 Thiết kế hệ thống Nội dung trong chương này sẽ đề cập tới các định nghĩa, khái niệm cùng các ký hiệu được sử dụng xuyêt suốt luận văn Ở chương này, chúng ta sẽ nhìn mặt tổng thể

và chi tiết hệ thống về mặt kiến trúc, sau đó là mặt chức năng hệ thống, thiết kế dữ liệu

và thuật toán xử lý nhằm đáp ứng yêu cầu của đề tài

4.1 Kiến trúc hệ thống

Hình 4.1 Kiến trúc hệ thống

Từ kiến trúc hệ thống ở Hình 4.1, hệ thống được phân chia thành hai phần: thiết

bị di động và Server cung cấp dịch vụ Phía Server cung cấp thông tin dựa vào: thời gian, vị trí, profile và lịch sử người dùng Dưới đây là mô tả cụ thể hơn cho các thành phần của hệ thống

4.1.1 Thiết bị di động

Người dùng sử dụng dịch vụ hệ thống thông qua một thiết bị di động, có thể là một smartphone hay Ipad Thiết bị di động này có gắn thiết bị định vị GPS hoặc kết nối internet để có thể định vị được vị trí hiện tại của thiết bị Người dùng mang theo thiết bị này trong suốt quá trình du lịch Do đó vị trí và thời gian của người dùng được gắn liền với vị trí cũng như thời gian của thiết bị Vị trí của người dùng được gửi liên tục lên server, nhờ vậy mà server biết được vị trí hiện tại của người dùng và tự động gửi thông tin hữu ích cho người dùng qua thiết bị di động Mặt khác, người dùng còn

có thể tìm kiếm thông tin thông qua việc gửi truy vấn từ thiết tới Server, lúc đó, Server

Trang 30

4.1.2 Server

Từ Hình 4.1, có thể thấy rõ được nhiệm vụ của Server, bao gồm các bước: tiếp nhận yêu cầu, xử lý tìm kiếm theo yêu cầu và gửi trả kết quả tới thiết bị người dùng Trong hệ thống xây dựng, Server thực hiện các chức năng thông qua hai cơ chế push

và pull

Với cơ chế push, Server ở trong trạng thái tự gửi thông tin cho người dùng mà không cần một yêu cầu truy vấn nào Khi vị trí người dùng thay đổi, server sẽ tiếp nhận các vị trí này và xử lý bằng các chuỗi công việc sau đó Đầu tiên là kết hợp thông tin người dùng: bao gồm vị trí, thời gian hiện tại hệ thống phía server sẽ thông qua bộ lọc thông tin, để truy vấn tới thông tin profile và dữ liệu lịch sử người cụ thể Kết quả nhận được của giai đoạn này là lấy ra các loại thông tin mà người dùng quan tâm yêu thích Từ các loại thông tin yêu thích này, hệ thống sẽ tương tác với bộ tìm kiếm thông tin Các loại dữ liệu mà bộ tìm kiếm thông tin tìm kiếm nằm ở các cơ sở dữ liệu như sự kiện lập lịch, dữ liệu bản đồ, thậm chí có thể là các sự kiện bên ngoài Ở đây, sự kiện lập đã được lập lịch là một tuần tự các sự kiện hoạt động được lập lịch sẵn ra Mỗi sự kiện sẽ gắn với một thông tin về thời điểm diễn ra và vị trí xảy ra sự kiện, người ta có thể thêm vào sự kiện các thông tin quảng cáo bổ xung khác nếu thấy cần thiết Sự kiện bên ngoài mà hệ thống tham chiếu tới có thể là một sự kiện không liên quan tới du lịch,

ví dụ như việc hoãn chuyến bay sau 1.5h Sau bước này, kết quả nhận được là các thông tin phù hợp với loại thông tin mà người dùng quan tâm Tiếp đến là bộ lọc thông tin sẽ trả về kết quả cho người dùng

Ngược lại với cơ chế push, với cơ chế pull, server ở trong trạng thái bị động Cơ chế này chỉ được kích hoạt khi người dùng đưa ra một yêu cầu truy vấn tới hệ thống Server sẽ tiếp nhận yêu cầu và tìm kiếm thông tin sao cho khớp với điều kiện tìm kiếm

mà nó nhận được và trả lại kết quả cho người dùng Một yếu tố ảnh hưởng không nhỏ tới tính chính xác của thông tin là độ trễ Người dùng luôn có mong muốn nhận được thông tin kịp thời trước khi họ đi vào khu vực tham quan Bởi vậy, cần tích hợp vào hệ

Trang 31

thống tính năng dự đoán vị trí tương lai, hay hướng đường đi tương lai của người dùng vào để giải quyết vấn đề về độ trễ của thông tin

Dưới đây là các cơ sở dữ liệu chính mà hệ thống server cần sử dụng:

- Cơ sở dữ liệu profile: bao gồm cơ sở dữ liệu về khách hàng sử dụng dịch vụ, bao gồm các thông tin cá nhân, các dịch vụ mà người dùng mong muốn sử dụng, các chủ đề loại thông tin mà người dùng mong muốn sử dụng

- Cơ sở dữ liệu về lịch sử người dùng: đây là cơ sở dữ liệu lưu lại lịch sử suốt quãng đường tham quan của du khách Việc kích hoạt tính năng lưu hay không lưu lịch sử của người dùng sẽ hoàn toàn là lựa chọn của người dùng Mục đích xây dựng lên loại dữ liệu này nhằm tránh gửi thông tin mà người dùng đã được biết ở lần du lịch trước Ngoài ra, hệ thống còn sử dụng loại dữ liệu này để đưa ra gợi ý về các thông tin

có liên quan tới những địa điểm mà du khách đã từng tham quan

- Cơ sở dữ liệu sự kiện lập lịch: là các sự kiện được xếp theo một lịch trình nào

đó Ví dụ như lịch trình chiếu phim ở rạp hay lịch trận đấu bóng đá Sở dĩ có thêm loại

dữ liệu này sẽ làm phong phú hơn cho việc cung cấp thông tin tới người dùng

- Cơ sở dữ liệu về bản đồ: là dữ liệu chính của hệ thống, lưu trữ những thông tin

về đường đi, địa điểm về mặt địa lý, loại địa hình… Dữ liệu bản đồ cần được đặt tách biệt vì nó là dữ liệu cơ bản nhất mà các dịch vụ khác có thể cùng sử dụng tới nó 4.2 Phân tích chức năng của hệ thống

Phần này sẽ trình bày về phân tích và đưa ra các chức năng của hệ thống Phía Server sẽ giữ vai trò chính là cung cấp thông tin, phía client sẽ thực hiện vai trò chính

là tiếp nhận profile của người dùng, gửi thông tin và trình bày kết quả trả về từ server 4.2.1 Chức năng phía server

Từ kiến trúc hệ thống, chúng ta cũng hình dung phần nào vai trò của Server Để

có được những loại dữ liệu như profile, lịch sử, sự kiện lập lịch và dữ liệu bản đồ Thì Server tạo mới, sửa, xóa, và đọc được các dữ liệu đó Tiếp đến là cụm chức năng tìm kiếm, và cuối cùng không kém phần quan trọng là việc kết nối với Client Hình 4.2 sau

sẽ phản ánh biểu đồ phân rã chức năng của Server

Trang 32

30

Hình 4.2 Sơ đồ phân rã chức năng phía Server

Sau đây là chi tiết chức năng của Server:

 Kết nối: Server phải phối hợp ăn khớp với Client để đạt được hiệu quả hoạt

động của hệ thống, bởi vậy tính năng kết nối của phía Server là cần thiết Lúc này Server đóng vai trò nhận và trả thông tin

+ Nhận thông tin yêu cầu: tiếp nhận thông tin từ Client gửi tới Thông tin này bao gồm vị trí, thời gian của Client và nội dung truy vấn của người dùng

+ Gửi trả kết quả: gửi lại kết quả cho Client Sau khi Server tiếp nhận yêu cầu

từ Client, nó sẽ tìm kiếm, xử lý kết quả và gửi trả về cho Client

Trang 33

 Tải thông tin từ nơi cơ sở dữ liệu: Sau khi nhận được yêu cầu từ phía người

dùng, hệ thống server sẽ tiến hành tải về dữ liệu cần thiết từ các kho dữ liệu Chức năng này gồm các chức năng con sau:

+ Tải về dữ liệu hồ sơ người dùng: đây là việc lấy về các liệu profile cụ thể của khách hàng yêu cầu

+ Tải về dữ liệu lịch sử người dùng: dữ liệu lịch sử cũng sẽ là một phần quan trọng trong việc quyết định tới kết quả tìm kiếm được có thỏa mãn yêu cầu của khách

du lịch hay không, sau khi tải dữ liệu profile người dùng thì hệ thống sẽ thực hiện công việc tải dữ liệu lịch sử này

+ Tải về dữ liệu chủ đề: lấy về dữ liệu nội dung theo các chủ để Các chủ đề được tổ chức theo một mạng phân cấp bậc nhất định giống như một cây có nhiều phân nhánh nhỏ Việc phân dữ liệu thành từng nhánh của chủ đề tạo thuận lợi cho hiệu suất tìm kiếm dữ liệu sau này

+ Tải về dữ liệu sụ kiện đã lập lịch: trích rút ra dữ liệu về các sự kiện đã được lập lịch sẵn Ví dụ như lấy ra thông tin của sự kiện trình diễn thời trang thu đông hoặc thông tin các trận bóng chuyền vào ngày mai

+ Tải dữ liệu về mật độ giao thống: là việc nạp các dữ liệu từ cơ sở dữ liệu mật

độ giao thông Công việc này nhằm phụ vụ cho dịch vụ thông báo mật độ giao thông

để tránh gặp phải con đường xảy ra ùn tắc trong quá trình tham quan du lịch của du khách

 Cập nhật dữ liệu: chức năng này cho phép người quản trị cơ sở dữ liệu cập nhật

nội dung của dữ liệu khi có yêu cầu thay đổi Các loại dữ liệu có thể thay đổi được bao gồm dữ liệu profile người dùng, dữ liệu nội dung theo chủ đề và dữ liệu sự kiện được lập lịch sẵn

+ Cập nhật thông tin profile của người dùng: mỗi khi người dùng có yêu cầu thay đổi profile của họ nhằm mong muốn nhận được thông tin mà họ quan tâm hơn, hệ

thống sẽ thực thi chức năng cập nhật lại thông tin profile theo yêu cầu đó

+ Cập nhật dữ liệu nội dung chủ đề: Khi nội dung quảng cáo cho các địa danh

du lịch thay đổi thì nội dung chủ đề cũng phải thay đổi theo, chức năng cập nhật nội dung chủ đề cho phép người quản trị cơ sở dữ liệu có thể thêm, sửa, xóa thông tin về các chủ đề nhằm lưu lại những thông tin mới nhất cho nội dung các chủ đề

+ Cập nhật dữ liệu sự kiện đã được lập lịch: là việc cập nhật lại các sự kiện có trong cơ sở dữ liệu Sự kiện được lập trình Ví dụ như khi thay đổi lịch chiếu phim của

Trang 34

32

một rạp nào đó thì thông tin trong cơ sở dữ liệu sự kiện lập lịch cũng được thay đổi

theo

 Dự đoán vị trí tương lai của người dùng: dựa vào lịch sử di chuyển bao gồm vị

trí ở hiện tại và quá khứ của người dùng mà hệ thống có thể dự đoán được vị trí, hướng đường đi tương lai của người dùng trong khoảng thời gian t nào đó Nhờ áp dụng kỹ thuật này mà Server sẽ chủ động gửi thông tin luôn cập nhật và phù hợp với người dùng trong miền di chuyển, giảm thiểu độ trễ của thông tin tới người dùng của

hệ thống

 Tìm kiếm thông tin:

+ Tìm kiếm dựa vào vị trí: là chức năng đơn giản nhất và cơ bản nhất mà hệ thống phải đáp ứng được Từ vị trí hiện tại của thiết bị gửi về, Server sẽ thực hiện tìm kiếm các điểm được lưu ở các cơ sở dữ liệu lịch sử người dùng, dữ liệu sự kiện lập lịch và dữ liệu nội dung chủ đề trong vòng bán kính R nào đó Kết quả của việc tìm kiếm tương đối nhiều và không sử dụng một phép lọc nào ngoài lọc theo bán kính + Tìm kiếm dựa vào vị trí và thời gian: Cũng giống với chức năng tìm kiếm dựa vào vị trí, là dựa vào yếu tố vị trí hiện tại của người dùng, nhưng mở rộng thêm một yếu tố để lọc lấy dữ liệu nữa đó là yếu tố thời gian Một ví dụ của yêu cầu tìm kiếm dựa vào vị trí và thời gian như khách hàng mong muốn tìm được lịch chiếu phim ở rạp Quốc gia vào cuối tuần này Vậy thông tin khớp với yêu cầu này phải đáp ứng vị trí: rạp Quốc gia; và yêu cầu thời gian là vào thời điểm cuối tuần thì mới thỏa mãn yêu cầu của khách hàng

+ Tìm kiếm thông tin dựa vào vị trí và profile: là chức năng tìm kiếm thông tin thoải mãn được hai tiêu chí Đó là phù hợp với vị trí người dùng và chỉ nằm trong profile của họ Sau khi tìm kiếm ra dữ liệu nội dung, dữ liệu sự kiện lập lịch hệ thống

sẽ kiểm tra xem dữ liệu nào nằm trong loại dữ liệu mà người dùng quan tâm được lưu trữ trong profile cá nhân của họ, nếu thỏa mãn hệ thống sẽ đưa thông tin này ra tới người dùng Nhờ có chức năng này, người dùng sẽ không bị làm phiền bởi các thông tin mà họ không muốn quan tâm đến

+ Tìm thông thông tin dựa trên lịch sử người dùng: dựa vào lịch sử người dùng,

hệ thống biết được thông tin các địa danh mà người dùng đã từng đi qua, từ đó hệ thống có thể đưa ra các nội dung tương tự liên quan tới các dữ kiện lịch sử đó Đồng thời, dựa vào lịch sử mà hệ thống tránh được việc gửi thông tin trùng lặp tới các địa danh mà du khách đã từng tham quan

Trang 35

4.2.2 Chức năng phía client

Client là chương trình chạy trên thiết bị di động của người dùng Chương trình Client phải đám ứng các yêu cầu về kết nối với server, bao gồm gửi và nhận kết quả; Cho phép người dùng nhập các yêu cầu tìm kiếm dưới dạng câu truy vấn Client còn

có nhiệm vụ trình bày hình ảnh hóa các kết quả nhận được từ server trả về Hình 4.3 dưới đây mô tả cây chức năng của client

Hình 4.3 Cây chức năng phía client

Chi tiết các chức năng phía Client:

 Kết nối: khi có sự thay đổi vị trí, profile người dùng, hoặc hành khách gửi truy

vấn lên server, lient phải thực hiện nhiệm vụ kết nối tới server và giữ kết nối đó cho tới khi nhận được kết quả trả về Chức năng kết nối bao gồm hai nhánh chức năng con sau:

+ Gửi yêu cầu truy vấn: là tính năng gửi những yêu cầu tìm kiếm thông tin từ client lên server Lúc nào Client tập hợp các thông tin về vị trí, thời gian, và yêu cầu truy vấn để gửi cho server

+ Nhận kết quả trả về: sau khi xử lý yêu cầu của client, server sẽ trả kết quả về, lúc này client giữ vai trò người nhận, tiếp nhận và đóng kết nối lại sau khi nhận kết quả

Trang 36

34

 Trình bày thông tin: là chức năng thể hiện các thông tin trên bản đồ trong miền

di chuyển tham quan của du khách Nhờ việc thể hiện lại các thông tin dữ liệu thành hình ảnh hóa trực quan, giúp người dùng dễ dàng tiếp nhận kết quả Chức năng trình bày thông tin gồm hai chức năng nhỏ sau:

+ Hiển thị thông tin gợi ý: là chức năng hiển thị các thông tin gợi ý của hệ thống trên bản đồ Khi người dùng thay đổi vị trí, hệ thống sẽ tự động gửi các thông tin phù hợp với profile, lịch sử tới người dùng Khi đó, client sẽ phải thực hiện việc hiển thị kết quả các gợi ý này

+ Hiển thị kết quả truy vấn: sau khi server trả kết quả truy vấn tương ứng với yêu cầu truy vấn của người dùng, cliet có nhiệm vụ hiển thị trực quan kết quả nhận được tới người dùng trên thiết bị di động

 Cập nhật thông tin cài đặt dịch vụ: là tính năng cho phép người dùng cập nhật

lại các thông số của dịch vụ, thông tin profile, lựa chọn cho phép lưu hay không lịch

sử tham quan của mình Chi tiết chức năng cập nhật được phân chia như sau:

+ Thay đổi thông tin proifle: là khả năng client có thể thay đổi các đối tượng quan tâm, nội dung các chủ đề mà người dùng mong muốn nhận được các gợi ý Ví dụ như người dùng không muốn quan tâm tới danh lam thắng cảnh nữa, mà đổi lại, du khách muốn được gợi ý về thông tin các nhà hàng khách sạn chẳng hạn

+ Cập nhật loại hình dịch vụ sử dụng: là tính năng thay đổi loại hình dịch vụ mà người dùng yêu cầu Ví dụ đơn giản nhất là việc người dùng ngừng không muốn theo dõi thêm thông tin về ùn tắc giao thông nữa, vì giờ họ đã tới nơi họ cần đến rồi

+ Cập nhật yêu cầu tìm kiếm: là khả năng thay đổi nội dung truy vấn, người dùng có thể đưa ra câu truy vấn, yêu cầu hệ thống tìm kiếm ra địa điểm khác mà họ muốn quan tâm hơn, hoặc thay đổi bán kính tìm kiếm các địa danh

4.3 Thiết kế cơ sở dữ liệu

Phần này sẽ đưa ra các bước để thiết kế cơ sở dữ liệu cho hệ thống Thiết kế cơ

sở dữ liệu theo hướng thực thể hóa bao gồm các bước: xác định các thực thể, xác định mối quan hệ giữa các thực thể, sơ đồ thực thể quan hệ Thiết kế cơ sở dữ liệu theo hướng Ontology bao gồm các bước: xây dựng Ontology cho dữ liệu miền, Ontology cho dữ liệu ứng dụng, Ontology cho dữ liệu nội dung Sau đây là phần chi tiết cho từng hướng thiết kế cơ sở dữ liệu

Trang 37

4.3.1 Mô hình hóa cơ sở dữ liệu theo mô hình thực thể

4.3.1.1 Xác định các thực thể trong hệ thống

Công việc đầu tiên của mô hình hóa cơ sở dữ liệu thực thể là cần xác định các thực thể trong hệ thống Về mặt trực quan, ta có thể quan sát thấy ngay hệ thống cần

có một danh sách các địa điểm du lịch, ta gọi nó là các Location Mỗi Location chứa

thông tin địa lý của một điểm hoặc đại diện một vùng trên bản đồ đối với Location đại diện cho một vùng thì cần lưu thêm thông tin về đường biên Thêm vào đó, mỗi

Location cần phải chứa thông tin nội dung mà sẽ quảng cáo tới người dùng, ví dụ địa

danh A là một công viên, địa danh B là một trung tâm thương mại lớn nhất Hà Nội

Mỗi Location thuộc về một Position duy nhất

Bên cạnh vị trí của Location, cái mà chúng ta cần quản lý ở đây là nội dung của các Location Nếu tất cả các nội dung được lưu lại tràn lan chỉ thành một danh sách các bản ghi về Location thì rất khó để quản lý nó và sử dụng nó để cung cấp cho người

dùng, nó còn dẫn đến việc dư thừa dữ liệu trong truy vấn Giải pháp đề ra là phân chia nội dung cần quảng cáo ra thành các chủ đề Như vậy là phải xây dựng được cây chủ

để để phân loại dữ liệu nội dung ra, ví dụ các Location cho các nhà hàng hải sản thì được gộp lại trong chủ đề ăn uống (Food), hay các Location đại diện cho các rạp chiếu

phim thì sẽ được xếp lại trong chủ đề Giải trí Tùy thuộc vào nội dung quảng cảo của từng lĩnh vực mà ta có thể tùy chọn cây chủ đề nội dung phân nhánh rộng hay sâu tùy

ý

Khi người dùng đăng ký sử dụng dịch vụ của hệ thống, mỗi người dùng sẽ được

yêu cầu cung cấp các thông tin cá nhân được gọi là Profile của người dùng cho hệ

thống Trong profile này, người dùng có thể đưa ra các chủ đề mà mình quan tâm, những nội dung thông tin mà người dùng mong muốn được cung cấp Mỗi người dùng

có thể thay đổi profile của mình, điều này đồng nghĩa với việc tương ứng mỗi người dùng có thể có nhiều profile

Yếu tố lịch sử người dùng cũng góp vai trò quan trọng trong cung cấp thông tin của hệ thống Lịch sử người dùng là những sự kiện trong quá khứ tham quan của người dùng Trong sự kiện chứa các thông tin thông tin vị trí, thời gian tham quan

Từ những thông tin trên, ta xác định được các thực thể trong hệ thống như sau :

 Location: biểu diễn một điểm hay một khoảng không gian địa lý trên bản đồ

 Object: địa điểm du lịch, thăm quan

 Thông tin: thông tin về điểm du lịch

Ngày đăng: 16/03/2021, 12:23

TỪ KHÓA LIÊN QUAN

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