Tải bản đầy đủ (.pdf) (71 trang)

Xây dựng một kiến trúc cập nhật động nội dung trang web theo hướng tiếp cận sử dụng các dịch vụ web có ngữ nghĩa thông qua các mô tả bằng ngôn ngữ tự nhiên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.49 MB, 71 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP. HỒ CHÍ MINH
KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH


LUẬN VĂN TỐT NGHIỆP

ĐỀ TÀI

XÂY DỰNG MỘT KIẾN TRÚC CẬP NHẬP
ĐỘNG NỘI DUNG TRANG WEB THEO
HƯỚNG TIẾP CẬN SỬ DỤNG CÁC DỊCH VỤ
WEB CÓ NGỮ NGHĨA THÔNG QUA CÁC MÔ
TẢ BẰNG NGÔN NGỮ TỰ NHIÊN

Hướng dẫn:
Thực hiện:
Mã số HV:
Khóa học:

– 2009 –

TS. Quản Thành Thơ
Nguyễn Bảo Toàn
00707189
2007


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Tồn


LỜI CẢM ƠN
Tơi xin chân thành cảm ơn khoa Khoa học và Kỹ thuật máy tính, trƣờng Đại học
Bách Khoa TP. Hồ Chí Minh đã hỗ trợ, tạo điều kiện thuận lợi cho tôi trong quá
trình học tập cũng nhƣ quá trình thực hiện luận văn tốt nghiệp này.
Nhân cơ hội này, tôi muốn bày tỏ lòng biết ơn sâu sắc đến TS Quản Thành Thơ,
ngƣời đã tận tình hƣớng dẫn và có những đóng góp, gợi ý quý giá trong giai đoạn
làm đề cƣơng luận văn cũng nhƣ giai đoạn luận văn tốt nghiệp.
Tôi cũng xin gởi lời cảm ơn chân thành đến PGS.TS Cao Hồng Trụ, Ths
Huỳnh Tấn Đạt đã có những sự hỗ trợ, giúp đỡ cũng nhƣ cung cấp những tài liệu
trong suốt giai đoạn tôi thực hiện luận văn.
Tôi xin trân trọng cảm ơn đến Phòng đào tạo Sau đại học, trƣờng Đại học Bách
Khoa TP.HCM đã hỗ trợ tôi rất nhiều trong thời gian học tập tại trƣờng.
Tôi cũng muốn bày tỏ lòng cảm ơn đến những ngƣời bạn và gia đình đã ủng hộ
và chia sẻ trong q trình tơi học tập cũng nhƣ thực hiện luận văn.

Trang 2


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Tồn

TĨM TẮT LUẬN VĂN
Các nghiên cứu đi trƣớc cho thấy các dịch vụ web có ngữ nghĩa có thể sử dụng
để quản lý và cập nhật thông tin tự động trên một hệ thống thông tin. Tuy vậy để
ứng dụng vào thực tế, bản thân dịch vụ web vẫn tạo ra rào cản kĩ thuật đối với
ngƣời dùng thông thƣờng. Luận văn này sẽ khảo sát và phát triển một kiến trúc giúp
ngƣời sử dụng có thể sử dụng miêu tả bằng ngơn ngữ tự nhiên để gọi các dịch vụ
web có ngữ nghĩa. Kiến trúc đƣợc xây dựng cần đáp ứng các yêu cầu sau:
 Cung cấp một cơ chế cho phép ngƣời dùng đƣa ra các đặc tả bằng ngôn ngữ

tự nhiên để gọi các dịch vụ web.
 Cung cấp cơ chế tự động gọi thực thi và xử lí kết quả trả về từ các dịch vụ
web.
Luận văn cũng sử dụng kiến trúc này để thực hiện một ứng dụng ví dụ: cập nhật
động nội dung một trang web thông qua các kết quả thu thập tự động từ dịch vụ
web có ngữ nghĩa.

Trang 3


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

MỤC LỤC
LỜI CẢM ƠN ........................................................................................................................ 2
TÓM TẮT LUẬN VĂN ........................................................................................................ 3
MỤC LỤC ............................................................................................................................. 4
CHƢƠNG 1 TỔNG QUAN .................................................................................................. 6
1.1 Đặt vấn đề ................................................................................................................ 6
1.2 Kiến trúc tổng quát và ứng dụng cập nhật động nội dung trang web ...................... 7
1.3 Mục tiêu và giới hạn đề tài ...................................................................................... 7
1.4 Cấu trúc của luận văn............................................................................................... 8
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT ...................................................................................... 9
2.1 Web ngữ nghĩa ......................................................................................................... 9
2.2 Dịch vụ web ........................................................................................................... 14
2.3 KIM ........................................................................................................................ 17
2.4 PROTON ............................................................................................................... 20
CHƢƠNG 3 CÁC NGHIÊN CỨU LIÊN QUAN ............................................................... 23
3.1 Framework của luận văn đi trƣớc .......................................................................... 23

3.2 Chuyển đổi câu truy vấn thành đồ thị khái niệm ................................................... 26
3.3 Chuyển đổi đồ thị khái niệm thành câu truy vấn SeRQL ...................................... 35
CHƢƠNG 4 TỪ BÀI TOÁN THỰC TẾ ĐẾN KIẾN TRÚC HỆ THỐNG ........................ 44
4.1 Phân tích nhu cầu thực tế ....................................................................................... 44
4.2 Phƣơng hƣớng thực hiện ........................................................................................ 45
4.3 Sơ đồ chi tiết hệ thống ........................................................................................... 47
4.4 So sánh với framework của luận văn đi trƣớc ....................................................... 49
CHƢƠNG 5 ỨNG DỤNG CẬP NHẬT TRANG WEB ĐỘNG......................................... 52
5.1 Giới thiệu: .............................................................................................................. 52
5.2 Kết quả hiện thực phía server ................................................................................ 54
5.3 Kết quả hiện thực phía client ................................................................................. 56
CHƢƠNG 6 THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG .............................................. 60
6.1 Cơ sở tri thức của KIM và ontology cho thử nghiệm ............................................ 60
6.2 Kết quả thực nghiệm .............................................................................................. 60
6.3 Thảo luận về kết quả .............................................................................................. 61
CHƢƠNG 7 KẾT LUẬN .................................................................................................... 63
7.1 Kết quả đạt đƣợc .................................................................................................... 63
7.2 Hƣớng phát triển tƣơng lai ..................................................................................... 64
THƢ MỤC THAM KHẢO.................................................................................................. 65

