1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm luận văn ths công nghệ thông tin 60 48 10 pdf

75 322 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 2,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ứng dụng khác nhau của các cách tiếp cận hướng agent và có thể tóm tắt qua các nội dung sau:  Các định nghĩa cơ bản về agent, lý thuyết và thực hành;  Các phương pháp đặc tả và mô hình

Trang 2

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN VIỆT HÀ

Hà Nội - 2013

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác Trong toàn bộ nội dung của luận văn, những điều đã trình bày là của cá nhân tôi hoặc được tôi tổng hợp từ nhiều nguồn tài liệu Tất cả các nguồn tài liệu tham khảo có xuất xứ rõ ràng và được trích dẫn hợp pháp

Tôi xin chịu toàn bộ trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của tôi

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

Hồ Văn Bảo

Trang 4

LỜI CẢM ƠN

Lời đầu tiên cho phép tôi được bày tỏ lòng biết ơn sâu sắc và cảm ơn chân

thành tới PGS.TS Nguyễn Việt Hà - Trường Đại học Công nghệ - Đại học Quốc gia

Hà Nội - đã dành rất nhiều thời gian quí báu để tận tình hướng dẫn, dìu dắt, chỉ bảo và định hướng cho tôi trong suốt thời gian hoàn thành luận văn

Tôi xin bày tỏ lòng biết ơn tới các thầy cô giáo Khoa Công nghệ Thông tin - Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã truyền đạt những kiến thức, kinh nghiệm quý báu trong suốt thời gian tôi học tập tại trường Tôi xin gửi lời cảm ơn sâu sắc tới Ban Giám đốc và các đồng nghiệp Trung tâm Tin học Thống kê Khu vực I

- Tổng cục Thống kê đã hết sức tạo điều kiện thuận lợi cho tôi trong suốt quá trình học tập và thực hiện luận văn

Tôi xin chân thành cảm ơn bạn bè và gia đình, những người thân luôn ở bên khuyến khích, động viên và ủng hộ tôi trong quá trình học tập và hoàn thành luận văn

Do thời gian và trình độ có hạn nên luận văn này không thể tránh khỏi những thiếu sót Rất mong nhận được sự đóng góp ý kiến của các thầy cô giáo, đồng nghiệp, bạn bè, các quý vị quan tâm này để luận văn được hoàn thiện hơn

Trân trọng cảm ơn!

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

Hồ Văn Bảo

Trang 5

MỤC LỤC

MỞ ĐẦU 1

CHƯƠNG 1: CÔNG NGHỆ PHẦN MỀM HƯỚNG TÁC TỬ 5

1.1 Khái niệm tác tử 5

1.1.1 Định nghĩa tác tử 5

1.1.2 Phân loại tác tử 6

1.1.2.1 Tác tử phần mềm 6

1.1.2.2 Tác tử tự trị 7

1.1.2.3 Tác tử tương tác 7

1.1.2.4 Tác tử thích nghi 7

1.1.2.5 Tác tử di động 8

1.1.2.6 Tác tử phối hợp 8

1.1.2.7 Tác tử thông minh 8

1.1.2.8 Tác tử wrapper 9

1.2 Công nghệ phần mềm hướng tác tử 9

1.2.1 Phần mềm hướng tác tử là gì? 9

1.2.2 Mô hình hóa tác tử 10

1.2.3 Phân tích và thiết kế hướng tác tử 10

1.2.3.1 Phương pháp tiếp cận hình thức 10

1.2.3.2 Phương pháp tiếp cận không hình thức 11

1.3 Công nghệ tác tử 11

1.3.1 Truyền thông giữa các tác tử 11

1.3.1.1 Các ngôn ngữ truyền thông tác tử 11

1.3.1.2 Cơ chế truyền tải thông điệp 12

1.3.1.3 Truyền thông Ontology 12

1.3.1.4 Các giao thức tương tác tác tử 12

1.3.2 Quản lý vòng đời tác tử 13

1.3.2.1 Thời gian tồn tại của tác tử 13

1.3.2.2 Quá trình hoạt động của tác tử 13

1.3.2.3 Phân lớp động và đa phân lớp 14

Trang 6

1.3.3 Tính di động 14

1.3.4 Nguyên lý hoạt động của tác tử di động 14

1.3.4.1 Vòng đời của một tác tử di động 14

1.3.4.2 Cơ chế di chuyển của tác tử di động 14

CHƯƠNG 2: NỀN TẢNG JADE (JAVA AGENT DEVELOPMENT FRAMEWORK) 15

2.1 Nền tảng JADE 15

2.1.1 Khái niệm JADE 15

2.1.2 Kiến trúc nền tảng JADE 15

2.2 Giao tiếp giữa các tác tử JADE 17

2.3 Dịch vụ di động liên nền (Inter-platform) 19

2.4 JadeGateway 20

CHƯƠNG 3: PHƯƠNG PHÁP TÌM KIẾM VÀ TÍCH HỢP THÔNG TIN SỬ DỤNG TÁC TỬ PHẦN MỀM 21

3.1 Tìm kiếm thông tin 21

3.1.1 Tổng quan về tìm kiếm thông tin trong các hệ phân tán 21

3.1.2 Kiến trúc tổng quan hệ thống tìm kiếm thông tin trong hệ đa tác tử 22

3.2 Tổng quan về tích hợp thông tin 22

3.2.1 Khái niệm tích hợp thông tin 22

3.2.2 Mức độ tích hợp thông tin 23

3.2.3 Một số phương pháp tích hợp thông tin 24

3.2.3.1 Tích hợp thông tin dựa trên ước lượng không chắc chắn 24

3.2.3.2 Tích hợp thông tin dựa trên các ràng buộc dữ liệu 25

3.2.3.3 Tích hợp thông tin tự động dựa trên ontology 25

3.3 Hệ đa tác tử và tích hợp thông tin 26

3.3.1 Hệ đa tác tử 26

3.3.2 Mối quan hệ giữa hệ đa tác tử và tích hợp thông tin 27

3.3.3 Ontology và các vấn đề liên quan 28

3.3.3.1 Khái niệm 28

3.3.3.2 Các thành phần của ontology 28

Trang 7

3.3.3.3 Phân loại ontology 29

3.3.3.4 Các công cụ phát triển Ontology 30

3.3.3.5 Các ngôn ngữ Ontology 31

3.4 Một số hệ thống tích hợp thông tin trong thực tế 32

CHƯƠNG 4: TÌM KIẾM VÀ TÍCH HỢP THÔNG TIN BÁN CẤU TRÚC SỬ DỤNG TÁC TỬ PHẦN MỀM 33

4.1 Bài toán nghiên cứu 33

4.2 Giới thiệu hệ thống 33

4.3 Xây dựng hệ thống thử nghiệm 34

4.3.1 Thiết kế kiến trúc hệ thống 35

4.3.1.1 Tầng trình diễn 36

4.3.1.2 Tầng trung tâm 37

4.3.1.3 Tầng tìm kiếm 40

4.3.1.4 Tầng tài nguyên 41

4.3.2 Từ điển siêu dữ liệu dựa trên ontology 41

4.3.2.1 Biểu diễn mức khái niệm 41

4.3.2.2 Biểu diễn mức vật lý 42

4.3.3 Từ điển siêu dữ liệu dựa trên XML 43

4.3.4 Xử lý tìm kiếm và tích hợp thông tin đối với các nguồn dữ liệu 44

4.3.4.1 Xử lý tìm kiếm các nguồn thông tin 44

4.3.4.2 Xử lý tích hợp các nguồn thông tin 46

4.3.5 Tác tử thông minh XML - Chuyển đổi truy vấn từ SQL sang XQuery 47

4.3.6 Thiết kế chi tiết 50

4.3.6.1 Biểu đồ các ca sử dụng của các tác tử chính 50

4.3.6.2 Đặc tả các tác tử chính 51

4.3.6.3 Sơ đồ lớp tác tử tìm kiếm và tích hợp thông tin 53

4.4 Thực nghiệm 55

4.4.1 Mô tả bài toán thực nghiệm 55

4.4.2 Cài đặt công cụ và kết quả thử nghiệm 56

4.4.2.1 Cài đặt JADE 56

Trang 8

4.4.2.2 Công cụ xây dựng ontology và lớp java của ontology 56

4.4.2.3 Lớp tác tử Mediator Agent 58

4.4.2.4 Phần kết nối cơ sở dữ liệu MySQL của tác tử wrapper (LocalDBAgent) 59

4.4.2.5 Giao diện chạy các tác tử 61

4.4.2.6 Kết quả tìm kiếm và tích hợp thông tin trả về cho người sử dụng 61

KẾT LUẬN 62

TÀI LIỆU THAM KHẢO 63

Trang 9

DANH MỤC CÁC CHỮ VIẾT TẮT

ACL Agent Communication Language

AOSE Agent Oriented Software Engineering

BDI Belief - Desire - Intention

CSDL Cơ sở dữ liệu

DAML + OIL DARPA Agent Markup Language + Ontology

Interface Layer DIR Distributed Information Retrieval

DTD Document Type Definiton

EER Extended Entity-Relationship

FIPA Foundation for Intelligent Physical Agent IRS Information Retrieval System

JADE Java Agent DEvelopment Framework

JDBC Java Database Connectivity

JDK Java Development Kit

J2EE Java 2 Enterprise Edition

KQML Knowledge Query and Manipulation Language LAN Local Area Network

MAS Multi-Agent System

ODBC Open DataBase Connection

ODL Object Definition Language

ODM Object Database Management

OEM Object Exchange Model

OMG Object Management Group

ODMG Object Data Management Group

RPC Remote Procedure Call

SQL Structure Query Language

XML eXtensible Markup Language

Trang 10

DANH MỤC HÌNH VẼ

Hình 2.1 - Các thành phần kiến trúc chính của JADE 15

Hình 2.2 - Dịch vụ trang vàng (Yellow pages service) 17

Hình 2.3 - Giao diện quản lý tác tử JADE 18

Hình 2.4 - Mô hình truyền thông điệp không đồng bộ giữa các tác tử 19

Hình 2.5 - Di chuyển liên nền của tác tử di động 19

Hình 2.6 - Mô hình tương tác giữa servlet với tác tử thông qua JadeGateway 20

Hình 3.1 - Sơ đồ tổng quát hệ thống thu thập thông tin từ nhiều nguồn dữ liệu 21

Hình 3.2 - Kiến trúc hệ thống tìm kiếm thông tin trong hệ đa tác tử 22

Hình 4.1 - Mô hình tổng quan của hệ thống tìm kiếm và tích hợp thông tin 34

Hình 4.2 - Kiến trúc hệ thống tìm kiếm và tích hợp thông tin của bài toán nghiên cứu 36

Hình 4.3 - Kết hợp các kết quả được tạo từ 3 nguồn dữ liệu vào dữ liệu XML hợp nhất 40

Hình 4.4 - Một ví dụ ontology ở mức khái niệm 42

Hình 4.5 - Một ví dụ ontology ở mức vật lý 43

Hình 4.6 - Cấu trúc từ điển siêu dữ liệu theo định dạng XML-DTD 44

Hình 4.7 - Phân rã giao dịch toàn cục thành các giao dịch con phù hợp với các nguồn thông tin vật lý 46

