1.1.1 Đặc điểm Các môi trường tính toán hiện thời được đặc trưng bởi tính di động của người dùng và sự không đồng nhất của các thiết bị tính toán và mạng, ngữ cảnh của các ứng dụng có t
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN THỊ NHƯ
NGHIÊN CỨU PHÁT TRIỂN ỨNG DỤNG NHẬN BIẾT NGỮ CẢNH TRONG MÔI TRƯỜNG TÍNH TOÁN NHÂN RỘNG
Ngành: Công nghệ thông tin
Trang 2MỤC LỤC
Trang phụ bìa 1
Lời cam đoan 1
MỤC LỤC 3
Danh mục các ký hiệu, các chữ viết tắt 6
Danh mục bảng 7
Danh mục hình vẽ 8
MỞ ĐẦU 9
Chương 1: Tổng quan 9
1.1 Môi trường tính toán nhân rộng 9
1.1.1 Đặc điểm 9
1.1.2 Cơ hội và thách thức 10
1.1.2.1 Cơ hội 10
1.1.2.2 Thách thức 11
1.2 Ngữ cảnh 12
1.2.1 Các định nghĩa về ngữ cảnh 13
1.2.2 Các đặc trưng của thông tin ngữ cảnh 16
1.2.3 Phân loại các hạng mục ngữ cảnh 18
1.2.4 Mô hình làm việc cho ngữ cảnh 20
1.3 Nhận biết ngữ cảnh 21
1.3.1 Xu thế nhận biết ngữ cảnh và lợi ích trong tính toán nhân rộng 21
1.3.2 Nhận biết ngữ cảnh là gì? 22
1.3.3 Tính toán nhận biết ngữ cảnh 23
Chương 2 Biểu diễn và mô hình hóa ngữ cảnh 25
2.1 Các yêu cầu của mô hình thông tin ngữ cảnh 25
2.1.1 Tính không đồng nhất và di động (Heterogeneity and mobility) 26
2.1.2 Các mối quan hệ và sự phụ thuộc (Relationships and dependencies) 26
2.1.3 Thời điểm (Timeliness) 26
2.1.4 Không hoàn hảo (Imperfection) 26
2.1.5 Lập luận (reasoning) 27
2.1.6 Tính sử dụng được của các hình thức mô hình hóa (Usability of modelling formalisms) 27
2.1.7 Dữ liệu ngữ cảnh hiệu quả (Efficient context provisioning) 27
2.2 Các cách tiếp cận mô hình hóa ngữ cảnh 28
2.2.1 Các mô hình Giá trị - thuộc tính và Lược đồ đánh dấu (Markup-Scheme) 28
Trang 32.2.2 Các mô hình thông tin ngữ cảnh dựa vai trò các đối tượng
(Object-role Context Modelling) 28
2.2.2.1 Tổng quan CML 29
2.2.2.2 Hỗ trợ lập luận 30
2.2.2.3 Đánh giá 31
2.2.3 Các mô hình không gian của thông tin ngữ cảnh 32
2.2.3.1 Mô hình thông tin ngữ cảnh 32
2.2.3.2 Hỗ trợ lập luận 34
2.2.3.3Đánh giá 34
2.2.4 Các mô hình thông tin ngữ cảnh dựa bản thể học (Ontology-based Context Modelling) 35
2.2.4.1 Mô hình thông tin ngữ cảnh 35
2.2.4.2 Hỗ trợ lập luận 37
2.2.4.3 Đánh giá 38
2.2.5 Các mô hình ngữ cảnh lai 38
2.2.5.1 Tại sao các mô hình lai là cần thiết 38
2.2.5.2 Hai cách tiếp cận theo hướng lai 40
2.2.5.2.1 Mô hình lai dựa sự kiện/ontology 40
2.2.5.2.2 Mô hình kết hợp lỏng lẻo giữa markup-based/ontological 40
2.2.5.2.3 Hướng tới một mô hình lai phân cấp 41
Chương 3 Ứng dụng nhận biết ngữ cảnh và chương trình minh họa 44
3.1 Kiến trúc và phong cách kiến trúc hệ thống 44
3.1.1 Một số kiến trúc 45
3.1.2 Tiêu chí đánh giá kiến trúc theo mức phát triển của ứng dụng nhận biết ngữ cảnh 47
3.2 Các thành phần trong hệ thống 48
3.2.1 Context supplier 49
3.2.2 Context comsumer (bộ tiêu dùng ngữ cảnh) 49
3.2.3 Context Abstractor (bộ trừu tượng ngữ cảnh) 49
3.3 Các công việc cần thiết cho tính toán nhận biết ngữ cảnh 50
3.3.1 Các cơ chế thu hồi và cảm ngữ cảnh 50
3.4 Ứng dụng minh họa 52
Xây dựng tiện ích tìm kiếm quán cà phê theo ngữ cảnh tích hợp trên Smartphone Android: “Coffee Context Search” 52
3.4.1 Giới thiệu về hệ điều hành Android 52
3.4.1.1 Android là gì? 52
3.4.1.2 Kiến trúc Android 53
Trang 43.4.1.3 Công cụ phát triển phần mềm Android (Android SDK) 54
3.4.1 Xác định kịch bản và ngữ cảnh sử dụng trong hệ thống 56
3.4.2.1 Kịch bản sử dụng 56
3.4.2.2 Xác định ngữ cảnh và mô hình hóa 56
3.4.3 Mô hình kiến trúc hệ thống 57
3.4.4 Cài đặt ứng dụng 58
3.4.4.1 Xây dựng các modul 59
3.4.2.2 Modul Tìm kiếm 60
3.4.2.3 Modul Kết quả 60
Kết luận và hướng phát triển 62
Tài liệu tham khảo 64
Trang 5Danh mục các ký hiệu, các chữ viết tắt
Trang 6Danh mục bảng
Bảng 1 Các thuộc tính đặc trưng của ngữ cảnh 18
Bảng 2 Phân loại các chiều của ngữ cảnh 19
Bảng 3 Các giá trị của sự kiện “located at” 31
Bảng 4.Tổng kết các kiến trúc 47
Trang 7Danh mục hình vẽ
Hình 1.1 Mô hình ngữ cảnh 16
Hinh 1.2 Kiến trúc quản lý ngữ cảnh mức cao 16
Hình 1.3 Tổng quan các hạng mục ngữ cảnh 20
Hình 1.4 Không gian đặc tính ngữ cảnh 21
Hình 2.1 Vị trí của mô hình ngữ cảnh trong hệ thống nhận biết ngữ cảnh 25
Hình 2.2 Một ví dụ về mô hình biểu diễn ngữ cảnh với CML 30
Hình 2.3 Framework đa lớp 42
Hình 3.1 Các thành phần hệ thống nhận biết ngữ cảnh 49
Hình 3.2 Thu hồi ngữ cảnh 50
Hình 3.3 Phát hiện ngữ cảnh 51
Hình 3.4 Cấu trúc diễn giải ngữ cảnh 52
Hình 3.5 Kiến trúc Android 53
Hình 3.6 Mô hình hóa ngữ cảnh hệ thống 57
Hình 3.7 Mô hình kiến trúc hệ thống 58
HÌnh 3.8 Giao diện giả lập Android 59
Hình 3.9 Giao diện nhập thông tin quán cà phê 60
Hình 3.10 Giao diện tìm kiếm 60
Hình 3.11 Giao diện hiển thị kết quả tìm kiếm 61
Trang 8MỞ ĐẦU Chương 1: Tổng quan
1.1 Môi trường tính toán nhân rộng
Máy tính đã được nâng tầm vượt xa máy tính để bàn và phát triển thành nhiều thành phần của cuộc sống hàng ngày Và với sự biến đổi không ngừng của công nghệ, các thiết bị nhỏ gọn, di động xâm nhập trong hầu hết các lĩnh vực của đời sống Do đói môi trường tính toán mọi nơi/nhân rộng được hiểu chung
là các môi trường với ngữ cảnh luôn biến động làm thay đổi hành vi và cách hành xử của con người và hệ thống trong môi trường đó Tính toán mọi nơi là một kiểu tính toán trong ngữ cảnh: nó xảy ra trong các tình huống của thế giới thực Cho đến nay hầu hết các nghiên cứu mà đặc biệt là trong lĩnh vực tính toán
di động chủ yếu tập trung giúp cho việc sử dụng của các thiết bị máy tính là trong suốt, độc lập với môi trường Nỗ lực nghiên cứu là khai thác ngữ cảnh Trong đó các nghiên cứu báo cáo đang kiểm nghiệm các vấn đề: ngữ cảnh được thu thập, phân tán và sử dụng như thế nào, nó thay đổi tương tác người máy trong môi trường tính toán nhân rộng ra sao Các công nghệ cảm nhận cụ thể như các cảm biến vật lý mức thấp và các kỹ thuật nhận thức được đánh giá và giá trị của chúng cung cấp ngữ cảnh trong các hệ thống tính toán mọi nơi được phân tích
Các thiết bị ngày nay thường được sử dụng trong các môi trường luôn nhiều biến đổi và chúng thích ứng vẫn chưa được tốt lắm theo những thay đổi này Một giả thiết rằng một số các nhà nghiên cứu tính toán mọi nơi để giúp các thiết bị và các ứng dụng thích ứng một cách tự động với sự thay đổi của môi trường vật lý xung quanh chúng và các môi trường điện từ dẫn tới việc nâng cao kinh nghiệm của người dùng
Thông tin trong các môi trường vật lý và điện tử tạo ra ngữ cảnh cho tương tác giữa con người và các dịch vụ tính toán Như vậy ngữ cảnh là các thông tin đặc trưng cho một tình huống có liên quan tới tương tác giữa người dùng, ứng dụng và môi trường xung quanh Hoạt động nghiên cứu đang phát triển với tính toán nhân rộng sẽ giải quyết các thách thức của tính toán nhận biết ngữ cảnh Việc hiểu và điều khiển ngữ cảnh và xử lý nó như một đầu vào rõ ràng ảnh hướng lớn đến hành vi của một ứng dụng
1.1.1 Đặc điểm
Các môi trường tính toán hiện thời được đặc trưng bởi tính di động của người dùng và sự không đồng nhất của các thiết bị tính toán và mạng, ngữ cảnh của các ứng dụng có thể thay đổi (kiểu mạng, chất lượng dịch vụ, sở thích người dùng, lượng pin của thiết bị tính toán) Do vậy, chúng cần hiểu ngữ cảnh và có
Trang 9thể điều chỉnh hành vi theo các thay đổi của ngữ cảnh Để giải quyết các thách thức đang ngày càng tăng của việc xây dựng các ứng dụng cảm ngữ cảnh có tính linh động
Có rất nhiều nỗ lực nghiên cứu cụ thể để ứng dụng các công nghệ tính toán nhân rộng ở thế giới thực Thực tế, khía cạnh quan trọng nhất trong môi trường tính toán nhân rộng không phải là công nghệ của chính nó nhưng cách nó được sử dụng và thông qua thế giới thực như nào mới là đáng nói
Các ứng dụng thông tin di động được sử dụng ngày càng nhiều với các tình huống và vị trí khác nhau tạo nên các yêu cầu mới với các phương thức tương tác của chúng Khi tình huống, vị trí, hành động của người dùng thay đổi, chức năng của các thiết bị nên thích ứng với những thay đổi này
Đặc điểm chính của các thiết bị trong các hệ thống tính toán nhân rộng là
sự nhận biết ngữ cảnh của chúng để cho phép chúng cung cấp các dịch vụ thích ứng một cách chủ động tới người dùng và tới các ứng dụng theo ngữ cảnh toàn cục
1.1.2 Cơ hội và thách thức
1.1.2.1 Cơ hội
Hầu hết chúng ta vẫn quen gắn thuật ngữ máy tính với một chiếc máy tính
để bản và màn hình sử dụng của nó Tuy nhiên trong cuộc sống ngày nay rất nhiều người sử dụng các công cụ tính toán hay ít nhất là các kỹ thuật tính toán như các bộ xử lý và các bộ điều khiển rất nhỏ bé mà không hề liên quan gì đến máy tính Các thiết bị như điện thoại di động, thiết bị nghe nhạc MP3, Tivi và máy giặt…đều sử dụng các công nghệ tính toán và xử lý Nhưng đại đa số mọi người vẫn coi chiếc Tivi của họ chỉ là một chiếc tivi đơn thuần mà không có liên quan gì tới máy tính mà thực chất nó cũng chính là một chiếc máy tính chỉ có điều giao diện sử dụng thì hoàn toàn khác [2] Tương tác trong thế giới thực được đúc rút từ rất lâu và tri thức về cách hành xử với môi trường xảy ra hang ngày trong cuộc sống đời thường Tri thức này cho phép hành xử một cách thông minh, ví dụ như khả năng dự đoán các phản xạ với một số hành động…Trong môi trường tính toán mọi nơi/nhân rộng, thế giới thực trở thành một phần của máy tính và của giao diện người dùng, sự mong chờ của người dùng với hệ thống cũng được mở rộng dựa trên kinh nghiệm về các tương tác trong thế giới thực Tuy nhiên, người thiết kế vẫn thoải mái khi tạo các xử lý tương tác trong hệ thống Nhận biết ngữ cảnh trở thành một kỹ thuật hữu ích cơ bản đối với tính toán mọi nơi/nhân rộng và là yếu tố chính khi tạo các thiết bị tính toán ẩn giấu và biến mất theo nghĩa là với người dùng Thuật ngữ “nhận
Trang 10biết ngữ cảnh” không chỉ là cung cấp thông tin ngữ cảnh mà nó đòi hỏi phải hiểu ngữ cảnh và hiểu một cách thống nhất về một tình huống nào đó
1.1.2.2 Thách thức
Tính toán nhân rộng đem lại những thách thức thiết kế mới đòi hỏi sự phát triển nhanh chóng của kỹ nghệ phần mềm Nhận biết ngữ cảnh thường cần một giải pháp với đáp ứng các thách thức như giúp cho các ứng dụng đảm bảo tính linh hoạt và tính tự trị Các ứng dụng nhận biết ngữ cảnh thường khai thác các thông tin về ngữ cảnh như: vị trí, nhiệm vụ và sở thích của người dụng để thích ứng với hành vi trong khả năng thay đổi môi trường thực thi và các yêu cầu người dùng Thông tin này được tích hợp từ các cảm biến hoặc từ người dùng Rõ ràng, các ứng dụng nhận biết ngữ cảnh phải được phát triển với một một sự thấu hiểu về các vấn đề nội tại khi tích hợp thông tin ngữ cảnh
Nếu ngữ cảnh chỉ đơn giản là vị trí thì việc có thể hiểu và nhận biết không lấy gì làm khó khăn cho các hệ thống Tuy nhiên, trong nhiều trường hợp việc nhận biết này còn dựa trên các thông tin khác vượt xa cả vị trí, và do đó sự phức tạp bắt đầu nảy sinh Các thách thức trong tính toán nhận biết ngữ cảnh:
- Phải hiểu khái niệm ngữ cảnh
Ngữ cảnh đó là gì và nó liên quan tới các tình huống trong thế giới thực như thế nào? Trong khi đó chúng ta vẫn chưa có một hiểu biết thật rõ ràng và cơ bản về thuật ngữ “các ngữ cảnh liên quan tới các tình huống như nào” và thông tin ngữ cảnh chung được sử dụng để hỗ trợ nâng cao các ứng dụng ra sao Vấn đề này cũng đi kèm câu hỏi biểu diễn ngữ cảnh theo một cách chung nhất như nào?
- Sử dụng ngữ cảnh như nào?
- Thu hồi ngữ cảnh như thế nào?
Thu hồi ngữ cảnh là yêu cầu đầu tiên cho bất kỳ hệ thống nhận biết ngữ cảnh nào Nhìn chung, việc lấy ngữ cảnh có thể xem như là quá trình xử lý trong đó tình huống thực trong thế giới được nắm bắt, các đặc tính hữu ích được xem xét đánh giá và một biểu diễn trừu tượng được tạo, sau đó nó được cung cấp tới các thành phần trong hệ thống với những mục đích sử dụng cao hơn Các cách tiếp cận thu hồi ngữ cảnh thì rất đa dạng như: lần vết vị trí, các hệ thống cảm biến và
cả các cách tiếp cận mang tính chất dự đoán như mô hình hóa người dùng và hành vi của họ…
- Kết nối ngữ cảnh thu được với ngữ cảnh sử dụng
Trong một hệ thống nhận biết vị trí, mối quan hệ giữa thu hồi ngữ cảnh và sử dụng ngữ cảnh là rất gần, hầu hết các cảm biến vị trí được nạp vào các thiết bị định vị Trong trường hợp này, biểu diễn ngữ cảnh cũng là giữa các thành phần Trong môi trường chung hơn, ngữ cảnh sử dụng và ngữ cảnh thu hồi được phân
Trang 11tán Ở đây, khó khăn thể hiện ở hai điểm: vượt quá khả năng phân tán bởi các thành phần mạng và tích hợp để biểu diễn với đa thành phần
- Hiểu tác động trên tương tác người máy
Khi các thệ thống nhận biết ngữ cảnh thì hành vi của chúng là độc lập với ngữ cảnh được dùng hoặc tình huống chung được dùng Mục tiêu chung là tạo cho các hệ thống theo cách có thể hành xử như được biết trước bởi người dùng Tuy nhiên trong đời sống thực, điều này gây nên các vấn đề phức tạp, cụ thể như nếu
hệ thống hành xử khác với mong đợi của người dùng Hai tiêu chí là “người
dùng có thể hiểu hệ thống và hành vi của nó như nào” và “người dùng điều khiển hệ thống như thế nào?”
- Hỗ trợ xây dựng các hệ thống nhận biết ngữ cảnh mọi nơi/nhân rộng
Nhận biết ngữ cảnh là một kỹ thuật hữu ích cho các hệ thống tính toán nhân rộng và do đó đây là yêu cầu chung khi hiện thực các hệ thống như vậy Để xây dựng các môi trường tính toán nhân rộng một cách hiệu quả thì chúng ta cần phải cung cấp hỗ trợ để xây dựng các ứng dụng nhận biết ngữ cảnh Đó là việc cung cấp các kỹ thuật thu hồi ngữ cảnh, cung cấp ngữ cảnh và sử dụng ngữ cảnh…
- Đánh giá hệ thống nhận biết ngữ cảnh
Vì các hệ thống nhận biết ngữ cảnh được sử dụng trong một ngữ cảnh nhất định nên việc đánh giá chính nó cũng đòi hỏi phải được thực hiện trong ngữ cảnh đó Trong trường hợp này, chức năng không chỉ sẵn có và hữu ích trong một ngữ cảnh chắc chắn mà nó còn được yêu cầu tạo hay mô phỏng một tình huống cụ thể với các kết quả trong ngữ cảnh mong muốn để đánh giá hệ thống Tuy nhiên, tình huống và ngữ cảnh cụ thể ấy cũng phải phù hợp và có hiệu quả để làm thước đo cho việc đánh giá
Một thách thức nữa trong môi trường tính toán nhân rộng là cung cấp cho người dùng các ứng dụng cảm ngữ cảnh phức tạp, hoạt động một cách tự động
từ các dịnh vụ kết nối mạng [2]
1.2 Ngữ cảnh
Như vậy việc hiểu rõ ngữ cảnh là gì và các đặc trưng của ngữ cảnh ra sao là rất quan trọng khi xây dựng và phát triển các hệ thống trong môi trường tính toán nhân rộng Việc hiểu rõ ngữ cảnh hay loại ngữ cảnh cần dùng giúp người phát triển có những phương pháp đặc tả và thiết kế phù hợp từ việc cảm nhận tới việc xử lý hành vi sao cho phù hợp với tính chất của các hệ thống trong môi trường hay thay đổi này Đó cũng là lý do mà ngay từ khi thuật ngữ “ngữ cảnh” này xuất hiện (1990), các nhà nghiên cứu đã bắt đầu đưa ra các định nghĩa về
Trang 12nó Qua thời gian phát triển của lĩnh vực nghiên cứu mới này, ngữ cảnh đã nhận được khá nhiều định nghĩa từ đơn giản tới được bổ sung một cách đầy đủ hơn
1.2.1 Các định nghĩa về ngữ cảnh
Theo từ điển của Webster (Noah Webster – Mỹ), ngữ cảnh là “toàn bộ tình huống, nền tảng hay môi trường có liên quan tới một vài sự kiện xảy ra hoặc cá nhân nào đó” Định nghĩa này thì rất là chung khi sử dụng trong tính toán nhận biết ngữ cảnh
Ngữ cảnh là một vấn đề chính trong tương tác giữa người và máy tính, miêu tả các nhân tố xung quanh với nghữ nghĩa biểu đạt [3] Trong lĩnh vực nghiên cứu tính toán di động, tham số vị trí thường được dùng nhất để chỉ ngữ cảnh và để cài đặt các ứng dụng nhận biết ngữ cảnh
Ngữ cảnh và nhận biết ngữ cảnh đã bắt đầu được nghiên cứu trong tính toán phân tán với sức mạnh của các thành phần tính toán di động từ những năm 90 Những nghiên cứu từ rất sớm này đã nhận biết vị trí của người dùng và sử dụng
vị trí như là trung tâm của các tính toán nhận biết ngữ cảnh
Theo Schilit[23], ngữ cảnh là vị trí, các định danh gần người và các đối tượng cùng những thay đổi của đối tượng (1994) Cũng trong một định nghĩa tương tự, Brown, Bovey và Chen xác định ngữ cảnh là vị trí, các định danh của những người xung quanh người dùng, thời gian trong ngày, mùa, nhiệt độ…(1997) Ryan, Pascoe và Morse xác định ngữ cảnh là vị trí của người dùng, môi trường, định danh và thời gian Dey đã liệt kê ngữ cảnh là trạng thái cảm xúc của người dùng, tập trung vào ý tưởng, vị trí, ngày giờ, các đối tượng và con người trong môi trường của người dùng (1998) Các định nghĩa này xác định ngữ cảnh bằng ví dụ nên rất khó khăn trong việc ứng dụng Khi xem xét tiềm năng của kiểu dữ liệu mới là thông tin ngữ cảnh thì việc khái niệm như thế nào không rõ ràng để chúng ta có thể quyết định liệu nên phân lớp thông tin này là ngữ cảnh hay không Ví dụ như với sở thích và các mối quan tâm của người dùng
Cũng theo các định nghĩa trên chúng ta có thể thấy rằng các khía cạnh quan trọng nhất của ngữ cảnh là: người dùng đang ở đâu, người dùng đang ở cùng ai và các tài nguyên gần đó Và ngữ cảnh này là cố định với những thay đổi của môi trường thực thi Môi trường ở đây gồm ba yếu tố
- Môi trường tính toán: bộ xử lý có sẵn, các thiết bị truy cập cho người dùng với đầu vào và hiển thị, khả năng mạng, các kết nối, chi phí tính toán
- Môi trường người dùng: vị trí, tập những người gần kề, tình huống xã hội
- Môi trường vật lý: ánh sáng, mức độ nhiễu, ồn…
Trang 13Dey, Abowd và Wood định nghĩa ngữ cảnh là trạng thí vật lý, xã hội, cảm xúc và thông tin của người dùng
Khái niệm về ngữ cảnh vẫn là một vấn đề cần bàn luận trong suốt những năm qua với nhiều định nghĩa khác nhau được đưa ra Chúng được chia thành định nghĩa mở và định nghĩa đóng
Các định nghĩa mở rộng trình bày về ngữ cảnh thông qua một danh sách
các chiều ngữ cảnh có thể có và các giá trị đi kèm của chúng Ngữ cảnh được biểu diễn bởi vị trí người dùng, các đối tượng xung quanh Brown [19] định nghĩa ngữ cảnh là vị trí, gần với người khác, nhiệt độ, thời gian…Trong [1], khái niệm ngữ cảnh được chia theo 3 hạng mục: ngữ cảnh tính toán (mạng, hiển thị,…), ngữ cảnh người dùng (đặc tả, gần người đó, tình huống xã hội,…) và ngữ cảnh vật lý (ánh sáng, tiếng ồn…) Chen [11] thêm 2 hạng mục: ngữ cảnh thời gian (ngày,tháng,…) và lịch sử
Các định nghĩa đóng biểu diễn ngữ cảnh theo cách thông thường định
nghĩa của Dey Theo Brazie và Brezillion, “ngữ cảnh hoạt động giống như tập các ràng buộc ảnh hướng đến hành vi của một hệ thống (một người dùng hay một máy tính) nhúng trong một nhiệm vụ nào đó”
Các định nghĩa mở dường như hữu ích trong các ứng dụng cụ thể hơn, vì
ở đó khái niệm ngữ cảnh được làm rõ Tuy nhiên, từ góc nhìn lý thuyết thì chúng không hoàn toàn chính xác vì ngữ cảnh không thể được vạch ra chỉ bởi vài khía cạnh Mặt khác các định nghĩa đóng thì được sử dụng ít trong thực tế nhưng nó lại thỏa mãn về mặt lý thuyết
Các ứng dụng nhận biết ngữ cảnh tìm kiếm ai, ở đâu, khi nào và làm gì
(tức là hành động nào đang xảy ra) của các thực thể và sử dụng thông tin này để xác định tại sao một tình huống đang xảy ra Một ứng dụng không xác định được thực sự tại sao một tình huống dang xảy ra nhưng người thiết kế ứng dụng thì có thể làm được điều đó Người thiết kế sử dụng các ngữ cảnh nắm bắt được
để xác định tại sao lại có tình huống đó và sử dụng điều này để lập trìnnh các hành động trong ứng dụng [2]
Và cho đến nay, với một lượng khá lớn các hệ thống được xây dựng trong môi trường tính toán nhân rộng, thì khái niệm ngữ cảnh của Dey vẫn được sử dụng nhiều nhất và có thể coi gần như là chuẩn
Dey [11] định nghĩa ngữ cảnh là “bất kỳ thông tin nào mà có thể sử dụng được để đặc tả một tình huống của một thực thể Một thực thể là một người, một nơi hay một đối tượng được xem là có liên quan đến tương tác giữa người dùng
và ứng dụng, bao gồm cả chính người dùng và ứng dụng đó” Đồng thời, ông cũng cung cấp định nghĩa sau: “Một hệ thống sử dụng ngữ cảnh để cung cấp các
Trang 14thông tin liên quan hoặc các dịch vụ cho người dùng trong đó mối liên quan phụ thuộc vào nhiệm vụ của người dùng” cho tính toán nhận biết ngữ cảnh
Albrecht Schmidt [3] xác định không gian ngữ cảnh C với định nghĩa là
sự kết hợp của các tham số ngữ cảnh, các phần tử ontology miền và các miêu tả dịch vụ C={U,P,L,T,D,I,S}
Trong đó: U là tập các nhân tố Người dùng & vai trò, P là Tác vụ & xử lý,
L là vị trí, T là thời gian, D là thiết bị, I là các đối tượng thông tin sẵn có, S là các dịch vụ sẵn có hoặc được miêu tả Một ngữ cảnh cụ thể là một điểm trong không gian ngữ cảnh
Không gian liên quan R có thể được định nghĩa là sản phẩn của không gian ngữ cảnh với các nhân tố liên quan
Hành động (hành xử, tác vụ)
Môi trường ( vật lý, xã hội)
Tự thích ứng (Trạng thái thiết bị, đặc điểm vật lý… )
Ngữ cảnh
Trang 15Hình 1.1 Mô hình ngữ cảnh Việc quản lý ngữ cảnh trong một hệ thống được thể hiện như trong hình 2.1 Trong đó mỗi thành phần có một chức năng nhiệm vụ liên quan tới ngữ cảnh riêng Các thành phần như Bộ triệu gọi ngữ cảnh, lập luận ngữ cảnh, quản
lý lịch sử ngữ cảnh và quản lý cơ sở dữ liệu của ngữ cảnh có mối quan hệ chặt chẽ với nhau Cụ thể, việc lập luận ngữ cảnh cần phải lấy thông tin từ cơ sở dữ liệu và lịch sử ngữ cảnh Bộ triệu gọi ngữ cảnh lấy thông tin từ cơ sở dữ liệu, bộ lập luận, lịch sử ngữ cảnh theo từng tình huống cụ thể của dịch vụ Bộ quản lý
cơ sở dữ liệu có chức năng lưu trữ mọi thay đổi của ngữ cảnh sau mỗi tác vụ Ngoài ra còn có bộ quản lý ngữ cảnh nguồn, có nhiệm vụ truy xuất thông tin từ các nguồn phát sinh và lưu trữ dưới hai hình thức: ngữ cảnh lịch sử và ngữ cảnh hiện thời
Hình 1.2 Kiến trúc quản lý ngữ cảnh mức cao
1.2.2 Các đặc trưng của thông tin ngữ cảnh
Trong phầ n này, theo Karen [16] thông tin ngữ cảnh có 4 đặc điểm được cho trong bảng 1 sau Theo đó, ta thấy đặc trưng ngữ cảnh phụ thuộc vào hai yếu
tố như: kiểu nhận biết ngữ cảnh, nguồn thu thập Điều đó ảnh hưởng tới giá trị thuộc tính của ngữ cảnh Ví dụ nến kiểu nhận biết ngữ cảnh là các Cảm biến thì khả năng tồn tại của thông tin ngữ cảnh là không cao, chất lượng thông tin có
Triệu gọi ngữ cảnh
Lập luận ngữ cảnh
Quản lý lịch
sử
Quản lý CSDL ngữ cảnh
Quản lý ngữ cảnh nguồn
Dữ liệu lịch sử ngữ cảnh
Cơ sở dữ liệu ngữ cảnh
Nguồn ngữ cảnh
Trang 16thể chưa tốt tại một thời điểm nhất đinh khi gặp các sự cố như: thiết bị có lỗi, mất mạng…
Trang 17Bảng 1.1 Các thuộc tính đặc trưng của ngữ cảnh
Nguyên nhân lỗi
Đặc tả
(profiled)
Do người dùng đặc tả trực tiếp hoặc gián tiếp qua chương trình
Đầu vào không đầy đủ, cơ chế nguồn… Ngoài ra khi nghiên cứu về các đặc trưng ngữ cảnh, còn một số vấn đề sau:
- Chưa xác định khi không có thông tin nào về vật chất là sẵn có
- Mơ hồ (tối nghĩa) khi có một số báo cáo khác nhau về vật chất ví dụ 2 vị trí cùng được đọc cho một người được lấy từ các thiết bị định vị riêng
- Ko chính xác: khi trạng thái được báo cáo không đúng với trạng thái đúng
ví dụ khi vị trí của 1 người được biết trong miền giới hạn, nhưng vị trí trong miền này không được chốt cho mức độ yêu cầu chuẩn xác
- Sai: khi có lỗi giữa trạng thái được báo cáo và trạng thái thực của vật chất Tính chưa xác định thường là do các vấn đề về kết nối và cảm biến và các lỗi khác Thông tin mơ hồ phát sinh khi giá trị của một vật chất có thể được lấy một cách độc lập từ nhiều nguồn Thông tin ngữ cảnh được lấy từ cảm biến là thường xuyên thay đổi và chấp nhận các vấn đề như tính không chính xác và staleness (cũ tính chưa cập nhật) Thông tin ngữ cảnh được cung cấp bởi người dùng thường chậm thay đổi, kiểu thông tin này được gọi là tĩnh (tức không bao giờ thay đổi nên độ chính xác cao) Kiểu thông tin ngữ cảnh profiled được lấy trực tiếp từ người dùng trong form về đặc tả thông tin của họ hoặc lấy gián tiếp qua ứng dụng của họ [16], ví dụ phần mềm lập lịch duy trì lịch sử hoạt động của người dùng Thông tin profiled thường cũ và không đầy đủ Cuối cùng, đặc điểm
về thông tin mong muốn thường đượ c xác định rộng bởi cá kiểu thông tin cơ bản
1.2.3 Phân loại các hạng mục ngữ cảnh
Schilit [7] xác định 3 loại ngữ cảnh:
- Ngữ cảnh thiết bị: là các thông tin ngữ cảnh liên quan đến thiết bị như khả năng xử lý của CPU, bộ nhớ, mạng…
Trang 18- Ngữ cảnh người dùng: gồm có thông tin người dùng, sở thích người dùng
và cả thông tin về các ứng dụng của người dùng
- Ngữ cảnh vật lý như vị trí, thời tiết, ánh sáng…
Tất cả những thông tin ngữ cảnh này đến từ nhiều đối tượng khác nhau trong môi trường xung quanh như các cảm biến, các ứng dụng và các thiết bị Và các đối tượng cung cấp ngữ cảnh này là không đồng nhất và được thể hiện trong một
mô hình chung cần được định nghĩa khá tốt để người dùng ứng dụng có thể hiểu Pash [22] phân loại ngữ cảnh thành 4 chiều là ngữ cảnh tĩnh người sử dụng, ngữ cảnh động của người dùng, kết nối mạng và ngữ cảnh môi trường Mỗi chiều ngữ cảnh được miêu tả bởi tham số ngữ cảnh tương ứng, ví dụ tham số ngữ cảnh tĩnh của người dùng là profile, các sở thích, mối quan tâm của anh ta…
Bảng 2 Phân loại các chiều của ngữ cảnh
động đầu cuối Đối với những ngữ cảnh này, có 3 loại hành động được thể hiện Bộ tích hợp ngữ thu thập dữ liệu ngữ cảnh thô từ các cảm biến để làm tăng dữ liệu Bộ phân tích ngữ cảnh chuyển dữ liệu thô từ cảm biến thành các ngữ cảnh mức cao
mà con người có thể hiểu Các ngữ cảnh mức cao được tạo từ dữ liệu khác với các nguồn dữ liệu ngữ cảnh theo các chiều khác nhau (vị trí, nhiệt độ…) Bộ diễn dịch thực hiện bằng việc sử dụng các luật
Câu hỏi cách tích hợp các phần tử ngữ cảnh, hay các tham số như thế nào trong một mô hình ứng dụng được tiếp cận theo 2 cách khác nhau Đầu tiên, có thể hiểu là cho phép định nghĩa tùy ý các tham số ngữ cảnh và kết hợp tùy ý với các phần tử của ontology miền Điều này sẽ cung cấp tính linh hoạt tối đa trong việc liên kết các tham số ngữ cảnh và các phần tử miền lĩnh vực, và đảm bảo mô hình có khả năng biểu diễn không giới hạn về mặt lý thuyết Cách tiếp cận thứ 2
là xác định một hạng mục các tham số ngữ cảnh, và yêu cầu các giá trị đặc tả liên quan tới miền lĩnh vực để gán cho mỗi lớp Điều này dường như là một hạn chế chính cho mô hình khái niệm, tuy nhiên việc sử dụng cụ thể chúng ta mặc
Trang 19định rằng việc nhóm các tham số là không thể tránh khỏi (xem hình 1.3), từ triển vọng mô hình hóa và việc sử dụng Vì chúng ta giả thiết rằng các biểu mẫu tương tác với người được yêu cầu để hoàn thành và điều chỉnh mô hình, việc nhóm các tham số là rất cần thiết để người dùng duy trì một cái nhìn tổng quan
về mô hình Mặc khác, chúng ta giả thiết rằng không phải tất cả các phần tử ngữ cảnh đều sẽ được liên kết với ontology miền Điều này có nghĩa sẽ có một khái niêm “hàng xóm” hoặc cụ thể hơn là khoảng cách giữa các phần tử ngữ cảnh; các phần tử chắc chắn sẽ liên quan tới một ngữ cảnh được cho, thậm chí chúng không được liên kết trực tiếp tới miền lĩnh vực Để đạt được một hàng xóm, một
số biểu mẫu các hạng mục được yêu cầu Hơn nữa Use& Role cung cấp một hạng mục về người dùng theo các nguyên tắc của họ như các kiểu khách hàng, hay các kiểu nhân viên khác nhau
Tác vụ và xử lý biểu diễn một ngữ cảnh chức năng như các đối tượng công việc cho nhân viên
Vị trí là một hạng mục của vị trí có liên quan đến ứng dụng, có thể là thành phố…
Thời gian thể hiện kiểu khác của thông tin thời gian có thể liên quan như vùng thời gian của client, thời gian thực, thời gian ảo…
Hình 1.3 Tổng quan các hạng mục ngữ cảnh
Hình 1.3 Tổng quan các hạng mục ngữ cảnh
1.2.4 Mô hình làm việc cho ngữ cảnh
Cấu trúc khái niệm theo[2] như sau:
- Một ngữ cảnh miêu tả một tình huống và môi trường mà một thiết bị hay người dùng ở trong đó
- Một ngữ cảnh được xác định bởi một tên duy nhất
- Mỗi ngữ cảnh có một tập các đặc tính liên quan
- Mỗi đặc tính liên quan có một miền giá trị xác định (rõ ràng hoặc không
Người dùng và vai trò
Trang 20Theo như cách xác định này, ngữ cảnh liên quan tới nhân tố con người và ngữ cảnh liên quan tới môi trường vật lý được phân biệt rõ ràng, và được phân theo từng hạng mục như hình 1.4 sau:
Hình 1.4 Không gian đặc tính ngữ cảnh Ngữ cảnh liên quan tới nhân tố con người được cấu trúc theo ba hạng mục: thông tin về người dùng (tri thức về hành vi thói quen, trạng thái cảm xúc, điều kiện tâm sinh lý…), môi trường xã hội của người dùng (cùng vị trí với những người nào khác, tương tác xã hội, nhóm tham gia,…) và các tác vụ của người dùng (hoạt động tự nguyện, nhiệm vụ thực thi, mục tiêu chung…) Cũng tương tự, ngữ cảnh liên quan tới môi trường vật lý được phân thành ba nhóm: vị trí (vị trí chắc chắn, vị trí liên quan, cùng vị trí…), cơ sở hạ tầng (các tài nguyên xung quanh dùng để thực hiện tính toán, sự giao tiếp …) và các điều kiện vật lý (nhiễu, ồn, ánh sáng, áp suất…)
1.3 Nhận biết ngữ cảnh
1.3.1 Xu thế nhận biết ngữ cảnh và lợi ích trong tính toán nhân rộng
Nhận biết ngữ cảnh đang nổi lên như một cách tiếp cận phổ biến cho việc xây dựng các ứng dụng trong môi trường tính toán mọi nơi và di động mà có khả năng thích ứng một cách tự trị với môi trường của chúng và làm giảm sự định hướng của người dùng Ví dụ chung nhất về các ứng dụng nhận biết ngữ cảnh gồm có các hướng dẫn du lịch mà đưa thông tin chi tiết theo vị trí, sở thích
và điện thoại di động để thích ứng với các hành vi tùy theo nơi mà người dùng đang đứng, người mà họ đứng cùng và điều mà mọ thích làm Hiện có một loạt các môi trường thông minh như: nhà, bệnh viện, phòng hợp
Nhận biết ngữ cảnh rất hữu ích cho môi trường tính toán với các thiết bị
di động Vì nó thích ứng theo thay đổi của môi trường và cải tiến giao diện
Trang 21người dùng Với các loại máy tính bàn, hầu hết các tham số trong môi trường ở trạng thái tĩnh, ngữ cảnh cố định Ngược lại, các thiết bị di động thì có đặc trưng
là sự thay đổi môi trường Do đó tương tác với các ứng dụng trên các thiết bị này thường xảy ra rất tự nhiên và nhanh chóng, các ứng dụng được dùng tới theo những tần suất rất khác nhau ở những nơi khác nhau; và các thiết bị di động có kết nối Internet thì đều trải qua nhiều tình huống: một mình trong văn phòng, cộng tác cùng đồng nghiệp, rời khỏi văn phòng, đi bộ trong công viên, xuống xe…
Nâng cấp tương tác giữa người và các thiết bị di động cũng là một động lực để phát triển các ứng dụng nhận biết ngữ cảnh Về cơ bản, thông tin ngữ cảnh có thể đạt được một cách rõ ràng qua sự nhận biết bởi các cảm biến và không rõ ràng từ phía người dùng Thông tin này được lọc theo từng luồng để ứng dụng sử dụng cho mục đích người dùng, đồng thời tránh được việc tràn thông tin hay thông tin bị quá tải Và với mỗi luồng mà ứng dụng cung cấp cho người dùng, thông tin ngữ cảnh có thể được thêm ngữ nghĩa bởi chính người dùng đó
Tính toán nhân rộng nhận được nhiều lợi ích từ việc nhận biết ngữ cảnh như:
- Giao diện đáp ứng người dùng: các kiểu tương tác và các chế độ hiển thị tùy thuộc rất nhiều vào môi trường xung quanh, nhận biết ngữ cảnh có thể thực thi các đáp ứng với các điều kiện môi trường này
- Liên lạc nhận biết ngữ cảnh: các liên lạc chung là bắt buộc cho các thiết bị di động và các kỹ thuật cần để lọc, cập nhật và phân phát các thông điệp và các dòng phù hợp với ngữ cảnh liên lạc rộng hơn
- Chủ động lập lịch ứng dụng: việc lựa chọn trước để nhận biết ngữ cảnh của ứng dụng sẽ hỗ trợ tương tác kiểu adhoc
Vị trí, định danh, thời gian và hành động là những kiểu ngữ cảnh quan trọng đặc trưng cho mộ tình huống của một thực thể cụ thể Các kiểu ngữ cảnh này trả lời cho câu hỏi ai, điều gì, khi nào và ở đâu Ví dụ, cho định danh của một người, chúng ta có thể biết được nhiều thông tin liên quan khác như số điện thoại, địa chỉ nhà, địa chỉ mail, ngày sinh, danh sách bạn bè, các mối quan hệ với những người khác…Với vị trí của thực thể, chúng ta có thể xác định được đối tượng hay người nào gần thực thể và hành động gì đang xảy ra gần thực thể
1.3.2 Nhận biết ngữ cảnh là gì?
Tính toán nhận biết ngữ cảnh lần đầu tiên được xem xét bởi Schilit và Theimer năm 1994 với phần mềm thích ứng theo vị trí sử dụng để sưu tầm những đối tượng và người gần đó đồng thời thay đổi các đối tượng này theo thời gian
Trang 22Định nghĩa các ứng dụng nhận biết ngữ cảnh đầu tiên được đưa ra cũng bởi Schilit và Theimer đã giới hạn lại khái niệm của các ứng dụng một cách đơn giản là các ứng dụng thích ứng theo ngữ cảnh Nhận biêt ngữ cảnh trở thành một khái niệm gì đó mà gần với thuật ngữ là: “thích ứng” (adapt) (Brown 1996),
“hành động lại” (“Cooperstock, Tanikoshi 1995”), “tương thích” (Elrod, Hall 1993), “theo tình huống” (Hull, Neaves 1997)
Tiếp đó, các định nghĩa dần trở nên rõ ràng và đặc tả hơn: thích ứng theo ngữ cảnh Dey đã xác định khái niệm mới theo cách ngữ cảnh được dùng và các đặc tính nhận biết ngữ cảnh khác nhau Theo ông, định nghĩa sự nhận biết ngữ
cảnh như sau: Một hệ thống là nhận biết ngữ cảnh nếu nó sử dụng ngữ cảnh để
cung cấp thông tin liên quan hay các dịch vụ tới người dùng, trong đó, mức độ liên quan tùy thuộc vào tác vụ của người dùng Và định nghĩa này được lựa
chọn là định nghĩa dùng chung cho tính toán nhận biết ngữ cảnh
Định nghĩa này cho chúng ta biết cách để xác định xem liệu một ứng dụng
có là nhận biết ngữ cảnh hay không Điều này rất hữu ích khi xác định kiểu ứng dụng mà chúng ta muốn hỗ trợ
Và theo Dey [5] nhận biết ngữ cảnh là một thuộc tính của một hệ thống có
sử dụng ngữ cảnh để cung cấp các thông tin hay dịch vụ liên quan tới người dùng, trong đó mức độ liên quan tùy thuộc vào nhiệm vụ của người dùng
1.3.3 Tính toán nhận biết ngữ cảnh
Tính toán nhận biết ngữ cảnh tức là nó giúp cho một ứng dụng chuyên về
di động hợp nhất tri thức về các chiều ngữ cảnh khác nhau như người dùng là ai, người dùng đang làm gì, người dùng ở đâu và thiết bị tính toán nào người dùng đang sử dụng [25]
Nhận biết ngữ cảnh đang ngày càng nhận được nhiều quan tâm như một hướng tiếp cận thiết kế mới phù hợp cho tính toán mọi nơi Các phần mềm nhận biết ngữ cảnh dựa trên đa dạng các kiểu thông tin ngữ cảnh để tạo các quyết định về cách thích ứng linh động đáp ứng các yêu cầu người dùng Các thông tin này được lấy từ một tập các nguồn gồm profiled người dùng, các ứng dụng và cảm biến Một vài kiểu thông tin ngữ cảnh được cảm nhận nội tại và phải được bảo vệ để đáp ứng yêu cầu riêng tư của người dụng
Thông tin vị trí là hay được dùng trong các ứng dụng cảm ngữ cảnh và các hệ thống xâm nhập mọi nơi Các ứng dụng và hệ thống này có thể yêu cầu thông tin về vị trí của người dùng, các thiết bị và các dịch vụ
Các hệ thống tính toán mọi nơi yêu cầu nhận biết ngữ cảnh để cung cấp
về cơ sở hạ tầng thống nhất và thích ứng các ứng dụng cảm ngữ cảnh cho người dùng di động Các thiết bị tính toán hiện thời cần rất nhiều biểu mẫu,
Trang 23Các hệ thống mọi nơi cần giải quyết tính di động của người dùng, các thiết bị của họ và các ứng dụng của họ, đồng thời người dùng có thể muốn thay đổi thiết bị tính toán của họ trong quá trình chạy các ứng dụng Một cơ sở hạ tầng tính toán mọi nơi nên cho phép người dùng gỡ bỏ các thao tác tính toán một cách dễ dàng từ môi trường tính toán này sang môi trường khác và nên cho phép chúng lấy các ưu điểm của các nguồn trong môi trường hiện thời của họ Chính
vì vậy các hệ thống mọi nơi phải nhận biết ngữ cảnh, ví dụ nhận biết trạng thái của môi trường tính toán và cũng như trạng thái hiện thời của ứng dụng tính toán
Trang 24Chương 2 Biểu diễn và mô hình hóa ngữ cảnh
2.1 Các yêu cầu của mô hình thông tin ngữ cảnh
Sự phát triển chính của việc nghiên cứu về các hệ thống nhận biết ngữ cảnh là để phát triển các ứng dụng tính toán nhận biết mọi nơi sao cho chúng có tính linh hoạt, thích ứng và có khả năng hành động một cách tự trị thay cho người dùng
Hình 2.1 Vị trí của mô hình ngữ cảnh trong hệ thống nhận biết ngữ cảnh Việc phát triển các ứng dụng này ngày càng thấy được lợi ích của các hình thức mô hình hóa ngữ cảnh Thứ nhất, vì tính phức tạp của các ứng dụng nhận biết ngữ cảnh, người phát triển cần được hỗ trợ các phương pháp kỹ nghệ phần mềm đầy đủ nhằm thực hiện mục tiêu tổng quát là phát triển các ứng dụng nhận biết ngữ cảnh Và việc thiết kế các chức năng chung của các ứng dụng không nên gắn với định nghĩa và các đánh giá thông tin ngữ cảnh vì những thứ thường hay thay đổi Một mô hình ngữ cảnh tốt là có thể làm giảm sự phức tạp của các ứng dụng nhận biết ngữ cảnh, có thể cải tiến theo sự phát triển và dễ bảo trì Thêm vào đó, do việc đánh giá và bảo trì thông tin ngữ cảnh là tương đối đắt,
vì vậy thông tin ngữ cảnh dùng chung và sử dụng lại giữa các ứng dụng nên được xem xét ngay từ khi bắt đầu
Từ đó cho thấy sự tồn tại của các mô hình thông tin ngữ cảnh được thiết
kế tốt giúp dễ dàng phát triển các ứng dụng trong tương lại Thêm vào đó, một biểu diễn hình thức của dữ liệu ngữ cảnh trong một mô hình rất cần thiết để kiểm thử tính nhất quán cũng như đảm bảo lập luận được thực hiện trên dữ liệu ngữ cảnh Do đó việc mô hình hóa thông tin ngữ cảnh cần đáp ứng những yêu cầu chuyên biệt của dạng ứng dụng này
Mô hình ngữ cảnh
Ứng dụng nhận biết ngữ cảnh
Lựa chọn thuật toán
Ứng dụng nhận biết
Các dịch
vụ
Nguồn cung
độ
Trang 252.1.1 Tính không đồng nhất và di động
Các mô hình thông tin ngữ cảnh phải đương đầu với sự đa dạng của các nguồn thông tin ngữ cảnh về tốc độ cập nhật và mức độ ngữ nghĩa của chúng Các bộ cảm nhận có thể quan sát được các trạng thái chắc chắn về thế giới vật chất và cung cấp truy cập thời gian thực nhanh và gần, ví dụ như hiện nay chúng
ta được cung cấp các dữ liệu thô (vị trí GPS), thông tin này cần phải được diễn giải trước khi sử dụng bởi các ứng dụng Các thông tin cung cấp bởi người dùng như các đặc tả hay các sở thích thì được cập nhật ít hơn và nhìn chung là không cần thêm diễn giải Cuối cùng, dữ liệu ngữ cảnh đạt được từ cơ sở dữ liệu hoặc các thư viện số như dữ liệu bản đồ địa lý thường là tĩnh Nó được diễn giải theo một vài cách (ví dụ như các đặc tính địa lý được làm phong phú thêm như tên, mục đích, các mối quan hệ), nhưng sự diễn giải chủ yếu về lĩnh vực ứng dụng chắc chắn Rất nhiều ứng dụng nhận biết ngữ cảnh là thay đổi (ví dụ như các ứng dụng chạy trên một thiết bị di động) hay phụ thuộc vào các nguồn ngữ cảnh hay thay đổi (như các bộ cảm nhận di động) Điều này làm tăng thêm tính không đồng nhất do dữ liệu thông tin ngữ cảnh phải thích ứng với môi trường thay đổi Cũng như vậy, thể hiện về không gian và vị trí của thông tin ngữ cảnh đóng vai trò quan trọng để giảm yêu cầu này
2.1.2 Các mối quan hệ và sự phụ thuộc
Có nhiều mối quan hệ giữa các kiểu thông tin ngữ cảnh cần phải nắm bắt
để đảm bảo ứng dụng hành xử đúng Một quan hệ là phụ thuộc thì tức là các thực thể/sự kiện thông tin ngữ cảnh này có thể phụ thuộc vào các thực thể thông tin ngữ cảnh khác, ví dụ, sự thay đổi giá trị một thuộc tính (như băng thông mạng) có thể tác động đến giá trị của các thuộc tính khác (như năng lượng pin còn lại)
2.1.3 Thời điểm
Các ứng dụng nhận biết ngữ cảnh có thể cần truy cập vào các trạng thái quá khứ và tương lai (dự đoán) Do đó, tính thời điểm (lịch sử ngữ cảnh) là một tính năng khác của thông tin ngữ cảnh cần nắm bắt bằng các mô hình ngữ cảnh Việc quản lý lịch sử ngữ cảnh là rất khó nếu số lượng các cập nhật là cao Nó không thể thực thi để lưu trữ mọi giá trị để truy cập tươn lai, và do đó các kỹ thuật tổng hợp (như sử dụng các bản tóm tắt lịch sử của dữ liệu) cần được áp dụng
2.1.4 Không hoàn hảo
Vì ngữ cảnh tự nhiên là động và không đồng nhất nên có thể có chất lượng khác nhau và thậm chí nó có thể sai trong thực tế Hầu hết các bộ cảm nhận đặc tả không chính xác (xê dịch một vài mét các vị trí của GPS), và các giá
Trang 26trị cảm nhận là lão hóa (bị cũ đi) so với thế giới thực đầy biến động và thay đổi từng ngày Do đó sự không chính xác này tăng theo thời gian Cũng như vậy, thông tin ngữ cảnh có thể không đầy đủ: một bộ cảm nhận phát hiện ra một lượng người trong phòng thì có thể thiếu sót một vài người.Vì vậy, một cách tiếp cận mô hình hóa ngữ cảnh tốt cần phải đưa các vấn đề này vào tính toán để suy luận hợp lý về những thay đổi ngữ cảnh để đạt được các đáp ứng tương đương cho ứng dụng, và do đó cung cấp kinh nghiệm cho người dùng để đồng nhất với thế giới thực
2.1.5 Lập luận
Các ứng dụng nhận biết ngữ cảnh sử dụng thông tin ngữ cảnh để đánh giá xem liệu có một thay đổi đối với người dùng hay với môi trường không; đưa ra một quyết định liệu một đáp ứng nào đó với thay đổi là cần thiết không Và những việc này thì thường yêu cầu khả năng lập luận Các kỹ thuật lập luận cũng được thông qua để phát sinh thông tin ngữ cảnh mức cao hơn Do đó việc các kỹ thuật mô hình hóa ngữ cảnh có thể hỗ trợ lập luận về các tình huống phức tạp là rất quan trọng
2.1.6 Tính sử dụng được của các hình thức mô hình hóa
Các mô hình thông tin ngữ cảnh được tạo bởi người thiết kế các ứng dụng nhận biết ngữ cảnh và cũng được sử dụng bởi các ứng dụng để thao tác thông tin ngữ cảnh Do đó tính năng quan trọng của các hình thức mô hình hóa là phải dễ dàng với người thiết kế để có thể chuyển đổi sang các khái niệm của thế giới thực khi tạoo mô hình và dễ cho các ứng dụng có thể sử dụng tại thời điểm thực thi và thao tác với thông tin ngữ cảnh
2.1.7 Dữ liệu ngữ cảnh hiệu quả
Truy cập hiệu quả vào thông tin ngữ cảnh là cần thiết nhưng cũng có thể
là một yêu cầu khó để đáp ứng với sự hiện diện của những mô hình lớn và nhiều đối tượng dữ liệu Để chọn lựa các đối tượng, các thuộc tính liên quan một cách phù hợp, các đường truy cập phải được biểu diễn trong mô hình ngữ cảnh Các đường dẫn truy cập này biểu diễn các kích thước theo các ứng dụng thường lựa chọn thông tin ngữ cảnh, cụ thể được hỗ trợ bởi các chỉ mục Các kích thước này thường được gọi là ngữ cảnh sơ cấp, đối lập với ngữ cảnh thứ cấp được truy cập bằng cách sử dụng ngữ cảnh sơ cấp Nhìn chung, các thuộc tính sử dụng ngữ cảnh sơ cấp là sự đồng nhất của các đối tượng ngữ cảnh, vị trí, kiểu đối tượng, thời gian hoặc hoạt động của người dùng Vì sự lựa chọn các thuộc tính ngữ cảnh sơ cấp là phụ thuộc vào ứng dụng, qui định bởi một lĩnh vực ứng dụng, nên tập các trạng thái ngữ cảnh sơ cấp chắc chắn được dùng để tạo nên các đường dẫn truy cập hiệu quả (như chỉ mục không gian nếu vị trí là ngữ cảnh sơ cấp)
Trang 272.2 Các cách tiếp cận mô hình hóa ngữ cảnh
2.2.1 Các mô hình Giá trị-thuộc tính và Lược đồ đánh dấu
Các cách tiếp cận mô hình hóa ngữ cảnh từ sớm là các mô hình giá trị - thuộc tính và lược đồ đánh dấu Các mô hình Giá trị - thuộc tính sử dụng các cặp giá trị - thuộc tính để xác định danh sách các thuộc tính và giá trị của chúng để miêu tả thông tin ngữ cảnh được sử dụng bởi ứng dụng nhận biết ngữ cảnh Cách tiếp cận mô hình hóa giá trị - thuộc tính thường được dùng trong cách framework dịch vụ phân tán (ví dụ như Capeus) Trong các framework này, bản thân dịch vụ thường được miêu tả với một danh sách các thuộc tính đơn giản Cặp giá trị - thuộc tính dễ dàng quản lý nhưng thiếu khả năng cấu trúc tinh vi cho các thuật toán thu hồi ngữ cảnh hiệu quả
Các cách tiếp cận mô hình hóa lược đồ đánh dấu là cấu trúc dữ liệu phân cấp bao gồm các thẻ đánh dấu với các thuộc tính và nội dung Đặc biệt, nội dung của các thẻ đánh dấu luôn được xác định đệ quy bởi các thẻ khác Các mô hình ngữ cảnh dựa vào việc đánh dấu sử dụng các dạng ngôn ngữ đánh dấu có cả XML Một chuẩn W3C được đưa ra để miêu tả các thiết bị di động, (CC/PP) đã chỉ ra các cách tiếp cận mô hình hóa ngữ cảnh đầu tiên sử dụng và bao gồm các ràng buộc thành phần và các mối quan hệ giữa các kiểu ngữ cảnh Các kiểu lập luận đơn giản về các ràng buộc và các mối quan hệ thành phần này được thực hiện với bộ lập luận cho mục đích đặc biệt Các mô hình thông tin ngữ cảnh dựa vào đánh dấu và RDF có những hạn chế nên không phải là những đề cử tốt cho việc mô hình hóa ngữ cảnh chung
Các cách tiếp cận mô hình hóa ngữ cảnh mới hơn sử dụng các kỹ thuật
mô hình hóa hệ thống thông tin phức tạp hơn (cơ sở dữ liệu) hay các kỹ thuật quản lý tri thức Chúng cũng dùng các kỹ thuật lập luận theo mục đích chung kết hợp với kỹ thuật mô hình hóa của chúng, ví dụ logic vị từ một và logic mô tả Những cách tiếp cận mới này giải quyết nhiều yêu cầu ở trên, tuy nhiên không cách nào là đầy đủ các yêu cầu cho việc mô hình hóa và lập luận ngữ cảnh nói chung
2.2.2 Các mô hình thông tin ngữ cảnh dựa vai trò các đối tượng
Các cách tiếp cận mô hình hóa ngữ cảnh dựa sự kiện gồm cách tiếp cận
mô hình hóa ngữ cảnh dựa vai trò ối tượng được miêu tả trong phần này bắt nguồn từ những nỗ lực để tạo các mô hình ngữ cảnh đầy đủ nhằm hỗ trợ xử lý truy vấn và lập luận cũng như cung cấp các cấu tạo mô hình phù hợp cho việc sử dụng trong các nhiệm vụ kỹ nghệ phần mềm như phân tích và thiết kế Các cách tiếp cận trước đó như các cặp giá trị - thuộc tính (giá trị - thuộc tính) không thỏa
Trang 28mãn các yêu cầu này, mà đặc biệt do các kiểu thông tin ngữ cảnh được sử dụng bởi các ứng dụng phát triển ngày càng phức tạp
Kỹ thuật này chủ yếu được phát triển bởi Henricksen bắt đầu từ năm 2002 với tập trung chủ yếu vào Ngôn ngữ mô hình hóa ngữ cảnh (Context Modelling Language - CML)
2.2.2.1 Tổng quan ngôn ngữ mô hình hóa ngữ cảnh - CML
Ngôn ngữ mô hình hóa ngữ cảnh dựa trên mô hình vai trò đối tượng (ORM – Object-Role Modeling) được phát triển cho mô hình hóa khái niệm của
cơ sở dữ liệu[16] Trong ORM, khái niệm mô hình hóa cơ bản là sự kiện, và mô hình hóa một lĩnh vực sử dụng ORM gồm các kiểu sự kiện tương đương và các luật mà trong đó các kiểu thực thể tham gia CML cung cấp một cú pháp đồ họa được thiết kế để hỗ trợ các kỹ sư phần mềm trong việc phân tích và đặc tả hình thức các yêu cầu ngữ cảnh của một ứng dụng nhận biết ngữ cảnh Nó mở rộng ORM với các cấu trúc mô hình để
- Nắm bắt các lớp và các nguồn khác nhau của các sự kiện ngữ cảnh: thông tin cụ thể, tĩnh, cảm nhận, dẫn xuất, và do người dùng cung cấp
- Nắm bắt thông tin không đầy đủ bằng cách sử dụng siêu dữ liệu chất lượng và khái niệm “alternatives” để nắm bắt các khẳng định trái chiều (như các báo cáo về vị trí trái ngược nhau từ các bộ cảm nhận)
- Nắm bắt sự phụ thuộc giữa các kiểu sự kiện ngữ cảnh
- Nắm bắt lịch sử cho các kiểu sự kiện mang tính chắc chắn và các ràng buộc trên các lịch sử đó
Hình thức của ORM và các mở rộng CML khiến nó có thể hỗ trợ một ánh xạ thẳng từ một mô hình ngữ cảnh dựa mô hình này sang một hệ thống quản lý ngữ cảnh thời gian thực có thể được gắn với các sự kiện ngữ cảnh và được
truy vấn bởi các ứng dụng nhận biết ngữ cảnh Halpin miêu tả hàm Rmap để
biến một lược đồ khái niệm thành một lược đồ quan hệ, và Henricksen đã
phát triển một mở rộng của Rmap để có thể được sử dụng cho việc ánh xạ
một mô hình ngữ cảnh dựa CML thành một cơ sở dữ liệu quan hệ Tuy nhiên, ngữ nghĩa hình thức của ORM và CML có thể được thừa hưởng để cung cấp sự tích hợp với các cài đặt khác như các bộ lập luận dựa sự kiện [17]
Trang 29Hình 2.2 Một ví dụ về mô hình biểu diễn ngữ cảnh với CML
Mô hình ví dụ này được thiết kế để sử dụng bởi các ứng dụng liên lạc nhận
biết ngữ cảnh Mô hình nắm bắt hoạt động người dùng theo hình thức kiểu sự
kiện thời gian bao gồm các hoạt động từ quá khứ, hiện tại và tương lai; các
kết hợp giữa những người sử dụng, các kênh liên lạc và các thiết bị; và các vị
trí của người dùng và thiết bị (cả tuyệt đối và tương đối, trong đó tuyệt đối
được biểu diễn như một sự kiện xuất phát)
Mỗi hình elip trong hình mô tả một kiểu đối tượng với giá trị trong dấu ngoặc
đơn miêu tả lược đồ biểu diễn được dùng cho kiểu đối tượng – trong đó mỗi
hình hộp biểu thị một vai trò của đối tượng trong sự kiện Bảng Key tổng kết
các cú pháp còn lại được sử dụng trong hình 2.2
2.2.2.2 Hỗ trợ lập luận
CML kế thừa hình thức của ORM để hỗ trợ việc đánh giá các khẳng định
đơn giản cũng như các truy vấn tựa SQL Một trong số các đặc tính mới của
CML là khả năng hỗ trợ truy vấn trên thông tin không chắc chắn (đặc biệt, thông
tin mơ hồ biểu diễn sử dụng hình thức cấu tạo “luân phiên”) bằng cách sử dụng
Trang 30logic 3 giá trị Điều này được minh họa bằng việc sử dụng kiểu sự kiện “located at” từ mô tả ở Hình 2.2 Hai khởi tạo của sự kiện này được chỉ ra ở bảng 3
Bảng 3 Các giá trị của sự kiện “located at”
Thực thể của “located at” không có
trạng thái phụ
Thực thể của “located at” có trạng thái
phụ
Với việc sử dụng logic 3 giá trị, khẳng định “Fitzwilliam Darcy located at Kitchen” đánh giá True vẫn tôn trọng khởi tạo đầu tiên và có thể đúng mà vẫn đảm bảo khởi tạo thứ hai
Để đánh giá các điều kiện phức tạp hơn có thể được nắm bắt bởi các khẳng định, Henricksen định nghĩa một ngữ pháp cho các tình huống hình thức hóa Các tình huống được biểu diễn bằng cách sử dụng một hình thức mới của logic vị từ mà có thể cân bằng giữa hiệu quả đánh giá với năng lực biểu diễn Chúng được định nghĩa như các biểu thức logic có tên theo hình thức S(1, ,
n): , trong đó S là tên của tình huống, 1, , n là các biến, và là một biểu diễn logic trong đó các biến tự do tương ứng với tập {1, , n }[Tr7,17] Biểu thức logic kết hợp một số các biểu thức cơ bản bằng việc sử dụng các kết nối logic như and, or và not Các biểu thức cơ bản hợp lệ là đẳng thức/ bất đẳng thức hay các khẳng định Các tình huống có thể được kết hợp từng bước với các biểu thức logic phức tạp hơn
2.2.2.3 Đánh giá
Một trong những điểm mạnh chính của CML là khả năng hỗ trợ của nó cho các giai đoạn của tiến trình kỹ nghệ phần mềm Cú pháp đồ họa của nó hỗ trợ phân tích và thiết kế các yêu cầu ngữ cảnh của ứng dụng nhận biết ngữ cảnh; biểu diễn quan hệ và ngữ pháp tình huống hỗ trợ biểu diễn thời gian thực và truy vấn CML cũng cung cấp hỗ trợ dễ hiểu để nắm bắt và đánh giá thông tin mang tính lịch sử và không đầy đủ hơn nhiều cách tiếp cận mô hình hóa khác đang sử dụng hiện nay CML cũng nhấn mạnh sự phát triển các mô hình ngữ cảnh cho các ứng dụng cụ thể hay các lĩnh vực ứng dụng
Tuy nhiên, CML cũng có một số điểm yếu Nó có một mô hình thông tin phẳng, trong đó tất cả các kiểu ngữ cảnh được biểu diễn một cách thống nhất như các sự kiện nguyên tử Nếu một cấu trúc cần phân tầng, hay một chiều đặc biệt của ngữ cảnh chiếm ưu thế từ quan điểm của truy vấn (như các mô hình không gian, hay
Trang 31khi mà thông tin vị trí quan trọng hơn các thông tin khác), thì các biểu diễn khác
có thể là phù hợp hơn
2.2.3 Các mô hình không gian của thông tin ngữ cảnh
Không gian là một ngữ cảnh quan trọng trong nhiều ứng dụng ngữ cảnh Hầu hết các định nghĩa ngữ cảnh đều đề cập đến không gian như một yếu tố quan trọng: như Schilit, Adams và Want định nghĩa 3 khía cạnh quan trọng của ngữ cảnh như “Bạn ở đâu, bạn là ai và gần nguồn nào” Cũng như vậy, trong hầu hết các định nghĩa ngữ cảnh thường được sử dụng bởi Dey, không gian được xem như một khía cạnh trung tâm của các thực thể ngữ cảnh: “Một thực thể là một người, một nơi hay một đối tượng được xem như có liên quan tới tương tác giữa người dùng và ứng dụng, bao gồm người dùng và chính các ứng dụng đó” – những nơi đó là các thực thể không gian Do đó một vài cách tiếp cận mô hình hóa ngữ cảnh luôn dành cho không gian và vị trí một ưu đãi Điều đó là phù hợp
để tổ chức truy cập thông tin ngữ cảnh hiệu quả
2.2.3.1 Mô hình thông tin ngữ cảnh
Hầu hết các mô hình thông tin ngữ cảnh là các mô hình dựa sự kiện tổ chức thông tin ngữ cảnh của chúng bằng vị trí vật lý Điều này có thể là vị trí của các thực thể thế giới thực được miêu tả trong thông tin ngữ cảnh (như đường biên của một phòng), vị trí của bộ cảm nhận đo thông tin ngữ cảnh, hoặc thông tin ngữ cảnh phi vật lý[20]
Thông tin vị trí này cũng được xác định trước (nếu các thực thể là tĩnh), hoặc nó đạt được bởi các hệ thống định vị lần vết các đối tượng di động và báo cáo vị trí của chúng tới hệ thống quản lý vị trí Nhìn chung, hai loại của các hệ tọa độ được hỗ trợ bởi các hệ thống định vị là:
Tọa độ hình học: Biểu diễn các điểm hay các vùng trong một không gian hình
học như tọa độ 84 WGS của GPS biểu diễn kinh độ, vĩ độ và độ cao trên mực nước biển của một số điểm trên bề mặt trái đất Sử dụng các hàm hình học như khoảng cách Ơclit cho phép tính toán khoảng cách và cho phép truy vấn láng giềng gần nhất
Tọa độ tượng trưng: Các tọa độ tượng trưng được biểu diễn bởi một định danh
như số phòng hay địa chỉ của một ô hoặc điểm truy cập trong điện thoại wireless hay các mạng cục bộ Trái ngược với tọa độ hình học, không có mối quan hệ không gian được cung cấp bởi các tọa độ tượng trưng Để cho phép lập luận không gian về phạm vi và khoảng cách thì rõ ràng thông tin về quan hệ không gian giữa các cặp của tọa độ tương trưng phải được cung cấp
Các mô hình ngữ cảnh không gian có thể được miêu tả theo các lớp của các bản thể học không gian được đưa ra bởi A Frank:
Trang 32- Lớp 0 là bản thể học về những cái có thực Nó dựa trên giả thiết rằng có chính xác một thế giới thực; do đó, mọi thuộc tính trong thế giới và được cho bởi 1 điểm trong không gian thời gian có 1 giá trị đơn
- Lớp 1 gồm các hình ảnh của sự vật thật và là lớp đầu tiên có thể được truy cập trong các mô hình dữ liệu Ở đây, một giá trị có thể được phát sinh tại một vị trí với một kiểu kiểu hình ảnh được cho Kiểu này xác định qui mô
đo lường của giá trị (danh nghĩa hay hợp lý) và đơn vị đo lường (m, s) Với các giá trị không gian, hệ thống tọa độ phải được cho Các giá trị thường có một giới hạn để giảm lỗi Các mô hình ngữ cảnh dựa sự kiện là một phù hợp điển hình ở lớp này
- Trong lớp 2, các hình ảnh đơn được nhóm với các đối tượng riêng được xác định bởi các thuộc tính thống nhất Ngày nay, giá trị của một hình ảnh
là trạng thái của toàn bộ đối tượng được cho bởi 1 định danh Frank chỉ xem xét các đối tượng vật lý trong tầng này như “những thứ tồn tại trong thế giới thực và có thể quan sát được bằng các phương pháp quan sát” Chúng có một khuôn khổ hình học trong thế giới nhưng nó có thể thay đổi theo thời gian (như chất lỏng, cồn) Đến lớp 2, các tầng bản thể học bao bọc dữ liệu như đối tượng thực – bạn có thể gửi ra ngoài cho các nhà địa
lý, các sinh viên để mô hình các đối tượng vật lý và chúng sẽ đi đến một đồng thuận về các hình ảnh của chúng Do đó, loại thông tin này có thể được chia sẻ môt cách dễ dàng giữa các ứng dụng nhận biết thông tin ngữ cảnh
- Trong lớp 3, thực tại xã hội được biểu diễn Thực tại xã hội gồm các đối tượng và các mối quan hệ được tạo bởi các tương tác xã hội Như các thuộc tính được phân lớp và đặt tên trong ngữ cảnh của nhà nước, thể chế pháp lý và các qui tắc Tên đối tượng thuộc về lớp này vì chúng được gán bởi văn hóa; với nhiều thứ quan trọng (không phải tất cả) có các chức năng để xác định tên và tìm ra đối tượng bằng tên trong môi trường chắc chắn
- Cuối cùng, trong lớp 4 các qui tắc được mô hình để được sử dụng bởi các tác nhân nhận thức (cả con người và phần mềm) cho việc suy diễn Lớp này thường được xây dựng vào các ngôn ngữ truy vấn cơ sở dữ liệu, các ứng dụng hay các bộ lập luận của hệ thống cơ sở tri thức Các mô hình dựa bản thể học của thông tin ngữ cảnh phủ toàn bộ các tầng ở mức này Mặc dù mô hình các lớp của Frank là một khái niệm trừu tượng của các biểu diễn (không gian) khác nhau của thế giới nhưng nó rất hữu ích để phân biệt giữa các dạng thực thi các mô hình ngữ cảnh không gian