Trang 4


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Tồn

DANH MỤC HÌNH
Hình 2.1 Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web ...........9
Hình 2.2 Kiến trúc web ngữ nghĩa (Semantic Web) .................................................10

Hình 2.3 Kiến trúc dịch vụ web .................................................................................14
Hình 2.4 Minh họa cho KIM .....................................................................................18
Hình 2.5 Hình minh họa cho các lớp trong PROTON ..............................................21
Hình 3.1: Sơ đồ chi tiết framework của luận văn đi trước. ......................................24
Hình 3.2 Hình minh họa cho đồ thị khái niệm ..........................................................27
Hình 3.3 Đồ thị khái niệm có tham chiếu truy vấn ...................................................28
Hình 3.4 Xây dựng đường đi giữa hai lớp ................................................................30
Hình 3.5 Hợp nhất các đường đi...............................................................................31
Hình 3.6 Thêm vào tham chiếu phát sinh để hình thành đường đi ...........................32
Hình 3.7 Một khái niệm có hai cá thể .......................................................................33
Hình 3.8 Nhiều khái niệm trên cùng một từ ..............................................................34
Hình 3.9 Nhiều đường đi cho một cặp khái niệm/cá thể ...........................................35
Hình 3.10 Kiến trúc Sesame ......................................................................................36
Hình 3.11 Đồ thị khái niệm trong path expression ...................................................39
Hình 3.12 Đồ thị khái niệm cho ví dụ của giải thuật chuyển đổi .............................41
Hình 4.1 Sơ đồ chi tiết của hệ thống .........................................................................47
Hình 4.2 So sánh 2 hệ thống cũ và mới.....................................................................50
Hình 5.1 Ứng dụng cập nhật trang web động ...........................................................53
Hình 5.2 Hoạt động của các module trong hệ thống ................................................55
Hình 5.3 Tạo liên kết đến thực thể được truy vấn .....................................................57
Hình 5.4 Trang web có liên kết động sau khi được load lên ....................................57
Hình 5.5 Trả về các kết quả theo yêu cầu truy vấn ...................................................58
Hình 5.6 Tạo liên kết đến thực thể được truy vấn .....................................................58
Hình 5.7 Web User Interface của KIM hiện ra sau khi nhấn vào link .....................59
Hình 6.1 Số lượng các khái niệm trong KB chuẩn của KIM ....................................60

Trang 5


Luận văn Thạc sĩ


HVTH: Nguyễn Bảo Toàn

CHƢƠNG 1 TỔNG QUAN
1.1 Đặt vấn đề
Hiện nay, với sự mở rộng của Internet, nhu cầu cập nhật trang web là một trong
những nhu cầu thiết thực, đặc biệt là trên những trang web mà thông tin biến đổi
liên tục và thƣờng xuyên nhƣ trang web báo điện tử. Tuy vậy, cách hiện thực trƣớc
nay cho việc cập nhật trang web động là ngƣời lập trình viên lập trình cho trang
web cập nhật dựa trên một cơ sở dữ liệu. Điều này đòi hỏi ngƣời xây dựng trang
web phải thơng hiểu lập trình cũng nhƣ phải tự mình tạo, quản lí và cập nhật một cơ
sở liệu cho ứng dụng. Nhƣ vậy muốn xây dựng một trang web cập nhật động cần có
kiến thức sâu của ngƣời xây dựng trang web và chi phí nhất định để duy trì và cập
nhật cơ sở dữ liệu. Điều này gây trở ngại rất lớn cho đại đa số ngƣời có nhu cầu
thực sự về xây dựng trang web tự động cập nhập nhƣ nhà báo, nhà biên tập… Đồng
thời cách tiếp cận này cũng hạn chế về nội dung đƣợc cập nhật trong cơ sở dữ liệu
cục bộ, khơng có sự tƣơng tác với các nguồn thơng tin từ bên ngồi.
Hƣớng tiếp cận có thể giải quyết vấn đề này là dựa trên kiến trúc hƣớng dịch vụ
hƣớng ngữ nghĩa (SSOA - Semantic Service Oriented Architecture). Ngƣời dùng
sử dụng một dịch vụ web ngữ nghĩa đƣợc cung cấp từ xa. Họ không cần phải xây
dựng cơ sở dữ liệu mà chỉ cần cung cấp yêu cầu ngữ nghĩa của họ. Tuy vậy hƣớng
tiếp cận này vẫn đòi hỏi ngƣời dùng cần biết các kĩ thuật để gọi dịch vụ và cung cấp
thơng tin ngữ nghĩa.
Ví dụ: trang web thể thao muốn cập nhật động tỉ số các trận bóng đá, mặc dù đã
có dịch vụ web cung cấp các thông tin này, ngƣời soạn trang web này vẫn phải lập
trình các thủ tục cần thiết để gọi dịch vụ, cung cấp các thơng số, sau đó xử lí kết quả
trả về và cho hiển thị lên trang web. Các công việc này gây lúng túng cho ngƣời
dùng và hạn chế khả năng miêu tả yêu cầu của họ.
Mục tiêu của luận văn là xây dựng một kiến trúc tổng quát giúp ngƣời dùng có
thể gọi các dịch vụ thông qua ngôn ngữ tự nhiên và nhận đƣợc kết quả của dịch vụ