Hình 4.8 - Tích hợp kết quả XML thành dữ liệu XML hợp nhất 47

Hình 4.9 - Biểu đồ ca sử dụng cho tác tử giao diện người sử dụng User Interface Agent 50

Hình 4.10 - Biểu đồ ca sử dụng của tác tử Search Agent 50

Hình 4.11 - Biểu đồ ca sử dụng cho tác tử trung tâm Mediator Agent 51

Hình 4.12 - Biểu đồ ca sử dụng cho tác tử LocalDB Agent 51

Hình 4.13 - Cấu trúc tác tử User Interface Agent 51

Hình 4.14 - Cấu trúc tác tử Mediator Agent 52

Hình 4.15 - Cấu trúc tác tử Search Agent 52

Hình 4.16 - Cấu trúc tác tử LocalDB Agent 52

Hình 4.17 - Sơ đồ lớp tác tử tìm kiếm và tích hợp thông tin 53

Trang 11

Hình 4.18 - Sơ đồ lớp tác tử di động Search Agent 54

Hình 4.19 - Sơ đồ lớp của tác tử User Interface Agent 55

Hình 4.20 - Giao diện Protégé 3.3.1 57

Hình 4.21 - Giao diện plug-in OntologyBeanGenerator trong Protégé 3.3.1 58

Hình 4.22 - SIAgentOntology sử dụng trong JADE 58

Hình 4.23 - Sơ đồ lớp của tác tử LocalDBAgent 59

Hình 4.24 - Màn hình chạy các tác tử 61

Hình 4.25 - Kết quả trả về cho người sử dụng trong môi trường JADE 61

Trang 12

MỞ ĐẦU

Sự phát triển rất nhanh của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế - xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan, cá nhân thu thập và lưu trữ ngày càng nhiều Trong khi khối lượng dữ liệu ngày càng phát triển và phân tán nhiều nơi thì mỗi hệ thống chỉ cần một số thông tin nhất định phù hợp với yêu cầu riêng của hệ thống đó và trong nhiều trường hợp để xây dựng một hệ thống cần đến thông tin từ nhiều nguồn khác nhau Nhu cầu tích hợp thông tin từ nhiều nguồn phân tán, không đồng nhất ngày càng trở nên cấp thiết

Để xây dựng một hệ thống tích hợp thông tin, hai vấn đề cần thiết được đặt ra:

 Tìm kiếm/xác định các nguồn tin phù hợp cho thông tin cần sử dụng

 Truy nhập và tổng hợp thông tin từ các nguồn xác định

Tìm kiếm các nguồn thông tin thường được giải quyết thông qua các kỹ thuật thu thập và lọc thông tin Khi các nguồn tin đã được xác định thì các kỹ thuật truy nhập và tổng hợp thông tin từ các nguồn này lại được quan tâm Trở ngại lớn nhất cho vấn đề tích hợp thông tin là sự không đồng nhất của các nguồn tin, dẫn đến sự không đồng nhất về cách thức truy nhập cũng như nội dung thông tin Thông thường, cách thức truy nhập có thể vượt qua bởi những chuẩn công nghệ, chẳng hạn như ODBC cho các cơ sở dữ liệu quan hệ, hay gần đây là các giao thức dịch vụ mạng Vấn đề đáng quan tâm là sự không đồng nhất về nội dung thông tin Sự không đồng nhất này được biết đến với hai dạng cơ bản: không đồng nhất về lược đồ, không đồng nhất về ngữ nghĩa Không đồng nhất về lược đồ liên quan tới việc lưu trữ thông tin trong các khuôn dạng khác biệt - chẳng hạn dưới dạng các bảng theo mô hình quan hệ hay dưới dạng phân cấp theo mô hình XML Sự không đồng nhất ngữ nghĩa lại xem xét về khía cạnh

ý nghĩa nội dung của dữ liệu

Cùng với sự phát triển của các kỹ thuật tìm kiếm và tích hợp thông tin, vai trò

và lợi ích của cách tiếp cận hướng agent đã được nghiên cứu từ rất sớm Từ những năm 90, các tổ chức và trường đại học nghiên cứu về agent đã phát triển rất mạnh mẽ Một ví dụ điển hình: Viện nghiên cứu MIT đã phát triển một loạt các dự án liên quan đến công nghệ agent được triển khai rất thành công trên thực tế như: Smart Mobility, Car in the City, Goal-Oriented Web Search User Interfaces, hay FIPA - một tổ chức nghiên cứu về agent nổi tiếng với các nỗ lực chuẩn hóa agent, cũng đưa ra một số kết quả nghiên cứu về ngôn ngữ truyền thông agent như: ACL, KQML, Từ khi xuất hiện các ngôn ngữ lập trình hướng agent và công nghệ phát triển phần mềm hướng agent ra đời, hàng loạt các nghiên cứu và thử nghiệm về sử dụng công nghệ agent đã được công

bố, đã phản ánh những mức độ nghiên cứu về phương pháp luận, công cụ và triển khai

Trang 13

ứng dụng khác nhau của các cách tiếp cận hướng agent và có thể tóm tắt qua các nội dung sau:

 Các định nghĩa cơ bản về agent, lý thuyết và thực hành;

 Các phương pháp đặc tả và mô hình hóa agent;

 Các phương pháp phát triển phần mềm hướng agent [24, 25];

 Công nghệ Web ngữ nghĩa và ứng dụng trong tìm kiếm và tích hợp thông tin [26, 27]

 Ontology và công cụ khai thác Web ngữ nghĩa [3, 15, 16];

 Các hệ thống tìm kiếm và tích hợp thông tin sử dụng agent phần mềm trong thực tế

Qua đây, ta có thể thấy việc sử dụng công nghệ agent cho các hệ thống lớn, phức tạp và phân tán là một hướng đi mới, đóng góp vai trò quan trọng trong tiến trình

kỹ nghệ phần mềm và đang được triển khai nghiên cứu và ứng dụng rộng rãi trên thế giới

Hiện nay hầu hết các dữ liệu lưu trữ trong các máy tính không nhất thiết được quản lý bởi các hệ quản trị cơ sở dữ liệu, nó có thể được lưu dưới dạng có cấu trúc, ví

dụ như: HTML hoặc SGML, các định dạng dữ liệu không tuân theo một mẫu chuẩn, Cấu trúc của dữ liệu không được định trước, và thậm chí ngay cả khi đã được định trước thì nó cũng có thể bị thay đổi liên tục mà không có dấu hiệu để báo trước cho việc thay đổi đó Những dữ liệu như vậy được gọi là dữ liệu bán cấu trúc (semi-structure)

Thông thường để biểu diễn dữ liệu bán cấu trúc, trước đây người ta thường sử dụng mô hình chuyển đổi OEM (Object Exchange Model) mô hình này cũng đã được đưa ra trong một số dự án tích hợp dữ liệu bán cấu trúc và có cấu

Tuy nhiên, có một cách thức khác để có thể biểu diễn cả dữ liệu có cấu trúc

cũng như bán cấu trúc, đó là ngôn ngữ XML (ngôn ngữ đánh dấu mở rộng - eXtensible Markup Language) Thực chất, tổ chức W3C phát triển và chuẩn hóa XML cho mục

đích biểu diễn dữ liệu và trao đổi dữ liệu trên Web, nhưng vì ngôn ngữ này có một số tính năng rất ưu việt trong việc biểu diễn dữ liệu nên nó được sử dụng rất rộng rãi và được coi như một công cụ để biểu diễn dữ liệu bán cấu trúc

XML hỗ trợ việc trao đổi dữ liệu điện tử mà máy tính có thể hiểu được Bên cạnh đó XML biểu diễn dữ liệu mà không tuân theo khuôn dạng định trước Cú pháp của XML cho phép lưu dữ liệu theo mô hình bất kỳ nên việc chuyển đổi biểu diễn dữ liệu của các nguồn lưu trữ truyền thống và XML có thể thực hiện dễ dàng XML thường được lựa chọn như là một ngôn ngữ trung gian biểu diễn cho dữ liệu trong quá trình tích hợp thông tin

Trang 14

Để có cái nhìn tổng quan về vấn đề này, nắm được tầm quan trọng của nó, lựa chọn được hướng tiếp cận phù hợp với quá trình phát triển các hệ thống phần mềm phức tạp và phân tán, có được những cơ sở về phương pháp luận cũng như kinh

nghiệm phục vụ cho việc triển khai ứng dụng, tôi đã chọn đề tài: “Tìm kiếm và tích hợp thông tin sử dụng Agent phần mềm”

Trong luận văn này, tôi tập trung nghiên cứu công nghệ agent (tạm dịch là tác

tử - là thuật ngữ đã được nhiều nhà nghiên cứu sử dụng, trong luận văn tôi sẽ sử dụng thuật ngữ này khi đề cập đến agent), đi sâu tìm hiểu các phương pháp tìm kiếm và tích hợp thông tin sử dụng tác tử phần mềm Hướng nghiên cứu tập trung vào hệ tìm kiếm

và tích hợp các dữ liệu ở định dạng XML của các nguồn thông tin phân tán không đồng nhất sử dụng tác tử phần mềm

Thông tin trong một tổ chức nói chung thường có nhiều kiểu khác nhau, từ có cấu trúc, bán cấu trúc và không có cấu trúc, bên cạnh đó, các nguồn thông tin thường ở các host vật lý khác nhau, các hệ điều hành khác nhau hoặc các hệ quản trị khác nhau

Ta gọi các nguồn thông tin khác nhau như vậy là các nguồn thông tin không đồng nhất Các nguồn thông tin có cấu trúc thường được xây dựng từ các lược đồ được định nghĩa trước; các nguồn thông tin bán cấu trúc hầu hết được xây dựng từ các cấu hình tương tự nhưng không được định nghĩa trước về mặt lược đồ; các nguồn thông tin không có cấu trúc được xây dựng mà không có sự hạn chế nào

Sự khác nhau vốn có trong các định nghĩa dữ liệu ở từng host đặt ra một thách thức lớn cho cố gắng tích hợp trong tiến trình phân tán ở mỗi site Hai vấn đề xuất hiện

từ sự không đồng nhất là: không đồng nhất lược đồ và không đồng nhất ngữ nghĩa Các kết quả không đồng nhất lược đồ xuất phát từ các lược đồ cục bộ khác nhau Không đồng nhất ngữ nghĩa xảy ra khi có một sự khác nhau về ý nghĩa, sự biên dịch hoặc dự định sử dụng cùng tên hoặc dữ liệu có liên quan

Bài toán nghiên cứu trong luận văn tiếp cận một kiến trúc với khung hợp nhất cho việc truy cập các nguồn thông tin không đồng nhất trong môi trường Web thông qua mô hình sử dụng tác tử phần mềm Nghiên cứu sẽ tập trung vào tìm kiếm và tích hợp dữ liệu từ các nguồn phân tán và giải quyết sự không đồng nhất của dữ liệu bằng môi trường dữ liệu XML hợp nhất Sử dụng DARPA Agent Markup Language + Ontology Interface Layer (DAML+OIL) [26, 27] cho khung mô tả tài nguyên trong phần giao diện của người sử dụng Sử dụng tác tử trung tâm (Mediator Agent) - là một tác tử tĩnh để tạo các tác tử tìm kiếm Search Agent - là các tác tử di động (Mobile Agent), nó tương tác với tác tử tại đích đến LocalDB Agent - tác tử Wrapper, lấy dữ liệu cơ sở dữ liệu phân tán thông qua giao diện JDBC và lấy kết quả trả về theo định dạng XML

