Web ngữ nghĩa

Một phần của tài liệu biểu diễn ngữ nghĩa của dịch vụ web và tìm kiếm dịch vụ web có hỗ trợ ngữ nghĩa (Trang 31)

3.1.1 Giới thiệu

Năm 2001, Tim Berners Lee cùng với nhóm tác giả công bố công trình về web ngữ nghĩa [20]. Nhóm tác giả mở rộng khả năng con ngƣời có thể đọc và hiểu các thông tin web sang máy có khả năng hiểu và vận dụng nó một cách có ý nghĩa. Nhóm tác giả đã đƣa ra vài ứng dụng minh họa cho việc sử dụng công nghệ này. Một ứng dụng cơ bản đó là ứng dụng trong lĩnh vực tìm kiếm thông tin, giúp máy có khả năng phân biệt các ngữ nghĩa. Các ứng dụng nâng cao khác bao gồm các software agent có khả năng thực hiện các công việc cho sẵn phụ thuộc vào lúc thực thi, khi đó các agent tự động tìm ra các dịch vụ đáp ứng đƣợc công việc này một cách tự động, agent biết bằng cách nào để phát hiện, chọn đúng và thực thi dịch vụ và trả kết quả theo đúng yêu cầu của ngƣời dùng.

3.1.2 Kiến trúc

Theo thay đổi từng năm 2005, 2006, 2007 có thể thấy rằng có những công nghệ vẫn còn đang phát triển, có những công nghệ đã ổn định nhƣ là các hình trong khung màu đỏ, các phần còn lại đang trong quá trình chuẩn hóa và vẫn đang trong giai đoạn nghiên cứu [41]. Cụ thể các công nghệ đã ổn định là URI/IRI, XML,

RDF, RDF-S, OWL và SPARRQL, còn các công nghệ vẫn đang trong quá trình chuẩn hóa và trong giai đoạn nghiên cứu nhƣ là Rule, Cryto, Proof, Trust, Unifying Logic. Kiến trúc web ngữ nghĩa thay đổi theo từng năm đƣợc minh họa của thể trong Hình 3.1.

Các tầng bên dƣới cung cấp các chuẩn web là nền tảng cho các công nghệ khác. Các tầng bên trên cung cấp các ngôn ngữ dùng để biểu diễn tài nguyên theo chuẩn giúp máy có khả năng hiểu và có khả năng làm việc với những tài nguyên này.

3.2 Dịch vụ web ngữ nghĩa

Các nghiên cứu dịch vụ web ngữ nghĩa (Semantic Web Service) đã giải quyết đƣợc vấn đề còn thiếu sót của dịch vụ web bằng cách thêm ngữ nghĩa vào bên trong thành phần của dịch vụ vì vậy không chỉ UDDI có khả năng hỗ trợ ngƣời dùng dịch vụ tìm kiếm dịch vụ tự động mà còn giúp cho việc sử dụng dịch vụ một cách tự động trong giai đoạn thiết kế cũng nhƣ giai đoạn thực thi của một quy trình nghiệp vụ bên trong kiến trúc hƣớng dịch vụ [4].

Hình 3.2 Dịch vụ web ngữ nghĩa [43]

Dịch vụ web ngữ nghĩa = web ngữ nghĩa + Dịch vụ web đƣợc minh họa trong Hình 3.2.

Nhƣ vậy, dịch vụ web ngữ nghĩa là phƣơng pháp ứng dụng web ngữ nghĩa vào trong dịch vụ web, nói cách khác dịch vụ web ngữ nghĩa là phƣơng pháp mở rộng dịch vụ web với cách biểu diễn ngữ nghĩa cho nó. Dịch vụ web ngữ nghĩa mở

ra khả năng cho phép tìm kiếm, tổng hợp và gọi thực hiện dịch vụ web động trong lúc thực thi.

Ngôn ngữ biểu diễn ngữ nghĩa cho dịch vụ web đƣợc tổ chức W3C đệ trình đầu tiên vào tháng 11 năm 2004 là OWL-S [31]. Ngoài ra còn các ngôn ngữ biểu diễn ngữ nghĩa cho dịch vụ web ra đời sau cũng đƣợc tổ chức w3c đệ trình nhƣ là: WSMO [32], SAWSDL [33]. Trong đó WSMO đƣợc đệ trình vào 6/2006 và SAWSDL đƣợc đệ trình sau cùng vào 08/2007. Các ngôn ngữ biểu diễn ngữ nghĩa cho dịch vụ web này đƣợc tóm tắt trong Bảng 3.1.