mong muốn. Luận văn cũng sẽ hiện thực một ứng dụng ví dụ dựa trên kiến trúc này:
Trang 6


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

Ngƣời dùng khi soạn thảo trang web sẽ sử dụng ngôn ngữ tự nhiên để yêu cầu cung
cấp các đƣờng link động cho trang web của mình mà khơng cần biết về hiện thực
bên dƣới.
Cách tiếp cận này làm cho việc sử dụng các dịch vụ ngữ nghĩa trong một ứng
dụng cụ thể nhƣ xây dựng trang web tự động trở nên thân thiện với ngƣời sử dụng,
đồng thời cơ sở dữ liệu để cập nhật là do các nhà dịch vụ cung cấp, giúp ngƣời dùng
tiết kiệm chi phí cũng nhƣ khơng cần có kiến thức sâu về tin học.

1.2 Kiến trúc tổng quát và ứng dụng cập nhật động nội dung trang web
Dựa trên các vấn đề đã đƣợc nêu ra ở trên, trƣớc hết luận văn sẽ xây dựng một
kiến trúc tổng quát cho phép ngƣời dùng gọi các dịch vụ web thông qua miêu tả
bằng ngôn ngữ tự nhiên. Từ kiến trúc này, chúng ta hiện thực ứng dụng cho phép
cập nhật động nội dung trên một trang web bằng các dịch vụ web có ngữ nghĩa.
Ngƣời soạn thảo trang web sẽ miêu tả yêu cầu nội dung động của mình bằng ngơn
ngữ tự nhiên và lƣu kết quả soạn thảo lại. Mỗi lần trang web đƣợc tải lên (load), hệ
thống sẽ tự động gọi các dịch vụ web ngữ nghĩa tƣơng ứng với yêu cầu ngƣời sử
dụng, nhận kết quả trả về và cập nhật nội dung cho trang web.

1.3 Mục tiêu và giới hạn đề tài
Mục tiêu:
Xây dựng hệ thống cho phép tự động cập nhật nội dung một trang web từ các
yêu cầu của ngƣời sử dụng. Các yêu cầu này đƣợc nhập dƣới dạng ngôn ngữ tự

nhiên (tiếng Anh) đơn giản. Chúng sẽ đƣợc đƣa đến một dịch vụ web khép kín để
xử lí và trả về kết quả cập nhật cho trang web. Đề tài này có thừa kế lại mơ hình lí
thuyết của một đề tài nghiên cứu trƣớc[8] và giải thuật l ý thuyết phân tích câu truy
vấn tự nhiên đơn giản[2].

Trang 7


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

Giới hạn:
 Ontology sử dụng trong đề tài là một ontology rút gọn từ PROTON –
ontology đƣợc cung cấp sẵn của KIM. Từ đó kho ngữ liệu tƣơng ứng sẽ xây
dựng ở quy mô thử nghiệm.
 Các yêu cầu của ngƣời sử dụng là các câu tiếng Anh đơn giản

1.4 Cấu trúc của luận văn
Luận văn có 7 chƣơng bao gồm các nội dung sau:
 Chƣơng 1 giới thiệu tổng quan về đề tài của luận văn cũng nhƣ mục tiêu đề
ra của luận văn.
 Chƣơng 2 giới thiệu các khái niệm và lý thuyết mà luận văn có sử dụng.
 Chƣơng 3 nêu các cơng trình nghiên cứu mà luận văn kế thừa.
 Chƣơng 4 miêu tả cấu trúc tổng quát giúp ngƣời dùng gọi dịch vụ thông qua
ngôn ngữ tự nhiên.
 Chƣơng 5 về hiện thực ứng dụng cụ thể: cập nhập trang web động.
 Chƣơng 6 về thử nghiệm và đánh giá ứng dụng trên dữ liệu thực tế.
 Chƣơng 7 tóm lại và tổng kết luận văn.


Trang 8


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

CHƢƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Web ngữ nghĩa

2.1.1 Giới thiệu
Web ngữ nghĩa (Semantic Web) đƣợc hình thành từ ý tƣởng của Tim Berners-

Lee, ngƣời phát minh ra WWW, URI, HTTP và HTML. Semantic Web khơng phải
là một hệ thống web hồn tồn mới mà là một sự mở rộng của web hiện tại theo
cách thông tin, dữ liệu đƣợc bổ sung thêm ngữ nghĩa vào. Nó cho phép dữ liệu có
đƣợc hiểu và xử lý bởi cả con ngƣời lẫn máy tính.
Semantic Web là một mạng lƣới các thông tin đƣợc liên kết sao cho chúng có
thể đƣợc xử lý dễ dàng bởi các máy tính ở phạm vi tồn cầu. Nó đƣợc xem là cách
mô tả thông tin rất hiệu quả trên mạng toàn cầu (World Wide Web - WWW) và
cũng đƣợc xem là một cơ sở dữ liệu có khả năng liên kết tồn cầu. Nhờ vậy, việc
tìm kiếm thơng tin sẽ thu đƣợc kết quả tốt hơn.
Ý tƣởng liên kết nhiều nguồn khác nhau (tài liệu, hình ảnh, khái niệm, …) cho
phép chúng ta mở rộng web thành một môi trƣờng mới với các mối quan hệ mới
(nhƣ hasLocation, worksFor, isAuthorOf, dependsOn, …) giữa các nguồn dữ liệu,
tạo ra mối liên hệ ngữ cảnh, điều mà web hiện tại chƣa làm đƣợc.