Để đạt được các mục tiêu đã liệt kê ở trên, phần còn lại của luận văn được tổ chức như sau:

Trang 15

Chương 1: Trình bày các kiến thức tổng quan về tác tử, các đặc trưng của tác

tử và hệ đa tác tử, các phương pháp luận xây dựng hệ đa tác tử, khái niệm và ontology

và công cụ khai thác ontology, web ngữ nghĩa (Semantic Web) và các khung mô tả tài nguyên

Chương 2: Nền tảng JADE (Java Agent DEvelopment Framework) [7, 28], tìm

hiểu và ứng dụng nền tảng JADE phục vụ cho việc cài đặt và thực thi hệ thống

Chương 3: Phương pháp tìm kiếm và tích hợp thông tin sử dụng tác tử phần

mềm: Trình bày khái niệm tìm kiếm và tích hợp thông tin, nhu cầu tích hợp thông tin

và các phương pháp tích hợp thông tin và bài toán tích hợp thông tin trong hệ đa tác tử

Chương 4: Tìm kiếm và tích hợp thông tin bán cấu trúc sử dụng tác tử phần

mềm: Bài toán nghiên cứu và thực nghiệm - Bài toán tìm kiếm và tích hợp thông tin sử dụng tác tử phần mềm: Trình bày về tìm kiếm và tích hợp thông tin áp dụng các phương pháp và công nghệ tác tử; phần cuối chương này trình bày cách cài đặt, cấu hình và thực thi ứng dụng thử nghiệm cho bài toán đặt ra Hệ thống tìm kiếm và tích hợp thông tin sử dụng tác tử phần mềm được xây dựng bằng công cụ JADE

Kết luận: Trình bày một số kết quả đạt được và đóng góp của luận văn và

hướng nghiên cứu tiếp theo trong tương lai

Trang 16

nhiều định nghĩa khác nhau về tác tử Wooldridge [12] định nghĩa tác tử phần mềm “là

một hệ thống tính toán bao gói, được đặt trong một môi trường cụ thể, có khả năng hoạt động linh hoạt và tự chủ để đạt được các mục tiêu thiết kế” James Odell [8] lại

định nghĩa tác tử là một “thực thể có hành vi” với các đặc trưng sau:

 Tự trị: là khả năng hành động mà không cần đến sự can thiệp trực tiếp từ

bên ngoài Nó có một số mức điều khiển thông qua trạng thái nội tại của nó

và có các hành động dựa trên kinh nghiệm của chính nó

 Tương tác: giao tiếp với môi trường và các tác tử khác

 Thích nghi: khả năng phản ứng với các tác tử khác và/hoặc môi trường của

nó ở một vài mức độ nào đó Dạng thích nghi cao cấp hơn là cho phép một tác tử có thể sửa đổi hành vi của mình dựa trên kinh nghiệm của nó

 Xã hội: thể hiện trong mối quan hệ xã hội

 Di động: có thể tự di chuyển từ môi trường này sang môi trường khác

 Ủy quyền: có thể hành động với tư cách của một ai đó hoặc một cái gì đó, có

nghĩa là hành động như một người đại diện hoặc hành động vì lợi ích của một vài thực thể nào đó

 Chủ động: Không đơn giản là chỉ tác động trở lại tới môi trường mà hành

động có chủ đích để đạt được mục tiêu

 Thông minh: hình thức hóa các trạng thái của tác tử (ví dụ: niềm tin, mục

tiêu, các dự kiến, các giả định ) bằng tri thức và các tương tác với các tác tử khác sử dụng ngôn ngữ hình thức

 Suy luận: có thể lựa chọn một hành động dựa trên các mục tiêu chính và sự

hiểu biết về một hành động cụ thể có khả năng giúp nó tiến đến gần mục tiêu hơn

 Không thể dự báo trước: có thể hành động theo cách nào đó không hoàn

toàn có thể dự đoán trước được thậm chí dù đã biết trước tất cả các điều kiện ban đầu

 Thời gian liên tục: là một quá trình chạy liên tục

Trang 17

 Rõ ràng và giải nghĩa được: khi được yêu cầu thì phải rõ ràng và trong suốt,

khi cần có thể cung cấp nhật ký ghi lại các hành động của nó

 Phối hợp: có thể thực hiện một số hành động trong một môi trường dùng

chung với các tác tử khác

 Hợp tác: có thể phối hợp với các tác tử khác để đạt được mục đích chung

Các tác tử không đối kháng nhau sẽ thành công hoặc thất bại cùng nhau (sử dụng thuật ngữ “Cộng tác” đồng nghĩa với “Hợp tác”)

 Cạnh tranh: có thể phối hợp với các tác tử khác trừ khi thành công của một

tác tử dẫn đến thất bại của các tác tử khác (trái nghĩa của “Hợp tác”)

 Mạnh: khả năng giải quyết các lỗi và các dữ liệu không đầy đủ

 Đáng tin cậy: trung thực

Cho đến nay, chưa có một định nghĩa chuẩn nào về tác tử, hầu hết cộng đồng đều đồng ý rằng giới hạn về tác tử cho các hệ thống công nghệ thông tin sẽ không hữu ích nếu không có ít nhất 3 tính chất đầu tiên ở trên Những ý kiến khác đòi hỏi các tác

tử công nghệ thông tin phải có tất cả các tính chất trên với các mức độ khác nhau Thường thì một tác tử công nghệ thông tin được coi là một thực thể tự trị có thể tương tác với môi trường của nó Nói cách khác, nó phải có khả năng quan sát môi trường và hành động theo môi trường mà nó tồn tại

1.1.2 Phân loại tác tử

Sự phân loại tác tử chỉ có ý nghĩa tương đối, tùy thuộc vào các tiêu chí ta lựa chọn để phân loại, cũng như mục tiêu của việc phân loại Các tác tử trong các hệ thống công nghệ thông tin có những yêu cầu riêng: chúng phải thực thi giống như phần mềm, phần cứng, người máy, hoặc kết hợp của cả ba Theo James Odell [8], những người phát triển tác tử đã xác định một số dạng tác tử điển hình trong phát triển hệ thống công nghệ thông tin như sau:

1.1.2.1 Tác tử phần mềm

Các tác tử phần mềm là một kiểu tác tử riêng Một tác tử phần mềm là một thực thể phần mềm tự trị có thể tương tác với môi trường của nó Điều này có nghĩa chúng

là các thực thể tự trị và có thể tác động trở lại các thực thể khác, bao gồm cả con người, máy móc và các tác tử phần mềm khác trong nhiều môi trường và nền tảng (platform) khác nhau Về cơ bản, các tác tử phần mềm được thiết kế mẫu cho phần mềm Phát triển các công cụ, ngôn ngữ và môi trường để hỗ trợ mẫu dựa trên tác tử Tuy nhiên, có thể thực thi các mẫu thiết kế tác tử sử dụng các công cụ, ngôn ngữ và môi trường hướng đối tượng hoặc bất kỳ công cụ, ngôn ngữ và môi trường nào khác

mà có khả năng hỗ trợ các thực thể phần mềm tự trị, tương tác và thích nghi Chủ yếu

Trang 18

các công cụ dựa trên tác tử vẫn được ưa thích hơn bởi vì các mẫu thiết kế tác tử là có sẵn trong phần mềm hơn là được lập trình Nói cách khác, có thể sử dụng công nghệ đối tượng cho công nghệ dựa trên tác tử, nhưng tính tự trị, tương tác và thích nghi của tác tử hiện không được hỗ trợ trong công nghệ hướng đối tượng Trong khi đó, các thuộc tính này có thể (và đang) được thêm vào cách tiếp cận hướng đối tượng thì các mẫu thiết kế cho các tác tử và phần mềm dựa trên tác tử vẫn chưa được hỗ trợ hoàn toàn và trực tiếp

1.1.2.2 Tác tử tự trị

Khi một tác tử có một sự độc lập nào đó với điều khiển bên ngoài, nó được coi

là tự trị Ở một mức độ nào đó, các tác tử có thể hoạt động mà không cần sự can thiệp hoặc gọi trực tiếp từ bên ngoài Nếu không có quyền tự trị, một tác tử sẽ không còn là một thực thể động nữa mà giống như một đối tượng thụ động như một bản ghi trong một bảng quan hệ

1.1.2.3 Tác tử tương tác

Các tác tử tương tác có thể tương tác với cả môi trường và các thực thể khác và

có thể được biểu diễn theo cấp bậc Ở một mức độ nào đó, các thông điệp đối tượng (lời gọi hàm) có thể được coi là dạng cơ bản nhất của tương tác, mức độ tương tác phức tạp hơn sẽ gồm các tác tử có khả năng phản ứng lại các sự kiện đáng chú ý bên trong môi trường Các tương tác phức tạp hơn ở các hệ thống trong đó các tác tử tham gia trong các tương tác song song, phức tạp với các tác tử khác Ở mức độ này, các tác

tử bắt đầu hành động giống như một xã hội Cuối cùng, mức độ tương tác phức tạp nhất khi các hệ thống bao hàm nhiều tác tử hỗn tạp khác nhau có thể phối hợp thông qua sự cộng tác và/hoặc cạnh tranh (ví dụ như: thỏa thuận và lập kế hoạch)

1.1.2.4 Tác tử thích nghi

Một tác tử được xem là thích nghi nếu nó có khả năng đáp ứng lại các tác tử khác và/hoặc môi trường của nó ở một vài mức độ nào đó Ít nhất thì nó phải phản ứng lại một kích thích đơn giản - để tạo một đáp ứng tiền định, trực tiếp tới một sự kiện cụ thể hoặc tín hiệu môi trường Bộ điều nhiệt, các cảm biến tự động và các máy tìm kiếm đơn giản thuộc loại tác tử thích nghi

Tiến xa hơn tác tử phản ứng đơn giản là các tác tử có khả năng suy luận Các tác tử suy luận này phản ứng lại bằng cách đưa ra các suy luận và bao gồm cả các tác

tử chẩn đoán bệnh và một số loại tác tử khai phá dữ liệu

Dạng nâng cao hơn của tác tử thích nghi là có khả năng học và tiến hóa Các tác

tử này có thể thay đổi hành vi của chúng dựa theo kinh nghiệm Các kỹ thuật phần mềm phổ biến cho việc học là các mạng nơ-ron, các luật Bayesian, các luật phân lớp,

Ví dụ: các tác tử học là các tác tử có thể phân tích giọng nói, nhận dạng và theo dõi

Trang 19

mục tiêu Một kỹ thuật chính cho các tác tử tiến hóa thường gồm các giải thuật di truyền và lập trình di truyền Có thể phát sinh ra các tác tử để phù hợp với mục tiêu đặt

ra Ví dụ: kế hoạch hành động và các chương trình phần mềm tối ưu hơn bất kỳ sản phẩm nào do con người làm ra trong một khoảng thời gian vừa phải

