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 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.
Trang 1BỘ 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
Trang 2BỘ 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
1
Trang 3Đà Nẵng 2014
Trang 4LỜ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ạicho 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, Khoasau đạ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ớpKhoa 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ôitrong 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
Trang 5LỜ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ĩ ‘‘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’’ 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ũ
Trang 6MỤ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 ix
DANH MỤC CÁC HÌNH x
MỞ ĐẦU 1
CHƯƠNG 1 :TỔNG QUAN VỀ SEMANTIC WEB 3 1.1 LÝ THUYẾT VỀ SEMANTIC WEB 3
1.1.1 Giới thiệu semantic web 3
1.1.1.1 Semantic web là gì? 3
1.1.1.2 Một ví dụ đơn giản về semantic web 3
1.1.1.3 Sự khác nhau giữa semantic web và web hiện tại 4
1.1.1.4 Lợi ích của semantic web 5
1.1.2 Kiến trúc semantic web 6
1.1.3 VAI TRÒ CÁC LỚP TRONG KIẾN TRÚC WEB NGHỮ NGHĨA 7
1.1.3.1 Vai trò Lớp định danh tài nguyên-URI và Unicode 7
1.1.3.2 Vai trò Lớp XML và XML Schema 8
1.1.3.3 Vai trò Lớp RDF - RDF Schema 9
1.1.4 Ontology 11
1.1.4.1 Định nghĩa ontology 11
1.1.4.2 Vai trò của ontology 12
1.1.4.3 Các ứng dụng của ontology 12
1.1.5 Các ngôn ngữ semantic web 13
1.1.5.1 XML 13
1.1.5.2 RDF 14
1.1.5.3 RDFS 16
1.2 LÝ THUYẾT VỀ SEARCH ENGINE 17
iii
Trang 71.2.1 Các bộ phận cấu thành hệ thống search engine 17
1.2.1.1 Robot – Bộ thu thập thông tin 17
1.2.1.2 Index – Bộ lập chỉ mục 18
1.2.2 Search engine – Bộ tìm kiếm thông tin 18
1.2.2.1 Search engine – Bộ tìm kiếm thông tin 18
1.2.2.2.Nguyên lý hoạt động 19
1.3 LÝ THUYẾT VỀ TRA CỨU HỆ HỎI-ĐÁP 19
1.3.1 Lịch sử phát triển 19
1.3.2 Khái niệm hệ thống hỏi-đáp 20
1.3.3 Kiến trúc hệ thống hỏi-đáp 21
1.3.3.1 User Interface - Giao diện người dùng 22
1.3.3.2 Question Analyzer – Phân tích câu hỏi 22
1.3.3.3 Data Retrieval – Tìm kiếm dữ liệu 23
1.3.3.4 Answer Extraction – Rút trích câu trả lời 24
1.3.3.5 Ranking – Chiến lược xếp hạng 24
1.3.3.6 Answer Verification – Xác minh câu trả lời 24
1.3.4 Hệ thống hỏi-đáp tiếng Việt 24
1.4 TÌM HIỂU VỀ CÁC LOẠI VĂN BẢN 25
1.4.1 Những yếu tố chính của một văn bản trong ngành giáo dục 25
1.4.1.1 Các lĩnh vực của văn bản trong ngành giáo dục 25
1.4.1.2 Các loại văn bản quản lý hành chính 26
1.4.1.3 Cơ quan, đơn vị 26
1.4.1.4 Thời gian 26
1.4.1.5 Cá nhân liên quan 26
1.4.1.6 Nội dung văn bản 27
1.4.2 Nhận xét 27
1.5 KẾT LUẬN CHƯƠNG 1 27
CHƯƠNG 2: GIẢI PHÁP XÂY DỰNG HỆ THỐNG TÌM KIẾM VĂN BẢN 28
2.1 CÁC HỆ THỐNG TÌM KIẾM VĂN BẢN TRONG NGÀNH GIÁO DỤC .28
Trang 82.1.1 Giới thiệu chung 28
2.1.2 Phân loại 28
2.1.3 Các hệ thống phục vụ cho ngành giáo dục trên thế giới 29
2.1.3.1 Cổng thông tin Teachingwithdata.org 29
2.1.3.2 Thư viện online của trường đại học British Columbia 29
2.1.3.3 Website của chương trình đào tạo và tài trợ để thúc đấy sự phát triển trong nông nghiệp SARE 30
2.1.3.4 Website tìm kiếm theo ngữ nghĩa nổi tiếng Wolframalpha 30
2.1.4 Nhận xét chung về các hệ thống phục vụ cho ngành giáo dục trên thế giới 30
2.1.5 Các website và hệ thống phục vụ cho ngành giáo dục trong nước 30
2.1.5.1 Hệ thống tìm kiếm Wada.vn 31
2.1.5.2 Cổng thông tin tuyển sinh thidaihoc.org 31
2.1.5.3 Website của bộ giáo dục đào tạo Việt Nam 31
2.1.5.4 Các trường đại học lớn trên cả nước 31
2.1.6 Nhận xét về các website, hệ thống phục vụ cho ngành giáo dục trong nước 32
2.1.7 Giới thiệu các công trình nghiên cứu semantic web trong nước 32
2.1.7.1 Ontology xử lý ngôn ngữ tiếng Việt 32
2.1.7.2 Ontology khoa học công nghệ 33
2.1.7.3 Ứng dụng web ngữ nghĩa xây dựng hệ thống trợ giúp học tập cho học sinh bậc học phổ thông 33
2.1.8 Nhận xét chung về các công trình nghiên cứu semantic web trong nước 34
2.2 Ý TƯỞNG VỀ HỆ THỐNG TÌM KIẾM VĂN BẢN 34
2.3 CÁC NGÔN NGỮ XÂY DỰNG CÁC ONTOLOGY HỖ TRỢ TÌM KIẾM VĂN BẢN 34
2.3.1 RDF (Resource Description Framework) 34
2.3.1.1 Tổng quan RDF 34
2.3.1.2 Chia sẻ dữ liệu RDF 35
2.3.2 RDFS (RDF-Schema) 36
v
Trang 92.3.2.1 Các lớp và thuộc tính trong RDF/RDFS 37
2.3.2.2 Ví dụ xây dựng Ontology với RDFS 38
2.3.3 OWL (Ontology Web Language) 39
2.3.4 DAML + OIL (DARPA Agent Markup Lanquage + Ontology Infer-ence Layer) 41
2.4 BIỂU ĐỒ CA SỬ DỤNG 42
2.5 ĐẶC TẢ CA SỬ DỤNG 42
2.5.1 Login 42
2.5.2 Logout 43
2.5.3 Import thông tin từ website 43
2.5.4 Import thông tin bằng tay 43
2.5.5 Xem thông tin 44
2.5.6 Cập nhật thông tin 44
2.5.7 Xóa thông tin 45
2.5.8 Tìm kiếm thông tin 45
2.6 PHƯƠNG PHÁP THU THẬP, TRÍCH RÚT THUỘC TÍNH TỰ ĐỘNG.46 2.7 CÔNG CỤ, MÔI TRƯỜNG, THƯ VIỆN VÀ NGÔN NGỮ 48
2.7.1 Công cụ xây dựng ontology - Protégé 48
2.7.1.1 Đặc điểm của Protégé 48
2.7.1.2 Protégé sử dụng giao diện đồ họa 49
2.7.1.3 Protégé phát triển để tích hợp các công cụ 49
2.7.2 Thư viện SemWeb 49
2.7.2.1 Giấy phép 49
2.7.2.2 Đặc điểm của SemWeb 50
2.7.3 Giao diện lập trình ứng dụng OwlDotNetApi 51
2.7.3.1 Phiên bản 51
2.7.3.2 Chức năng 52
2.7.4 Hệ truy vấn SPARQL 52
2.7.4.1 Cú pháp của câu truy vấn: 52
2.7.4.2 Tạo một câu truy vấn đơn giản 53
Trang 102.7.5 Môi trường và thư viện phát triển ứng ụng cho semantic web 55
2.8 ĐẶC TẢ HỆ THỐNG TÌM KIẾM VĂN BẢN HÀNH CHÍNH 55
2.8.1 Dự kiến chức năng của hệ thống 55
2.8.2 Mô tả hệ thống 55
2.8.2.1 Giao diện truy vấn 55
2.8.2.2 Phần kiến trúc bên trong 56
2.8.2.3 Cơ sở dữ liệu 56
2.9 KẾT LUẬN CHƯƠNG 2 57
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG VÀ TRIỄN KHAI ỨNG DỤNG 58
3.1 PHÂN TÍCH HỆ THỐNG TÌM KIẾM VĂN BẢN HÀNH CHÍNH 58
3.1.1 Các giai đoạn xây dựng hệ thống 58
Hình 3.1 Sơ đồ tổng quan hệ thống 58
3.1.1.1 Giai đoạn 1: Thiết kế ontology 58
3.1.1.2 Giai đoạn 2: Xây dựng ứng dụng 59
3.1.2 Phân tích chức năng tìm kiếm của hệ thống 59
3.1.2.1 Duyệt theo ngữ nghĩa 59
3.1.2.2 Tìm kiếm theo từ khóa 60
3.1.2.3 Tìm kiếm nâng cao 60
3.2 CÁC QUYỀN CỦA HỆ THỐNG TÌM KIẾM VĂN BẢN TRONG NGÀNH GIÁO DỤC 60
3.3 THIẾT KẾ HỆ THỐNG TÌM KIẾM VĂN BẢN TRONG NGÀNH GIÁO DỤC 61
3.3.1 Biểu đồ Login 61
3.3.2 Biểu đồ Logout 61
3.3.3 Biểu đồ Import thông tin từ website 62
3.3.4 Biểu đồ Import thông tin thủ công bằng tay 62
3.3.5 Biểu đồ Xem thông tin 63
3.3.6 Biểu đồ Sửa thông tin 63
3.3.7 Biểu đồ Xóa thông tin 64
vii
Trang 113.3.8 Biểu đồ Tìm kiếm thông tin 64
3.4 THIẾT KẾ ONTOLOGY 64
3.6.1 Các bước xây dựng ontology 64
3.6.2 Thiết kế mô hình dữ liệu ontology 68
3.5 CHƯƠNG TRÌNH THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 74
3.5.1 Trang chủ hệ thống 74
3.5.2 Màn hình hiển thị tất cả kết quả tìm kiếm 74
3.5.3 Màn hình hiển thị văn bản chính xác 75
3.5.4 Màn hình hiển thị thông tin tác giả 76
3.5.6 Đánh giá chương trình thử nghiệm 76
1 Kết quả đạt được của luận văn 77
2 Hạn chế của hệ thống 77
3 Hướng phát triển của luận văn 77
TÀI LIỆU THAM KHẢO 79
Tiếng Việt 79
Tiếng Anh 79
Internet 79
Trang 12DANH MỤC CÁC TỪ VIẾT TẮT
Thuật ngữ
viết tắt Mô tả ý nghĩa
DARPA Defense Advanced Research Projects Agency
HTTP Hypertext Transfer Protocol
NLP Natural Language Processing
OIL Ontology Inference Layer
RDF Resource Description Framework
RDFS Resource Description Framework Schema
SGML Standard Generalized Markup Language
SOAP Simple Object Access Protocol
URI Uniform Resource Identifier
XML Extensible Markup Language
XMLS Extensible Markup Language Schema
DANH MỤC CÁC HÌNH
1.2 Mô hình xử lý tổng quát của hệ thống lập chỉ mục 25
2.2 Mô hình tổng quan phương pháp trích rút tự động 54
ix
Trang 132.4 Mô Hình quan hệ giữa các nút và các cạnh 592.5 Mô hình đề xuất cho hệ thống tìm kiếm văn bản hành
Trang 14MỞ ĐẦ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ácquản lý cũng đóng vai trò không kém phần quan trọng trong việc nâng cao chấtlượ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ấtlượ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 saochứ 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ảnhành chính chưa đáp ứng được nhu cầu tìm kiếm một cách chính xác và nhanhchó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ínhsá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, semanticweb 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.
Trang 154 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ụngsemantic 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
Trang 161.1 LÝ THUYẾT VỀ SEMANTIC WEB
1.1.1 Giới thiệu 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ácclick chuột để truy cập các hình ảnh, di chuyển giữa các trang web thay cho cácdò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 internettrở nên khó khăn hơn Vấn đề đặt ra là làm sao có thể khai thác thông tin trêninternet 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ếptheo 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 chomá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ộttậ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âykhó 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ớicá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 :
Trang 17Ví 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
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
- 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
Trang 18- 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ịpthời nhờ có những công cụ tự động cậpnhậ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 chongười đọc mà không dành cho máy tính hiểu Semantic web sẽ định nghĩa các kháiniệ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ìmkiế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ủavă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ênngữ cảnh chứa nó Ý tưởng chính yếu là toàn bộ ngữ cảnh mà người sử dụng đượcbiế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ìmkiế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ềunguồ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ônggian 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ơndự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)
Trang 19Semantic 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ôngtin về người này ở những ngữ cảnh khác nhau ví dụ như vài trò của anh ta ra saokhi anh ta là tác giả, nhà quản lý, nhà phát triển.
1.1.2 Kiến trúc semantic web
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 Haiquy đị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 saunà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
XML+NS+XMLschema
RDF+schemaOntology vocabulary
LogicProofTrust
Tài liệu tự mô tả
Dữ liệu
Dữ liệu
Quy tắc
Trang 20Lớ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ênFOL (First-Order-Logic) Và tầng này hiện nay các nhà nghiên cứu đang xây dựngcá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ácmệnh đề trên có thể nằm trong các ngữ cảnh khác nhau khi đó ngữ nghĩa tương ứngkhác nhau nên các mệnh đề đó vẫn đúng, đáng tin cậy trong ngữ cảnh của nó
1.1.3 VAI TRÒ CÁC LỚP TRONG KIẾN TRÚC WEB NGHỮ NGHĨA
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ôngnghệ 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 đượcxem 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ư:http://www.w3.org/Addressing/ Nếu click vào nó, URL sẽ bảo máy tính nơi để tìmthấy Mặc dù thường được đề cập đến như URL, nhưng URI cũng được đề cập đếnnhư 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 : http://www.cs.bris.ac.uk/home/pw2538/book/title#machinelearning
Trang 21UUID có thể được thiết lập bằng cách kết hợp thời gian và địa chỉ củaEthernet card hay một con số ngẫu nhiên, sau đó nó được xác định là duy nhất.mailto:pw123@bristol.ac.uk: 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 Webgần như có thể được thay thế nhưng URI thì không.URI liên hệ các thành phần củaWeb lại với nhau Để định danh các thành phần trên Web, chúng ta sử dụng bộ địnhdanh 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ọinhữ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ênWeb 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/myWeavingTheWeb” đ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 Webngữ 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
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:
Trang 22<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ằmtrong 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ànhphầ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ầnnà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ảiphá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(http://www.amazon.com/CSharp.htm), khi đó các thông tin mô tả cho tài nguyênnà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 tingiữ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 đượcnhậ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
Chủ thể Thuộc tính Thực thể
Trang 23 Giá trị của thuộc tính (Object) ví dụ: một người có tên EricMiller 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 :
“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 theWeb’”
Ví dụ trên được viết dưới dạng RDF như sau:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:love="http://love.example.org/terms/">
<rdf:Description rdf:about="http://aaronsw.com/">
<love:reallyLikes rdf:resource="http://www.w3.org/People/Berners-Lee/Weaving /" />
và giữa tài nguyên với thuộc tính Tương tự XML schema, RDF schema là một tậpnhữ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,
Trang 24authorOf, …) và định nghĩa các quan hệ của nó đến các đối tượng liên quan Chẳnghạn như từ hasName ta định nghĩa quan hệ của nó trên hai đối tượng:
‘http://www.w3c.org/employee/id1321’ và “Jim Lerners” như sau:
hasName (‘http://www.w3c.org/employee/id1321’,“Jim Lerners”)
1.1.4 Ontology
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 W3Ccũ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ôngthườ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ốiliê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 thaotá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, cungcấ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 ontologynhỏ thành một ontology lớn và đầy đủ hơn
Trang 25Cho 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âynhập nhằng về ngữ nghĩa Tuy nhiên, trong hệ thống ontology thì mỗi khái niệmphả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ảnmỗ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 trongcho 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ôngminh, 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ànhmột thành phần không thể thiếu, quyết định đến chất lượng của một hệ thốngontology 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ủaMark 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
Trang 26 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ảiquyế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ángiữ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 modular ontologies, multi-lingual, ontology integration,…)
(multi-1.1.5 Các ngôn ngữ semantic web
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ủaSGML (Standard Generalized Markup Language – được phát triển cho việc địnhcấ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àothá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 đổigiữ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 theocấu trúc phân cấp Tags và cấu trúc XML được định nghĩa theo DTD (DocumentType 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 giaotiế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
Các công nghệ dựa trên XML được sử dụng hiện nay:
Trang 27 Simple Object Access Protocol (SOAP): các dữ liệu XML được truyềnqua giao thức HTTP như một đối tượng.
Web services: chuẩn XML được hỗ trợ để truyền giữa các ứng dụng web
để trao đổi dữ liệu
Microsoft NET Framework
1.1.5.2 RDF
RDF (Resource Description Framework) hay khung mô tả tài nguyên, là nềntảng cho việc biểu diễn dữ liệu trong lĩnh vực semantic web Thông tin biểu diễntheo mô hình RDF là một phát biểu (statement) ở dạng cấu trúc bộ ba (triple) vì
nó gồm ba thành phần cơ bản là (subject, predicate, object) Trong đó:
Subject chỉ đối tượng đang được mô tả đóng vai trò là chủ thể
Predicate (còn được gọi là property) là kiểu thuộc tính hay quan hệ
Object là giá trị thuộc tính hay đối tượng của chủ thể đã nêu Object có thể làmột giá trị nguyên thủy (literal) như số nguyên, chuỗi,… hoặc cũng có thể làmột tài nguyên
Object có thể là tài nguyên hoặc giá trị nguyên thủy, nhưng subject vàpredicate thì bắt buộc phải là các tài nguyên
Ví dụ minh họa cho một triple:
Trang 28Ta có thể trực quan hóa RDF bằng đồ thị, đây là một cách rất sinh động đểbiểu diễn thông tin RDF Một đồ thị biểu diễn RDF bao gồm các nút (đỉnh) và cáccung Mỗi nút có thể là một tài nguyên (resource) hoặc giá trị nguyên thủy(literal), các cung tượng trưng cho một predicate
Khi biểu diễn thông tin RDF bằng đồ thị, ta vẽ hình oval cho mỗi tài nguyên,mũi tên cho mỗi thuộc tính và hình chữ nhật cho giá trị literal
Các ứng dụng của RDF phổ biến như: Trình duyệt Mozilla, RSS (Rich SiteSummary), Hệ thống thư mục Dublin Core, Haystack: Quản lí thông tin cá nhân
1.1.5.3 RDFS
XML không giải thích trước về dữ liệu, vì vậy nó không đóng góp nhiều vềkhía cạnh ngữ nghĩa (semantic) của semantic web RDF cung cấp một mô hìnhchuẩn để mô tả các dữ liệu về tài nguyên web RDFS hay RDF-Schema được pháttriển ở tầng trên của RDF nên bản thân RDFS cũng chính là RDF và được mở
Anh Vũnam
lucky1111@gmail.com
Trang 29rộng, bổ sung thêm các tập từ vựng để hỗ trợ cho việc xây dựng các ontologyđược dễ dàng.
RDF chỉ giúp cho thông tin được thể hiện theo đúng mô hình ở dạng bộ ba chứchưa thể hiện về mặt ngữ nghĩa, vì vậy cần xây dựng RDFS để hình thành ngữnghĩa cho thông tin, là cơ sở để xây dựng các công cụ tìm kiếm ngữ nghĩa
Mô hình cơ bản ban đầu trong RDFS là các định nghĩa lớp và lớp con (class &subclass), thuộc tính và thuộc tính con (property & subproperty), domain và rangecủa các statement để giới hạn các kết hợp có thể có giữa các lớp và thuộc tính, vàcác kiểu trình bày (để khai báo một tài nguyên như một thực thể của một lớp cụthể) Ta có thể xây dựng một lược đồ (schema) cho một miền giá trị cụ thể
1.1.5.4 DAML + OIL
DAML + OIL (gọi tắt là DAML) là ngôn ngữ đánh dấu ngữ nghĩa cho tàinguyên trên web, có hỗ trợ suy luận, được xây dựng dựa trên các chuẩn của W3Cnhư RDF, RDF Schema, và mở rộng những ngôn ngữ này với các mô hìnhnguyên thủy phong phú hơn DAML + OIL là kết quả từ hai dự án nghiên cứuđộc lập với nhau là DAML (DARPA Agent Markup Language) và OIL (OntologyInference Layer) nhằm khắc phục những hạn chế về kiểu dữ liệu trong các ngônngữ ontology trước đó là RDF, RDFS
Một số điểm đáng chú ý của ngôn ngữ này là:
- Cho phép giới hạn các kiểu dữ liệu được định nghĩa trong XML Schema haybởi người dùng Trong DAML, một thuộc tính có thể nhận giá trị trên nhiều khoảngkhác nhau, tạo nên tính uyển chuyển trong việc mô tả dữ liệu
- Cho phép định nghĩa thuộc tính unique để xác định các đối tượng
- Cho phép mô tả các quan hệ như hoán đổi và bắc cầu
Trang 301.2 LÝ THUYẾT VỀ SEARCH ENGINE
1.2.1 Các bộ phận cấu thành hệ thống search engine
1.2.1.1 Robot – Bộ thu thập thông tin
Robot là một chương trình tự động duyệt qua các cấu trúc siêu liên kết, sử dụng các chiến thuật: tìm kiếm theo chiều sâu, tìm kiếm theo chiều rộng và tìm kiếm ngẫu nhiên để thu thập tài liệu.[14]
Robot được biết đến dưới nhiều tên gọi khác nhau : spider, web wanderer hoặc web worm,… Những tên gọi này đôi khi gây nhầm lẫn, như từ ‘spider’,
‘wanderer’ làm người ta nghĩ rằng robot tự nó di chuyển và từ ‘worm’ làm người
ta liên tưởng đến virus " Về bản chất robot chỉ là một chương trình duyệt và thu thập thông tin từ các site theo đúng giao thức web " Những trình duyệt thông thường không được xem là robot do thiếu tính chủ động, chúng chỉ duyệt web khi
có sự tác động của con người.
Robot thường được sử dụng cho những mục đích sau:
Phân tích thống kê: đếm số lượng web server, số tài liệu trung bình của một
server, tỉ lệ các dạng file khác nhau, kích thước trung bình của một trangweb,…
Duy trì siêu liên kết: phát hiện các liên kết hỏng và duy trì các cấu trúc siêu
liên kết cùng nội dung của một trang web
Ánh xạ địa chỉ web: một ánh xạ (mirror) sẽ sao chép toàn bộ cấu trúc cây thư
mục và thường xuyên cập nhật những file bị thay đổi
Phát hiện tài nguyên: giúp thu thập tài liệu, tạo và duy trì cơ sở dữ liệu, phát
hiện và xóa bỏ các liên kết hỏng nếu có, kết hợp với công cụ tìm kiếm cungcấp thông tin cần thiết cho con người
Kết hợp các chức năng trên trong quá trình hoạt động.
1.2.1.2 Index – Bộ lập chỉ mục
Hệ thống lập chỉ mục hay còn gọi là hệ thống phân tích và xử lý dữ liệu,thực hiện việc phân tích, trích chọn những thông tin cần thiết (thường là các từđơn, từ ghép, cụm từ quan trọng) từ những dữ liệu mà robot thu thập được và tổchức thành cơ sở dữ liệu riêng để có thể tìm kiếm trên đó một cách nhanh chóng,
Trang 31hiệu quả Hệ thống chỉ mục là danh sách các từ khoá, chỉ rõ các từ khoá nào xuấthiện ở trang nào, địa chỉ nào [14]
Mô hình xử lý tổng quát của một hệ thống lập chỉ mục [1, tr 19] như hìnhsau:
Hình 1.2 Mô hình xử lý tổng quát của một hệ thống lập chỉ mục
1.2.2 Search engine – Bộ tìm kiếm thông tin
1.2.2.1 Search engine – Bộ tìm kiếm thông tin
Search engine là cụm từ dùng chỉ toàn bộ hệ thống bao gồm bộ thu thậpthông tin, bộ lập chỉ mục & bộ tìm kiếm thông tin Các bộ này hoạt động liên tục
từ lúc khởi động hệ thống, chúng phụ thuộc lẫn nhau về mặt dữ liệu nhưng độclập với nhau về mặt hoạt động [4]
Search engine tương tác với user thông qua giao diện web, có nhiệm vụ tiếpnhận & trả về những tài liệu thoả yêu cầu của user Nói nôm na, tìm kiếm từ làtìm kiếm các trang mà những từ trong câu truy vấn (query) xuất hiện nhiều nhất,ngoại trừ stopword (các từ quá thông dụng như mạo từ a, an, the,…) Một từ càng
Trang 32xuất hiện nhiều trong một trang thì trang đó càng được chọn để trả về cho ngườidùng Và một trang chứa tất cả các từ trong câu truy vấn thì tốt hơn là một trangkhông chứa một hoặc một số từ
Ngoài chiến lược tìm chính xác theo từ khoá, các search engine còn cố gắng
“hiểu” ý nghĩa thực sự của câu hỏi thông qua những câu chữ do người dùng cungcấp Điều này được thể hiện qua chức năng sửa lỗi chính tả, tìm cả những hìnhthức biến đổi khác nhau của một từ Ví dụ: search engine sẽ tìm những từ nhưspeaker, speaking, spoke khi người dùng nhập vào từ speak
1.2.2.2.Nguyên lý hoạt động
Search engine điều khiển robot đi thu thập thông tin trên mạng thông qua cácsiêu liên kết (hyperlink) Khi robot phát hiện ra một website mới, nó gởi tài liệu(web page) về cho server chính để tạo cơ sở dữ liệu chỉ mục phục vụ cho nhu cầutìm kiếm thông tin
Bởi vì thông tin trên mạng luôn thay đổi nên robot phải liên tục cập nhật cácwebsite cũ Mật độ cập nhật phụ thuộc vào từng hệ thống search engine Khisearch engine nhận câu truy vấn từ user, nó sẽ tiến hành phân tích, tìm trong cơ sở
dữ liệu chỉ mục và trả về những tài liệu thoả yêu cầu
1.3 LÝ THUYẾT VỀ TRA CỨU HỆ HỎI-ĐÁP
1.3.1 Lịch sử phát triển
Những hệ thống hỏi-đáp tự động (Question Answering-QA) đầu tiên đã được
ra đời từ những năm 1960 Ví dụ như Baseball, được phát triển năm 1961 donhóm tác giả Green, Chomsky và Laughery Hệ thống này được thiết kế để cungcấp các thông tin về các số liệu thống kê của liên đoàn bóng chày Mỹ [5]
Một hệ thống khác tương tự như Baseball đã được phát triển bởi Woods(1973) và được đặt tên là Lunar Lunar có thể trả lời các câu hỏi liên quan đến cácmẫu đá trở về từ tàu thăm dò mặt trăng Apollo
Hệ thống Team được phát triển bởi Grosz (1983) đã có những ưu thế hơn 2 hệthống trước Điểm tương đồng giữa cả ba hệ thống là tất cả đều sử dụng cơ sở dữliệu để lưu trữ cơ sở tri thức Việc thiết kế của cơ sở dữ liệu này và các dữ liệu cócấu trúc được xây dựng một cách thủ công bởi tất cả các chuyên gia trong các lĩnhvực tương ứng
Trang 33Xử lý ngôn ngữ tự nhiên trong quá trình thực hiện hệ hỏi-đáp tự động đã nhậnđược rất nhiều sự quan tâm trong những năm 1970 Một trong những hệ thốngnhư thế là Margie (Schank, Goldman, Riesbeck, & Rieger, 1975) Hệ thống này
đã có thể xử lý các tài liệu mà sau này có thể trả lời các câu hỏi cơ bản
Một hệ thống cải thiện hơn Margie là Boris đã ra đời năm 1983 bởi Lenhert,Dyer, Johnson, Yang, và Harley Boris và Margie là các hệ thống gần giống nhấtvới hệ thống hỏi-đáp lĩnh vực rộng (open-domain) hoạt động ngày nay
Hầu hết các hệ thống hỏi-đáp ngày càng trở nên phức tạp, thường sử dụng rấtnhiều các mô-đun khác nhau, chẳng hạn như tìm kiếm thông tin, phân tích cúpháp câu, phân tích loại câu hỏi, phân tích ngữ nghĩa, và thậm chí dùng phươngpháp suy luận (Moldovan et al., 2002) để đánh giá, và xếp hạng câu trả lời Với sựgia tăng tính phức tạp của hệ thống hỏi-đáp, sẽ rất khó khăn để xác định hiệu quảcủa hệ thống đến từ hiệu quả của giai đoạn nào
Hệ thống hỏi-đáp nhận được rất nhiều mối quan tâm của cộng đồng các nhànghiên cứu Hội thảo TREC (Text Retrieval and Evaluation Conference) vềlĩnh vực QA năm 1999 đã đóng góp một phần to lớn cho sự phát triển của lĩnhvực QA với 20 thành viên tham gia Sự kiện này đã thúc đẩy các nhà nghiên cứuchia sẻ kinh nghiệm và so sánh kết quả của họ sử dụng một độ đo chung
1.3.2 Khái niệm hệ thống hỏi-đáp
Hệ thống hỏi-đáp tự động (Question Answering-QA) là một hệ thống đượcxây dựng để thực hiện việc tìm kiếm câu trả lời cho một câu hỏi của người dùng.[2] Hệ thống hỏi-đáp tự động liên quan đến 3 lĩnh vực lớn là xử lý ngôn ngữ tựnhiên (Natural Language Processing-NLP), tìm kiếm thông tin (InformationRetrieval-IR) và rút trích thông tin (Information Extraction-IE)
Hình 1.3 Hệ thống hỏi-đáp [5]
Trang 34 Hệ thống hỏi-đáp lĩnh vực hẹp (Closed-domain Question Answering): hệ
thống này liên quan đến các câu hỏi trong một lĩnh vực cụ thể, chẳng hạnnhư lĩnh vực y học
Hệ thống hỏi-đáp lĩnh vực rộng (Open-domain Question Answering): hệ
thống này liên quan đến các câu hỏi gần như là về tất cả mọi thứ
1.3.3 Kiến trúc hệ thống hỏi-đáp
Hệ thống hỏi-đáp phát triển từ lĩnh vực tìm kiếm thông tin (InformationRetrieval) IR truyền thống thực hiện tìm kiếm thông tin dựa trên từ khóa của cáccâu truy vấn Trong quá trình tìm kiếm, các từ khóa sẽ được so khớp (matching)với một chỉ mục tài liệu tham khảo cho các tài liệu khác nhau Mô hình cơ bảncủa một hệ thống IR có kiến trúc như sau:
Hình 1.4 Mô hình cơ bản của một hệ thống IR
Các hệ thống IR thường không giúp được người sử dụng tìm ra chính xácthông tin mà người dùng cần, nó chỉ có thể tổng hợp các thông tin tồn tại trong hệthống và tìm các văn bản có liên quan đến yêu cầu của người sử dụng Tính năngnày là một bước tiến gần hơn để xây dựng một hệ thống hỏi-đáp
Kiến trúc chung của các hệ thống hỏi-đáp thường có dạng như sau:
Trang 35Hình 1.5 Kiến trúc chung của hệ hỏi đáp
1.3.3.1 User Interface - Giao diện người dùng
Hầu hết các hệ thống hỏi-đáp đã được triển khai thực hiện trong thời gian gầnđây cung cấp cho người dùng một giao diện web mà người dùng có thể nhập câuhỏi vào Các câu hỏi sau đó được gửi đi, hệ thống sẽ xử lý và trả về cho ngườidùng một câu trả lời dưới định dạng tương tự Giao diện người dùng là một phầnquan trọng của hệ thống hỏi-đáp nhưng không có nhiều nghiên cứu dành cho nó.Nhiều giao diện mô phỏng giao diện của một máy tìm kiếm Hệ thống khôngnhững chỉ đưa ra câu trả lời đúng mà còn đưa ra các câu trả lời khác gần đúng vớinội dung câu hỏi do người dùng nhập vào
1.3.3.2 Question Analyzer – Phân tích câu hỏi
Phân tích câu hỏi đóng vai trò quan trọng trong bất kỳ loại hình hệ thống đáp nào Trong giai đoạn này, câu hỏi được phân tích và xử lý để trích lọc càngnhiều thông tin càng tốt mà có thể được sử dụng sau này trong giai đoạn tìm kiếm
hỏi-dữ liệu Kết quả của bước này khác nhau tùy theo việc phân tích câu hỏi nông haysâu Ví dụ, việc phân tích có thể tách những từ vựng trong câu hỏi và sử dụng tất
cả mọi thứ hay là loại bỏ các hư từ (stopword) để nhằm phân tích cú pháp củacâu Hư từ trong tiếng Anh có thể là các từ như là is, he, which,… Trong các hệthống mở, thông thường một phần của câu hỏi sẽ thường được nhắc lại trong câutrả lời
Ví dụ:
Trang 36 Tháp Eiffel nằm ở đâu? (câu hỏi ban đầu)
Tháp Eiffel nằm (một phần của câu trả lời)
Tháp Eiffel nằm gần (một phần của câu trả lời)
Tháp Eiffel có thể được tìm thấy tại (một phần của câu trả lời)
Bằng cách đó một vài phần của câu trả lời có thể được sử dụng khi tìm kiếmthông qua các tập tài liệu Mở rộng câu hỏi là một cách khác làm tăng khả năngtìm thấy các tài liệu có chứa các câu trả lời Từ để hỏi cũng có thể được mở rộngvới nhiều cụm từ khác nhau bằng cách sử dụng từ đồng nghĩa.Các đặc trưng kháccủa câu hỏi cũng có thể được sử dụng đến, ví dụ như loại câu hỏi
1.3.3.3 Data Retrieval – Tìm kiếm dữ liệu
Một số thông tin đã được trích xuất trong giai đoạn phân tích câu hỏi sẽ được
sử dụng để tìm kiếm thông tin trong cơ sở tri thức Điều này có thể được thựchiện bằng nhiều phương pháp khác nhau Một hệ thống hỏi-đáp lĩnh vực rộng(open-domain) sẽ sử dụng một máy tìm kiếm (search engine) để tìm kiếm các tàiliệu được phân phối qua internet Một hệ thống lĩnh vực hẹp (closed-domain) cóthể tìm kiếm trong các nguồn dữ liệu không có cấu trúc, bán cấu trúc, hoặc có cấutrúc ví dụ như một cơ sở dữ liệu Trong phần này, thông tin được tiền xử lý nhiềulần để tăng hiệu quả của hệ thống Tìm kiếm dữ liệu trong một hệ thống hỏi-đáptương tự với giai đoạn tìm kiếm dữ liệu trong hệ thống IR, sử dụng các phươngpháp tìm kiếm như là phương pháp tìm kiếm từ khóa dạng boolean hoặc phươngpháp đánh trọng số từ khóa Trong giai đoạn tìm kiếm dữ liệu của hệ thống hỏi-đáp, điều quan trọng là lấy càng nhiều thông tin có liên quan đến câu hỏi càng tốt.Chất lượng của việc tìm kiếm tài liệu sẽ ít quan trọng hơn bởi vì kết quả sẽ khôngcần thiết phải được hiển thị ra giao diện cho người dùng Điều quan trọng lànhững thông tin do người dùng yêu cầu sẽ được tìm thấy
1.3.3.4 Answer Extraction – Rút trích câu trả lời
Rút trích câu trả lời thuộc lĩnh vực rút trích thông tin Thông tin đã được trả vềtrong giai đoạn này có thể là các tài liệu hoặc các văn bản từ việc truy vấn cơ sở
dữ liệu Những thông tin này được sử dụng để rút trích các đoạn (passage) có liênquan ngữ nghĩa đến câu hỏi mà người dùng đưa ra Có rất nhiều phương phápđược đưa ra trong việc rút trích các đoạn văn bản chứa câu trả lời, ví dụ nhưphương pháp phân đoạn tài liệu dựa trên chủ đề và so khớp với câu hỏi do người
Trang 37dùng đưa vào để chọn ra các phân đoạn tài liệu tương tự với câu hỏi người dùngđưa vào… Một hệ thống QA lĩnh vực rộng có thể khác một một hệ thống QA lĩnhvực hẹp trong bước này Một hệ thống lĩnh vực rộng sẽ luôn luôn có một tập cáctài liệu hoặc một tập hợp các đoạn văn bản tóm tắt được trả về từ máy tìm kiếm.Phương pháp cơ bản nhất để phát sinh ra một câu trả lời là rút trích những phầnthông tin có liên quan ngữ nghĩa nhất với câu hỏi Các phần thông tin này đượctổng hợp để tạo thành một câu trả lời hoặc nhiều câu trả lời.
1.3.3.5 Ranking – Chiến lược xếp hạng
Nếu các kết quả của giai đoạn rút trích câu trả lời có nhiều hơn một câu trả lờithì các câu trả lời sẽ được xếp hạng dựa trên mức độ liên quan về mặt ngôn ngữvới câu hỏi của người dùng Có rất nhiều cách tiếp cận khác nhau để xác địnhmức độ liên quan của các câu trả lời và điều này liên quan mật thiết với cách xácđịnh câu trả lời trong giai đoạn rút trích thông tin từ các tài liệu ở bước trước
1.3.3.6 Answer Verification – Xác minh câu trả lời
Một số hệ thống QA cải thiện thêm tính chính xác bằng cách phân tích các câutrả lời thu được, qua việc sử dụng phương pháp xử lý ngôn ngữ tự nhiên bằngcách phân tích sâu hơn để xác minh lại câu hỏi Các câu hỏi và câu trả lời đượcphân tích cú pháp và chuyển đổi sang cùng một hình thức logic Các câu hỏi vàcâu trả lời sau đó được so sánh với nhau để xác minh tính hợp lý của các câu trảlời
1.3.4 Hệ thống hỏi-đáp tiếng Việt
Lĩnh vực hỏi-đáp tiếng Việt còn khá mới mẻ và mới được quan tâm trong mộtvài năm gần đây
Nhóm nghiên cứu Phan Huỳnh Cẩm Tú, Nguyễn Đức Thái, Đặng Bác Văn,
Hồ Bảo Quốc (2008) thuộc trường đại học Khoa học tự nhiên Tp HCM đã nghiên
cứu xây dựng hệ thống hỏi-đáp tiếng Việt “Hỏi đáp tiếng Việt dựa vào kĩ thuật rút trích quan hệ không giám sát” Ý tưởng chính của nghiên cứu này là sử dụng
phương pháp học mẫu rút trích không giám sát Snowball vào hệ thống hỏi-đáptiếng Việt trả lời cho các câu hỏi hỏi về thủ đô của một quốc gia
Ngoài ra, nhóm nghiên cứu xử lý ngôn ngữ tự nhiên Phan Thị Thu Uyên,Nguyễn Đức Vinh, Nguyễn Đạo Thái (2009) thuộc trường Đại học công nghệ,
Trang 38quan hệ ngữ nghĩa trong kho văn bản tiếng Việt” cũng nghiên cứu xây dựng hệ
thống hỏi-đáp tiếng Việt sử dụng kỹ thuật rút trích quan hệ hai ngôi bằng cách kếthợp giữa hai phương pháp rút trích mẫu Snowball và phương pháp sử dụng máytìm kiếm của Ravichandran, Hovy
Hai nghiên cứu này đều tập trung vào việc ứng dụng kỹ thuật rút trích quan hệnhằm xây dựng hệ thống hỏi-đáp có thể áp dụng cho tiếng Việt
1.4 TÌM HIỂU VỀ CÁC LOẠI VĂN BẢN
1.4.1 Những yếu tố chính của một văn bản trong ngành giáo dục
Với mục đích xây dựng một hệ thống tìm kiếm văn bản theo ngữ nghĩa dànhriêng cho ngành giáo dục trên cả nước, chúng tôi đã phân loại và chọn lọc ranhững yếu tố cơ bản nhất có trong một văn bản quản lý hành chính Việc phânloại ra những yếu tố cơ bản này có tác dụng rất lớn trong việc tổ chức cơ sở dữliệu làm nền tảng cho việc phát triển hệ thống tìm kiếm theo ngữ nghĩa
Theo tìm hiểu của chúng tôi, những yếu tố cơ bản nhất đối với một văn bản
quản lý hành chính đó là :lĩnh vực, loại văn bản, cơ quan, đơn vị, thời gian, cá nhân liên quan và nội dung.
1.4.1.1 Các lĩnh vực của văn bản trong ngành giáo dục
Với mỗi văn bản được ban hành chỉ có thể thuộc một lĩnh vực nhất định (mối
quan hệ 1-1) được đề cập sau đây : thi và tuyển sinh, mầm non, quản lý hành chính tiểu học, quản lý hành chính trung học cơ sở, quản lý hành chính trung học phổ thông, quản lý hành chính thường xuyên, quản lý hành chính trung cấp, quản
lý hành chính cao đẳng, quản lý hành chính đại học, quản lý hành chính sau đại học, quản lý hành chính quốc phòng, quản lý hành chính thể chất, quản lý hành chính đặc biệt, chương trình khung, hướng dẫn thủ tục, hướng dẫn thực hiện, chính sách xã hội, chương trình, dự án, đề án, qui chế, qui định
1.4.1.2 Các loại văn bản quản lý hành chính
Một văn bản quản lý hành chính được ban hành chỉ có thể thuộc một trong
các loại ( mối quan hệ 1-1 ) được liệt kê sau : hiến pháp, sắc lệnh, luật, nghị định, quyết định, thông tư, chỉ thị, nghị quyết, thông báo, hướng dẫn, văn kiện của Đảng hoặc loại khác.
Trang 391.4.1.3 Cơ quan, đơn vị
Khi một văn bản được đưa ra, luôn luôn phải có các yếu tố sau : cơ quan hoặc đơn vị ban hành, cơ quan hoặc đơn vị tiếp nhận, cơ quan hoặc đơn vị thực hiện Ở đây sẽ là mối quan hệ 1- nhiều, có nghĩa là chỉ có 1 cơ quan, đơn vị được
ban hành 1 văn bản nào đó nhưng có thể có nhiều cơ quan, đơn vị tiếp nhận.Theo tìm hiểu của chúng tôi, các cơ quan, đơn vị có thể ban hành và tiếp
nhận văn bản quản lý hành chính là : quốc hội, chính phủ, các bộ và ngang bộ, UBND tỉnh thành phố, đơn vị trường học, cơ quan khác.
1.4.1.4 Thời gian
Yếu tố thời gian là yếu tố không thể thiếu trong bất kỳ một loại văn bản nào,
trong đó bao gồm : ngày giờ soạn thảo văn bản, ngày giờ thông qua văn bản, thời gian bắt đầu hiệu lực, thời gian hết hiệu lực, thời gian khác.
1.4.1.5 Cá nhân liên quan
Trong văn bản luôn luôn phải có những cá nhân liên quan đến văn bản, ví dụnhư người ký, trưởng đơn vị ban hành, trưởng đơn vị tiếp nhận, các cá nhân cónhiệm vụ thi hành v.v
Chính vì vậy nên những thông tin liên quan đến cá nhân là yếu tố không thểthiếu trong việc xây dựng hệ thống tìm kiếm theo ngữ nghĩa
Các thông tin liên quan đến cá nhân bao gồm : họ tên, ngày sinh, số CMND, nơi cấp CMND, ngày cấp CMND, địa chỉ, số điện thoại, email, thông tin liên hệ, trình độ học vấn, đơn vị công tác, chức vụ, thông tin khác.
1.4.1.6 Nội dung văn bản
Cuối cùng, yếu tố quan trong nhất của một văn bản đó chính là nội dung Saukhi đã lọc ra được những thành phần cơ bản kể trên thì nội dung văn bản dễ dàngđược tóm lược và lưu trữ để phục vụ cho mục đích tìm kiếm theo ngữ nghĩa
Trang 40chúng ta sẽ dễ dàng phân loại được văn bản đó liên quan đến vấn đề gì, liên quanđến ai để từ đó việc tiềm kiếm đạt kết quả tối ưu nhất.
1.5 KẾT LUẬN CHƯƠNG 1
Sự phát triển của Internet dẫn đến nhu cầu cho sự ra đời của thế hệ tiếp saucủa Web hiện tại: Semantic Web Semantic Web ra đời gắn liền với công nghệXML và Ontology XML là cơ sở cú pháp và Ontology là cơ sở ngữ nghĩa củaSemantic Web
CHƯƠNG 2: GIẢI PHÁP XÂY DỰNG HỆ
THỐNG TÌM KIẾM VĂN BẢN
2.1 CÁC HỆ THỐNG TÌM KIẾM VĂN BẢN TRONG NGÀNH GIÁO DỤC
2.1.1 Giới thiệu chung
Hiện nay, lĩnh vực xử lý ngôn ngữ tự nhiên đã đạt được nhiều tnhành tựu tolớn to lớn phục vụ cho cuộc sống con người Đã có các website, công cụ, phầnmềm có khả năng phân tích câu hỏi và đưa ra được những câu trả lời hợp lý như :website Wolframalpha.com, phần mềm Siri của Apple, phần mềm Google Now củaGoogle, phần mềm S-Voice của Samsung … nhưng tất cả chỉ xử lý tiếng anh vàmột số ngôn ngữ khác chứ chưa hỗ trợ tiếng Việt