Tìm hiểu và tích hợp thông tin sử dụng
Agent phần mềm
Hồ Văn Bảo
Trường Đại học Công nghệ. Đại học Quốc gia Hà Nội
Luận văn ThS. Công nghệ thông tin : 60 48 10
Người hướng dẫn : PGS. TS. Nguyễn Việt Hà
Năm bảo vệ: 2013
64 tr .
Abstract. Tìm hiểu được các kiến thức cơ sở, nền tảng về công nghệ đa tác tử. Trên cơ
sở các kết quả nghiên cứu về lý thuyết, phân tích, đề xuất phương pháp tìm kiếm và
tích hợp thông tin sử dụng agent phần mềm. Tiến hành xây dựng công cụ cho phương
pháp nghiên cứu và đã thu được kết quả bước đầu và là nền tảng để phát triển các hệ
thống đa tác tử khác trong thực tiễn.
Keywords.Tích hợp thông tin; Công nghệ phần mềm; Hệ đa tác tử
Content.
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
ứ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.
Để 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:
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.
TÀI LIỆU THAM KHẢO
Tiếng Việ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.
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:
3. A gustina Buccella, Alejandra Cechich, Nieves R.Brisaboa (2003), “An
Ontology Approach to Data Integration”.
4. Andrea Cali, Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini
(2002), “On the role of Integrity Constrants in Data Integration”, IEEE
Computer Society Technical Committee ontology Data Engineering.
5. FIPA. FIPA (Foundation for Intelligent Agents), http://www.fipa.org, 1999.
Foundation for Intelligent Physical Agents.
6. H. Stuckenschmidt, H.Wache, U. Visser, G. Schuster, “Methodologies for
ontology-based semantic translation”, The BUSTER Project, TZI, Intelligent
Systems Group, University of Bremen, Germany.
7. JADE-Board: JADE.
8. James Odell, OMG Agent Working Group (2001), “Agent Technology”, Green
Paper. Version 1.0. OMG Document ec/2000-08-01. pp 4-25.
9. Khaled Bashir Shaban (2002), “Information fusion in a cooperative Multi-
Agent system for Web information retrieval”, A Thesis Master of Science
Presented to The Faculty of Graduate Studies.
10. KIF. 1999.
11. KQML. The UMBC KQML Web, 1999.
12. M. Wooldridge, Intelligent Agents, (G. Weiss Ed): “MultiAgent Systems: A
Modern Approach to Distributed Artificial Intelligence”, MIT Press,
1999[Book].
13. Michael N. Huhns and Larry M. Stephens, “MultiAgent Systems and Societies
of Agents”.
14. Morgan Benton, Eunhee Kim, and Benjamin K.Ngugi (2002), “Briging the
Gap: from traditional Information retrieval to Sematic Web”, Eighth Americas
Conference on Information Systems.
15. Protégé. Stanford Medical Informatics: 2004.
16. Soe-Tsyr Yuan (1999), “Ontologies-based Agent Community for Information
Gathering and Integration”, Information Management Department, Fu-Jen
University.
17. Thomas R.Gruber (1993), “Toward Principles for the Design of Ontologies
Used for Knowledge Sharing”.
18. Uschold, M., Gruninger, M. “Ontologies: Principles, Methods and
Applications”, Knowledge Engineering Review, Vol.11(2):93-155, 1996.
19. Weiß, G. (2002). “Agent orientation in software engineering”. Knowledge
Engineering Review, pp 13 - 16.
20. Hunhns M., Singh M.P. (1999), A Multi-Agent Treatment of Agenthood,
Applied Artificial Intelligence: An International Journal 13 (pp. 1 - 2).
21. Wooldridge (2000), Reasoning about Agents, The MIT Press, Cambridge,
MA.
22. M. Luck, M. DInverno (2001), A Conceptual Framework for Agent Definition
and Development, The Computer Journal 44 (pp. 1)
23. J. Spivey (1992), The Z Notation, A Reference Manual, Prentice Hall,
Heeermel Hempstead, 2
nd
Edition.
24. Michael Wooldridge, Nicolas R. Jennings, David Kinny (200), The Gaia
Methology for Agent-Oriented Analysis and Design, Autonomous Agents and
Multi-Agent System.
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.
26. DAML+OIL (2001):
27. Philip S. Medcraft, Ulrich Schiel, Clasudio S. Baptista (2003), DIA: Data
Integration Using Agents.
28. Fabio Bellifemine, Giovanni Caire, Dominic Greenwood (2007), Developing
multi-agent systems with JADE, Wiley Series in Agent Technology.
29. Juan Andrade, Vadim Draluk, Dick Tsur (2007): XQuery as a Tool for Liquid
Data Integration - Some Design Considerations.