1.1.2.5 Tác tử di động

Trong khi các tác tử tĩnh tồn tại như một quy trình đơn lẻ trên một máy chủ thì các tác tử di động có thể lấy lại và di chuyển mã của chúng tới một máy chủ mới tại đó chúng có thể tiếp tục thực thi Quan điểm ở mức khái niệm thì các tác tử di động như vậy có thể được xem là lưu động, không định cư, lang thang, hoặc di cư Ví dụ, nếu một tác tử muốn lấy thông tin từ một vài nguồn khác nhau trên các platform khác nhau, nó có thể gửi thông tin yêu cầu đến mỗi platform sử dụng kỹ thuật tương đương với một RPC (Remote Procedure Call - gọi thủ tục từ xa) Tuy nhiên, nếu khối lượng thông tin ứng với site ở xa là lớn thì cần phải xem xét vấn đề lưu lượng và băng thông Hơn nữa, tác tử có thể xử lý dữ liệu từ xa hiệu quả hơn các dịch vụ như vậy tại site ở

xa Việc di chuyển tác tử tới một trong nhiều platform khác nhau có thể sẽ hiệu quả hơn là cách xử lý dữ liệu từ xa

1.1.2.6 Tác tử phối hợp

Các tổ chức nhân sự tồn tại chủ yếu để phối hợp các hành động của nhiều cá nhân vì một số mục tiêu Mục tiêu này có thể là tạo ra các kết cấu như các đơn vị kinh doanh sinh lãi, các tổ chức từ thiện, các công ty ba lê hoặc các liên hiệp nhỏ Tương tự như vậy, các hệ thống bao gồm nhiều tác tử có thể sinh lợi theo cùng kiểu mẫu đó Một số ứng dụng phổ biến nhất về tác tử phối hợp là dây chuyền cung cấp, lập lịch, giải quyết vấn đề, thương lượng hợp đồng, và thiết kế sản phẩm Nếu không có sự phối hợp ở mức độ nào đó, các hệ thống như vậy không thể tồn tại, dù là người hay là các

hệ thống dựa trên tác tử

Các tổ chức nhân sự không được xây dựng bởi các cá nhân giống hệt nhau và cùng làm những việc giống nhau mà có sự đa dạng hóa, có người đại diện, có thương lượng, quản lý, cộng tác, cạnh tranh,…Và chúng ta cần thực hiện cách tiếp cận giống như vậy trên các hệ thống đa tác tử Tuy nhiên, vẫn nên xem xét cẩn thận trong khi thiết kế và xây dựng cấu trúc của các hệ thống dựa trên tác tử Điều này sẽ giúp tăng khả năng liên kết chặt chẽ giữa các tác tử với hành vi của chúng, mặc dù sẽ hạn chế và điều chỉnh tính tự động của tác tử nhưng vẫn đảm bảo được tính linh hoạt ở mức tác

tử

1.1.2.7 Tác tử thông minh

Sau hàng thập kỷ, thuật ngữ "thông minh" vẫn chưa được định nghĩa (hoặc được hiểu) cho hệ thống nhân tạo và ngày nay việc áp dụng thuật ngữ này cho tác tử

Trang 20

có lẽ chưa thật thích đáng Hầu hết đều có xu hướng cho rằng tác tử và tác tử thông minh là tương đương nhau Có lẽ đây chỉ là sự cố gắng để truyền tải thông tin rằng tác

tử có nhiều sức mạnh hơn các cách tiếp cận thường Ví dụ, khi so sánh với các bảng quan hệ hoặc so sánh với các đối tượng, tác tử có thể được coi như là cái gì đó “thông minh” Hoặc, đây chỉ là sự cường điệu của tiếp thị Tuy nhiên, không sai khi nói rằng khái niệm về sự thông minh của các tác tử là rất khác so với của con người Chúng ta không tạo các tác tử để thay thế con người mà chúng ta tạo chúng để giúp đỡ hoặc bổ sung thêm cho con người

Các tác tử thông minh yêu cầu một bộ cơ bản các thuộc tính và tính năng Ví

dụ, một trạng thái của tác tử thông minh phải được chuẩn hóa bởi tri thức (hiểu biết, mục tiêu, mơ ước, ý định, giả định,…) và có thể hành động trên cơ sở tri thức này Nó cần có khả năng kiểm tra sự hiểu biết và mơ ước của nó, hình thành ý định của nó, lập

kế hoạch các hành động mà nó sẽ thực hiện dựa trên các giả định nào đó, và cuối cùng

là hành động theo kế hoạch đó Ngoài ra, các tác tử thông minh phải tương tác được với các tác tử khác sử dụng ngôn ngữ hình thức Các nhà nghiên cứu tác tử sử dụng hiểu biết của chúng ta về suy nghĩ của con người để làm mẫu cho thiết kế các tác tử

1.1.2.8 Tác tử wrapper

Tác tử này cho phép tác tử khác kết nối tới một dịch vụ/hệ thống phần mềm không phải tác tử Các tác tử khách gửi các lệnh tới tác tử wrapper và được gọi đến trong các dịch vụ cơ bản (Tác tử wrapper có thể là không cần thiết với các đối tượng nhưng vẫn nên có các đối tượng tồn tại trong cùng một môi trường)

Các loại tác tử trên thường chiếm ưu thế trong các hệ thống dựa trên tác tử, ngoài ra một ứng dụng cũng có thể dùng các dạng tác tử khác như: tác tử môi giới, tác

Tuy nhiên, các nhà nghiên cứu tìm ra sự mô tả sau: Một tác tử là một hệ thống máy

tính được đóng gói và đặt trong một vài môi trường và có khả năng hành động mềm dẻo, tự trị trong môi trường đó để đạt được các mục tiêu thiết kế của nó

Các tác tử là: các thực thể có thể nhận dạng rõ ràng của bài toán đang được giải quyết với các giao diện và ranh giới rõ ràng; được đặt trong một môi trường cụ thể - chúng nhận các đầu vào từ trạng thái của môi trường thông qua các bộ cảm nhận của chúng và tác động lên môi trường thông qua cơ quan phản ứng của chúng; được thiết

kế để thực hiện một vai trò cụ thể - chúng có các mục tiêu cụ thể cần đạt đến, có thể là

Trang 21

rõ ràng hay không rõ ràng trong các tác tử; tự trị - chúng kiểm soát qua trạng thái trong

và các hành vi của chính chúng; có khả năng thể hiện hành vi giải quyết vấn đề mềm dẻo (phụ thuộc ngữ cảnh) - chúng cần reactive (có thể phản ứng ngay lập tức với những thay đổi của môi trường để thỏa mãn các mục tiêu thiết kế của chúng) và proactive (có khả năng cập nhật các mục đích mới và nắm thế chủ động để thỏa mãn mục tiêu thiết kế của chúng)

1.2.2 Mô hình hóa tác tử

Việc mô hình hóa các hệ thống tác tử và đa tác tử cần có các ngôn ngữ, ký pháp

và công cụ thích hợp Các tác tử không khác nhiều so với các đối tượng, và hầu hết các phương pháp mô hình hóa đều dựa trên các công cụ có nguồn gốc từ hướng đối tượng Ngôn ngữ mô hình hóa được chấp nhận rộng rãi nhất trong công nghệ phần mềm hướng đối tượng là UML Tuy nhiên, UML không cung cấp tất cả các ký pháp để mô hình hóa các tính năng đặc biệt của tác tử

Khả năng mở rộng của UML cho phép hỗ trợ việc mô hình hóa tác tử UML (AUML) mở rộng sơ đồ tuần tự của UML để đặc tả các giao thức tương tác giữa các tác tử bằng cách cung cấp các cơ chế để định nghĩa các vai trò tác tử, các đường sống, các giao thức lồng và đan xen và ngữ nghĩa mở rộng cho các thông điệp UML

Agent-AUML đang trong giai đoạn nghiên cứu và được sửa đổi để triển khai các tính năng mới trong UML 2.0 Ví dụ, truyền thông giữa các tác tử có thể được mô tả bằng cách cải tiến sơ đồ tuần tự sang sơ đồ tương tác, ở đó, tác tử có thể thay đổi vai trò thêm hoặc xóa vai trò trong suốt quá trình tương tác, các ký pháp biểu diễn vòng lặp hoặc ngắt được bổ sung thêm các toán tử AND, OR và XOR

1.2.3 Phân tích và thiết kế hướng tác tử

1.2.3.1 Phương pháp tiếp cận hình thức

Phương pháp tiếp cận hình thức trong phân tích và thiết kế hướng tác tử là sử dụng các công thức toán học để đặc tả chính xác hệ thống, sản phẩm của phương pháp này là một đặc tả hình thức được sử dụng cho việc cài đặt hệ thống, kiểm tra sự thỏa mãn yêu cầu người sử dụng hoặc ước lượng kết quả cuối cùng [20]

Phương pháp hình thức chấp nhận cách biểu diễn logic hệ thống Ví dụ, LORA (Logic of Rational Agents) [21] được xây dựng dựa trên logic vị từ, bao gồm một thành phần BDI (Belief-Desire-Intention) được sử dụng cho kiến trúc tác tử, một thành phần thời gian được sử dụng để xác định các biến động của hệ thống và một thành phần hành động được sử dụng để biểu diễn các hành động của tác tử Một cách tiếp cận khác do M Luck và M DInverno đề xuất [22] là sử dụng ngôn ngữ Z để đặc tả tác

tử [23] Z dựa trên logic vị từ dự đoán các hệ số cùng với việc đưa ra các khái niệm lược đồ gốc Một lược đồ bao gồm một thành phần khai báo và thành phần còn lại mô

Trang 22

tả quan hệ giữa các biến và các ràng buộc Tác tử trong ngôn ngữ Z được định nghĩa trong kiến trúc bốn tầng, bao gồm: các thực thể (các đối tượng tĩnh cùng các thuộc tính), các đối tượng (các thực thể kèm theo các khả năng), tác tử (đối tượng đi cùng mục tiêu), tác tử tự trị

1.2.3.2 Phương pháp tiếp cận không hình thức

Phương pháp không hình thức sử dụng ngôn ngữ tự nhiên có cấu trúc và ký pháp đồ họa là cách tiếp cận trực quan cho việc đặc tả và thiết kế các hệ thống hướng tác tử Cách tiếp cận này hướng yêu cầu là chủ yếu và thường đi vào nắm bắt các chức năng của hệ thống qua tập các khung nhìn và phương pháp

Ta có thể phân chia các đặc tả không hình thức làm ba loại: hướng chức năng (sử dụng các sơ đồ ca sử dụng), cách tiếp cận hướng mục tiêu (xác định các mục tiêu của hệ thống và phân chia chúng thành các tác tử) và cách tiếp cận hướng vai trò (coi vai trò như các trừu tượng quan trọng cho đặc tả một hệ thống đa tác tử, chúng thường liên quan đến thiết kế vai trò tác tử)

Một số phương pháp tiếp cận không hình thức là: MaSE [25] được phát triển chủ yếu dựa trên các hệ thống thông tin, các tác tử, niềm tin, thỏa thuận và mục tiêu được sử dụng để mô hình hóa tổ chức hệ thống; Gaia [24] điển hình cho phương pháp

