Các kết quả tìm kiếm với từ khóa thường có kết quả trả về quá nhiều khi dữ liệu lớn. Sử dụng cách tìm kiếm nâng cao sẽ có kết quả chính xác hơn. Với cách tìm kiếm này, hệ thống đưa ra một số tùy chọn làm điều kiện tìm kiếm. Người dùng dựa vào một số gợi ý tùy chọn đó để đưa ra điều kiện phù hợp với yêu cầu của mình.
3.2 CÁC QUYỀN CỦA HỆ THỐNG TÌM KIẾM VĂN BẢN TRONG NGÀNH GIÁO DỤC
Một hệ thống sẽ bao gồm các quyền cần thiết để giúp phân chia các chức năng cũng như quản lý chương trình được thống nhất với hệ thống. Hệ thống tìm kiếm văn bản trong ngành giáo dục được chia làm 2 quyền căn bản sau:
Bảng 3.1. Các quyền của hệ thống
STT Đối tượng Mô tả
1 Admin Có thể import và chỉnh sửa thông tin văn bản (yêu cầu phải đăng nhập vào phần quản trị).
2 User Tìm kiếm thông tin văn bản giáo dục
3.3 THIẾT KẾ HỆ THỐNG TÌM KIẾM VĂN BẢN TRONG NGÀNH GIÁO DỤC
3.3.1 Biểu đồ Login
3.3.2 Biểu đồ Logout
Hình 3.3. Biểu đồ Logout
3.3.3 Biểu đồ Import thông tin từ website
3.3.4 Biểu đồ Import thông tin thủ công bằng tay
Hình 3.5. Biểu đồ Import bằng tay
3.3.5 Biểu đồ Xem thông tin
3.3.6 Biểu đồ Sửa thông tin
Hình 3.7. Biểu đồ Sửa thông tin
3.3.7 Biểu đồ Xóa thông tin
3.3.8 Biểu đồ Tìm kiếm thông tin
Hình 3.9. Biểu đồ Tìm kiếm thông tin
3.4. THIẾT KẾ ONTOLOGY
3.6.1 Các bước xây dựng ontology
Các bước xây dựng ontology cụ thể như sau: - Xác định miền quan tâm và phạm vi của ontology. - Xem xét việc kế thừa các ontology có sẵn. - Liệt kê các thuật ngữ quan trọng trong ontology. - Xây dựng các lớp và cấu trúc lớp phân cấp. - Định nghĩa các thuộc tính và quan hệ cho lớp.
- Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp. - Tạo các thực thể cho lớp.
Bước 1:Xác định miền quan tâm và phạm vi của ontology
Tương tự như các công đoạn đặc tả khác, đặc tả ontology cũng bắt đầu bằng việc trả lời các câu hỏi mang tính phân tích để xác định chính xác các yêu cầu. Những câu hỏi thường dùng là:
- Ontology cần mô tả miền nào?
- Ontology phục vụ cho mục đích chuyên biệt gì?
- Cơ sở tri thức trong Ontology sẽ trả lời những câu hỏi gì?
- Ontology nhằm phục vụ đối tượng nào?
- Ai là người sẽ xây dựng, quản trị ontology?
giới hạn được phạm vi cụ thể của mô hình cần mô tả và dự kiến các kỹ thuật sẽ sử dụng trong quá trình phát triển.
Sau khi đã phác thảo xong phạm vi ontology người thiết kế sẽ trả lời các câu hỏi mang tính đánh giá để tiếp tục tinh chỉnh lại phạm vi của hệ thống cần xây dựng, được gọi là “câu hỏi kiểm chứng khả năng” (competency question):
- Ontology đã có đủ thông tin để trả lời cho các câu hỏi được quan tâm trên cơ sở tri thức hay không?
- Câu trả lời của cơ sở tri thức đã đáp ứng được mức độ, yêu cầu nào của người sử dụng?
- Các ràng buộc và quan hệ phức tạp trong miền quan tâm đã được biểu diễn hợp lý chưa?
Bước 2:Xem xét việc kế thừa các ontology có sẵn
Đây là bước thường hay được sử dụng để giảm thiểu công sức xây dựng một ontology. Khi đã có ontology tương tự, người xây dựng có thể kế thừa nó để thêm hoặc bớt các lớp, các quan hệ giữa các lớp, thực thể… để phù hợp với mục đích xây dựng ontology. Bên cạnh đó, các ứng dụng nếu có sự tương tác lẫn nhau thì cần phải hiểu các lớp, thực thể, quan hệ… của nhau để thuận tiện trong việc trao đổi thông tin hoặc thống nhất thông tin nên việc kế thừa các ontology có sẵn trong trường hợp này là rất quan trọng.
Xây dựng một ontology mới trên cơ sở kế thừa các hệ thống có sẵn sẽ liên quan đến một bài toán phức tạp là “trộn” (merging) các ontology. Vấn đề là có thể có tên các khái niệm định nghĩa trong các ontology là giống nhau nhưng mô tả những đối tượng khác nhau hoặc ngược lại. Thêm nữa, làm thế nào để bổ sung các quan hệ, thuộc tính có sẵn vào hệ thống mới?
Nếu giải quyết những vấn đề trên hoàn toàn thủ công thì rất khó, tuy nhiên, hầu hết các ontology đều được xây dựng trên các hệ thống xây dựng và quản trị ontology, như: Sesame, Protégé, OntoEdit,… Đa số các phần mềm này đều hỗ trợ chức năng trộn tự động các ontology cùng hoặc khác định dạng với nhau, người xây dựng chỉ cần kiểm tra lại để đảm bảo tính chính xác cho ontology của mình.
Bước 3:Liệt kê các thuật ngữ quan trọng trong ontology
Đây là bước tiền đề cho bước 4 và bước 5. Ta tiến hành liệt kê tất cả các thuật ngữ có trong miền quan tâm (có thể đồng nghĩa hoặc chồng nhau) như tên các khái
niệm, quan hệ, thuộc tính… Thông thường, các thuật ngữ là danh từ sẽ trở thành các lớp, tính từ sẽ thành thuộc tính, động từ sẽ là quan hệ giữa các lớp.
Bước 4:Xây dựng các lớp và cấu trúc lớp phân cấp
Đây là một trong hai bước quan trọng nhất của việc xây dựng một ontology. Bước này định nghĩa các lớp từ một số thuật ngữ đã liệt kê trong bước 3, sau đó xây dựng cấu trúc lớp phân cấp theo quan hệ “lớp cha-lớp con”.
Lớp ở vị trí càng cao trong cấu trúc sẽ có mức độ tổng quát càng cao. Vị trí đầu tiên là lớp gốc, tiếp theo là các lớp trung gian và cuối cùng là lớp lá. Lớp lá là lớp không thể triển khai được nữa và chỉ được biểu hiện bằng các thực thể.
Quan hệ giữa các thực thể của lớp con với lớp cha là quan hệ “là-một”, có nghĩa một thực thể của lớp con cũng là một thực thể của lớp cha.
Ta có thể xây dựng cấu trúc lớp phân cấp theo ba hướng sau:
- “Từ trên xuống” (top-down): bắt đầu bằng các lớp có mức độ tổng quát cao nhất, sau đó triển khai dần đến lớp lá.
- “Từ dưới lên” (bottom-up): bắt đầu bằng việc xác định các lớp được cho là cụ thể nhất, sau đó tổng quát hóa đến khi được lớp gốc.
- “Kết hợp” (combination): kết hợp cả hai hướng xây dựng trên. Trước tiên chọn các lớp nổi bật nhất trong miền quan tâm, sau đó tống quát hóa và cụ thể hóa cho đến khi được cấu trúc mong muốn.
Bước 5:Định nghĩa các thuộc tính và quan hệ cho lớp
Các lớp xác định ở bước 4 chỉ là những thuật ngữ phân biệt với nhau bằng tên gọi. Để có thể phục vụ cho việc biểu diễn tri thức, các thuộc tính của lớp cần được định nghĩa.
Thuộc tính có thể chia làm những loại sau:
- Về ý nghĩa: chia làm 2 loại, thuộc tính bên trong (intrinsic property) và thuộc tính bên ngoài (extrinsic property). Thuộc tính bên trong mô tả các tính chất bên trong sự vật như: chất, lượng, cấu tạo,… Thuộc tính bên ngoài mô tả biểu hiện của sự vật: màu sắc, hình dáng,…
- Về giá trị: chia làm 2 loại gồm: thuộc tính đơn (simple property) và thuộc tính phức (complex property). Thuộc tính đơn là những giá trị đơn như: chuỗi, số,… Thuộc tính phức có thể chứa hoặc tham khảo đến một đối tượng khác.
Một lớp kế thừa toàn bộ các thuộc tính của tất cả các cha nó. Vì vậy khi định nghĩa một thuộc tính cần xem nó đã được định nghĩa ở các lớp mức cao hơn hay chưa.
Bước 6:Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp
Các ràng buộc giới hạn giá trị mà một thuộc tính có thể nhận, có hai ràng buộc quan trọng nhất đối với một thuộc tính là lượng số (cardinality) và kiểu (type).
“Lượng số” quy định số giá trị một thuộc tính có thể nhận, thường là: đơn trị (single) và đa trị (multiple).
“Kiểu” mà một thuộc tính có thể nhận là: chuỗi, số, boolean, liệt kê và kiểu thực thể. Kiểu thực thể có liên quan đến hai khái niệm gọi là: miền (domain) và khoảng (range). Miền dùng để chỉ lớp (hay các lớp) mà thuộc tính đó thuộc về. Khoảng chính là lớp (hay các lớp) làm kiểu cho giá trị thuộc tính kiểu thực thể.
Bước 7:Tạo các thực thể cho lớp
Đây là bước cuối cùng trong vòng lặp xây dựng ontology. Bước này tạo thực thể cho mỗi lớp và gán giá trị cho các thuộc tính. Các thực thể sẽ tạo nên nội dung của một cơ sở tri thức và là vấn đề được quan tâm trong lĩnh vực semantic web.
3.6.2 Thiết kế mô hình dữ liệu ontology
Từ các bước xây dựng ontology đã nêu ở mục trên, chúng tôi tiến hành xây dựng ontology cho văn bản giáo dục như sau :
Bước 1: Xác định miền quan tâm và phạm vi của ontology - Miền quan tâm của ontology: Văn bản trong ngành giáo dục
- Phục vụ mục đích: tìm kiếm thông tin văn bản giáo dục
- Phục vụ đối tượng: là những người có nhu cầu tìm kiếm thông tin về giáo dục hoặc xây dựng hệ thống thông tin về giáo dục.
- Phạm vi của ontology: ngành giáo dục trong cả nước.
Bước 2: Xem xét việc kế thừa các ontology có sẵn
Đối với ontology văn bản giáo dục, không có sự thừa kế từ các ontology có sẵn.
Bước 3: Liệt kê các thuật ngữ quan trọng trong ontology
Văn bản, lĩnh vực, loại văn bản, cơ quan, thời gian, nội dung văn bản, cá nhân...
Với bài toán ta sẽ xây dựng một ontology định nghĩa văn bản trong ngành giáo dục có 7 class chính :
- Linh_vuc : class mô tả về lĩnh vực mà một văn bản cụ thể đề cập đến. - Loai_van_ban : class mô tả về loại văn bản được đề cập đến.
- Thoi_gian : class mô tả về yếu tố thời gian có liên quan đến văn bản.
- Co_quan : class mô tả về các cơ quan liên quan trong văn bản, đồng thời đây cũng là kho dữ liệu lưu trữ thông tin của các cơ quan.
- Ca_nhan : class mô tả về các cá nhân có liên quan trong văn bản, đồng thời đây cũng là kho dữ liệu lưu trữ thông tin của nhiều cá nhân.
- Noi_dung : class mô tả về nội dung của văn bản, nội dung của văn bản sẽ được phân loại nhờ vào class con Kieu_noi_dung.
- Van_ban : class bao quát nhất, miêu tả cụ thể rõ ràng đối tượng chính là văn bản. Class này chứa dữ liệu liên quan đến tất cả các class còn lại.
Bước 5 + 6: Định nghĩa các thuộc tính và quan hệ cho lớp, định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp
Để trình bày rõ hơn về các Class cơ bản trong ontology văn bản giáo dục, chúng tôi sẽ miêu tả kèm theo sơ đồ mô phỏng từng Class liên quan.
Class Linh_vuc
Class này ta sẽ định nghĩa các class con miêu tả các thuộc tính lĩnh vực cơ bản liên quan đến văn bản trong nghành giáo dục đó là :
- Id_linh_vuc : là class con của class Linh_vuc, thể hiện ID của lĩnh vực mà văn bản liên quan.
- Ten_linh_vuc : là object property liên hệ giữa class Linh_vuc và class Van_ban.
Hình 3.10. Sơ đồ mô tả class Linh_vuc
Class này định nghĩa các class con liên quan đến vấn đề phân loại văn bản đó là:
- Id_loai_van_ban : là class con của class Loai_van_ban, thể hiện ID phân loại của văn bản
- Ten_loai_van_ban : là object property liên hệ giữa class Loai_van_ban và class Van_ban.
Hình 3.11. Sơ đồ mô tả class Loai_van_ban
Class Co_quan
Class này định nghĩa các class con liên quan đến một đơn vị, cơ quan cụ thể. Class Co_quan có các class con sau :
- Id_co_quan : là class con của class Co_quan, thể hiện ID của cơ quan có liên quan trong văn bản.
- Cap_bac : class thể hiện cấp bậc của cơ quan.
- Ten_co_quan : là object property liên hệ giữa class Co_quan và class Van_ban.
- Nhiem_vu_co_quan : thể hiện nhiệm cụ của cơ quan trong văn bản.
Hình 3.12. Sơ đồ mô tả class Co_quan
Class định nghĩa các class con về mặt thời gian liên quan đến văn bản. Class Thoi_gian có các class con sau :
- Id_thoi_gian : là class con thể hiện ID của thời gian liên quan đến văn bản. - Loai_thoi_gian : là object property liên hệ giữa class Thoi_gian và class
Van_ban.
Hình 3.13. Sơ đồ mô tả class Thoi_gian
Class Ca_nhan
Class định nghĩa các class con về mặt cá nhân liên quan đến văn bản. Class Ca_nhan có các class con sau :
- Id_ca_nhan : thể hiện ID của cá nhân có liên quan đến văn bản.
- Ho_ten : là object property liên hệ giữa class Ca_nhan và class Van_ban. - CMND : là class con thể hiện chứng minh nhân dân và các thông tin có liên
quan của cá nhân.
- Chuc_vu : thể hiện thông tin chức vụ của cá nhân.
- Trinh_do : thể hiện thông tin trình độ học vấn của cá nhân.
- Ten_co_quan : là object property liên hệ giữa class Co_quan và class Ca_nhan.
- Nhiem_vu_ca_nhan : là class con thể hiện nhiệm vụ của cá nhân có liên quan trong văn bản.
Hình 3.14. Sơ đồ mô tả class Ca_nhan
Class Noi_dung
Class định nghĩa các class con về nội dung của văn bản. Class Noi_dung bao gồm :
- Trich_luoc_noi_dung : là object property liên hệ giữa class Noi_dung và class Van_ban.
- Noi_dung_day_du : là class con thể hiện nội dung đầy đủ của văn bản.
Hình 3.15. Sơ đồ mô tả class Noi_dung
Class Van_ban
Class Van_ban là class đặc biệt trong ontology. Class Van_ban chứa các class con, các Object Properties và các Data Properties để liên kết với các class khác tạo thành một ontology hoàn chỉnh về văn bản trong ngành giáo dục. Class Van_ban chứa các Object Properties sau :
- ID_van_ban : là class con thể hiện ID của từng văn bản cụ thể.
- Ten_loai_van_ban : là object property liên kết class Van_ban và class Loai_van_ban.
- Ten_co_quan : là object property liên kết class Van_ban và class Co_quan. - Ten_linh_vuc : là object property liên kết class Van_ban và class Linh_vuc. - Loai_thoi_gian : là object property liên kết class Van_ban và class
Thoi_gian.
- Trich_luoc_noi_dung : là object property liên kết class Van_ban và class Noi_dung.
Hình 3.16. Sơ đồ mô tả class Van_ban
Tổng quát ontology
Từ các sơ đồ trên, chúng ta có sơ đồ tổng quát thể hiện liên kết giữa các class trong ontology như sau :
Hình 3.17. Sơ đồ mô tả tổng quát ontology
Bước 7: Tạo các thực thể cho lớp
Hình 3.18. Ontology văn bản giáo dục được xây dựng bằng công cụ Protégé
3.5. CHƯƠNG TRÌNH THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
3.5.1 Trang chủ hệ thống
3.5.2 Màn hình hiển thị tất cả kết quả tìm kiếm
Hình 3.20. Màn hình hiển thị tất cả kết quả tìm kiếm
Đối với kết quả thực nghiệm với hệ thống tìm kiếm văn bản hành chính đắc biệt là trong ngành giáo dục, ứng dụng cho phép người dùng có thể tìm kiếm văn bản ở mức cơ bản hoặc tìm kiếm nâng cao hoặc cũng có thể đưa ra những gợi ý cho người dùng khi có nhiều kết quả trùng nhau.
đến văn bản
Lần lượt ta nhập thông tin cần tìm kiếm để kiểm tra. Kết quả chương trình sẽ thể hiện kết quả tìm kiếm của văn bản liên quan đến nội dung cần và kết quả cho độ chính xác cao.
3.5.4 Màn hình hiển thị thông tin tác giả
Hình 3.23. Màn hình hiển thị thông tin tác giả
Đây là phần thể hiện thông tin của tên đề tài ,cán bộ hướng dẫn đề tài và học