Luận văn, đồ án, báo cáo thực tập, báo cáo tốt nghiệp, tiểu luận, bài tập lớn, thực tập chuyên ngành

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1. Mục đích nội dung của ĐATN

Tiếp cận Semantic web phát triển ứng dụng ubiquitous thích nghi ngữ cảnh và người dùng

2. Các nhiệm vụ cụ thể của ĐATN

·        Tìm hiểu về Tính toán đồng nhất (Ubiquitous Computing) và các hệ thống thích nghi ngữ cảnh (Context – awareness)

·        Tìm hiểu về công nghệ Semantic web

·        Tìm hiểu về hướng tiếp cận Semantic web vào các hệ thống thích nghi ngữ cảnh, các mô hình áp dụng semantic web vào các hệ thống thích nghi ngữ cảnh

·        Thiết kế và xây dựng hệ thống thông báo sự kiện thích nghi ngữ cảnh người dùng – BK-Event

3. Lời cam đoan của sinh viên:

Tôi – sinh viên Tuấn Nguyên Đạt - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của TS.Cao Tuấn Dũng.

Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác.

                                                           

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

Tác giả ĐATN

 

Tuấn Nguyên Đạt

4. Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ:

 

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

Giáo viên hướng dẫn

 

TS.Cao Tuấn Dũng

 

                                   

LỜI CẢM ƠN

 

Trước hết, em xin được chân thành gửi lời cảm ơn sâu sắc tới các thầy cô giáo trong trường Đại học Bách Khoa Hà Nội nói chung và các thầy cô trong khoa Công nghệ Thông tin, bộ môn Công nghệ phần mềm nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, những kinh nghiệm quý báu trong suốt 5 năm học tập và rèn luyện tại trường.

Em xin được gửi lời cảm ơn đến thầy Cao Tuấn Dũng - Giảng viên bộ môn Công nghệ phần mềm, khoa Công nghệ Thông tin, trường Đại học Bách Khoa Hà Nội đã hết lòng giúp đỡ, hướng dẫn và chỉ dạy tận tình trong quá trình em làm đồ án tốt nghiệp.

Cuối cùng, em xin được gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, chăm sóc, đóng góp ý kiến và giúp đỡ trong quá trình học tập, nghiên cứu và hoàn thành đồ án tốt nghiệp.

 

Hà Nội, ngày 19  tháng 05 năm 2008

 

Tuấn Nguyên Đạt

Sinh viên lớp Công nghệ phần mềm – K48

Khoa Công nghệ Thông tin - Đại học Bách Khoa Hà Nội


 

 

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

Hiện nay, cùng với tốc độ phát triển mạnh mẽ của ngành truyền thông và công nghệ thông tin, máy tính đã trở thành vật không thể thiếu trong cuộc sống của chúng ta. Ubiquitous computing là một mô hình tính toán mới nhằm nâng cao khả năng của các máy tính bằng cách kết nối chúng thông qua một môi trường vật lý và làm cho chúng hoạt động trong suốt với người dùng. Nội dung đồ án của tôi nghiên cứu về Ubiquitous Computing và ứng dụng của semantic web vào các hệ thông Ubiquitous Computing đó. Trong đồ án này, tôi sẽ tìm hiểu các mô hình ứng dụng semantic web vào các hệ thống thích nghi ngữ cảnh. Và từ đó, tôi xây dựng một ứng dụng thử nghiệm đó là hệ thống BK-Event - hệ thống thông báo sự kiện có thích nghi ngữ cảnh người dùng.

 


 

ABSTRACT OF THESIS

Nowadays, with the rapid development of Telecommunication and Information technology, computer becomes a inseparable thing in our life. Ubiquitous computing is a new paragram computing that enhances computer’s capacities by connecting computers via a physical environment and make it transparent to users. This thesis researches the Ubiquitous computing and applies semantic web in Ubiquitous computing system. In this thesis, I research model of applying semantic web in context-aware system. After that, I design and implement a demo application: BK Event – announce events with user’s context-awareness.


Mục lục

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP.................................................................................. 1

LỜI CẢM ƠN............................................................................................................................ 2

ABSTRACT OF THESIS............................................................................................................... 4

CHƯƠNG I : TỔNG QUAN VỀ UBIQUITOUS COMPUTING................................................................ 10

1.1.      Ubiquitous Computing là gi?................................................................................... 10

1.2.      Tương tác trong hệ thống Ubiquitous Computing...................................................... 11

1.3.      “Thích nghi ngữ cảnh” Đặc trưng cơ bản của hệ thống Ubicomp.................................... 13

1.3.1 Khái niệm ngữ cảnh................................................................................................. 14

1.3.2     Những khó khăn khi xây dựng một hệ thống thích nghi ngữ cảnh............................. 16

1.3.3     Một số hệ thống thích nghi ngữ cảnh hiện nay....................................................... 18

1.3.3.1    Hệ thống PAC TAB........................................................................................ 18

1.3.3.2   Tính toán có tri giác(Sentient computing) – dự án tại Cambridge........................... 18

CHƯƠNG II: GIỚI THIỆU VỀ SEMANTIC WEB................................................................................ 20

2.1    World wide web và những hạn chế của nó...................................................................... 20

2.2   Sự ra đời của Semantic web......................................................................................... 20

2.2.1     Semantic Web là gì ?.......................................................................................... 21

2.2.2     Semantic Web mang lại những gì ?..................................................................... 22

2.2.2.1      Máy có thể hiểu được thông tin trên Web....................................................... 22

2.2.2.2       Thông tin được tìm kiếm nhanh chóng và chính xác hơn.................................. 23

2.2.2.3      Dữ liệu liên kết động.................................................................................... 23

2.2.2.4      Hỗ trợ công cụ tự động hóa.......................................................................... 23

2.2.3     Kiến trúc của Semantic Web................................................................................ 23

2.2.3.1      Lớp Unicode & URI:...................................................................................... 24

2.2.3.2      Lớp XML cùng với các định nghĩa về namespace schema................................. 24

2.2.3.3      Lớp RDF [RDF] và RDFSchema [RDFS]:............................................................ 24

2.2.3.4      Lớp Ontology.............................................................................................. 25

2.2.3.5      Lớp logic..................................................................................................... 25

2.2.3.6      Lớp Proof.................................................................................................... 25

2.2.3.7       Lớp Trust.................................................................................................. 26

2.3   Ontology................................................................................................................... 26

2.3.1     Khái niệm ontology............................................................................................. 26

2.3.2     Phương pháp xây dựng ontology.......................................................................... 27

2.3.2.1      Xác định lĩnh vực và phạm vi của Ontology...................................................... 27

2.3.2.2      Xem xét việc sử dụng lại các ontology có sẵn.................................................. 27

2.3.2.3       Liệt kê các thuật ngữ quan trọng................................................................. 28

2.3.2.4       Xác định các lớp và phân cấp của các lớp....................................................... 28

2.3.2.5    Xác định các thuộc tính................................................................................... 28

2.3.2.6    Xác định giới hạn của các thuộc tính (lực lượng, kiểu giá trị)................................. 29

2.4    Ngôn ngữ RDF/ RDFS................................................................................................... 29

2.4.1 RDF (Resource Description Framework )................................................................... 29

2.4.2     RDFS (Resource Description Framework Schema)................................................. 31

2.4.3     SPARQL – Truy vấn ngữ nghĩa trong RDF.............................................................. 31

2.5    Các chú thích ngữ nghĩa (Annotation).......................................................................... 33

2.6    Bộ máy suy diễn ngữ nghĩa............................................................................................. 33

CHƯƠNG 3: ỨNG DỤNG SEMANTIC WEB VÀO UBICOMP................................................................ 35

3.1    Tại sao Semantic web có thể được ứng dụng vào UbiComp?................................................ 35

3.1.1     Semantic web tăng cường khả năng liên tác hoạt động giữa các thiết bị.................. 35

3.1.2     Semantic web tăng cường khả năng thích nghi ngữ cảnh....................................... 36

3.2  Một số mô hình ứng dụng Semantic web vào UbiComp.......................................................... 38

3.2.1 Semantic Web được ứng dụng trong việc xây dựng hệ thống UbiComp trong phạm vi môi trường hẹp        38

3.2.2 Sử dụng Semantic web để liên kết các hệ thống UbiComp với nhau – IGPF (Integrated Global Pervasive Computing Framework).................................................................................................................... 40

CHƯƠNG 4: PHÂN TÍCH HỆ THỐNG BK-EVENT............................................................................. 44

4.1    Tổng quan về hệ thống BK-Event..................................................................................... 44

4.1.1     Mục đích của hệ thống........................................................................................ 45

4.1.2     Phạm vi của hệ thống........................................................................................ 46

4.2    Các yêu đối với một hệ thống mobility có thích nghi ngữ cảnh............................................ 46

4.2.1     Dịch vụ dạng đẩy (Push) và dịch vụ dạng kéo (Pull)............................................... 46

4.2.2     Thích ứng tầng hiển thị....................................................................................... 47

4.2.3     Thích ứng theo ngữ cảnh cá nhân người dùng....................................................... 47

4.2.4 User Profile............................................................................................................ 48

4.3    Các yêu cầu phi chức năng đối với hệ thống BK-Event........................................................ 49

4.4  Phân tích hệ thống về mặt chức năng................................................................................ 50

4.4.1 Quản lý User Profile:............................................................................................... 51

4.4.1.1 Tạo Profile....................................................................................................... 51

4.4.1.2   Xem và cập nhật profile:................................................................................... 51

4.4.2     Quản lý sự kiện.................................................................................................. 52

4.4.2.1    Hiển thị sự kiện.............................................................................................. 52

4.4.2.2    Tìm kiếm sự kiện............................................................................................ 52

4.4.2.3    Nhập sự kiện................................................................................................. 52

4.4.3     Xác định vị trí người dùng.................................................................................... 52

4.4.4     Cấu hình chế độ hoạt động.................................................................................. 52

4.4.5     Đăngký............................................................................................................. 52

4.4.6     Đăng nhập......................................................................................................... 53

4.4.7 Quản lý người dùng................................................................................................. 53

4.4.8  Đăng xuất............................................................................................................. 53

4.5 Biểu đồ Use Case và đặc tả Use Case của hệ thống............................................................... 53

4.5.1 Biểu đồ Use Case tổng quan của hệ thống................................................................. 53

4.6.2 Đặc tả các Use Case của hệ thống............................................................................ 54

4.6.2.1 User Case Đăng ký............................................................................................. 54

4.5.2.2 Đăng nhập....................................................................................................... 55

4.5.2.3 Tạo User Profile................................................................................................ 56

4.5.2.4  Xem và cập nhật User Profile.............................................................................. 61

4.6.2.5 Xác định vị trí người dùng................................................................................... 62

4.6.2.6  Chọn chế độ hoạt động.................................................................................... 63

4.6.2.7 Tìm kiếm sự kiện............................................................................................... 64

4.6.2.8 Nhập  sự kiện................................................................................................... 64

4.5.2.9 Quản lý người dùng........................................................................................... 65

4.6.2.10 Đăng xuất...................................................................................................... 65

CHƯƠNG 5 : THIẾT KẾ HỆ THỐNG BK-EVENT............................................................................... 67

5.1 Thiết kế kiến trúc hệ thống.............................................................................................. 67

5.2  Thiết kế dữ liệu.............................................................................................................. 69

5.2.1  Thiết kế thành phần ontology phục vụ mô hình hóa User Profile.................................. 69

5.2.1.1 Các khái niệm có trong User Profile...................................................................... 69

5.2.1.2 Mô tả các lớp có trong thành phần User Profile...................................................... 70

5.2.1.3 Đồ thị mô tả các khái niệm trong  thành phần ontology User Profile.......................... 79

5.2.1.4 Sử dụng Ontology để tạo các chú thích ngữ nghĩa về User Profile............................ 80

5.2.2 Thiết kế thành phần ontology phục vụ mô tả Event..................................................... 82

5.2.2.1 Các Lớp trong thành phần ontology về các sự kiện................................................ 82

5.2.2.3 Đồ thị mô tả các khái niệm trong  thành phần ontology Event................................. 87

5.2.2.4 Sử dụng ontology để xây dựng annotation về Event.............................................. 87

5.2.3 Đối sánh ngữ nghĩa giữa User Profile và Sự kiện........................................................ 88

5.2.4 Thiết kế bảng......................................................................................................... 89

5.3 Thiết kế và cài đặt chương trình...................................................................................... 90

5.3.1 Cấu trúc chức năng tìm kiếm sự kiện thích nghi với ngữ cảnh người dùng...................... 90

5.3.2 Module Đăng ký tài khoản người dùng....................................................................... 95

5.3.3 Đăng nhập............................................................................................................. 96

5.3.4 Tạo User profile...................................................................................................... 98

5.3.5  Xem, cập nhật userProfile....................................................................................... 99

5.3.6  Xác định vị trí người dùng...................................................................................... 100

5.4 Thiết kế giao diện......................................................................................................... 101

5.4.1 Thiết kế trang chủ................................................................................................. 102

5.4.2 Thiết kế trang Login............................................................................................... 103

5.4.3 Thiết kế trang Register.......................................................................................... 104

5.4.4 Thiết kế trang Main............................................................................................... 104

5.4.5 Thiết kế trang profile............................................................................................. 105

5.4.6 Thiết kế trang personalInfo.................................................................................... 106

5.4.7 Thiết kế trang Interest........................................................................................... 106

5.4.8 Trang tạo lịch làm việc : schedulerWhat.................................................................. 107

5.4.9 Trang tạo lịch làm việc : schedulerWhen................................................................. 107

5.4.10  Trang tạo lịch làm việc : schedulerWhere............................................................. 107

5.4.11 Trang tạo lịch làm việc : schedulerWith................................................................. 108

5.4.12 Trang hiển thị danh sách các sự kiện..................................................................... 108

5.4.13 Trang hiển thị chi tiết sự kiện................................................................................ 109

CHƯƠNG 6: KẾT QUẢ THỬ NGHIỆM.......................................................................................... 110

6.1 Cài đặt và cấu hình....................................................................................................... 110

6.2 Các kết quả thử nghiệm.................................................................................................. 110