Figure 1Hình

2.1 Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web

Trang 9


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Tồn

Hình 2.1 minh họa mối liên kết ngữ nghĩa giữa các nguồn khác nhau trong
Semantic Web. Hình này mơ tả các mối quan hệ của một phần mềm (Software) với
các thành phần khác, ví dụ nhƣ Software có tài liệu hƣớng dẫn (hasManual) là một
Document, Document này lại dựa trên (isBasedOn) một Document khác, một
Document có tác giả (hasAuthor) là một ngƣời (Person), và một ngƣời sẽ sống tại
(livesAt) một nơi nào đó (Place), …

2.1.2 Kiến trúc
Semantic Web là một tập hợp, một chồng (stack) các lớp[21]. Tất cả các lớp của
Semantic Web đƣợc sử dụng để đảm bảo độ an toàn và giá trị thơng tin trở nên tốt
nhất.

Figure 2Hình

2.2 Kiến trúc web ngữ nghĩa (Semantic Web)

Trang 10


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn


Lớp Unicode và URI
Lớp Unicode và URI đảm bảo việc sử dụng tập ký tự quốc tế và cung cấp
phƣơng tiện nhằm định danh các đối tƣợng trong Semantic Web.
URI - Uniform Resource Identifier đơn giản chỉ là một định danh tài nguyên trên
mạng. Một dạng thức quen thuộc của URI là URL - Uniform Resource Locator.
Một URL là một địa chỉ cho phép chúng ta thăm một trang web, chẳng hạn nhƣ:
Mặc dù trong hệ thống mạng toàn cầu, URL đƣợc đề
cập đến thƣờng xuyên hơn, nhƣng URI đƣợc đề cập đến nhƣ một khái niệm trong
Semantic Web để chỉ các tài nguyên.
Lớp XML
Cùng với các định nghĩa về không gian tên (namespace) và lƣợc đồ (schema),
lớp XML đảm bảo rằng chúng ta có thể tích hợp các định nghĩa Semantic Web với
các chuẩn khác dựa trên XML.
Lớp RDF và RDF Schema (RDFS)
Lớp RDF và RDF Schema giúp chúng ta có thể tạo các phát biểu (statement) để
mô tả các đối tƣợng với những từ vựng và cú pháp của URI. Ðây là lớp mà chúng ta
có thể gán các kiểu (type) cho các tài nguyên và liên kết, và cũng là lớp quan trọng
nhất trong kiến trúc Semantic Web.
Ban đầu, web đƣợc tạo ra để con ngƣời thao tác: đọc, hiểu, …. Mặc dù máy có
thể đọc đƣợc mọi thứ trên web, nhƣng nó khơng hiểu đƣợc dữ liệu trên web. Giải
pháp đƣợc đƣa ra là dùng siêu dữ liệu (metadata) để mơ tả dữ liệu trên web để máy
có thể hiểu đƣợc chúng. Siêu dữ liệu là một dạng dữ liệu dùng để mơ tả dữ liệu
khác. Hay nói cách khác, siêu dữ liệu là những thông tin mô tả tài nguyên trên web.
RDF (Resource Description Framework) là nền tảng của Semantic Web và xử lý
metadata. RDF cho phép trao đổi thông tin giữa các ứng dụng trên web mà máy có
thể hiểu đƣợc.

Trang 11



Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

Cấu trúc cơ bản của một phát biểu RDF rất đơn giản, gồm 3 thành phần:
 Subject: Chủ thể - là cái mà chúng ta đề cập, thƣờng đƣợc nhận diện bởi một
URI.
 Predicate: Thuộc tính của chủ thể, có kiểu metadata (ví dụ nhƣ tiêu đề, tác
giả, ...), cũng có thể đƣợc xác định bởi một URI.
 Object: Giá trị của thuộc tính (ví dụ: một ngƣời có tên Eric Miller).
Tập hợp các RDF statement đƣợc lƣu dƣới dạng cú pháp của XML, cịn đƣợc
gọi là RDF/XML.
Tuy nhiên, mơ hình dữ liệu RDF không cung cấp những cơ chế cho việc khai
báo các thuộc tính, cũng nhƣ khơng cung cấp bất kỳ cơ chế nào để có thể định nghĩa
ra những quan hệ giữa các thuộc tính và các tài ngun. Ðó sẽ là vai trị của RDF
schema, hay nói cách khác RDF schema đƣợc dùng để định nghĩa các tài nguyên và
thuộc tính cũng nhƣ các quan hệ qua lại giữa tài nguyên với tài nguyên, giữa thuộc
tính với thuộc tính, và giữa tài nguyên với thuộc tính.
RDF schema là một tập những từ khố mà qua đó RDF schema cho phép ngƣời
dùng định nghĩa bộ từ vựng cụ thể cho tài liệu RDF (ví dụ nhƣ: hasName, hasPrice,
authorOf, …) và định nghĩa các quan hệ của nó đến các đối tƣợng liên quan. Chẳng
hạn nhƣ từ hasName ta định nghĩa quan hệ của nó trên hai đối tƣợng:
„ và “Jim Lerners” nhƣ sau:
hasName („ Lerners”)
Lớp Ontology
Lớp Ontology hỗ trợ sự tiến hóa của từ vựng vì nó có thể định nghĩa mối liên hệ
giữa các khái niệm khác nhau.
Ontology là một tập các khái niệm và quan hệ giữa các khái niệm đƣợc định
nghĩa cho một lĩnh vực nào đó nhằm vào việc biểu diễn và trao đổi thông tin. Ðây
cũng là một hƣớng tiếp cận để xây dựng Semantic Web. Một ontology định nghĩa

