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.. Từ khi xuất hiện các ngôn ngữ lập trình hướng agen
Trang 1Tì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
Trang 2nhấ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
Trang 3Hiệ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 ở
Trang 4cá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ử
Trang 5Chươ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 http://jade.tilab.com/
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
Trang 610 KIF http://www.cs.umbc.edu/kse/kif/, 1999
11 KQML The UMBC KQML Web, http://www.cs.umbc.edu/kqml/, 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 http://protege.stanford.edu/
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, 2nd 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”,
12th Midwest Artificial Intelligence and Cognitive Science Conference
(MAICS 2001), Miami University, Oxford, Ohio, March 31-April 1, 2001
Trang 726 DAML+OIL (2001): http://www.daml.org/2001/03/daml+oil-index.html
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