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 Nguyễn Thị Nhƣ
Trang 1Nghiê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
Nguyễn Thị Như
Trường Đại học Công nghệ Chuyên ngành: Công nghệ thông tin; Mã số: 60 48 10 Cán bộ hướng dẫn khoa học: Tiến sĩ Cao Tuấn Dũng
Năm bảo vệ: 2012
Abstract Tổng quan các vấn đề cần nghiên cứu: Môi trường tính toán nhân rộng, ngữ cảnh, nhận
biết ngữ cảnh Giới thiệu về biểu diễn và mô hình hóa ngữ cảnh: Các yêu cầu của mô hình thông tin ngữ cảnh, Các cách tiếp cận mô hình hóa ngữ cảnh Tiến hành ứng dụng nhận biết ngữ cảnh và chương trình minh họa: Kiến trúc và phong cách kiến trúc hệ thống, Các thành phần trong hệ thống, Các công việc cần thiết cho tính toán nhận biết ngữ cảnh, Ứng dụng minh họa 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”
Keywords: Công nghệ phần mềm; Công nghệ thông tin; Nhận biết ngữ cảnh; Môi trường tính
toán nhân rộng
Content
MỞĐẦU
I CHƯƠNG1:TỔNGQUAN
A 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 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 nhân rộng 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
1) 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)
Trang 2Đặ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
2) 1.1.2 Cơ hội và thách thức
a) 1.1.2.1 Cơ hội
Trong môi trường tính toán 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
b) 1.1.2.2 Thách thức
Tính toán mọi nơi đ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 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
- Sử dụng ngữ cảnh như nào?
- Thu hồi ngữ cảnh như thế nào?
- Kết nối ngữ cảnh thu được với ngữ cảnh sử dụng
- Hiểu tác động trên tương tác người máy
- Hỗ trợ xây dựng các hệ thống nhận biết ngữ cảnh
- Đánh giá hệ thống nhận biết ngữ cảnh
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]
B 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
1) 1.2.1 Các định nghĩa về 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
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)
Môi trường ở đây gồm ba yếu tố
Trang 3- Môi trường tính toán
- Môi trường vật lý
Dey, 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
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 đó”
2) 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
Bảng 1.1 Các thuộc tính đặc trưng của ngữ cảnh
dài
Chất lượng
Cảm
biến
Cảm biến vật lý và
logic
Thấp Có thể có lỗi
Đặc tả Do người dùng đặc
tả trực tiếp hoặc gián
tiếp qua chương
trình
Mãi mãi Có thể không chắc
chắn
Được
phát sinh
Các thông tin ngữ
cảnh khác
Biến đổi Dựa vào việc xử lý
nguồn phát
- 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
3) 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…
- 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
Trang 4- Ngữ cảnh vật lý như vị trí, thời tiết, ánh sáng…
Pash [22] phân loại ngữ cảnh thành 4 chiều như trong bảng 1.2
Bảng 1.2 Phân loại các chiều của ngữ cảnh Ngữ
cảnh Chiều ngữ cảnh Các tham số ngữ cảnh
Ngữ cảnh tĩnh của người
dùng Profile, thói quen, sở thích Ngữ cảnh động của
người dùng
Vị trí, nhiệm vụ hiện thời hoặc
có liên quan tới người hay đối
tượng khác Ngữ cảnh môi trường Thời tiết, tiếng ồn, thời gian
Kết nối mạng Đặc tính mạng, các đặc tả thiết
bị di động đầu cuối 4) 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 rõ ràng) bởi ngữ cảnh
C 1.3 Nhận biết ngữ cảnh
1) 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
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
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
- Liên lạc nhận biết ngữ cảnh
- Chủ động lập lịch ứng dụng
2) 1.3.2 Nhận biết ngữ cảnh là gì?
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
Trang 53) 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
II CHƯƠNG2.BIỂUDIỄNVÀMÔHÌNHHÓANGỮCẢNH
A 2.1 Các yêu cầu của mô hình thông tin ngữ cảnh
2.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
1) 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
2) 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
3) 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ế 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
4) 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
5) 2.1.6 Tính sử dụng được của các hình thức mô hình
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
6) 2.1.7 Dữ liệu ngữ cảnh hiệu quả
Ngữ cảnh cần được mô hình hợp lý giúp tăng hiệu quả truy cập khi sử dụng trong ứng dụng
Trang 6B 2.2 Các cách tiếp cận mô hình hóa ngữ cảnh
1) 2.2.1 Các mô hình Giá trị - thuộc tính và Lược đồ đánh dấu
2) 2.2.2 Các mô hình thông tin ngữ cảnh dựa vai trò các đối tượng
3) 2.2.3 Các mô hình không gian của thông tin ngữ cảnh
2.2.4 Các mô hình thông tin ngữ cảnh dựa bản thể học
4) 2.2.5 Các mô hình ngữ cảnh lai
a) 2.2.5.1 Mô hình lai dựa sự kiện/ontology
b) 2.2.5.2 Mô hình kết hợp lỏng lẻo giữa markup-based/ontological
c) 2.2.5.3 Hướng tới một mô hình lai phân cấp
III CHƯƠNG3.ỨNGDỤNGNHẬNBIẾTNGỮCẢNHVÀCHƯƠNGTRÌNHMINHHỌA Chương 3 luận văn sẽ tìm hiểu việc xây dựng một ứng dụng nhận biết ngữ cảnh với các công việc liên quan
A 3.1 Kiến trúc và phong cách kiến trúc hệ thống
Theo góc nhìn kiến trúc thì kiến trúc khái niệm lớp thường được sử dụng nhất khi phát triển các ứng dụng nhận biết ngữ cảnh Henricksen [17] gợi ý kiến trúc 4 lớp Lớp 1, đầu ra cảm biến được xử lý để tạo thông tin ngữ cảnh mà ứng dụng sử dụng được Lớp 2 gồm các kho chứa ngữ cảnh để cung cấp một lưu trữ nhất quán các thông tin ngữ cảnh và là cơ sở cho các truy vấn nâng cao Lớp 3 gồm các công cụ
hỗ trợ quyết định giúp ứng dụng lựa chọn các hành động phù hợp và thích ứng dựa trên thông tin ngữ cảnh có sẵn Các công cụ lập trình thường được kết hợp tại lớp 4 để hỗ trợ các tương tác giữa thành phần ứng dụng với các thành phần khác của hệ thống nhận biết ngữ cảnh
Phong cách kiến trúc của một hệ thống nhận biết ngữ cảnh thường là do phương pháp thu hồi ngữ cảnh Tiêu chí chính để cách tiếp cận kiến trúc lập luận là sự phân chia các mối quan tâm giữa thu hồi ngữ cảnh và các thành phần người dùng theo mục đích
1) 3.1.1 Một số kiến trúc
Bảng 4.Tổng kết các kiến trúc[20]
Kiến trúc Cảm biến Mô hình
ngữ cảnh
Xử lý ngữ cảnh
Nguồn khai phá
CASS Middleware
tập trung
Các nút cảm biến
Mô hình
dữ liệu quan hệ
Kỹ nghệ tham chiếu và cơ sở tri thức CoBra Dựa tác
nhân
Mô đun thu thập ngữ cảnh
Ontology Kỹ nghệ tham
chiếu và cơ sở tri thức Framwork
quản lý
ngữ cảnh
Cơ chế bảng đen
Các nguồn server
Ontology Dịch vụ nhận
biết ngữ cảnh
Trang 7Context
Toolkit Dựa widget
Widget ngữ cảnh
Bộ giá trị thuộc tính
Bộ tích hợp và diễn giải ngữ cảnh
Hydrogen Kiến trúc 3
lớp
Bộ thích ứng cho các kiểu ngữ cảnh
Dựa đối tượng
Chỉ tích hợp và diễn giải ngữ cảnh thô
2) 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
Những tiêu chí chuyên biệt [21] như:
a Mức độ trừu tượng ngữ cảnh
b Mô hình giao tiếp
c Hệ thống lập luận
d Khả năng mở rộng
e Khả năng sử dụng lại
B 3.2 Các thành phần trong hệ thống
Hình 3.1 Các thành phần hệ thống nhận biết ngữ cảnh
1) 3.2.1 Bộ cung cấp ngữ cảnh
Một bộ cung cấp ngữ cảnh là một thành phần chuyên mang đến ngữ cảnh cho hệ thống
2) 3.2.2 Bộ tiêu dùng ngữ cảnh
Bộ tiêu dùng ngữ cảnh là các thành phần sử dụng thông tin ngữ cảnh có sẵn trong hệ thống 3) 3.2.3 Bộ trừu tượng ngữ cảnh
Một bộ trừu tượng ngữ cảnh là một thành phần đọc thông tin ngữ cảnh và thêm các đối tượng ngữ cảnh mới từ các ngữ cảnh cũ
C 3.3 Các công việc cần thiết cho tính toán nhận biết ngữ cảnh
1) 3.3.1 Các cơ chế thu hồi và cảm ngữ cảnh
Quá trình thu thập ngữ cảnh từ môi trường vật lý được gọi là thu hồi ngữ cảnh (acquisition context)
1 Các ngữ cảnh được thu thập bằng cách truy cập trực tiếp vào các sensor ngữ cảnh mức thấp
Không gian mờ
Context Producer
Context Consumer
Context Abstractor
Trang 82 Các ngữ cảnh được thu thập từ một vài cơ sở hạ tầng trung gian chạy tương tác với các sensor mức thấp
3 Các ngữ cảnh được thu thập từ các server chuyên duy trì tri thức tình huống về môi trường
D 3.4 Ứng dụng minh họa: Xây dựng tiện ích: “Coffee Context Search”
Ứng dụng được xây dựng trên nền tảng Android có khả năng tích hợp trên điện thoại chạy hệ điều hành Android giúp người dùng tìm kiếm địa điểm quán cà phê theo ngữ cảnh hiện thời
3.4.1 Giới thiệu về hệ điều hành Android
a) 3.4.1.1 Android là gì?
Android là một ngăn xếp phần mềm cho các thiết bị di động bao gồm một hệ điều hành, middleware và các ứng dụng khóa được phát triển bởi Google
3.4.1.2 Kiến trúc Android
Hình 3.5 Kiến trúc Android
3.4.1.3 Công cụ phát triển phần mềm Android (Android SDK)
Android SDK[15] cung cấp nhiều tập tin và các công cụ đặc biệt nhằm mục đích giúp cho việc thiết kế và phát triển các ứng dụng chạy trên nền tảng Android
Android SDK cũng chứa hai bộ APIs bổ sung là Google APIs và Optional APIs:
· Google APIs
· Optional APIs
3.4.2 Xác định kịch bản và ngữ cảnh sử dụng trong hệ thống
b) 3.4.2.1 Kịch bản sử dụng
Như chúng ta đã biết, trong nhịp sống công sở hiện nay, thói quen uống cà phê là một sở thích điển hình của các nhân viên văn phòng, học sinh sinh viên…Với sự phát triển mang tính chất đa hình đa dạng của các quán cà phê, số lượng ngày một nhiều như nấm và đặc biệt được bao phủ hầu hết bởi mạng không dây Do đó việc tận dụng khoảng thời gian uống cà phê để thực hiện các công việc khác chính là cách tận dụng thời gian trong cuộc sống công nghiệp hiện nay Người ta có thể chọn hình thức uông cà phê để thư giãn với không gian riêng tư một mình, tán gẫu với bạn bè, hẹn hò, học tập hay các cuộc thương thảo
Trang 9Chính vì những đặc điểm trên, nên việc lựa chọn một quán cà phê hợp lý theo sở thích cũng như ngữ cảnh hiện tại của người dùng là vô cùng quan trọng Rõ ràng, việc chọn một quán cà phê để hẹn hò cần không gian lãng mạn, riêng tư, tránh ồn ào khác hẳn với khi bạn muốn chọn một nơi uống cà phê cùng đám bạn thân Hoặc giả sử như khi muốn trao đổi vấn đề cùng đối tác làm ăn thì một quán cà phê với không gian sang trọng lịch sự lại là lựa chọn số một Còn các bạn sinh viên có nhu cầu học tập và giải trí mọi lúc mọi nơi thì luôn cần những địa điểm hợp lý với nguồn wifi sẵn có
c) 3.4.2.2 Xác định ngữ cảnh và mô hình hóa
a) Ngữ cảnh sử dụng
Hệ thống sử dụng hai loại ngữ cảnh cơ bản trong số các kiểu ngữ cảnh đã liệt kê Cụ thể là: ngữ cảnh tĩnh và ngữ cảnh động
Ngữ cảnh tĩnh là sở thích người dùng, cụ thể ở đây là các sở thích đối với quán cà phê theo từng hoàn
cảnh riêng Ví dụ như: đông đúc, sang trọng, có phục vụ ăn chay…
Ngữ cảnh động là thông tin về vị trí của người dùng, hoạt động mong muốn hiện tại
Ngữ cảnh môi trường: thời tiết
b) Mô hình hóa ngữ cảnh bài toán
Với sự hỗ trợ của phần mềm VisioModeler, ngữ cảnh được mô hình như sau:
Hình 3.6 Mô hình hóa ngữ cảnh hệ thống
2) 3.4.3 Mô hình kiến trúc hệ thống
Như chúng ta đã biết, kiến trúc lớp được sử dụng phổ biến nhất trong các ứng dụng nhận biết ngữ cảnh vì tính hệ thống, rõ ràng để phân chia các tầng nhiệm vụ và rất phù hợp khi mô hình hóa ngữ cảnh Do đó, trong ứng dụng mô hình kiến trúc lớp được miêu tả như sau:
Data
bas
e
User profi le
Context Provider
Acquisition
Context Management
Context Modelling
Context Storage
Acquisition Layer
Management
Sens ors
Trang 10Hình 3.7 Mô hình kiến trúc hệ thống
3) 3.4.4 Cài đặt ứng dụng và kết quả
Với các công cụ lập trình chuyên biệt cho điện thoại, ứng dụng được cài đặt mã nguồn trong Eclipse, chạy với hệ điều hành Android bắt đầu từ phiên bản 2.1 và GoogleAPI 7, và sử dụng dữ liệu lưu trong SQLite Database
a) 3.4.4.1 Tìm kiếm
Hình 3.10 Giao diện tìm kiếm b) 3.4.4.2 Kết quả
Hình 3.11 Giao diện kết quả
KẾTLUẬNVÀHƯỚNGPHÁTTRIỂN
Kết quả đạt được
Mục tiêu của luận văn đã đưa ra:
- Tập chung tìm hiểu khái niệm về môi trường nhân rộng, khái niệm về thông tin ngữ cảnh và nhận biết ngữ cảnh
- Tìm hiểu các cách tiếp cận để mô hình hóa thông tin ngữ cảnh ứng dụng trong một lĩnh vực cụ thể