STT HƢỚNG

TIẾP CẬN

NỘI DUNG NĂM CÔNG

BỐ

NĂM ĐỆ

TRÌNH 1 OWL-S Ontology mô tả dịch vụ

web: -ServiceProfile - ServiceModel - ServiceGrounding) 2001 11/2004 2 WSMO - Ontologies - Goals -Web Services - Mediators 2002 06/2005

3 SAWSDL Chú giải ngữ nghĩa cho - WSDL

- XML Schema

2003 08/2007

Bảng 3.1 Ba ngôn ngữ biểu diễn dịch vụ web đƣợc W3C đệ trình

Trong các ngôn ngữ biểu diễn ngữ nghĩa cho dịch vụ web, OWL-S là ngôn ngữ ra đời đầu tiên và cũng là ngôn ngữ có nhiều dịch vụ đƣợc ứng dụng rộng rãi , theo số liệu [18] (đƣợc minh họa trong Hình 3.3) có khoảng 1% dịch vụ web đƣơc

chú giải ngữ nghĩa, trong đó OWL-S chiếm 65%, do đó trong đề tại này chúng tôi sẽ tập trung vào việc phân tích, đánh giá trên ngôn ngữ OWL-S .

Quá trình tìm kiếm dịch vụ web dựa trên các ngữ nghĩa về các thành phần chức năng và phi chức năng của dịch vụ. Nhiều công trình đƣợc đề xuất nhằm đáp ứng nhu cầu tìm kiếm dịch vụ động. Nhiều công trình tìm kiếm dịch vụ có hỗ trợ ngữ nghĩa bao gồm dựa trên input (I) và output(O) nhƣ OWLS-UDDI [9], OWLSM [10], OWLS-MX[11] trong hệ thống CASCOM, SAWSDL-MX [12], tìm kiếm dựa trên Precondition (P) và Effect (E): PCEM [8] trong hệ thống CASCOM, tìm kiếm dựa trên IOPE nhƣ GLUE [13], RFSD [14]. Công trình tìm kiếm dịch vụ dựa trên vai trò (Role) ROWLS [15] trong hệ thống CASCOM. Tìm kiếm dựa vào toàn bộ thông tin mô tả của dịch vụ (profile) nhƣ FC-MATCH [16].

Hình 3.3 Tập dữ liệu từ thế giới thực [18], [42]

3.2.1 OWL-S

OWL-S (Ontology Web Language For Services) là một OWL Ontology đƣợc sử dụng để biểu diễn ngữ nghĩa cho dịch vụ web. OWL-S bao gồm ba Ontology: ServiceProfile, ServiceModel và ServiceGrounding đƣợc minh họa trong Hình 3.4. OWL-S có lịch sử bắt nguồn từ DAML-S đƣợc công bố năm 2001, OWL-

S chính thức đƣợc tổ chức W3C đệ trình vào ngày 22 tháng 11 năm 2004, phiên bản hiện tại là 1.2 đƣợc công bố vào tháng 12 năm 2008. (adsbygoogle = window.adsbygoogle || []).push({});

Lý do ra đời ngôn ngữ này [37] là do dịch vụ web thiếu biểu diễn ngữ nghĩa và cần sự hỗ trợ của con ngƣời.

Hình 3.4 Dịch vụ OWL-S [31]

3.2.2WSMO

WSMO (Web Service Modeling Ontology) là một Ontology đƣợc sử dụng để biểu diễn ngữ nghĩa cho dịch vụ web. WSMO chứa bốn thành phần thứ nhất là các Ontology chịu trách nhiệm cung cấp các thuật ngữ sử dụng cho các thành phần khác, thứ hai là các Goal chịu trách nhiệm định các mục tiêu nên đƣợc giải quyết bởi dịch vụ web, thứ ba là các Web Service chịu trách nhiệm biễu diễn ngữ nghĩa cho dịch vụ web và thứ tƣ là các Mediator chịu trách nhiệm xử lý các vấn đề liên quan đến sự tƣơng kết (interoperability). Các thành phần của WSMO đƣợc minh họa cụ thể trong Hình 3.5.

