..
Bộ giáo dục và đào tạo
Trường Đại học Bách Khoa Hµ Néi
-----------------------------------------------
LUẬN VĂN THẠC SĨ KHOA HỌC
XÂY DỰNG GIAO DIỆN THễNG MINH DA TC T GIAO
DIN
Lấ HI QUN
Luận Văn Thạc SÜ Khoa Häc
CHUN NGÀNH: CƠNG NGHỆ THƠNG TIN
Hµ Néi - 2005
Bộ giáo dục và đào tạo
Trường Đại học Bách Khoa Hµ Néi
----------------------------------------------LUẬN VĂN THẠC SĨ KHOA HỌC
XÂY DỰNG GIAO DIỆN THễNG MINH DA TC T GIAO
DIN
Lấ HI QUN
Luận Văn Thạc SÜ Khoa Häc
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN
PGS – TS.
Hµ Néi - 2005
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
Mục lục
Mục lục.......................................................................................................................1
Danh mục các hình vẽ trong luận văn.....................................................................4
Danh mục các bảng trong luận văn.........................................................................5
Danh mục các từ viết tắt và thuật ngữ ....................................................................6
Lời nói đầu .................................................................................................................9
Chương I: Cơ sở lý thuyết về giao diện người dùng thông minh .......................12
1.1. Giao diện người dùng thông minh ..............................................................12
1.1.1. Tại sao cần sử dụng giao diện người dùng thông minh ? ..................................12
1.1.2. Giao diện người dùng thông minh là gì ? ..........................................................14
1.1.2.1. Định nghĩa ............................................................................................................. 14
1.1.2.2. Các thuộc tính của giao diện người dùng thơng minh ........................................... 16
1.1.3. Giao diện người dùng thông minh khác với một hệ thống thông minh.............17
1.2. Các thành phần của giao diện thông minh ................................................18
1.2.1. Mơ hình người dùng ..........................................................................................18
1.2.2. Đa mơ hình giao tiếp..........................................................................................19
1.2.3. Khả năng nhận biết kế hoạch.............................................................................19
1.2.4. Khả năng trình diễn động...................................................................................20
1.2.5. Ngơn ngữ tự nhiên .............................................................................................20
1.2.6. Khả năng trợ giúp thơng minh ...........................................................................20
1.2.7. Khả năng thích nghi của giao diện.....................................................................21
1.3. Thiết kế giao diện người dùng.....................................................................21
1.3.1. Quy trình thiết kế chung ....................................................................................21
1.3.2. Phân tích ............................................................................................................23
1.3.3. Phát triển và triển khai .......................................................................................24
1.3.4. Đánh giá.............................................................................................................25
1.3.5. Sự điều chỉnh và tích hợp với công cụ...............................................................25
1.3.6. Một số phương pháp thiết kế khác.....................................................................25
1.3.6.1. Thiết kế sử dụng các bài tập tình huống ................................................................ 26
1.3.6.2. Một số nguyên tắc định hướng trong thiết kế......................................................... 27
1.3.6.3. Kiến trúc chung...................................................................................................... 28
1.4. Các ngôn ngữ mô tả giao diện .....................................................................29
1.4.1. UIML .................................................................................................................30
1.4.2. XIML .................................................................................................................33
1.4.3. AUIML ..............................................................................................................33
1.4.4. USIXML ............................................................................................................34
1.4.5. AUIT..................................................................................................................34
1.4.6. AAIML ..............................................................................................................35
1.4.7. XUL ...................................................................................................................36
1.4.8. GITK / GIML ....................................................................................................36
1.4.9. XAML................................................................................................................37
1.4.10. Một số loại ngôn ngữ mô tả giao diện khác.....................................................37
1.4.11. So sánh các ngôn ngữ mô tả giao diện người dùng .........................................38
1.5. Kết chương ....................................................................................................39
Chương II: Tác tử giao diện thông minh và ứng dụng trong xây dựng giao diện
thông minh ...............................................................................................................41
2.1. Tác tử giao diện thông minh........................................................................41
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
1
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
2.1.1. Giới thiệu tác tử .................................................................................................41
2.1.2. Tác tử giao diện thơng minh là gì ......................................................................42
2.1.3. Sự cần thiết của tác tử giao diện ........................................................................43
2.2. Đặc điểm của tác tử giao diện thơng minh.................................................45
2.2.1. Tính chủ động ....................................................................................................46
2.2.2. Tác tử với tư cách là trợ lý và tư vấn cho người dùng.......................................47
2.2.2.1 Làm trợ lý................................................................................................................ 47
2.2.2.2 Làm tư vấn .............................................................................................................. 47
2.2.3. Thay đổi cho phù hợp với từng người dùng (cá nhân hóa)................................48
2.2.4. Mơ hình miền (lĩnh vực)....................................................................................49
2.2.5. Mơ hình người dùng ..........................................................................................49
2.2.6. Được tin cậy.......................................................................................................52
2.2.7. Có khả năng phản hồi thơng tin .........................................................................52
2.2.8. Có khả năng hướng dẫn .....................................................................................53
2.2.9. Được nhân hóa...................................................................................................53
2.2.10. Một số quan điểm phản đối sử dụng tác tử......................................................55
2.2.11. Làm hài lòng người sử dụng ............................................................................56
2.3. Tích hợp tác tử giao diện thơng minh trong xây dựng giao diện.............56
2.4. Mơ hình kiến trúc xây dựng giao diện dựa trên tác tử giao diện thông
minh ......................................................................................................................58
2.4.1. Đặc tả miền ........................................................................................................58
2.4.2. Khả năng thích nghi...........................................................................................58
2.4.3. Tác tử điều phối .................................................................................................60
2.4.4. Tác tử quan sát...................................................................................................61
2.4.5. Tác tử dự đoán ...................................................................................................61
2.4.6. Tác tử hướng dẫn ...............................................................................................61
2.4.7. Tác tử quản lý mơ hình người dùng...................................................................61
2.4.7.1. Cập nhật lịch sử tương tác..................................................................................... 63
2.4.7.2. Cập nhật mơ hình tương tác................................................................................... 63
2.4.7.3. Sử dụng tiểu sử người dùng ................................................................................... 63
2.4.8. Tác tử quản lý mơ hình miền .............................................................................63
2.4.9. Tác tử đáp ứng ...................................................................................................63
2.5. Kết chương ....................................................................................................64
Chương III: Xây dựng mơ hình nhiệm vụ trong giao diện thông minh dựa tác
tử ...............................................................................................................................66
3.1. Các nhiệm vụ và hành động ........................................................................66
3.1.1. Hành động..........................................................................................................66
3.1.2. Nhiệm vụ ...........................................................................................................66
3.2. Mơ hình nhiệm vụ dựa trên tác tử giao diện .............................................68
3.3. Các thành phần cơ bản của mơ hình nhiệm vụ .........................................69
3.3.1. Nhiệm vụ ...........................................................................................................69
3.3.2. Hành động..........................................................................................................69
3.3.3. Mục tiêu .............................................................................................................69
3.3.4. Người dùng ........................................................................................................69
3.3.5. Tác tử .................................................................................................................70
3.3.6. Nhiệm vụ con.....................................................................................................70
3.3.7. Nhiệm vụ điều kiện trước ..................................................................................70
3.3.8. Nhiệm vụ điều kiện sau .....................................................................................70
3.4. Phân tích nhiệm vụ.......................................................................................70
3.4.1. Phân tích nhiệm vụ là gì ....................................................................................70
Lê Hải Qn/Cao học 2003/Khoa Cơng nghệ thơng tin
2
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
3.4.2. Các phương pháp phân tích nhiệm vụ ...............................................................73
3.4.2.1. Phân tích nhiệm vụ sử dụng HTA (Hierarchical Task Analysis) ........................... 73
3.4.2.2. Phân tích nhiệm vụ sử dụng GOMS (Goals, Operators, Methods, Selectors) ....... 73
3.4.2.3. Phân tích nhiệm vụ sử dụng GTA (Groupware Task Analysis) ............................. 74
3.4.2.4. Phương pháp phân tích dựa trên HTA................................................................... 75
3.5. Xây dựng mơ hình nhiệm vụ .......................................................................76
3.6. Kết chương ....................................................................................................80
Chương IV: Xây dựng mơ hình tương tác............................................................82
4.1. Mơ hình tương tác ........................................................................................82
4.2. Các giải thuật xây dựng mơ hình tương tác...............................................85
4.2.1. Thuật tốn phân đoạn hành động.......................................................................85
4.2.2. Thuật toán lựa chọn cặp hành động ...................................................................87
4.2.3. Thuật toán lựa chọn cặp hành động cuối ...........................................................91
4.2.4. Thuật toán xây dựng đồ thị tương tác ................................................................93
4.2.5. Thuật tốn tính tốn xác xuất.............................................................................98
4.3. Đánh giá và hồn thiện các giải thuật xây dựng mơ hình tương tác .....101
4.3.1. Thuật toán phân đoạn hành động.....................................................................101
4.3.2. Thuật toán lựa chọn cặp hành động .................................................................102
4.3.3. Thuật toán lựa chọn cặp hành động cuối .........................................................104
4.3.4. Thuật toán xây dựng đồ thị tương tác ..............................................................106
4.3.5. Thuật tốn tính tốn xác suất ...........................................................................110
4.3.6. Tổng kết ...........................................................................................................110
4.4. Bài toán thử nghiệm ...................................................................................112
4.4.1. Hệ thống chuyển khoản cá nhân ......................................................................112
4.4.2. Xây dựng giao diện người dùng ......................................................................112
4.4.2.1. Đăng nhập............................................................................................................ 112
4.4.2.2. Chuyển khoản....................................................................................................... 113
4.4.3. Xây dựng mơ hình nhiệm vụ ...........................................................................114
4.4.4. Xác định các hành động nguyên tố..................................................................118
4.4.4.1. Các hành động nguyên tố..................................................................................... 118
4.4.4.2. Ánh xạ chúng với các nhiệm vụ............................................................................ 120
4.4.5. Mô tả giao diện và nhiệm vụ bằng XML.........................................................121
4.4.5.1. Ngôn ngữ đặc tả XML .......................................................................................... 121
4.4.5.2. Mô tả nhiệm vụ sử dụng XML .............................................................................. 122
4.4.5.3. Mô tả giao diện bằng XML .................................................................................. 123
4.4.5.4. Ánh xạ giữa giao diện và nhiệm vụ bằng XML .................................................... 123
4.4.6. Tác tử trợ giúp .................................................................................................124
4.4.6.1. Kiến trúc của tác tử.............................................................................................. 124
4.4.6.2. Lịch sử tương tác ................................................................................................. 124
4.4.6.3. Sinh trợ giúp người dùng ..................................................................................... 124
4.5. Thử nghiệm và đánh giá ............................................................................125
4.6. Kết chương ..................................................................................................126
Đánh giá kết quả nghiên cứu và hướng phát triển tiếp theo.............................128
Tài liệu tham khảo ................................................................................................130
Phụ lục........................................................................................................................1
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
3
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
Danh mục các hình vẽ trong luận văn
Hình 1.1: Lĩnh vực nghiên cứu giao diện người dùng thơng minh và một số chủ đề
liên quan ....................................................................................................................16
Hình 1.2: Một hệ thống thông minh khác với một giao diện thơng minh ................18
Hình 1.3: Kiến trúc chung của giao diện người dùng thơng minh............................28
Hình 1.4: Bộ cơng cụ xây dựng giao diện người dùng trên nhiều nền tảng sử dụng
UIML.........................................................................................................................32
Hình 2.1: Sự tăng trưởng của số lượng các công cụ trong một ứng dụng ................44
Hình 2.2: Mơ hình kiến trúc dựa trên tác tử giao diện thơng minh ..........................59
Hình 3.1: Phương pháp xây dựng mơ hình nhiệm vụ ...............................................69
Hình 3.2: Đồ thị AND/OR của một mơ hình nhiệm vụ ............................................79
Hình 4.1: Phương pháp xây dựng mơ hình tương tác ...............................................85
Hình 4.2: Một ví dụ về mơ hình nhiệm vụ................................................................87
Hình 4.3: Quy trình thực hiện giải thuật cho chuỗi hành động 1..............................90
Hình 4.4: Đếm số lần xuất hiện các cặp hành động trong chuỗi hành động 1..........90
Hình 4.5: Mơ hình tương tác cho ví dụ trên..............................................................93
Hình 4.6: Bước 1 trong giải thuật ứng với ví dụ.......................................................96
Hình 4.7: Bước 2 trong giải thuật ứng với ví dụ.......................................................96
Hình 4.8: Bước 3 trong giải thuật ứng với ví dụ.......................................................97
Hình 4.9: Bước 4 trong giải thuật ứng với ví dụ.......................................................97
Hình 4.10: Bước 5 trong giải thuật ứng với ví dụ.....................................................97
Hình 4.11: Ví dụ một mơ hình đồ thị tương tác......................................................100
Hình 4.12: Thuật tốn loại bỏ thứ nhất ...................................................................107
Hình 4.13: Thuật tốn loại bỏ thứ hai .....................................................................108
Hình 4.14: Giao diện Đăng nhập ............................................................................113
Hình 4.15: Giao diện Chuyển khoản.......................................................................113
Hình 4.16: Mơ hình cây cơng việc của chương trình..............................................117
Hình 4.17: Kiến trúc của tác tử trợ giúp .................................................................124
Hình 4.18: Giao diện Đăng nhập với sự trợ giúp của tác tử ...................................126
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
4
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
Danh mục các bảng trong luận văn
Bảng 1.1: So sánh các ngôn ngữ mô tả giao diện .....................................................39
Bảng 3.1: Định nghĩa các nhiệm vụ trong hình 3.2 ..................................................79
Bảng 4.1: Giải thuật phân đoạn hành động...............................................................86
Bảng 4.2: Thuật toán lựa chọn cặp hành động..........................................................89
Bảng 4.3: Giải thuật lựa chọn cặp hành động cuối ...................................................92
Bảng 4.4: Giải thuật xây dựng mơ hình đồ thị tương tác..........................................94
Bảng 4.5: Giải thuật loại bỏ thứ nhất ........................................................................95
Bảng 4.6: Thuật toán loại bỏ thứ hai.........................................................................96
Bảng 4.7: Thuật tốn tính tốn xác suất....................................................................99
Bảng 4.8: Tính tốn xác suất ứng với α = 0.5 ........................................................100
Bảng 4.9: Thuật toán lựa chọn cặp hành động sau chỉnh sửa.................................103
Bảng 4.10: Giải thuật lựa chọn cặp hành động cuối đã chỉnh sửa..........................106
Bảng 4.11: Bổ sung thuật toán cập nhật cho đồ thị tương tác ................................109
Bảng 4.12: Bảng mô tả mơ hình nhiệm vụ .............................................................116
Bảng 4.13: Bảng mơ tả các hành động nguyên tố...................................................119
Bảng 4.14: Bảng ánh xạ nhiệm vụ với các hành động nguyên tố...........................121
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
5
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
Danh mục các từ viết tắt và thuật ngữ
Từ viết tắt
Diễn giải
AAIML
Alternate Abstract Interface
Markup Language
ASP
Active Server Page
AUIML
AUIT
CAD
Abstract User Interface Markup
Language
Adaptive User Interface
Technology
Computer Aided Design
CAMELEON
cHTML
compact HTML
C-HTML
Compact HTML
Ý nghĩa
Ngôn ngữ đánh dấu cho giao
diện khái quát thay đổi
Công nghệ tạo web động của
Microsoft
Ngôn ngữ đánh dấu cho giao
diện người dùng khái qt
Cơng nghệ giao diện người
dùng thích nghi
Cơng cụ hỗ trợ thiết kế trên máy
tính
Bộ cơng cụ phát triển đặc tả với
giao diện đồ họa
HTML rút gọn
DHTML
HTML rút gọn
Bộ công cụ phát triển để xây
C Language Integrated
dựng các tập luật cho các hệ
Production System
chuyên gia
Computer Supported Cooperative Công cụ hỗ trợ làm việc nhóm
Work
trên máy tính
Chuẩn định dạng giao diện cho
Cascading Style Sheets
HTML
Concurrent Task Tree
Cây công việc
Định dạng XML cho trao đổi dữ
Commerce XML
liệu trong thương mại điện tử
Dynamic HTML
HTML động
DTD
Document Type Definitions
Định nghĩa các khối trong XML
F-MML
Full MML
Generalized Interface Markup
Language
MML đầy đủ
Ngôn ngữ đánh dấu cho giao
diện tổng quát
Bộ công cụ cho giao diện tổng
quát
Mục tiêu, hoạt động, phương
thức, chọn lọc
Các phần mềm hỗ trợ làm việc
theo nhóm qua mạng
Phân tích nhiệm vụ sử dụng
Groupware
CLIPS
CSCW
CSS
CTT
CXML
GIML
GITK
Generalized Interface Toolkit
GOMS
Goals, Operators, Methods,
Selectors
Groupware
Collaborative software
GTA
Groupware Task Analysis
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
6
Luận văn cao học
HCI
Xây dựng giao diện thông minh dựa tác tử giao diện
MML
Model based intelligent interface
agent
Mobile Markup Language
Tương tác người máy
Ngơn ngữ đánh dấu cho thiết bị
cầm tay
Phân tích nhiệm vụ sử dụng cây
phân cấp
Ngôn ngữ đánh dấu siêu văn
bản
Lịch sử tương tác
Ngôn ngữ đánh dấu cho tương
tác nhiều dạng đầu vào
Thư viện Java hỗ trợ xây dựng
giao diện
Ngôn ngữ kịch bản sử dụng cú
pháp của Java
Phần mềm hỗ trợ mạng sử dụng
ngôn ngữ Java của Sun
Công nghệ tạo web động sử
dụng Java
Một công nghệ mới của
Microsoft
Một kiểu giao diện trên Java,
nhìn và cảm nhận
Một dạng cơng cụ hay chức
năng
Mơ hình dựa trên tác tử giao
diện thơng minh
Ngơn ngữ đánh dấu cho di động
M-MML
Medium MML
MML mức trung bình
Personal Device Assitant
Trình duyệt mã nguồn mở
Mơ hình phủ, bao trùm bên
ngồi
Thiết bị trợ giúp cá nhân
HDML
Human Computer Interaction
Handheld Device Markup
Language
HTA
Hierarchical Task Analysis
HTML
Hyper Text Markup Language
IH
Interaction History
Interaction Multimodal Markup
Language
IM2L
Java Swing
JavaScript
Jini/Java
JSP
Java Server Page
longhorn
look-and-feel
Metaphor
MI2A
Mozilla
Overlay
PDA
script
S-MML
TIDE
Ngôn ngữ kịch bản
Small MML
Transformation-based Interaction
Development Environment
UIML
User Interface Markup Language
Upnp
Universal Plug and Play
useML
Useware Markup Language
MML mức nhỏ
Chuyển đổi dựa trên môi trường
phát triển tương tác
Ngôn ngữ đánh dấu cho giao
diện người dùng
Chuẩn kết nối các thiết bị của
nhiều nhà cung cấp khác nhau
Ngôn ngữ mô tả giao diện giữa
người và máy
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
7
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
W3C
USer Interface eXtensible
Markup Language
User Interface Description
Language for Virtual
Environments
World Wide Web Consortium
Ngôn ngữ đánh dấu cho giao
diện người dùng
Ngôn ngữ đánh dấu mở rộng
cho giao diện người dùng
Ngôn ngữ mô tả giao diện
người dùng cho môi trường ảo
dựa trên XML
Tổ chức mạng tồn cầu
WebML
Web Markup Language
Ngơn ngữ đánh dấu cho Web
widgets
Controls
Các phần tử trên giao diện
Phương pháp tạo nhanh các
mẫu cho những hệ thống cần
chi phí cao, hay công nghệ mới
Ngôn ngữ đánh dấu cho mạng
không dây
Ngôn ngữ đánh dấu ứng dụng
mở rộng
Ngôn ngữ đánh dấu để mô tả
việc gắn kết với phần tử của tài
liệu khác
Thế hệ kế tiếp của HTML form
Ngôn ngữ thành phần cho giao
diện người dùng mở rộng
Ngôn ngữ đánh dấu giao diện
mở rộng
Các thư viện ngôn ngữ C để
giao diện với XWindows
Ngôn ngữ đánh dấu mở rộng
Ngôn ngữ mô tả giao diện
người dùng dựa trên XML
Giao diện đồ họa trên Linux
USIML
USIXML
VRIXML
USer Interface Markup Language
Wizard of Oz
WML
Wireless Markup Language
XAML
Extensible Application Markup
Language
XBL
Extensible Binding Language
XForms
XICL
XIML
eXtensible User Interface
Component Language
eXtensible Interface Markup
Language
Xlib
C Language X Interface
XML
Extensible Markup Language
XUL
XML User Interface Language
XWindows
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
8
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
Lời nói đầu
Ngày nay, trên thế giới ngày càng có nhiều người sử dụng máy tính, đặc
biệt là ở các quốc gia có nền kinh tế phát triển. Trong 60 năm qua, số lượng
người sử dụng máy tính trên tồn thế giới đã tăng lên nhanh chóng và sẽ còn tiếp
tục tăng trưởng nhanh hơn nữa trong tương lai. Nếu nghiên cứu một cách kỹ
càng giai đoạn phát triển vừa qua, chúng ta có thể thấy rõ hai xu hướng. Xu
hướng thứ nhất là sự gia tăng trong việc sử dụng máy tính và chíp máy tính
nhằm thúc đẩy sự phát triển trên nhiều lĩnh vực. Kể từ khi chiếc máy tính điện tử
đầu tiên ra đời vào những năm 40 của thế kỷ trước, số lượng người dùng máy
tính và các ứng dụng trên nó đã có bước tăng trưởng nhảy vọt. Trước năm 1970,
máy tính chủ yếu chỉ được sử dụng trong các viện nghiên cứu như một món hàng
xa xỉ đắt tiền, phục vụ cho mục đích nghiên cứu khoa học và chỉ những lập trình
viên có chun mơn cao mới có khả năng để thực hiện các tính tốn trên máy
tính. Tuy nhiên, mọi thứ đã bắt đầu thay đổi một cách mạnh mẽ với sự ra đời của
chiếc máy tính cá nhân đầu tiên vào những năm 80 của thế kỷ 20. Giá thành của
máy tính đã hạ xuống, ngày càng có nhiều người hơn đủ khả năng để tậu cho
riêng mình một chiếc máy tính. Cùng với sự phát triển của máy tính cá nhân,
giao diện của các trình ứng dụng trên máy tính, từ loại giao diện dịng lệnh đến
các giao diện đồ họa cũng được phát triển thêm mới và ngày càng hỗ trợ cho
việc học sử dụng máy tính được dễ dàng và thuận lợi hơn. Cùng với nó là rất
nhiều các ứng dụng mới của máy tính cũng được phát triển như: xử lý văn bản,
bảng tính điện tử, màn hình làm việc và trị chơi máy tính.
Nhưng mọi việc vẫn chưa dừng lại ở đó, trong những năm 1990, chúng ta
đã chứng kiến sự phát triển vượt bậc của ngành công nghiệp công nghệ thông tin
và truyền thông, đặc biệt là sự bùng nổ của Internet đã kích thích việc sử dụng
máy tính. Những người dùng có cùng sở thích trên tồn thế giới có thể “gặp gỡ”
nhau trong một cộng đồng ảo trên Internet, với sự xuất hiện của máy tính xách
tay, con người khơng cịn bị giới hạn về mặt khơng gian khi mà họ có thể sử
Lê Hải Qn/Cao học 2003/Khoa Cơng nghệ thông tin
9
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
dụng máy tính ở bất kỳ nơi đâu mà họ muốn, chứ không chỉ là tại văn phòng hay
nhà riêng. Ngày nay, hàng triệu con người trên tồn thế giới đang sử dụng máy
tính ở những địa điểm khác nhau và trong những hoàn cảnh cũng rất khác nhau.
Con người, cùng với một thiết bị trợ giúp cá nhân (PDA) hay một chiếc điện
thoại di động có khả năng kết nối Internet là có thể liên lạc với bất kỳ ai, ở bất cứ
nơi đâu và trong bất kỳ thời gian nào. Điều mong muốn, máy tính ở khắp mọi
nơi đã trở thành hiện thực.
Xu hướng thứ hai phát triển song song với xu hướng thứ nhất đó là sự gia
tăng về độ phức tạp của các chương trình máy tính và giao diện của chúng. Với
sự gia tăng gấp đơi của năng lực máy tính sau mỗi 18 tháng theo dự đoán của
định luật Moore, các nhà phát triển phần mềm có thể đưa thêm nhiều chức năng
mới vào chương trình máy tính, tự do phát huy ý tưởng sáng tạo của mình. Tuy
nhiên, nhiều chương trình hơn cũng có nghĩa là sẽ có nhiều giao diện hơn, và
người dùng sẽ liên tục phải học cách sử dụng một giao diện mới. Nếu chúng ta
xem xét đến những phiên bản gần đây nhất của phần mềm soạn thảo Microsoft
Word, một phần mềm rất phổ biến với nhiều người dùng, thì có thể thấy rõ ràng
một sự thật là khơng ai có thể sử dụng hết tất cả các chức năng của nó, khơng chỉ
đơn thuần vì nó có quá nhiều các tùy biến và lựa chọn cần cài đặt mà cịn bởi vì
mọi người khơng biết làm cách nào để sử dụng chúng, hay thậm chí tệ hơn nữa,
khơng biết các chức năng đó dùng vào việc gì.
Hai xu hướng được mơ tả ở trên làm sáng tỏ cho chúng ta thấy một điều
rằng, cần phải có các giao diện “thật tốt” giữa con người và máy tính. Chúng ta
muốn giao diện máy tính có thể hiểu được những khó khăn của người dùng, giúp
đỡ và giải thích cho họ, làm cách nào để có thể sử dụng được các chức năng
trong chương trình. Rất nhiều người sử dụng máy tính đã có kinh nghiệm với các
vấn đề rắc rối khi sử dụng máy tính, mà trong đó hầu hết các rắc rối này lại đều
có liên quan đến giao diện, ví dụ như: menu lựa chọn rắc rối, các thơng báo lỗi
khó hiểu, sự tương tác cứng nhắc và thiếu tự nhiên, v.v... Đặc biệt với những
người mới sử dụng máy tính, người cao tuổi, hoặc những người tàn tật thì càng
gặp nhiều khó khăn hơn khi sử dụng. Tuy nhiên, ngay cả với những người đã có
Lê Hải Qn/Cao học 2003/Khoa Cơng nghệ thơng tin
10
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
kinh nghiệm khi sử dụng máy tính, thì họ cũng vẫn thường xuyên gặp phải
những vấn đề tương tự. Trong khi đó, một mục tiêu mà chúng ta lâu nay vẫn
theo đuổi, đó là phải phổ cập máy tính cho tất cả mọi người.
Luận văn này với mục tiêu nghiên cứu các lý thuyết về giao diện thơng
minh và tác tử giao diện. Sau đó sẽ trình bày một phương pháp mơ hình hóa các
tương tác với giao diện của người dùng, trên cơ sở đó đưa ra các dự đoán về
hành vi của người dùng và xây dựng tác tử trợ giúp cho người dùng khi họ sử
dụng giao diện. Luận văn sẽ bao gồm 4 chương trình bày những nội dung sau:
Chương 1 sẽ trình bày những cơ sở lý thuyết liên quan đến giao diện
người dùng thông minh. Bắt đầu từ định nghĩa, các thuộc tính và sự cần thiết của
giao diện người dùng thông minh cho các hệ thống hiện nay. Tiếp theo, chương
này sẽ trình bày các thành phần của một giao diện thơng minh, quy trình thiết kế
giao diện, và cuối cùng là các ngôn ngữ mô tả giao diện phổ biến hiện nay.
Chương 2 trình bày những vấn đề liên quan đến tác tử giao diện thông
minh và ứng dụng tác tử vào xây dựng giao diện người dùng thông minh. Các
vấn đề của tác tử giao diện thông minh bao gồm khái niệm, các đặc điểm cơ bản
của nó, và thậm chí trình bày cả những quan điểm phản đối tác tử giao diện
thơng minh. Sau đó là phần trình bày về mơ hình kiến trúc xây dựng giao diện
dựa trên tác tử giao diện thơng minh, cách tích hợp tác tử với giao diện.
Chương 3 thảo luận về mơ hình nhiệm vụ, một thành phần quan trọng
trong tác tử giao diện thơng minh. Mơ hình nhiệm vụ bao gồm nhiều thành phần
như nhiệm vụ, hành động, mục tiêu v.v… Các phương pháp phân tích nhiệm vụ
từ trước đến nay và phương pháp xây dựng mơ hình nhiệm vụ sử dụng đồ thị
AND/OR.
Chương 4 sẽ trình bày về mơ hình tương tác và năm giải thuật để xây
dựng mơ hình tương tác, sau đó sẽ là phần phân tích và đánh giá các giải thuật
này. Cuối cùng là xây dựng một ứng dụng thử nghiệm mơ hình tích hợp tác tử
trợ giúp với giao diện người dùng.
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
11
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
Chương I: Cơ sở lý thuyết về giao diện người dùng
thông minh
1.1. Giao diện người dùng thông minh
1.1.1. Tại sao cần sử dụng giao diện người dùng thơng minh ?
Nếu chúng ta nhìn lại cách mà chúng ta tương tác với máy tính hiện nay,
có thể thấy rất nhiều điều đã thay đổi so với 20 năm trước đây. Trước đây,
chương trình phải sử dụng nhiều các ràng buộc ở đầu vào, người dùng phải tuân
thủ nhiều quy tắc khi nhập liệu, thì hiện nay giao diện đã trở nên mềm dẻo và
linh hoạt hơn. Các giao diện hiện đại ngày nay đang cố gắng để trở nên thân
thiện hơn bằng cách sử dụng các màn hình làm việc, bao gồm nhiều “cửa sổ”
trình bày các thư mục và các tệp tài liệu. Tuy nhiên, hầu hết các giao diện hiện
đại ngày nay đều gặp phải giới hạn khi muốn nắm bắt các nhu cầu khác nhau của
nhiều người dùng và thiếu sự cá nhân hóa. Giao diện người dùng thông minh là
một bộ phận nằm trong lĩnh vực nghiên cứu Tương tác người máy. Mục tiêu của
Giao diện người dùng thông minh là để cải thiện sự tương tác giữa người và máy
bằng cách sử dụng các công nghệ mới và thông minh. Sự tương tác này khơng
chỉ giới hạn cho máy tính, mà nó cịn có thể áp dụng cho việc cải thiện các giao
diện của các thiết bị máy móc được máy tính hóa (gắn chíp) như tivi, tủ lạnh hay
điện thoại di động. Sử dụng các kỹ thuật trong lĩnh vực nghiên cứu trí tuệ nhân
tạo, giao diện người dùng thơng minh giải quyết sự đa dạng của các loại đầu vào
và đầu ra, đồng thời trợ giúp cho người sử dụng một cách thông minh nhất.
Chúng giải quyết một số vấn đề mà các giao diện người dùng hiện nay chưa thể
thực hiện được, bao gồm [6]:
• Tạo ra các hệ thống được cá nhân hóa (phù hợp với từng người sử dụng):
Trên thực tế, khơng có hai người nào giống nhau hồn tồn và mỗi người
đều có những thói quen khác nhau, sở thích khác nhau cùng với phương pháp và
mơi trường làm việc khác nhau. Một giao diện thông minh có thể nắm bắt được
những sự khác nhau này, sau đó đưa ra các phương pháp tương tác phù hợp với
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
12
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
từng người sử dụng. Giao diện “hiểu” người dùng và sử dụng “kiến thức” của nó
để giao tiếp với người dùng.
• Q nhiều thơng tin hay vấn đề phải lựa chọn thơng tin:
Tìm kiếm được chính xác thơng tin trên máy tính của mình hay trên
Internet có thể hiểu tương tự như việc đi tìm một cây kim trong đống cỏ khô.
Giao diện người dùng thông minh có thể giảm bớt sự q tải về thơng tin, khi
người dùng phải đi tìm thơng tin trong những cơ sở dữ liệu lớn hay các hệ thống
phức tạp. Bằng cách lọc bớt các thông tin không liên quan, giao diện thơng minh
có thể giảm bớt gánh nặng cho người sử dụng trong việc sàng lọc, nhận biết
thông tin. Hơn nữa, một giao diện người dùng thơng minh cịn có thể cung cấp
những nguồn thơng tin mới, có giá trị mà người dùng chưa biết.
• Cung cấp hướng dẫn sử dụng cho các chương trình mới và phức tạp:
Các hệ thống máy tính có thể trở nên cực kỳ rối rắm và phức tạp khi
người dùng lần đầu tiên làm việc với chúng. Khi người dùng còn đang loay hoay
để tìm cách sử dụng một chương trình mới, thì các phiên bản mới hay bản cập
nhật của phần mềm lại tiếp tục xuất hiện với các chức năng mới hơn, do đó, rất
nhiều người sử dụng đã khơng thể theo kịp với sự phát triển này. Các hệ thống
trợ giúp thơng minh có thể phát hiện và chỉnh sửa những sai lầm của người
dùng, giải thích các thuật ngữ, chức năng mới, cung cấp các thông tin giúp công
việc trở nên đơn giản và dễ dàng hơn.
• Hỗ trợ một phần công việc từ người dùng:
Một giao diện thông minh có thể nhận biết người dùng đang làm gì, tìm
hiểu và đốn nhận mục đích của người dùng, sau đó đảm nhận hoàn toàn hoặc
một vài phần việc của người dùng, cho phép họ có thể tập trung vào thực hiện
cơng việc khác. Ví dụ, sau khi người dùng thực hiện một thao tác và chờ đợi kết
quả, thì nó có thể chờ đợi kết quả thay cho người dùng, khi máy tính đã hồn
thành cơng việc đó, nó sẽ thơng báo cho người dùng biết để họ có thể quay lại
làm việc tiếp.
• Tạo ra các kiểu tương tác khác:
Ngày nay, những thiết bị tương tác phổ biến nhất là chuột và bàn phím.
Lê Hải Qn/Cao học 2003/Khoa Cơng nghệ thông tin
13
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
Những nghiên cứu về giao diện người dùng thơng minh đang tìm kiếm các
phương pháp khác cho việc tương tác giữa người và máy (có thể là giọng nói
hoặc cử chỉ). Với việc tạo ra nhiều kiểu tương tác, những người tàn tật cũng sẽ
có khả năng để sử dụng máy tính một cách dễ dàng hơn, tạo cơ hội cho họ tiếp
cận nhiều hơn với máy tính.
Nói tóm lại, thay vì người dùng phải tập thích nghi với các loại giao diện,
thì ngược lại, một giao diện thơng minh phải tìm cách thích nghi với người dùng
và mơi trường của nó. Giao diện người dùng thơng minh sẽ cố gắng xác định các
nhu cầu của từng cá nhân người sử dụng và nỗ lực để đạt được hiệu quả cao nhất
trong giao tiếp.
1.1.2. Giao diện người dùng thơng minh là gì ?
1.1.2.1. Định nghĩa
Như đã đề cập trong phần trước, giao diện thông minh là một bộ phận
trong lĩnh vực nghiên cứu tương tác Người - Máy tính (HCI). Đi sâu tìm hiểu chi
tiết vấn đề, có thể thấy thuật ngữ “giao diện người dùng thơng minh” được sử
dụng để mô tả một kiểu giao diện đặc biệt nhưng đồng thời nó cũng là một lĩnh
vực để nghiên cứu. Một số cụm từ có ý nghĩa tương tự cũng đã được đưa ra như
giao diện thích nghi, giao diện đa phương thức, hay công nghệ giao diện thông
minh. Hai cụm từ đầu tiên thực chất là hai trong số những thành phần cần nghiên
cứu của giao diện thông minh, nhưng trong thời gian gần đây lại được sử dụng
như một khái niệm tương đồng với lĩnh vực nghiên cứu giao diện người dùng
thông minh.
Vấn đề khiến nhiều người đau đầu nhất khi định nghĩa thuật ngữ “giao
diện người dùng thơng minh” nằm chính ở cụm từ “thông minh”. Nhiều thập kỷ
qua, nhiều nhà nghiên cứu đã cố gắng để định nghĩa cụm từ “thông minh” này.
Quay lại những năm 1950, khi mà Alan Turing đã tiếp cận đến một ý tưởng để
có thể định nghĩa “sự thông minh” bằng những công cụ mà ngày nay chúng ta
vẫn gọi là Turing Test, tuy nhiên các cuộc tranh luận khơng vì thế mà dừng lại.
Trải qua nhiều năm, nhiều định nghĩa về sự thông minh cũng đã được đưa ra.
Hầu hết các định nghĩa này đều đề cập đến khả năng thích nghi (khả năng học và
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
14
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
giải quyết các tình huống mới), khả năng giao tiếp, và khả năng giải quyết các
vấn đề.
Một giao diện người dùng “thông thường” được định nghĩa như là cách
giao tiếp giữa một người dùng với một máy tính [6]. Nếu chúng ta mở rộng định
nghĩa này, chúng ta có thể nói rằng, một giao diện người dùng “thông minh” sử
dụng một số công nghệ thông minh để đạt được sự giao tiếp Người - Máy này.
Nói một cách khác, giao diện người dùng thông minh là giao diện có khả năng
thích nghi với người sử dụng, giao tiếp với họ, và giải quyết các vấn đề cho họ.
“Giao diện người dùng thơng minh có mục tiêu rõ ràng là nhằm tăng cường
tính linh hoạt, tính tiện dụng, và khả năng tương tác người - máy cho tất cả
những người sử dụng. Để thực hiện mục tiêu này, chúng khai thác sự hiểu biết
của người dùng, các nhiệm vụ, các công cụ và nội dung, cũng như các thiết bị để
hỗ trợ cho việc tương tác trong các hồn cảnh khác nhau khi sử dụng.” [6]
Sự thích nghi và khả năng giải quyết vấn đề là các chủ đề quan trọng và
nhận được nhiều sự quan tâm trong lĩnh vực nghiên cứu trí tuệ nhân tạo, nhờ nó
mà nhiều giao diện người dùng thông minh đã rút ra được rất nhiều những kỹ
thuật quan trọng đã được phát triển trong khi nghiên cứu trí tuệ nhân tạo. Tuy
nhiên, không phải tất cả các giao diện người dùng thông minh đều có khả năng
học hay giải quyết vấn đề. Nhiều giao diện mà chúng ta coi là thông minh chủ
yếu tập trung vào các kênh giao tiếp giữa người sử dụng và máy tính. Những
giao diện này thường ứng dụng các kỹ thuật tương tác mới như xử lý tiếng nói,
nhận biết hướng nhìn của mắt hay nhận biết cử chỉ, nét mặt. Ngoài ra, các lĩnh
vực nghiên cứu khác cũng có những ảnh hưởng nhất định đến giao diện người
dùng thơng minh. Ví dụ như: tâm lý học, khoa học nghiên cứu về lao động, nhân
tố con người, khoa học dựa trên kinh nghiệm và khoa học xã hội. Trong hình 1.1
[6], chúng ta mơ tả rất nhiều các chủ đề nghiên cứu và mối quan hệ của chúng
đối với các lĩnh vực nghiên cứu khác.
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
15
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
Tâm lý học
Nhận biết nét mặt
Nhận biết cử chỉ
Mơ hình người dùng
Máy học
Trí tuệ
nhân tạo
Nhận biết kế hoạch
Quản lý hội thoại
Đa dạng đầu
vào/đầu ra
Lọc thơng tin
Tiện ích
Các hệ thống
hướng dẫn
Tác tử thông minh
Các hệ thống đa
phương tiện
Xử lý ngơn
ngữ tự nhiên
Nhận dạng giọng nói
Xử lý dựa trên
kinh nghiệm
Giao diện người
dùng thông minh
Phục hồi thông tin
Phương pháp
thiết kế
Các công cụ
thiết kế
Tương tác
người máy
Giả lập
Biểu diễn thông tin
Các lĩnh vực liên quan khác
Hình 1.1: Lĩnh vực nghiên cứu giao diện người dùng thông minh và một số
chủ đề liên quan
1.1.2.2. Các thuộc tính của giao diện người dùng thơng minh
Thuộc tính quan trọng nhất của giao diện người dùng thông minh là chúng
được thiết kế để cải thiện khả năng giao tiếp giữa người dùng và máy tính.
Người ta thường không để ý nhiều đến những kỹ thuật nào sẽ được sử dụng cho
quá trình cải thiện này, mà quan tâm tới “sự thông minh” của giao diện. Sau đây
sẽ là danh sách của rất nhiều các kỹ thuật hiện nay đang được sử dụng trong giao
diện người dùng thơng minh [6]:
• Kỹ thuật đầu vào thơng minh sử dụng các kỹ thuật mới để nhận những
thông tin đầu vào dưới nhiều hình thức từ người dùng. Những kỹ thuật
này bao gồm ngôn ngữ tự nhiên, theo dõi và nhận biết cử chỉ, nhận biết
các biểu hiện trên khuôn mặt và hướng nhìn của người dùng;
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
16
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
• Mơ hình người dùng bao gồm các kỹ thuật cho phép một hệ thống lưu trữ
hay suy luận ra các tri thức về một người dùng dựa trên những đầu vào
nhận được;
• Khả năng thích ứng với người dùng bao gồm tất cả các kỹ thuật cho
phép cải thiện khả năng giao tiếp Người - Máy, máy tính có thể thích ứng
được với nhiều người sử dụng khác nhau và trong các tình huống khác
nhau. Ví dụ như, máy học hay nhận biết hồn cảnh;
• Sinh giải thích bao gồm tất cả các kỹ thuật cho phép một hệ thống giải
thích các kết quả của nó cho người dùng, ví dụ sử dụng đầu ra bằng giọng
nói, các tác tử giao diện, nhận thơng tin phản hồi từ môi trường.
Bên cạnh việc cải thiện khả năng giao tiếp, những thuộc tính quan trọng
khác của giao diện người dùng thơng minh là tăng tính cá nhân hóa và mức độ
linh hoạt khi sử dụng. Để đạt được sự cá nhân hóa, giao diện người dùng thơng
minh thường lưu trữ thêm các thông tin về người sử dụng. Nó sử dụng các mơ
hình người dùng để ghi lại nhật ký dữ liệu về các hành vi của người sử dụng, sự
hiểu biết và các khả năng của họ. Các tri thức mới về người dùng có thể được
suy luận dựa trên thông tin đầu vào và lịch sử tương tác của người dùng với hệ
thống. Để tăng thêm tính linh hoạt thì nhiều giao diện người dùng thơng minh đã
sử dụng tính thích nghi hay khả năng học. Sự thích nghi có thể được tạo ra dựa
trên các tri thức được lưu trữ trong mơ hình người dùng hoặc bằng cách đưa ra
các suy luận sử dụng thông tin đầu vào hiện tại. Quá trình học xảy ra khi các tri
thức được lưu trữ đã trở nên lỗi thời và cũng nhằm tương thích với các dữ liệu
mới. Do cịn nhiều khó khăn trong q trình tạo giao diện người dùng thông
minh, cho nên hầu hết các giao diện người dùng thông minh hiện nay chỉ tập
trung vào một phương pháp tương tác nhất định (giọng nói) hoặc chỉ trên một
phạm vi ứng dụng đã được xác định rõ ràng.
1.1.3. Giao diện người dùng thông minh khác với một hệ thống thơng
minh
Một sai lầm thường mắc phải đó là sự nhầm lẫn giữa một giao diện người
dùng thông minh với một hệ thống thông minh. Một hệ thống có những đặc điểm
Lê Hải Qn/Cao học 2003/Khoa Cơng nghệ thông tin
17
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
được coi là “thơng minh” thì cũng khơng nhất thiết phải có một giao diện thơng
minh. Nhiều hệ thống thông minh vẫn đi cùng với các giao diện đơn giản khơng
thơng minh, và ngược lại, cũng có những hệ thống với một giao diện thông minh
nhưng hệ thống bên dưới thì lại khơng hề có sự thơng minh. Hình 1.2 cho thấy
sự khác nhau giữa hệ thống thơng minh và giao diện thơng minh [6]:
NGƯỜI DÙNG
đầu vào
thơng
thường
(kích
chuột)
đầu ra
thơng
thường
(màn
hình)
NGƯỜI DÙNG
đầu vào
(kích
chuột, ngơn
ngữ tự
nhiên)
đầu ra thích
nghi trên
màn hình
(chọn lọc)
đầu ra
khác
(bằng
giọng
nói)
Giao diện
Giao diện thơng minh
Hệ thống thơng minh
Hệ thống
Hình 1.2: Một hệ thống thông minh khác với một giao diện thông minh
Vấn đề là ở chỗ, ranh giới giữa hệ thống bên dưới và giao diện của nó
trong một hệ thống thường không phân biệt được rõ ràng. Thông thường, các
công nghệ được sử dụng trong giao diện người dùng thông minh cũng là một
phần công nghệ sử dụng cho hệ thống bên dưới, hoặc thậm chí, giao diện người
dùng thơng minh có thể được xây dựng theo cơng nghệ của tồn bộ hệ thống. Ví
dụ, một hệ thống nhận dạng tiếng nói bản thân nó đã có thể là một hệ thống,
nhưng đồng thời nó cũng có thể chỉ là một thành phần trong giao diện thông
minh của một hệ thống khác. Nếu một giao diện người dùng thông minh bản
thân nó đã được coi như là một hệ thống, thì nó có thể được định nghĩa như một
hệ thống thông minh.
1.2. Các thành phần của giao diện thông minh
1.2.1. Mơ hình người dùng
Mơ hình người dùng là một trong những thành phần quan trọng nhất của
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
18
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
giao diện thơng minh. Khơng có mơ hình người dùng, chương trình sẽ khơng có
bất kỳ thơng tin nào làm cơ sở để thiết kế nên những nét đặc trưng riêng của giao
diện. Mơ hình người dùng là một sự diễn giải những thông tin về người dùng
nhằm mục đích xác định kiểu trợ giúp đối với người dùng.
1.2.2. Đa mơ hình giao tiếp
Các giao diện thơng minh sử dụng nhiều cách giao tiếp khác nhau cho ta
một đa mơ hình giao tiếp. Ví dụ, giao tiếp thông qua ngôn ngữ tự nhiên hoặc sử
dụng cách nhấn chuột vào các biểu tượng trên màn hình để ra lệnh, sau đó máy
tính sẽ trả lời bằng giọng nói. Trong hệ thống sử dụng đa mơ hình giao tiếp,
người dùng có thể điều khiển và nhận kết quả từ hệ thống một cách trực quan đạt
hiệu quả cao bằng cách ra hiệu bằng tay hay dùng xúc giác. Sự kết hợp này làm
cho hệ thống hoạt động một cách rất có hiệu quả. Đa mơ hình giao tiếp giúp hệ
thống đạt được ít nhất hai mục đích:
• Nó cho phép người dùng sử dụng các thao tác một cách trực tiếp gần gũi
với thao tác tự nhiên.
• Người dùng khơng nhất thiết phải ngồi trước máy tính khi làm việc với hệ
thống máy tính (ra lệnh bằng giọng nói).
Đa mơ hình giao tiếp rất quan trọng trong trường hợp người dùng không
thể tập trung vào làm một việc duy nhất, mà cần thực hiện nhiều cơng việc một
lúc. Ví dụ, một người dùng đang hướng sự chú ý của mình sang theo dõi một
cơng việc khác trong khi chờ đợi máy tính đưa ra kết quả, nếu hệ thống máy tính
chỉ đơn thuần đưa kết quả ra màn hình thì sẽ rất khó theo dõi, vì người dùng
khơng thể biết được lúc nào kết quả sẽ được đưa ra. Trong trường hợp này, nếu
kết quả được hệ thống máy tính đưa ra dưới dạng lời nói thì sẽ rất có hiệu quả.
Khi đó, người dùng khơng cần phải chăm chú nhìn vào màn hình để chờ đợi kết
quả mà họ có thể tập trung vào một cơng việc khác trong khi chờ kết quả mà hệ
thống sẽ đưa ra.
1.2.3. Khả năng nhận biết kế hoạch
Nhận biết kế hoạch được sử dụng trong giao diện thông minh để suy diễn
ra mục tiêu mà người dùng muốn đạt tới. Nó cần phải có một hệ thống tri thức
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
19
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
và mơ hình người dùng. Khả năng nhận biết kế hoạch sẽ giúp cho người dùng
phải thao tác ít nhất nhưng vẫn làm cho hệ thống hiểu được họ đang muốn gì.
Nhận biết kế hoạch cũng có thể được sử dụng trong hệ thống trợ giúp. Ví dụ, hệ
thống có thể trợ giúp người dùng tự khắc phục sự cố bằng cách đưa ra các hướng
dẫn dựa trên cơ sở phân tích q trình tương tác của người dùng.
1.2.4. Khả năng trình diễn động
Người dùng có thể quan tâm đến dữ liệu với nhiều ý nghĩa khác nhau. Hệ
thống cần phải đưa ra thông tin mà người dùng quan tâm. Nó khơng nên q
nhiều và cũng khơng thể quá nghèo nàn. Thông tin đưa ra phải dễ hiểu và có
hiệu quả cao nhất.
Ví dụ: Với hệ thống dữ liệu thơng minh thăm dị rừng nhiệt đới. Một
người dùng khơng thể bao qt được tồn bộ số liệu quan sát bởi nó q nhiều.
Dữ liệu thăm dị được sẽ được gửi tới hệ thống máy tính và được chia thành các
chuyên ngành. Nhà côn trùng học sẽ nhận dữ về sâu bọ rừng nhiệt đới, nhà thực
vật học sẽ nhận dữ liệu về cây cối. Thậm chí có thể chia thành các lĩnh vực nhỏ
hơn như: chuyên ngành nghiên cứu về hành vi cộng đồng của loài kiến hay vịng
đời của lồi bướm. Mỗi nhà khoa học nghiên cứu riêng một lĩnh vực riêng nhưng
lại có sự liên quan với nhau. Ví dụ việc thụ phấn do cơn trùng lại liên quan đến
sự phát triển của một loại cây nào đó. Trong hệ thống này, nhà cơn trùng học lại
có thể tham khảo số liệu về thực vật học của rừng nhiệt đới. Sự giao nhau giữa
các lĩnh vực khoa học địi hỏi thơng tin đưa ra phải thông minh, bao hàm được
nhiều dữ liệu cần thiết nhất cho người dùng. Khả năng trình diễn động sẽ đưa ra
những dữ liệu cần thiết nhất đối với từng người dùng.
1.2.5. Ngôn ngữ tự nhiên
Ngôn ngữ tự nhiên là một trong những kỹ thuật tốt nhất để làm cho một
hệ thống trở nên trực quan hơn. Thay cho việc phải nhớ các lệnh người dùng chỉ
cần thể hiện những gì mình muốn bằng lời nói.
1.2.6. Khả năng trợ giúp thơng minh
Trợ giúp thông minh mang lại nhiều thông tin cần thiết hơn cho người
dùng. Ví dụ, người làm vườn muốn biết tại sao dưa năm nay trồng năng suất rất
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
20
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
kém. Hệ thống lưu trữ cho thấy lượng mưa đầu năm nay rất ít và đưa ra gợi ý
cho người làm vườn biết đó là nguyên nhân gây ra năng suất dưa kém. Trợ giúp
thơng minh có thể được sử dụng khi người dùng gọi chức năng “Trợ giúp” của
hệ thống. Hệ thống có thể đốn nhận rằng người dùng đang gặp rắc rối với công
việc nào đó, ví như việc in tài liệu. Hệ thống trợ giúp có thể gợi ý bằng cách hỏi
xem người dùng đã thiết lập máy in chưa, máy in đã được cắm điện chưa, v.v…
1.2.7. Khả năng thích nghi của giao diện
Người dùng có thể mong muốn có một sự ưu tiên nào đó trong giao diện
của mình. Đồng thời, hệ thống có thể làm cho bản thân nó thích nghi tốt hơn với
người dùng thông qua những mong muốn của người dùng. Ví dụ, khi người dùng
di chuột đến gần một nút nhấn nào đó thì hệ thống có thể làm cho nút nhấn đó to
ra. Khả năng đáp ứng của giao diện cũng thể hiện ở chỗ tuỳ thuộc vào sự phân
tích mơ hình người dùng mà đưa ra giao diện khác nhau. Ví dụ, có người cảm
thấy rất tiện lợi với giao diện kiểu menu trong khi người khác lại thích tính linh
hoạt của giao diện kiểu dịng lệnh. Tùy thuộc vào mơ hình người dùng, hệ thống
sẽ đưa ra giao diện thích ứng nhất với người dùng.
1.3. Thiết kế giao diện người dùng
1.3.1. Quy trình thiết kế chung
Một giao diện được thiết kế kém thì điều duy nhất mà nó có thể làm được
chỉ là gây ra sự khó chịu cho người sử dụng nó, thậm chí cịn có khả năng xảy ra
rủi ro khi mà giao diện rối rắm khiến người dùng hiểu nhầm. Ví dụ, một người
điều hành lò phản ứng hạt nhân sẽ bị lúng túng khi mà máy tính của anh ta lại
đưa ra những thông báo lỗi khác lạ về việc nhiệt độ của lò phản ứng lên cao.
Những giao diện người dùng thông minh cũng cần phải được thiết kế một cách
cẩn thận như bất kỳ một sản phẩm nào khác. Tuy nhiên, đối với các lĩnh vực
nghiên cứu mới, một sai lầm thường gặp là mọi người hay bỏ qua các phương
pháp thiết kế cũ, mặc dù chúng đã được chứng minh là đúng đắn, và trong
trường hợp thiết kế giao diện người dùng thơng minh thì điều này cũng khơng
phải là ngoại lệ. Ví dụ, một ngun tắc trong thiết kế đó là, các giao diện thơng
minh phải được tích hợp với q trình thiết kế ngay từ khi bắt đầu, tuy nhiên
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
21
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
trong thực tế thì nhiều khi nguyên tắc này lại không được tuân thủ một cách
đúng mức. Khi thiết kế một giao diện người dùng thông minh, người ta thường
có xu hướng chỉ quan tâm đến “sự thân thiện” của giao diện mà quên đi các yếu
tố khác. Sự mong muốn một giao diện người dùng phải thông minh như thế nào
cần được bày tỏ rõ ràng ngay từ khi phân tích các vấn đề. Trước hết, cần xem xét
một hệ thống có cần một giao diện người dùng thơng minh hay khơng. Nhìn
chung, các giao diện người dùng thơng minh thường mang tính tương đối nhiều
hơn so với các giao diện có dạng tương tác trực tiếp theo kiểu truyền thống, các
giao diện người dùng nếu muốn được coi là thông minh, phải cung cấp được một
số điểm giá trị gia tăng. Một khi người dùng đã thỏa mãn với những yêu cầu của
họ từ một giao diện tương tác trực tiếp, thì tại sao chúng ta lại phải mất cơng và
bỏ thêm chi phí để tạo ra một giao diện người dùng thông minh ? Quyết định
cuối cùng nằm ở chỗ, liệu chúng ta có thể tạo ra một cơ chế thích nghi trong giao
diện, mà trong đó cân bằng được giữa chi phí triển khai với mức độ cải thiện khả
năng tương tác của người dùng. Nếu các chức năng thích nghi được triển khai,
(nếu tất cả đều tốt) nó sẽ giúp người dùng giảm bớt quá trình phải học thêm các
chức năng mới trên giao diện của máy tính mà họ đang giao tiếp. Nhưng mặt
khác, một giao diện người dùng thông minh cũng sẽ yêu cầu thêm thời gian và
tài nguyên của máy tính để triển khai và duy trì. Một phương pháp thiết kế có thể
áp dụng chung cho các giao diện người dùng thông minh (và trong hầu hết các
lĩnh vực nghiên cứu khác) là việc lặp đi lặp lại q trình chỉnh sửa. Nó bao gồm
các bước sau [6]:
1. Phân tích người sử dụng, ứng dụng và mơi trường
2. Phát triển và khai thác các kỹ thuật trên giao diện hay là các metaphor
3. Đánh giá các hệ thống đã được phát triển
4. Thực hiện các chỉnh sửa dựa trên cơ sở các kết quả định giá và quay trở
lại bước 2
Mỗi lần quá trình này được lặp lại sẽ cho ta một kỹ thuật giao diện hay
một metaphor mới thích hợp hơn, sau đó chuyển sang bước thứ năm trong q
trình thiết kế, đó là:
Lê Hải Qn/Cao học 2003/Khoa Công nghệ thông tin
22
Luận văn cao học
Xây dựng giao diện thông minh dựa tác tử giao diện
5. Cập nhật các công cụ xây dựng giao diện để tích hợp các kỹ thuật hay
metaphor mới
Trong phần tiếp theo đây, chúng ta sẽ phân tích một cách kỹ hơn các bước
trong quy trình thiết kế.
1.3.2. Phân tích
Bước phân tích là bước quan trọng nhất trong bất kỳ quy trình thiết kế
nào, và nó càng quan trọng hơn trong thiết kế giao diện người dùng thông minh.
Trong quá trình thiết kế một giao diện bình thường khơng có tính thơng minh,
chúng ta cần phải phân tích ai là “người sử dụng trung bình” (mức độ yêu cầu
của đa số người dùng đối với giao diện); những nhiệm vụ nào mà giao diện cần
phải thực hiện, và chúng sẽ được thực hiện trên hệ thống nào. Đối với một giao
diện người dùng thơng minh thì thường khơng có “người sử dụng trung bình”.
Trong trường hợp lý tưởng thì một giao diện người dùng thơng minh phải có khả
năng thích nghi với bất kỳ người sử dụng nào, ở trong bất cứ mơi trường nào. Vì
vậy, các kỹ thuật thích nghi khi sử dụng cần phải được thiết kế một cách khái
quát nhất, sao cho chúng có thể hỗ trợ tất cả các kiểu người sử dụng. Trong thực
tế, rất khó để có thể đạt được điều này, do đó chúng ta có thể thực hiện đơn giản
hơn bằng cách chỉ tập trung vào một số kiểu người dùng nhất định. David
Benyon [6] đã xác định 5 hoạt động phân tích có liên quan đến nhau khi thiết kế
các hệ thống thích nghi:
1. Phân tích chức năng: Các chức năng chính của hệ thống là gì ?
2. Phân tích dữ liệu: Cấu trúc và ý nghĩa của dữ liệu trong ứng dụng là gì ?
3. Phân tích nhiệm vụ: Người sử dụng cần phải có những khả năng nhận
biết gì, ví dụ như, giả định mơ hình tri thức, các chiến lược tìm kiếm, mức
độ nhận biết cần phải đáp ứng v.v… ? Phân tích này yêu cầu một vài thiết
kế phải được hồn thành trước khi có thể thực hiện nó.
4. Phân tích người sử dụng: Người sử dụng thuộc kiểu người nào và họ có
khả năng gì, về mặt tri thức và kinh nghiệm ?
5. Phân tích mơi trường: Hệ thống sẽ hoạt động trong mơi trường nào ?
Kết quả của q trình phân tích sẽ là một bản đặc tả các mục tiêu của
Lê Hải Quân/Cao học 2003/Khoa Công nghệ thông tin
23