Ngày nay, việc thực hiện giám sát các máy chủ web là một hành động thực sự cần thiết và quan trọng, có thể giúp cho các quản trị hệ thống theo dõi các hoạt động của người sử dụng nhằm cả
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUY NHƠN
HỒ HUY CƯỜNG
NGHIÊN CỨU XÂY DỰNG MÔ HÌNH CHUYỂN ĐỔI
TRI THỨC CHO MÁY CHỦ WEB
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
Người hướng dẫn: TS Nguyễn Thành Đạt
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đề tài “Nghiên cứu xây dựng mô hình chuyển đổi cho máy chủ Web” là kết quả của tự bản thân tôi tìm hiểu, nghiên cứu Các
số liệu, dẫn chứng và tài liệu tham khảo đƣợc trích dẫn và chú thích đầy đủ Tôi xin chịu trách nhiệm về luận văn của mình
Trang 3Qua quá trình học tập và thời gian nghiên cứu làm luận văn, trước tiên tôi xin gửi lời cảm ơn chân thành nhất đến các Thầy Cô giáo đã tham gia tổ chức, chỉ đạo và trực tiếp giảng dạy trong suốt những khóa học vừa qua Đặc biệt, tôi xin gửi lời cảm ơn sâu sắc nhất đến Thầy giáo hướng dẫn TS Nguyễn Thành Đạt, người đã tận tình chỉ bảo, góp ý, giúp đỡ và tạo mọi điều kiện để tôi có thể hoàn thành luận văn
Cũng qua đây, tôi xin gửi lời cảm ơn đến các anh chị là học viên lớp cao học Khoa học máy tính khóa trước đã giúp đỡ tôi rất nhiều 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 và bạn
bè đã luôn giúp đỡ, ủng hộ tôi trong suốt quá trình học tập, nghiên cứu và hoàn thành luận văn
Trong thời gian qua tôi đã cố gắng tập trung nghiên cứu và tìm hiểu để hoàn thành thật tốt luận văn của mình nhưng chắc chắn còn nhiều thiếu sót rất mong được nhận sự chỉ bảo của các Thầy Cô giáo để luận văn được hoàn thiện hơn
Quy Nhơn, tháng 9 năm 2020
Hồ Huy Cường
Trang 4LỜI CAM ĐOAN
LỜI CẢM ƠN
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH VẼ
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 3
3 Đối tượng và phạm vi nghiên cứu 3
4 Phương pháp nghiên cứu 4
5 Ý nghĩa khoa học và thực tiễn 4
Chương 1: TỔNG QUAN VỀ CHUYỂN ĐỔI TRI THỨC VÀ CÔNG CỤ PARSER 5
1.1 Giới thiệu về quản lý tri thức 5
1.1.1 Khái quát về Tri thức và quản lý tri thức 5
1.1.2 Quy trình quản lý tri thức 8
1.1.3 Công nghệ quản lý tri thức 11
1.1.4 Lợi ích của việc quản lý tri thức 12
1.2 Tổng quan về ontology 13
1.2.1 Giới thiệu về Ontology 14
1.2.2 Ứng dụng Ontology 15
1.2.3 Phân loại Ontology 16
1.2.4 Ngôn ngữ Ontology 17
1.3 Tổng quan về Log Parser 25
1.3.1 Giới thiệu Log Paser [24] 25
Trang 51.4.2 Các đặc tính của web server 28
1.4.3 Cơ chế hoạt động của máy chủ web 29
1.4.4 Các loại web server phổ biến hiện nay 34
1.4.5 Nhật ký máy chủ web (Web Server Log) 37
1.4.6 Các loại nhật ký máy chủ web 38
1.5 Máy chủ IIS 40
1.5.1 Giới thiệu máy chủ web IIS 40
1.5.2 Chức năng của máy chủ web IIS 41
1.6 Máy chủ Apache 42
1.6.1 Giới thiệu máy chủ web Apache 42
1.6.2 Hoạt động của máy chủ web Apache 42
1.7 Tổng kết Chương I 43
Chương 2: PHÂN TÍCH CÚ PHÁP FILE LOG DỰA VÀO ONTOLOGY VÀ PARSER 45
2.1 Phân tích cú pháp 45
2.1.1 Tổng quan phân tích cú pháp [19] 45
2.1.2 Các phương pháp phân tích cú pháp [19] 47
2.2 Tổng quan về phân tích cú pháp - Parser 49
2.2.1 Cấu trúc của Parser 49
2.2.2 Hoạt động của Parser 51
2.2.3 Mô hình hoạt động của Phân tích cú pháp dựa vào Ontology 53
2.3 Kiến trúc máy chủ Web 55
2.4 Cấu trúc của File Log 57
2.5 Xây dựng Ontology 59
2.5.1 Xác định mục đích sử dụng Ontology 59
Trang 6cho lớp 60
2.5.4 Tạo các thực thể cho lớp 62
2.6 Kết luận Chương 2 63
Chương 3: CÀI ĐẶT, THỰC NGHIỆM VÀ ĐÁNH GIÁ 64
3.1 Cài đặt 64
3.1.1 Protégé 64
3.1.2 Python 68
3.1.3 Cấu hình máy tính 71
3.1.4 Lệnh truy vấn SPARQL 72
3.2 Thiết kế mô hình 74
3.2.1 Sử dụng Protégé thiết kế Ontology cho Log IIS webserver 74
3.3 Thực nghiệm 78
3.3.1 Triển khai thực nghiệm 79
3.4 Đánh giá 83
3.4.1 Đánh giá mô hình Ontology dựa trên mô hình OntoQA [18] 83
3.4.2 Đánh giá Parser 85
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 89
1.Kết luận chung 89
2.Hướng phát triển đề tài 89
DANH MỤC TÀI LIỆU THAM KHẢO 90 PHỤ LỤC
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (bản sao)
Trang 72 CNTT Information Technology Công nghệ thông tin
4 IIS Internet Information
Services Dịch vụ thông tin Internet
5 XML Extensible Markup
Language Ngôn ngữ đánh dấu mở rộng
6 LSWS LiteSpeed Web Server Máy chủ Web LiteSpeed
7 CGI Computer-Generated
Imagery Máy tính tạo ra hình ảnh
8 SMTP Simple Mail Transfer
Protocol
giao thức truyền tải thư tín
đơn giản
9 POP Post Office Protocol Giao thức Bưu điện
10 URL Uniform Resource
Locator
Đường dẫn truy cập đến các tài nguyên trên mạng
Trang 815 SLCT Simple Logfile Clustering
construction Cụm ứng viên xây dựng
19 IPLoM Iterative Partitioning Log
Mining
Khai thác nhật ký phân vùng
lặp lại
20 LKE Log Key Extraction Trích xuất khóa nhật ký
21 API Application Programming
Interface Giao diện lập trình ứng dụng
22 CSV Comma Separated Values Các giá trị đƣợc phân tách
Trang 9Bảng 1.1 Các lớp và thuộc tính của OWL 25
Bảng 2.1 Cấu trúc của tệp Log IIS 57
Bảng 2.1 Các thuật ngữ quan trọng trong Ontology 60
Bảng 2.2 Các thuộc tính và quan hệ cho lớp 60
Bảng 2.3 Các ràng buộc về thuộc tính và quan hệ 61
Bảng 3.2 Thời gian chuyển đổi dữ liệu trong thực nghiệm 1 87
Bảng 4.3 Thời gian chuyển đổi dữ liệu trong thực nghiệm 2 87
Trang 10Hình 1.1 Mô hình dữ liệu, thông tin và tri thức 6
Hình 1.2 Sơ đồ từ dữ liệu đến tri thức[14] 7
Hình 1.3 Các bước quản lý tri thức 9
Hình 1.4 Phân loại Ontology 16
Hình 1.5 Mối quan hệ giữa các thành phần trong triple 18
Hình 1.6 So sánh giữa RDF và RDFS 21
Hình 1.7 Mô hình web server [17] 27
Hình 1.8 Mô hình hoạt động của web server [17] 29
Hình 1.9 Web server Apache 34
Hình 1.10 IIS Control Panel 35
Hình 1.11 Web server Nginx 36
Hình 1.12 Web server LiteSpeed 37
Hình 1.13 Cơ chế hoạt động của IIS 42
Hình 1.14 Kiến trúc máy chủ Apache 43
Hình 2.1 Cấu trúc của một Log Parser 51
Hình 2.2 Mô hình hoạt động của Parser 52
Hình 2.3 Mô hình hoạt động của các thành phần trong Parser 52
Hình 2.4 Mô hình xử lý dữ liệu Ontology [21] 53
Hình 2.5 Mô hình truy xuất dữ liệu Ontology [21] 54
Hình 2.6 Mô hình hoạt động của Parser dựa vào Ontology 54
Hình 2.7 Các thành phần của một máy chủ web 56
Hình 2.8 Ví dụ một file log IIS 57
Hình 2.9 Các lớp và cấu trúc phân cấp 59
Hình 2.10 Mô tả Ontology của Log IIS webserver 62
Hình 2.11 Các thực thể của lớp 63
Trang 11Hình 3.3 Data Properties 68
Hình 3.4 Individuals 68
Hình 3.5 Python 69
Hình 3.6 Cài đặt Python 71
Hình 3.7 Cấu hình máy tính dùng để chạy truy vấn 71
Hình 3.8 Mô hình các lớp 74
Hình 3.9 Sơ đồ Ontograf của Ontology 74
Hình 3.10 Object properties 75
Hình 3.11 Data properties 75
Hình 3.12 Individuals by class 76
Hình 3.13 Dữ liệu Log ban đầu 78
Hình 3.14 Triển khai bằng GoogleColab 79
Hình 3.15 Cài đặt các Module hỗ trợ 79
Hình 3.16 Import các thư viện 80
Hình 3.17 Khởi tạo Ontology 80
Hình 3.18 Đọc và bóc tách các trường từ file Log đưa vào Ontology 81
Hình 3.19 Kết quả thu được 81
Hình 3.20 Truy vấn dữ liệu 82
Hình 3.21 Kết quả truy vấn dữ liệu 82
Hình 3.22 Kiểm tra dữ liệu sau khi chuyển đổi trên Protégé 83
Hình 3.23 So sánh độ chính xác trong việc thực hiện chuyển đổi của Parser Log IIS với các Parser khác 86
Hình 3.24 So sánh thời gian thực hiện của Parser Log IIS với các Parser khác 87
Trang 12MỞ ĐẦU
1 Lý do chọn đề tài
Với tình hình phát triển nhanh chóng của công nghệ thông tin ngày nay, thì bất cứ một doanh nghiệp nào cũng cần một hệ thống thông tin chứ không chỉ đơn giản là dùng máy tính nữa Để vận hành và quản lý hệ thống CNTT
đó thì doanh nghiệp (hoặc cá nhân) cần phải có máy chủ (server)
Máy chủ là một chương trình máy tính hoặc một thiết bị cung cấp chức năng cho các chương trình hoặc thiết bị khác, được gọi là "máy khách" Đây kiến trúc được gọi là mô hình client-server, và một tính toán tổng thể duy nhất được phân phối qua nhiều quy trình hoặc các thiết bị Máy chủ
có thể cung cấp các chức năng khác nhau, thường được gọi là "dịch vụ", chẳng hạn như chia sẻ dữ liệu hoặc tài nguyên giữa nhiều khách hàng hoặc thực hiện tính toán cho khách hàng Một máy chủ có thể phục vụ nhiều khách hàng và một khách hàng có thể sử dụng nhiều máy chủ Một tiến trình máy khách có thể chạy trên cùng một thiết bị hoặc có thể kết nối qua mạng với một máy chủ trên một thiết bị khác[1] Một số máy chủ điển hình như: máy chủ cơ
sở dữ liệu , máy chủ tệp , máy chủ thư , máy chủ in , máy chủ web , máy chủ trò chơi và máy chủ ứng dụng
Vậy Máy chủ web là gì? Máy chủ web (Tiếng anh gọi là Web server)
là phần mềm máy chủ hoặc phần cứng dành riêng để chạy phần mềm nói trên,
có thể đáp ứng các yêu cầu của máy khách World Wide Web Nói chung, một máy chủ web có thể chứa một hoặc nhiều trang web Một máy chủ web
xử lý các yêu cầu mạng đến qua HTTP và một số giao thức liên quan khác Chức năng chính của máy chủ web là lưu trữ, xử lý và phân phối các trang web cho khách hàng[3]
Giao tiếp giữa của máy tính người dùng và máy chủ thực hiện thông qua giao thức HTTP Nội dung phân phối chính từ máy chủ web là các nội dung
Trang 13định dạng HTML, bao gồm hình ảnh, style sheets, các đoạn mã script hỗ trợ các nội dung văn bản thô Dễ hiểu hơn web server chính là máy chủ, được thiết kế với các siêu tính năng dùng để chứa các dữ liệu cho một phần mạng lưới máy tính trên internet Tất cả những hoạt động dịch vụ trên internet nào đều phải có máy chủ này mới hoạt động được[4]
Các máy chủ web phổ biến bao gồm Máy chủ HTTP Apache (Web server được cài đặt rộng rãi nhất), Máy chủ thông tin Internet (IIS) của Microsoft và nhiều hãng khác cho phép các khách (Client) truy cập và xem thông tin được cung cấp bởi máy chủ Web (Web Server)[7]
Để làm cho web server hoạt động ổn định nếu không có một người quản trị sever hay giám sát thì sẽ không có một trang web server tốt và ổn định Ngày nay, việc thực hiện giám sát các máy chủ web là một hành động thực
sự cần thiết và quan trọng, có thể giúp cho các quản trị hệ thống theo dõi các hoạt động của người sử dụng nhằm cải thiện khả năng quản lý hệ thống, quản lý người dùng, quản lý các vấn đề về cân bằng tải cũng như để phát hiện ra các cuộc tấn công Thông thường, việc giám sát, theo dõi các máy chủ web dựa vào nhật ký file dữ liệu ghi lại Những file dữ liệu ghi lại của hệ thống máy chủ web được lưu trữ thành 1 hoặc nhiều file log Log là hệ thống cho phép bạn xem lại các sự kiện đã xảy ra trong hệ thống một cách chi tiết cụ thể như: user, time, computer, services, thời gian, người dùng đăng nhập, địa chỉ IP,…
Những file này thường không thể truy cập được đối với người dùng web nói chung, chỉ dành cho quản trị viên web hoặc người quản trị khác Một phân tích thống kê nhật ký máy chủ có thể được sử dụng để kiểm tra các mẫu lưu lượng truy cập theo thời gian trong ngày, ngày trong tuần, liên kết giới thiệu hoặc tác nhân người dùng Quản trị trang web hiệu quả, tài nguyên lưu trữ đầy đủ và tinh chỉnh nỗ lực bán hàng có thể được hỗ trợ bằng cách phân tích nhật ký máy chủ web
Trang 14Hạn chế của hệ thống log trong việc quản lý là rất khó xem để có thể hiểu sự kiện đó ghi những gì hoặc sự kiện đó đang bị lỗi gì và làm sao để giải quyết những vấn đề đó
Trong nghiên cứu này, tôi xây dựng một ứng dựng phân tích log để làm căn cứ xây dựng các chương trình để giải quyết các lỗi thường xảy ra trên máy chủ web
2 Mục tiêu nghiên cứu
Mục tiêu chính: Nghiên cứu xây dựng ứng dụng PARSER nhằm cung cấp một công cụ mạnh mẽ, linh hoạt, cung cấp quyền truy cập truy vấn và chuyển đổi tri thức trong Log máy chủ vào cơ sở dữ liệu tri thức dựa vào Ontology
Mục tiêu cụ thể:
- Xây dựng mô hình quản lý tri thức sự kiện máy chủ web
- Phân tích hệ thống log sự kiện máy chủ web
- Tìm hiểu và Xây dựng mô hình Ontology
- Tìm hiểu và xây dựng ứng dụng PARSER dựa vào mô hình Ontology
Triển khai thực nghiệm và đánh giá ứng dụng
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Cơ sở tri thức và quản lý tri thức
- Hệ thống các file log trong máy chủ web IIS
- Mô hình quản lý tri thức dựa vào ontology
- Các công cụ có liên quan: Protégé, XAMPP, Python…
3.2 Phạm vi nghiên cứu
Xây dựng bộ công cụ chuyển đổi cơ sở tri thức dựa trên mô hình Ontology cho hệ thống sự kiện (Log) cho máy chủ Web IIS
Trang 154 Phương pháp nghiên cứu
- Nghiên cứu lý thuyết về các cơ sở tri thức, mô hình quản lý tri thức dựa
vào Ontology, mô hình hệ thống Log trong máy chủ Web IIS, các công cụ sử dụng: Protégé, Python… để xây dựng bài toán chuyển đổi tri thức từ file Log máy chủ web IIS sang mô hình Ontology
- Vận dụng các kiến thức đã tìm hiểu để triển khai xây dựng mô hình Parser nhằm chuyển đổi tri thức từ file Log máy chủ web IIS sang mô hình Ontology
- Khảo sát công cụ chuyển đổi đã xây dựng với các công cụ chuyển đổi khác đã có
5 Ý nghĩa khoa học và thực tiễn
Ý nghĩa khoa học
- Nghiên cứu, xây dựng mô hình Ontology trong quản lý tri thức
- Vận dụng mô hình Ontology để xây dựng công cụ chuyển đổi tri thức
từ file Log Webserver IIS
- Xây dựng mô hình và cách thức hoạt động của công cụ chuyển đổi tri thức (Parser)
Trang 16Chương 1: TỔNG QUAN VỀ CHUYỂN ĐỔI TRI THỨC VÀ
CÔNG CỤ PARSER
1.1 Giới thiệu về quản lý tri thức
1.1.1 Khái quát về Tri thức và quản lý tri thức
Tri thức (Knowledge)
Để hiểu rõ khái niệm tri thức ta phân biệt tri thức với các khái niệm tương đồng khác là dữ liệu, thông tin, trí tuệ
Dữ liệu là những con số hoặc dữ kiện thuần túy, rời rạc mà quan sát hoặc
đo đếm được không có ngữ cảnh hay diễn giải Dữ liệu được thể hiện ra ngoài bằng cách mã hóa và dễ dàng truyền tải Dữ liệu được chuyển thành thông tin bằng cách thêm giá trị thông qua ngữ cảnh, phân loại, tính toán, hiệu chỉnh và đánh giá
Thông tin là những mô hình hay tập hợp dữ liệu đã được tổ chức lại và diễn giải đặt trong bối cảnh và nhằm một mục đich cụ thể Thông tin là những thông điệp thường được thể hiện theo dạng văn bản hoặc giao tiếp có thể thấy được hoặc không thấy được… nhằm mục đích thay đổi cách nhận thức của người nhận thông tin về vấn đề cụ thể, và gây ảnh hưởng đến sự đánh giá và hành vi của người nhận Vì thông tin là những dữ liệu được tổ chức lại vì một mục đích nào đó, vì vậy mà nó sẽ giảm bớt sự không chắc chắn Đó cũng chính là sự khác biệt của thông tin với dữ liệu Tương tự như dữ liệu, thông tin được mã hóa và tương đối dễ dàng truyền tải
Trang 17Hình 1.1 Mô hình dữ liệu, thông tin và tri thức
Tri thức là thông tin được cấu trúc hóa, được kiểm nghiệm và có thể sử dụng được vào mục đích cụ thể Tri thức thường thể hiện trong những hoàn cảnh cụ thể kết hợp với kinh nghiệm và việc phán quyết hay ra quyết định Để truyền tải thì đòi hỏi sự học tập của người tiếp nhận tri thức Như vậy nếu một thông tin giúp chúng ta nhận thức và đưa ra quyết định thì là tri thức Thông tin trở thành “đầu vào” được nạp vào trong não, qua quá trình xử lý sẽ tạo ra tri thức Nhưng quá trình xử lý này với mỗi một cá nhân khác nhau sẽ cho ra những “đầu ra” khác nhau Có nghĩa là cùng một thông tin như vậy nhưng với mỗi cá nhân thì tri thức mà anh ta nhận thức được sẽ khác với tri thức mà người khác nhận thức Thông tin là những dữ liệu được cấu trúc hóa được thể hiện ra ngoài và ai cũng có thể tiếp cận Nhưng tri thức thiên về những thông tin được cấu trúc hóa và cá nhân hóa nằm trong mỗi con người cụ thể, do đó khả năng tiếp cận khó hơn và sự thể hiện ra ngoài không phải lúc nào cũng chính xác
Trang 18Hình 1.2 Sơ đồ từ dữ liệu đến tri thức[14]
Trí tuệ là khả năng sử dụng tri thức một cách khôn ngoan nhằm đạt được mục đích của mình Trí tuệ gắn liền với con người và sự đánh giá, phán xét và hoạch định các hành động Cùng có tri thức như nhau nhưng mỗi người sẽ hành xử một cách khác nhau vì trí tuệ của mỗi người là khác nhau tức là khả năng sử dụng tri thức của mỗi người là khác nhau nên sẽ tạo ra kết quả khác nhau
Tri thức là những dữ liệu, thông tin được cấu trúc hóa, kiểm nghiệm và
sử dụng được vào một mục đích cụ thể tạo ra giá trị
Quản lý tri thức (Knowledge Management)
Trong những năm gần đây, khái niệm về Quản lý tri thức (knowledge management) đang trở nên phổ biến trên thế giới Vấn đề này đang được nhiều nhà nghiên cứu tranh cãi trong các hội nghị, hội thảo khoa học Vậy quản lý tri thức là gì?
Trang 19Quản lý tri thức ( KM ) là quá trình tạo, chia sẻ, sử dụng và quản lý kiến thức và thông tin của một tổ chức[2] Nó đề cập đến một cách tiếp cận đa ngành
để đạt được các mục tiêu của tổ chức bằng cách sử dụng kiến thức tốt nhất[5]
Hiện nay, tồn tại rất nhiều cách tiếp cận về khái niệm Quản lý tri thức như: Hiệp hội quản lý tri thức Nhật Bản (JKMA) định nghĩa: “Quản lý tri thức là việc kiểm soát và cấu trúc một cách có hệ thống và hiệu quả một cơ chế cho phép sử dụng đúng người vào đúng công việc và đúng thời điểm, chia
sẻ và sử dụng thông tin một cách thông suốt, hướng tới việc đạt được mục tiêu của tổ chức Một cách có hệ thống ở đây có nghĩa là từng bước chọn lọc, tìm hiểu, phân tích, chia sẻ và sử dụng thông tin để tạo ra giá trị.”Lotus (một trong những công ty của IBM) định nghĩa: “Quản lý tri thức là một động lực thúc đẩy việc sử dụng thông tin và kỹ năng nghề nghiệp một cách có hệ thống nhằm nâng cao tính hiệu quả, năng lực, sự sáng tạo, đổi mới và khả năng phản
hồi nhanh chóng của tổ chức.”Vậy, bản chất của Quản lý tri thức là Quá trình kiến tạo, chia sẻ, khai thác, sử dụng và phát triển nguồn tài sản tri thức trong tổ chức và biến những tài sản vô hình đó thành những giá trị kinh tế hay vật chất của tổ chức
1.1.2 Quy trình quản lý tri thức
Theo nghiên cứu của nhiều tổ chức trên thế giới về quản lý tri thức thì quy trình của một quản lý tri thức không nằm trong một khuôn khổ nhất định[9]
- Davenport, Jarvenpaa và Beers (1996) trình bày bốn quá trình chính: tìm kiếm kiến thức hiện có, tạo ra kiến thức mới, tạo ra kiến thức đóng gói, sử dụng kiến thức bên ngoài
- KPMG (1998b) trình bày bảy quá trình liên quan đến quản lý tri thức: tạo tri thức, ứng dụng trong tổ chức, khai thác bên ngoài tổ chức,chia sẻ và phổ biến, đóng gói, tìm nguồn cung ứng và học tập
Trang 20- Teece (1998a) trình bày tám quá trình cơ bản: tạo ra kiến thức mới, tiếp cận kiến thức có giá trị từ các nguồn bên ngoài, sử dụng kiến thức có thể truy cập trong ra quyết định, đưa kiến thức vào các quy trình, sản phẩm/dịch vụ, thể hiện kiến thức trong tài liệu, cơ sở dữ liệu và phần mềm, tạo điều kiện cho kiến thức tăng trưởng thông qua văn hóa và khuyến khích, chuyển giao kiến thức hiện có vào các phần khác của tổ chức và đo lường giá trị của tài sản tri thức/tác động của quản lý kiến thức
- Nghiên cứu của Đại học Cranfield (1998) xác định mười quy trình: tạo
ra kiến thức mới, tìm kiếm kiến thức bên trong, tiếp thu kiến thức bên ngoài,
có kiến thức, xử lý kiến thức, sử dụng lại kiến thức, áp dụng kiến thức vào một số lợi ích, cập nhật kiến thức, chia sẻ kiến thức trong nội bộ và chia sẻ kiến thức bên ngoài tổ chức
Từ những nghiên cứu của các nhà nghiên cứu trên thì ta có thể thấy quy trình quản lý tri thức có sáu bước chính cơ bản được hỗ trợ bởi các công cụ và
kỹ thuật khác nhau được tổng hợp từ các nghiên cứu trên Khi các bước này được theo dõi tuần tự, dữ liệu sẽ chuyển thành kiến thức
Hình 1.3 Các bước quản lý tri thức
Bước 1: Thu thập
Đây là bước quan trọng nhất của quy trình quản lý tri thức Nếu thu thập
dữ liệu không chính xác hoặc không liên quan, tri thức thu được có thể không
Trang 21chính xác nhất Do đó, các quyết định được đưa ra dựa trên tri thức như vậy cũng có thể không chính xác
Quy trình thu thập dữ liệu là xác định các điểm thu thập dữ liệu nhất định Một số điểm có thể là bản tóm tắt của các báo cáo thường xuyên nhất định Với các điểm thu thập dữ liệu, các kỹ thuật và công cụ trích xuất dữ liệu cũng được xác định
Bước 2: Tổ chức
Đối với các dữ liệu đã thu thập cần phải được tổ chức Việc tổ chức này thường xảy ra dựa trên các quy tắc nhất định Các quy tắc này được xác định bởi các tổ chức sử dụng
Nếu có nhiều dữ liệu trong cơ sở dữ liệu, các kỹ thuật như 'bình thường hóa' có thể được sử dụng để tổ chức và giảm sự trùng lặp thông tin Bằng cách này, dữ liệu được sắp xếp hợp lý và liên quan với nhau để dễ dàng truy xuất Khi dữ liệu vượt qua bước 2, nó sẽ trở thành thông tin
Bước 3: Tóm tắt
Thông tin được tóm tắt để có được bản chất của nó Thông tin dài được trình bày dưới dạng bảng hoặc dạng đồ họa và được lưu trữ một cách thích hợp Có nhiều công cụ có thể được sử dụng như gói phần mềm, biểu đồ (Pareto, nguyên nhân và kết quả) và các kỹ thuật khác nhau để tóm tắt thông tin
Bước 4: Phân tích
Thông tin được phân tích để tìm ra các mối quan hệ, dự phòng và mô hình Một chuyên gia hoặc một nhóm chuyên gia nên được chỉ định cho mục đích này vì kinh nghiệm của người / nhóm đóng vai trò quan trọng Sau khi phân tích thông tin thông thường người thực hiện sẽ thực hiện những báo cáo
về nội dung kết quả phân tích
Bước 5: Tổng hợp
Đây là bước để biến thông tin trở thành tri thức Các kết quả phân tích
Trang 22(thường là các báo cáo) được kết hợp với nhau để rút ra các khái niệm và đồ tạo tác khác nhau
Một mô hình hoặc hành vi của một thực thể có thể được áp dụng để giải thích cho một thực thể khác và gọi chung, tổ chức sẽ có một tập hợp các yếu
tố tri thức có thể được sử dụng trên toàn tổ chức Tri thức này sau đó được lưu trữ trong cơ sở tri thức tổ chức để sử dụng tiếp
Cơ sở tri thức được triển khai trên hệ thống và được một phần mềm sử dụng để có thể được truy cập từ bất cứ đâu thông qua Internet Người dùng cũng có thể mua phần mềm sử dụng cơ sở tri thức hoặc sử dụng một phần mềm ứng dụng tương tự được miễn phí
Bước 6: Ra quyết định
Ở giai đoạn này, tri thức được sử dụng để ra quyết định Ví dụ, khi ước tính một loại cụ thể của một dự án hoặc một nhiệm vụ, tri thức liên quan đến các ước tính trước đó có thể được sử dụng
Điều này tăng tốc quá trình ước tính và thêm độ chính xác cao Đây là cách quản lý tri thức tổ chức tăng giá trị và tiết kiệm tiền trong thời gian dài[13]
1.1.3 Công nghệ quản lý tri thức
Công nghệ quản lý tri thức có thể được phân loại:
- Phần mềm nhóm, phần mềm tiện ích tạo điều kiện hợp tác và chia sẻ
thông tin tổ chức Các ứng dụng này cung cấp các công cụ cho các cuộc thảo luận theo luồng , chia sẻ tài liệu , email thống nhất trong toàn tổ chức và các tính năng liên quan đến cộng tác khác
- Các hệ thống quy trình làm việc, các hệ thống cho phép thể hiện các
quy trình liên quan đến việc tạo, sử dụng và duy trì kiến thức của tổ chức chẳng hạn như quy trình để tạo và sử dụng các biểu mẫu và tài liệu
- Hệ thống quản lý nội dung và quản lý tài liệu, hệ thống phần mềm
giúp tự động hóa quá trình tạo nội dung web hoặc tài liệu Các vai trò như
Trang 23biên tập viên, thiết kế đồ họa, nhà văn và nhà sản xuất có thể được mô hình hóa rõ ràng cùng với các nhiệm vụ trong quy trình và tiêu chí xác nhận Các nhà cung cấp thương mại bắt đầu hoặc để hỗ trợ các tài liệu hoặc hỗ trợ nội dung web nhưng khi Internet phát triển các chức năng này được hợp nhất và các nhà cung cấp hiện thực hiện cả hai chức năng
- Cổng thông tin doanh nghiệp, phần mềm tổng hợp thông tin trên toàn
bộ tổ chức hoặc cho các nhóm như nhóm dự án
- Giáo dục điện tử trực tuyến cho phép các tổ chức đào tạo và giáo dục
tùy chỉnh Điều này có thể bao gồm các kế hoạch bài học, theo dõi tiến độ và các lớp học trực tuyến
- Phần mềm lập kế hoạch và lập lịch trình Phần mềm phần mềm tự
động hóa lịch trình tạo và bảo trì Các khía cạnh lập kế hoạch có thể tích hợp với phần mềm quản lý dự án.[5]
- Telepresence EDSoftware cho phép các cá nhân có các cuộc họp "trực
diện" ảo mà không cần lắp ráp tại một địa điểm Hội nghị truyền hình là ví dụ
rõ ràng nhất
Công nghệ ngữ nghĩa như các bản thể học Các hệ thống mã hóa ý nghĩa bên cạnh dữ liệu để cung cấp cho các máy khả năng trích xuất và suy luận thông tin[8]
Các loại này chồng chéo lên nhau Ví dụ, quy trình làm việc là một khía cạnh quan trọng của hệ thống quản lý nội dung hoặc tài liệu, hầu hết đều có các công cụ để phát triển cổng thông tin doanh nghiệp[9] [10]
1.1.4 Lợi ích của việc quản lý tri thức
Việc sử dụng quản lý tri thức trong hoạt động của tổ chức cũng như doanh nghiệp đều hướng đến các lợi ích như [11]:
- Làm cho nội dung kiến thức tăng lên có sẵn trong việc phát triển và
cung cấp sản phẩm và dịch vụ
Trang 24- Đạt được chu kỳ phát triển ngắn hơn
- Tạo điều kiện và quản lý đổi mới trong học tập tổ chức
- Tận dụng chuyên môn trong toàn tổ chức
- Tăng kết nối mạng giữa các cá nhân bên trong và bên ngoài
- Quản lý môi trường kinh doanh và cho phép nhân viên có được những
hiểu biết và ý tưởng phù hợp với công việc của họ
- Giải quyết các vấn đề khó khăn hoặc xấu xa
- Quản lý vốn trí tuệ và tài sản trong lực lượng lao động (như chuyên
môn và bí quyết sở hữu của các cá nhân chủ chốt hoặc được lưu trữ trong kho)
1.2 Tổng quan về ontology
Ontology đã trở thành một công cụ quan trọng trong lĩnh vực Web ngữ nghĩa Chúng mở ra cơ hội rộng lớn cho việc xử lý thông tin tự động Một số lợi ích của ontology như [22]:
- Để chia sẻ những hiểu 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, không những trong lĩnh vực Web ngữ nghĩa mà còn trong nhiều ngành và lĩnh vực khác
- Cho phép tái sử dụng tri thức: đây là một vấn đề khó và là mục tiêu nghiên cứu quan trọng trong những năm gần đây
- Cho phép tri thức độc lập với ngôn ngữ: đây cũng là vấn đề liên quan đến lĩnh vực quản lý tri thức đã nói ở trên
- Cho phép tri thức trở nên nhất quán và tường minh: các khái niệm khác nhau trong một hay nhiều lĩnh vực cụ thể có thể cùng tên và gây nhập nhằng về ngữ nghĩa, tuy nhiên khi được đưa vào một hệ thống ontology thì tên mỗi khái niệm là duy nhất
Trang 25- Cung cấp một phương tiện cho công việc mô hình hóa: 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 hay vấn đề cần giải quyết
- 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 bên trong cho mục đích suy diễn trên tập quan hệ giữa các đối tượng trong hệ thống
1.2.1 Giới thiệu về Ontology
Theo triết học thì ontology được định nghĩa như sau: “ontology là một
siêu hình học nghiên cứu về sự tồn tại và hiện thân của tự nhiên” [Aristoteles]; nó được sử dụng như tên của một lĩnh vực nghiên cứu về sự tồn
tại của tự nhiên, xác định các vật thể trong tự nhiên và làm thế nào để mô tả chúng Chẳng hạn như quan sát thế giới thực, xác định các đối tượng và sau
đó nhóm chúng lại thành các lớp trừu tượng dựa trên thuộc tính chung [15] Trong khoa học máy tính ontology có nhiều định nghĩa, tuy nhiên định nghĩa được sử dụng rộng rãi được đưa ra bởi Gruber (1993): “Ontology là một thuyết minh hình thức, rõ ràng của một nhận thức chung” Định nghĩa được phân làm 4 khái niệm chính: mô tả trừu tượng của hiện tượng (nhận thức), diễn đạt rõ ràng bằng toán học (hình thức), các khái niệm và quan hệ giữa chúng phải được định nghĩa một cách chính xác và rõ ràng, tồn tại một
sự đồng thuận của những người sử dụng ontology (chung)
Tuy nhiên về cơ bản ontology bao gồm các thành phần như sau:
- Các Cá thể (Individuals): Các thực thể hoặc các đối tượng (các đối
tượng cơ bản hoặc cấp độ nền)
- Các Lớp (Classes): Các tập hợp, các bộ sưu tập, các khái niệm, các
loại đối tượng, hoặc các loại khác
Trang 26- Các Thuộc tính (Attributes): Các khía cạnh, đặc tính, tính năng, đặc
điểm, hoặc các thông số mà các đối tƣợng (và các lớp) có thể có
- Các Quan hệ (Relations) giữa các Khái niệm hay Thực thể: Cách thức
mà các lớp và các cá thể có thể liên kết với nhau
- Các thuật ngữ chức năng (Function terms): Cấu trúc phức tạp đƣợc
hình thành từ các mối quan hệ nhất định có thể đƣợc sử dụng thay cho một thuật ngữ cá thể trong một báo cáo (Statement)
- Các sự hạn chế (Restrictions): Những mô tả chính thức đƣợc tuyên bố về
những điều phải chính xác cho một số khẳng định đƣợc chấp nhận ở đầu vào
- Các quy tắc (Rules): Tuyên bố có hình thức nhƣ một cặp nếu-thì
(if-then) mô tả suy luận logic có thể đƣợc rút ra từ một sự khẳng định trong từng hình thức riêng
- Các tiên đề (Axioms): Các khẳng định (bao gồm các quy tắc) trong
một hình thức hợp lý với nhau bao gồm các lý thuyết tổng thể mà Ontology
mô tả trong lĩnh vực của ứng dụng
- Các sự kiện (Events): Sự thay đổi các thuộc tính hoặc các mối quan hệ
1.2.2 Ứng dụng Ontology
Việc ứng dụng ontology nhƣ một hình thức biểu diễn tri thức đƣợc sử dụng trong các lĩnh vực và ứng dụng khác nhau Ontology mô tả không chỉ khái niệm và thuộc tính mà còn cung cấp các quan hệ cũng nhƣ các tiên đề phục vụ cho việc suy luận Ontology có rất nhiều lợi thế nhƣ cho phép thêm
dữ liệu vào ngữ nghĩa, quản lý và cập nhật tri thức, tích hợp dữ liệu cũng nhƣ tái sử dụng các thành phần dễ dàng hơn Nhờ đó, ontology là mô tả chính thức của một số bộ từ vựng chuyên môn Vì vậy ứng dụng quan trọng nhất của ontology là biểu diễn tri thức
Ontology đã đƣợc sử dụng thành công trong các hệ thống chuyên gia, mạng ngữ nghĩa,… Do hình thức lý thuyết là logic mô tả, ontology có lợi thế
Trang 27cả về diễn đạt ngữ nghĩa lẫn cơ chế suy luận
1.2.3 Phân loại Ontology
Với mong muốn tăng cường việc sử dụng lại hệ thống cơ sở tri thức bên trong, và đưa ra nhiều dạng Ontology mô tả khả năng khác nhau cho việc tái
sử dụng hệ thống cơ sở tri thức Sự phân loại Ontology có thể được tạo ra theo chủ đề của sự khái niệm hóa.Trong khía cạnh này, phần cốt lõi nhất được tổng kết theo hình [12]
Hình 1.4 Phân loại Ontology
Top-level Ontology: còn gọi là Ontology lớp cao, nhằm diễn tả những khái niệm tổng quan và trừu tượng có thể được chia sẻ qua nhiều lĩnh vực và ứng dụng Nó mượn các ý niệm triết học mô tả những khái niệm lớp cao cho mọi vật về sự tồn tại của chúng, như đối tượng vật chất hay đối tượng trừu tượng như là các ý niệm có đặc điểm chung về tri thức nhận thức thông thường về hiện tượng như thời gian, không gian, các tiến trình Do sự tổng quan của đó, nó không sử dụng trực tiếp trong các ứng dụng, mà thông qua các Ontology khác
Domain Ontology và task Ontology: các loại Ontology này lấy tri thức
từ trong những lĩnh vực xác định, như trong y khoa, địa lý hay tri thức về một tác vụ riêng biệt như sự chẩn hoặc sự cấu hình Về mặt ý tưởng thì Ontology
Trang 28loại này thu hẹp hơn và xác định hơn so với Top-level Ontology Sự khái niệm hóa trong một Domain Ontology là giữ các tác vụ độc lập, khi những ý niệm trong một tác vụ Ontology được miêu tả không có tính chất rõ rệt với chi tiết cụ thể đến một lĩnh vực Sự phát triển của Domain Ontology được thực hiện nhiều ở các lĩnh vực: y học, di truyền, địa lý, du lịch, thông tin môi trường Còn Task Ontology được phát minh cho các tác vụ xây dựng, sắp xếp
kế hoạch làm việc, giám sát trong một lĩnh vực khoa học, cơ sở tri thức máy tính dạy học, sự theo dõi phóng tên lửa, các tác vụ hướng dẫn điều trị bệnh
Application Ontology: càng thu hẹp về phạm vi, Application Ontology cung cập một bộ từ vựng xác định được yêu cầu để mô tả sự ban hành các tác
vụ chắc chắn trong một ngữ cảnh ứng dụng cụ thể Đặc biệt, nó sử dụng cả Domain Ontology và Task Ontology và mô tả vai trò của chúng trong một tác
cụ thể
Dựa theo hệ thống phân cấp của Ontology thông qua sự trình bày ở trên: Ontology ở lớp thấp hơn kế thừa và chuyên môn hóa các khái niệm và mối quan hệ từ Ontology lớp trên Ontology lớp thấp cụ thể hơn và phạm vi ứng dụng thu hẹp hơn, còn Ontology ở lớp cao có khả năng rộng hơn, chủ yếu dành cho việc kế thừa và sử dụng lại
1.2.4 Ngôn ngữ Ontology
Ngôn ngữ Ontology (Ontology languages) là ngôn ngữ hình thức được
sử dụng để xây dựng Ontology (Web_Ontology_Language) Nó cho phép việc mã hóa tri thức trong một lĩnh vực cụ thể và thường bao gồm các quy tắc suy luận cung cấp cho việc xử lý các yêu cầu dựa trên tri thức đó Ngôn ngữ Ontology thường là ngôn ngữ khai báo, và hầu hết là những sự tổng hợp của ngôn ngữ cấu trúc, và thường được xây dựng dựa trên Logic thủ tục (First-Order Logic) hoặc dựa trên Logic mô tả (Description Logic) Có rất nhiều ngôn ngữ Ontology đã được thiết kế và đưa ra tuân theo sự tiêu chuẩn hóa, ta
Trang 29sẽ tìm hiểu một số ngôn ngữ Ontology thông dụng nhất trong ngữ cảnh của
Web ngữ nghĩa và biểu diễn tri thức hiện nay nhƣ RDF, RDFS và OWL
Tìm hiểu về RDF/RDFS
RDF (Resource Description Framework): là một “bộ khung” đƣợc sử
dụng để mô tả các nguồn tài nguyên trên Internet
Mô hình cơ bản của RDF gồm ba đối tƣợng sau:
- Tài nguyên (Resources): là tất cả những gì đƣợc mô tả bằng biểu thức
RDF Thuộc tính
- (Properties): thuộc tính, đặc tính, hoặc quan hệ dùng để mô tả tính
chất của tài nguyên
- Phát biểu (Statements): mỗi phát biểu gồm ba thành phần sau:
Subject (Tài nguyên): địa chỉ hay vị trí tài nguyên muốn mô tả
Predicate (Vị ngữ): xác định tính chất của tài nguyên
Object (Bổ ngữ): có thể là một giá trị nguyên thủy hoặc cũng có thể là một tài nguyên
Mỗi một phát biểu (subject, predicate, object) còn gọi là một bộ ba ( triple)
- Đồ thị RDF
Là một tập hợp các RDF Triple đƣợc gọi là một đồ thị RDF (RDF
Graph)
Mối quan hệ giữa các thành phần trong triple
Hình 1.5 Mối quan hệ giữa các thành phần trong triple
Trang 30- Namespace
Namespace là một tập các tên (name), được định dan bởi các URI, được
sử dụng trong các tài liệu XML như các element type và attribute name
- Literal
Literal được sử dụng để biểu diễn các giá trị như con số, ngày tháng, chuỗi Bất cứ cái gì có thể biểu diễn bởi một giá tri Literal cũng có thể được biểu diễn dưới dạng một URI
- Kiểu dữ liệu có cấu trúc
RDF Container: RDF sử dụng một số phần tử đặc biệt để xây dựng các danh sách, gọi là các “bộ chứa” (RDF Container) Ba phần tử chính được dùng để mô tả các nhóm là rdf:Bag, rdf:Seq và rdf:Alt
RDF Collection: RDF collection cho phép khai báo một tập hợp đóng Cấu trúc của RDF Collection tương tự như một danh sách, có phần tử đầu (rdf:first), phần tử kế (rdf:rest)và phần tử cuối(rdf:nil)
RDFS (RDF Schema)
RDFS được sử dụng để định nghĩa các nguồn tài nguyên và các lớp Trong RDF, tất cả mọi thứ đều được coi là các nguồn tài nguyên, bản thân các lớp cũng là các nguồn tài nguyên, nhưng bên trong nó cũng có thể là tập hợp các nguồn tài nguyên khác
RDF/RDFS trước đây được coi là một thành phần cốt yếu để biểu diễn nội dung trong Semantic Web Tuy nhiên, chúng không đủ mạnh để mô tả thông tin một cách chi tiết Cụ thể hơn, chúng không có các ràng buộc cục bộ giữa domain và range, các ràng buộc tồn tại, tập hợp, các thuộc tính bắc cầu nghịch đảo, đối xứng… (các thuộc tính liên quan đến logic), và đặc biệt là chúng không có chuẩn ngữ nghĩa nên khó hỗ trợ cho suy diễn, lập luận
Điểm mạnh và giới hạn của RDF và RDFS
RDF và RDFS cho phép biểu diễn một vài tri thức ontology Mô hình cơ
Trang 31bản của RDF/RDFS liên quan đến tổ chức bộ từ vựng trong việc phân cấp: các quan hệ lớp con, thuộc tính con, các ràng buộc domain và range, các thể hiện của lớp Tuy nhiên một số các đặc điểm bị thiếu Ví dụ như:
- Tách rời các lớp: Thỉnh thoảng chúng ta muốn chỉ ra các lớp tách rời
nhau Ví dụ lớp Male và lớp Female là tách rời, nhưng trong RDFS chúng ta chỉ có thể để ở quan hệ lớp con, ví dụ: Female là lớp con của lớp Person
- Phạm vi giá trị của thuộc tính: rdfs:range định nghĩa dải giá trị của
thuộc tính áp dụng cho tất cả các lớp Vì vậy trong RDF Schema chúng ta không thể khai báo các ràng buộc với dải giá trị chỉ áp dụng với một vài lớp nhất định Ví dụ, trong RDFS chúng ta không thể định nghĩa bò chỉ ăn cỏ, trong khi các loài động vật khác cũng có thể ăn cỏ
- Kết hợp các lớp với nhau: Đôi khi chúng ta muốn xây dụng một lớp mới
được tạo ra từ việc kết hợp các lớp khác sử dụng hợp hoặc giao hoặc bù Ví dụ chúng ta có thể định nghĩa lớp Person bằng việc hợp hai lớp phân biệt là Male
và Female RDF Schema không cho phép chúng ta định nghĩa như vậy
- Các ràng buộc về lực lượng: Chúng ta muốn các ràng buộc bao nhiêu
giá trị thuộc tính phân biệt có thể có hoặc bắt buộc Ví dụ: Chúng ta thích nói rằng một người có đúng hai cha mẹ, hoặc một khóa học được dạy bởi ít nhất một giảng viên Kiểu ràng buộc này không thể biểu diễn trong RDF Schema được
- Các đặc điểm cụ thể của thuộc tính: Nó hữu ích khi nói một thuộc tính
là bắc cầu (ví dụ “Lớn hơn”), hoặc duy nhất (“là mẹ của”), hoặc nghịch đảo của thuộc tính khác (như thuộc tính “là mẹ của”, và thuộc tính “là con của”)
Vì những hạn chế này mà chúng ta cần một ngôn ngữ ontology giàu
có hơn (cách biểu diễn phong phú ) RDF Schema Trong thiết kế một ngôn ngữ nên chú ý đến sự cân bằng giữa sức mạnh biểu diễn và hỗ trợ suy diễn hiệu quả Nên ngôn ngữ ontology cho web (OWL – Ontology Web Language)
Trang 32ra đời OWL đƣa ra tiêu chuẩn cho ontology sử dụng trong web Mục đích chính của OWL là sẽ cung cấp các chuẩn để tạo ra một nền tảng để quản lý tài nguyên, để chia sẻ cũng nhƣ tái sử dụng dữ liệu trên Web
Hình 1.6 So sánh giữa RDF và RDFS
Trong hình chúng ta thấy, ở tầng RDF chỉ biểu diễn đƣợc thông tin ở dạng bộ ba Đến tầng RDFS, thông tin đã đƣợc phân loại rõ ràng Chẳng hạn nhƣ Quan Thanh Tho có kiểu là Lecturer và Lecturer là lớp con của Academic Staff…
Các lớp và thuộc tính trong RDF/RDFS:
- RDF/RDFS định nghĩa 10 lớp cơ bản:
rdfs :Resource (Chỉ định đây là một tài nguyên)
rdfs :Class (Dùng để khởi tạo một lớp)
rdfs :Literal (Lớp các giá trị nguyên thủy: chuỗi, số nguyên )
rdfs :XMLLiteral rdfs:Container
Trang 33rdf :type (Xác định kiểu cho một tài nguyên)
rdfs :subClassOf (Cho biết là „lớp con của ’)
rdfs:subPropertyOf („Thuộc tính con của ’ thuộc tính)
rdfs:domain (Chỉ định vùng) rdfs :range (Chỉ định tầm vực)
rdfs:label (Gán nhãn cho m ột tài nguyên) rdfs:comment (Chú thích) rdf :member (Thành viên của một lớp chứa - container)
rdf first (Phần tử đầu tiên trong một danh sách RDF)
rdf :rest (Danh sách các phần tử còn lại)
rdfs :seeAlso (Các thông tin bổ sung)
rdfs :isDefinedBy (Được định nghĩa bởi)
rdf :value (Gán một giá trị nào đó cho chủ thể)
rdf :subject (Chủ thể của một phát biểu)
rdf :predicate (Thuộc tính của một phát biểu)
rdf :object (Giá trị thuộc tính của một phát biểu)
Các lớp và thuộc tính thường dùng trong RDF/RDFS chủ yếu là: Resource, Class, Property, type, label, subClassOf, subPropertyOf, domain,
và range Trong đó domain là miền tài nguyên sử dụng thuộc tính đó, còn range là phạm vi giá trị có thể gán cho thuộc tính đó Ví dụ ta có lớp thuộc
Trang 34tính là hasChild thì domain của hasChild là lớp Person, còn range là lớp số nguyên dương chẳng hạn (số con từ 1 trở lên)
Ngôn ngữ OWL
OWL (The Web Ontology Language) là một ngôn ngữ gần như XML dùng để mô tả các hệ cơ sở tri thức OWL là một ngôn ngữ đánh dấu dùng để xuất bản và chia sẻ dữ liệu trên Internet thông qua những mô hình dữ liệu gọi
là “ontology” Ontology mô tả một lĩnh vực (domain) và diễn tả những đối tượng trong lĩnh vực đó cùng những mối quan hệ giữa các đối tượng này OWL là phần mở rộng về từ vựng của RDF và được kế thừa từ ngôn ngữ DAML+OIL Web ontology – một dự án được hỗ trợ bởi W3C OWL biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa các thuật ngữ này để đảm bảo phù hợp với quá trình xử lý bởi các phần mềm
OWL được xem như là một kỹ thuật trọng yếu để cài đặt cho Semantic Web trong tương lai OWL được thiết kế đặc biệt để cung cấp một cách thức thông dụng trong việc xử lý nội dung thông tin của Web Ngôn ngữ này được
kỳ vọng rằng sẽ cho phép các hệ thống máy tính có thể đọc được thay thế cho con người Vì OWL được viết bởi XML, các thông tin OWL có thể dễ dàng trao đổi giữa các kiểu hệ thống máy tính khác nhau, sử dụng các hệ điều hành
và các ngôn ngữ ứng dụng khác nhau Mục đích chính của OWL là sẽ cung cấp các chuẩn để tạo ra một nền tảng để quản lý tài sản, tích hợp mức doanh nghiệp và để chia sẻ cũng như tái sử dụng dữ liệu trên Web OWL được phát triển bởi nó có nhiều tiện lợi để biểu diễn ý nghĩa và ngữ nghĩa hơn so với XML, RDF và RDFS, và vì OWL ra đời sau các ngôn ngữ này, nó có khả năng biểu diễn các nội dung mà máy có thể biểu diễn được trên Web
Các phiên bản của OWL: Hiện nay có ba loại OWL : OWL Lite, OWL
DL (description logic), và OWL Full
- OWL Lite: hỗ trợ cho những người dùng chủ yếu cần sự phân lớp theo
Trang 35thứ bậc và các ràng buộc đơn giản Ví dụ: Trong khi nó hỗ trợ các ràng buộc
về tập hợp, nó chỉ cho phép tập hợp giá trị của 0 hay 1 Điều này cho phép cung cấp các công cụ hỗ trợ OWL Lite dễ dàng hơn so với các bản khác
- OWL DL (OWL Description Logic): hỗ trợ cho những người dùng
cần sự diễn cảm tối đa trong khi cần duy trì tính tính toán toàn vẹn (tất cả các kết luận phải được đảm bảo để tính toán) và tính quyết định (tất cả các tính toán sẽ kết thúc trong khoảng thời gian hạn chế) OWL DL bao gồm tất cả các cấu trúc của ngôn ngữ OWL, nhưng chúng chỉ có thể được sử dụng với những hạn chế nào đó (Ví dụ: Trong khi một lớp có thể là một lớp con của rất nhiều lớp, một lớp không thể là một thể hiện của một lớp khác) OWL DL cũng được chỉ định theo sự tương ứng với logic mô tả, một lĩnh vực nghiên cứu trong logic đã tạo nên sự thiết lập chính thức của OWL
- OWL Full muốn đề cập tới những người dùng cần sự diễn cảm tối đa
và sự tự do của RDF mà không cần đảm bảo sự tính toán của các biểu thức
Ví dụ, trong OWL Full, một lớp có thể được xem xét đồng thời như là một tập của các cá thể và như là một cá thể trong chính bản thân nó OWL Full cho phép một ontology gia cố thêm ý nghiã của các từ vựng được định nghĩa trước (RDF hoặc OWL)
Các phiên bản này tách biệt về các tiện ích khác nhau, OWL Lite là phiên bản dễ hiểu nhất và phức tạp nhất là OWL Full Mối liên hệ giữa các ngôn ngữ con của OWL:
- Mọi ontology hợp lệ dựa trên OWL Lite đều là ontology hợp lệ trên
OWL DL
- Mọi ontology hợp lệ dựa trên OWL DL đều là ontology hợp lệ trên
OWL Full
- Mọi kết luận hợp lệ dựa trên OWL Lite đều là hợp lệ trên OWL DL
- Mọi kết luận hợp lệ dựa trên OWL DL đều là hợp lệ trên OWL Full
Trang 36Bảng 1.1 Các lớp và thuộc tính của OWL
owl:cardinality owl:complementOf owl:distinctMembers owl:differentFrom owl:disjointWith owl:equivalentClass owl:equivalentProperty owl:hasValue
owl:imports owl:incompatiblewith owl:intersectionOf
owl:TransitiveProperty owl:inverseOf
owl:maxCardinality owl:minCardinality owl:oneOf
owl:onProperty owl:priorVersion owl:sameAs owl:sameIndividualAs owl:subClassOf owl:unionOf owl:versionInfo
1.3 Tổng quan về Log Parser
1.3.1 Giới thiệu Log Paser [24]
Log Parser - Trình phân tích cú pháp nhật ký: là một dòng lệnh tiện ích linh hoạt được viết bởi Gabriele Giuseppini một nhân viên của Microsoft, để kiểm tra tự động các file ghi nhật ký của máy chủ IIS Nó được thiết kế để sử dụng với hệ điều hành Windows và được bao gồm trong Công cụ Bộ tài nguyên IIS 6.0 Hành vi mặc định của Log Parser hoạt động giống như một
"đường ống xử lý dữ liệu", bằng cách lấy một biểu thức SQL trên dòng lệnh
và xuất ra các dòng chứa các kết quả phù hợp cho biểu thức SQL
Trang 37Log Parser có thể chạy các truy vấn kiểu ngôn ngữ truy vấn có cấu trúc (SQL) chống lại tệp nguồn (tức là tệp nhật ký) để triển khai nhiều tác vụ liên quan đến nhật ký hoạt động) Các truy vấn kiểu SQL (tức là các truy vấn SQL của LogParser) không tuân theo chính xác tiêu chuẩn ANSI cho ngôn ngữ SQL Ngoài ra, các truy vấn SQL của Log Parser bổ sung Một số phần tử cho các tác vụ không có sẵn trong tiêu chuẩn ANSI Các tác vụ đó bao gồm, ví dụ: nhập, phân tích cú pháp, trình bày và xuất nhiều định dạng dữ liệu tệp nhật ký đầu vào khác nhau (ví dụ: CSV, XML, văn bản, W3C, IIS, bảng cơ sở dữ liệu, ghi nhật ký sự kiện WINDOWS và các định dạng dữ liệu khác)
Log Parser còn cung cấp khả năng lọc các mục nhập nhật ký, tìm kiếm
dữ liệu và mẫu trong các tệp có định dạng dữ liệu khác nhau, chuyển đổi tệp nhật ký từ định dạng dữ liệu này sang định dạng dữ liệu khác, tạo báo cáo có định dạng và tệp XML chứa dữ liệu được truy xuất từ nguồn nhật ký khác nhau , xuất dữ liệu (tất cả hoặc Các phần được chọn của tệp nhật ký) sang các bảng cơ sở dữ liệu (ví dụ: bảng SQL), khai thác dữ liệu, v.v
Để làm được điều này, Log Parser sẽ trích xuất các bản ghi, sử dụng một hoặc nhiều truy vấn kiểu SQL, từ các tệp nguồn của nhiều loại nguồn đầu vào khác nhau Công cụ Log Parser xử lý lọc, nhóm và sắp xếp các bản ghi này theo các điều kiện chỉ định trong truy vấn kiểu SQL Sau đó, Log Parser trình bày các bản ghi đã xử lý (tức là kết quả truy vấn) cho người dùng cuối, ghi kết quả truy vấn vào một hoặc nhiều tệp đầu ra đích hoặc bảng cơ sở dữ liệu ở một hoặc nhiều định dạng dữ liệu được chọn được Log Parser hỗ trợ
Theo cách này, Log Parser có thể yêu cầu thông tin từ các tệp nhật ký của hầu hết mọi định dạng dữ liệu và tạo ra thông tin mong muốn (tức là kết quả truy vấn) để trình bày, lưu trữ trong một tệp có hầu hết mọi định dạng dữ liệu hoặc vào SQL cơ sở dữ liệu Do đó, Log Parser giải quyết các hạn chế của giao diện công nghệ nhật ký hoạt động thông thường đòi hỏi nhiều công cụ độc lập được
Trang 38thiết kế đặc biệt và không hạn chế để phân tích cú pháp, trình bày, xem, xuất nhật ký hoạt động của nhiều định dạng dữ liệu tương ứng khác nhau
1.4 Máy chủ Web
1.4.1 Máy chủ web – web server
Có thể nói khi làm việc về máy tính, đặc biệt là Công Nghệ Thông Tin
chúng ta không thể bỏ qua khái niệm về web server Vậy web server là gì? Web server dịch ra tiếng Việt nghĩa là máy chủ Web server là máy tính
lớn được kết nối với tập hợp mạng máy tính mở rộng Đây là một dạng máy chủ trên internet mỗi máy chủ là một IP khác nhau và có thể đọc các ngôn ngữ như file *.htm và *.html… Tóm lại máy chủ là kho để chứa toàn bộ dữ liệu hoạt động trên internet mà nó được giao quyền quản lý
Web server phải là một máy tính có dung lượng lớn, tốc độ rất cao để có thể lưu trữ vận hành tốt một kho dữ liệu trên internet Nó sẽ điều hành trơn chu cho một hệ thống máy tính hoạt động trên internet, thông qua các cổng giao tiếp riêng biệt của mỗi máy chủ Các web server này phải đảm bảo hoạt động liên tục không ngừng nghỉ để duy trì cung cấp dữ liệu cho mạng lưới máy tính của mình
Hình 1.7 Mô hình web server [17]
Trang 39Có thể hiểu một cách đơn giản hơn là web server chính là máy chủ, được thiết kế với các siêu tính năng dùng để chứa các dữ liệu cho một phần mạng lưới máy tính trên internet Tất cả những hoạt động dịch vụ trên internet nào đều phải có máy chủ này mới hoạt động được
Web server có thể là phần cứng hoặc phần mềm cũng bao gồm cả hai
- Phần cứng: Máy chủ web là một máy tính lưu trữ các file ảnh, tài liệu
HTML, CSS, file JavaScript của một website và chuyển chúng tới thiết bị của End-user Máy chủ được kết nối internet và truy cập thông qua một tên miền như Mozilla.org
- Phần mềm: Web server gồm một số phần điều khiển người dùng truy
cập đến file lưu trữ trên một máy chủ HTTP Máy chủ HTTP là một phần mềm, nó có khả năng hiểu được các địa chỉ website (URL) và giao thức trình duyệt sử dụng để xem các website (HTTP)
Bất cứ khi nào một trình duyệt cần đến file được lưu trữ trên máy chủ, trình duyệt gửi yêu cầu file đó thông qua HTTP Khi yêu cầu tới đúng máy chủ (phần cứng), HTTP (phần mềm) sẽ gửi tài liệu được yêu cầu trở lại thông qua HTTP
1.4.2 Các đặc tính của web server
Web server (máy chủ web) có thể xử lý dữ liệu, cung cấp thông tin đến máy khách qua môi trường internet thông qua giao thức HTTP, giao thức được thiết kế gửi file đến trình duyệt web hay giao thức khác Chẳng hạn: Người dùng truy cập vào website binhdinh.gov.vn Khi đó, server sẽ cung cấp tất cả dữ liệu về website đó thông qua lệnh giao tiếp
Nếu được cài đặt một chương trình Server Software và kết nối internet thì bất cứ máy tính này cũng có thể trở thành web server Phần mềm Server Software là phần mềm chuyên dụng để cài đặt và chạy trên bất cứ máy tính nào có thể đáp ứng đủ yêu cầu về bộ nhớ Nhờ có nó mà người dùng có thể
Trang 40truy cập đến các thông tin của website từ một máy tính khác qua internet Người ta thường thuê các máy chủ nhỏ, máy chủ ảo VPS hay Hosting để lưu trữ dữ liệu cho website của mình
Một server có thể cung cấp cả nội dung Static và Dynamic Static có nghĩa là nội dung nguyên vẹn và dễ dàng để thiết lập Dynamic là nội dung đã được sever xử lý hoặc tạo mới với dữ liệu từ Database, định dạng, đẩy vào trong HTTP Template rồi gửi kết quả đến người dùng
1.4.3 Cơ chế hoạt động của máy chủ web
Khi ta gõ địa chỉ trang web “http://www.binhdinh.gov.vn/” vào trình
duyệt web và nhấn Enter, trang web hiển thị ngay trên màn hình Các bước
cơ bản trong tiến trình truyền tải trang web đến màn hình người dùng bằng cơ chế hoạt động của Web server được thể hiện theo mô hình sau:
Hình 1.8 Mô hình hoạt động của web server [17]