mô hình hóa vai trò

1.3 Công nghệ tác tử

1.3.1 Truyền thông giữa các tác tử

Hiện đang là một trong những lĩnh vực quan trọng nhất cần chuẩn hoá Không chỉ nội dung và ý nghĩa của truyền thông có thể rất khác nhau mà cách thức truyền thông cũng có rất nhiều cách khác nhau

1.3.1.1 Các ngôn ngữ truyền thông tác tử

Các thông điệp phải có ngữ nghĩa tốt để có thể nhìn thấy được và tính toán được Vì thế, chúng ta cần phải chuẩn hoá ngôn ngữ truyền thông tác tử (Agent Communication Languages - ACL) để những người khác có thể phát triển các tác tử của họ để có thể thao tác lẫn nhau Ngoài ra họ phải có một dạng ngữ nghĩa chính thức

để các cách thực thi khác nhau vẫn duy trì được các tính năng cần thiết của ACL Bằng cách xác định rõ một ACL chúng ta có thể hệ thống hoá các yếu tố tương tác cơ bản giữa các tác tử một cách hiệu quả

Theo Weiß [19] một số ngôn ngữ chính dùng cho việc truyền thông giữa các tác

tử là: KQML [11] (đây là ngôn ngữ truyền thông tác tử được sử dụng rộng rãi nhất), ARCOL (“ARTIMIS Communication Language”) [12] (ngôn ngữ truyền thông dùng trong hệ thống ARTIMIS, có ít từ ngữ truyền thông gốc hơn KQML), FIPA ACL [5]

Trang 23

(là ngôn ngữ truyền thông tác tử chịu ảnh hưởng mạnh bởi ARCOL) và KIF [10] (ngôn ngữ dựa trên logic này được thiết kế để biểu diễn bất cứ loại tri thức hoặc siêu tri thức nào) Sự kết hợp của FIPA-ACL, ARCOL, và KQML hầu như đã tạo nên một chuẩn hoàn chỉnh cho các ngôn ngữ truyền thông tác tử

1.3.1.2 Cơ chế truyền tải thông điệp

Trong môi trường tác tử, có thể lập lịch các thông điệp như hướng sự kiện Có thể gửi thông điệp dưới chế độ đồng bộ hoặc không đồng bộ Hơn nữa, cơ chế truyền thông điệp nên hỗ trợ đánh địa chỉ duy nhất như đánh địa chỉ dựa trên vai trò (tức là đánh địa chỉ “trang trắng” so với “trang vàng”) Cuối cùng, cơ chế truyền tải phải hỗ trợ các chế độ truyền tải đơn, truyền tải đa và truyền tin quảng bá (unicast, multicast, broadcast) và các dịch vụ như hành vi quảng bá tin, không từ chối thông điệp, và logging

1.3.1.3 Truyền thông Ontology

Truyền thông tác tử là các khái niệm về truyền thông giữa các tác tử Các tác tử

có thể có các thuật ngữ khác nhau cho cùng một khái niệm, các thuật ngữ giống hệt nhau cho các khái niệm khác nhau và các hệ thống lớp khác nhau Khi biểu diễn kiến thức từ nhiều miền khác nhau đòi hỏi phải có một ontology chung, cách xây dựng và liên kết chúng với nhau

1.3.1.4 Các giao thức tương tác tác tử

Hệ đa tác tử là hệ thống gồm nhiều tác tử tự chủ và linh hoạt khác nhau Mỗi tác tử đều có mục tiêu riêng và một phần mục tiêu chung của cả hệ thống Trong quá trình hoạt động, các tác tử phải liên hệ với nhau để hoàn thành nhiệm vụ, tất cả những mối liên hệ đó được gọi chung là tương tác Như vậy, tương tác chính là các mối liên

hệ, trao đổi để kết hợp, phối hợp hoặc cạnh tranh, thương lượng giữa các tác tử trong

hệ đa tác tử nhằm đạt được mục tiêu riêng của từng tác tử cũng như mục tiêu chung của hệ thống Trong các hệ thống thông tin, tương tác có thể chia thành ba loại chính:

+ Tương tác bình đẳng (peer to peer - P2P): đơn giản chỉ là trao đổi các thông điệp có thể hiểu được giữa các thành phần với nhau;

+ Tương tác kiểu khách - chủ truyền thống (client - server): Tương tác này xảy

ra khi một bên yêu cầu bên kia thực hiện một hành động cụ thể nào đó; + Tương tác xã hội: Các thành phần tỏng hệ thống có mối liên hệ phức tạp, mang tính xã hội như quan hệ tương hỗ, cạnh tranh, thương lượng…

Trang 24

1.3.2 Quản lý vòng đời tác tử

Các tác tử sẽ là phần mềm chạy trong môi trường phần mềm Vì thế, chúng phải

có cơ chế ngầm hiểu các hành động như: đang bắt đầu, đang tạm dừng, đang được quản lý, đang được theo dõi Một số tác tử được thực thi như mã di động (mobile code) có bổ sung thêm các vấn đề về vòng đời như: cho phép có các quyền để chạy, các quyền để thực hiện một số tác vụ nào đó, và để có truyền thông tại nhiều địa điểm khác nhau ngoài điểm bắt đầu xuất phát Các tác tử có thể tiến hóa và khi chúng ta kiểm tra quản lý vòng đời, chúng ta phải kiểm tra cả các môi trường phần mềm sẽ chạy tác tử Môi trường có thể rất nhỏ, không kết nối liên tục với các thiết bị như điện thoại

di động hay trợ giúp kỹ thuật số cá nhân hoặc có thể bao gồm nhiều máy chủ có khả năng chạy số lượng rất lớn tác tử Yêu cầu đối với các môi trường hơi khác nhau và cần phải xem xét cho phù hợp đối với từng hệ thống cụ thể

1.3.2.1 Thời gian tồn tại của tác tử

Các tác tử có thể tồn tại logic trong khoảng thời gian nó hiển thị hành vi im lìm không hoạt động Các giao diện hỗ trợ vòng đời của tác tử cần cân nhắc các yêu cầu về

sự tồn tại “logic” của rất nhiều tác tử trái với sự tồn tại vật lý trong bộ nhớ

Trong các hệ thống hiện đang hỗ trợ các tác tử “sống lâu” (long-lived), các tác

tử có thể “ngủ” và thường được lưu trữ trong ổ đĩa vật lý Khi tác tử tồn tại lâu dài, dữ liệu và trạng thái hiện tại vẫn được duy trì và sẽ phục hồi lại khi tác tử “thức” Có một trạng thái khác khi chuyển giữa trạng thái để tác tử ngủ và khi đánh thức nó dậy, có thể truy vấn xem nó đang ở trong tình trạng nào, và khi tác tử “thức dậy” sẽ có thông báo khoảng thời gian trôi qua và nó có thể đánh giá lại môi trường

Các hệ tác tử có thể có nhiều mô hình thông điệp trong khi tác tử “ngủ” Một số cần mô hình kiểu sự kiện thô với các thông điệp được truyền đi một cách chắc chắn Một số khác cần kiểu ngẫu nhiên khi một tác tử nhìn thấy một thông điệp quan trọng

có thể tác động đến thông tin Có nhiều kiểu thông điệp truyền trực tiếp giữa hai tác tử, với phương pháp store-and-forward và mô hình publish-and-subscribe Các sự kiện hệ thống có thể được truyền qua các thông điệp hoặc một số cơ chế khác Phải thiết kế các mô hình sao cho việc truyền thông điệp là tối ưu Tuy có nhiều mô hình khác nhau nhưng qua thời gian sẽ xuất hiện một số mẫu thiết kế nào đó

1.3.2.2 Quá trình hoạt động của tác tử

Cần thiết phải có các kỹ thuật ghi lại lịch sử các hành động của tác tử để trình điều khiển hành vi của tác tử có thể kiểm tra lại và tác tử đó có thể đánh giá các hành động trong thời gian trước Lịch sử bao gồm một dãy các tình huống, từ trạng thái của một tác tử để cung cấp các bản ghi ghi lại các sự kiện và hành động của tác tử

Trang 25

1.3.2.3 Phân lớp động và đa phân lớp

Trong suốt vòng đời của mình, tác tử có thể hiển thị các giao diện động phản ánh các thay đổi trạng thái của nó hoặc môi trường Tùy theo từng hoàn cảnh mà các vai trò hoặc hành vi của các tác tử cụ thể sẽ thay đổi Tức là, mỗi tác tử có thể thay đổi

cả vai trò của nó (phân lớp động) và nó có thể đảm đương nhiều vai trò trong cùng một khoảng thời gian nào đó (đa phân lớp) Đây là một vấn đề quan trọng vì hầu hết các ngôn ngữ và các phương pháp đều chưa trực tiếp hỗ trợ phân lớp động và đa phân lớp

1.3.3 Tính di động

Các tác tử cố định tồn tại như một quy trình đơn trên một máy tính chủ; các tác

tử di động có thể lấy lại và di chuyển mã của nó tới một máy chủ mới và tiếp tục thực thi Lý do di chuyển là để cải thiện độ thực thi bằng cách chuyển tác tử tới gần các dịch vụ sẵn có trên máy chủ mới Các tác tử di động cũng là một bộ phận của một hệ tác tử có các tác tử cố định

Để thực thi các tác tử di động đòi hỏi một máy chủ tác tử để chạy các tác tử di động, cần phải có chính sách về bảo mật và thẩm định tính xác thực của mã di động và các vấn đề liên quan như: các tác tử đang ở đâu, làm thế nào để giao tiếp với tác tử trong khi chúng đang di chuyển, làm sao để mang chúng về nếu mạng bị lỗi, liệu có đảm bảo được rằng chúng biết cách tính “thời gian chờ” và tạm dừng tiến trình một cách hợp lý trong khi thực hiện các nhiệm vụ nhạy cảm về mặt thời gian không, nếu vẫn phải tiếp tục hoạt động trong mọi hoàn cảnh thì làm thế nào để biết được chúng vẫn đang tồn tại hay không tồn tại

1.3.4 Nguyên lý hoạt động của tác tử di động

1.3.4.1 Vòng đời của một tác tử di động

Mọi tác tử di động đều thực hiện tuần tự theo logic: Đầu tiên, tác tử được tạo ra,

di trú từ host này sang host khác theo lịch trình, thực hiện các nhiệm vụ được giao và cuối cùng bị huỷ sau khi đã hoàn thành nhiệm vụ

1.3.4.2 Cơ chế di chuyển của tác tử di động

Tác tử sẽ tự quyết định đóng gói và di trú đến môi trường khác để thực thi là đặc điểm nổi bật của tác tử di động Khi có nhu cầu di trú, tác tử sẽ tạm dừng thực thi

mã, thực hiện lưu trạng thái của đối tượng (có thể có khả năng lưu lại cả trạng thái thi hành) Sau khi mã hoá dữ liệu tác tử sẽ được truyền đi trên hệ thống mạng Khi đến đích, tác tử sẽ thực hiện các bước ngược lại với bên gửi để khôi phục lại trạng thái của tác tử và tiếp tục thực hiện nhiệm vụ

Trang 26