WSMO có nguồn gốc từ WSMF (Web Service Modeling Framwork) [5] đƣợc công bố năm 2002 tại hội nghị International Semantic Web Workshop, WSMO chính thức đƣợc tổ chức W3C đệ trình vào ngày 3 tháng 6 năm 2005.

Lý do ra đời của WSMO [38] là cung cấp một chuẩn cho việc biểu diễn ngữ nghĩa cho dịch vụ web với 2 nguyên lý cơ bản đó là hỗ trợ strong decoupling & strong mediation. Các hƣớng tiếp cận hiện tại nhƣ OWL-S đã không cung cấp một giải pháp thống nhất cho dịch vụ web ngữ nghĩa và đó cũng là lý do ra đời của WSMO.

Hình 3.5 Các thành phần WSMO [32]

3.2.3 SAWSDL

SAWSDL (Semantic Annotations For WSDL And XML Schema) là một mở rộng đơn giản của WSDL bằng việc sử dụng các thẻ mở rộng của WSDL. SAWSDL có 2 kiểu chú giải cơ bản đó là tham chiếu mô hình (model reference) và ánh xạ lƣợc đồ (schema mapping). Cách thức chú giải SAWSDL đƣợc minh họa cụ thể trong Hình 3.6.

Các chú giải tham chiếu mô hình (model reference annotation) đƣợc sử dụng để kết hợp các interfaces/port types, operations, inputs, outputs, xml schema elements và attributes với các khái niệm ngữ nghĩa (Semantic Concepts). Các chú giải mô hình tham chiếu hỗ trợ cho việc tìm kiếm động dịch vụ web và thực hiện cấu hình động cho các tiến trình (processes).

Các chú giải ánh xạ lƣợc đồ (Schema Mapping Annotation) đƣợc sử dụng để giải quyết sự không đồng nhất dữ liệu, đặc biệt là việc chuyển đổi biểu diễn dữ liệu sang dịch vụ web khác nhƣ là các dữ liệu có thể đƣợc sử dụng bởi các dịch vụ web khác.

SAWSDL đƣợc phát triển dựa trên WSDL-S, một chuẩn đƣợc w3c đệ trình vào ngày 7 tháng 11 năm 2005. Còn ý tƣởng đƣa các ngữ nghĩa vào các chuẩn của dịch vụ web đƣợc công bố vào tháng 6 năm 2003 tại hội nghị International Conference on Web Service do nhóm các tác giả ở Large Scale Distributed Information Systems (LSDIS) Lab Department of Computer Science, University of Georgia đề xuất. Đến ngày 28 tháng 8 năm 2007, tổ chức W3C đệ trình chuẩn SAWSDL.

Hình 3.6 SAWSDL [33]

Lý do ra đời SAWSDL [39] là cơ chế tìm kiếm hiện tại đƣợc hỗ trợ bởi UDDI không đủ mạnh cho việc tìm kiếm tự động. Hạn chế chính đó là thiếu các ngữ

nghĩa trong quá trình tìm kiếm, UDDI chỉ hỗ trợ tìm kiếm thông qua từ kh óa (keyword) và phép phân loại (taxonomy), còn WSDL chỉ mô tả các chức năng của dịch vụ, không đƣợc chú giải ngữ nghĩa, mặt khác các hƣớng tiếp cận khác nhƣ OWL-S, WSMO cố gắng đƣa ra một ngôn ngữ mới để biểu diễn ngữ nghĩa cho dịch vụ web. Do đó SAWSDL đƣợc xây dựng dựa trên các chuẩn của dịch vụ web đã có, độc lập với ngôn ngữ biễu diễn ngữ nghĩa, cho phép nhiều chú giải thuộc nhiều ngôn ngữ biễu diễn ngữ nghĩa khác nhau. Do phát triển dựa trên các chuẩn đã có của dịch vụ web vì vậy với SAWSDL có thể nâng cấp các công cụ sẵn có, không nhất thiết phải đƣa ra các công cụ hoàn toàn mới.

3.3 Một số hƣớng nghiên cứu chính trong lĩnh vực dịch vụ web ngữ nghĩa