một bộ từ vựng mang tính phổ biến & thơng dụng, nó cho phép các nhà nghiên cứu
chia sẻ thơng tin trong một/ nhiều lĩnh vực. Nó bao gồm các định nghĩa về các khái
Trang 12


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

niệm cơ bản trong một lĩnh vực và các mối liên hệ giữa chúng mà máy có thể hiểu
đƣợc.
Một số lý do cần phát triển một ontology:
 Ðể chia sẻ những hiểu biết chung về cấu trúc thông tin.
 Cho phép tái sử dụng tri thức lĩnh vực (domain knowledge).
 Làm cho các giả thuyết về lĩnh vực đƣợc tƣờng minh.
 Tách biệt tri thức lĩnh vực (domain knowledge) ra khỏi tri thức thao tác
(operational knowledge).
 Phân tích tri thức lĩnh vực.
Lớp Digital Signature
Lớp Digital Signature dùng để xác định chủ thể của tài liệu (ví dụ: tác giả của
một tài liệu hay một lời tuyên bố).
Các lớp Logic, Proof, Trust
Các lớp này còn đang trong giai đoạn nghiên cứu và phát triển. Lớp Logic cho
phép viết ra các luật (rule), trong khi đó, lớp Proof thi hành các luật và cùng với lớp
Trust đánh giá nhằm quyết định ứng dụng nên hay không nên tin tƣởng/ chấp nhận
(trust) chứng cứ (proof) – format font.

Trang 13



Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

2.2 Dịch vụ web

2.2.1 Giới thiệu
Dịch vụ web là đƣợc định nghĩa bởi W3C là “một hệ thống phần mềm đƣợc
thiết kế để hỗ trợ việc tƣơng tác giữa máy và máy qua mạng máy tính”. Dịch vụ
web thƣờng chỉ là một giao diện lập trình web (Web API) mà có thể đƣợc truy xuất
thơng qua một mạng máy tính, chẳng hạn mạng Internet, và thực thi trên một hệ
thống từ xa có chứa dịch vụ đƣợc yêu cầu.

2.2.2 Kiến trúc
Kiến trúc cơ bản của dịch vụ web bao gồm 3 thành phần chính: Service
Requester, Service Broker và Service Provider. Vai trò của các thành phần đƣợc thể
hiện ở hình 2.3.

Figure 3Hình

2.3 Kiến trúc dịch vụ web

Trang 14


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

 Service Provider tạo dịch vụ web và đƣa ra (publish) interface của dịch

vụ web. Interface này đƣợc biểu diễn bằng WSDL và gửi đến Service
Broker.
 Service Broker nắm giữ thông tin về tất cả các dịch vụ đƣợc cung cấp và
kết nối các dịch vụ này đến các Service Requester có nhu cầu phù hợp.
Service Broker sử dụng UDDI để lƣu trữ và khai phá các dịch vụ web.
 Service Requester gửi yêu cầu của mình đến Service Broker bằng WSDL
và sau đó kết nối (bind) với Service Provider mà Service Broker cung cấp
để sử dụng các dịch vụ thông qua SOAP.
Các thành thần giao tiếp với nhau bằng các chuẩn đƣợc giới thiệu sau đây
2.2.2.1 SOAP
SOAP (Simple Object Access Protocol)[22] là một giao thức đơn giản dựa trên
XML cho phép ứng dụng trao đổi thông tin qua HTTP. Các đặc điểm của SOAP:


SOAP là một định dạng cho việc gửi các thông điệp



SOAP đƣợc thiết kế để giao tiếp thông qua Internet



SOAP không lệ thuộc platform



SOAP không lệ thuộc vào ngôn ngữ




SOAP đơn giản và khả mở rộng



SOAP cho phép vƣợt qua tƣờng lửa



SOAP là một chuẩn W3C

2.2.2.2 WSDL
WSDL (Web Services Description Language)[24] là một ngôn ngữ dựa trên XML
để miêu tả dịch vụ web và cách thức để truy cập chúng. Các đặc điểm của WSDL:


WSDL dùng để miêu tả dịch vụ web – định dạng thông điệp, kiểu dữ liệu,
giao thức truyền…. giữa requester và provider.



WSDL cũng đƣợc dùng để định vị các dịch vụ web

Trang 15


Luận văn Thạc sĩ



HVTH: Nguyễn Bảo Toàn


WSDL là một chuẩn của W3C

2.2.2.3 UDDI
UDDI (Universal Description, Discovery and Integration)[23] là một dịch vụ thƣ
mục giúp các tổ chức kinh doanh có thể đăng kí và tìm kiếm dịch vụ Web. Các đặc
điểm của UDDI:


UDDI là một thƣ mục cho việc lƣu trữ thông tin về dịch vụ web



UDDI là một thƣ mục của các interface cho dịch vụ web đƣợc miêu tả bởi
WSDL



UDDI liên lạc thơng qua SOAP



UDDI đƣợc tích hợp trong NET platform của Microsoft

2.2.3 Sự tiện dụng của dịch vụ Web so với cách phát triển ứng dụng bình
thường
Ƣu điểm của dịch vụ web so với cách phát triển ứng dụng bình thƣờng là ai
cũng có thể sử dụng các dịch vụ web do các nhà cung cấp dịch vụ đƣa ra theo một
giao thức định trƣớc, bất kể ngƣời phát triển sử dụng hệ thống nào, ngôn ngữ lập
trình nào. Web service có thể xem là một module phần mềm linh hoạt có thể lắp ráp