6.2.1 Thích ứng với thiết bị hiển thị.................................................................................. 110

6.2.2 Thích ứng theo nội dung hiển thị theo ngữ cảnh người dùng...................................... 112

CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.......................................................................... 114

7.1 Kết luận....................................................................................................................... 114

7.1.1 Kết quả về mặt nghiên cứu..................................................................................... 114

7.1.2 Kết quả thu được về mặt ứng dụng.......................................................................... 114

7.2 Hướng phát triển:......................................................................................................... 115

TÀI LIỆU THAM KHẢO............................................................................................................. 116

PHỤ LỤC................................................................................................................................ 117

 


Danh mục các hình vẽ

Hình 1: máy tính tồn tại khắp mọi nơi xung quanh chúng ta.......................................................... 11

Hình2: Tương tác giữa người dùng và môi trường................................................................................ 13

Hình 3: Mô hình phân cấp ngữ cảnh................................................................................................................... 17

Hình 4: Pac tab............................................................................................................................................................. 19

Hình 5: Sự hình thành và phát triển của Semantic Web.................................................................... 22

Hình 6: Đề xuất đầu tiên về WWW của Tim Berners-Lee năm 1989..................................................... 22

Hình 8: Kiến trúc của Semantic Web............................................................................................................... 25

Hình 9: Mối quan hệ giữa các thành phần trong triple...................................................................... 31

Hình 10: Mô tả một phát biểu đơn giản bằng đồ thị.................................................................................. 31

Hình 11: Ví dụ về RDFS................................................................................................................................................. 32

Hình 12: Semantic web giúp tăng cường khả năng liên kết giữa các thiết bị........................ 36

Hình 13: Mô hình hóa ngữ cảnh mức cao hơn............................................................................................. 38

Hình 14: Smart Room -  một mô hình ứng dụng Semantic Web vào UbiComp........................... 39

Hình 15: Vai trò của người dùng trong các môi trường khác nhau là khác nhau......... 41

Hình 16: Mô hình kết nối các hệ thống UbiComp lại với nhau............................................................ 42

Hình 17: kiến trúc của IGPF.................................................................................................................................... 43

Hình18: Tổng quan về hệ thống BK-Event...................................................................................................... 46

Hình 19: Mô hình xây dựng ứng dụng mobile web.................................................................................... 47

Hình 20: Hiển thị khác nhau tùy theo khả năng của từng thiết bị................................................ 48

Hình 21: Một ví dụ User Profile............................................................................................................................ 49

Hình 22: User Role....................................................................................................................................................... 50

Hình 24: Biểu đồ Use Case tổng quan của hệ thống.................................................................................. 54

Hình 25: Biểu đồ Use Case mức 2 cho chức năng tạo User Profile.................................................... 57

Hình 26: Biểu đồ Use Case tạo lịch...................................................................................................................... 59

Hình 29: Kiến trúc của hệ thống BK-Event.................................................................................................... 68

Hình 30: Phân cấp các lớp trong user profile............................................................................................ 71

Hình 31: đồ thị các khái niệm trong ontology User Profile............................................................ 80

Hình 32: Đồ thị biểu diễn thông tin của một user profile.................................................................... 81

Hình 33: đồ thị các mức khái niệm trong ontology về các sự kiện............................................... 88

Hình 34: Đồ thị biểu diễn thông tin về một sự kiện.................................................................................... 89

Hình 35: Đối sánh giữu User Profile và Event............................................................................................. 90

Hình 36: Mô hình đối sánh giữa ngữ cảnh người dùng và sự kiện..................................................... 92

Hình 37: đối sánh chính xác................................................................................................................................. 93

Hình 38: đối sánh gộp................................................................................................................................................. 93

Hình 39: đối sánh tổng quát................................................................................................................................. 94

Hình 40: mô hình Register...................................................................................................................................... 97

Hình 41: mô hình Login............................................................................................................................................. 98

Hình 42: mô hình chức năng tạo User Profile............................................................................................ 99

Hình 43: mô hình chức năng xem User Profile......................................................................................... 100

Hình 44: mô hình chức năng xác định vị trí.............................................................................................. 101

Hình 46:Sơ đồ trang................................................................................................................................................. 102

Hình 47: Trang chủ................................................................................................................................................... 104

Hình 48: Trang Login............................................................................................................................................... 105

Hình 49: Trang Register........................................................................................................................................ 105

Hình 50: Trang main................................................................................................................................................ 106

Hình 51: Trang Profile........................................................................................................................................... 106

Hình 52: Trang Personal...................................................................................................................................... 107

Hình 53: Trang Preference.................................................................................................................................. 107

Hình 54: scheWhat................................................................................................................................................... 108

Hình 55: scheWhen.................................................................................................................................................... 108

 

 


Danh mục các bảng

Bảng 1: Các thuộc tính Lớp User Profile........................................................................................................ 72

Bảng 2: Các thuộc tính Lớp PersonalInfo.................................................................................................... 73

Bảng 3 Các thuộc tính Lớp Preference........................................................................................................... 75

Bảng 4: Các thuộc tính Lớp Skill........................................................................................................................ 75

Bảng 5: Các thuộc tính Lớp interest................................................................................................................ 77

Bảng 6: Các thuộc tính Lớp Scheduler............................................................................................................ 77

Bảng 7: Các thuộc tính Lớp Activity................................................................................................................ 78

Bảng 8: Các thuộc tính Lớp Location.............................................................................................................. 79

Bảng 9: Các thuộc tính Lớp Geo........................................................................................................................... 80

Bảng 10: Các thuộc tính Lớp Rule....................................................................................................................... 81

Bảng 11: Các thuộc tính Lớp Event.................................................................................................................... 86


Mở đầu

Hiện nay, ubiquitous computing đang trở thành một xu hướng phát triển mạnh trên thế giới. Ở nước ta, tuy các hệ thống thích nghi ngữ cảnh chưa được phát triển nhiều nhưng tính toán di động đã hình thành và đang phát triển mạnh.

 

Nội dung đồ án của tôi là nghiên cứu ứng dụng semantic web vào các hệ thống Ubiqutous và đặc biệt là các hệ thống thích nghi ngữ cảnh người dùng.

Về mặt lý thuyết , mục tiêu của đồ án là nghiên cứu tìm hiểu các mô hình ứng dụng semantic web vào các hệ thống UbiComp nói chung và các hệ thống thích nghi ngữ cảnh nói riêng. Phải nắm được tại sao semantic web có thể được áp dụng vào các hệ thống đó và việc áp dụng semantic web đem lại những ích lợi gì trong việc xây dựng các hệ thống .

 

Và từ đó, về mặt ứng dụng, mục tiêu của đồ án là áp dụng một mô hình ứng dụng semantic web vào UbiComp để xây dựng lên hệ thống thích nghi ngữ cảnh.

 

Nội dung đề tài là khá rộng, bao hàm nhiều lĩnh vực mới cả về lý thuyết lẫn thực hành. Nội dung đồ án được chia bảy phần như sau:

 

Chương 1: Trình bày về Ubiquitous Computing và các đặc tính của chúng. Trong chương này tôi cũng đi sâu vào nghiên cứu các hệ thống thích nghi ngữ cảnh

Chương 2: Sẽ trình bày về Semantic web, những điểm mạnh của semantic web

Trong chương 3, Sẽ tập trung vào các mô hình ứng dụng semantic web vào các hệ thống Ubiquitous Computing và đặc biệt là các hệ thống tính toán di động có thích nghi ngữ cảnh.Từ các mô hình đó, tôi đề xuất xây dựng một ứng dụng thử nghiệm tính toán di động thích nghi nghữ cảnh có sử dụng Semantic web: BK-Event.

 

Và chương 4 sẽ là chương phân tích hệ thống BK-Event; phân tích bao gồm cả các yêu cầu chức năng và phi chức năng.

Chương 5 là chương thiết kế và cài đặt hệ thống BK-Event.

Chương 6 là chương cấu hình và kiểm thử và đánh giá hệ thống BK-Event

Cuối cùng, chương 7 : là phần kết luận và hướng phát triển


CHƯƠNG I : TỔNG QUAN VỀ UBIQUITOUS COMPUTING

Trong chương này, tôi sẽ trình bày những kiến thức tổng quan nhất về Ubiquitous Computing và các đặc tính của nó sẽ đi sâu vào nghiên cứu đặc tính cơ bản nhất của một hệ thống Ubiquitous Computing , đó là đặc tính: “thích nghi ngữ cảnh”.

Trước tiên, chúng ta sẽ tìm hiểu UbiComp là gì và tại sao nó lại là một trong những vấn đề mà hiện nay được quan tâm nhất.

1.1.      Ubiquitous Computing là gi?

Như chúng ta đã biết, một trong những khía cạnh được quan tâm của ngành khoa học máy tính từ cuối những năm 50 của thế kỷ 20 đó là việc nghiên cứu về mối liên hệ giữa hệ thống máy tính và con người. Trong thời kỳ đầu của ngành khoa học máy tính, việc sử dụng máy tính là rất hạn chế, thường là nhiều người sử dụng chung một máy tính và chỉ những người có chuyên môn mới có thể sử dụng được máy tính. Dần dần, máy tính trở nên phổ biến và rộng rãi, mỗi người đã có thể sử dụng một máy tính riêng cho những mục đích khác nhau, và người dùng cũng dễ dàng sử dụng máy tính hơn.

 

Cho đến ngày nay, với sự phát triển của công nghệ thông tin và truyền thông, máy tính đã xâm nhập vào mọi lĩnh vực của con người và hỗ trợ con người trong các hoạt động của mình. Thuật ngữ “máy tính” ở đây không chỉ được hiểu đó là các máy tính cá nhân, các máy tính để bàn thông thường mà nó được hiểu là bao gồm tất cả các thiết bị có “computer –built in” nghĩa là các thiết bị có chứa trong nó các bộ vi xử lý, vi điều khiển, ví dụ như: máy giặt, điện thoại, tủ lạnh, . . . Các thiết bị này ngày càng hiện đại; kích thước của chúng được thu nhỏ; khả năng sử lý được nâng cao, tốc độ nhanh, bộ nhớ lớn và có thêm cả trí tuệ nhân tạo trong nó.

 

Như vậy, chúng ta thấy rằng, mối quan hệ giữa máy tính – con người đã thay đổi, đó là mối quan hệ nhiều – một, trong đó một người được bao quanh bởi rất nhiều các máy tính, các thiết bị. Đây chính là một trong những lý do để hình thành nên khái niệm UbiComp.

Hình 1: máy tính tồn tại khắp mọi nơi xung quanh chúng ta

 

Mặc dù các thiết bị hiện đại đã hỗ trợ cho chúng ta rất nhiều trong công việc, tuy nhiên, việc sử dụng các thiết bị đó hầu như vẫn cần đến sự điều khiển, sự chú ý của người dùng; và hơn nữa, mỗi thiết bị thường chỉ thực hiện được một số công việc nhất định, trong một phạm vi nhất định.

 

Vậy, một ý tưởng được đưa ra là làm sao có thể xây dựng một mô hình tính toán mới mà tại đó các thiết bị có thể liên tác hoạt động với nhau để cùng thực hiện cung cấp các dịch vụ cho người dùng mà các hoạt động của chúng trở nên trong suốt với người dùng. Đây chính là mô hình tính toán đồng nhất ( Ubiquitous Computing) được đưa ra bởi Mark Weiser vào năm 1991.

 

Theo định nghĩa của Mark Weiser[Weiser,1991]: “UbiComp là một phương thức để tăng cường công dụng của các máy tính các thiết bị bằng việc kết nối chúng lại thông qua một môi trường vật lý nhưng làm cho chúng hoạt động trong suốt đối với người dùng, chúng đáp ứng các dịch vụ cho người dùng mọi lúc, mọi nơi.”

Chúng ta có thể hình dung ra các đặc tính chung của UbiComp:

ü  Thứ nhất, một hệ thống UbiComp có thể bao gồm nhiều loại thiết bị khác nhau, ví dụ như các sensor, các thiết bị di động, máy tính, nói chung là các thiết bị có Computer built –in.

ü  Các thiết bị này được kết nối với nhau để có thể chia sẻ thông tin và cùng phối hợp hoạt động.

ü  Đặc tính thứ ba của UbiComp đó là sự trong suốt đối với người dùng. Sự trong suốt ở đây không phải là vấn đề về kích thước của các thiết bị phần cứng mà đó là vấn đề người dùng nhận thức như thế nào về sự có mặt của các thiết bị. Để các thiết bị đó trở nên trong suốt đối với nhận thức của người dùng, sự tương tác giữa người dùng với máy tính phải hướng theo nhiệm vụ mà người dùng muốn thực hiện. Ta sẽ tìm hiểu kỹ đặc tính này trong phần sau.

Như vậy, chúng ta đã thấy được Ubiqutous Computing là một mô hình tính toán nhằm kết nối hoạt động của các thiết bị đển nâng cao khả năng đáp ứng với yêu cầu của người dùng. Phần tiếp theo, tôi sẽ trình bày về sự tương tác người – máy trong một hệ thống Ubiquitous Computing.

1.2.      Tương tác trong hệ thống Ubiquitous Computing

Các thuật ngữ calm computing, invisible computing, và disappearing computing mô tả giao diện tương tác người dùng mà UbiComp hướng tới. Như đã trình bày ở trên, việc tương tác giữa người dùng và hệ thống trong UbiComp là tương tác hướng nhiệm vụ, nghĩa là người dùng vẫn tương tác với các thiết bị, các công cụ để thực hiện công việc, tuy nhiên, họ chỉ chú tâm đến chính công việc đó, chứ không cần chú tâm đến việc thực hiện công việc đó như thế nào. Trong UbiComp các công cụ sẽ được nâng cao khả năng xử lý và kết nối để đạt được điều này.

 

Các phương thức tương tác truyền thống là: chuột, bàn phím, giao diện đồ họa . . .. Đây là các phương thức tương tác rất phổ biến và được sử dụng nhiều trong các hệ thống máy tính.

 

Hiện nay có rất nhiều hướng nghiên cứu để tăng cường khả năng tương tác giữa người và máy như :nhận dạng giọng nói, nhận dạng chữ viết, nhận dạng nét mặt  (tương tác tự nhiên). . . Các hướng nghiên cứu này cố gắng sao cho việc tương tác giữa người và máy thật gần gũi, giống như việc tương tác giữa người với thế giới thực.

 