Tại hội nghị International Semantic Web Conference 2008, John Domingue và David Martin trình bày, hiện có 7 hƣớng nghiên cứu chính trong lĩnh vực dịch vụ web ngữ nghĩa [43], bao gồm:

 Ngôn ngữ và từ vựng để biểu diễn ngữ nghĩa cho dịch vụ web.

 Phát hiện và chọn lựa dịch vụ web phù hợp với nhu cầu dựa trên ngữ nghĩa.

 Tổng hợp và phối hợp hoạt động của các dịch vụ web dựa trên một qui trình.

 Quản lý giao tác và tài nguyên cho dịch vụ web ngữ nghĩa .

 Dịch vụ sử dụng trên các thiết bị di động.

 Các vấn đề về bảo mật trong việc sử dụng dịch vụ web ngữ nghĩa.

 Các công cụ và môi trƣờng (tự động hay bán tự động) trong việc phát triển và khai thác dịch vụ web ngữ nghĩa.

3.4 Phƣơng pháp tìm kiếm dịch vụ web dựa trên công dụng

Việc nghiên cứu web ngữ nghĩa nói chung và dịch vụ web ngữ nghĩa nói riêng đã thu hút sự quan tâm của rất nhiều nhà khoa học trên thế giới. Điều đó đƣợc minh chứng thông qua việc những hội nghị quốc tế có uy tín liên tục đƣợc tổ chức

với quy mô toàn thế giới cũng nhƣ ở khu vực ví dụ nhƣ hội nghị quốc tế ISWC (International Semantic Web Conference) đƣợc tổ chức từ năm 2002 đến 2010. Tiếp theo là hội nghị ở châu Âu ESWC (European Semantic Web Conference) đƣợc tổ chức từ năm 2004 đến năm 2010 và hội nghị ở châu Á là ASWC (Asian Semantic Web Conference) đƣợc tổ chức từ năm 2006 đến 2010.

Một dịch vụ OWL-S bao gồm 3 phần: Thứ nhất là ServiceProfile phục vụ cho việc quảng cáo và phát hiện dịch vụ; Thứ hai là ServiceModel chịu trách nhiệm mô tả hoạt động của dịch vụ và thứ ba là ServiceGrounding chịu trách nhiệm cung cấp cách tƣơng tác với dịch vụ.

Service Profile đƣợc thiết kế để mô tả dịch vụ làm gì thông qua các Input, Output, Precondition và Postcondition. Michael C. Jaeger nhận định rằng các Precondition và Postcondition vẫn chƣa đủ chuẩn hóa để phục vụ cho thuật toán so khớp dịch vụ [10]. Chúng tôi khảo sát cho đến thời điểm hiện tại là tập dữ liệu dịch vụ OWL-S đƣợc công bố vào 06/04/2005 và liên tục đƣợc phát triển đến 11/11/2009 bởi nhóm nghiên cứu Matthias Klusch [18] và đƣợc phát triển tiếp bởi cộng đồng S3Contest [21], chúng tôi thấy rằng Precondion và Postcondition vẫn chƣa đƣợc thêm vào. Do đó khi nhiều Service Profile cùng các Input và các ouput có thể có những công dụng khác nhau.

David Martin nhận định rằng việc chú giải ngữ nghĩa cho phƣơng thức bằng một cách nào đó sẽ hữu dụng trong một số tình huống đặc biệt là trong quá trình tìm kiếm [17]. Thông qua các Input, Output, Preconditon và Postcondition của Service Profile cung cấp một cách để xác định ngữ nghĩa của phƣơng thức. (adsbygoogle = window.adsbygoogle || []).push({});

Chúng tôi thấy rằng việc chú giải ngữ nghĩa cho phƣơng thức thông qua các công dụng dịch vụ cung cấp có thể đƣợc sử dụng cho việc phát hiện các dịch vụ đáp ứng đƣợc nhu cầu của ngƣời dùng tƣơng ứng với chức năng họ cần thật sự, nhƣ vậy các chú giải công dụng của dịch vụ có thể đƣợc phục vụ cho việc quyết định lựa chọn các dịch vụ có công dụng tƣơng ứng trong quá trình tổng hợp dịch vụ động.

Thêm vào đó việc tìm kiếm dịch vụ dựa vào các công dụng có thể đƣợc sử dụng nhƣ một bƣớc tiền xử lý cho các thuật toán tìm kiếm dịch vụ dựa trên các Input, Output cũng nhƣ các thành phần còn lại của dịch vụ, điều đó sẽ giảm bớt đáng kể số lƣợng dịch vụ có các Input và Output và các thành phần còn lại phải so khớp .

CHƢƠNG 4: PHƢƠNG PHÁP MỞ RỘNG OWL-S DỰA TRÊN CÔNG DỤNG