vào bất cứ nơi nào, giúp ngƣời sử dụng không cần phải tự xây dựng tất cả các
module trong ứng dụng của mình. Ví dụ: ngƣời dùng phát triển một ứng dụng soạn
thảo văn bản. Ứng dụng này địi hỏi có hàm kiểm tra lỗi chính tả. Nếu phát triển
ứng dụng bình thƣờng, ngƣời phát triển cần xây dựng đƣợc một module kiểm tra lỗi
chính tả - địi hỏi thời gian và kiến thức chun mơn - hoặc tích hợp một phần mềm
kiểm tra lỗi chính tả có sẵn vào phần mềm của mình – khơng dễ dàng nếu phần
mềm đƣợc phát triển trên một hệ thống khác, một ngôn ngữ khác. Ngày nay, cơng
việc kiểm tra lỗi chính tả có thể sử dụng một dịch vụ web phát triển sẵn. Tất cả
công việc của ngƣời phát triển ứng dụng là cung cấp thông số và gọi dịch vụ từ xa
theo một giao thức để kiểm tra lỗi chính tả. Điều này hết sức tiện lợi vì cách thức
gọi dịch vụ web khơng phục thuộc vào hệ thống và ngơn ngữ. Ngồi ra, tính tiện lợi
Trang 16


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

của dịch vụ web cịn ở chỗ mơi trƣờng hoạt động của nó: Internet. Ngƣời phát triển
cũng nhƣ sử dụng ứng dụng có thể gọi dịch vụ mọi lúc, mọi nơi chỉ với một chi phí
thấp.
Dịch vụ web là một bƣớc phát triển tất yếu để chun biệt hóa cơng việc,
mang lại sự hiệu quả và tránh lãng phí cho ngƣời dùng. Tuy vậy, đối với ngƣời phát
triển và sử dụng thông thƣờng, họ vẫn cần phải nắm đƣợc các kiến thức và cách
thức lập trình để gọi dịch vụ web. Hƣớng đi của luận văn cũng nhằm giải quyết
đƣợc rào cản kĩ thuật này cho ngƣời sử dụng.
2.3 KIM
KIM [3] là một nền tảng cung cấp một cơ sở hạ tầng mới cho việc quản lí tri
thức và thơng tin (Knowledge and Information Management - KIM) và phục vụ
cho việc gán ngữ nghĩa tự động, đánh chỉ số, và rút trích những nội dung khơng

có cấu trúc hay bán cấu trúc. Các ứng dụng trực tiếp của KIM là:
Tạo sinh meta-data cho web ngữ nghĩa, điều này cho phép siêu liên kết và mơ
hình hóa cũng nhƣ dẫn hƣớng cấp cao
Quản lí tri thức, tăng cƣờng sự hiệu quả của phép đánh chỉ số hiện có, các ứng
dụng về rút trích, phân lớp và lọc dữ liệu
KIM đƣợc giới thiệu với ba chức năng:
 Một nền tảng có mục đích và cách sử dụng tƣơng tự nhƣ RDBMS và hệ
thống KM
 Một phần mở rộng phát triển bới bên thứ ba đi kèm trong các sản phẩm
KM lớn hơn (mơ hình OEM)
 Một dịch vụ web, đƣợc cung cấp từ xa với cài đặt và chi phí bảo trì tối
thiểu
KIM phân tích văn bản và nhận dạng những tham khảo đến các thực thể (nhƣ
con ngƣời, tổ chức, vị trí, ngày tháng). Sau đó nó cố gắng so trùng các tham khảo

Trang 17


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Tồn

đó với một thực thể đã biết, có một URI và mơ tả duy nhất. Hoặc là nó sẽ tạo tự
động một URI và mơ tả cho thực thể đó. Cuối cùng, tham khảo trong văn bản đƣợc
đánh dấu với URI của thực thể. Chúng ta gọi q trình xử lí này (cũng nhƣ kết quả
của xử lí) là đánh dấu ngữ nghĩa (semantic annotation). Meta-data nhƣ thế này có
thể đƣợc sử dụng cho việc đánh chỉ số, rút trích, mơ hình hóa và tự động siêu liên
kết cho văn bản. Hình 2.4 cho thấy cách KIM hoạt động đối với một văn bản cụ thể.

Figure 4Hình


2.4 Minh họa cho KIM

KIM sẽ tự động nhận dạng những thực thể “XYZ”, “Bulgaria”… rồi liên kết
đến các khái niệm đã có trong ontology. Nếu thực thể là chƣa biết, KIM sẽ tạo mới
một URI và mô tả cho thực thể. Cụ thể là “XYZ” sẽ có các property: type là
Company, establOn là “03/11/1978” và có quan hệ locatedIn với London;
“Bulgaria” có type là Country… Cuối cùng, tham khảo trong văn bản đƣợc đánh
dấu với URI cụ thể của thực thể, văn bản đã đƣợc đánh dấu ngữ nghĩa, các thông tin
trong văn bản đƣợc đánh chỉ số, rút trích và lƣu lại trong KB của KIM.
Để cho phép tự phát triển ứng dụng dễ dàng hơn, KIM đƣợc trang bị với một
ontology bậc cao (upper-level ontology) PROTON với khoảng 250 lớp và 100

Trang 18


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Tồn

thuộc tính. Hơn nữa, một cơ sở tri thức (KIM KB), có sẵn khoảng 200000 mô tả
thực thể, đƣợc đi kèm trong KIM. Vai trị của nó là một tri thức nền tảng (giống nhƣ
một nền văn hóa chung của con ngƣời) cho việc tập hợp gần nhƣ đầy đủ các thực
thể quan trọng khát quát nhất – mà những thực thể này không đƣợc đƣa vào các văn
bản do chúng đƣợc coi là q phổ biến. Vì lý do này, mơ tả của chúng rất khó để tự
động rút ra.
Từ một góc nhìn kĩ thuật, kiến trúc này cho phép những ứng dụng dựa trên
KIM thực hiện đánh dấu ngữ nghĩa tự động, rút trích nội dung, dựa trên ràng buộc
ngữ nghĩa, cũng nhƣ truy vấn và chỉnh sửa những ontology và cơ sở tri thức nằm
bên dƣới[3].