Một trong nhứng yêu cầu của việc tương tác với hệ thống đó là phải ghi lại được những dữ liệu của quá trình tương tác đó. Nếu sử dụng tương tác bằng keyboard và mouse thì dữ liệu nhân được là các ký tự và các tọa độ của con trỏ chuột. Ngày nay, tuy có thêm nhiều kiểu tương tác với máy tính nhưng các kiểu tương tác này cũng cố gắng chuyển dữ liệu tương tác về dạng text (như chuyển từ giọng nói sang text, chữ viết bằng bút điện tử sang text. . .). Hướng nghiên cứu hiện nay là làm sao có thể lưu trử dữ liệu tương tác theo đúng dạng gốc của nó.

 

Việc tương tác tự nhiên đem lại nhiều thuận tiện cho người dùng nhưng nó cũng có những hạn chế. Đó là khả năng nhầm lẫn và mắc lỗi lớn. Ví dụ như với việc nhận dạng chữ viết, mặc sự chính xác của hình thức tương tác này có thể lên được đến 98% nhưng nó không bao giờ chính xác một cách hoàn toàn được. Khi chúng ta sử dụng tương tác theo kiểu đối thoại thì dù nó có được cải tiến đến đâu thì nó vẫn yêu cầu cần phải có sự chú ý, đối thoại với người dùng. Một vấn đề nữa đối với kiểu tương tác này là khi có nhiều các ứng dụng cùng chạy một lúc, các dữ liệu đầu vào cần phải được đưa đến đúng các ứng dụng đó, điều này dẫn đến yêu cầu cần có một giao diện tương tác phức tạp và cần phải có sự chú ý của người dùng trong việc ra quyết định.

 

           

Hình2: Tương tác giữa người dùng và môi trường:

A) Các công nghệ tương tác nằm giữa người dùng và môi trường; B) Các công nghệ cá nhân gần người dùng như các thiết bị di đông, . . và C) Công nghệ được nhúng vào môi trường

 

Mục đích của UbiComp đó là xây dựng một phương thức tương tác trong suốt với người dùng. Sự trong suốt với người dùng được thể hiện ở hai yếu tố sau:

ü  Trong suốt trong việc sử dụng(invisible –in-use): trong suốt trong việc sử dụng đề cập tới việc người dùng có thể trực tiếp sử dụng các công cụ mà không cần quan tâm tới việc kiểm tra chúng. Khái niệm này thể hiện sự quen thuộc của người dùng với các dụng cụ, các hoạt động. Sự trong suốt này được thể hiện thông qua cái mà người dùng mong đợi khi thực hiện một công việc nào đó.

ü  Thứ hai là sự trong suốt của các thiết bị (Infrastructural Invisibility ): đề cập tới khả năng của các thiết bị, các công nghệ để có thể đáp ứng các hoạt động của người dùng mà người dùng không cần quan tâm đến sự có mặt của chúng. Ví dụ như các hệ thống định vị thông qua mạng wireless, các thẻ RFID được gắn vào trong các vật…

 

Như vậy, để thiết kế được một phương thức tương tác trong suốt với người dùng, chúng ta không chỉ quan tâm đến các thiết bị vật lý mà còn cần quan tâm đến cả các thông tin về môi trường quanh người dùng, trạng thái, vai trò của người dùng cũng như mối quan hệ giữa người dùng với môi trường; các thông tin về thói quen, sở thích của người dùng.

1.3.      “Thích nghi ngữ cảnh” Đặc trưng cơ bản của hệ thống Ubicomp

Để xây dựng được một hệ thống UbiComp, như đã phân tích ở trên, chúng ta cần phải biết được các thông tin về môi trường xung quang người dùng, thồng tin về cá nhân người dùng như các sở thích, các mối quan hệ của người dùng,….Các thông tin này được gọi chung là ngữ cảnh (Context) người dùng. Như vậy, một hệ thống UbiComp phải là một hệ thống quan tâm đến ngữ cảnh người dùng (Context - awareness).

 

Việc con người tương tác với môi trường thế giới thực là một quá trình tích lũy lâu dài; nó bắt đầu từ khi ta còn rất nhỏ và được tích lũy dần dần trong cuộc sống. Nhờ những tri thức tích lũy này mà chúng ta có được các hoạt động có trí thông minh, như: chúng ta có thể dự đoán được phản hồi của thế giới thực đối với mộ hành động nào đó:

Ví dụ như: Khi chúng ta bật một công tắc bên cạnh một chiếc đèn ngủ trong phòng khách sạn, mặc dù chúng ta có thể chưa biết được công tắc đó dùng để bật cái gì, nhưng điều chúng ta mong đợi và dự đoán được đó là đèn sẽ sáng. Chúng ta sẽ rất bị bất ngờ nếu như khi bật công tắc đó mà quạt lại chạy, hay là đài được bật. Vậy những gì chúng ta mong đợi được dựa trên kinh nghiệm, tri thức mà chính chúng ta nhận thức được từ cuộc sống.

 

Qua ví dụ đơn giản như trên cho thấy trong một hệ thống UbiComp, khi các máy tính được nhúng vào các thực thể trong môi trường thế giới thực; hay nói cách khác, thế giới thực đã trở thành một phần của máy tính thì sự mong đợi của người dùng là làm sao cho họ có thể tương tác với hệ thống một cách tự nhiên như với thế giới thực. Và do đó, khái niệm ngữ cảnh là một khái niệm rất quan trong trong một hệ thống UbiComp bởi vì dựa trên các thông tin về ngữ cảnh, chúng ta có thể phản hồi đến người dùng kết quả mà họ mong đợi; chính điều này làm cho người dùng thấy thoải mái, tự nhiên như tương tác với thế giới thực. Và một hệ thống có thê làm được điều đó được gọi là một hệ thống có quan tâm đến ngữ cảnh ( Context - awareness).

 

Chúng ta đã nói nhiều về ngữ cảnh cũng như vai trò của nó trong UbiComp, nhưng chúng ta vẫn chưa biết được ngữ cảnh bao gồm những gì và một hệ thống như thế nào thì được gọi là có quan tâm đến ngữ  cảnh. Dưới đây tôi sẽ trình bày các vấn đề đó .

1.3.1 Khái niệm ngữ cảnh

Đầu tiên chúng ta sẽ đi tìm hiểu về khái niệm ngữ cảnh. Khái niệm ngữ cảnh đã ra đời rất lâu tuy nhiên nó được sử dụng với rất nhiều ý nghĩa khác nhau. Định nghĩa về ngữ cảnh sau đây trong từ điển sẽ cho chúng ta hiểu được cơ bản nó là gì.

Ngữ cảnh:

1: Bao gồm các yếu tố xung quanh một đơn vị ngôn ngữ (từ, câu…) giúp chúng ta có thể hiểu đúng được đơn vị ngôn ngữ đó.

2: Ngữ cảnh bao gồm một tập các yếu tố, các thực thể bao xung quanh một hoàn cảnh hay một sự kiện