CHƯƠNG 2: NỀN TẢNG JADE (JAVA AGENT DEVELOPMENT

FRAMEWORK) 2.1 Nền tảng JADE

2.1.1 Khái niệm JADE

JADE (Java Agent DEvelopment Framework) là một framework phần mềm được cài đặt hoàn toàn bằng ngôn ngữ Java nhằm mục đích đơn giản hóa việc cài đặt các hệ thống đa tác tử Môi trường JADE gồm có:

 Một môi trường thực thi được cài đặt trên máy để các tác tử có thể làm việc

 Một bộ công cụ cho phép theo quản lý và theo dõi hành vi của các tác tử đang hoạt động

 Thư viện lớp cho phép lập trình viên sử dụng (dùng trực tiếp hoặc kế thừa) để phát triển các tác tử

2.1.2 Kiến trúc nền tảng JADE

Hình 2.1 - Các thành phần kiến trúc chính của JADE Nền tảng JADE bao gồm các container agent được phân phối trên mạng, hình 2.1 mô tả các thành phần chính trong kiến trúc nền tảng JADE Mỗi một thể hiện của môi trường thực thi JADE được gọi là một Container dùng để chứa các tác tử, tác tử sống trên các container, các container này cung cấp JADE run-time và tất cả các dịch

vụ cần thiết cho việc lưu và chạy các tác tử Có một container đặc biệt là main container luôn chạy trên một platform và biểu diễn điểm chương trình khởi động của một platform: nó là container đầu tiên khởi động và tất cả các container khác phải

Trang 27

tham gia vào một main container bằng cách đăng kí với main container Lập trình viên định danh các container bằng cách sử dụng một tên logic; mặc định main container có tên là "Main Container" trong khi các container khác được đặt tên là "Container-1",

ra kết quả trong một địa chỉ không hợp lệ Trong trường hợp này, container nhận một ngoại lệ và buộc phải làm tươi cache của nó Quy ước thay thế bộ nhớ cache là LRU (Least recently used - sử dụng gần đây ít nhất), được thiết kế để tối ưu hóa các cuộc trao đổi dài hơn là thỉnh thoảng, các cuộc trao đổi thông điệp đơn giản thực tế ít có trong ứng dụng hệ đa tác tử

Định danh tác tử được chứa bên trong một Agent Identifier (AID), bao gồm một tập các slot tuân theo cấu trúc và ngữ nghĩa được định nghĩa bởi FIPA Hầu hết thành phần cơ bản của AID là tên của tác tử và địa chỉ của nó Tên của một tác tử là một định danh duy nhất trong toàn cục được JADE xây dựng bằng cách nối với một nickname do người dùng định nghĩa (cũng được biết đến như một tên cục bộ đủ để có nghĩa trong giao tiếp bên trong một platform (intra-platform) đối với tên của platform

Trang 28

Địa chỉ của tác tử là địa chỉ giao vận được kế thừa từ platform, nơi mỗi địa chỉ platform tương ứng với một giao thức giao vận thông điệp (MTP - Message Transport Protocol) điểm cuối nơi mà các thông điệp FIPA có thể được gửi và nhận Lập trình viên tác tử cũng được cho phép để thêm các địa chỉ giao vận của chính họ vào AID, cho một vài mục đích riêng của ứng dụng

Khi Main Container khởi động, có hai tác tử đặc biệt được khởi tạo và chạy bởi JADE, vai trò của chúng như sau:

1) Tác tử AMS: Hệ thống quản lý Agent (AMS - Agent Management System)

là một tác tử giám sát toàn bộ platform Là điểm liên lạc cho tất cả các tác tử cần tương tác để truy cập white pages của platform cũng như để quản lý vòng đời của nó Mọi tác

tử được yêu cầu đăng ký với AMS (thực hiện một cách tự động bởi JADE lúc tác tử bắt đầu khởi tạo) để đạt được một AID hợp lệ

2) Tác tử DF: Dịch vụ trang vàng trong JADE (hình 2.2), tuân theo đặc tả quản

lý tác tử của FIPA, được cung cấp bởi một tác tử đặc biệt gọi là DF (Directory Facilitator) Mọi platform theo chuẩn FIPA đều chứa một tác tử DF (tên cục bộ của agent này là df<platform-name>) Một “yellow pages” - trang vàng cho phép tác tử công bố các mô tả của một hoặc nhiều dịch vụ mà nó cung cấp để các tác tử khác có thể dễ dàng tìm ra và khai thác một cách dễ dàng Hình 2.2 cho thấy các tác tử A1, A2, A3 đăng ký với tác tử DF các dịch vụ mình cung cấp, các tác tử A4, A5 tìm kiếm dựa vào tác tử DF và khai thác dịch vụ từ các tác tử A1, A2, A3

Hình 2.2 - Dịch vụ trang vàng (Yellow pages service)

2.2 Giao tiếp giữa các tác tử JADE

Giao tiếp giữa các tác tử là một trong những tính chất cơ bản nhất của JADE được đặc tả theo chuẩn FIPA

Trang 29

Hình 2.3 - Giao diện quản lý tác tử JADE

Mô hình giao tiếp giữa các tác tử dựa trên quá trình truyền thông điệp không đồng bộ Vì vậy, mỗi tác tử sẽ có một hòm thư hay hàng đợi thông điệp tác tử, nơi mà môi trường thực thi JADE gửi các thông điệp từ những tác tử khác gửi tới Bất cứ khi nào một thông điệp được gửi vào hòm thư, tác tử sẽ được thông báo có thông điệp đến Sau khi tác tử lấy thông điệp ra, việc đọc, xử lý ra sao lại là do lập trình viên quyết định Định dạng riêng của thông điệp trong JADE tuân theo cấu trúc định nghĩa chuẩn FIFA-ACL Mỗi thông điệp sẽ gồm các trường sau:

- sender: Người gửi thông điệp

- receivers: Danh sách người nhận

- performative: Hành vi giao tiếp chỉ ra phía gửi muốn hướng tới mục đích gì

Ví dụ, nếu performative là REQUEST (yêu cầu) thì người gửi muốn người nhận thực hiện một hành động, nếu là INFORM (thông báo) thì phía gửi muốn thông báo với bên nhận về một điều gì đó Nếu là PROPOSE hoặc CFP (Call For Proposals) thì phía gửi muốn đàm phán với bên nhận

- content: Nội dung gồm các thông tin thực được trao đổi bởi thông điệp

- content language: ngôn ngữ nội dung chỉ ra cú pháp sử dụng để diễn đạt nội

dung cả phía gửi và nhận đều phải giải mã và chuyển đổi nội dung với cú pháp phù hợp để việc giao tiếp trở nên hiệu quả

- ontology: chỉ ra từ vựng các ký tự sử dụng trong nội dung Cả bên gửi và nhận

đều phải quy về cùng một nghĩa đối với các kí tự này cho việc giao tiếp hiệu quả hơn

Trang 30

- Một vài trường khác để điều khiển việc giao tiếp với nhiều tác tử cùng lúc và

chỉ định thời gian cho việc nhận và hồi đáp thông điệp như conversation-id,

reply-with, in-reply-to và reply-by

Một thông điệp trong JADE được cài đặt như một đối tượng của lớp

jade.lang.acl.ACLMessage cung cấp các phương thức get và set cho phép truy cập tất

cả các trường dữ liệu trong cấu trúc FIPA ACL Tất cả các performative định nghĩa trong đặc tả FIPA đều ánh xạ đến các ràng buộc trong lớp ACLMessage

Hình 2.4 - Mô hình truyền thông điệp không đồng bộ giữa các tác tử

2.3 Dịch vụ di động liên nền (Inter-platform)

Gói thư viện migration.jar được cộng đồng phát triển cho môi trường JADE bổ

sung Một tác tử bất kỳ có thể di chuyển từ container này sang container khác trong một platform thông qua dịch vụ di động tác tử gọi là bên trong nền (Intra-Platform) được cung cấp bởi JADE Tuy nhiên, nếu muốn di chuyển liên nền (Inter-Platform) tức là từ platform này sang platform khác, cần phải bổ sung thêm add-on cho môi trường JADE là dịch vụ tác tử di động liên nền Dịch vụ liên nền được thiết kế và cài đặt để cung cấp khả năng di động từ platform đến platform cho tác tử JADE Dịch vụ này được xây dựng và có thể sử dụng đối với lập trình viên tác tử, lập trình viên sẽ di chuyển tác tử dễ dàng qua các platform như việc di chuyển qua các JADE container Ý tưởng cơ bản của dịch vụ này dựa trên các thông điệp FIPA ACL Các thông điệp được gửi giữa các tác tử AMS Hình 2.5 cho thấy quá trình di chuyển của một tác tử từ platform này đến platform khác

Hình 2.5 - Di chuyển liên nền của tác tử di động

Trang 31

2.4 JadeGateway

Là một lớp cung cấp sẵn trong JADE, Cho phép tương tác giữa môi trường web

servlet với môi trường tác tử JADE Trong hình 2.6, servlet tương tác với PongAgent (là một tác tử đang chạy trong môi trường JADE) thông qua một GatewayAgent, tác tử này được tạo bởi JadeGateway GatewayAgent trao đổi với servlet bằng đối tượng

BlackBoard

Hình 2.6 - Mô hình tương tác giữa servlet với tác tử thông qua JadeGateway

Trang 32

CHƯƠNG 3: PHƯƠNG PHÁP TÌM KIẾM VÀ TÍCH HỢP THÔNG TIN

SỬ DỤNG TÁC TỬ PHẦN MỀM3.1 Tìm kiếm thông tin

3.1.1 Tổng quan về tìm kiếm thông tin trong các hệ phân tán

Vấn đề tìm kiếm thông tin trong các nguồn rải rác được phân bố trên các máy chủ khác nhau trở lên đáng quan ngại khi số lượng cơ sở dữ liệu trong các mạng LAN

và Internet Mục tiêu của tìm kiếm thông tin phân tán (distributed information retrieval

- DIR) là cung cấp một giao diện tìm kiếm đơn mà có thể cung cấp truy nhập đến các

cơ sở dữ liệu khả dụng Vấn đề này đã được biết đến như là tìm kiếm liên bang (federated search), bao gồm xây dựng các mô tả nguồn tài nguyên cho từng cơ sở dữ liệu, lựa chọn những cơ sở dữ liệu này để tìm kiếm cho thông tin riêng biệt và trộn các kết quả thu thập được vào một danh sách kết quả đơn Một số ứng dụng tìm kiếm thông tin từ nhiều nguồn tài nguyên bao gồm: meta-search engine, distributed genomic search, newsletter gathering,

Giả sử có m máy chủ thông tin, biểu diễn bởi nguồn Si với i=1 m; mỗi nguồn thông tin được tìm kiếm bởi các hệ thống thu thập thông tin riêng biệt (information retrieval system - IRS) Giả thiết rằng mỗi search engine sẽ sinh ra một danh sách kết quả thích hợp đối với truy vấn Để cung cấp cho người sử dụng một danh sách các kết quả thích hợp thì từ danh sách các kết quả được sinh ra bởi các IRS phải được tích hợp lại Hình 3.1 dưới đây mô tả một cách tổng quát về hệ thống thu thập thông tin từ nhiều nguồn dữ liệu

