Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
Mục lục
CƠ SỞ LÝ THUYẾT VỀ OPEN AGENT ARCHITECTURE VÀ
INTERFACE AGENT 9
MÔ HÌNH XÂY DỰNG GIAO DIỆN TƯƠNG TÁC VỚI INTERFACE
AGENT 35
PHÁT TRIỂN INTERFACE AGENT TRÊN MÔI TRƯỜNG ỨNG DỤNG
ĐỘC LẬP 63
PHÁT TRIỂN INTERFACE AGENT TRÊN MÔI TRƯỜNG ỨNG DỤNG
PHÂN TÁN ÁP DỤNG CHO HỆ THỐNG BỆNH ÁN SỐ 93
Đánh giá kết quả nghiên cứu và hướng phát triển 118
PHỤ LỤC 122
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 1 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
Lời giới thiệu
Sự phát triển của công nghệ phần mềm đã làm thay đổi diện mạo của hầu hết
các lĩnh vực của cuộc sống. Hầu hết các vấn đề của các lĩnh vực như quản lý hay các
vấn đề có đặc thù công việc riêng đều có sự tham gia và trợ giúp của máy tính.
Trên cơ sở đó, các hệ thống phần mềm ngày càng có những yêu cầu cao hơn về
khả năng giải quyết các vấn đề phức tạp, đặc thù, phải xử lý một lượng thông tin lớn,
đa dạng và được thu nhận theo các định dạng khác nhau. Đáp ứng các yêu cầu này là
sự ra đời của các phần mềm máy tính tinh vi hơn, thông minh hơn nhưng cũng phức
tạp và khó vận hành, đòi hỏi những hỗ trợ trong quá trình sử dụng.
Sự ra đời của công nghệ lập trình hướng agent là sự kết hợp giữa các lĩnh vực
nghiên cứu của trí tuệ nhân tạo và công nghệ lập trình hướng đối tượng tạo ra một
hướng phát triển mới cho việc giải quyết các yêu cầu về các hệ thống phần mềm phức
tạp. Công nghệ lập trình hướng agent cho phép tạo ra các hệ thống với một mức độ
thông minh, linh hoạt và có khả năng hoạt động một cách tự chủ trong các môi trường
Nghiên cứu mô hình xây dựng agent giao diện trên môi trường ứng dụng
độc. Trong mô hình này, các đặc tả được xây dựng theo cấu trúc XML. Nội
dung này được đề cập trong chương 3.
Nghiên cứu mô hình xây dựng agent giao diện trên môi trường ứng dụng
phân tán và khả năng xây dựng mô hình dữ liệu cho các đặc tả theo cấu trúc
ontology. Nội dung này được đề cập trong chương 4.
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 3 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
Danh mục hình vẽ
Hình 1: Kiến trúc cơ bản của Open Agent Architecture 13
Hình 2: Kiến trúc hệ trợ giúp công tác văn phòng khai triển kiến trúc OAA
16
Hình 3: Hệ thống văn phòng tự động 21
Hình 4: Vị trí của Interface agent trong hệ thống xây dựng giao diện 29
Hình 5: Qui trình tạo giao diện với sự tham gia của agent 33
Hình 6: Qui trình xây dựng giao diện hướng tác vụ truyền thống 35
Hình 7: Qui trình xây dựng và điều khiển giao diện với Interface agent 40
Hình 8: Cộng tác giữa Interface agent và người dùng 47
Hình 9: Các Segment trong một hội thoại hướng chức năng của con người
49
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 4 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
Hình 10: Vòng thay đổi trạng thái hội thoại và sinh đáp ứng 51
Hình 11: Biểu diễn trạng thái hội thoại 53
Hình 12: Mô hình xây dựng giao diện với sự tham gia của Interface agent
và các thành phần đặc tả 65
AWT Abstract Windows Toolkit Bộ thư viện lập trình trên môi trường
Windows của Java
BATS Bridging Agents, Tasks,
and Software
Chương trình sử lý theo lô công việc
tạo giao diện cho Interface agent
COLLAGEN Collaborative Agent Thư viện cho xây dựng và phát triển
hệ agent tương tác
CSS Cascading Style Sheet Bảng định kiểu
FTP File Transfer Protocol Giao thức truyền file
GUI Graphic User Interface Giao diện người dùng đồ họa
HCI Human Computer
Interaction
Tương tác người máy
HTML Hyper Text Markup
Language
Ngôn ngữ định dạng siêu văn bản
HTTP HyperText Transfer
Protocol
Giao thức truyền siêu văn bản
IA Interface Agent Agent giao diện
ICL Inter-agent
Communication Language
Ngôn ngữ truyền thông liên agent
Jade Java Agent Development
Framework
Thư viện hỗ trợ xây dựng agent.
JRE Java Runtime Enviroment Môi trường thực thi Java
OAA Open Agent Architecture Kiến trúc hệ agent mở
OWL Ontology Web Language Ngôn ngữ ontology cho ứng dụng
Language
Ngôn ngữ định dạng mở rộng
XSL Extension Style Language Ngôn ngữ mô tả định kiểu mở rộng
DOM Document Object Model Mô hình tài liệu XML hướng đối
tượng
SAX Simple API for XML Mô hình API đơn giản cho XML
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 8 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
CƠ SỞ LÝ THUYẾT VỀ OPEN AGENT
ARCHITECTURE VÀ INTERFACE AGENT
1.1 Tổng quan về Open Agent Architecture
1.1.1 Khái niệm Open Agent Architecture
Open Agent Architecture (kiến trúc hệ agent mở, viết tắt là OAA) là một khung
làm việc chung (hay framework) cho hệ liên (hay đa) agent mà trên đó một cộng đồng
các agent phần mềm được phát triển trên nhiều ngôn ngữ, nhiều công cụ khác nhau,
chạy trên các máy phân tán có thể cộng tác với nhau theo các nhiệm vụ đã được xác
định cụ thể cho từng agent.
Ý tưởng cơ bản và bao trùm của OAA là sự uỷ quyền. Sự uỷ quyền được thể
hiện ở điểm là thay vì các agent trong hệ thống phải khai báo và mã hoá một cách
cứng nhắc (hard-code) các khả năng của mình cũng như các tương tác với các agent
khác trong hệ thống, các agent có thể mô tả các khả năng của mình, các tương tác của
mình và khai báo nó với một agent đặc biệt trong hệ thống là Facilitator agent (agent
điều phối). Facilitator agent sẽ phối hợp cộng đồng agent để thực hiện các công việc,
cung cấp các dịch vụ như cơ chế song song, xử lý lỗi và phát hiện xung đột để mỗi
agent ứng dụng không phải tự lo về những vấn đề đó.
Mục tiêu của OAA dựa trên ý tưởng về một cộng đồng chung các agent hoạt
động cùng với nhau để giải quyết các vấn đề của người sử dụng. Mặc dù về nguyên
tắc, có thể tạo ra các agent đơn lẻ đóng vai trò tự thực hiện tất cả các nhiệm vụ được
Khả năng thích ứng (Adaptability):
Khi một số thành viên mới tham gia vào cộng đồng, hiệu quả chung của các
tương tác giữa cộng đồng có thể thay đổi. Nếu một số agent tham gia các tiến trình
cộng tác như những agent đến sau, các tương tác giữa các agent trong cộng đồng phải
đủ linh hoạt để cho phép các agent mới hoạt động được trong môi trường tính toán.
Một kiến trúc “Plug & Play” cho phép các hệ thống được xây dựng trên các agent đã
tồn tại trêncộng đồng từ trước có thể dễ dàng chấp nhận và tận dụng các ưu điểm, các
chức năng mới được bổ sung vào kiến trúc của một hay nhiều agent mới.
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 10 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
Nâng cao khả năng truyền thông (Communication):
Từ khi người dùng mong muốn tham gia thử nghiệm sự cộng tác giữa các
agent, ngôn ngữ tích hợp truyền thông ICL (sẽ được đề cập trong các phần tiếp theo
của báo cáo) ra đời. Ngôn ngữ này phải đủ mạnh để biểu diễn ngôn ngữ tự nhiên như
các tham số đầu vào của hệ thống. Nếu ICL có thể biểu diễn đầy đủ các biểu thức ngôn
ngữ tự nhiên, các thủ tục cấu thành các hình thức tương tác của các agent sẽ có khả
năng thực hiện được một cách dễ dàng hơn.
Tính toán chủ động và tương tác (Active and Reactive Computation ):
Các agent có khả năng mạnh hơn hơn so với các đối tượng thao tác dữ liệu thụ
động (là những phần tử thực hiện các hành động hoặc trả về thông tin chỉ khi nào được
yêu cầu). Các agent có khả năng điều phối các hoạt động trong thế giới xung quanh
chúng và quyết định khi nào thực hiện hành động đó, báo hiệu cho một người dùng
hoặc một nhóm agent của các agent khác về một số tình huống thích hợp.
Ngoài ra, các agent có khả năng theo dõi những tương tác của các agent khác và
đưa ra các đề xuất, xem xét thực hiện công việc nào thích hợp với các yêu cầu công
việc và điều kiện hiện tại của môi trường.
Cộng tác nhỏ (Fine-grained Cooperation)
OAA dựa trên ý tưởng về một cộng đồng các agent làm việc cùng nhau giải
các sự kiện đó.
Để nhiều agent có thể cùng hoạt động, các agent trong OAA có thể uỷ
quyền và nhận công việc yêu cầu qua một agent Facilitator. Các yêu cầu này
sẽ được diễn giải và mô hình hoá trong một ngôn ngữ chung cho mọi agent.
Ngôn ngữ đó là ICL (Inter-agent Communication Language: ngôn ngữ
truyền thông liên agent). Bên cạnh đó các agent còn sử dụng một tập các
hàm chung được định nghĩa trước như các khả năng cài đặt cục bộ hay khả
năng khởi động agent từ xa bởi một agent khác khi có yêu cầu.
Ngôn ngữ truyền thông liên agent sẽ còn được đề cập chi tiết hơn trong các
phần sau của báo cáo.
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 12 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
1.1.4 Kiến trúc tổng quan của OAA
Hình 1 chỉ ra kiến trúc điển hình của một hệ thống OAA thu nhỏ, hệ thống bao
gồm có một agent giao diện người dùng (user interface agent) đảm nhận việc tổ chức,
xây dựng và điều khiển giao diện người dùng, một số agent ứng dụng (application
agent) và các siêu agent (meta-agent). Các agent này được tổ chức như một cộng đồng
thông qua một mối quan hệ chung với một Facilitator agent (agent điều phối).
Hình 1: Kiến trúc cơ bản của Open Agent Architecture.
Các thành phần của kiến trúc này có thể được tóm tắt như sau:
Agent ứng dụng (Application Agent): cung cấp một tập các dịch vụ
(service) cơ bản phục vụ cho một nhu cầu nào đó. Trên thực tế chúng có thể
là các ứng dụng cụ thể. Điều đáng quan tâm là các ứng dụng đó có thể áp
dụng các công nghệ độc lập (Ví dụ như các ứng dụng xử lý tiếng nói. email
hay các ứng dụng cụ thể nào đó như các ứng dụng về bài toán lập kế hoạch
du lịch).
Siêu agent (Meta-agent): là agent đóng vai trò trợ giúp cho Facilitator trong
việc phối hợp hoạt động của các agent khác. Meta-agent có thể giúp cho
agent khách (client agent). Sở dĩ có tên gọi như vậy là vì chúng hoạt động
như các khách của các facilitator – là agent cung cấp các dịch vụ truyền
thông và một số dịch vụ cần thiết khác cho agent khách. Khi được gọi, mỗi
agent khách thực hiện một kết nối tới facilitator, được biết đến như một
facilitator cha. Trong kết nối, mỗi agent sẽ gửi thông điệp tới facilitator cha
của nó về những dịch vụ mà nó có thể được cung cấp. Khi cần đến một
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 14 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
agent ứng dụng giải quyết một, facilitator sẽ gửi tới nó một yêu cầu sử dụng
ICL. Agent ứng dụng sẽ phân tích yêu cầu này, xử lí nó và trả về các trả lời
thông báo về trạng thái hay kết quả tới facilitator. Trong khi xử lí một yêu
cầu, agent có thể yêu cầu các dịch vụ của những agent khác, thiết lập các bộ
kích hoạt (trigger) và đọc hoặc ghi dữ liệu chia sẻ trên facilitator (hoặc các
agent khách khác quản lí dữ liệu chia sẻ)
Ngôn ngữ truyền thông liên agent (Inter-agent Communication
Language viết tắt là ICL): Ngôn ngữ truyền thông giữa các agent của OAA
là giao tiếp, là ngôn ngữ truyền thông được dùng cho mọi agent. ICL được
thiết kế như một hình thức mở rộng của ngôn ngữ lập trình Prolog. Nhờ đó
ICL tận dụng được những điểm mạnh về tính nhất quán và một số ưu điểm
khác của ngôn ngữ Prolog. Một số khai báo khoá và các phần tử chương
trình khác được đặc tả sử dụng các biểu thức ICL. Chúng gồm có các khai
báo về khả năng, các sự kiện (truyền thông giữa các agent), các yêu cầu dịch
vụ, các hồi đáp cho yêu cầu, đặc tả trigger và các phần tử dữ liệu chia sẻ.
Đế có một cái nhìn khái quát chung về OAA, ta nghiên cứu một ví dụ được xây
dựng dựa trên mô hình OAA ứng dụng trong hệ trợ giúp công tác văn phòng được mô
tả như hình 2. Kiến trúc hình 2 được xây dựng trên nền kiến trúc cơ sở của OAA trong
đó:
Facilitator agent đóng vai trò agent server có nhiệm vụ trả lời truyền thông
Thắng
1.1.5 Các lợi ích của việc sử dụng OAA
OAA rất hữu ích trong việc xây dựng các hệ thống phức tạp trong đó có nhiều
thành phần không đồng nhất (có thể là được xây dựng trên các ngôn ngữ lập trình, các
thư viện hỗ trợ khác nhau) và đặc biệt là các yêu cầu về tính mềm dẻo và co dãn được
coi trọng. Ta hoàn toàn có thể xây dựng một hệ thống có khả năng tương tự sử dụng
một số thư viện không cần sử dụng kiến trúc agent, tuy nhiên nếu hệ thống đòi hỏi mộ
hệ thống có tính thích nghi tốt, có thể dễ dàng mở rộng thì kiến trúc OAA có thể là
một trong những hướng giải quyết thích hợp để xây dựng kiến trúc cho hệ thống. Sau
đây ta sẽ thảo luận một số lợi ích của OAA:
Cung cấp các kỹ thuật đa năng trong liên tác (inter-operation) và phối hợp
hoạt động.
- Liên tác thể hiện thông qua khả năng truyền thông của các agent.
- Phối hợp hoạt động thể hiện kỹ thuật cho phép các agent trong cộng
đồng có thể cùng phối hợp với nhau để thực hiện công việc chung.
Để thực hiện được khả năng phối hợp, OAA hướng đến các mục tiêu:
- Cung cấp một cách mềm dẻo trong việc lắp ghép cộng đồng các nhà
cung cấp dịch vụ một cách tự động. Phối hợp các agent cùng một
mục đích chung.
- Cung cấp một cách mềm dẻo trong việc cấu trúc các tương tác phối
hợp giữa các agent với nhau trong cộng đồng: cung cấp khả năng
tương tác giữa các agent với nhau mà không phụ thuộc vào cơ sở hạ
tầng hay mức đồ phức tạp của bản thân các agent.
- Thoả mãn được nhiều yêu cầu về kiến trúc trên cùng hệ agent.
Tạo giao diện thân thiện với người dùng và giao diện giữa các bộ phận khác
nhau của hệ thống. Giao diện ở đây không chỉ bó hẹp theo nghĩa là các giao
diện đồ hoạ tương tác người dùng mà nó có thể là các giao diện tương tác
giữa các hệ thống với nhau cũng như là các cách thức giao tiếp của người
dùng và hệ thống. Nó thể hiện ở các đặc điểm:
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
- Hỗ trợ cho các platform một cách linh hoạt, giảm phức tạp: các
platform cài đặt không cần đầy đủ các bộ phận của nó. Điều này cho
phép xây dựng các agent độc lập nhỏ hơn và mức độ vừa phải.
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 18 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
1.1.6 So sánh OAA với các công nghệ tính toán phân tán
Một đặc điểm rất quan trọng phân biệt OAA với các mô hình tính toán phân tán
khác là mô hình tính toán ủy quyền. Mô hình này cho phép người dùng và các agent
phần mềm mô tả những yêu cầu bằng những công việc cần được làm mà không cần
những đặc tả thêm các thông về ai, hệ thống nào sẽ thực hiện công việc đó và cách
thức mà công việc đó được thực hiện. Chẳng hạn một yêu cầu: “Khi một thông điệp về
vấn đề an ninh gửi tới cho tôi, hãy báo cho tôi ngay lập tức”. Bộ tiếp nhận yêu cầu
(Requester) sẽ giao quyền điều khiển để đáp ứng một mục tiêu cho facilitator agent –
một server agent được chuyên môn hóa trong OAA. Facilitator agent phối hợp hoạt
động của cộng đồng agent nhằm thực hiện những mục tiêu giải quyết các vấn đề phức
tạp ở mức cao.
Trong OAA, sự điều khiển cách thức mà tương tác và truyền thông xảy ra giữa
các agent là kết quả sự phối hợp của 4 nguồn tri thức khác nhau:
1. Bộ tiếp nhận yêu cầu chỉ ra một mục tiêu cho facilitator và cung cấp lời
chỉ dẫn về việc mục tiêu đó nên được đáp ứng như thế nào.
2. Các agent cung cấp chức năng đăng ký các khả năng của chúng với
facilitator, biết những dịch vụ nào mà chúng có thể cung cấp và giới hạn của
những khả năng của chúng.
3. Facilitator duy trì một danh sách các agent cung cấp chức năng đang sẵn
sàng và một tập các chiến lược chung để đáp ứng các mục tiêu.
4. Các siêu agent (meta-agent) lưu giữ những tri thức và chiến lược cụ thể
đối với một phạm vi hay mục tiêu, được sử dụng như là một sự trợ giúp cho
facilitator.
Thúc đẩy kiểu tính toán có tính mở hơn, có tính co giãn động trong đó các
agent được viết bằng nhiều ngôn ngữ lập trình và nhiều kiểu có thể làm việc
với nhau. Các agent mới hay khác nhau có thể được thêm vào hoặc thay thế
mà không yêu cầu lập trình lại để có thể sử dụng được những khả năng của
chúng.
Khuyến khích tái sử dụng các ứng dụng bởi vì những tương tác giữa các
agent không được định nghĩa trước và các giao diện chung của chúng, tránh
lập trình một cách cứng nhắc. Nói cách khác, OAA có tính “plug and play”.
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 20 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
1.1.7 Ví dụ về ứng dụng của kiến trúc OAA
Ta sẽ tìm hiểu về kiến trúc OAA qua một ví dụ về hệ thống văn phòng tự động
(Automated Office)
Hình 3: Hệ thống văn phòng tự động
Hệ thống văn phòng tự động là một hệ thống hỗ trợ cho các công việc văn
phòng như: lập lịch công tác, kiểm tra email,…từ xa và một cách di động. Hệ thống xử
lý di động với một điện thoại và một máy tính xách tay qua đó có thể truy cập và điều
khiển các công tác văn phòng từ xa. Hình 3 mô tả một hệ thống văn phòng tự động với
khả năng xử lý ngôn ngữ tự nhiên. Các thành phần của hệ thống này bao gồm:
Một Interface agent chạy trên một máy tính xách tay của người dùng, kiểm
soát các thông tin của người dùng nhập vào và gửi các yêu cầu này tới
Facilitator để đến được một agent sẽ thực hiện các công việc. Người dùng
có thể tương tác một cách trực tiếp với các ứng dụng từ xa bằng cách click
vào các khu vực trên giao diện hoặc triệu gọi một màn hình của ứng dụng và
tạo ra các câu hội thoại chuẩn. Ngược lại một người dùng khác cũng có thể
diễn tả một công việc được xử lý bằng cách đánh máy hoặc viết tay hoặc
bằng Tiếng Anh hoặc trên một ngôn ngữ nào đó hay qua điện thoại mà
không cần chỉ rõ agent nào thực hiện công việc đó. Ví dụ như câu hỏi “Lịch
- Sự thông dịch và thực hiện một công việc là một tiến trình phân tán và
không có một agent nào xác định một tập các đầu vào có thể cho hệ thống.
- Một yêu cầu có thể cần sự cộng tác và truyền thông của các agent. Các agent
có thể được xây dựng trên các ngôn ngữ lập trình khác nhau, hoạt động trên
hệ thống máy tính khác nhau.
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 22 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
1.1.8 Phát triển giao diện người dùng theo kiến trúc OAA
Nghiên cứu lý thuyết OAA cho ta một kiến trúc tổng quan về một hệ thống
phần mềm có sự tham gia của các agent. Trong đó ta đặc biệt quan tâm việc xây dựng
hệ thống giao diện người dùng với sự tham gia của agent.
Theo hướng tiến cận của OAA, hệ thống giao diện sẽ có một hay một số agent
tham gia, hình thành mối quan hệ cộng tác giữa các agent trên hệ thống giao diện với
người sử dụng hệ thống. Sự cộng tác này thể hiện ở các khía cạnh:
Giao tiếp của người sử dụng với hệ thống sẽ thông qua một agent làm nhiệm
vụ thu thập thông tin và chuyển giao các thông tin đó cho các xử lý bên
trong của hệ thống các agent. Như vậy agent này (hay còn gọi là agent giao
diện – Interface agent) sẽ đóng vai trò trung gian, làm cầu nối giữa người
dùng và hệ thống các agent hoạt động khác trong hệ thống.
Ở một mức độ nhất định các agent giao diện có thể tham gia nhiều hơn vào
quá trình thao tác của người dùng với toàn bộ hệ thống. Agent giao diện có
thể có các hoạt động hỗ trợ tốt hơn cho người dùng nhằm tạo ra một hệ
thống giao diện tương tác thân thiện và đầy đủ.
Giao tiếp của người dùng với hệ thống agent hoạt động trở thành giao tiếp
của người dùng với agent giao diện. Như vậy sẽ hình thành một hình thức
chuyên biệt hoá các lĩnh vực xử lý giao tiếp giữa người dùng và hệ thống
phần mềm. Agent giao diện có thể thực hiện giao dịch với người dùng theo
các hình thức giao tiếp khác nhau như: bàn phím, bút, giọng nói,…Các
có thể sử dụng một cách dễ dàng mà không cần những trợ giúp từ hệ thống và các tài
liệu hướng dẫn.
Giao diện người dùng thông minh được phát triển nhằm giải quyết những khó
khăn trên và đặc biệt là với các vấn đề về mặt ngữ nghĩa của các từ vựng được dùng
trong các giao diện. Giao diện thông minh có thể giúp cho người dùng truy cập tới các
thông tin hoặc giải quyết các vấn đề, các công việc phức tạp bằng cách hiểu các tri
thức, các nhận thức sai, mục đích và các kế hoạch của người dùng
1.2.1.2 Phạm vi nghiên cứu
Thông thường, ứng dụng yêu cầu một giao diện thông minh, linh hoạt có thể
được đáp ứng bằng cách sử dụng một số kỹ thuật. Các kỹ thuật được coi là thông minh
S/v thực hiện: Đỗ Thanh Vũ Lớp Công nghệ phần mềm – K44 – CNTT
Trang 24 / 132
Báo cáo đồ án tốt nghiệp đại học Thầy giáo hướng dẫn: TS. Huỳnh Quyết
Thắng
khá đa dạng và biến đổi nhanh chóng. Danh sách sau là tập hợp một số kỹ thuật
thường được áp dụng trong giao diện thông minh:
Thích nghi với người dùng (User adaptivity): kỹ thuật này cho phép
tương tác giữa người dùng và hệ thống có khả năng thích nghi với các điều
kiện môi trường người dùng khác nhau và các tình huống sử dụng khác
nhau.
Mô hình hoá người dùng (User modelling): kỹ thuật này cho phép một hệ
thống theo dõi, ghi nhận các hành động, thói quen của người dùng và duy trì
được các tri thức này phục vụ một số tiện ích nhằm nâng cao tương tác, tính
thân thiện của hệ thống giao diện.
Công nghệ ngôn ngữ tự nhiên (Natural language technology): kỹ thuật
cho phép một hệ thống biên dịch và sinh các phát biểu, ngôn từ trên ngôn
ngữ tự nhiên ở dạng văn bản hay lời nói.
Mô hình hoá hội thoại (Dialogue modelling): Kỹ thuật này cho phép một
hệ thống duy trì một hội thoại ngôn ngữ tự nhiên với người dùng, có thể
trong sự kết hợp với các phương tiện tương tác khác (hội thoại đa hình thức