Trên cơ sở ngữ nghĩa này, đề tài phát triển một ứng dụng cung cấp tự động thông tin về các thực thể cho những người đọc tin trên Web.. Các kết quả đạt được tạo nên một nền tảng cho Web c
Trang 1Trường đại học bách khoa tp Hồ chí minh
Báo cáo tổng kết đề tài cấp nhà nước
Trang 2BỘ KHOA HỌC VÀ CÔNG NGHỆ TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TP.HCM
268 Lý Thường Kiệt, Q.10, TP.HCM
Báo cáo tổng kết khoa học và kỹ thuật của đề tài:
Nghiên cứu phát triển các kỹ thuật xây dựng và khai thác thông tin Web có ngữ nghĩa
Mã số đề tài: KC.01.21
Chủ nhiệm đề tài: Cao Hoàng Trụ
TP.HCM 12/2006
Trang 3ích của loài người Đó là thế hệ Web có Ngữ nghĩa (Semantic Web), được Tim
Berners-Lee, cha đẻ của WWW, phác thảo ra vào năm 1998
Ở thế hệ hiện tại, thông tin được lưu trữ trong các trang Web dưới dạng văn bản, hình ảnh, và âm thanh mà chỉ có con người mới đọc, nhìn, nghe và hiểu được Với lượng thông tin vô cùng lớn trên WWW như hiện nay, con người không thể tự mình tìm kiếm,
xử lý, và khai thác chúng, mà cần có sự trợ giúp của máy tính Muốn vậy, trước hết máy tính phải hiểu được thông tin lưu trữ trong các trang Web để có thể xử lý chúng một cách
tự động, tức là các trang Web phải có ngữ nghĩa đối với máy tính Mục tiêu và viễn cảnh này của Web có ngữ nghĩa đã thu hút sự quan tâm và đầu tư của nhiều nhà nghiên cứu và các tổ chức trên thế giới
Ngoài những vấn đề về lý thuyết và công nghệ chung, việc đưa ngữ nghĩa vào các trang Web còn phụ thuộc vào ngôn ngữ tự nhiên và miền tri thức cụ thể của từng quốc gia
Đó cũng là ý nghĩa của đề tài này, nhằm nghiên cứu phát triển các kỹ thuật xây dựng và khai thác thông tin Web có ngữ nghĩa tiếng Việt Như là bước khởi đầu, đề tài tập trung vào mức độ ngữ nghĩa cơ bản nhất của một trang Web là lớp của các thực thể có tên, như con người, tổ chức, nơi chốn, xuất hiện trong đó Trên cơ sở ngữ nghĩa này, đề tài phát triển một ứng dụng cung cấp tự động thông tin về các thực thể cho những người đọc tin trên Web
Trước hết, đề tài xây dựng một cơ sở tri thức về các thực thể phổ biến nhất ở Việt Nam và trên thế giới Bước tiếp theo, đề tài nghiên cứu và hiện thực các kỹ thuật để xử lý tiếng Việt và rút trích lớp thực thể trên các trang Web một cách tự động Đồng thời, đề tài nghiên cứu các độ đo và kỹ thuật xử lý truy vấn để người sử dụng có thể truy hồi chính xác hoặc gần đúng thông tin từ cơ sở tri thức đã xây dựng và kho tài liệu Web đã được chú thích Trên các cơ sở này, đề tài phát triển các phần mềm ứng dụng rút trích và truy hồi thông tin cho người sử dụng đầu cuối, và xây dựng một hệ thống máy chủ để đáp ứng nhiều yêu cầu đồng thời Các kết quả đạt được tạo nên một nền tảng cho Web có ngữ nghĩa tiếng Việt, đủ để hiện thực một số ứng dụng tiêu biểu và có thể phát triển tiếp thành một cơ sở hạ tầng hoàn chỉnh
Trang 4Mục lục
Danh mục hình vii
Danh mục bảng x
Chương 1 Giới thiệu 1
1.1 Thông tin tóm tắt về đề tài 1
1.2 Động cơ thực hiện đề tài 4
1.3 Phạm vi và mục tiêu của đề tài 5
1.4 Cấu trúc của quyển báo cáo 8
Chương 2 Tham khảo các nghiên cứu liên quan và thiết kế hệ thống 11
2.1 Web có ngữ nghĩa 11
2.2 Các công nghệ và ngôn ngữ hỗ trợ 17
2.3 Hệ thống KIM 28
2.4 Kiến trúc của VN-KIM 32
Chương 3 Xây dựng Ontology và cơ sở tri thức 39
3.1 Ontology và cơ sở tri thức của KIM 39
3.2 Thiết kế và xây dựng Ontology 41
3.3 Xây dựng cơ sở tri thức 50
3.4 Vấn đề bí danh 55
Chương 4 Rút trích và chú thích lớp của các thực thể có tên 57
4.1 Nhận dạng mã tiếng Việt và khối văn bản tin 57
4.2 Gán nhãn từ loại và nhận biết danh từ riêng 65
4.3 Nhận biết lớp thực thể 70
4.4 Vấn đề đồng tham chiếu và mập mờ thực thể 81
Chương 5 Truy vấn cơ sở tri thức và kho các trang Web có ngữ nghĩa 89
5.1 Truy vấn cơ sở tri thức 89
5.2 Độ tương tự và độ bao phủ 93
5.3 Truy vấn gần đúng 101
5.4 Truy vấn kho các trang Web có ngữ nghĩa 106
Trang 5Chương 6 Xây dựng hệ thống máy chủ và xử lý song song các yêu cầu 111
6.1 Thiết kế và hiện thực mô hình xử lý song song 111
6.2 Phát triển dịch vụ chú thích ngữ nghĩa 115
6.3 Phát triển dịch vụ truy hồi tri thức và tài liệu 118
6.4 Thử nghiệm tải của các dịch vụ 121
Chương 7 Phát triển các phần mềm công cụ và ứng dụng 127
7.1 Phần mềm xây dựng và quản trị cơ sở tri thức 127
7.2 Phần mềm truy hồi thông tin 132
7.3 Plug-in rút trích và truy hồi thông tin 141
Chương 8 Tổng kết 145
8.1 Tóm tắt các kết quả đạt được 145
8.2 Hướng phát triển 152
Lời cảm ơn 153
Tài liệu tham khảo 155
Phụ lục: Các báo cáo kỹ thuật, hướng dẫn sử dụng phần mềm, bài báo khoa học 171
Trang 6Danh mục hình
2.1.1 Các tầng của Web có ngữ nghĩa 12
2.1.2 Biểu diễn ngữ nghĩa bằng đồ thị khái niệm 15
2.2.1 Kiến trúc của Sesame 21
2.2.2 Biểu diễn đồ thị của một truy vấn SeRQL 23
2.2.3 Một đồ thị khái niệm ví dụ 26
2.2.4 Một đồ thị khái niệm với liên kết đồng tham chiếu 27
2.2.5 Một đồ thị khái niệm bị phủ định 28
2.2.6 Các đồ thị khái niệm lồng nhau 28
2.3.1 Rút trích thông tin bởi KIM 29
2.3.2 Kiến trúc tổng quát của KIM 31
2.3.3 Một mẫu truy vấn cố định của KIM 32
2.4.1 Kiến trúc của VN-KIM 33
2.4.2 Thành phần rút trích thông tin của VN-KIM 35
2.4.3 Truy hồi thông tin trong VN-KIM 36
3.2.1 Sơ đồ phân cấp lớp thực thể về tổ chức 43
3.2.2 Sơ đồ phân cấp lớp thực thể về tổ chức nhà nước 44
3.2.3 Sơ đồ phân cấp lớp thực thể về tổ chức giáo dục và đào tạo 44
3.2.4 Sơ đồ phân cấp lớp thực thể về tổ chức thương mại 45
3.2.5 Sơ đồ phân cấp quản lý của các đơn vị hành chính ở Việt Nam 46
3.2.6 Sơ đồ phân cấp lớp thực thể về đơn vị hành chính 46
3.2.7 Sơ đồ phân cấp lớp thực thể về điểm đặc biệt 48
4.1.1 Một trang Web với các khối văn bản tin tức 60
4.1.2 Vị trí các khối văn bản tin tức trong tập tin HTML 60
4.1.3 Hai trang Web có cùng khung mẫu 62
4.2.1 Phân đoạn từ trong VN-KIM 66
4.2.2 Ví dụ về một đồ thị trạng thái trong phân đoạn từ 67
4.2.3 Ví dụ về các luật nhận diện ngày tháng 68
4.2.4 Mô hình kết hợp luật và xác suất để gán nhãn từ loại 70
4.3.1 Sơ đồ các bước chú thích ngữ nghĩa trong VN-KIM 72
4.3.2 Các bước xử lý chi tiết của so trùng mẫu trong VN-KIM IE 75
Trang 74.3.3 Một luật loại bỏ chú thích sai cho chuỗi có viết hoa chữ đầu 75
4.3.4 Hai luật nhận diện các tên thực thể phủ lấp nhau 76
4.3.5 Một luật nhận diện thực thể dựa trên ngữ liệu 77
4.3.6 Một luật nhận diện thực thể dựa trên ngữ cảnh 77
4.3.7 Một luật giải quyết các chú thích gây mâu thuẫn 78
4.3.8 Một luật sinh ra chú thích cuối cùng 78
4.4.1 Kết hợp phân giải đồng tham chiếu và mập mờ trong VN-KIM IE 81
4.4.2 Hàm kiểm tra sự đồng tham chiếu trong VN-KIM IE 84
4.4.3 Giải thuật loại bỏ nhập nhằng dựa vào mối quan hệ giữa các thực thể 86
4.4.4 Các bước loại bỏ mập mờ dựa trên sự đồng tham chiếu 87
5.1.1 Một đồ thị khái niệm truy vấn 90
5.1.2 Giải thuật dịch đồ thị khái niệm truy vấn sang SeRQL 91
5.1.3 Soạn thảo một đồ thị khái niệm truy vấn 92
5.1.4 Các phát biểu SeRQL tương đương và kết quả trả về 93
5.2.1 Độ bao phủ so với độ tương tự 98
5.3.1 Một đồ thị khái niệm truy vấn và sự tổng quát hoá của nó 102
5.3.2 Giải thuật tổng quát hoá và dịch đồ thị khái niệm truy vấn sang SeRQL 103
5.3.3 Một đồ thị trả lời gần đúng 104
5.3.4 Một ví dụ khác về đồ thị truy vấn và trả lời 104
5.3.5 Đồ thị khái niệm truy vấn và tìm kiếm gần đúng 105
5.3.6 Đồ thị khái niệm truy vấn và tìm kiếm chính xác 105
5.4.1 Kiến trúc của HTTPLuceneServer 106
5.4.2 Cấu trúc XML của kết quả trả về 108
6.1.1 Kiến trúc của hệ thống máy chủ xử lý song song SWG cho VN-KIM 112
6.1.2 Đoạn mã bằng Java khai báo một lớp trong VOIService 114
6.1.3 Mô hình hoạt động của các dịch vụ và nhóm máy chủ của VN-KIM 115
6.2.1 Quá trình tiếp nhận và xử lý yêu cầu chú thích 116
6.2.2 Các bước của dịch vụ chú thích ngữ nghĩa 117
6.2.3 Điều khiển các module thực hiện quá trình chú thích 118
6.3.1 Quá trình tiếp nhận và xử lý yêu cầu truy hồi tri thức 120
6.3.2 Giải thuật phân tải truy vấn cơ sở tri thức 120
6.3.3 Quá trình tiếp nhận và xử lý yêu cầu truy hồi tài liệu 121
Trang 86.4.1 Đáp ứng thời gian của Server chú thích 122
6.4.2 Đáp ứng thời gian của Sesame Server 124
6.4.3 Đáp ứng thời gian của Lucene Server 125
7.1.1 Giao diện soạn thảo lớp của VN-KIM Ontology Builder 129
7.1.2 Giao diện soạn thảo thuộc tính của VN-KIM Ontology Builder 129
7.1.3 Giao diện chính của VN-KIM KB Access 130
7.1.4 Giao diện chính của VN-KIM KB Project 131
7.1.5 Giao diện tạo Project mới của VN-KIM KB Project 132
7.2.1 Soạn thảo các nút khái niệm trong VN-KIM QER 133
7.2.2 Ràng buộc các thuộc tính thực thể trong VN-KIM QER 134
7.2.3 Soạn thảo các nút quan hệ trong VN-KIM QER 135
7.2.4 Hoàn tất một đồ thị truy vấn với VN-KIM QER 135
7.2.5 Tìm kiếm chính xác trong VN-KIM QER 136
7.2.6 Tìm kiếm gần đúng trong VN-KIM QER 137
7.2.7 Truy vấn bằng SeRQL trong VN-KIM QER 138
7.2.8 Truy vấn bằng mẫu cố định trong VN-KIM QER 139
7.2.9 Tìm kiếm tài liệu trong VN-KIM QER 140
7.2.10 Chọn các thực thể để tìm tài liệu 140
7.2.11 Các tài liệu trả về từ VN-KIM QER 141
7.3.1 VN-KIM Plug-in và một trang Web sau khi được chú giải 142
7.3.2 Duyệt các thực thể đã được nhận diện với VN-KIM Plug-in 142
7.3.3 Tìm kiếm thực thể và tài liệu với VN-KIM Plug-in 143
Trang 9Danh mục bảng
1.1.1 Thông tin tóm tắt về đề tài 1
1.1.2 Danh sách các thành viên chính của đề tài 2
1.1.3 Danh sách các thành viên tham gia thực hiện đề tài 3
1.3.1 Danh mục các sản phẩm khoa học công nghệ của đề tài 7
3.3.1 Nguồn tài liệu tham khảo cho từng miền thực thể trong cơ sở tri thức 51
3.3.2 Thống kê số lượng các thực thể thuộc ba lớp cấp trên 54
3.3.3 Thống kê số lượng ngữ liệu tương ứng với ba lớp cấp trên 54
3.3.4 Thống kê số lượng thực thể thuộc các lớp chính 54
4.1.1 Tốc độ thực thi của module chuyển mã tiếng Việt 59
4.1.2 Kết quả thử nghiệm giải thuật nhận dạng khối văn bản tin tức 64
4.2.1 Kết quả của phương pháp xác suất và phương pháp kết hợp 70
4.3.1 Số liệu thử nghiệm trên ba lớp cơ sở 80
4.3.2 Số liệu thử nghiệm trên mười lớp chi tiết 80
4.3.3 Số liệu thử nghiệm ở công ty VYC và báo Người lao động 80
5.4.1 Các URL để kết nối đến HTTPLuceneServer 108
6.4.1 Độ giảm thời gian hoàn thành chú thích 123
6.4.2 Độ giảm thời gian hoàn thành truy hồi thực thể 124
6.4.3 Độ giảm thời gian hoàn thành truy hồi tài liệu 125
8.1.1 Các phần mềm chủ yếu của đề tài 146
8.1.2 Các bài báo khoa học liên quan đến đề tài 149
8.1.3 Các sinh viên và luận án tốt nghiệp liên quan đến đề tài 150
Trang 10Chương 1
Giới thiệu
1.1 Thông tin tóm tắt về đề tài
Bảng 1.1.1 tóm lược các thông tin cơ bản về đề tài Bảng 1.1.2 là danh sách các thành viên chính của đề tài và nhóm công việc đảm trách Bảng 1.1.3 là danh sách các thành viên còn lại đã tham gia trong quá trình thực hiện đề tài
Bảng 1.1.1 Các thông tin cơ bản về đề tài
1 Tên đề tài
NGHIÊN CỨU PHÁT TRIỂN CÁC KỸ
THUẬT XÂY DỰNG VÀ KHAI THÁC
THÔNG TIN WEB CÓ NGỮ NGHĨA
Trong đó, từ Ngân sách SNKH: 1.600 triệu đồng
(Thuê khoán: 745tr., nguyên vật liệu: 81tr., thiết bị: 1.054tr., chi khác: 164tr.)
Trang 116 Thuộc Chương trình
NGHIÊN CỨU KHOA HỌC VÀ PHÁT TRIỂN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
7 Chủ nhiệm đề tài
Họ và tên: Cao Hoàng Trụ
Học hàm/học vị: Phó Giáo sư, Tiến sỹ
Điện thoại: 84-8-8647256 (5848) Fax: 84-8-8645137
E-mail: tru@dit.hcmut.edu.vn
Địa chỉ: Khoa Công nghệ Thông tin, Trường Đại học Bách Khoa,
Đại học Quốc gia TP.HCM, 268 Lý Thường Kiệt, Quận 10, TP.HCM
8 Cơ quan chủ trì đề tài
Tên tổ chức KH&CN: Trường Đại học Bách Khoa, Đại học Quốc gia TP.HCM Điện thoại: 84-8-8647256 Fax: 84-8-8653823
E-mail: khcn@hcmut.edu.vn
Địa chỉ: 268 Lý Thường Kiệt, Quận 10, TP.HCM
Bảng 1.1.2 Danh sách các thành viên chính của đề tài
TT Họ và tên Cơ quan công tác Công việc đảm trách
2 PGS.TS Phan Thị Tươi Khoa Công nghệ Thông tin,
5 PGS.TSKH Bùi Công Cường Viện Toán học, Hà Nội
6 TS Trần Văn Lăng PV Công nghệ Thông tin HCM
Xử lý truy vấn mờ và song song
7 ThS Trần Ngọc Tuấn PV NC ĐT-TH-TĐH HCM
8 ThS Nguyễn Hoà Đại học Mở TP.HCM
Xây dựng Ontology và cơ
sở tri thức
9 Ô Thẩm Tuyên Báo NLĐ, Vietnam Net
10 Ô Lê Hồng Phong Công ty Du lịch VYC
Sử dụng thử và đánh giá hiệu quả của hệ thống
Trang 12Bảng 1.1.3 Danh sách các thành viên tham gia thực hiện đề tài
1 ThS Nguyễn Thị Trúc Viên Khoa Công nghệ Thông tin, ĐH Bách Khoa, ĐHQG HCM
2 ThS Huỳnh Tấn Đạt Khoa Công nghệ Thông tin, ĐH Bách Khoa, ĐHQG HCM
3 ThS Nguyễn Quang Hùng Khoa Công nghệ Thông tin, ĐH Bách Khoa, ĐHQG HCM
4 KS Huỳnh Ngọc Tuyên NCS, Khoa Khoa học Máy tính, ĐH Texas - Austin
5 KS Vũ Quang Duy NCS, Khoa Khoa học Máy tính, ĐH Texas - Austin
6 KS Nguyễn Quang Châu Khoa Công nghệ Thông tin, ĐH Công nghiệp HCM
7 ThS Lê Phú
8 ThS Nguyễn Thanh Hiên Khoa Công nghệ Thông tin, ĐH Công nghiệp HCM
9 ThS Nguyễn Thanh Phong
10 KS Đỗ Thanh Hải SV Cao học, ĐH La Trobe
11 KS Phạm Trần Ngọc Bảo Công ty PSV
12 KS Nguyễn Đăng Nhân PV Công nghệ Thông tin HCM
13 KS Huỳnh Hữu Việt PV Công nghệ Thông tin HCM
14 KS Phạm Hoài An Công ty PSV
15 KS Nguyễn Thị Tú Anh
16 KS Tạ Quốc Hưng Công ty ELCA
17 KS Nguyễn Hoài Lê Công ty IITS
18 KS Hà Thúc Việt Khoa Công nghệ Thông tin, ĐH Bách Khoa, ĐHQG HCM
19 KS Nguyễn Văn Quang Ánh Công ty Renesas
20 KS Cao Đức Nguyên Khoa Công nghệ Thông tin, ĐH Quốc tế, ĐHQG HCM
21 KS Trần Anh Dũng SV Cao học, Trường Kỹ thuật Máy tính, ĐHCN Nanyang
22 KS Tạ Thị Hoàng Mai Viện Môi trường và Tài nguyên, ĐHQG TP.HCM
23 KS Lương Quang Tùng Công ty TMA
24 ThS Quản Thành Thơ NCS, Trường Kỹ thuật Máy tính, ĐH Công nghệ Nanyang
25 ThS Nguyễn Duy Ngạn NCS, Trường Kỹ thuật Máy tính, ĐH Công nghệ Nanyang
26 ThS Nguyễn Chánh Thành NCS, Khoa CNTT, ĐH Bách Khoa, ĐHQG HCM
27 ThS Nguyễn Chí Hiếu NCS, Khoa CNTT, ĐH Bách Khoa, ĐHQG HCM
28 Hồng Trung Dũng SV, Khoa CNTT, ĐH Bách Khoa, ĐHQG HCM
29 Ma Nam SV, Khoa CNTT, ĐH Bách Khoa, ĐHQG HCM
30 Nguyễn Thị Bảo Ngọc SV, Khoa CNTT, ĐH Bách Khoa, ĐHQG HCM
31 Nguyễn Đình Long Vân SV, Khoa CNTT, ĐH Bách Khoa, ĐHQG HCM
32 Trần Thế Trọng Tuệ SV, Khoa CNTT, ĐH Bách Khoa, ĐHQG HCM
33 Võ Đình Quang SV, Khoa CNTT, ĐH Bách Khoa, ĐHQG HCM
Trang 131.2 Động cơ thực hiện đề tài
Như chúng ta đã thấy, World Wide Web (gọi tắt là Web) đã trở thành một kho tàng thông tin khổng lồ của nhân loại và một môi trường chuyển tải thông tin không thể thiếu được trong thời đại công nghệ thông tin ngày nay Sự phổ biến và bùng nổ thông tin trên Web cũng đặt ra một thách thức mới là làm thế nào để khai thác được thông tin trên Web một cách hiệu quả, mà cụ thể là làm sao để máy tính có thể trợ giúp xử lý tự động được chúng Muốn vậy, trước hết máy tính phải hiểu được thông tin trên các tài liệu Web, trong khi ở thế hệ Web hiện tại thông tin được biểu diễn dưới dạng văn bản thô mà chỉ con người mới đọc hiểu được
Điều này đã thúc đẩy sự ra đời của ý tưởng Web có ngữ nghĩa (Semantic Web), một
thế hệ mới của Web, mà lộ trình phát triển của nó đã được Tim Berners-Lee, cha đẻ của Web, phác thảo ra từ năm 1998 ([6], [7]) Web có ngữ nghĩa 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 con 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 Mục tiêu của Web có ngữ nghĩa là để phát triển các chuẩn chung và công nghệ cho phép máy tính có thể hiểu được nhiều hơn thông tin trên Web, sao cho chúng có thể hỗ trợ tốt hơn việc khám phá thông tin, tích hợp dữ liệu,
và tự động hóa các công việc
Để thúc đẩy các hoạt động và tạo điều kiện cho các nhà nghiên cứu gặp gỡ, trao đổi kinh nghiệm, và hợp tác trong việc giải quyết các vấn đề nói trên, cộng đồng Web có ngữ nghĩa trên thế giới đã tiến hành tổ chức thường niên các hội thảo và hội nghị quốc tế về Web có ngữ nghĩa Hội thảo quốc tế lần đầu tiên được tổ chức tại Trường Đại học Stanford, Mỹ, từ ngày 30/7 đến ngày 01/8/2001 Tiếp sau đó, hội nghị quốc tế lần thứ nhất được tổ chức ở Sardinia, Ý, từ ngày 09 đến ngày 12/6/2002 Từ đó đến nay, số báo cáo chọn lọc có chất lượng cao ngày càng tăng ở các hội nghị tiếp theo
Cũng như trên thế giới, Internet và Web đã trở nên rất phổ biến và được ứng dụng rộng rãi ở Việt Nam Ở mức đơn giản các trang Web tĩnh và động được sử dụng để giới thiệu, quảng cáo, hay đăng tin tức về một tổ chức, một công ty, hay một trường đại học Web cũng đã được sử dụng như một môi trường và phương tiện để đặt hàng, đăng ký mua
vé, tra cứu sách thư viện, hay đào tạo từ xa Nhận thấy tìm kiếm thông tin là một nhu cầu quan trọng và rất lớn trong môi trường làm việc với Web, một số công ty ở Việt Nam
Trang 14cũng đã nghiên cứu phát triển các động cơ tìm kiếm các tài liệu Web tiếng Việt, như NETNAM hay VINASEEK Trong các trường đại học, nhiều đề tài tốt nghiệp của sinh viên cũng đã được thực hiện về vấn đề phát triển các hệ thông hỗ trợ các dịch vụ khách sạn, du lịch, đại lý bán vé, thương mại điện tử, quản lý đào tạo,
Tuy nhiên, tất cả các ứng dụng và nghiên cứu nói trên đều ở thế hệ Web hiện tại, tức
là chưa có ngữ nghĩa Cần phân biệt rõ là, mặc dù các động cơ tìm kiếm hiện nay có đề cập
và xử lý sự tương tự về các từ khoá tìm kiếm, đó chỉ là một phần ngữ nghĩa ở mức từ vựng, chứ chưa ở mức thực thể và luận lý như ở Web có ngữ nghĩa ([17], [18]) Như đã trình bày
ở trên, hướng phát triển này chỉ mới bắt đầu trên thế giới gần đây, nên cũng không ngạc nhiên khi khái niệm Web có ngữ nghĩa còn chưa được biết đến một cách rộng rãi ở Việt Nam
Khảo sát trên cho thấy Web có ngữ nghĩa đang là một chủ đề nghiên cứu nóng bỏng trên thế giới, và là một xu thế tất yếu để con người có thể quản lý và khai thác được một cách hiệu quả kho tàng thông tin khổng lồ và không ngừng phát triển trên Web Hướng đi này cũng chỉ mới được mở ra với rất nhiều vấn đề còn chưa có lời giải và cần được nghiên cứu Đây là một thách thức và cũng là một cơ hội để các nhà khoa học ở Việt Nam có thể tham gia nghiên cứu tạo ra những đột phá về lý thuyết và công nghệ, vừa đóng góp vào thành quả chung của thế giới, vừa có thể ứng dụng để phát triển Web ở Việt Nam mà không phải nhập khẩu tất cả các công nghệ từ nước ngoài
Đề tài này được đề xuất thực hiện trong bối cảnh nói trên Một mặt, đề tài nhằm để xây dựng một cơ sở hạ tầng cho Web Việt có ngữ nghĩa, bao gồm một cơ sở tri thức và các công cụ phần mềm cơ bản nhất Mặt khác, đề tài cũng muốn tạo ra một sản phẩm có ứng dụng thực tiễn trên Web tiếng Việt, để cho thấy ý nghĩa và thúc đẩy việc nghiên cứu và phát triển Web có ngữ nghĩa ở Việt Nam
1.3 Phạm vi và mục tiêu của đề tài
Đề tài có các mục tiêu chính sau đây:
1 Tiếp cận lý thuyết và ứng dụng kết quả đã có về Web có ngữ nghĩa Nghiên cứu
mở rộng chúng cho tiếng Việt và cải tiến chúng để tăng hiệu quả sử dụng
Trang 152 Phát triển các giải pháp kỹ thuật hỗ trợ xây dựng và khai thác Web có ngữ nghĩa,
để xây dựng một cơ sở tri thức về các thực thể có tên (con người, tổ chức, nơi chốn, ) quan trọng nhất ở Việt Nam, và một hệ thống chú thích ngữ nghĩa tự động các tài liệu Web tiếng Việt
3 Phát triển và ứng dụng các dịch vụ dựa trên nền Web có ngữ nghĩa, cho phép người sử dụng đăng tải và khai thác thông tin trên cơ sở tri thức đã xây dựng và các tài liệu Web đã được chú thích ngữ nghĩa
Để đạt được các mục tiêu nói trên của đề tài, các nội dung cần nghiên cứu là:
1 Xây dựng Ontology và cơ sở tri thức cho các thực thể có tên thường được đề cập đến trong các tin tức ở Việt Nam, bao gồm các nhân vật, thành phố, công ty, tổ chức, :
- Tham khảo Ontology của các cơ sở tri thức tương tự hoặc liên quan đã có để thiết kế và xây dựng Ontology cho đề tài
- Nghiên cứu và mở rộng các phần mềm mã nguồn mở đã có để lưu trữ và quản trị Ontology và cơ sở tri thức
- Thu thập thông tin, thiết kế và xây dựng cơ sở tri thức về các thực thể có tên ở Việt Nam
2 Hiện thực động cơ rút trích thông tin và chú thích ngữ nghĩa cho các thực thể có tên trong các tài liệu Web tiếng Việt:
- Nghiên cứu và mở rộng các phần mềm mã nguồn mở đã có về xử lý ngôn ngữ
tự nhiên và rút trích thông tin cho tiếng Việt và cơ sở tri thức của đề tài
- Hiện thực động cơ rút trích thông tin và chú thích ngữ nghĩa
3 Xử lý các truy vấn gần đúng và nâng cao tốc độ truy hồi thông tin:
- Nghiên cứu và ứng dụng các lý thuyết xác suất và mờ để trả lời gần đúng các truy vấn
- Nghiên cứu và ứng dụng tính toán song song để nâng cao tốc độ truy hồi thông tin
- Hiện thực động cơ trả lời truy vấn
4 Phát triển các ứng dụng và giao diện đồ hoạ cho phép chú thích tự động ngữ nghĩa của các thực thể có tên trong các tài liệu Web tiếng Việt, và truy vấn cơ sở tri thức
và kho tài liệu Web có ngữ nghĩa:
Trang 16- Phát triển ứng dụng và giao diện đồ hoạ chú thích tự động ngữ nghĩa
- Phát triển ứng dụng và giao diện đồ hoạ truy hồi thông tin
- Tạo cơ chế cho người sử dụng truy cập và sử dụng hệ thống từ xa
Với thời gian và kinh phí cho phép, đề tài đặt ra các giới hạn sau:
1 Cơ sở tri thức chỉ bao gồm các thực thể thuộc các miền phổ biến nhất trên các trang Web tiếng Việt, với số lượng vào khoảng 60.000 thực thể
2 Chỉ rút trích thông tin ở mức độ lớp của thực thể có tên, và độ chính xác và độ đầy đủ vào khoảng 80% như các hệ thống tương tự trên thế giới dùng cho tiếng Anh
3 Hệ thống máy chủ đủ để trình diễn các ứng dụng của đề tài, nhưng được thiết kế
để mở rộng được với nhiều máy chủ hơn cho một hệ thống Web có ngữ nghĩa tiếng Việt phục vụ nhiều người sử dụng thật sự
Bảng 1.3.1 trình bày các sản phẩm khoa học công nghệ cùng các chỉ tiêu kinh tế kỹ thuật
mà đề tài đăng ký thực hiện
Bảng 1.3.1 Danh mục các sản phẩm khoa học công nghệ của đề tài
TT Tên sản phẩm Chỉ tiêu kinh tế kỹ thuật
1 Ontology và cơ sở tri thức về các thực thể có tên ở Việt
Nam, kèm theo phần mềm công cụ xây dựng Ontology
và cơ sở tri thức
~ 200 lớp thực thể
~ 80 tính chất
~ 60.000 thực thể
2 Phần mềm công cụ rút trích thông tin và chú thích ngữ
nghĩa cho các thực thể có tên trong các tài liệu Web tiếng
Việt mã Unicode
~ 80% độ chính xác và độ đầy đủ
3 Phần mềm công cụ so trùng song song và bán phần các
cấu trúc khái niệm biểu diễn dưới dạng RDF - Song song trên 4 máy chủ
- Trả về độ so trùng ∈ [0,1]
4 Phần mềm ứng dụng với giao diện đồ họa chú thích tự
động ngữ nghĩa của các thực thể có tên, và trả lời các truy
vấn trên cơ sở tri thức và kho tài liệu Web có ngữ nghĩa
- Plug-in chú thích ngữ nghĩa
- Giao diện truy vấn và trả lời
5 Hệ thống Supernode với 4 máy chủ theo kiến trúc đa xử
lý đối xứng, với tốc độ của mỗi máy ~5,6GHz
Chức năng:
- Máy chủ Web
- Máy chủ cơ sở dữ liệu
- So trùng song song
Trang 171.4 Cấu trúc quyển báo cáo
Sau Chương 1, các chương tiếp theo của quyển báo cáo này sẽ trình bày chi tiết các ý tưởng và giải pháp để đạt được các mục tiêu nói trên của đề tài Các chương được tổ chức như sau
Chương 2 trình bày các nghiên cứu liên quan và kiến trúc hệ thống VN-KIM của đề tài Mục 2.1 giới thiệu về Web có ngữ nghĩa và cho thấy vị trí của đề tài đối với các hướng phát triển hiện nay trong lĩnh vực này Mục 2.2 tóm tắt các công nghệ liên quan, bao gồm các phần mềm mã nguồn mở mà đề tài kế thừa và phát triển Mục 2.3 trình bày hệ thống KIM, một ứng dụng quan trọng cho Web có ngữ nghĩa tiếng Anh, với các chức năng tương tự với hệ thống mà đề tài xây dựng Mục 2.4 mô tả kiến trúc hệ thống của đề tài cùng các thành phần chính yếu trong đó
Chương 3 trình bày việc xây dựng Ontology và cơ sở tri thức của VN-KIM Mục 3.1 phân tích các đặc tính của Ontology và cơ sở tri thức của hệ thống KIM mà đề tài tham khảo Mục 3.2 trình bày việc thiết kế chi tiết các lớp trong Ontology của VN-KIM Mục 3.3 mô tả các phương thức và quá trình thu thập tri thức Mục 3.4 đề cập đến vấn đề các tên khác nhau của cùng một thực thể, và việc thu thập và chuẩn hoá các bí danh này Nội dung của chương này là sự bổ sung và cập nhật của [16]
Chương 4 trình bày việc rút trích và chú thích lớp của các thực thể có tên trong VN-KIM Mục 4.1 giải quyết vấn đề nhận dạng mã kí tự và các khối văn bản tin trên các trang Web tiếng Việt Mục 4.2 trình bày bước gán nhãn từ loại và nhận dạng tên riêng trong quá trình rút trích thông tin Mục 4.3 thiết kế và hiện thực các luật và giải thuật nhận dạng thực thể Mục 4.4 bàn về vấn đề đồng tham chiếu và mập mờ thực thể của các tên thực thể Chương này dựa trên các kết quả của [77], [78], [98], [99], [102], [105], và [109]
Chương 5 trình bày việc truy vấn cơ sở tri thức và kho các trang Web đã chú thích trong VN-KIM Mục 5.1 mô tả các ngôn ngữ và phương thức để truy vấn cơ sở tri thức Mục 5.2 định nghĩa các độ đo so trùng gần đúng các đồ thị tri thức, bao gồm độ tương tự
và độ bao phủ Mục 5.3 giới thiệu kỹ thuật biến đổi truy vấn để tìm câu trả lời gần đúng cho truy vấn Mục 5.4 trình bày việc lưu trữ, lập chỉ mục, và truy hồi các trang Web đã
Trang 18được chú thích theo các thực thể có tên Nội dung của chương này là sự tổng hợp của [18], [19], [20], [21], [41], [58] và [97]
Chương 6 trình bày việc xây dựng hệ thống máy chủ và xử lý song song các yêu cầu cho VN-KIM Mục 6.1 thiết kế và hiện thực mô hình xử lý song song các yêu cầu rút trích
và truy hồi thông tin Mục 6.2 phát triển các dịch vụ trên máy chủ để rút trích và chú thích lớp của các thực thể Mục 6.3 phát triển các dịch vụ truy vấn cơ sở tri thức và kho các trang Web có ngữ nghĩa trên máy chủ Chương này tóm tắt các kết quả đã được trình bày chi tiết trong [97], [100], [103], và [109]
Chương 7 trình bày việc phát triển các phần mềm công cụ và ứng dụng của VN-KIM Mục 7.1 giới thiệu phần mềm công cụ phổ dụng để xây dựng và quản trị cơ sở tri thức Mục 7.2 giới thiệu phần mềm ứng dụng trên Windows cho phép truy vấn cơ sở tri thức bằng đồ thị khái niệm Mục 7.3 giới thiệu phần mềm Plug-in để nhận dạng thực thể trên Web tiếng Việt, và truy vấn cơ sở tri thức và kho trang Web đã được chú thích của VN-KIM Chương này dựa trên nội dung của [19], [41], [109] và [127]
Chương 8 tổng kết báo cáo Mục 8.1 tóm tắt các kết quả đã đạt được, bao gồm các phần mềm, bài báo khoa học, luận án tốt nghiệp Kỹ sư, Thạc sĩ, và Tiến sĩ Mục 8.2 đề xuất hướng phát triển tiếp của đề tài trong tương lai
Trang 19Ch−¬ng 2
Tham kh¶o c¸c nghiªn cøu
liªn quan vµ thiÕt kÕ
Trang 20Chương 2
Tham khảo các nghiên cứu liên quan và thiết kế hệ thống
2.1 Web có ngữ nghĩa
Theo Berners-Lee ([6]), các nguyên lý chính của Web có ngữ nghĩa là:
1 Mọi thứ đều có thể được định danh bởi các danh hiệu tài nguyên phổ dụng
(Universal Resource Identifier – URI):
Các URI bảo đảm rằng mỗi khái niệm không chỉ là các từ trong một tài liệu
mà còn được ràng buộc với một định nghĩa riêng biệt mà ai cũng có thể tìm thấy
trên Web Các định vị tài nguyên phổ dụng (Universal Resourse Locator – URL)
của Web hiện tại là một trường hợp riêng và phổ biến của URI
2 Các tài nguyên và mối liên kết có thể có kiểu loại:
Web hiện tại bao gồm các tài nguyên và mối liên kết giữa chúng, tuy nhiên máy tính không hiểu được kiểu loại của các tài nguyên và mối liên kết đó là gì
Ví dụ, giả sử có một URL của một người liên kết với một URL của một quyển sách do người đó viết Tuy nhiên máy tính không hiểu được đối tượng của URL đầu là một “con người”, đối tượng của URL sau là một “quyển sách”, và loại của mối liên kết là “tác giả của”
Trang 213 Chấp nhận thông tin không đầy đủ:
Cũng như Web hiện tại, Web có ngữ nghĩa không bị giới hạn, tức là một tài nguyên có thể liên kết với một tài nguyên bất kỳ khác bất chấp tài nguyên đó còn tồn tại hay không Tuy nhiên, trong trường hợp như vậy, khi truy cập đến tài nguyên được liên kết đó, Web hiện tại sẽ báo lỗi “404 File Not Found” Ở Web
có ngữ nghĩa, các tính toán suy luận vẫn được tiến hành để dẫn ra kết luận mặc
dù một số mối liên kết đã bị mất
4 Không cần sự thật tuyệt đối:
Không phải tất cả mọi thông tin trên Web đều là sự thật, và sự đúng đắn của chúng được đánh giá bởi từng ứng dụng cụ thể xử lý thông tin đó Web có ngữ nghĩa vì vậy phải có khả năng suy luận với các thông tin không chắc chắn, không chính xác, và có thể mâu thuẫn nữa Theo Tim Berners-Lee, logic cổ điển
không làm được điều này, mà cần đến logic mờ (Fuzzy Logic) ([140])
6 Thiết kế tối thiểu:
Để có thể chia sẻ và tích hợp thông tin, Web có ngữ nghĩa cần có những ngôn ngữ hay hệ thống được chuẩn hoá Tuy nhiên các tiêu chuẩn này phải là tối thiểu để không ràng buộc quá nhiều việc phát triển các ứng dụng trên đó
Hình 2.1.1 Các tầng của Web có ngữ nghĩa
Unicode
Digital Signature XML
RDF Ontology Logic Proof
Trust
URI
Trang 22Các nguyên lý nói trên được hiện thực bằng các tầng của Web có ngữ nghĩa như ở Hình 2.1.1 Tầng Unicode và URI xác định các kí tự và phương tiện để định danh các đối tượng Tầng XML (eXtensible Markup Language) cung cấp một ngôn ngữ chung để biểu diễn dữ liệu Tầng RDF (Resource Description Framework) cung cấp một ngôn ngữ
chung để biểu diễn siêu dữ liệu (Metadata), ví dụ như kiểu loại của các tài nguyên và mối
liên kết Tầng Ontology cung cấp các từ vựng và tiên đề cho các khái niệm và quan hệ
được sử dụng Tầng logic cho phép biểu diễn các luật Tầng chứng minh (Proof) cho phép suy luận trên các luật Tầng tin tưỏng (Trust) cung cấp các cơ chế để các ứng dụng biết có thể tin vào một chứng minh cụ thể nào đó không Tầng chữ ký điện tử (Digital Signature)
dùng để phát hiện sự thay đổi trong các tài liệu ở các tầng ngang nó như trên hình vẽ Với kiến trúc mô tả ở trên, các hoạt động nghiên cứu về Web có ngữ nghĩa tập trung vào ba hướng chính sau đây ([70]):
1 Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu (XML) và siêu dữ liệu (RDF) trên Web:
Nhóm làm việc RDFCore, bao gồm các thành viên từ nhiều trường và công
ty khác nhau trên thế giới, của tổ chức World Wide Web Consortium (W3C) chủ trì công việc này Mục tiêu chính của nhóm là nghiên cứu cải thiện và chuẩn hoá từng thành phần trong các ngôn ngữ XML và RDF, dựa trên các ý kiến phản hồi
từ những người hiện thực Đến nay, nhóm đã hoàn tất các khái niệm RDF và mô hình dữ liệu trừu tượng, đặc tả cú pháp RDF/XML, lược đồ RDF, và ngữ nghĩa RDF
2 Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa:
Nhóm WebOnt của W3C chủ trì công việc này Mục tiêu của nhóm là dựa trên và mở rộng các lược đồ RDF để có thể biểu diễn các quan hệ phức tạp hơn giữa các đối tượng Dự án DAML+OIL, kết hợp của dự án DAML ở Trường Đại học Stanford, Mỹ, và dự án OIL của Trường Đại học Vrije, Hà Lan, đã khởi động cho hướng nghiên cứu này Nhóm đã hoàn tất phiên bản đầu tiên của ngôn ngữ OWL (Web Ontology Language)
Trang 233 Phát triển nâng cao Web có ngữ nghĩa (Semantic Web Advanced Development
- SWAD):
Hướng này nhằm để nghiên cứu thực hiện các dự án phát triển thêm các thành phần cơ sở hạ tầng cho Web có ngữ nghĩa, cụ thể như tạo các công cụ cho người phát triển hệ thống, rút trích thông tin và chú thích ngữ nghĩa một cách tự động, suy diễn và chứng minh luận lý, tích hợp Ontology và chia sẻ thông tin, Hiện tại hai dự án SWAD tiêu biểu có quy mô lớn và mang tính dài hạn là SWAD-Europe và SWAD Oxygen SWAD-Europe bao gồm 15 gói công việc khác nhau nghiên cứu những vấn đề như các dịch vụ Web có ngữ nghĩa, tích hợp thông tin với công nghệ XML, các hệ thống tin tưởng phân bố, Trong khi đó SWAD Oxygen ở Viện Công nghệ Massachusetts, Mỹ, đang nghiên cứu kết hợp các công nghệ khác nhau về xử lý tiếng nói, hình ảnh, chú thích ngữ nghĩa, để tạo ra một môi trường hợp tác tốt hơn giữa người và máy
Trong ba hướng nghiên cứu chính nói trên, chúng tôi nghĩ rằng hướng thứ ba là hướng thích hợp với hoàn cảnh và điều kiện của Việt Nam, vì theo hai hướng đầu chúng
ta khó có thể cạnh tranh được với các nhóm nghiên cứu lớn và uy tín cao trên thế giới trong việc đề nghị các ngôn ngữ chuẩn Hơn nữa, theo hướng thứ ba chúng ta có thể phát triển sớm được các ứng dụng thực tiễn của Web có ngữ nghĩa ở Việt Nam
Trong hướng thứ ba về SWAD nói trên, một vấn đề được các nhà khoa học quan tâm nhất và cũng là nền tảng nhất của Web có ngữ nghĩa là làm thế nào để nhúng ngữ nghĩa vào các tài liệu Web, mà hiện nay được viết bằng ngôn ngữ tự nhiên và chỉ có con người mới đọc hiểu được Hơn nữa việc nhúng ngữ nghĩa này phải được thực hiện một cách tự động để có thể chuyển đổi hàng tỷ các tài liệu Web đã có sẵn sang các tài liệu tương ứng cho Web có ngữ nghĩa ([42], [111]) Muốn vậy, vấn đề đầu tiên cần giải quyết
là rút trích tự động ngữ nghĩa của mỗi tài liệu Web rồi chú thích lại ngữ nghĩa này vào tài liệu đó Về vấn đề này hiện tại có hai cách tiếp cận chính tuỳ theo cấp độ ngữ nghĩa muốn đạt đến Cách thứ nhất là rút trích và chú thích ngữ nghĩa đầy đủ cho mỗi tài liệu Web, bao gồm các thực thể và quan hệ giữa chúng được đề cập trong tài liệu Cách thứ hai là chỉ rút
trích và chú thích ngữ nghĩa cho các thực thể có tên (Named Entity) trong tài liệu ([27],
[32])
Trang 24Một ví dụ về cách thứ nhất là thông tin “Ngày 21-8, Hội chợ việc làm TPHCM năm
2003 do Sở Lao động - Thương binh - Xã hội và Báo Người Lao động phối hợp tổ chức đã chính thức khai mạc tại Cung văn hóa Lao động” (Báo điện tử Người Lao động, ngày
22/8/2003) có thể được biểu diễn bằng một đồ thị khái niệm (Conceptual Graph) như
trong Hình 2.1.2, hoặc ở dạng tương đương bằng văn bản RDF Các dự án như S-CREAM
([52]) và MnM ([131]) nghiên cứu theo hướng này, sử dụng rất nhiều các kỹ thuật học
máy (Machine Learning) để rút trích các quan hệ giữa các thực thể, tuy nhiên chỉ làm
được một cách bán tự động Trong [142], các tác giả đề xuất một phương pháp học hoàn
toàn tự động, sử dụng văn phạm liên kết (Link Grammar) và chuyển đổi các câu ở văn
phạm này sang đồ thị RDF hoặc đồ thị khái niệm, nhưng độ chính xác đạt được chỉ khoảng 60% và chỉ áp dụng cho một miền hẹp cụ thể
Hình 2.1.2 Biểu diễn ngữ nghĩa bằng đồ thị khái niệm
Ngữ nghĩa của các thực thể có tên tuy chỉ là một phần ngữ nghĩa của toàn bộ tài liệu, nhưng nếu có thể rút trích và chú thích chúng một cách tự động với độ chính xác tương đối cao thì cũng đã có ý nghĩa thực tiễn lớn Một ứng dụng rất rõ ràng là trong việc đọc tin tức trên Web Hiện tại các tin tức trên Web cũng chỉ mới ở dạng văn bản thông thường để con người đọc, và nhiều khi người đọc gặp phải các thực thể có tên, như “Cung văn hóa Lao động” trong ví dụ trên, nhưng không biết rõ nó ở đâu, hay các thông tin liên quan đến
nó như thế nào Một ví dụ khác là các quảng cáo của các công ty du lịch thường có nhiều thực thể có tên như địa danh, thắng cảnh, nhân vật mà người đọc rất quan tâm và muốn biết thêm chi tiết Nếu có một hệ thống có khả năng rút trích và chú thích ngữ nghĩa tự động cho các thực thể có tên trong những bản tin như vậy, thì bản tin sẽ chuyển tải được nhiều thông tin đến người đọc hơn
CUNG-VĂN-HOÁ: Lao động
NGÀY: 21/8/2003 HỘI-CHỢ: Việc làm TP.HCM
TỔ CHỨC: {Sở LĐ-TB-XH, Báo NLĐ}
THỜI-GIAN
NƠI-CHỐN NHÀ-TỔ-CHỨC
Trang 25Các tài liệu Web có chú thích ngữ nghĩa cho các thực thể có tên cũng sẽ giúp cho việc tìm kiếm và khai thác thông tin trên đó được chính xác và hiệu quả hơn Ví dụ một truy vấn về thành phố Sài Gòn sẽ được trả về các tài liệu đề cập đến TP.HCM hoặc “Sài Gòn” như một thành phố, chứ không phải các tài liệu chứa từ “Sài Gòn” như trong “Đội bóng Cảng Sài Gòn”, “Xí nghiệp may Sài Gòn”, hay “Công ty Saigon Tourist” So sánh
với các động cơ tìm kiếm (Search Engine) trên các tài liệu Web chỉ là các văn bản thô như
Google hiện nay, kết quả trả về là tất cả các tài liệu Web có chứa các từ là, hoặc tương tự với, các từ khoá trong truy vấn, mà rất nhiều trong số đó không phải là tài liệu mà người tìm kiếm cần Một ví dụ khác là, với một cơ sở tri thức cụ thể và các tài liệu có chú thích ngữ nghĩa, người sử dụng có thể đặt ra một truy vấn phức tạp như “Tìm các trang Web nói
về các hội chợ diễn ra tại TP.HCM trong năm 2003”, mà các động cơ tìm kiếm hiện nay chưa hỗ trợ được
Việc xác định ngữ nghĩa cho các thực thể có tên là không đơn giản và không thể chỉ dựa vào các từ điển Ví dụ để xác định xem thực thể mà từ “Sài Gòn” trong một tài liệu ám chỉ đến là một thành phố hay là một đối tượng loại nào khác, cần phải biết được ngữ cảnh nơi từ đó xuất hiện Một ví dụ khác về sự mập mờ ngữ nghĩa khi nhận dạng thực thể là trong một tài liệu có xuất hiện tên của một công ty và tên của một con đường và, ở thành phố Hồ Chí Minh chẳng hạn, có hai con đường có cùng tên gọi Khi đó, để xác định đó là con đường nào, hệ thống phải dựa vào một cơ sở tri thức để xem công ty này có quan hệ với con đường nào thì sẽ liên kết ngữ nghĩa tên con đường trong tài liệu với con đường đó
Vì vậy một hệ thống chú thích ngữ nghĩa cho các thực thể có tên cần có các thành phần cơ bản sau:
1 Ontology: định nghĩa các lớp thực thể, bao gồm sự phân loại của các khái niệm thực thể và quan hệ giữa chúng
2 Các danh hiệu thực thể: phân biệt các thực thể với nhau và được liên kết với các
mô tả ngữ nghĩa của chúng
3 Cơ sở tri thức: mô tả các thông tin cụ thể về các thực thể
Quá trình chú thích ngữ nghĩa cho một tài liệu trước hết dựa trên các thành phần này để rút trích thông tin từ tài liệu đó Sau đó các tài liệu đã có chú thích sẽ được lập chỉ mục
theo các thực thể có tên để phục vụ cho việc truy hồi thông tin (Information Retrieval)
nhanh
Trang 262.2 Các công nghệ và ngôn ngữ hỗ trợ
Để xây dựng và phát triển một hệ thống chú thích ngữ nghĩa cho các thực thể có tên tiếng Việt, đề tài cần các công nghệ hỗ trợ việc xử lý ngôn ngữ tự nhiên và rút trích thông tin, quản trị và truy vấn cơ sở tri thức, và lưu trữ và lập chỉ mục cho các trang Web đã chú thích ngữ nghĩa Các công nghệ mã nguồn mở liên quan hiện có là sự lựa chọn thích hợp,
có thể được sử dụng và sửa đổi cho hệ thống cần xây dựng, tiết kiệm được thời gian và chi phí phát triển Hệ thống VN-KIM dựa trên ba công nghệ chính là GATE với văn phạm JAPE, Sesame với ngôn ngữ truy vấn SeRQL, và Lucene Ngoài ra, VN-KIM còn sử dụng đồ thị khái niệm như một ngôn ngữ truy vấn, dễ đọc hơn phát biểu SeRQL và linh hoạt hơn các mẫu truy vấn cố định
GATE và JAPE
GATE (General Architecture for Text Engineering) được phát triển bởi Trường Đại học Sheffield, Anh, từ năm 1995 ([34]), là một cơ sở hạ tầng để xây dựng và phát triển các thành phần phần mềm xử lý ngôn ngữ tự nhiên, đặc biệt là trong lĩnh vực rút trích thông tin Hiện nay, GATE đang được sử dụng rộng rãi trong các dự án nghiên cứu và phát triển
về rút trích thông tin cho các tiếng Anh, Hy Lạp, Tây Ban Nha, Thụy Điển, Đức, Ý, Pháp, GATE hỗ trợ việc phát triển phần mềm ở ba khía cạnh:
1 Kiến trúc phần mềm
2 Nền kỹ thuật ngôn ngữ
3 Môi trường phát triển
Khái niệm kiến trúc phần mềm của GATE liên quan đến cấu trúc tổ chức của một hệ
thống phần mềm Nó định nghĩa hầu hết mọi thứ bằng một thuật ngữ là thành phần
(Component), gán việc hiện thực hệ thống cho các thành phần tương ứng, và đảm bảo rằng sự tương tác giữa các thành phần này phải thoả mãn một số yêu cầu của hệ thống Hệ
thống được xét ở đây cụ thể là hệ thống kỹ thuật ngôn ngữ (Language Engineering) Mỗi
thành phần về thực chất là một đơn vị mã, thực hiện một nhiệm vụ cụ thể nào đó và có thể
sử dụng lại
Trang 27Mỗi thành phần trong kiến trúc phần mềm của GATE được phân vào một trong ba loại tài nguyên chính sau đây:
1 Tài nguyên ngôn ngữ (Language Resource)
2 Tài nguyên xử lý (Processing Resource)
3 Tài nguyên hiển thị (Visual Resource)
Tài nguyên ngôn ngữ bao gồm các dữ liệu về ngôn ngữ như từ vựng, văn bản, Ontology,
… Tài nguyên xử lý là những chương trình hay giải thuật dùng trong một quá trình xử lý như bộ phân đoạn từ hay gán nhãn từ loại Tài nguyên hiển thị là những thành phần đồ họa
do GATE hỗ trợ cho phát triển giao diện với người dùng
Tập các tài nguyên này được gọi là CREOLE (Collection of REusable Objects for
Languge Engineering), và được đóng gói thành các tập tin jar của Java cùng với một số
dữ liệu ở dạng XML Với các tài nguyên có sẵn này, người lập trình chỉ cần tập trung vào việc xây dựng các thành phần chuyên biệt cho ứng dụng đang phát triển, mà không cần quan tâm quá nhiều đến thành phần phần mềm cơ bản Người lập trình có thể tái sử dụng lại các thành phần đã có sẵn, thay vì phải tạo dựng từ đầu, nhờ vậy giảm được công sức và thời gian xây dựng Ngoài ra, người lập trình còn có thể mở rộng chức năng cho ứng dụng một cách dễ dàng bằng cách tích hợp thêm các thành phần mới và tận dụng khả năng tương tác giữa thành phần
Nền của GATE cung cấp một mô hình thiết kế có thể tái sử dụng cho các hệ thống phần mềm về kỹ thuật ngôn ngữ và một thư viện các module phần mềm xây dựng sẵn có thể được sử dụng, mở rộng, và điều chỉnh theo các yêu cầu riêng của một ứng dụng cụ thể Các module phần mềm này chủ yếu dùng cho xử lý ngôn ngữ như module gán nhãn từ loại hay module gán nhãn ngữ nghĩa, … Bên cạnh đó, nền của GATE còn hiện thực việc
tổ chức và quản lý các loại tài nguyên ngôn ngữ cơ bản như tài liệu và chú thích, cung cấp khả năng nhận dạng các tài nguyên, và hỗ trợ các hoạt động xuất nhập như giải mã dạng tập tin hay cơ sở dữ liệu Cụ thể, về mặt lập trình, nền của GATE gồm hai tập tin là
gate.jar và guk.jar, được sử dụng đơn giản bằng cách tải chúng vào một thư mục và thiết
lập biến đường dẫn tương ứng, sau đó gọi phương thức gate.Gate.init() trong chương trình Môi trường phát triển của GATE nhằm giúp người sử dụng giảm thiểu tối đa thời gian cần thiết để xây dựng một hệ thống kỹ thuật ngôn ngữ mới hay sửa đổi một hệ thống
đã có sẵn, bằng cách cung cấp một giao diện xây dựng trực quan và một cơ chế tìm lỗi đầy
Trang 28đủ Các công cụ có sẵn trong môi trường phát triển giúp người sử dụng dễ dàng hiển thị
dữ liệu tại mỗi bước trong suốt quá trình xử lý, để giải thích các kết quả và tìm lỗi của chương trình Vì GATE là một mô hình dựa trên các thành phần, nó cho phép người sử dụng dễ dàng liên kết hay không liên kết các thành phần xử lý với nhau Điều này tạo thuận lợi cho việc so sánh sự thay đổi của kết quả thu được khi thay đổi cấu hình của hệ thống để kiểm tra tính hiệu quả của nó, hay so sánh giữa các phiên bản hiện thực khác nhau của một module chức năng nào đó
Riêng cho các tài nguyên xử lý, GATE cung cấp JAPE (Java Annotation Patterns Engine) để định nghĩa và thực thi các luật nhận diện thực thể có tên ([33]) Văn phạm JAPE là một văn phạm so trùng mẫu, theo đó mỗi luật JAPE gồm có vế trái và vế phải ngăn cách nhau bởi dấu mũi tên Vế trái chứa mẫu chú thích và các toán tử của biểu thức chính quy, còn vế phải chứa các câu lệnh sẽ thao tác trên các chú thích so trùng với vế trái Ngoài ra mỗi luật còn có tên và độ ưu tiên do người lập trình qui định Các luật JAPE có thể gom thành từng nhóm để được thực thi tuần tự theo từng pha cho đến khi hoàn tất chú thích cho một thực thể
Ví dụ sau đây là một luật nhận diện tên một công ty, gồm một chuỗi các Token bắt đầu bằng các chữ hoa và kiểu trong danh sách có sẵn là công ty:
: match.NamedEntity = { kind=company, rule=“Company1” }
Đối với các chú thích thường xuyên được so trùng và sử dụng để nhận dạng các chú thích khác, người lập trình có thể dùng các Macro trong văn phạm JAPE, tương tự như
khái niệm Macro trong lập trình bằng hợp ngữ (Assembly) Thay vì đặc tả đầy đủ các mẫu
cần nhận dạng trong vế trái của một luật JAPE, người lập trình đưa các thông tin này vào một Macro Khi cần sử dụng, chỉ cần gọi các Macro tương ứng trong vế trái của luật Ví
dụ, Macro TITLE dưới đây giúp nhận dạng các ngữ liệu đi trước tên người trong tiếng Anh như “Mr”, “Mr.”, “Miss”, “Ms.”, “Doctor”, …:
Trang 29Macro: TITLE
({Title}
({Token.string == "."})?
)
Bên trong một Macro ta có thể gọi một Macro khác đã được định nghĩa trước đó
FIRSTNAME gọi Macro INITIALS, qui định chú thích ở vế trái của một luật hoặc phải có kiểu là female hoặc phải tương ứng với định nghĩa của Macro INITIALS:
Sesame ([67]) thuộc dự án European IST On-To-Knowledge, bắt đầu từ tháng 2 năm
2000, của công ty Aduna (Administrator Nederland) Đây là một hệ thống mở để quản trị
và khai thác hiệu quả tri thức và thông tin biểu diễn bằng RDF và RDFS (RDF Schema) ([12], [75]) Hiện tại, Sesame vẫn đang được phát triển và đổi mới để ngày một hoàn thiện hơn, và ngày càng có nhiều ứng dụng trong lĩnh vực Web có ngữ nghĩa sử dụng Sesame cho máy chủ lưu trữ và truy hồi dữ liệu RDF/RDFS, với phiên bản mới nhất là Sesame 1.2.4 Trong tương lai, Sesame có thể sẽ hỗ trợ thêm một số chuẩn dữ liệu dựa trên RDF khác như OWL, DAML+OIL, …
Nguyên lý thiết kế quan trọng nhất của Sesame là sao cho nó có thể mở rộng và điều chỉnh được cho các môi trường điều hành khác nhau Ý tưởng này đã được hiện thực trong một kiến trúc module tổng quát, cho phép Sesame có thể được cài đặt trên các hệ
Trang 30quản trị cơ sở dữ liệu và truy cập được qua các giao thức truyền thông khác nhau, như mô
tả ở Hình 2.2.1
Hình 2.2.1 Kiến trúc của Sesame
Để đạt được điều này, những người phát triển Sesame đã đưa ra các tầng lưu trữ và suy diễn (SAIL) nằm giữa các module phía trên và các kho chứa dữ liệu phía dưới Các tầng này cung cấp một tập hợp các phương thức cơ bản để lưu trữ, truy vấn, và thao tác dữ liệu RDF, còn việc hiện thực tối ưu các phương thức đó thì do một hệ quản trị cơ sở dữ liệu cụ thể được sử dụng đảm nhận Bên cạnh các cơ chế lưu trữ trên tập tin và bộ nhớ, Sesame hiện đang hỗ trợ ba hệ quản trị cơ sở dữ liệu là PostgreSQL, MySQL và Oracle 9i Hơn nữa, các tầng lưu trữ và suy diễn còn có thể đặt chồng lên nhau, nên những người phát triển có thể thêm vào các tầng mới để hỗ trợ thêm các tác vụ như ghi nhớ lại, xử lý đồng thời hay suy diễn
Vì khách hàng có thể đang sử dụng các môi trường điều hành khác nhau như một máy chủ Web hoặc một ứng dụng đơn lẻ, Sesame cung cấp một cơ chế truyền thông linh hoạt Bằng cách đặt tất cả các phương thức truyền thông chung ở module Request Router,
và các phương thức cho từng giao thức cụ thể ở các bộ xử lý giao thức, Sesame có thể hỗ trợ các giao thức truyền thông khác nhau như HTTP, RMI và SOAP
Repository Storage And Inference Layers (SAILs) Admin Query Export
Request Router HTTP Protocol Handler RMI Protocol Handler
Trang 31Ngoài các tính năng đặc biệt nói trên cho việc lưu trữ và truyền thông, Sesame còn cung cấp các module cho việc truy vấn, quản trị, bảo mật và theo dõi phiên bản Ngôn ngữ truy vấn của Sesame là SeRQL (Sesame RDF Query Language), một ngôn ngữ truy vấn RDF/RDFS mới thừa kế các tính năng tốt nhất của các ngôn ngữ trước đây như RQL và RDQL, và có thêm các tính năng mới giúp đơn giản hoá câu truy vấn SeRQL cũng hỗ trợ
sự bao phủ (Subsumption), cho phép một kiểu khái niệm hoặc quan hệ so trùng với các
kiểu con của nó trong một cơ sở tri thức
Các thành phần cơ bản để xây dựng câu truy vấn của SeRQL là danh hiệu tài
nguyên phổ dụng, giá trị nguyên tử (Literal), và biến Một danh hiệu trong Sesame có thể
Quốc_gia_1>, hoặc dạng rút gọn như <vnkimkb_rdf: Quốc_gia_1> Trong trường hợp sau, tiền tố vnkimkb_rdf sẽ được ánh xạ vào chuỗi đầy đủ <http://www.dit.hcmut.edu.vn/vnkim/ vnkimkb.rdf> bởi động cơ truy vấn của Sesame Các giá trị nguyên tử RDF biểu diễn các tính chất của các đối tượng và có thể được tuỳ ý gắn với các thẻ kiểu dữ liệu và ngôn ngữ Các biến là các danh hiệu tài nguyên phổ dụng cần được truy vấn và được định danh trong câu truy vấn bằng tên
Tất cả các phát biểu RDF trong một kho dữ liệu có thể xem như một đồ thị, và việc tìm kiếm có thể được thực hiện bằng cách so trùng một đồ thị truy vấn, bao gồm các biểu thức đường dẫn, với đồ thị RDF đó Một đặc tính nổi trội của SeRQL so với các ngôn ngữ truy vấn RDF/RDFS khác là nó cho phép các biểu thức đường dẫn có chiều dài tuỳ ý Ví
dụ, các biểu thức đường dẫn có chiều dài bằng 1 trong SeRQL cho truy vấn “Tìm tất cả các thành phố ở Việt Nam” có thể là:
{Thành_phố} rdf:type {<vnkimo_rdfs:Thành_phố>},
{Thành_phố} vnkimo_rdfs:được_định_vị_ở {Quốc_gia},
{Quốc_gia} rdf:type {<vnkimo_rdfs:Quốc_gia>},
{Quốc_gia} rdfs:label {“Vietnam”}
Các biểu thức đường dẫn thứ hai và thứ tư, chẳng hạn, có thể kết hợp và viết lại thành biểu thức đường dẫn có chiều dài bằng 2 như sau:
{Thành_phố} vnkimo_rdfs:được_định_vị_ở {Quốc_gia} rdfs:label {“Vietnam”}
Trong SeRQL, các nút và cạnh trong các biểu thức đường dẫn có thể là các biến hoặc danh hiệu tài nguyên phổ dụng, và riêng các nút cũng có thể là các giá trị nguyên tử
Trang 32Trong ví dụ trên, Thành_phố và Quốc_gia là các biến, “Vietnam” là một giá trị nguyên tử,
và <vnkimo_rdfs:Thành_phố> và <vnkimo_rdfs:Quốc_gia> là các danh hiệu tài nguyên phổ dụng Truy vấn SeRQL này có thể được minh họa bằng một đồ thị như ở Hình 2.2.2
Hình 2.2.2 Biểu diễn đồ thị của một truy vấn SeRQL
FROM, WHERE, và USING NAMESPACE Mệnh đề SELECT được dùng để xác định các
hiệu tài nguyên phổ dụng viết tắt Ví dụ, câu truy vấn SeRQL đầy đủ cho “Tìm tất cả các thành phố ở Việt Nam có dân số trên một triệu” là:
SELECT Thành_phố
FROM
{Thành_phố} rdf:type {<vnkimo_rdfs:Thành_phố>}, {Thành_phố} vnkimo_rdfs:được_định_vị_ở {Quốc_gia}, {Thành_phố} vnkimo_rdfs:dân_số {Dân_số},
{Quốc_gia} rdf:type {<vnkimo_rdfs:Quốc_gia>}, {Quốc_gia} rdfs:label {“Vietnam”}
Trang 33viết lập lại chủ thể cho mỗi biểu thức đường dẫn, chúng có thể chia sẻ một chủ thể chung bằng cách dùng dấu chấm phẩy Ví dụ, biểu thức đường dẫn ở trên có thể được rút gọn như sau:
{Thành_phố} rdf:type {<vnkimo_rdfs:Thành_phố>};
vnkimo_rdfs:được_định_vị_ở {Quốc_gia}, {Quốc_gia} rdf:type {<vnkimo_rdfs:Quốc_gia>};
rdfs:label {“Vietnam”}
Một cách viết ngắn hữu ích khác là các phát biểu trừu tượng hoá, trong đó một nút chính nó là một phát biểu Ví dụ, người ta có thể có một phát biểu dưới dạng sau:
{ {reifiedSubj} reifiedPred {reifiedObj} } pred {obj}
Phát biểu này tương đương với một tập các biểu thức đường dẫn sau đây:
{reifiedStatement} rdf:type {rdf:Statement},
{reifiedStatement} rdf:subject {reifiedSubj},
{reifiedStatement} rdf:predicate {reifiedPredicate},
{reifiedStatement} rdf:object {reifiedObj},
{reifiedStatement} pred {obj}
Cuối cùng, đáng kể ra là các ràng buộc tính chất có thể được kết hợp lại bằng các
một ngôn ngữ truy vấn mạnh cho các cơ sở tri thức RDF, như là SQL cho các cơ sở dữ liệu quan hệ
Lucene
Với sự ra đời và phát triển không ngừng của Web, lượng tài liệu mà con người cần tổ chức, quản lý và khai thác gia tăng theo từng ngày Để tìm kiếm những thông tin cần thiết trong kho các văn bản và trang Web này, các hệ thống tìm kiếm đã lần lượt được phát triển và thành công nhất là các hệ thống truy vấn theo từ khóa Tuy nhiên, phần lớn các công cụ tìm kiếm mạnh mẽ nhất hiện nay như Yahoo, Google, và MSN, … là những sản phẩm thương mại và mã nguồn được giữ bí mật Điều này dẫn tới kết quả là nhiều người phát
Trang 34triển ứng dụng riêng biệt sẽ phải tự mình xây dựng từ đầu một công cụ tìm kiếm nếu hệ thống của họ cần cung cấp chức năng này
Đứng trước một sự lãng phí rất lớn về công sức lập trình, vào năm 1998 Doug Cutting đã bắt đầu tiến hành xây dựng một thư viện truy vấn thông tin mã nguồn mở là Lucene, với mục tiêu phát triển nó thành một thư viện truy vấn tài liệu hoàn chỉnh cho phép những người phát triển ứng dụng dễ dàng tích hợp chức năng tìm kiếm vào hệ thống của mình Từ phiên bản đầu tiên được công bố vào tháng 3 năm 2000, Lucene gia nhập vào tổ chức Apache vào tháng 9 năm 2001 và trở thành một dự án chính thức của Jakarta ([47]) Hiện tại, cũng như các dự án Jakarta khác, Lucene được duy trì và phát triển bởi một nhóm người tình nguyện được lựa chọn Trang Web chính thức của Lucene là http://jakarta.apache.org/lucene/
Lucene không phải là một phần mềm ứng dụng cụ thể mà là một công cụ đặc tả các
giao diện chương trình ứng dụng (Application Program Interface – API) cần thiết cho
việc xây dựng một động cơ tìm kiếm Được xây dựng và thiết kế theo hướng hướng đối tượng nên các API của Lucene cũng được cung cấp theo dạng hướng đối tượng Mặc dù được thiết kế và xây dựng ban đầu từ Java, hiện nay Lucene cũng đã có một số phiên bản cho các ngôn ngữ khác như Net, C++, Perl, …
Ngày càng có nhiều trang Web và phần mềm sử dụng Lucene nhờ vào các tính năng nổi bật sau đây của nó:
1 Lucene là một thư viện mã nguồn mở, chứa đầy đủ các tính năng cơ bản cũng như nâng cao cần thiết cho một động cơ tìm kiếm Nhờ đó, việc xây dựng một động cơ tìm kiếm dựa trên Lucene được thực hiện dễ dàng và uyển chuyển
2 Lucene bao gồm một công cụ lập chỉ mục hiệu suất cao đã được kiểm nghiệm trong các ứng dụng thực tế
3 Lucene có một thuật giải tìm kiếm mạnh, chính xác và hiệu quả Nó xếp hạng và trả về trước các kết quả tốt nhất, cung cấp nhiều loại truy vấn khác nhau như truy vấn luận lý hay truy vấn cụm từ, và tìm kiếm theo các trường khác nhau hay tìm kiếm với giới hạn ngày tháng
4 Tính mở rộng của Lucene cao do nó có thể được sử dụng không chỉ cho tiếng Anh mà còn cho các ngôn ngữ khác thuộc cũng như không thuộc ngữ hệ La tinh Lucene còn có thể được biến đổi để phù hợp với các định dạng tài liệu khác nhau
Trang 355 Lucene được thiết kế và hiện thực hoàn toàn hướng đối tượng bằng Java, nên kế thừa được nhiều đặc tính nổi trội của ngôn ngữ này mà quan trọng nhất là tính độc lập với hệ điều hành nền
6 Lucene là một mã nguồn mở Người phát triển ứng dụng có thể sửa đổi mã nguồn Lucene theo mục đích riêng
7 Mã nguồn Lucene được thiết kế rõ ràng, với tài liệu kỹ thuật đầy đủ, chi tiết Cộng đồng sử dụng Lucene ngày một mở rộng giúp cho việc sử dụng và giải quyết các vấn đề phát sinh thuận tiện hơn
Đồ thị khái niệm
Đồ thị khái niệm là một ngôn ngữ biểu diễn tri thức gần với ngôn ngữ tự nhiên ([124]) Một đồ thị khái niệm là một đồ thị lưỡng phân với các nút khái niệm xen kẽ với các nút quan hệ, nối với nhau bằng các cạnh Mỗi nút khái niệm, được vẽ bằng hình chữ nhật và
đánh nhãn bằng một cặp gồm kiểu khái niệm (Concept Type) và tham chiếu khái niệm
(Concept Referent), biểu diễn một thực thể có kiểu và tham chiếu như xác định trong nhãn
Mỗi nút quan hệ, được vẽ bằng hình bầu dục và đánh nhãn bằng một kiểu quan hệ
(Relation Type), biểu diễn quan hệ giữa các thực thể định nghĩa bởi các nút khái niệm nối vào nút quan hệ này Các khái niệm nối với một quan hệ được gọi là các khái niệm láng giềng của quan hệ đó Ví dụ, đồ thị khái niệm ở Hình 2.2.3 biểu diễn “Nam học một môn
về Khoa học Máy tính”
Hình 2.2.3 Một đồ thị khái niệm ví dụ
Trong ví dụ này, [SINH_VIÊN:Nam], [MÔN:∗], [LĨNH_V Ự C:Khoa học Máy tính] là các khái niệm, với SINH_VIÊN, MÔN và LĨNH_V Ự C là các kiểu khái niệm, trong khi (H Ọ C)
và (V Ề) là các quan hệ, với H Ọ C và V Ề là các kiểu quan hệ Các tham chiếu “Nam” và
“Khoa học Máy tính” của các khái niệm [SINH_VIÊN:Nam] và [LĨNH_V Ự C:Khoa học Máy
tính] được gọi là các tham chiếu cá thể (Individual Referent) Tham chiếu “*” của khái
không xác định Hai khái niệm với hai tham chiếu cá thể khác nhau được giả sử là chỉ đến hai thực thể khác nhau, và ngược lại
MÔN : *
SINH_VIÊN : Nam HỌC VỀ LĨNH_VỰC: Khoa học Máy tính
Trang 36Để chú thích hai khái niệm với tham chiếu chung chỉ đến cùng một thực thể, một
liên kết đồng tham chiếu (Coreference Link) được vẽ bằng các đường chấm nối liền
chúng Ví dụ, đồ thị khái niệm trong Hình 2.2.4 thêm vào đồ thị khái niệm ở Hình 2.2.3 một sự kiện là “Có một người học cùng một môn với Nam” Trong ví dụ này, đồ thị khái niệm có thể được chuyển về một đồ thị tương đương không có liên kết đồng tham chiếu bằng cách nối hai khái niệm [MÔN:∗] làm một Tuy nhiên, các liên kết đồng tham chiếu sẽ cần thiết trong trường hợp các khái niệm xuất hiện trong những ngữ cảnh khác nhau, khi
mà chúng không thể gom lại với nhau được
Hình 2.2.4 Một đồ thị khái niệm với liên kết đồng tham chiếu
Tương ứng với các kiểu trong logic vị từ có kiểu, các kiểu khái niệm được sắp thứ
tự bán phần theo thứ tự kiểu khái niệm cha-con Ví dụ, SINH_VIÊN là một kiểu con của
NGƯỜI Các kiểu quan hệ cũng được sắp thứ tự Ví dụ, với đồ thị khái niệm ở Hình 2.2.3,
có thể HỌC là kiểu con của HÀNH_Đ Ộ NG Ngoài ra, mỗi kiểu quan hệ có một đặc tả định nghĩa bậc và các kiểu khái niệm cụ thể nhất làm các đối số của nó Mỗi kiểu quan hệ có thể được xem như là một kiểu mà mỗi thực thể của nó là một nhóm thực thể thuộc các kiểu đối số của kiểu quan hệ đó
(SINH_VIÊN, MÔN), với bậc là 2 và các kiểu đối số là SINH_VIÊN và MÔN tương ứng cho
Nam]→(HỌC)→[MÔN:*] là đúng kiểu, còn đồ thị [NGƯỜI:Nam]→(HỌC)→[MÔN:*] thì không, giả sử rằng NGHIÊN_CỨU_SINHlà kiểu con của SINH_VIÊN, còn SINH_VIÊN là kiểu con của NGƯỜI
với tham chiếu là một đồ thị khái niệm mô tả mệnh đề đó Phủ định của một mệnh đề được biểu diễn như một quan hệ có kiểu NEG nối với khái niệm biểu diễn mệnh đề đó, như ví dụ
Trang 37Hình 2.2.5 Một đồ thị khái niệm bị phủ định
Các đồ thị khái niệm lồng nhau có thể biểu diễn các công thức logic cấp một bất kỳ,
và kể cả logic hình thái và logic cấp cao Ví dụ, trong Hình 2.2.6, F nói “Mỗi sinh viên học một môn nào đó”, G nói “Lan không thể bay lên Sao Hoả”, và H nói “Nam tin rằng
Lan muốn cưới một anh thuỷ thủ”, với ¬ là biểu diễn tắt của kiểu quan hệ NEG
Hình 2.2.6 Các đồ thị khái niệm lồng nhau
2.3 Hệ thống KIM
Trong số các hệ thống chú thích ngữ nghĩa cho các thực thể có tên đã và đang được phát triển, KIM (Knowledge & Information Management) của Ontotext Lab, Bulgaria, tỏ ra là một hệ thống được phát triển một cách bài bản và đạt được những kết quả chú ý nhất ([110]) KIM trước hết là một cơ sở tri thức về các thực thể có tên phổ biến trên thế giới
Nó có thể rút trích tự động lớp của một thực thể có tên trong một trang Web và chú thích
Trang 38thông tin đó lại vào trong trang Web này Các trang Web đã có chú thích như vậy được lưu trữ cho việc tìm kiếm hiệu quả theo tên và lớp thực thể Ví dụ, người sử dụng có thể tìm các tài liệu về “Washington” như là một con người, trong khi các hệ thống tìm kiếm hiện tại có thể trả về các tài liệu chứa từ “Washington” mặc dù đó là tên của một tờ báo hay một trường đại học Hình 2.3.1 cho thấy một trang Web với các thực thể có tên được làm rõ do KIM nhận diện ra
Hình 2.3.1 Rút trích thông tin bởi KIM
Miền dữ liệu mà KIM nhắm vào là các thực thể được đề cập đến trong các tin tức quốc tế hàng ngày Ontology của KIM hiện có các lớp cấp trên như Object (cho các thực thể con người, nơi chốn, ) hay Happening (cho các thực thể sự kiện, hoàn cảnh, ), và các thuộc tính như subRegionOf cho lớp Location hay hasPosition cho lớp Person Cơ sở tri thức của KIM hiện gồm các thực thể là các nhân vật, thành phố, công ty, và tổ chức quan trọng và phổ biến nhất trên thế giới
Hình 2.3.2 minh họa kiến trúc tổng thể của KIM, trong đó KIM Server gồm các thành phần và thực hiện các chức năng chính sau đây:
1 Thành phần quản lý Ontology và cơ sở tri thức:
Thông tin về Ontology và cơ sở tri thức trong KIM được biểu diễn dưới dạng RDF và RDFS, và Sesame được sử dụng để lưu trữ và quản lý chúng
Trang 39Ngoài ra, Sesame còn cung cấp các chức năng như theo dõi sự thay đổi, quản lý truy cập, và cho phép tích hợp các lớp phần mềm suy diễn trên cơ sở tri thức
2 Thành phần rút trích thông tin KIM IE:
KIM IE đảm nhận vai trò nhận diện các thực thể có tên xuất hiện trong tài liệu ứng với các lớp thực thể trong KIM Ontology, và được xây dựng trên nền của GATE Tuy nhiên, để nâng cao hiệu quả của quá trình nhận biết các thực thể
có tên và để tăng cường thông tin ngữ nghĩa cho các thực thể được phát hiện, KIM IE mở rộng GATE bằng cách kết hợp các thành phần mà GATE cung cấp với cơ sở tri thức của KIM
3 Thành phần lập chỉ mục và truy vấn tài liệu:
Để truy vấn thông tin dựa trên thực thể có tên, KIM thực hiện việc lập chỉ mục và truy vấn tài liệu theo thực thể có tên, bên cạnh việc lập chỉ mục và truy vấn theo từ khóa Thành phần lập chỉ mục và tìm kiếm theo thực thể có tên của KIM được xây dựng dựa trên Lucene
4 Thành phần API:
Các chức năng mà KIM Server cung cấp bao gồm chú thích nội dung một trang tài liệu, lập chỉ mục và truy vấn tài liệu theo thực thể có tên, và truy hồi thông tin về các thực thể có tên Để gọi các chức năng này, các ứng dụng sử dụng các API tương ứng của KIM Server
Dựa trên KIM Server, KIM cũng đã xây dựng sẵn một số ứng dụng Chúng có thể
là các ứng dụng đầu cuối như KIM Plug-in để chú thích nội dung và KIM Web UI để truy hồi thông tin, hay ứng dụng phục vụ cho các ứng dụng khác như KIM Annotation Server Khi nhận được yêu cầu từ phía người sử dụng, các ứng dụng phục vụ này giao tiếp với KIM Server thông qua các API để xử lý rồi trả về thông tin yêu cầu Ngoài ra, do nhu cầu khai thác thông tin của các tổ chức và người sử dụng rất đa dạng, kiến trúc của KIM còn cho phép những người phát triển khác có thể xây dựng các ứng dụng của riêng mình trên nền các chức năng cơ bản mà KIM cung cấp
Trang 40Hình 2.3.2 Kiến trúc tổng quát của KIM
Tuy nhiên, KIM vẫn còn các hạn chế chính sau:
1 Ontology dựa trên các khái niệm chung trên thế giới, trong khi ở Việt Nam có những khái niệm riêng, đặc thù cho hoàn cảnh kinh tế và xã hội của đất nước Ví
dụ, những khái niệm như “Thành phố cấp một” hay “Uỷ ban nhân dân phường” cần có những lớp thích hợp để xếp loại chúng
2 Động cơ rút trích ngữ nghĩa chỉ dùng cho tiếng Anh, chưa hỗ trợ được cho tiếng Việt với các đặc thù riêng về từ vựng Ví dụ, trong tiếng Anh các từ cách nhau bằng khoảng trống, còn trong tiếng Việt một từ có thể do nhiều âm tiết cách nhau bằng khoảng trống ghép lại, như “Đất nước” hay “Công ty”
Documents Database
Query API Index API Document
Persistence API
Semantic Repository API
Semantic
Annotation
API
Custom Applications
Browser
Plug-in
KIM Web UI News
Collector Custom Apps
Annotation
Server
Any Web Browser
Lucene
Index Database
GATE KIM IE
Sesame GATE
KIM IE