Hình 3.1 - Sơ đồ tổng quát hệ thống thu thập thông tin từ nhiều nguồn dữ liệu

Trang 33

3.1.2 Kiến trúc tổng quan hệ thống tìm kiếm thông tin trong hệ đa tác tử

Kiến trúc hệ thống tìm kiếm thông tin trong hệ đa tác tử dựa trên nền tảng JADE Hình 3.2 dưới đây mô tả một kiểu kiến trúc hệ thống tìm kiếm thông tin trong

hệ đa tác tử

Hình 3.2 - Kiến trúc hệ thống tìm kiếm thông tin trong hệ đa tác tử

 Người sử dụng: gửi truy vấn đến các tác tử tìm kiếm (Search Agent) và yêu

cầu các tác tử tìm kiếm các thông tin từ các cơ sở dữ liệu (Database)

 Broker Agent: Sau khi nhận truy vấn của người sử dụng, nó có nhiệm vụ chia

sẻ quá trình cho các Search Agent Broker Agent cũng có thể tạo Search Agent nếu cần

 Search Agent: Tác tử có nhiệm vụ tìm kiếm các thông tin từ các nguồn phân tán và sẽ trả về các kết quả tìm kiếm cho Response Agent

 Response Agent: Tác tử này có trách nhiệm hiển thị kết quả của thông tin thu

thập được từ các Search Agent Tác tử này sẽ đóng vai trò là trung gian để tích hợp thông tin sẽ được trình bày trong phần tích hợp thông tin ở mục 3.2

3.2 Tổng quan về tích hợp thông tin

3.2.1 Khái niệm tích hợp thông tin

Tích hợp thông tin là quá trình kết hợp dữ liệu từ các nguồn thông tin khác nhau nhằm cung cấp cho người dùng một cái nhìn tổng quan và duy nhất về dữ liệu [13] Các đặc điểm của hệ thống tích hợp thông tin bao gồm:

Các nguồn thông tin là phân tán: Các nguồn thông tin này có thể các cơ sở dữ

liệu trong các hệ thống khác nhau, cũng có thể là các trang Web ở các địa chỉ khác

Trang 34

nhau, hoặc cũng có thể là những con người với các quan điểm khác nhau về một vấn

đề nào đó

Các nguồn thông tin là không đồng nhất: Sự không đồng nhất này thể hiện ở cả

ngôn ngữ biểu diễn và từ vựng biểu diễn thông tin Các nguồn thông tin có thể có ngôn ngữ biểu diễn khác nhau, ví dụ CSDL của một nguồn được biểu diễn theo dạng XML nhưng một nguồn thông tin khác lại được biểu diễn theo CSDL quan hệ Các nguồn thông tin cũng có thể sử dụng các từ vựng khác nhau để cùng biểu diễn một thông tin

Một hệ tích hợp thông tin thường không cần toàn bộ thông tin trong các nguồn cần tích hợp Với mỗi nhiệm vụ cụ thể, hệ thống chỉ cần những thông tin liên quan đến

việc thực hiện nhiệm vụ đó Như vậy, nếu tập hợp toàn bộ các nguồn thông tin vào hệ thống trước khi tích hợp thì sẽ rất lãng phí và nhiều khi không thể thực hiện được

Với các đặc điểm như trên, việc xây dựng các hệ tích hợp thông tin yêu cầu

kiến thức về nhiều lĩnh vực khác nhau như: lý thuyết về CSDL, các phương pháp ước

lượng, lý thuyết về ngôn ngữ và biểu diễn thông tin,…

3.2.2 Mức độ tích hợp thông tin

Theo Khaled Bashir Shaban [9], tích hợp thông tin được chia thành ba mức dựa trên đặc điểm đầu vào và đầu ra của quá trình tích hợp như sau:

Mức 1: Tích hợp dữ liệu Đây là mức thấp nhất Trong mức này, đầu vào là các

bản ghi dữ liệu Đầu ra cũng có dạng các bản ghi hoặc một dạng cao hơn nhưng vẫn đóng vai trò là dữ liệu cung cấp cho một ứng dụng nào đó

Mức 2: Tích hợp thông tin Trong mức này, cả đầu vào và đầu ra của quá trình

tích hợp đều là thông tin (information), tức là một cấu trúc đầy đủ, tập hợp từ các bản

ghi dữ liệu Mức này xảy ra với các hệ thống nhiều nguồn dữ liệu mà cấu trúc của các nguồn dữ liệu này là khác nhau và mỗi nguồn thông tin không thể tách ra từ một nguồn khác

Mức 3: Tích hợp quyết định Đây là mức tích hợp thông tin cao nhất Đầu vào

của hệ thống này có thể là thông tin, dữ liệu, hoặc các quyết định (được biểu diễn theo

một dạng cụ thể nào đó) từ các hệ thống khác nhau Nhiệm vụ của hệ tích hợp thông tin ở mức này là phải đưa ra tập quyết định phục vụ yêu cầu đặt ra của hệ thống Tích hợp quyết định ở mức trừu tượng cao hơn hai mức trước, nó bao hàm cả hai mức trên Một điểm khác nhau nữa, nếu như ở mức 1 và mức 2 vẫn có những trường hợp quá trình tích hợp thông tin không thực hiện được (do không thoả mãn các điều kiện nào đó) thì mức 3 sẽ luôn được thực hiện vì nó không phụ thuộc vào bản chất và đặc điểm của các nguồn thông tin

Trang 35

Trong thực tế một hệ tích hợp thông tin thường có đủ cả ba mức Các mức thấp (low level), do đó, sẽ làm cơ sở cho các mức cao hơn (high level) Luận văn dùng

thuật ngữ tích hợp thông tin để thay cho cả ba mức tích hợp thông tin nêu trên

3.2.3 Một số phương pháp tích hợp thông tin

Nhu cầu tích hợp thông tin trong các hệ thống thông tin, nhất là trên môi trường Internet, rất lớn Nhiều nghiên cứu về tích hợp thông tin đã được tiến hành [3, 16, 17] Các nghiên cứu này đưa ra một loạt các phương pháp tích hợp thông tin, mỗi phương pháp lại phù hợp với một dạng hệ thống (và các nguồn thông tin) cụ thể Trong phần này, luận văn sẽ trình bày một số phương pháp tích hợp thông tin theo cách phân loại dựa trên kỹ thuật tích hợp

3.2.3.1 Tích hợp thông tin dựa trên ước lượng không chắc chắn

Hiểu một cách đơn giản, tích hợp thông tin dựa trên ước lượng không chắc chắn

là phương pháp tính toán độ phù hợp của các thông tin thu thập được với yêu cầu của

người dùng hoặc ứng dụng cụ thể, sau đó chọn ra thông tin có độ phù hợp cao nhất Để tính toán độ phù hợp, các phương pháp thuộc dạng này sử dụng các ước lượng không chắc chắn

Trong các ứng dụng tìm kiếm truy xuất thông tin trên Web quen thuộc như

Yahoo, Google, Alta Vista… độ phù hợp của một thông tin được tính qua hai tham số

là độ chính xác (precision) và khả năng thu hồi (recall) Từ yêu cầu tìm kiếm thông tin của người dùng, hai tham số trên sẽ được tính toán Độ chính xác thay thế cho các văn bản phù hợp nhất với người dùng trong tập các văn bản ban đầu Khả năng thu hồi

thay thế cho phần phù hợp nhất bên trong các văn bản tìm được đó Kết quả trả về sẽ dựa trên cả hai tham số này

Trong [9] trình bày một phương pháp tích hợp thông tin khác sử dụng hệ đa tác

tử Với mục đích tích hợp và truy xuất các nguồn thông tin trên Internet nhằm tìm ra thông tin phù hợp nhất với người dùng, hệ tích hợp thông tin sẽ được tổ chức thành một nhóm các tác tử khác nhau, mỗi tác tử có chức năng thu thập thông tin tại một nguồn nhất định Phương pháp tích hợp thông tin được đưa ra là tổ chức các tác tử

thành các nhóm đồng hướng (team consensus) bao gồm các tác tử cùng thu thập thông

tin cho một yêu cầu của người dùng Các tác tử trong mỗi nhóm này sẽ thu thập thông tin từ nguồn của mình sau đó thông tin sẽ được ước lượng giá trị theo một phương pháp ước lượng không chắc chắn (ước lượng mờ) dựa trên các điều kiện không chắc chắn của tác tử đó Cuối cùng, các giá trị thông tin sẽ được tính toán, so sánh và lựa chọn theo một thuật toán tích hợp và hệ thống sẽ đưa ra quyết định lựa chọn thông tin phù hợp nhất với người dùng

Trang 36

Nói chung, các phương pháp tích hợp thông tin sử dụng ước lượng không chắc chắn đều cần thuật toán tích hợp thông tin phức tạp Mặt khác, việc tính toán độ phù hợp của thông tin chưa tính đến sự không đồng nhất về ngữ nghĩa thông tin Theo nhận định của Morgan Benton và Benjamin K.Ngugi [14] thì phương pháp tính toán độ phù

hợp dựa trên hai độ đo: độ phù hợp và khả năng thu hồi có bản chất là so sánh từng

bít, do đó không so sánh được ngữ nghĩa thông tin

3.2.3.2 Tích hợp thông tin dựa trên các ràng buộc dữ liệu

Một dạng phương pháp tích hợp thông tin khác là dựa trên các ràng buộc dữ liệu Các phương pháp thuộc dạng này được áp dụng cho hệ thống bao gồm các nguồn thông tin biểu diễn dưới dạng các hệ CSDL và cấu trúc, ràng buộc trong các hệ CSDL này là có thể biết được Mục đích của các hệ thống này là trả lời các truy vấn của người dùng về thông tin trong nhiều nguồn khác nhau mà không cần truy nhập trực tiếp vào tất cả các nguồn thông tin này Tiêu biểu cho phương pháp tích hợp thông tin

thuộc loại này là phương pháp dùng cho hệ thống IBIS (Internet-based Information

System) [4]

Phương pháp tích hợp thông tin được đưa ra dựa trên bộ ba lược đồ (G, S, M) được xây dựng từ các nguồn thông tin cần tích hợp:

Lược đồ toàn cục (global schema) G: giống như lược đồ quan hệ trong lý thuyết

về CSDL, mô tả các ràng buộc nhất quán, các ràng buộc khoá và các yêu cầu về tính độc lập giữa các nguồn thông tin

Lược đồ nguồn thông tin (source schema) S: Mô tả cấu trúc của tập các nguồn

thông tin cần tích hợp trong hệ thống

Các ánh xạ M: bao gồm các ánh xạ được thiết lập giữa lược đồ toàn cục và các

lược đồ nguồn thông tin

Trên cơ sở xem xét các ràng buộc được định nghĩa trong G và cấu trúc biểu diễn trong S, người thiết kế hệ thống sẽ xác định các ánh xạ tương ứng giữa các thực thể thông tin trong các nguồn thông tin (ở đây là các CSDL)

Phương pháp này có ưu điểm là biểu diễn được ngữ nghĩa thông tin thông qua

bộ ba (G, S, M) nhưng nhược điểm là cần biết cấu trúc và ràng buộc của các CSDL trong hệ thống Điều này không phải lúc nào cũng thực hiện được