Dịch vụ web của KIM API đại diện cho một tầng tƣơng hỗ (interoperability)
cho việc truy cập các chức năng của server. Chúng cho phép truy cập từ web và độc
lập ngôn ngữ. Ngƣời sử dụng KIM đã hiện thực thành công client bằng C#, Perl,
Ruby và Java.
Có năm dịch vụ web cho phép truy cập đến những KIM API tƣơng ứng là:
 Dịch vụ web API kho chứa ngữ nghĩa (Semantic Repository API web
service) chứa những phƣơng thức cho truy vấn và chỉnh sửa những kho chứa
ngữ nghĩa nằm bên dƣới.
 Dịch vụ web API kho chứa văn bản (Document Repository API web service)
chứa những phƣơng thức cho truy vấn và chỉnh sửa những văn bản KIM
trong các kho chứa văn bản nằm ở bên dƣới. Dịch vụ này có hai sự bổ sung
vào các phƣơng thức DocumentRepositoryAPI chuẩn. Chúng là một phần
của các chức năng đƣợc cung cấp bởi CoreDbAPI. Cả hai chỉ có thể truy cập
nếu COREDB đƣợc bật lên.
 Dịch vụ web API thực thể (Entity API web service) chứa những phƣơng thức
phục vụ nhƣ một tầng trừu tƣợng bên trên kho ngữ nghĩa và cho phép thao
tác trực tiếp với các thực thể.
Trang 19


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

 Dịch vụ web API truy vấn (Query API web service) chứa những phƣơng
thức phục vụ nhƣ một tầng trừu tƣợng bên trên ngữ nghĩa và kho chứa văn
bản.


Dịch vụ web API đánh dấu ngữ nghĩa (Semantic Annotation API web

service) chứa những phƣơng thức cho việc đánh dấu ngữ nghĩa trên dữ liệu
thô hay cấu trúc văn bản KIM.

Hiện tại, PGS.TS Cao Hoàng Trụ cùng các cộng sự tại khoa Công nghệ Thông
tin, trƣờng Đại học Bách Khoa Thành phố Hồ Chí Minh đã và đang phát triển VNKIM, một hệ thống đƣợc thiết kế dựa trên KIM. VN-KIM là hệ thống quản lý tri
thức và thơng tin cho các thực thể có tên ở Việt Nam, là hệ thống đầu tiên ở Việt
Nam thực hiện việc khai phá, phân loại, đánh dấu ngữ nghĩa và lƣu trữ các thông tin
trên web theo các thực thể có tên. VN-KIM đã có những cải tiến và mở rộng để phù
hợp với việc nhận diện các thực thể có tên thuộc ngơn ngữ tiếng Việt. Ngồi ra,
VN-KIM cịn cho phép truy hồi thơng tin gần đúng và bằng đồ thị khái niệm[25].

2.4 PROTON
PROTON là viết tắt của Proto Ontology[6], là một ontology bậc cao cơ bản
(Basic Upper-Level Ontology) trong phạm vi của dự án SEKT. PROTON đƣợc
sử dụng nhƣ một tri thức nền tảng để sinh ontology (ontology greneration). Nó
đƣợc phát triển từ ontology KIMO – ontology đã đƣợc tạo ra và sử dụng trong
phạm vi của KIM platform cho việc đánh dấu ngữ nghĩa, đánh chỉ số và rút trích.
Ontology PROTON chứa khoảng 300 lớp và 100 thuộc tính, cung cấp các
khái niệm khái quát cần thiết cho một lĩnh vực rộng các ứng dụng, bao gồm cả
việc đánh dấu ngữ nghĩa, đánh chỉ số và rút trích thơng tin từ văn bản. Ngun
tắc thiết kế PROTON có thể đƣợc tóm tắt nhƣ sau:
(i)

Khơng phụ thuộc vào domain

(ii)

Định nghĩa logic light-weight (light-weight logical definitions)
Trang 20



Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

(iii)

Liên kết với các chuẩn phổ biến

(iv)

Bao phủ tốt các thực thể có tên và lãnh vực cụ thể (con ngƣời, tổ chức, vị
trí, con số, ngày tháng, …)

PROTON đƣợc mã hóa dƣới dạng OWL Lite[5].

Figure 5Hình

2.5 Hình minh họa cho các lớp trong PROTON

Trang 21


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

Để đáp ứng đƣợc các kịch bản sử dụng và bảo đảm đƣợc sự dễ hiểu,
PROTON đƣợc chia làm bốn thành phần:
 System module: chứa vài thành phần căn bản ở mức meta (5 lớp và 5

thuộc tính). Nó giới thiệu khái niệm về “thực thể” (entity), thực thể có thể
có các bí danh (alias). Những thành phần căn bản ở mức này thƣờng phải
đƣợc viết mã cứng vào các ứng dụng đƣợc trên ontology. Thành phần này
có thể đƣợc coi nhƣ là một ontology ứng dụng. Thành phần system của
PROTON đƣợc tham khảo đến thông qua tiếp đầu ngữ “protons:”
 Top module: mức khái niệm cao nhất, tổng quát nhất, bao gồm 20 lớp.
Nó bảo đảm sự cân bằng tốt về mặt tiện ích, không phụ thuộc domain, và
sự dễ hiểu, dễ sử dụng. Lớp trên cùng thƣờng là mức tốt nhất để thiết lập
sự liên kết với những ontology và schemata khác. Thành phần top của
PROTON đƣợc tham khảo đến thông qua tiếp đầu ngữ “protont:”
 Upper module: gồm trên 200 lớp chung của các thực thể, mà các lớp này