Tóm tắt:

Nội dung trong Chương 4 trình bày phương pháp do chúng tôi đề xuất nhằm mở rộng OWL-S Profile dựa trên các công dụng; sự lựa chọn Ontology để chú giải công dụng của OWL-S Profile; ánh xạ OWL-S Profile dựa trên công dụng vào UDDI. So sánh phương pháp chú giải công dụng cho OWL-s Profile với một số phương pháp chú giải ngữ nghĩa cho phương thức web sẽ được trình bày trong cuối chương này.

4.1Mở rộng OWL-S Profile với các công dụng

4.1.1 Nhu cầu cần mở rộng OWL-S Profile với các công dụng

Mỗi OWL-S Profile đƣợc sử dụng để mô tả ngữ nghĩa cho một phƣơng thức trong một dịch vụ web. OWL-S Profile có các thành phần IOPE (Input, Ouput, Precondition, Postcondition) là một cách để xác định chức năng của dịch vụ, tuy nhiên hầu hết các phƣơng pháp tìm kiếm dịch vụ OWL-S hiện tại chỉ dựa trên suy diễn các Input và Output [15], mặt khác Precondition và Postcondition vẫn chƣa đƣợc chuẩn hóa [10], tập dữ liệu test từ cộng đồng S3 Contest cho đến tháng 3/2010 chúng tôi thấy rằng precondition và postcondion vẫn chƣa đƣợc thêm vào. Do đó nếu việc tìm kiếm dịch vụ web chỉ dựa vào Input và Output có thể có những Profile cùng các Input và các Output nhƣng có công dụng khác nhau, do đó điều này rất nguy hiểm trong việc máy tự quyết định chọn Profile tìm kiếm đƣợc trong lúc thực thi và kể cả việc hỗ trợ ngƣời dùng thiết kế dịch vụ SOA trong giai đoạn thiết kế.

David Martin nhận định rằng việc chú giải ngữ nghĩa cho phƣơng thức bằng một cách nào đó sẽ hữu dụng trong một số tình huống đặc biệt là trong quá trình tìm kiếm [17]. Nhƣ vậy trong đề tài này chúng tôi đề xuất việc chú giải ngữ nghĩa bằng

các công dụng ngữ nghĩa vào bên trong OWL-S Profile là một cách giúp xác nhận dịch vụ làm gì và đƣợc sử dụng trong giai đoạn tiền xử lý giúp giảm bớt đáng kể số lƣợng dịch vụ có các input và output phải kiểm tra trong giai đoạn tìm kiếm.

Mỗi Profile dù là cơ bản “atomic” hay tổng hợp “composite”, dịch vụ đều có thể có thực hiện một hay nhiều công việc khác nhau, do đó chúng tôi quyết định sẽ chú giải vào mỗi ServiceProfile của dịch vụ OWLS bằng một hay nhiều công dụng tƣơng ứng. Do đó mỗi công dụng chúng tôi đề xuất là sự kết hợp của một động từ và một danh từ trong các Ontology. Sự kết hợp này làm thuận lợi cho việc khi có nhu cầu chú giải một công dụng mới, với cách chú giải của chúng tôi chỉ yêu cầu trong một ontology động từ và ontology danh từ có chứa hành động và tân từ tƣơng ứng, không cần phải thêm một khái niệm mới vào trong ontology có sẵn.

4.1.2 Mở rộng OWL-S Profile với công dụng

Chúng tôi sử dụng ngôn ngữ biểu diễn dịch vụ OWL-S để chú giải thêm các thông tin ngữ nghĩa về các công dụng của dịch vụ web. Một dịch vụ OWL-S bao gồm 3 phần: thứ nhất là ServiceProfile (hay còn đƣợc gọi là OWL-S Profile) phục vụ cho việc quảng cáo và phát hiện dịch vụ, thứ hai là ServiceModel chịu trách nhiệm mô tả hoạt động của dịch vụ và thứ ba là ServiceGrounding chịu trách nhiệm cung cấp cách tƣơng tác với dịch vụ.

Service Profile đƣợc thiết kế nhằm mô tả dịch vụ làm gì “what it does”. Vì

Một phần của tài liệu biểu diễn ngữ nghĩa của dịch vụ web và tìm kiếm dịch vụ web có hỗ trợ ngữ nghĩa (Trang 31)