BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DUY TÂN
NGUYỄN ĐOÀN ANH VŨ
NGHIÊN CỨU WEB NGỮ NGHĨA VÀ ỨNG DỤNG
TRONG TRỢ GIÚP TÌM KIẾM
VĂN BẢN NGHIỆP VỤ HÀNH CHÍNH
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Đà Nẵng 2014
1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DUY TÂN
NGUYỄN ĐOÀN ANH VŨ
NGHIÊN CỨU WEB NGỮ NGHĨA VÀ ỨNG DỤNG
TRONG TRỢ GIÚP TÌM KIẾM
VĂN BẢN NGHIỆP VỤ HÀNH CHÍNH
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: TS. PHẠM ANH PHƯƠNG
Đà Nẵng 2014
2
LỜI CẢM ƠN
Để hoàn thành luận văn này tôi được rất nhiều sự động viên giúp đỡ của các
cá nhân và tập thể.
Trước hết, cho tôi xin bày tỏ lòng biết ơn sâu sắc đến TS Phạm Anh Phương
đã hướng dẫn tôi thực hiện đề tài nghiên cứu của mình.
Xin cùng bày tỏ lòng biết ơn chân thành tới các thầy cô giáo, người đã đem lại
cho tôi những kiến thức vô cùng quý giá, có ích trong những năm học vừa qua.
Cũng xin gửi lời cám ơn chân thành tới Ban Giám hiệu, Phòng Đào tạo, Khoa
sau đại học, Đại học Duy Tân, đã tạo điều kiện cho tôi trong quá trình học tập và
nghiên cứu.
Cuối cùng tôi xin gửi lời cám ơn đến gia đình, bạn bè đồng nghiệp, tập thể lớp
Khoa học máy tính K7, những người đã luôn bên tôi, động viên và khuyến khích tôi
trong quá trình thực hiện đề tài nghiên cứu của mình.
Học viên
Nguyễn Đoàn Anh Vũ
i
LỜI CAM ĐOAN
Tên tôi là Nguyễn Đoàn Anh Vũ, học viên cao học lớp Khoa học máy
tính K7, khóa 2012-2014. Tôi xin cam đoan luận văn thạc sĩ
!"
#$$ là công trình nghiên cứu của riêng tôi, số liệu và các kết quả
nghiên cứu trong luận văn là trung thực và không trùng với đề tài khác. Tôi
cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã
được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn
gốc.
Học viên
Nguyễn Đoàn Anh Vũ
ii
MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC CÁC TỪ VIẾT TẮT x
DANH MỤC CÁC HÌNH x
MỞ ĐẦU 1
CHƯƠNG 1 :TỔNG QUAN VỀ SEMANTIC WEB 2
!"#$%&
!"#$%&'()*+
,-./0123")4".5 !"#$%&
678$"!)9! !"#$%&.(%&":;
;</$$=! !"#$%&>
,?@"AB$ !"#$%&C
DEFGHDI?DJKLM
!ANO2P"0!"(")QR"SD.("$T0M
,!ANOU.(U$ !V
!ANODWXSDWX$ !Y
;I"T'T)Q
;ZP"")[!T"T'T)Q
;,!AN$=!T"T'T)Q
;8$\")01")$=!T"T'T)Q,
>8$")]"")9 !"#$%&
>U
>,DWX;
>DWX>
,DM
,8$&-O^"$_("`")!A$")"M
iii
,DT&Ta-^O]")#"M
,,"0ba-'^O$c 1$M
,,!A$")"a-d 7@ ]")#"V
,,!A$")"a-d 7@ ]")#"V
,,,)QR"'eT:2-")Y
DfghSZFHY
P$iO8Aj"Y
,?8" `")kS28O,l
?@"AB$`")kS28O,
A"Am!$S!T0"")no0p"),,
,q#T""!'QrAaHs"t$$sk,,
W!!DA.!'a* 7@ 09',
;"%AbA!$#T"aDBA/$$sA4'o,
>D!"7")a@"'n<$b@O:"),;
C"%AAu$!#T"aU8$ "$sA4'o,;
;`")kS28O#@"),;
;vwFIxyz,>
;9")Q@`$/"$=! -.{"&4"AT")")(")8T01$,>
;8$'[".6$$=!.{"&4"AT")")(")8T01$,>
;,8$'T:.{"&4"|4"'e("$/",>
;3|!"}23".P,C
;;o)!",C
;>8"s"'R"|!",C
;C-0").{"&4",C
;,^"b~,C
>?•€•,M
CHƯƠNG 2: GIẢI PHÁP XÂY DỰNG HỆ THỐNG TÌM KIẾM VĂN BẢN 27
,Fg‚v?yzDIƒFIW„,M
,$"),M
,,Hs"'T:,V
,8$`")O1$.1$T")(")8T01$AR"@),V
,…")]")#"!$")%0!!TA),V
iv
,,n."T"'"$=!Ano")2:†$A#T' &!,Y
,&$=!$n3")A*"2(T:T.((A<2jB$2_Q6O8Aj"AT")
"]")")OD,Y
,;&d 7@ T")9")[!"…#@")T'mA! !'O!l
,;^"b~$").5$8$`")O1$.1$T")(")8T01$AR"@)l
,>8$%&.(`")O1$.1$T")(")8T01$AT")"n$l
,>`")d 7@ !0!."l
,>,…")]")#"Qj""0!T$TA)
,>&$=!&-)8T01$2(T:T!
,>;8$Ano")2:†$'"AR"$4"n$
,C^"b~.5$8$%&}`")O1$.1$T")(")8T01$AT")"n$
,M$8$$]")A*"")R"$\ !"#$%&AT")"n$,
,MI"T'T)Qbi'e")]"")9#@"),
,M,I"T'T)Q7T!†$$]")"),
,Mf")01")%&")9")[!bsQ06")`")A<)BO†$^O$T†$"&^$†$
O…]")
,V^"b~$").5$8$$]")A*"")R"$\ !"#$%&AT")"n$
,,€‡g‚v?yz
,FˆKU‰WŠFIII‹DŒv?yz;
,DWX•DTA$W$AO#T"XA! %TA7Ž;
,…")|!"DWX;
,,!•09'DWX>
,,DWX•DWXS$ !ŽC
,,8$'O.(-$t"AT")DWX•DWXC
,,,/01bsQ06")I"T'T)Q.DWXM
,I•I"T'T)Q&!")!)ŽY
,;W‘I•WDH)"!A7O!"|!)‘I"T'T)Q"mA"$!QAŽ;
,;wZ’“W„;
Hình 2.1. Biểu đồ Ca sử dụng 41
,>Z”z“W„;,
,>T)";,
Bảng 2.1. Đặc tả Login 42
v
,>,T)T;,
Bảng 2.2. Đặc tả Logout 42
,> OTA]")#"•%&;,
Bảng 2.3. Đặc tả Import thông tin từ website 43
,>; OTA]")#"&–")!Q;
Bảng 2.4. Đặc tả Import thông tin bằng tay 43
,>>U ]")#";
Bảng 2.5. Đặc tả xem thông tin 43
,>C^O"^]")#";;
Bảng 2.6. Đặc tả cập nhật thông tin 44
,>MU—!]")#";;
Bảng 2.7. Đặc tả xóa thông tin 44
,>V* 7@ ]")#";>
,CH€•HFH•H}D˜DJ™˜ŠZ™;>
Hình 2.2. Mô hình tổng quan phương pháp trích rút tự động 46
Hình 2.3. Quy trình rút trích ontology từ WWW 47
,Mˆ„}ˆD€š}€gƒˆK;V
,M]")$1bsQ06")T"T'T)QSHAT~)~;V
,MZ›$2j $=!HAT~)~;V
,M,HAT~)~i01"))!T0"2Ϡ!;V
,MHAT~)~O8Aj"2jt$<O$8$$]")$1;Y
,M,n." &;Y
,M,_QO~O;Y
,M,,Z›$2j $=! &;Y
,M!T0"'^OA*"\")01")I%'WTO>
,MHR"&4">
,M,\$"{")>
Hình 2.4. Mô hình quan hệ giữa các nút và các cạnh 52
,M;AQ._"HDq>,
vi
,M;BO8O$=!$sAQ._"•>,
,M;,:T -$sAQ._"23")4">
,M>]Ano").(n."O8Aj"\")1")$T !"#$%&>;
,VZ”zg‚v?yzƒ˜>>
,VW67@"$\$"{")$=!`")>>
,V,]4`")>>
,V,!T0"AQ._">>
,V,,Hž"7@"AB$&R"AT")>>
Hình 2.5. Mô hình đề xuất cho hệ thống tìm kiếm văn bản hành chính 56
,V,3Ÿ09'>C
,Y?•€•,>C
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG VÀ TRIỄN KHAI ỨNG DỤNG 57
H‰˜g‚v?yzƒ˜>M
8$)!2T:"bsQ06")`")>M
Hình 3.1. Sơ đồ tổng quan hệ thống 58
!2T:"•@7@T"T'T)Q>V
,!2T:",•UsQ06")\")01")>Y
,Hs"t$$\$"{")d 7@ $=!`")>Y
,WQT")9")[!>Y
,,* 7@ T•7—!>Y
,* 7@ "s")$!T>Y
,Fq g‚v?yzDIƒFIW„Cl
Bảng 3.1. Các quyền của hệ thống 60
?g‚v?yzDIƒFIW„Cl
j2œT)"Cl
Hình 3.2. Biểu đồ Login 60
,j2œT)TC
Hình 3.3. Biểu đồ Logout 61
j2œ OTA]")#"•%&C
Hình 3.4. Biểu đồ Import thông tin từ website 61
vii
;j2œ OTA]")#"=$]")&–")!QC,
Hình 3.5. Biểu đồ Import bằng tay 62
>j2œU ]")#"C,
Hình 3.6. Biểu đồ Xem thông tin 62
Cj2œi!]")#"C
Hình 3.7. Biểu đồ Sửa thông tin 63
Mj2œU—!]")#"C
Hình 3.8. Biểu đồ Xóa thông tin 63
Vj2œ* 7@ ]")#"C;
Hình 3.9. Biểu đồ Tìm kiếm thông tin 64
;?IIIC;
C8$&n$bsQ06")T"T'T)QC;
3.6.2 Thiết kế mô hình dữ liệu ontology 67
Hình 3.10. Sơ đồ mô tả class Linh_vuc 68
Hình 3.11. Sơ đồ mô tả class Loai_van_ban 69
Hình 3.12. Sơ đồ mô tả class Co_quan 69
Hình 3.13. Sơ đồ mô tả class Thoi_gian 70
Hình 3.14. Sơ đồ mô tả class Ca_nhan 71
Hình 3.15. Sơ đồ mô tả class Noi_dung 71
Hình 3.16. Sơ đồ mô tả class Van_ban 72
72
Tổng quát ontology 72
Hình 3.17. Sơ đồ mô tả tổng quát ontology 72
Hình 3.18. Ontology văn bản giáo dục được xây dựng bằng công cụ Protégé 73
>€•Dv“gƒZFF?qzM
>A!")$=`")M
viii
Hình 3.19. Trang chủ hệ thống 73
>,("*"j"P_$47@|4d 7@ M;
Hình 3.20. Màn hình hiển thị tất cả kết quả tìm kiếm 74
>("*"j"P.{"&4"$/"b8$M;
Hình 3.21. Màn hình hiển thị văn bản chính xác 74
đến văn bản 75
>;("*"j"P]")#"8$)4M>
Hình 3.23. Màn hình hiển thị thông tin tác giả 75
>CZ8")8$n3")A*"i") M>
?@|42:2n<$$=!'^".{"MC
,:"$@$=!`")MC
n")O8Aj"$=!'^".{"MC
TÀI LIỆU THAM KHẢO 78
@")MV
@")"MV
"A"MY
ix
DANH MỤC CÁC TỪ VIẾT TẮT
Thuật ngữ
viết tắt
Mô tả ý nghĩa
CNTT Công nghệ thông tin
CSDL Cơ sở dữ liệu
DAML DARPA Agent Markup Language
DARPA Defense Advanced Research Projects Agency
DTD Document Type Definition
FOAF Friend Of A Friend
HTTP Hypertext Transfer Protocol
IE Information Extraction
IR Information Retrieval
JSP JavaServer Pages
NLP Natural Language Processing
OIL Ontology Inference Layer
QA Question Answering
RDF Resource Description Framework
RDFS Resource Description Framework Schema
SGML Standard Generalized Markup Language
SOAP Simple Object Access Protocol
SQL Structured Query Language
SW Semantic web
URI Uniform Resource Identifier
W3C World Wide Web Consortium
WWW World Wide Web
XML Extensible Markup Language
XMLS Extensible Markup Language Schema
DANH MỤC CÁC HÌNH
x
MỞ ĐẦU
1. Lý do chọn đề tài
Trong quản lý các văn bản hành chính, bên cạnh việc ứng dụng công nghệ
thông tin (CNTT) vào công tác giảng dạy thì việc ứng dụng CNTT vào công tác
quản lý cũng đóng vai trò không kém phần quan trọng trong việc nâng cao chất
lượng quản lý các hành chính. Tối ưu hóa các quy trình quản lý là mục tiêu hàng
đầu nhằm tạo điều kiện tốt nhất cho lực lượng nhân viên chuyên tâm nâng cao chất
lượng.
Thực tế hiện nay, lượng văn bản được ban hành ngày càng nhiều và mỗi cơ
quan, trường học lại có những văn bản riêng biệt. Mặc dù toàn bộ các công văn đều
được lưu trữ dưới dạng các file mềm số hóa nhưng chỉ đơn thuần là lưu trữ bản sao
chứ chưa được sắp xếp theo hệ thống cơ sở dữ liệu chuẩn nhất định.
Trong khi đó, các website tìm kiếm và các công cụ hỗ trợ quản lý các văn bản
hành chính chưa đáp ứng được nhu cầu tìm kiếm một cách chính xác và nhanh
chóng. Việc tìm kiếm thông tin hiện nay không theo chủ đề mà chỉ là tìm theo từ
khoá đơn thuần. Kết quả trả về sẽ ở dưới dạng những tri thức chứa từ hoặc cụm từ
cần tìm mà không được tổng hợp chính xác làm cho khối lượng thông tin rất lớn.
Chính vì phương thức quản lý vẫn còn thủ công khiến cho việc xử lý các chính
sách, khiếu nại của từng cá nhân trong từng trường hợp cụ thể gặp rất nhiều khó
khăn và tốn thời gian.
Hiện nay tôi đang công tác trong ngành giáo dục nhận thấy rằng, semantic
web có thể giúp chúng tôi giải quyết những vấn đề trên. Vì vậy, tôi đã chọn đề tài
luận văn tốt nghiệp “Nghiên cứu Web ngữ nghĩa và ứng dụng trong trợ giúp tìm
kiếm văn bản nghiệp vụ hành chính”.
2. Mục tiêu nghiên cứu
- Nghiên cứu về Ontology và Web ngữ nghĩa.
- Ứng dụng để xây dựng hệ thống tìm kiếm văn bản nghiệp vụ hành chính.
3. Đối tượng và phạm vi nghiên cứu
• Đối tượng nghiên cứu: là văn bản hành chính, ngành giáo dục, semantic
web và xử lý ngôn ngữ trong văn bản.
• Phạm vi nghiên cứu: là ứng dụng semantic web để xây dựng giải pháp tìm
kiếm văn bản hành chính trong ngành giáo dục.
1
4. Phương pháp nghiên cứu
Phương pháp lý thuyết: Tìm hiểu về semantic web; Tìm hiểu về xử lý ngôn
ngữ tự nhiên; Tìm hiểu về quá trình xây dựng một công cụ search engine; Ứng dụng
semantic web để xây dựng website; Phương pháp xây dựng một website tìm kiếm
hoàn chỉnh; Phương pháp và quy trình xây dựng một công cụ tìm kiếm, Tổng hợp
thông tin văn bản thu thập được.
Phương pháp thực nghiệm: Xây dựng ontology; Xây dựng cơ sở dữ liệu; Xây
dựng kho dữ liệu huấn luyện; triển khai thực tế trên Internet.
5. Ý nghĩa khoa học và thực tiễn
Về mặt khoa học đề tài đóng góp một công cụ tìm kiếm theo công nghệ
semantic web dành riêng cho ngành quản lý hành chính, phương pháp xây dựng
ontology về văn bản nói chung và văn bản cho ngành giáo dục nói riêng, ứng dụng
semantic web về mặt tìm kiếm, xử lý Tiếng Việt và vấn đề đa ngữ trong ontology.
Về thực tiễn đề tài mở ra hướng nghiên cứu ứng dụng mới về tìm kiếm văn
bản quản lý hành chính, hỗ trợ tìm kiếm văn bản chính xác hơn.
6. Bố cục luận văn
Luận văn bao gồm ba chương với các nội dung chính sau :
Chương 1 : Tổng quan về semantic web, search engine và hệ hỏi-đáp. Trong
chương này, chúng tôi trình bày cơ sở lý thuyết về semantic web, search engine và
hệ hỏi-đáp, đồng thời chúng tôi nêu ra những yếu tố liên quan đến văn bản trong
ngành giáo dục.
Chương 2 : Đề xuất hệ thống tìm kiếm văn bản trong ngành giáo dục. Chương
này chúng tôi đưa ra nhận xét về những ưu điểm và khuyết điểm của các hệ thống
phục vụ cho ngành giáo dục hiện nay. Từ đó, chúng tôi đề xuất xây dựng hệ thống
tìm kiếm mới hiệu quả hơn.
Chương 3 : Phân tích, thiết kế và xây dựng hệ thống tìm kiếm văn bản trong
ngành quản lý hành chính. Dựa trên những đề xuất ở chương 2, chúng tôi tiến hành
phân tích, thiết kế, xây dựng ontology và hệ thống tìm kiếm văn bản trong ngành
giáo dục.
Cuối cùng là phần kết luận và hướng phát triễn của luận văn.
CHƯƠNG 1 :TỔNG QUAN VỀ SEMANTIC WEB
2
1.1. LÝ THUYẾT VỀ SEMANTIC WEB
%&%&%&'(")*
1.1.1.1. Semantic web là gì?
Khái niệm World Wide Web của Tim Berners-Lee đưa ra vào tháng 12/1991
đã làm thay đổi cách giao tiếp của con người với dữ liệu trên Internet, các thao tác
click chuột để truy cập các hình ảnh, di chuyển giữa các trang web thay cho các
dòng lệnh phức tạp.
Cùng với các trình duyệt như web như Mosaic, Netcape, Internet Explorer,
Mozilla Firefox hay Chrome hàng triệu trang web đã ra đời làm cho internet trở
thành một kho dữ liệu khổng lồ và hỗn độn, việc tìm kiếm thông tin trên internet
trở nên khó khăn hơn. Vấn đề đặt ra là làm sao có thể khai thác thông tin trên
internet hiệu quả hơn?
Thách thức trên thúc đẩy sự ra đời của ý tưởng “semantic web”, là thế hệ tiếp
theo của web mà đã được Tim Berners-Lee phát thảo từ năm 1998. Theo ông,
“semantic web là sự mở rộng của web hiện tại mà trong đó thông tin được định
nghĩa rõ ràng sao cho người và máy tính có thể cùng làm việc với nhau một cách
hiệu quả hơn”.[12]
Semantic web không phải là một trang web riêng biệt mà nó chỉ là một sự mở
rộng của Web hiện tại, mà ở đó có các thông tin về ngữ nghĩa nhiều hơn, làm cho
máy tính và con người có thể phối hợp làm việc tốt hơn.[9]
Semantic Web không phải chỉ dành cho World Wide Web. Nó kèm theo một
tập hợp các công nghệ mà cũng có thể làm việc trên intranet của nội bộ các công
ty, doanh nghiệp…[9]
1.1.1.2. Một ví dụ đơn giản về semantic web
Ví dụ tôi muốn tìm kiếm thông tin với từ khóa “quy định chức năng của
trường Cao Đẳng Nghề Đà Nẵng” thì kết quả tìm được theo cách thông thường sẽ
hiển thị toàn bộ những văn bản có chứa cụm từ cần tìm như trên, như vậy sẽ gây
khó khăn trong việc tìm kiếm ra các thông tin chính xác của cụm từ đó. Đối với
cách tìm kiếm theo ngữ nghĩa, kết quả trả về sẽ là văn bản chính xác nhất như sau :
3
Ví dụ cụm từ cần tìm: “quy định chức năng của trường Cao Đẳng Nghề Đà
Nẵng”
Bảng 1.1. Ví dụ về semantic web
Web hiện tại Semantic web
1.1.1.3. Sự khác nhau giữa semantic web và web hiện tại
Bảng 1.2. Sự khác nhau của semantic web và web hiện tại
Web hiện tại Semantic web
- Là web gồm các tài liệu (web of
documents).
- Là web gồm dữ liệu (web of data).
- Chỉ biểu diễn “syntax”- biểu diễn
thông tin.
- Biểu diễn “semantic”- biểu diễn nghĩa
phía sau thông tin
- Lưu trữ thông tin. - Thao tác trên thông tin.
- Tìm kiếm dựa vào từ khóa. - Tìm kiếm dựa vào ngữ nghĩa.
4
- Thông tin thường không được đồng bộ
và dễ bị lạc hậu.
- Thông tin luôn được đồng bộ và kịp
thời nhờ có những công cụ tự động cập
nhật.
• Các ontology được chia sẻ để có thể
hiểu được ngữ nghĩa.
1.1.1.4. Lợi ích của semantic web
Máy tính có thể hiểu được thông tin trên web:
Internet ngày nay dựa hoàn toàn vào nội dung. Web hiện tại chỉ dành cho
người đọc mà không dành cho máy tính hiểu. Semantic web sẽ định nghĩa các khái
niệm và bổ sung các quan hệ dưới dạng máy tính có thể hiểu được. Do đó, việc tìm
kiếm, đánh giá, xử lí, tích hợp thông tin có thể tiến hành một cách tự động.
Với một website ứng dụng semantic web, con người có thể đọc và hơn thế,
máy tính cũng có thể hiểu được thông tin. Máy không phải suy luận dựa vào ngữ
pháp và các ngôn ngữ đánh dấu (markup language) nữa vì cấu trúc ngữ nghĩa của
văn bản (text) đã chứa nó.
Tìm kiếm thông tin nhanh chóng và chính xác hơn: Với semantic web, máy
tính có thể xác định một thực thể thuộc lớp hay thuộc tính cụ thể nào dựa trên
ngữ cảnh chứa nó. Ý tưởng chính yếu là toàn bộ ngữ cảnh mà người sử dụng được
biết đến, chúng ta không những nhận được những thông tin chính xác hơn khi tìm
kiếm thông tin từ máy tính, mà máy tính còn có thể tích hợp thông tin từ nhiều
nguồn khác nhau, biết so sánh các thông tin với nhau có thể kết hợp các thông tin đã
được mô tả và giàu ngữ nghĩa với bất kì nguồn dữ liệu nào. Do đó thu hẹp không
gian tìm kiếm và cho kết quả nhanh, chính xác hơn.
Khả năng suy luận thông minh:Dựa vào các luật suy diễn trên cơ sở tri thức về
các thực thể, máy tính có khả năng sinh ra những kết luận mới. Ứng dụng semantic
web có thể sẽ trả lời được những câu hỏi như: “Chủ tịch nước Cộng hòa xã hội chủ
nghĩa Việt Nam năm 1997 là ai?”
Dữ liệu liên kết động: Thay thế cách liên kết sử dụng hyperlink tĩnh trong web
cũ, semantic web liên kết dữ liệu từ nhiều nguồn khác nhau một cách hiệu quả hơn
dựa trên định danh của tài nguyên (URI) và quan hệ giữa chúng. Cách liên kết này
đôi khi còn được gọi là liên kết bằng siêu dữ liệu (meta data).
5
Semantic web không chỉ cung cấp các URI cho tài liệu như đã làm trong quá
khứ mà còn cho con người, các khái niệm, các mối liên hệ. Chúng ta cũng có thể
kết hợp những thông tin đã được mô tả ở nhiều site khác nhau để biết thêm thông
tin về người này ở những ngữ cảnh khác nhau ví dụ như vài trò của anh ta ra sao
khi anh ta là tác giả, nhà quản lý, nhà phát triển.
%&%&+,)*
Kiến trúc web ngữ nghĩa có các lớp cơ bản sau:
Hình 1.1. Kiến trúc semantic web [12]
Mô hình trên có tất cả 7 lớp, trong đó có một số tầng còn đang trong quá
trình hoàn thiện. Nội dung các tầng như sau:
Lớp URI, Unicode : Đây là tầng cơ bản định nghĩa định dạng xử lý nhằm
chuẩn hoá dữ liệu xử lý.Tầng này đã được chuẩn hoá và thống nhất sử dụng. Hai
quy định chính của chuẩn hoá dữ liệu đó là kiểu chữ và kiểu liên kết.
Lớp XML : là ngôn ngữ đánh dấu mở rộng, dùng để lưu trữ dữ liệu. XML
sau đó được phát triển lên thành XML Schema với những định nghĩa mở rộng. Tất
cả các nghiên cứu chỉ ra rằng, XML là ngôn ngữ tối ưu để phát triển.
Lớp RDF : Đó là cấu trúc dữ liệu biểu diễn ngữ nghĩa. Được phát triển dựa
trên k£ thuật lưu trữ dữ liệu của XML và kiểu cấu trúc dữ liệu thông minh. RDF sau
này được định nghĩa mở rộng nhằm tinh gọn dữ liệu và được định nghĩa bằng RDFs
– RDF Schema.
Lớp Ontology : Ontology là cấu trúc dữ liệu biểu diễn ngữ nghĩa nâng cao.
Được phát triển trên nền tảng RDF có phát triển thêm những định nghĩa về từ vựng
ngữ nghĩa bổ sung những ràng buộc dữ liệu.
6
Unicode URI
XML+NS+XMLschema
RDF+schema
Ontology vocabulary
Logic
Proof
Trust
Tài liệu tự mô tả
Dữ liệu
Dữ liệu
Quy tắc
Lớp Logic : Việc biểu diễn các tài nguyên dưới dạng các bộ từ vựng
ontology có mục đích là để máy có thể lập luận được trong khi cơ sở lập luận chủ
yếu dựa vào logic. Chính vì vậy mà các ontology được ánh xạ sang logic để hỗ trợ
lập luận theo nguyên tắc logic.
Lớp Proof : Tầng này đưa ra các luật để suy luận. Cụ thể từ các thông tin đã
có ta có thể suy ra các thông tin mới. Ví dụ: A là cha của B, A là em trai C thì khi
đó ta có thông tin mới đó là C là bác của B. Cơ sở của các suy luận này dựa trên
FOL (First-Order-Logic). Và tầng này hiện nay các nhà nghiên cứu đang xây dựng
các ngôn ngữ luật cho nó như: SWRL, RuleML.
Lớp Trust : Để đảm bảo tính tin cậy của các ứng dụng trên Web ngữ nghĩa.
Mỗi ứng dụng trên Web ngữ nghĩa sẽ có một ngữ cảnh cụ thể, chính vì thế các
mệnh đề trên có thể nằm trong các ngữ cảnh khác nhau khi đó ngữ nghĩa tương ứng
khác nhau nên các mệnh đề đó vẫn đúng, đáng tin cậy trong ngữ cảnh của nó.
%&%&-./0123454678129',0:12;4<='>?'>@/
Trong phần này chúng ta sẽ tìm hiểu các thành phần khác nhau và cách thể
hiện các thành phần này bên trong một trang ngữ nghĩa.
1.1.3.1. Vai trò Lớp định danh tài nguyên-URI và Unicode
URI : URI đơn giản chỉ là một định danh Web giống như các chuỗi bắt đầu
bằng “http” hay “ftp” mà bạn thường xuyên thấy trên mạng. Bất kỳ ai cũng có thể
tạo một URI, và có quyền sở hữu chúng vì vậy chúng đã hình thành nên một công
nghệ nền tảng lý tưởng để xây dưng một hệ thống mạng toàn cầu thông qua đó.
Thật sự thì mạng chỉ là một nơi mà bất kỳ thứ nào có một URI thì cũng được
xem là ở trên mạng. Khi sử dụng URI, chúng ta có thể dùng cùng một cách đặt tên
đơn giản để đề cập đến các tài nguyên dưới các giao thức khác nhau : HTTP, FPT,
GOPHER, EMAIL …
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, như:
Nếu click vào nó, URL sẽ bảo máy tính nơi để tìm
thấy. Mặc dù thường được đề cập đến như URL, nhưng URI cũng được đề cập đến
như các khái niệm trong Web ngữ nghĩa để chỉ các resource.
Ví dụ, chúng ta có một quyển sách với tiêu đề “Machine Learning”, URI của
nó như sau : />7
UUID có thể được thiết lập bằng cách kết hợp thời gian và địa chỉ của
Ethernet card hay một con số ngẫu nhiên, sau đó nó được xác định là duy nhất.
mailto:: xác định địa chỉ mail của một người nào đó.
“Mọi thứ trên Web đều có thể có một URI duy nhất.”
URI là nền tảng của Web ngữ nghĩa.Trong khi mọi thành phần khác của Web
gần như có thể được thay thế nhưng URI thì không.URI liên hệ các thành phần của
Web lại với nhau. Để định danh các thành phần trên Web, chúng ta sử dụng bộ định
danh. Bởi vì chúng ta sử dụng một hệ thống đồng bộ về định danh và cũng bởi vì
mỗi thành phần được định danh được xem như là một tài nguyên, nên chúng ta gọi
những bộ định danh này là “Các Bộ Định Danh Tài Nguyên” hay URIs. Chúng ta
có thể gán URI cho bất cứ thứ gì, và bất cứ thứ gì có URI đều có thể biểu diễn trên
Web. Ví dụ: con người, quyển sách, con ruồi, những gì mà chúng ta có thể nghĩ
đến, tất cả đều có thể có URI.
Có thể nhận thấy rằng trong thể hiện này URI :
“http://logicerror/myWeaving TheWeb” đang thực hiện hai nhiệm vụ: nó biểu diễn
cả quyển sách vật lý cũng như trang Web nó mô tả. Đây là một lĩnh vực đang được
thảo luận, gọi là vấn đề trong định danh Web ngữ nghĩa và nó là tâm điểm thảo luận
cho người thực hiện Web ngữ nghĩa.
Unicode: là chuẩn biểu diển kí tự nhằm mục đích hỗ trợ đa ngôn ngữ. Giúp
các trang web ngữ nghĩa thể hiện được trên nhiều ngôn ngữ khác nhau.
1.1.3.2. Vai trò Lớp XML và XML Schema
Cho đến bây giờ, XML đã được biết đến rộng rãi trên toàn thế giới và đã
nhanh chóng là nền tảng cho sự phát triển phần mềm.
XML – (eXtensible Markup Language)là ngôn ngữ đánh dấu mở rộng, cho
phép người dùng có thể tùy ý thêm vào những thẻ theo yêu cầu của mình. Ngôn ngữ
XML được phát triển để cải thiện những điểm yếu của ngôn ngữ HTML về khả
năng mở rộng các đối tượng thẻ.
Một số đặc tính nổi trội của XML như:
- Được viết dưới dạng mark-up language.
- Các thẻ (tag) là do con người tự định nghĩa.
- Độc lập với tất cả các nền tảng (platform) và ngôn ngữ lập trình.
Ví dụ sau đây là nội dung của một file XML đơn giản:
8
<tuhanviet>
<word href=”tuhanviet.com”> nhân </word> có nghĩa là:
<sense> người </sense>
</tuhanviet>
Nội dung XML trên dùng để thể hiện nghĩa từ Hán Viêt “nhân” , ta dùng cặp thẻ
<tuhanviet> để chứa tất cả nội dung muốn thể hiện, nội dung của từ Hán Việt nằm
trong cặp thẻ <word> và nghĩa của từ được chứa trong thẻ <sense>.
XML Schema mô tả các thành phần, thuộc tính và việc sử dụng các thành
phần, thuộc tính này trong tài liệu. Tuy nhiên, tất cả các thuộc tính và thành phần
này không nói lên được ý nghĩa nội dung của tài liệu, tức máy không thể hiểu.
Tóm lại, XML được sử dụng trong web ngữ nghĩa với vai trò định nghĩa cú
pháp và cấu trúc của một tài liệu web ngữ nghĩa.
1.1.3.3. Vai trò Lớp RDF - RDF Schema
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.
Chẳng hạn như, sách là một loại tài nguyên trên Web
( khi đó các thông tin mô tả cho tài nguyên
này: tên tác giả, tên tựa sách, ngày xuất bản,… chính là siêu dữ liệu.
RDF (Resource Description Framework) là nền tảng của Web ngữ nghĩa và
xử lý metadata, được định nghĩa bởi tổ chức W3C. 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.
Cấu trúc căn bản của một RDF statement gồm 3 thành phần:
• Chủ thể (Subject) - là cái mà chúng ta đề cập, thường được
nhận diện bởi một URI.
• Thuộc tính của chủ thể (Predicate), 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.
9
Chủ thể
Thực thể
Thuộc tính
• Giá trị của thuộc tính (Object) 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.
Ví dụ :RDF mô tả của thông tin địa chỉ của một người.
Hãy xem một khai báo RDF đơn giản :
< />< />< />URI thứ nhất là subject. Trong thể hiện này subject là “me”. URI thứ 2 là
predicate. Nó liên kết subject và object. Trong thể hiện này predicate là
“reallyLikes”. URI thứ 3 là object. Ở đây object là “Tim Berners-Lee’s book
‘Weaving the Web’”. Vì vậy khai báo RDF trên nói rằng “I really like ‘Weaving the
Web’”.
Ví dụ trên được viết dưới dạng RDF như sau:
<rdf:RDF
xmlns:rdf="
xmlns:love=" /><rdf:Description rdf:about=" /><love:reallyLikes
rdf:resource=" />Lee/Weaving/" />
</rdf:Description>
</rdf:RDF>
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 nguyên. Đó 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
(các lớp trong RDF schema) và thuộc tính (thuộc tính trong RDF schema) 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. Tương tự XML schema, RDF schema là một tập
những từ khoá mà qua đó RDF schema cho phép người dùng định nghĩa bộ từ vựng
(resource, property) cụ thể cho dữ liệu RDF (ví dụ như: hasName, hasPrice,
10
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”)
%&%&A9BC
1.1.4.1. Định nghĩa ontology
Định nghĩa : 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. [3]
Đây cũng là một hướng tiếp cận để xây dựng Web ngữ nghĩa. Tổ chức W3C
cũng đã đề ra một ngôn ngữ ontology trên Web (OWL: Web Ontoloty Language) để
xây dựng Sematic Web dựa trên nền tảng của ontology.
Một Ontology định nghĩa một bộ từ vựng mang tính phổ biến & thông
thườ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 niệm căn 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 giữa con người và
các software agent.
- Để cho phép tái sử dụng lĩnh vực tri thứ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 ).
1.1.4.2. Vai trò của ontology
Chia sẻ những hiểu biết chung về các khái niệm, cấu trúc thông tin giữa con
người hoặc giữa các hệ thống phần mềm: đây là vai trò quan trọng nhất của một
ontology. Ta có thể hình dung ontology như một cuốn từ điển chuyên ngành,
cung cấp và giải thích các thuật ngữ cho người không có chuyên môn yêu cầu.
Cho phép tái sử dụng tri thức: đây là vấn đề khó và là mục tiêu nghiên cứu
quan trọng trong những năm gần đây. Nó là bài toán trộn hai hay nhiều ontology
nhỏ thành một ontology lớn và đầy đủ hơn.
11
Cho phép tri thức độc lập với ngôn ngữ: đây cũng là vấn đề liên quan đến tái
sử dụng tri thức, nhưng ở vai trò này, bài toán đặt ra là làm thế nào để một hệ
thống ontology có thể được sử dụng bởi các ngôn ngữ của các quốc gia khác nhau
mà không cần xây dựng lại.
Cho phép tri thức trở nên nhất quán và tường minh: trong một hay nhiều lĩnh
vực cụ thể, có thể có các khái niệm khác nhau nhưng có cùng tên, điều này sẽ gây
nhập nhằng về ngữ nghĩa. Tuy nhiên, trong hệ thống ontology thì mỗi khái niệm
phải là duy nhất.
Cung cấp một phương tiện cho công việc mô hình hóa: bản thân ontology là
một tập các khái niệm phân cấp được liên kết với nhau bởi các quan hệ. Cơ bản
mỗi khái niệm có thể xem như là một lớp, mà đối tượng của lớp đó cùng các quan
hệ đã góp phần tạo nên cấu trúc của bài toán.
Cung cấp một phương tiện cho việc suy luận: hiện nay một số ngôn ngữ
ontology đã tích hợp lớp ontology suy luận (Ontology Inference Layer) bên trong
cho mục đích suy luận logic trên tập quan hệ giữa các đối tượng trong hệ thống.
1.1.4.3. Các ứng dụng của ontology
Ontology được ứng dụng vào nhiều lĩnh vực như: tích hợp thông tin thông
minh, các hệ thống thông tin cộng tác, phục hồi thông tin, thương mại điện tử,
quản trị tri thức, xử lý ngôn ngữ tự nhiên, E-learning, web portals search engines,
các ứng dụng Metadata-driven, rút trích thông tin, Data Text Web Mining,
Information brokering.
d. Các công cụ hỗ trợ xây dựng ontology
Để giảm bớt các khó khăn trong quá trình xây dựng và quản trị các ontology
có kích thước lớn và cấu trúc phức tạp, các công cụ hỗ trợ đã ra đời và trở thành
một thành phần không thể thiếu, quyết định đến chất lượng của một hệ thống
ontology. Hiện nay, có rất nhiều công cụ hỗ trợ, ta có thể kể một số như:
• Protégé: http:protégé.stanford.edu là bộ phần mềm mã nguồn mở Java nổi
tiếng, được nghiên cứu và phát triển từ năm 1998 bởi nhóm nghiên cứu của
Mark Musen, ĐH. Stanford nhằm quản lý các thông tin trong lĩnh vực y học.
Hiện nay phiên bản mới nhất của Protégé là bản Protégé 4.2 Beta.
12
• Chimaera: www.ksl.stanford.edusoftwarechimaera cũng là một ứng dụng
khác được phát triển bởi ĐH. Stanford, với mục đích ban đầu là nhằm giải
quyết 2 vấn đề: trộn các ontology và chẩn đoán lỗi, phân tích tính nhất quán
giữa các ontology phân tán.
• Neon Toolkit: http:neon-toolkit.org là một trình soan thảo ontology với
nhiều pluggin có sẵn. Nó đặc biệt thích hợp cho các dự án lớn (multi-
modular ontologies, multi-lingual, ontology integration,…)
%&%&D4EF)*
1.1.5.1. XML
XML là ngôn ngữ xây dựng cấu trúc tài liệu văn bản dựa theo chuẩn của
SGML (Standard Generalized Markup Language – được phát triển cho việc định
cấu trúc và nội dung tài liệu).
XML được W3C (World Wide Web Consortium) chính thức thông qua vào
tháng 2 năm 1998. Thực chất, XML phát triển không phải với mục đích hiển thị
trang web mà là trợ giúp cấu trúc cho tài liệu và dữ liệu để chúng có thể trao đổi
giữa các ứng dụng hoặc các tổ chức. XML không thay thế được cho HTML.
HTML và XML được thiết kế cho hai mục đích khác nhau:
• HTML được thiết kế để hiển thị và trình bày thông tin.
• XML được thiết kế để lưu trữ và vận chuyển thông tin.
File XML được định nghĩa dựa vào các thẻ (tags) do người sử dụng đặt theo
cấu trúc phân cấp. Tags và cấu trúc XML được định nghĩa theo DTD (Document
Type Definition) hoặc XML Schema.
Trong các ứng dụng mạng, XML định nghĩa các format dữ liệu để trao đổi
như sau:
• Cấu trúc file XML với DTD hay XML Schema quy định về protocol giao
tiếp.
• Dữ liệu được biểu diễn theo các tag.
• Là môi trường để các hệ thống không đồng nhất có thể giao tiếp với
nhau.
• Hệ thống cho phép mở rộng nhiều đối tượng tham gia, mở rộng giao dịch
mà không ảnh hưởng đến các giao dịch cũ.
• Có thể truyền qua giao thức HTTP.
13