thƣờng xuất hiện trong nhiều domain. Thành phần upper của PROTON
đƣợc tham khảo đến thông qua tiếp đầu ngữ “protonu:”
KM (Knowledge Management) module: gồm 38 lớp của các thực thể đƣợc
chuyên biệt cho những cơng việc và ứng dụng về quản lí tri thức điển hình.
Thành phần KM thật ra là ontology SKULO trƣớc đây [6], đƣợc phát triển
hơn và tích hợp vào trong PROTON. Thành phần upper của PROTON đƣợc
tham khảo đến thông qua tiếp đầu ngữ “protonkm:”
 Chú ý: trong các phần sau, ta sử dụng domain ontology là PROTON để đƣa
ra và giải thích các ví dụ

Trang 22


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

CHƢƠNG 3 CÁC NGHIÊN CỨU LIÊN QUAN
3.1 Framework của luận văn đi trƣớc


3.1.1 Giới thiệu
Luận văn đi trƣớc của tác giả Huỳnh Tấn Khải [8] có cùng đề tài với luận
văn này : “Cập nhật động nội dung trang web bằng các dịch vụ web có ngữ nghĩa”.
Cách tiếp cận của luận văn đi trƣớc là sử dụng framework có sẵn WSMX để tự
động cập nhật thơng tin, bao gồm q trình từ lúc tạo ra trang web đến khi trang
web đƣợc tải (load). Ngƣời dùng chỉ cần mô tả thông tin cần cập nhật động, còn các
phần việc còn lại sẽ do hệ thống (framework) đảm nhận.

3.1.2 Kiến trúc của framework
Hình 3.1 trình bày sơ đồ chi tiết của framework của luận văn đi trƣớc.
Framework gồm có 2 phần chính:
Thành phần phía người dùng (Client Module): Hiện thực một chức năng mở
rộng (plug-in) cho một trình soạn thảo web (web editor), nó cho phép đặc tả các yêu
cầu thực thi dịch vụ (goal) với mô tả gần với ngôn ngữ tự nhiên. Web editor này có
chức năng sinh tự động ra các đoạn mã WSML mô tả goal, đoạn mã để gọi thực thi
yêu cầu và nhận kết quả trả về để cập nhật vào nội dung trang web.

Trang 23


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

Client Module
Giai đoạn Design
Web Editor
Web page
Nơi cần cập nhật

động nội dung
Description

Mã WSML mô tả
yêu cầu ngƣời dùng
Mã gọi thực thi yêu
cầu ngƣời dùng

Cung cấp ontology
Thông điệp gọi thực thi
yêu cầu
Server Module
Message
Processor

Repository

Goal

Nơi cần cập nhật
động nội dung
Mã WSML mô tả
yêu cầu ngƣời dùng
Mã gọi thực thi yêu
cầu ngƣời dùng

Web service
phù hợp với
Goal
(Selected_WS)


Web Service
Invoker
Kết quả trả
về (Result)

Service
Provider

Web page

Discovery
Engine

Service Registry

Giai đoạn Loading

Danh
sách
tham
số

HTML
Convertor
Kết quả trả về
dƣới dạng HTML

Figure 6 Hình 3.1: Sơ đồ chi tiết framework của luận văn đi trước


Trang 24


Luận văn Thạc sĩ

HVTH: Nguyễn Bảo Toàn

Thành phần thực thi phía Server (Server Module): thực hiện các chức năng
chính trong việc khai phá dịch vụ, gọi thực thi dịch vụ và nhận kết quả trả về khi
chúng ta thực thi một yêu cầu. Trong phần này có các khối chức năng chính nhƣ
sau:
 Message Processor: Thành phần này dùng để phân tích message mà khi
trang web đƣợc load, nó gởi sang để thực thi yêu cầu. Việc phân tích này để
tách ra nội dung của goal và các tham số của nó. Thơng tin về goal sẽ đƣợc
truyền cho thành phần Discovery Engine để thực hiện việc tìm kiếm các dịch
vụ web đáp ứng đƣợc goal.
 Discovery Engine: Thành phần này nhận đầu vào là goal từ thành phần
Message Processor gởi sang và thực hiện việc tìm kiếm các dịch vụ web có
khả năng đáp ứng đƣợc goal. Việc so trùng để tìm kiếm dịch vụ web đáp ứng
goal này phải đƣợc thực hiện so trùng về mặt ngữ nghĩa, khắc phục các
nhƣợc điểm mà các hệ thống đã khảo sát ở trên nhƣ việc bỏ sót dịch vụ hay
chọn sai dịch vụ.
 Web Service Invoker: Thành phần này có chức năng gọi thực thi dịch vụ
web đã đƣợc trả về từ Discovery Engine. Kết quả trả về của việc gọi thực thi
này đƣợc dùng để cập nhật cho nội dung của trang web.
 HTML Convertor: Thành phần này nhận kết quả trả về từ thành phần Web
Service Invoker. Kết quả trả về này không phải luôn luôn ở dạng chuẩn
HTML nên HTML Convertor phải chuyển nó sang dạng chuẩn HTML để
cập nhật vào nội dung trang web.
 Service Registry: Thành phần này cho phép các nhà cung cấp dịch vụ đăng

ký thông tin về dịch vụ của họ vào framework. Framework sẽ lƣu trữ thông
tin này trong kho (Repository) để phục vụ cho việc tìm kiếm và so trùng.
 Repository: Repository là kho chứa các dịch vụ của các nhà cung cấp dịch vụ
đăng ký vào framework. Các dịch vụ mà các nhà cung cấp dịch vụ đăng ký

Trang 25


×