3.2.3.3 Tích hợp thông tin tự động dựa trên ontology

Nhiều nghiên cứu khác nhau đã khẳng định phương pháp tích hợp thông tin dựa trên ontology có một số ưu điểm so với hai dạng phương pháp đã trình bày ở trên [3, 17] Thay vì sử dụng các ước lượng không chắc chắn hoặc các lược đồ CSDL, các

phương pháp dựa trên ontology sử dụng một cấu trúc phân lớp các khái niệm, thuật

Trang 37

ngữ và các quan hệ giữa các khái niệm đó gọi là ontology để biểu diễn các nguồn

thông tin cần tích hợp (cả nội dung và ngữ nghĩa thông tin) Thông qua tương tác giữa các thành phần dựa trên ontology, thông tin từ các nguồn được tích hợp

Vì ontology biểu diễn ngữ nghĩa thông tin thông qua các khái niệm và các mối quan hệ giữa các khái niệm nên phương pháp tích hợp thông tin dựa trên ontology giải quyết được vấn đề không đồng nhất về ngữ nghĩa thông tin Quá trình tích hợp thông

tin sẽ diễn ra một cách tự động thông qua việc xác định các ánh xạ tương đương hoặc

không tương đương giữa các khái niệm trong các ontology khác nhau.

3.3 Hệ đa tác tử và tích hợp thông tin

3.3.1 Hệ đa tác tử

Nhiều tác tử thương mại trước đây được phát triển để tìm kiếm thông tin Mỗi tác tử riêng biệt chạy trong một phạm vi để thu thập một số kiểu thông tin nhất định nào đó và trả về thông tin tới người yêu cầu Nói cách khác, các tác tử này hoạt động đơn lẻ một mình và rất ít khi tương tác với các tác tử khác (nếu có) Cách tiếp cận như vậy chắc chắn sẽ có những lợi ích của nó Tuy nhiên, nếu nhìn vào thế giới con người thực, cách tiếp cận đơn độc như thế sẽ không thể xây dựng được mạng xã hội hoặc có khả năng hỗ trợ mọi người đến và tham gia các tổ chức Thay vào đó, chúng ta thiết lập các mạng có thể tương tác lẫn nhau phục vụ cho nhiều mục đích Tương tác giữa các tác tử chưa đủ để xây dựng xã hội tác tử, chúng ta cần các tác tử có thể phối hợp với nhau - dù là cộng tác, cạnh tranh hay tổ hợp của cả hai Các “xã hội” tác tử này được gọi là hệ đa tác tử (Multi-Agent Systems - MAS) Do vậy, các hệ đa tác tử là các

hệ thống bao gồm các tác tử kết hợp trong mối quan hệ với các tác tử khác và tương tác với nhau theo một cách nào đó

Các đặc điểm của các hệ đa tác tử

Một tác tử có thể làm mọi thứ, nhưng các tác tử chậm chạp (fat agents) sẽ giảm

về tốc độ, độ tin cậy, khả năng bảo trì, v.v…(tức là không có các tác tử tuyệt đối) Phân chia chức năng giữa các tác tử sẽ tăng tính mô đun, tính linh động, dễ sửa đổi và

Để hỗ trợ các hệ đa tác tử cần phải thiết lập một môi trường thích hợp Các môi trường MAS phải cung cấp một cơ sở hạ tầng có các giao thức tương tác và truyền

Ngày đăng: 18/12/2015, 23:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Thị Thúy Hằng (2009); “Ứng dụng tác tử phần mềm trong tích hợp thông tin về phương tiện giao thông”; Luận văn thạc sĩ Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội. Tr46 - 49 Sách, tạp chí
Tiêu đề: “Ứng dụng tác tử phần mềm trong tích hợp thông tin về phương tiện giao thông”
2. Lê Tấn Hùng, Từ Minh Phương, Huỳnh Quyết Thắng (2006), “Tác tử, Công nghệ phần mềm hướng tác tử”; Nhà xuất bản Khoa học và Kỹ thuật.Tiếng Anh Sách, tạp chí
Tiêu đề: “Tác tử, Công nghệ phần mềm hướng tác tử”
Tác giả: Lê Tấn Hùng, Từ Minh Phương, Huỳnh Quyết Thắng
Nhà XB: Nhà xuất bản Khoa học và Kỹ thuật. Tiếng Anh
Năm: 2006
16. Soe-Tsyr Yuan (1999), “Ontologies-based Agent Community for Information Gathering and Integration”, Information Management Department, Fu-Jen University Sách, tạp chí
Tiêu đề: Ontologies-based Agent Community for Information Gathering and Integration
Tác giả: Soe-Tsyr Yuan
Năm: 1999
17. Thomas R.Gruber (1993), “Toward Principles for the Design of Ontologies Used for Knowledge Sharing” Sách, tạp chí
Tiêu đề: Toward Principles for the Design of Ontologies Used for Knowledge Sharing
Tác giả: Thomas R.Gruber
Năm: 1993
18. Uschold, M., Gruninger, M. “Ontologies: Principles, Methods and Applications”, Knowledge Engineering Review, Vol.11(2):93-155, 1996 Sách, tạp chí
Tiêu đề: Ontologies: Principles, Methods and Applications
19. Weiò, G. (2002). “Agent orientation in software engineering”. Knowledge Engineering Review, pp 13 - 16 Sách, tạp chí
Tiêu đề: Agent orientation in software engineering
Tác giả: Weiò, G
Năm: 2002
20. Hunhns M., Singh M.P. (1999), A Multi-Agent Treatment of Agenthood, Applied Artificial Intelligence: An International Journal 13 (pp. 1 - 2) Sách, tạp chí
Tiêu đề: A Multi-Agent Treatment of Agenthood
Tác giả: Hunhns M., Singh M.P
Năm: 1999
22. M. Luck, M. DInverno (2001), A Conceptual Framework for Agent Definition and Development, The Computer Journal 44 (pp. 1) Sách, tạp chí
Tiêu đề: A Conceptual Framework for Agent Definition and Development
Tác giả: M. Luck, M. DInverno
Năm: 2001
23. J. Spivey (1992), The Z Notation, A Reference Manual, Prentice Hall, Heeermel Hempstead, 2 nd Edition Sách, tạp chí
Tiêu đề: The Z Notation, A Reference Manual
Tác giả: J. Spivey
Năm: 1992
24. Michael Wooldridge, Nicolas R. Jennings, David Kinny (200), The Gaia Methology for Agent-Oriented Analysis and Design, Autonomous Agents and Multi-Agent System Sách, tạp chí
Tiêu đề: The Gaia Methology for Agent-Oriented Analysis and Design
25. DeLoach S. A. (2001), “Analysis and Design using MaSE and AgentTool”, 12 th Midwest Artificial Intelligence and Cognitive Science Conference (MAICS 2001), Miami University, Oxford, Ohio, March 31-April 1, 2001 Sách, tạp chí
Tiêu đề: Analysis and Design using MaSE and AgentTool
Tác giả: DeLoach S. A
Năm: 2001
28. Fabio Bellifemine, Giovanni Caire, Dominic Greenwood (2007), Developing multi-agent systems with JADE, Wiley Series in Agent Technology Sách, tạp chí
Tiêu đề: Developing multi-agent systems with JADE
Tác giả: Fabio Bellifemine, Giovanni Caire, Dominic Greenwood
Năm: 2007
15. Protégé. Stanford Medical Informatics: 2004. http://protege.stanford.edu/ Link
26. DAML+OIL (2001): http://www.daml.org/2001/03/daml+oil-index.html Link
21. Wooldridge (2000), Reasoning about Agents, The MIT Press, Cambridge, MA Khác
27. Philip S. Medcraft, Ulrich Schiel, Clasudio S. Baptista (2003), DIA: Data Integration Using Agents Khác
29. Juan Andrade, Vadim Draluk, Dick Tsur (2007): XQuery as a Tool for Liquid Data Integration - Some Design Considerations Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1 - Các thành phần kiến trúc chính của JADE - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 2.1 Các thành phần kiến trúc chính của JADE (Trang 26)
Hình 2.6 - Mô hình tương tác giữa servlet với tác tử thông qua JadeGateway - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 2.6 Mô hình tương tác giữa servlet với tác tử thông qua JadeGateway (Trang 31)
Hình 3.1 - Sơ đồ tổng quát hệ thống thu thập thông tin từ nhiều nguồn dữ liệu - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 3.1 Sơ đồ tổng quát hệ thống thu thập thông tin từ nhiều nguồn dữ liệu (Trang 32)
Hình 3.2 - Kiến trúc hệ thống tìm kiếm thông tin trong hệ đa tác tử - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 3.2 Kiến trúc hệ thống tìm kiếm thông tin trong hệ đa tác tử (Trang 33)
Hình 4.1 - Mô hình tổng quan của hệ thống tìm kiếm và tích hợp thông tin - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 4.1 Mô hình tổng quan của hệ thống tìm kiếm và tích hợp thông tin (Trang 45)
Hình 4.2 - Kiến trúc hệ thống tìm kiếm và tích hợp thông tin của bài toán nghiên cứu - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 4.2 Kiến trúc hệ thống tìm kiếm và tích hợp thông tin của bài toán nghiên cứu (Trang 47)
Hình 4.3 - Kết hợp các kết quả đƣợc tạo từ 3 nguồn dữ liệu vào dữ liệu XML hợp nhất - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 4.3 Kết hợp các kết quả đƣợc tạo từ 3 nguồn dữ liệu vào dữ liệu XML hợp nhất (Trang 51)
Hình 4.4 - Một ví dụ ontology ở mức khái niệm - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 4.4 Một ví dụ ontology ở mức khái niệm (Trang 53)
Hình 4.5 - Một ví dụ ontology ở mức vật lý - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 4.5 Một ví dụ ontology ở mức vật lý (Trang 54)
Hình 4.8 - Tích hợp kết quả XML thành dữ liệu XML hợp nhất - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 4.8 Tích hợp kết quả XML thành dữ liệu XML hợp nhất (Trang 58)
Hình 4.9 - Biểu đồ ca sử dụng cho tác tử giao diện người sử dụng User Interface Agent - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 4.9 Biểu đồ ca sử dụng cho tác tử giao diện người sử dụng User Interface Agent (Trang 61)
Hình 4.10 - Biểu đồ ca sử dụng của tác tử Search Agent - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 4.10 Biểu đồ ca sử dụng của tác tử Search Agent (Trang 61)
Hình 4.11 - Biểu đồ ca sử dụng cho tác tử trung tâm Mediator Agent - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 4.11 Biểu đồ ca sử dụng cho tác tử trung tâm Mediator Agent (Trang 62)
4.3.6.3. Sơ đồ lớp tác tử tìm kiếm và tích hợp thông tin - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
4.3.6.3. Sơ đồ lớp tác tử tìm kiếm và tích hợp thông tin (Trang 64)
Hình 4.24 - Màn hình chạy các tác tử - Tìm hiểu và tích hợp thông tin sử dụng agent phần mềm   luận văn ths  công nghệ thông tin   60 48 10 pdf
Hình 4.24 Màn hình chạy các tác tử (Trang 72)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w