(WordNet :http://www.cogsci.princeton.edu/~wn/)

Ngữ cảnh:

Là trạng thái,sự kiện,thông tin có liên quan đến cái gì đó và giúp chúng ta hiểu được nó.

 

Tuy định nghĩa ngữ cảnh là vậy nhưng tùy từng lĩnh vực khác nhau, nó lại được hiểu khác nhau. Và trong UbiComp. Khái niệm ngữ cảnh cũng được hiểu khác một chút. Dưới đây là những định nghĩa về ngữ cảnh và các đặc tính của nó đã được một số nhà nghiên cứu về UbiComp đưa ra.

Trong nghiên cứu của mình về “ Các ứng dụng có quan tâm đến ngữ cảnh” vào năm 1994, Schilit đã đưa ra khái niệm về phần mềm có quan tâm đến ngữ cảnh và các đặc tính của nó:

“Một phần mềm được gọi là có quan tâm đến ngữ cảnh nếu như nó đáp ứng được yêu cầu của người dùng theo các thông tin về vị trí của người dùng, thông tin về những người xung quanh, các tài nguyên gần người dùng đó Và nó phải thích nghi được khi các thông tin đó thay đổi theo thời gian”. [Schilit, 1994]

 

Như vậy, ngữ cảnh ở đây bao gồm các thông tin về vị trí địa lý, những người và các tài nguyên xung quanh người dùng. Và cũng trong nghiên cứu này, Schilit đã đưa ra ba bước cơ bản của một phần mềm có quan tâm đến ngữ cảnh:

ü  Tìm hiểu:  học về các thực thể và các thuộc tính của chúng

ü  Lựa chọn : Xác định xem sử dụng các tài nguyên nào

ü  Sử dụng  : sử dụng các tài nguyên đó

 

Dự án GUIDE của đại học Lancaster cũng nghiên cứu về việc sử dụng ngữ cảnh trong một hệ thống hướng dẫn du lịch bằng các thiết bị di động. Qua dự án này, họ đã định nghĩa ngữ cảnh như sau:

“ Có hai loại ngữ cảnh được định nghĩa, đó là ngữ cảnh về cá nhân người dùng và ngữ cảnh về môi trường xung quanh người dùng”.[GUIDE,1991]

 

Việc phân loại ngữ cảnh ra làm hai loại như trên rất phù hợp. Các thông tin về ngữ cảnh cá nhân người dùng bao gồm các thông tin riêng về họ như: sở thích của họ, các ràng buộc của họ . . . Những thông tin này là riêng cho từng cá nhân trong khi đó ngữ cảnh môi trường bao gồm các thông tin chung nhất cho môi trường xung quanh họ.

 

Trong luận án về “Kiến trúc cho việc xây dựng các ứng dụng có khả năng thích nghi ngữ cảnh” của Anind Dey đưa ra vào năm 2000, ông cũng đưa ra định nghĩa chung về ngữ cảnh như sau:

“Ngữ cảnh là bất kỳ những thông tin nào được sử dụng để chỉ ra trạng thái của một thực thể. Một thực thể có thể là con người, địa điểm hay bất cứ vật nào có liên quan đến sự tương tác giữa người dùng và ứng dụng, bao gồm cả chính người dùng và ứng dụng đó”.[ Anind Dey, 2000]

 

Điểm nhấn của định nghĩa ở chỗ nó chỉ ra rằng mọi thông tin mà được dùng để mô tả trạng thái của một thực thể thì đều là ngữ cảnh; tức là ngữ cảnh là những gì bao sát xung quanh một thực thể.

 

Mặc dù  vẫn chưa có một khái niệm chung về ngữ cảnh trong UbiComp, nhưng khái niệm này đã và đang được nghiên cứu và sẽ ngày càng được hoàn thiện. Dựa trên những nghiên cứu đó, trong luận án tiến sĩ của mình về “Ubiquitous Computing và tính toán thích nghi ngử cảnh” (đại học Lanscater-UK, 2002), Albrecht Schmidt đã đưa ra mô hình để có thể mô hình hóa được ngữ cảnh. Trong mô hình này, khái niệm ngữ cảnh được mô hình hóa như sau:

ü  Ngữ cảnh là những gì dùng để mô tả trạng thái, môi trường, các thiết bị và người dùng

ü  Một ngữ cảnh có một định danh duy nhất

ü  Với mỗi ngữ cảnh, các đặc tính phù hợp được chỉ ra và với mỗi đặc tính thì phạm vi các giá trị lại được xác định thông qua ngữ cảnh( phạm vi tùy thuộc vào ngữ cảnh)

 

Từ đó, một mô hình phân cấp được đưa ra để mô hình hóa ngữ cảnh

Hình 3: Mô hình phân cấp ngữ cảnh

Ở mức đầu tiên, ngữ cảnh được phân làm hai, thứ nhất đó là Human factor: đó là các nhân tố, đặc tính liên quan đến chính người dùng. Và  yếu tố ngữ cảnh thứ hai đó là môi trường vật lý xung quanh người dùng. Với mỗi yếu tố trên, ta lại phân cấp làm ba yêu tố:

ü  Với yếu tố cá nhân người dùng, ta chia làm ba yếu tố đó là

§  Thông tin về người dùng : bao gồm các thông tin như: sở thích của người dùng, các ràng buộc của họ, thói quen, điều kiện sức khỏe…

§  Môi trường xã hội: các mối quan hệ giữa người dùng và những người xung quanh, vai trò của người dùng,…

§  Nhiệm vụ: các nhiệm vụ, hành vi mà người dùng thực hiện

ü  Với yếu tố môi trường vật lý, ta cũng chia làm ba yếu tố sau:

§  Vị trí

§  Các điều kiện vật lý như: nhiệt độ, ánh sáng,…

§  Các cơ sở hạ tầng vật lý: các thiết bị, công nghệ, các tài nguyên được sử dụng cho việc tính toán, kết nối và thực hiện nhiệm vụ.

 

Và tiếp sau đó, với mỗi yếu tố, ta lại xác định các đặc trưng của nó và lại phân cấp tiếp.

Tuy mô hình ngữ cảnh trên rất rõ ràng, xong khó khăn là ở chỗ làm thế nào để xác định được các đặc tính nào là liên quan để đưa vào mô hình ngữ cảnh. Ta thấy, trạng thái, môi trường đều thay đổi theo thời gian, do vậy lịch sử ngữ cảnh là một yếu tố quan trọng và cần được xem xét.

1.3.2   Những khó khăn khi xây dựng một hệ thống thích nghi ngữ cảnh

 

Từ những nghiên cứu, những ví dụ trên, chúng ta thấy rằng: việc thích nghi được với ngữ cảnh sẽ làm cải thiện các ứng dụng, các hệ thống hiện nay. Tuy nhiên, việc xây dựng được một hệ thống có khả năng thích nghi ngữ cảnh gặp một số trở ngại sau:

 

·        Trở ngại đầu tiên đó là việc hiểu được khái niệm ngữ cảnh: Ngữ cảnh là gì và nó liên quan đến thế giới thực như thế nào? Có khái niệm ngữ cảnh tổng quát, hay chỉ có khái niệm ngữ cảnh cho từng lĩnh vực cụ thể?

 

·        Vấn đề thứ hai đó là các thông tin về ngữ cảnh được sử dụng như thế nào để có thể cải thiện được các ứng dụng và làm thể nào hệ thống có thể hiểu được ngữ cảnh để đưa ra quyết định đúng đắn.

 

·        Tiếp đó là vấn đề làm thể nào để đạt được các thông tin về ngữ cảnh. Ta có thể hình dung quá trình thu nhận ngữ cảnh đó là quá trình ghi nhận lại trạng thái của thế giới thực, chỉ ra những đặc tính của nó, mô hình hóa nó để đưa vào hệ thống. Quá trình này rất phức tạp, bao gồm các hoạt động như : các hệ thống xác định vị trí, hệ thống sensor, mô hình hóa người dùng, . . .

 

·        Khi đạt được các thông tin về ngữ cảnh rồi, thì việc mô hình hóa các thông tin đó, biến các thông tin đó thành các thông tin ngữ cảnh sử dụng cũng là một khó khăn lớn trong việc xây dựng hệ thống thích nghi ngữ cảnh.

 

·        Vấn đề thứ tư là việc phải hiểu được ảnh hưởng của hoạt động tương tác giữa người và máy. Khi một hệ thống gọi là thích nghi ngữ cảnh thì hoạt động của nó phụ thuộc vào ngữ cảnh sử dụng, và mục đích cuối cùng là nó phải phản hồi giống như người dùng mong đợi. Và làm thế nào để người dùng hiểu được hệ thống, hành vi của nó cũng như việc điều khiển nó như thế nào.

 

·        Và cuối cùng đó là việc lượng giá một hệ thống thích nghi ngữ cảnh. Hệ thống thích nghi ngữ cảnh hoạt động trong các ngữ cảnh cụ thể, do đó việc lượng giá nó cũng phải được thực hiện trong ngữ cảnh. Trong trường hợp một chức năng nào đó chỉ có trong một điều kiện ngữ cảnh cụ thể, nó đòi hỏi việc lượng giá phải tạo ra, giả lập được ngữ cảnh đó. Điều đó gây ra khó khăn trong việc lượng giá.

 

Trong chương 3, tôi sẽ trình bày một cách tiếp cận để giải quyết các khó khăn này đó là việc sử dụng Semantic web để hỗ trợ xây dựng các hệ thống thích nghi ngữ cảnh.

1.3.3   Một số hệ thống thích nghi ngữ cảnh hiện nay

1.3.3.1                        Hệ thống PAC TAB

Hình 4: Pac tab

Hệ thống PARCTAB được phát triển tại trung tâm PARC (Palo Alto Research Center) gồm nhiều thiết bị di động và cố định với kích  thước khác nhau. Mục đích của dự án là thiết kế thiết bị di động có  hỗ trợ việc kết nối cá nhân; xây dựng một kiến trúc cho tính toán di động và xây dựng các ứng dụng thích nghi ngữ cảnh dựa trên kiến trúc đó. Vị trí của thiết bị di động được xác định thông qua các thiết bị có kết nối quang học.

1.3.3.2            Tính toán có tri giác(Sentient computing) – dự án tại Cambridge

Khái niệm tính toán có tri giác được đưa ra bởi phòng nghiên cứu ORL tại Cambridge. Dự án đó đã trở thành một framework cho các dự án khác thực hiện theo.

“Tính toán có tri giác: Sử dụng các sensor và dữ liệu về trạng thái của các tài nguyên để có thể duy trì một mô hình hóa thế giới thực  được chi sẻ bởi người dùng và ứng dụng.”[ ORL]

 

Dự án này được xuất phát từ ý tưởng: con người thì quan sát môi trường xung quanh và tương tác với chúng để thực hiện công việc dựa trên những gì mình quan sát được. Để một ứng dụng có khả năng tương tác như vậy, một mô hình thế giới thực được xây dựng. Người dùng có thể thấy được sự thay đổi thường xuyên của mô hình thế giới thực dựa trên các quan sát và nhận thức của mình còn một hệ thống, nó có thể quan sát thế giới thực dựa vào các sensor cập nhật thường xuyên các thông tin về môi trường. Và họ đưa ra kết luận:

“Chúng ta sẽ làm gì nếu các chương trình máy tính có thể hiểu được mô hình thế giới thực? Như vậy, bằng việc tương tác với thế giới thực, chúng ta có thể tương tác với các chương trình máy tính thông qua mô hình này. Điều đó có nghĩa là toàn bộ thế giới thực đều là giao diện tương tác” [ ORL]

 

Kết chương:

Với các nghiên cứu ở trên về UbiComp, Chúng ta có thể hình dung ra viễn cảnh mà UbiComp có thể mang lại. Ví dụ như khi bạn đi mua hàng trong siêu thị, hệ thống được kết nối với tủ lạnh nhà bạn và bạn sẽ thông báo trong tủ lạnh nhà bạn có gì, những gì sắp hết và khi bạn mua hàng, tất cả các hàng hóa trong giỏ hàng của bạn sẽ tự động được thanh toán bằng thẻ tín dụng…Hay như bạn đi thăm quan một viện bảo tàng, khi bạn đến gần một hiện vật nào đó, hệ thống sẽ tự động cung cấp các thông tin về hiện vật đó cũng như trả lời các câu hỏi của bạn về hiện vật đó, cho phép bạn có thể thảo luận trực tiếp về nó với một ai đó…

Tóm lại, dù đến nhanh hay chậm, tương lai của máy tính sẽ là máy tính có trí thông minh, nó có khả năng nhận diện tình huống, cung cấp dịch vụ cá nhân ở mọi nơi, mọi lúc. Khi đó chúng ta có thể truy cập máy tính ở bất kỳ đâu, bất kỳ thời điểm nào, có thể giao tiếp với những đồ vật xung quanh


CHƯƠNG II: GIỚI THIỆU VỀ SEMANTIC WEB

2.1       World wide web và những hạn chế của nó

 

Hệ thống mạng toàn cầu đã trở nên rộng khắp thông qua một loạt các tiêu chuẩn được thiết lập rộng rãi và đảm bảo được các thành phần ở các mức độ khác nhau. Giao thức TCP/IP đảm bảo rằng chúng ta không phải lo lắng về việc chuyển từng bit dữ liệu thông qua hệ thống mạng nữa. Tương tự như vậy, HTTP và HTML đã cung cấp các cách tiêu biểu để có thể nhận thông tin và trình diễn các tài liệu siêu văn bản.

 

Tuy nhiên, có một khối lượng khổng lồ các tài nguyên trên Web, điều này làm nảy sinh vấn đề nghiêm trọng là làm thế nào để tìm kiếm chính xác tài nguyên mình mong muốn. Dữ liệu trong các file HTML hữu ích trong một vài ngữ cảnh nhưng vô nghĩa đối với những ngữ cảnh khác. Thêm vào đó HTML không thể mô tả về dữ liệu đóng gói trong nó.

 

Ví dụ, chúng ta biết mã vùng (PostCode) và muốn tìm địa chỉ của nó. Vì mỗi quốc gia có tên hệ thống mã vùng khác biệt và vì Web không biểu diễn được mối liên hệ này, nên chúng ta không nhận được điều chúng ta mong đợi. Trái lại, đối với Semantic Web, chúng ta có thể chỉ ra kiểu của mối liên hệ này; ví dụ, Zip Code tương đương với PostCode.

 

Vì vậy, nếu như các thành phần chính yếu của dữ liệu trong Web trình bày theo

dạng thức thông thường, thì thật khó sử dụng dữ liệu này một cách phổ biến. Một thiếu sót của Web hiện nay là thiếu cơ cấu hiệu quả để chia sẻ dữ liệu khi ứng dụng được phát triển một cách độc lập. Do dó cần phải mở rộng Web để máy có thể hiểu, tích hợp dữ liệu, cũng như tái sử dụng dữ liệu thông qua các ứng dụng khác nhau.

2.2       Sự ra đời của Semantic web

 

Thế hệ web đầu tiên bắt đầu với những trang HTML thủ công, thế hệ thứ hai đã tạo nên một bước cho máy thực hiện và thường là các trang HTML động. Các thế hệ web này mang ý nghĩa cho con người thao tác trực tiếp ( đọc , duyệt , điền vào mẫu). Thế hệ web thứ ba được gọi là “ Semantic Web ” , mang mục đích là thông tin sẽ do máy xử lý. Điều này trùng khớp với quan điểm của Tim Berners-Lee đã mô tả trong cuốn sách gần đây nhất của ông “Weaving the Web” [Berners-Lee, 1999]. Semantic Web sẽ làm cho các dịch vụ thông minh hơn ví dụ như môi giới thông tin, tác nhân tìm kiếm, bộ lọc thông tin v.v. Những dịch vụ thông minh trên hệ thống web giàu ngữ nghĩa như thế chắc hẳn sẽ vượt trội hơn những phiên bản sẵn có hiện tại của các dịch vụ này, mà chỉ giới hạn về chức năng.

Hình 5: Sự hình thành và phát triển của Semantic Web

2.2.1   Semantic Web là gì ?

Semantic Web không là Web riêng biệt nhưng là một sự mở rộng của Web hiện tại, theo cách thông tin được xác định ý nghĩa tốt hơn, nó cho phép máy tính và người cộng tác với nhau tốt hơn.

Semantic Web được hình thành từ ý tưởng của Tim Berners-Lee, người phát minh ra WWW, URI, HTTP, và HTML.

 

Hình 6: Đề xuất đầu tiên về WWW của Tim Berners-Lee năm 1989

Semantic Web 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ý dễ dàng bởi các máy tính ở phạm vi toàn cầu. Nó được xem là cách mô tả thông tin rất hiệu quả trên World Wide Web, và cũng được xem là một cơ sở dữ liệu có khả năng liên kết toàn cầu.[W3C].

 

Semantic web là mở rộng của web hiện tại mà tại đó thông tin được gắn thêm các thành phần ngữ nghĩa tốt hơn giúp cho máy tính có thể hiểu được.[ Tim Berners-Lee,2001].

 

Semantic Web là một phương pháp cho phép định nghĩa và liên kết dữ liệu một cách có ngữ nghĩa hơn nhằm phục vụ cho máy tính có thể “hiểu” được. Semantic Web còn cung cấp một môi trường chia sẻ và xử lý dữ liệu một cách tự động bằng máy tính. Ví dụ: Giả sử ta cần so sánh giá để chọn mua một bó hoa hay ta cần tra cứu catalog của các hãng chế tạo xe khác nhau để tìm ra thiết bị thay thế cho các bộ phận bị hư hỏng của xe Volvo 740. Thông tin mà ta thu được trực tiếp trên Web có thể trả lời các câu hỏi này nhưng đòi hỏi con người phân tích ý nghĩa của dữ liệu và sự liên quan của nó với yêu cầu đề ra, không thể xử lý tự động bằng máy tính.

 

Với Semantic Web ta có thể giải quyết vấn đề này bằng 2 cách:

ü  Thứ nhất, nó sẽ mô tả chi tiết dữ liệu của nó. Do đó một chương trình xử lý không cần quan tâm đến các format, hình ảnh, quảng cáo trên một trang Web để tìm ra sự liên quan của thông tin.

ü  Thứ hai, Semantic Web cho phép chúng ta tạo ra một file mô tả mối liên hệ giữa các tập dữ liệu khác nhau. Ví dụ, ta có thể tạo một liên kết semantic giữa một cột ‘zip-code’ trong database với trường ‘zip’ ở trên form nhập liệu nếu chúng có chung ý nghĩa. Điều này cho phép máy tính theo các link và tích hợp dữ liệu từ nhiều nguồn khác nhau.

 

Ý tưởng liên kết các nguồn khác nhau (tài liệu, hình ảnh, con người, khái niệm, …) cho phép chúng ta mở rộng Web thành một môi trường mới với tập các mối quan hệ mới (như hasLocation, worksFor, isAuthorOf, hasSubjectOf, dependsOn, ...) giữa các nguồn dữ liệu, tạo ra các mối liên hệ ngữ cảnh (contextual relationship), điều mà Web hiện tại chưa làm được.

2.2.2   Semantic Web mang lại những gì ?

2.2.2.1      Máy có thể hiểu được thông tin trên Web

 

Internet ngày nay dựa hoàn toàn vào nội dung. Web hiện hành chỉ cho con người đọc chứ không dành cho máy hiểu. Semantic Web sẽ cung cấp ý nghĩa cho máy hiểu. Ví dụ như:

The Beatles là một ban nhạc nổi tiếng của Liverpool.

John Lennon là một thành viên của The Beatles.

• Bản nhạc “Hey Dude” do nhóm The Beatles trình bày.

Những câu như thế này có thể hiểu bởi con người nhưng làm sao chúng có thể

được hiểu bởi máy tính?

 

Semantic Web là tất cả những gì về cách tạo một Web mà cả người và máy có thể hiểu. Người dùng máy tính sẽ vẫn có thông tin trình bày theo cách trước đây, nhưng đối với máy tính, Semantic Web là ánh sáng soi rọi vào màn đêm của Web hiện hành. Bây giờ, máy không phải suy luận dựa vào ngữ pháp và các ngôn ngữ đánh dấu (Markup Language) nữa vì cấu trúc ngữ nghĩa của văn bản (text) thực sự đã chứa nó rồi.\

2.2.2.2                 Thông tin được tìm kiếm nhanh chóng và chính xác hơn

Với Semantic Web, việc tìm kiếm sẽ dễ dàng nếu mọi thứ được đặt trong ngữ cảnh. Ý tưởng chính yếu là toàn bộ ngữ cảnh mà người sử dụng được biết đến. Mục tiêu của Semantic Web là phát triển các tiêu chuẩn và kĩ thuật để giúp máy hiểu nhiều thông tin trên Web hơn, để chúng tìm ra các thông tin dồi dào hơn, tích hợp, duyệt dữ liệu, và tự động hóa các thao tác. Với Semantic Web, chúng ta không những nhận được những thông tin chính xác hơn khi tìm kiếm thông tin từ máy tính, mà máy tính còn có thể tích hợp thông tin từ nhiều nguồn khác nhau, biết so sánh các thông tin với nhau.

2.2.2.3      Dữ liệu liên kết động

Với Semantic Web, chúng ta có thể kết hợp các thông tin đã được mô tả và giàu ngữ nghĩa với bất kì nguồn dữ liệu nào. Ví dụ, bằng cách thêm các metadata (dữ liệu về dữ liệu) cho các tài liệu khi tạo ra nó, chúng ta có thể tìm kiếm các tài liệu mà metadata cho biết tác giả là Eric Miller. Cũng thế, với metadata chúng ta có thể tìm kiếm chỉ những tài liệu thuộc loại tài liệu nghiên cứu.

 

Với Semantic Web, chúng ta không chỉ cung cấp các URI cho tài liệu như đã làm trong quá khứ mà còn cho con người, các khái niệm, các mối liên hệ. Như trong ví dụ trên, bằng cách cung cấp những định danh duy nhất cho mỗi con người như vai trò của ‘tác giả’ và khái niệm ‘tài liệu nghiên cứu’, chúng ta đã làm rõ người ở đây là ai và mối quan hệ tương ứng của người này với một tài liệu nào đó. Ngoài ra, bằng cách làm rõ người mà chúng ta đang đề cập chúng ta có thể phân biệt những tài liệu của Eric Miller với những tài liệu của những người khác. Chúng ta cũng có thể kết hợp những thông tin đã được mô tả ở nhiều site khác nhau để biết thêm thông tin về người này ở những ngữ cảnh khác nhau ví dụ như vai trò của anh ta ra sao khi anh ta là tác giả, nhà quản lý, nhà phát triển, …

2.2.2.4      Hỗ trợ công cụ tự động hóa

Ngoài ra, chúng còn cung cấp các loại dịch vụ tự động từ nhiều vùng khác nhau: từ gia đình và các thư viện kĩ thuật số cho đến các dịch vụ kinh doanh điện tử và dịch vụ sức khỏe.v.v.

Semantic Web còn cung cấp các phương tiện để thêm các thông tin chi tiết lên Web nhằm hỗ trợ sự tự động hóa cho các dịch vụ.

2.2.3   Kiến trúc của Semantic Web

Semantic Web là một tập hợp/ một chồng (stack) các ngôn ngữ. Tất cả các lớp của Semantic Web được sử dụng để đảm bảo độ an toàn và giá trị thông tin trở nên tốt nhất.

Hình 8: Kiến trúc của Semantic Web

Chúng ta sẽ tìm hiểu các lớp trong kiến trúc Semantic web và vai trò cuả các lớp đó.

 

2.2.3.1      Lớp Unicode & URI:

 

Lớp Unicode và URI nhằm bảo đảm việc sử dụng tập kí tự quốc tế và cung cấp phương tiện nhằm danh các đối tượng trong Semantic Web. URI đơn giản chỉ là một định danh Web giống như các chuỗi bắt đầu bằng “http” hay “ftp” mà bạn thường xuyên thấy trên mạng. Bất kỳ ai cũng có thể tạo một URI, và có quyền sở hữu chúng vì vậy chúng đã hình thành nên một công nghệ nền tảng lý tưởng để xây dưng một hệ thống mạng toàn cầu thông qua đó.

2.2.3.2      Lớp XML cùng với các định nghĩa về namespace schema

 

Lớp này bảo đảm rằng chúng ta có thể tích hợp các định nghĩa Semantic Web với các chuẩn dựa trên XML khác.

XML được thiết kế để có thể trao đổi các tài liệu (document) qua Web. Nó cho phép  mọi người thiết kế định dạng tài liệu và sau đó viết một tài liệu theo định dạng đó. Tuy XML cho phép người dùng thêm cấu trúc tùy ý cho các tài liệu của họ nhưng không đề cập gì đến ý nghĩa của các cấu trúc đó. Tên các tag không cung cấp ý nghĩa, do đó Semantic Web chỉ dùng XML cho mục đích cú pháp.

 

2.2.3.3      Lớp RDF [RDF] và RDFSchema [RDFS]:

 

RDF (Resource Description Framework) là một chuẩn được định nghĩa bởi tổ chức W3C. RDF cho phép mô tả các tài nguyên trên web và trao đổi thông tin giữa các ứng dụng trên Web mà máy có thể hiểu được.

Cấu trúc căn bản của một RDF statement rất đơn giản. Gồm 3 thành phần:

Subject: chủ thể - là cái mà chúng ta đề cập, thường được nhận diện bởi một URI.

Predicate: thuộc tính của chủ thể, có kiểu metadata (ví dụ như tiêu đề, tác giả, ...), cũng có thể được xác định bởi một URI.

Object: giá trị của thuộc .

Chúng ta sẽ xét một phát biểu sau:

 Hemingway là tác giả của cuấn sách “Ông già và biển cả”

Phát biểu trên được mô tả bằng RDF như sau:

    "Ông già và biển cả">

    Hemingway

 

 

Mô hình RDF cho phép mô tả các tài nguyên, tuy nhiên nó không cung cấp những cơ chế cho việc khai báo các thuộc tính, cũng như không cung cấp bất kỳ cơ chế nào để có thể định nghĩa ra những quan hệ giữa các thuộc tính và các tài nguyên. Đó sẽ là vai trò của RDF schema, hay nói cách khác RDF schema được dùng để định nghĩa các tài nguyên (các lớp trong RDF schema) và thuộc tính (thuộc tính trong RDF schema) cũng như các quan hệ qua lại giữa tài nguyên với tài nguyên, giữa thuộc tính với thuộc tính, và giữ tài nguyên với thuộc tính.

2.2.3.4      Lớp Ontology

Định nghĩa ontology: Ontology là một tập các khái niệm và quan hệ giữa các khái niệm được định nghĩa cho một lĩnh vực nào đó nhằm vào việc biểu diễn và trao đổi thông tin. Tổ chức W3C  đã đề ra một ngôn ngữ ontology trên Web (OWL: Web Ontoloty Language) để xây dựng Sematic Web dựa trên nền tảng của ontology.

 

Một Ontology định nghĩa một bộ từ vựng mang tính phổ biến & thông thường, nó cho phép các nhà nghiên cứu chia sẻ thông tin trong một/nhiều lĩnh vực. Nó bao gồm các định nghĩa về các khái niệm căn bản trong một lĩnh vực và các mối liên hệ giữa chúng mà máy có thể hiểu được.

2.2.3.5      Lớp logic

Sẽ là thật tốt nếu có những hệ có thể hiểu những khái niệm cơ bản (subclass, inverse...), và sẽ tốt hơn nếu chúng ta có thể khai báo các nguyên tắc logic và cho phép máy tính suy diễn (dựa trên suy luận) bằng cách dùng những nguyên tắc này.

 

Chúng ta xét một ví dụ: một công ty quyết định rằng nếu người nào bán hơn 100 sản phẩm, thì họ là thành viên của Super Salesman Club. Một chương trình thông minh hiện nay có thể hiểu luật này để tạo một suy diễn đơn giản “Jonh đã bán 102 sản phẩm, vì thế John là thành viên của Super Salesman Club”.

2.2.3.6      Lớp Proof

Chúng ta sẽ xây dựng các hệ hiểu logic và dùng chúng để chứng minh. Mọi người trên thế giới có thể viết các khai báo logic. Sau đó máy tính có thể theo những Semantic link (liên kết ngữ nghĩa) này để kiểm chứng. 

 

Ví dụ: tập hợp các record bán hàng cho thấy rằng Jane đã bán 55 widget và 66 sprocket. Hệ thống kiểm kê cho biết widget và sprocket là những sản phẩm của các công ty khác nhau. Xây dựng luật biểu diễn rằng 55 + 66 =121 và 121 lớn hơn 100 và như chúng ta biết người nào bán hơn 100 sản phẩm và là thành viên của Super Salesman Club. Máy tính kết hợp tất cả các luật logic lại với nhau thành một proof:Jane là một Super Salesman.

2.2.3.7                 Lớp Trust

Chữ ký điện tử cung cấp bằng chứng rằng một người nào đó viết một tài liệu hoặc đưa ra một lời tuyên bố. Khi đánh dấu tất cả khai báo RDF bằng chữ ký điện tử, chúng ta có thể chắc chắn rằng ai đã viết chúng (hoặc ít nhất là bảo đảm tính xác thực của chúng). Bây giờ chúng ta chỉ đơn giản bảo chương trình những chữ ký nào đáng tin và những chữ ký nào không. Mỗi chữ ký có thể được đặt các mức độ hoặc độ tin cậy (hoặc độ nghi ngờ) mà dựa vào đó máy tính có thể quyết định nên đọc theo độ tin cậy bao nhiêu.

2.3       Ontology

2.3.1   Khái niệm ontology

Khái niệm ontology được bắt nguồn từ triết học và được miêu tả trong (Kivela and Hyvonen,2002) và (Smith and Welty, 2001); nó được nghiên cứu và phát triển bởi các nhà nghiên cứu về trí tuệ nhân tạo để mô tả một cách hình thức một miền lĩnh vực nào đó.

Một vài định nghĩa về ontology đã được đưa ra, một trong những định nghĩa cơ bản được đưa ra bởi Gruber vào năm 1993, theo đó ontology “là quá trình chi tiết hóa các mức khái niệm; hay nói cách khác ontology bao gồm các khái niệm trong  một mô hình miền lĩnh vực nào đó mà các khái niệm đó được mô tả một cách chi tiết” [Gruber,1993]. Sau đó vào năm 1997,  Borst đã đưa ra định nghĩa ontology “là sự chi tiết hóa một cách hình thức các khái niệm có thể chia sẻ với nhau, quan hệ với nhau”[Borst,1997]. Dựa trên hai định nghĩa này, ta có định nghĩa tổng quát về ontology như sau: “ontology là sự chi tiết hóa một cách rõ ràng và hình thức các khái niệm có thể chia sẻ, liên quan đến nhau”.

Ontology được xây dựng như một từ điển các thuật ngữ một chuyên ngành xác định cùng với mối quan hệ giữa các thuật ngữ này (quan hệ ngang hàng, quan hệ cha – con, quan hệ chủ thể - bộ phận…), và được dùng để chia sẻ thông tin trong một lĩnh vực, mà trong đó cả máy tính và con người đều có thể hiểu được

 

Trong cuộc sống , vai trò của ontology là giúp cho việc tăng cường khẳ năng giao tiếp giữa con người như: chia sẻ tri thức, giải thích các khái niệm một cách toàn diện,… Còn đối với các chương trình máy tính, ontology giúp cải thiện giao tiếp giữa người dùng và máy tính, do đó nó cũng được nghiên cứu trong các ứng dụng thích nghi ngữ cảnh.

 

Trong lĩnh vực Công nghệ thông tin, Ontology có một số đặc điểm sau:

ü  Ontology có tính chất hình thức: ngữ nghĩa được định nghĩa rõ ràng hoặc có cơ sở toán học cho ý nghĩa củacchúng.

ü  Ontology cung cấp khả năng đọc hiểu cho con người. chúng có thể được phát triển, chia sẻ, hiểu bởi không chỉ các chương trình máy tính mà còn bởi các người dùng, các chuyên gia và người thiết kế ontology về lĩnh vực đó.

ü  Ontology là sự toàn diện. Chúng được thiết kế với mục đích có được ý nghĩa đầy đủ của các khái niệm giao dịch được yêu cầu.

Tất cả ý nghĩa của các khái niệm được thu tóm trong ontology thì nó có thể được hiểu, thay đổi, kiểm soát bởi bất kì ai có liên quan đến lĩnh vực đó.

Nó trở thành một mô tả sống và là một tài nguyên có giá trị khi các hệ thông ứng dụng sử dụng và phát triển nó.

ü  Ontology có thể chia sẻ.

Điều này giúp dễ dàng kết hợp các ontology được phát triển riêng rẽ, sử dụng chúng để cho phép giao tiếp giữa các hệ thống thông tin cần chia sẽ thông tin dựa trên các khái niệm chung.

 

Một số lý do cần phát triển một Ontology:

ü  Để chia sẻ những hiểu biết chung về cấu trúc thông tin giữa con người và các

software agent.

ü  Để cho phép tái sử dụng lĩnh vực tri thức (domain knowledge).

ü  Để làm cho các giả thuyết về lĩnh vực được tường minh.

ü  Để tách biệt tri thức lĩnh vực (domain knowledge) ra khỏi tri thức thao tác

(operational knowledge ).

ü  Để phân tích lĩnh vực tri thức.

2.3.2   Phương pháp xây dựng ontology

Cho đến hiện nay chưa có một quy tắc chung nào để xây dựng ontology, tuy nhiên khi tham khảo một số phương pháp cụ thể của các chuyên gia khi xây dựng ontology thì việc xây dựng Ontology cần thực hiện qua các bước sau:

2.3.2.1                Xác định lĩnh vực và phạm vi của Ontology

Trong giai đoạn này cần xác định mục đích của việc xây dựng ontology là gì? Phục vụ đối tượng nào? Ontology sắp xây dựng cần có đặc điểm gì, liên quan đến lĩnh vực, phạm vi nào. Quá trình khai thác, quản lý và bảo trì ontology được thực hiện ra sao?

2.3.2.2                Xem xét việc sử dụng lại các ontology có sẵn

Cấu trúc của một Ontology bao gồm 3 tầng: tầng trừu tượng (Abstract), tầng miền xác định (Domain) và tầng mở rộng (Extension). Trong đó tầng trừu tượng có tính tái sử dụng rất cao, tầng miền xác định có thể tái sử dụng trong một lĩnh vực nhất định. Cộng đồng Ontology cũng đang lớn mạnh và có rất nhiều Ontology đã được tạo ra, với tâm huyết của nhiều chuyên gia. Do đó trước khi bắt đầu xây dựng ontology, cần xét đến khả năng sử dụng lại các ontology đã có. Nếu có thể sử dụng lại một phần các ontology đã có, chi phí bỏ ra cho quá trình xây dựng ontology sẽ giảm đi rất nhiều.

 

2.3.2.3                 Liệt kê các thuật ngữ quan trọng

Ontology được xây dựng trên cơ sở các khái niệm trong một lĩnh vực cụ thể, vì vậy khi xây dựng ontology cần bắt đầu từ các thuật ngữ chuyên ngành để xây dựng thành các lớp trong ontology tương ứng. Tất nhiên không phải thuật ngữ nào cũng đưa vào ontology, vì chưa chắc đã định vị được cho thuật ngữ đó. Do đó cần phải liệt kê các thuật ngữ, để xác định ngữ nghĩa cho các thuật ngữ đó, cũng như cân nhắc về phạm vi của ontology. Việc liệt kê các thuật ngữ còn cho thấy được phần nào tổng quan về các khái niệm trong lĩnh vực đó, giúp cho các bước tiếp theo được thuận lợi.

2.3.2.4                 Xác định các lớp và phân cấp của các lớp

Công việc xác định các lớp không chỉ đơn giản là tiến hành tìm hiểu về ngữ nghĩa của các thuật ngữ đã có để có được các mô tả cho thuật ngữ đó, mà còn phải định vị cho các lớp mới, loại bỏ ra khỏi ontology nếu nằm ngoài phạm vi của ontology hay hợp nhất với các lớp đã có nếu có nhiều thuật ngữ có ngữ nghĩa như nhau (đồng nghĩa, hay đa ngôn ngữ). Ngoài ra không phải thuật ngữ nào cũng mang tính chất như một lớp.

Một công việc cần phải tiến hành song song với việc xác định các lớp là xác định phân cấp của các lớp đó. Việc này giúp định vị các lớp dễ dàng hơn.

Có một số phương pháp tiếp cận trong việc xác định phân cấp của các lớp:

ü  Phương pháp từ trên xuống (top-down):  bắt đầu với định nghĩa của các lớp tổng quát nhất trong lĩnh vực và sau đó chuyên biệt hóa các khái niệm đó. Ví dụ: Trong Ontology về quản lý nhân sự, ta bắt đầu với lớp Người, sau đó chuyên biệt hóa lớp Người đó bằng cách tạo ra các lớp con của lớp Người như : Kỹ sư, Công nhân, Bác sỹ,… Lớp Kỹ sư cũng có thể chuyên biệt hóa bằng cách tạo ra các lớp con như Kỹ sư CNTT, Kỹ sư điện, Kỹ sư cơ khí, …

ü  Phương pháp từ dưới lên (bottom-up): bắt đầu với định nghĩa của các lớp cụ thể nhất, như các lá trong cây phân cấp. Sau đó gộp các lớp đó lại thành các khái tổng quát hơn. Ví dụ: ta bắt đầu với việc định nghĩa các lớp như: nhân viên lễ tân, nhân viên vệ sinh, nhân viên kỹ thuật. Sau đó tạo ra một lớp chung hơn cho các lớp đó là lớp nhân viên.

ü  Phương pháp kết hợp: kết hợp giữa phương pháp từ trên xuống và từ dưới lên: bắt đầu từ định nghĩa các lớp dễ thấy trước và sau đó tổng quát hóa và chuyên biệt hóa các lớp đó một cách thích hợp. Ví dụ ta bắt đầu với lớp nhân viên trước, là thuật ngữ hay gặp nhất trong quản lý nhân sự. Sau đó chúng ta có thể chuyên biệt hóa thành các lớp con: nhân viên lễ tân, nhân viên vệ sinh,… hoặc tổng quát hóa lên thành lớp Người.

2.3.2.5    Xác định các thuộc tính

Để xác định thuộc tính cho các lớp, ta quay trở lại danh sách các thuật ngữ đã liệt kê được. Hầu hết các thuật ngữ còn lại (sau khi đã xác định lớp) là thuộc tính của các lớp đó. Với mỗi thuộc tính tìm được, ta phải xác định xem nó mô tả cho lớp nào. Các thuộc tính đó sẽ trở thành thuộc tính của các lớp xác định. Ví dụ lớp Người có các thuộc tính sau: Họ, Tên, Ngày sinh, Giới tính, Nghề nghiệp, Địa chỉ, Điện thoại,…

2.3.2.6    Xác định giới hạn của các thuộc tính (lực lượng, kiểu giá trị)

Các thuộc tính có thể có nhiều khía cạnh khác nhau: như kiểu giá trị, các giá trị cho phép, số các thuộc tính (lực lượng), và các đặc trưng khác mà giá trị của thuộc tính có thể nhận. Ví dụ: “Năm sinh” của một “nhân viên” chỉ có duy nhất và là số nguyên, có thể nhận giá trị từ 1948 đến 1990.

Cần phải xác định các ràng buộc cho một thuộc tính càng chặt chẽ càng tốt, để tránh trường hợp nhập dữ liệu sai, dẫn đến đổ vỡ của các ứng dụng sử dụng Ontology này.

2.4       Ngôn ngữ RDF/ RDFS

2.4.1 RDF (Resource Description Framework )

Ở phần trước tôi đã giới thiệu về khái niệm RDF(Resource Description Framework) và vai trò của RDF trong kiến trúc của Semantic Web .

RDF mô tả siêu dữ liệu về các tài nguyên trên Web. RDF dựa trên cú pháp XML tuy nhiên XML chỉ mô tả dữ liệu , RDF còn có khả năng biểu diễn ngữ nghĩa giữa chúng thông qua các tài nguyên được định danh bằng URI. Trong phần này tôi sẽ trình bày cụ thể và bao quát hơn về RDF.

 

Namespace và cách khai báo

Namespace là một tập các tên( name) , được định danh bởi các URI, được sử dụng trong các tài liệu XML như các element type và attribute name.

Một namespace được khai báo sử dụng một tập các thuộc tính có đã được định nghĩa. Tên của một thuộc tính phải có xmlns hay xmlns: như là một tiếp đầu ngữ.

 ví dụ khai báo cho một namespace sau:

 

Qualified name(QName) và cách sử dụng

Một QName bao gồm một tiếp đầu ngữ( prefix) mà đã được gán trước đó bởi

mt URI theo sau là du ‘:’ và tên cc b. Ví d như nếu một QName prefix foo được

gán cho một URI là http://example.org/somewhere/ cho nên ta có QName foo:bar là cách viết tắt của địa chỉ URI http://example.org/somewhere/bar

 

Mô hình RDF ( RDF Model)

Mô hình cơ bản của RDF gồm ba đối tượng sau:

• Tài nguyên (Resources): là tất cả những gì được mô tả bằng biểu thức RDF. Nó có thể là một trang Web, ví dụ như trang http://www.w3.org/Overview.html, cũng có thể là một phần của trang Web, hoặc là một tập các trang Web, …

• Thuộc tính (Properties): thuộc tính, đặc tính, hoặc quan hệ dùng để mô tả tính chất của tài nguyên.

• Phát biểu (Statements): mỗi phát biểu gồm ba thành phần sau

 - Subject (Tài  guyên): địa chỉ hay vị trí tài nguyên muốn mô tả, thông thường thì đây là chuỗi định URL hoặc URI.

- Predicate (Vị ngữ): xác định tính chất của tài nguyên.

- Object (Bổ ngữ): nội dung gán cho thuộc tính.

 

Bộ ba RDF ( RDF Tripple)

Mỗi một phát biểu (subject, predicate,object) còn gọi là một bộ ba ( triple).

Ví dụ, xét phát biểu sau

http://www.example.org/index.html has a creator whose value is John Smith

Phát biểu trên được phân ra thành các phần sau:

Subject http://www.example.org/index.html

Predicate http://purl.org/dc/elements/1.1/creator

Object http://www.example.org/staffid/85740

 

Chúng ta đã biết URI dùng để mô tả bất cứ cái gì trên Web, cho nên ở phát biểu trên thay “creator” và “John Smith”, ta sẽ dùng URI http://purl.org/dc/elements/1.1/creator và “http://www.example.org/staffid/85740"  để mô tả cho từng khái niệm trên.

 

Phát biểu trên được biểu diễn dưới dạng một tripple như sau:

Đồ thị RDF ( RDF Graph)

Tập các triple hợp lại tạo thành đồ thị RDF( RDF Graph). Các node trong đồ

thị có thể là các subject và object trong triple và các cung (arc)trong đồ thị là các

predicate. Cho nên một triple còn có thể được mô tả dưới dạng node-arc-node. Hướng

của đồ thị rất quan trọng. Cung của đồ thị luôn bắt đầu từ subject đến object.

 

Hình 9: Mối quan hệ giữa các thành phần trong triple.

 

Phát biểu trên được mô hình hóa bằng đồ thị có hướng sau:

 

Hình 10: Mô tả một phát biểu đơn giản bằng đồ thị

Như vậy, RDF cung cấp một công cụ đơn giản mô tả các đối tượng và quan hệ qua lại giữa các đối tượng, tạo thành một sơ đồ phức tạp. Hạn chế của RDF là khó kiểm soát được các quan hệ giữa các đối tượng khi lượng dữ liệu ngày càng lớn, vì mối quan hệ giữa hai đối tượng có thể không liên kết trực tiếp với nhau, mà thông qua một chuỗi các đối tượng trung gian trong sơ đồ.

2.4.2   RDFS (Resource Description Framework Schema)

RDFS mô tả ngữ nghĩa của thông tin trong lược đồ xây dựng theo chuẩn RDF. Mục đích của RDFS là cung cấp các từ vựng trong XML có thể biểu diễn các lớp và các lớp con, cũng như quan hệ giữa chúng, đồng thời định nghĩa các thuộc tính liên kết với các lớp đó. RDFS tập trung vào định nghĩa một cấu trúc phân cấp các lớp để phục vụ cho quá trình suy diễn và tìm kiếm thông tin.

RDFS được sử dụng để thể hiện ontology

Hình vẽ dưới minh họa sự khác nhau giữa RDF và RDFS:

 

 

Hình 11: Ví dụ về RDFS

Sự khác nhau giữa RDF và RDFS

Ngôn ngữ RDF chỉ mô tả một mệnh đề: “Nuclear Physics is taught by Professor Smith”. Còn RDFS mô tả chi tiết cấu trúc phân cấp các lớp trong lược đồ, dựa vào đó, máy tính có thể “hiểu” được “Nuclear Physics” là một khóa học (“course”) có liên quan đến (“involve”) hội đồng khoa học (“academic staff”), trong đó có các giáo sư, trợ giảng, và các giáo sư cộng tác, trong đó Prof. Smith là giáo sư.

Như vậy, cấu trúc phân cấp được mô tả trong RDFS là công cụ để máy tính có thể hiểu được nội dung của các trang web, là cơ sở để các tác tử phần mềm tự động thực hiện các tác vụ cần thiết mà không cần sự chỉ đạo của con người

2.4.3   SPARQL – Truy vấn ngữ nghĩa trong RDF

Như chúng ta đã biết RDF là một cách để mô tả thông tin về các tài nguyên Web một cách linh động . Nó được sử dụng để mô tả nhiều loại thông tin ví dụ như thông tin về cá nhân, về hệ thống mạng toàn cầu, metadata về mutimedia như music và hình ảnh cũng như là cung cấp một phương tiện để tích hợp các nguồn tài nguyên khác. Với một lượng thông tin quá lớn như vậy, làm thế nào dữ liệu có thể được truy vấn nhanh chóng và chính xác? Vì vậy tổ chức W3C đã phát triển một ngôn ngữ chuẩn để truy vấn dữ liệu RDF với việc cung cấp nhiều chức năng cho các developer và end users cách để viết và thực thi một câu truy vấn . Phần này mô tả ngôn ngữ truy vấn Protocol And RDF Query Language(SPARQL) để truy cập dữ liệu RDF được phát triển bởi nhóm RDF Data Access Working Group-một phần trong hoạt động của Semantic Web.

 

Một RDF Graph là một tập các triple, mỗi triple bao gồm bộ ba subject, predicate và object (như đã giới thiệu ở chương 3). Những triple này có thể đến từ nhiều tài nguyên khác nhau. Ví dụ như: chúng có thể đến từ một tài liệu RDF , chúng có thể được suy ra từ các RDF triple khác hoặc là chúng có thể là sự mô tả RDF của các dữ liệu được lưu trữ từ các định dạng khác như XML hay là từ một cơ sở dữ liệu quan hệ.

SPARQL là một ngôn ngữ để truy cập thông tin từ các đồ thị RDF . Nó cung cấp các tính năng sau:

• Trích thông tin trong các dạng của URI, các blank node và các plain hay typed literals.

• Trích thông tin từ các đồ thị con.

• Xây dựng một đồ thị RDF mới dựa trên thông tin trong đồ thị truy vấn.

 

Tạo một câu truy vấn đơn giản

Một câu truy vấn bao gồm 2 mệnh đề, mệnh đề SELECT và mệnh đề WHERE. Mệnh đề SELECT định danh các biến mà ứng dụng quan tâm và mệnh đề WHERE bao gồm các triple pattern.

Một triple pattern là một RDF triple nhưng mỗi thành phần (subject, predicate hay object) đều có thể là một biến truy vấn.

Một basic graph pattern là một tập các triple pattern.

Ngôn ngữ SPARQL dựa trên nền tảng so sánh các graph pattern. Graph pattern đơn giản nhất là các triple pattern.

 

Kết quả của câu truy vấn là tất cả các giải pháp mà một câu truy vấn có thể phù hợp với đồ thị được truy vấn. Một câu truy vấn có thể có không,một hay nhiều kết quả.

Ví dụ dưới đây sẽ chỉ ra một câu truy vấn để tìm ra một tựa đề ( title) của một quyển sách từ thông tin trong một đồ thị RDF.

Ta có một RDF triple sau:

  "SPARQL

Tutorial" .

 

Câu truy vấn:

SELECT ?title

WHERE{

  ?title

   }

Kết quả truy vấn:

Title

"SPARQL Tutorial"

 

Cú pháp của câu truy vấn

Các giá trị được đặt trong dấu ‘<>’ dùng để chỉ một định danh URI. Các giá trị được đặt trong dấu (“ “) là các giá trị literal.

Biến trong ngôn ngữ truy vấn có giá trị toàn cục. Biến thường bắt đầu với kí tự ‘?’. Đôi khi người ta cũng sử dụng kí tự ‘$’ để chỉ một biến, để chỉ rằng nơi mà hệ thống sử dụng ‘?’ như một ký tự thay thế. Trong một câu truy vấn, $abc và ?abc đều là biến.

 

Bởi vì các URI có thể được viết rất dài, SPARQL cung cấp một cơ chế viết tắt. Tiếp đầu ngữ (prefix) có thể được định nghĩa và một QName sẽ cung cấp một dạng viết làm cho URI có thể ngắn gọn.

 

Sau đây là một cách viết tắt cho triple pattern

PREFIX dc:

SELECT ?title

WHERE { dc:title ?title }

 

Ta có thể sử dụng một cách viết tắt :

PREFIX dc:

PREFIX :

SELECT $title

WHERE { :book1 dc:title $title }

 

Phần trên tôi đã trình bày cấu trúc cơ bản của một câu truy vấn SPARQL. Chi tiết về các câu truy vấn SPARQL tôi sẽ trình bày trong phần phụ lục 1

2.5       Các chú thích ngữ nghĩa (Annotation)

Các chú thích ngữ nghĩa (annotation) là các meta data sử dụng ontology để mô tả các tài nguyên có trong hệ thống. Đây chính là các thông tin được thêm vào một  tài nguyên để tăng tính ngữ nghĩa của các tài nguyên đó. Để tạo các chú thích ngữ nghĩa, chúng ta có thể sử dụng ngôn ngữ RDF đã được trình bày ở trên.

2.6       Bộ máy suy diễn ngữ nghĩa

Bộ máy suy diễn ngữ nghĩa là một thành phần trong semantic web. Bộ máy suy diễn đó sẽ dựa trên các chú thích ngữ nghĩa, ontology và các luật suy diễn được thêm vào để tăng tính ngữ nghĩa của các thông tin, qua đó giúp cho việc tìm kiếm các thông tin không bị thừa mà lại chính xác.

 

 

Kết chương:

 Trong chương này, tôi đã trình bày vê Semantic web và khả năng mở rộng ngữ nghĩa của nó đối với các thông tin. Và tôi cũng đã trình bày kiến trúc của semantic web; ngôn ngữ mô tả ngữ nghĩa các tài nguyên (RDF-RDFS) và cách truy vấn ngữ nghĩa đối với các tài nguyên đó. Trong chương tiếp theo, tôi sẽ trình bày một cách tiếp cận áp dụng semantic web vào các hệ thống thích nghi ngữ cảnh để giải quyết các khó khăn trong việc xây dựng các hệ thống đó.


CHƯƠNG 3: ỨNG DỤNG SEMANTIC WEB VÀO UBICOMP

Một trong những đặc tính nổi bật của semantic web là nó tăng cường khả năng giao tiếp, kết nối giữa các hệ thống, ứng dụng và các tài nguyên thông tin. Trong chương này, tôi sẽ trình bày về việc ứng dụng công nghệ semantic web vào mô hình tính toán UbiComp để tăng cường hoạt động của các hệ thống này.

3.1    Tại sao Semantic web có thể được ứng dụng vào UbiComp?

3.1.1   Semantic web tăng cường khả năng liên tác hoạt động giữa các thiết bị

Có nhiều những nghiên cứu về vấn đề tương tác trong hệ thống UbiComp. Các nghiên cứu này đều chỉ ra rằng: đặc tính quan trọng nhất của mô hình tính toán UbiComp giúp nó khác biệt với các mô hình tính toán hiện nay đó chính là khả năng kết nối, liên tác hoạt động giữa rất nhiều thiết bị với nhau. Hiện nay, chúng ta có thể kết nối các thiết bị vào máy tính như: máy in, gateway, … nhưng các kết nối này đều là tĩnh. Trái lại, một hệ thống UbiComp cần phải đoán trước được khả năng bao gồm hàng chục, hàng trăm các thiết bị và hơn nữa, việc kết nối các thiết bị với nhau cũng thay đôi tùy theo ngữ cảnh sự dụng; do đó cần phải có một công nghệ để tăng cường khả năng kết nối, liên tác hoạt động giữa các thiết bị trong hệ thống UbiComp. Công nghệ kết nối mới này có khả năng tự động phát hiện, cấu hình các thiết bị mới và sử dụng các dịch vụ của thiết bị đó mà không cần sự can thiệp, chú ý của người dùng.

Hình 12: Semantic web giúp tăng cường khả năng liên kết giữa các thiết bị

 Semantic web mô tả đầy đủ các tài nguyên trong hệ thống, do đó, nó cũng cũng cấp các mô tả về các chức năng của hệ thống. Với việc sử dụng Semantic web, ta có thể mô hình hóa mức khái niệm các đặc tính cũng như chức năng, các hàm API để truy cập các thiết bị trong UbiComp. Ví dụ: một chiếc Camera kĩ thuật số trong hệ thống có thể được mô hình hóa thành một thực thể có URI như sau: ubicomp://device/camera/digitalcamera. Các chức năng, đặc tính của camera như: khả năng ghi hình, chụp ảnh, độ phân giải, định dạng dữ liệu vào ra . . . của chiếc camera đó cũng được mô tả rõ trong thực thể này.

Những thông tin mô tả như trên được xử lý bởi máy để có khả năng suy diễn ra thiết bị nào là cần thiết để thực hiện một chức năng. Ví dụ như để chụp ảnh, dựa trên những thông tin mô tả, máy tính có thể tìm ra Camera là một trong các thiết bị có thể thực hiện chức năng này. Thêm vào đó, dựa trên các thông tin mô tả này, các thiết bị có thể tương tác hoạt động với nhau mà không cần đến sự đièu khiển của con người. Ví dụ, khi một sensor phát hiện ra một người lạ, và hệ thống của ta muốn ghi lại hình ảnh của người đó. Sử dụng semantic web ta có thể định nghĩa luật: khi sensor phát hiện người lạ, quay camera đến tọa độ được cung cấp bởi sensor và ghi lại hình ảnh ở đó. Như vậy, hoạt động của hệ thống là tự động, không cần đến sự điều khiển của người dùng và giữa các thiết bị có khả năng trao đổi thông tin, dữ liệu với nhau.

Tóm lại, sử dụng semantic web sẽ tăng cường khả năng kết nối, liên tác giữa các thành phần trong hệ thống UbiComp; nhờ đó sẽ tăng cường khả năng tự động của hệ thống: tự động thêm, bớt các thiết bị mà không ảnh hưởng đến hoạt động của hệ thống, tự động cấu hình các thiết bị, các thiết bị có thể hiểu được nhau.

3.1.2   Semantic web tăng cường khả năng thích nghi ngữ cảnh

Một đặc tính quan trọng nữa của một hệ thống UbiComp đó là khă năng hoạt động thích nghi ngữ cảnh; cùng một hành động nhưng tùy từng ngữ cảnh khác nhau, hệ thống sẽ phản hồi khác nhau. Trong chương 1, tôi đã trình bày những khó khăn trong việc xây dựng một hệ thống thích nghi ngữ cảnh. Dưới đây, tôi sẽ trình bày việc ứng dụng semantic web vào UbiComp có thể giải quyết được một số khó khăn nêu trên.

Semantic web dựa trên nền tảng ontology cho phép mô tả một cách giàu ngữ nghĩa các thông tin và mối quan hệ giữa chúng. Ontology mô hình hóa các thông tin về ngữ cảnh như: thông tin liên quan đến người dùng, vị trí, thời gian,…thành các khái niệm, khái niệm con, các quan hệ, thuộc tính và các sự kiện; dó đó các thông tin ngữ cảnh thu được sẽ đầy đủ hơn về mặt ngữ nghĩa. Ví dụ như một người dùng muốn đi ăn tại một nhà hàng, các thông tin về nhà hàng như: cách vị trí người dùng bao nhiêu ?, nhà hàng có các món ăn nổi tiếng nào ? . . .sẽ được đưa ra để người dùng có thể lựa chọn nhà hàng thích hợp nhất.

Nhờ vào khả năng suy diễn của semantic web, máy tính có thể xác định các thông tin về ngữ cảnh nào là thích hợp nhất trong từng trường hợp. Ví dụ, khi người dùng đi khám bệnh, các thông tin về sức khỏe, tiền sử bệnh, . . . là cần thiết, còn nếu họ đi làm thì các thông tin về trình độ chuyên môn, khinh nghiệm làm việc lại là những thông tin được quan tâm.

Với khả năng có thể thêm vào các luật suy diễn, semantic web cho phép mô hình hóa ngữ cảnh ở mức cao hơn dựa trên những thông tin ngữ cảnh đã có; từ đó, cung cấp dịch vụ phù hợp với ngữ cảnh nhất đến cho người dùng. Ví dụ, người dùng có sở thích về đá bóng. Khi người dùng đi qua sân vận động Bách Khoa và hiện trong sân đang có trận đấu bóng. Các thông tin về ngữ cảnh trên được kết hợp lại để đưa ra dịch vụ cho người dùng : thông báo cho người dùng biết sự kiện đó.

            Hình 13: Mô hình hóa ngữ cảnh mức cao hơn

Việc sử dụng Semantic web giúp cho việc chia sẻ các thông tin ngữ cảnh được thuận lợi hơn. Ví dụ, khi người dùng đi khám bệnh ở một bệnh viện,  dựa trên thông tin trước đó họ đã khám ở bệnh viện nào; các bệnh viện có thể chia sẻ các thông tin bệnh lý của người đó để phục vụ quá trình khám bệnh.

Và lợi ích cuối cùng mà semantic web đem lại đó là sự bảo về các thông tin riêng tư, cá nhân của người dùng. Việc bảo vệ này được thực hiện thông qua các luật của riêng người dùng, như: chỉ có bác sỹ điều trị mới được biết bệnh án của mình.

Nhờ việc sử dụng semantic web, những khó khăn trong việc xây dựng hệ thống thích nghi ngữ cảnh như:việc mô hình hóa ngữ cảnh, khả năng suy diễn và chia sẽ các thông tin ngữ cảnh đã được giải quyết. Semantic web mô hình hóa ngữ cảnh một cách đầy đủ nhưng lại sử dụng các thông tin ngữ cảnh đó phù hợp cho từng trường hợp. Khă năng suy diễn, chia sẽ các thông tin ngữ cảnh của semantic web giúp cho việc cung cấp dịch vụ cho người dùng theo đúng những gì mà họ mong đợi.

3.2  Một số mô hình ứng dụng Semantic web vào UbiComp

3.2.1 Semantic Web được ứng dụng trong việc xây dựng hệ thống UbiComp trong phạm vi môi trường hẹp

·        Đây là hướng tiếp cận hiện nay được sử dụng rộng rãi nhất trong việc ứng dụng Semantic web vào UbiComp. Theo hướng tiếp cận này, Semantic web như là trung tâm của hệ thống, nó được sử dụng để mô hình hóa các thực thể trong hệ thống và cung cấp một cơ chế suy diễn để đưa ra quyết định, lựa chọn các dịch vụ.

·        Ta xét một mô hình ứng dụng Semantic Web vào UbiComp trong phạm vi một Không gian. Nó được gọi là Smart Room

 

            Hình 14: Smart Room -  một mô hình ứng dụng Semantic Web vào UbiComp.

 

·        Trong hệ thống này, các thành phần hardware( sensor) và các thành phần middleware sẽ đăng ký thông tin của chúng với một cơ sở tri thức ontology. Dựa trên các thông tin này, các thành phần khác có thể truy vấn với cơ sở tri thức ontology để tương tác được với các thành phần đó. Chính hệ thống quản lý tri thức ontology này đã cho phép các thành phần, thiết bị có thể được tích hợp vào môi trường UbiComp.

·        Các thành phần phát triển hệ thống Smart House bao gồm:

Ø   Đầu tiên là những người cung cấp và cài đặt các thành phần phàn cứng. Họ chịu trách nhiệm cung cấp, cài đặt, cấu hình các thành phần phần cứng có trong hệ thống; như các sensor, các actuator. .  .Các thông tin về các thành phần này bao gồm các thuộc tính của các thiết bị cũng như các hàm API để có thể truy cập, điều khiển các thiết bị đó .

Ø  Tiếp theo là các nhà cung cấp và phát triển các thành phần perceptual : cung cấp, cài đặt và cấu hình các thành phần Perceptual. Các thành phần này sẽ bước đầu xử lý các thông tin mà các sensor nhận được từ đầu vào để thu được những thông tin ngữ cảnh ban đầu.

Ø  Phát triển và mô hình hóa ngữ cảnh: xây dựng, mô hình hóa ngữ cảnh ở mức cao hơn, đầy đủ hơn dựa trên những thông tin ban đầu về ngữ cảnh. Mô hình ngữ cảnh này sẽ được lưu trữ vào cơ sở tri thức ontology

Ø  Phát triển và cung cấp dịch vụ: xây dựng các dịch vụ của hệ thống UbiComp dựa trên các mô hình ngữ cảnh, các perceptual và các thành phần hardware. Tât cả các dịch vụ được xây dựng sẽ đều được đưa vào cơ sở tri thức ontology và sẽ tự đông được kích hoạt hoạt động.

Ø  Thành phần cơ bản, quan trọng nhất trong mô hình trên đó là cơ sở tri thưc Ontology cũng như các luật suy diễn trên nó. Các thành phần của cơ sở tri thức ontology gồm có:

§  Thành phần dùng để mô tả các khái niệm về các thực thể có thể nhận biết được trong hệ thống UbiComp cũng như vai trò của chúng trong hệ thống.

§  Một phần ontology dùng để mô tả các thành phần perceptual, mô tả các thông tin mà các thành phần perceptual có thể nhận và gửi. Nó mô tả các thành phần perceptual dựa trên chức năng, các giao diện đầu vào và dữ liệu trả ra mà không quan tâm tới cấu trúc của các thành phần đó như thế nào.

§  Để có thể mô hình hóa ngữ cảnh, ontology mô hình các sự kiện theo thứ tự thời gian. Tuy không thể mô hình hóa một cách chính xác từng thời điểm nhưng ontology có thể dựa trên các khoảng thời gian để có thể biết được các sự kiện có giao nhau không, có bị chồng không, hay có bao gồm nhau không. Điều này được thực hiện bằng việc đưa thêm các luật suy diễn vào cơ sở tri thức ontology.

·         Ontology cũng bao gồm các thông tin của các thành phần sensor gồm có địa chỉ mạng, trạng thái, giao diện ,. . .. Và URI (Uniform Resource Identifier) của các thành phần đó để có thể truy cập đến chúng.

·        Mô hình trên cho phép các thành phần perceptual, các thiết bị có thể tương tác với nhau bởi vì cơ sở tri thức ontology cho phép các thành phần đó có thể được mô hình hóa giống nhau miễn là chúng có cùng chức năng, cùng dữ liệu vào ra. Vi dụ như 2 camera của 2 hãng khác nhau sẽ được mô hình hóa chung là khái niệm Camera.

·        Do các thành phần software, hardware, middleware đều được đăng ký thông tin của chúng vào cơ sở tri thức ontology, những người phát triển hệ thống có thể hiểu được các đặc tính, cách truy nhập các thiết bị cũng như cách phối hợp hoạt động giữa các thành phần đó. Từ các thông tin đó, ta có thể mô hình hóa trước môt loạt các ngữ cảnh của hệ thống (chính là ta xây dựng trước các trường hợp sử dụng có thể có). Các thông tin ngữ cảnh này sẽ được lưu vào cơ sở tri thức ontology và làm cơ sơ cho việc  xây dựng, phát triển các dịch vụ logic theo các ngữ cảnh sử dụng.

3.2.2 Sử dụng Semantic web để liên kết các hệ thống UbiComp với nhau – IGPF (Integrated Global Pervasive Computing Framework)

IGPF là một Framework được đưa ra bởi Sachin Singh, Sushil Puradkar và YunYung Lee tại trường đại học công nghệ Missouri-Kansas City, năm 2005. Ý tưởng của dự án này là cung cấp một Framework để kết nối các môi trường UbiComp với nhau, hình thành lên một môi trường đồng nhất như internet.

 

Con người hoạt động trong rất nhiều môi trường khác nhau và đóng vai trò khác nhau trong các môi trường đó. Mỗi môi trường là một hệ thống UbiComp độc lập với nhau, thuộc về các lĩnh vực, tổ chức khác nhau. Khi người dùng chuyển từ môi trường này đến môi trường khác, làm thế nào để các hệ thống tự động nhận ra vai trò tương ứng của người dùng? và các hệ thống có khả năng chia sẻ các thông tin với nhau.

Hình 15: Vai trò của người dùng trong các môi trường khác nhau là khác nhau

Sachin Singh  đã đưa ra giải pháp: sử dụng Semantic Web để xây dựng một mô hình ngữ cảnh động cho phép chia sẽ thông tin ngữ cảnh khi người dùng chuyển từ môi trường này đến môi trường khác.

Để thực hiện điều đó, ta chia thế giới thành các miền tự trị (AS – Autonomous System).

 

 

Hình 16: Mô hình kết nối các hệ thống UbiComp lại với nhau

Mỗi AS là 1 hệ thống UbiComp và mỗi AS được quản lý bởi AS head. Tại mỗi miền AS đều sử dụng Semantic Web vào việc phát triển hệ thống UbiComp; do đó cho phép các AS có thể tương tác với nhau để chia sẻ các thông tin về ngữ cảnh, người dùng…

 

Trong một AS, các thực thể trừu tượng hay hữu hình đều được khái niệm hóa và được cung cấp một định danh URI. Việc nhận diện, kết nối giữa các thành phần đều thông qua URI. Mỗi một AS cũng có URI riêng của chúng. Đối với người dùng, mỗi người dùng trong một miền AS sẽ có một Profile thể hiện các thông tin riêng về họ: như thông tin liên lạc, tài chính, sở thích . . . và mỗi user profile được đánh dấu bằng một URI.

 

Trong toàn bộ hệ thống liên kết các UbiComp với nhau, mỗi user có thêm một định danh nữa: Ubiquitous User Identity (UUI) chung cho tất cả các AS.

 

Khi người dùng đến gần một AS, hệ thống sẽ dựa trên các thiết bị cá nhân của người dùng như PDA hay điện thoại di động để có thể nhận biết được người dùng đó thông qua UUI. Từ đó, hệ thống sẽ lấy user profile tương ứng của người dùng đó. User profile này không chỉ là user profile trong miền AS mà người dùng đang ở đó mà nhờ Semantic web, các miền AS có thể chia sẻ các thông tin về người dùng cho nhau. Ví dụ như, người dùng đến khám bệnh ở một bệnh viện, hê thống cần tìm các thông tin về tiền sử bệnh của người đó. Nếu trong profile của người đó có ghi:  trước đó, người đó có từng khám bệnh ở bệnh viện khác thì hệ thống sẽ kết nối tới bệnh viện đó để có thể lấy các thông tin về tiền sử bệnh. Như vậy, nhờ có Semantic Web mà các hệ thống UbiComp có thể chia sẻ thông tin cho nhau để có thể xây dựng nên một mô hình ngữ cảnh phù hợp và từ đó cung cấp các dịch vụ thích hợp cho người dùng.

 

 

 

 

Kiến trúc của IGPF

Hình 17: kiến trúc của IGPF

IGPF bao gồm các thành phần chính sau::

 

Event Manager:  Quản lý các sự  kiện kết nối giữ các thành phần của framework.

Mỗi thành phần kết nối với các thành phần khác bằng việc phát và lắng nghe sự kiện thông qua Event Manager. Event Manager đảm bảo mọi dich vụ dành cho một sự kiện đều được thực hiện khi sự kiện đó được kích hoạt

 

KBHandler: Duy trì cơ sở tri thức của hệ thống. Nó duy trì mô hình ngữ cảnh hiện tại của hệ thống. Ngữ cảnh này được tạo ra thông qua việc lắng nghe các sự kiện và chuyển chúng thành các suy diễn tri thức, sau đó các suy diễn này sẽ được thêm vào hay loại bỏ khỏi Cơ sở tri thức của hệ thống.

 

Resource Manager:  Quản lý tài nguyên và việc phân phát tài nguyên có trong môi trường. Mỗi tài nguyên có một khả năng phục vụ, dùng để mô tả khi nào thì tài nguyên đó là sẵn dùng. Khi 1 yêu cầu đến tài nguyên, hệ thống sẽ tìm kiếm kả năng sẵn có của tài nguyên và phân phát tài nguyên. Tài nguyên được phân phát cho người theo vài trò của họ.

 

Profile Manager:  chịu trách nhiệm nhận các thông tin về người dùng, bao gồm các thông tin từ user profile và các thông tin được chia sẻ qua Semantic Web.

User Interface (UI) Manager:  đưa ra cách giao tiếp phù hợp với người dùng. Các giao diện tương tác với người dùng được tạo ra tùy thuộc vào vai trò của người dùng cũng như thiết bị kết nối với người dùng. Ví dụ như, người dùng sử đụng thiết bị PDA sẽ có giao diện tương tác khác so với điện thoại di động.

 

Domain Services:  cung cấp các chức năng thuộc miền lĩnh vực. Đây chính là các dịch vụ Business của miền lĩnh vực đó mà người dùng cần.

Unified Information Base: kết hợp các thông tin từ các thành phần dữ liệu trong môi trường đê mô hình hóa mức cáo hơn các thông tin đó.

Kết chương:

Trong chương 3, tôi đã trình bày một hướng tiếp cận để xây dựng các hệ thống UbiComp, đó là sử dụng Semantic web. Và tôi cũng đã trình bày một số mô hình sử dụng Semantic web trong các hệ thống thích nghi ngữ cảnh. Chính những mô hình này đã làm nền tảng để tôi xây dựng nên hệ thống BK-Event, một hệ thống cung cấp tin tức, sự kiện có quan tâm đến ngữ cảnh người dùng. Trong các phần tiếp theo, tôi sẽ trình bày chi tiết về quá trình phân tích, thiết kế và cài đặt hệ thống BK-Event nay.


CHƯƠNG 4: PHÂN TÍCH HỆ THỐNG BK-EVENT

 

Trong chương trước, tôi đã  trình bày về hướng tiếp cận Semantic web vào các hệ thống UbiComp nói chung và các hệ thống thích nghi ngữ cảnh nói riêng. Hiện nay, các hệ thống thích nghi ngữ cảnh có hai mô hình sau:

 

                        Hình 18: Mô hình hệ thống thích nghi ngữ cảnh

 

Mô hình thứ nhất là mô hình tính toán di động. Trong các hệ thống được xây dựng theo mô hình này, người dùng sử dụng các thiết bị di động mang theo bên mình để nhận các dịch vụ từ hệ thống (ví dụ như hệ thống hướng dẫn du lịch, .. . ). Thông tin ngữ cảnh của người dùng được thu nhận thông qua thiết bị di động đó và thường là thông tin về vị trí của người dùng.

 

Mô hình thứ hai là mô hình môi trường thông minh. Mô hình này thường được áp dụng để xây dựng các hệ thống trong một không gian hẹp mà tại đó, các thông tin ngữ cảnh của người dùng được thu nhận bằng việc sử dụng các sensor.

Hệ thống BK-Event được xây dựng theo mô hình thứ nhất bởi vì hiện nay các thiết bị di động ở nước ta đang phát triển rất mạnh, hơn nữa xây dựng hệ thống theo mô hình thứ hai thì việc tìm kiếm các thiết bị phần cứng, các sensor gặp nhiều khó khăn.

Hệ thống BK-Event được xây dựng để cung cấp tin tức cho người dùng thông qua các thiết bị di động. Hệ thống có sử dụng thông tin về ngữ cảnh người dùng : vị trí, sở thích . . . để đưa ra thông tin phù hợp nhất với người dùng. Trong chương này chúng tôi sẽ trình bày tổng quan về hệ thống BK-Event, phân tích các yêu cầu để xây dựng một hệ thống mobile computing có thích nghi ngữ cảnh. Cuối cùng, tối sẽ trình bày về các yêu cầu về chức năng của hệ thống BK-Event.

4.1    Tổng quan về hệ thống BK-Event

4.1.1   Mục đích của hệ thống

 

Hiện nay, các tin tức của trường Đại Học Bách Khoa Hà Nội đều được đưa lên trang web: www.hut.edu.vn . Các thông tin này bao gồm các sự kiện diễn ra tại trường, lịch công tác, các thông báo,. . .và người dùng có thể truy cập vào đó để nhận tin tức. Một số thông tin khác được chuyển phân cấp theo khoa, theo bộ môn để đến với các giảng viên và các cán bộ. Hệ thống cung cấp tin tức đó là rất đầy đủ, bao gồm việc phân loại tin tức theo các mục và rất tiện cho mọi người truy nhập. Tuy nhiên vấn đề đặt ra là không phải lúc nào chúng ta cũng mang theo máy tính, vì vậy có thể tin tức sẽ không đến được đúng lúc chúng ta cần. Ngược lại, điện thoại di động hiện nay đang được sử dụng rộng rãi, mỗi chúng ta gần như ai cũng sử dụng và ít khi tách rời khỏi chiếc điện thoại. Vậy ý tưởng đưa ra là xây dựng một hệ thống cung cấp tin tức có thể đáp ứng cả trên web và trên các thiết bị di động. Đây chính là ý tưởng để tôi xây dựng hệ thống BK-Event.   

 

Hình18: Tổng quan về hệ thống BK-Event

Hệ thống BK-Event được xây dựng để hỗ trợ các giáo viên, sinh viên, cán bộ trong trường Đại Học Bách Khoa Hà Nội nắm bắt được các tin tức, sự kiện, các lịch công tác và các kế hoạch của trường Đại Học Bách Khoa Hà Nội. Hệ thống này cho phép người dùng có thể sử dụng trên các thiết bị di động thông qua trình duyệt.

 

Việc xây dựng ứng dụng trên các thiết bị di động gặp nhiều hạn chế như: các thiết bị di động rất đa dạng và có khả năng hiển thị khác nhau, hạn chế về khích thước màn hình . . . ; do đó hệ thống được xây dựng theo mô hình thích nghi ngữ cảnh có sử dụng công nghệ Semantic Web và các thông tin về ngữ cảnh người dùng như: vị trí, sở thích, trạng thái của người dùng để suy diễn đưa ra các thông tin phù hợp nhất với mong muốn của từng người dùng.

4.1.2   Phạm vi của hệ thống

Hệ thống được xây dựng theo hướng Web Service, có sử dụng công nghệ Semantic Web. Hệ thống bao gồm một cơ sở tri thức ontology về các sự kiện diễn ra tại trường Đại Học Bách Khoa Hà Nội, một ontology về người sử dụng (user profile) . Dựa trên các cơ sở tri thức này và khả năng suy dẫn của Semantic Web mà hệ thống sẽ đưa ra các thông tin phù hợp với ngữ cảnh người dùng. Đối tượng của hệ thống đó là các giảng viên, cán bộ, các sinh viên của trường Đại Học Bách Khoa Hà Nội.

Tuy nhiên, hệ thống cũng được thiết kế để có thể áp dụng và mở rộng cho các công ty, các tổ chức khác. Đối với các tổ chức khác, hệ thống sẽ giúp cho việc thông báo tin tức đến cho các nhân viên, quản lý người dùng thông qua user profile. Hệ thống cũng có khả năng mở rộng tính thích nghi ngữ cảnh để áp dụng trong phạm vi rộng hơn như: hướng dẫn du lịch trong viện bảo tàng,…

Tiếp cận Semantic Web phát triển ứng dụng Ubiquitous thích nghi ngữ cảnh và người dùng – Hệ thống BK-Event

phiếu giao nhiệm vụ đồ án tốt nghiệp 1. mục đích nội dung của đatn tiếp cận semantic web phát triển ứng dụng ubiquitous thích nghi ngữ cảnh và người dùng 2. các

+ Xem thêm
Download

Tài liệu có tính phí

thêm vào bộ sưu tập

Lượt xem:1194|Tải về:7|Số trang:0

Thông tin tài liệu

Trường:Đại Học Bách Khoa Hà Nội

Ngày tạo:

Tag: mô hình ngữ cảnh, ngữ cảnh người dùng, nội dung hiển thị, phương thức tương tác, khái niệm ngữ cảnh, sự kiện phù hợp, thích nghi ngữ cảnh, mô hình phân cấp ngữ cảnh, trạng thái ngữ cảnh, sự kiện phù hợp nhất,