Cơ sở dữ liệu

Một phần của tài liệu Nghiên cứu Web ngữ nghĩa và ứng dụng trong trợ giúp tìm kiếm văn bản nghiệp vụ hành chính (Trang 68)

Cơ sở dữ liệu nhằm cung cấp cho trang web tìm kiếm được thu thập tự động từ các website phổ biến trên Internet hoặc tự nhập vào bằng tay.

Hệ thống tìm kiếm văn bản hành chính sẽ hướng đến việc cập nhật dữ liệu tự động thông qua các robot tìm kiếm, phân tích dữ liệu thông minh. Nhân tố con người sẽ đóng vai trò kiểm tra và chỉnh sửa dữ liệu trong hệ thống đó.

2.9 KẾT LUẬN CHƯƠNG 2

Trong chương này chúng tôi đưa ra các hệ thống tìm kiếm văn bản hành chính, ý tưởng về hệ thống, cá ngôn ngữ xây dựng ontology trong việc tìm kiếm văn bản.Việc đưa ra các phương pháp thu thập, công cụ và môi trường giúp nhận xét về những ưu điểm và khuyết điểm của các hệ thống phục vụ cho việc tìm kiếm hiện nay. Từ đó, chúng tôi đề xuất xây dựng hệ thống tìm kiếm mới hiệu quả hơn.

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG VÀ TRIỄN KHAI ỨNG DỤNG

3.1 PHÂN TÍCH HỆ THỐNG TÌM KIẾM VĂN BẢN HÀNH CHÍNH

3.1.1 Các giai đoạn xây dựng hệ thống

Ứng dụng được viết trên nền web nên tất cả việc quản lý cập nhật, hiệu chỉnh thông tin của người quản trị cũng như việc truy xuất và tìm kiếm dữ liệu của người dùng đầu cuối đều thông qua mạng Internet. Ở đây người duyệt web đóng vai trò trung gian theo sơ đồ xử lý sau :

Hình 3.1. Sơ đồ tổng quan hệ thống

Để thiết kế hệ thống tìm kiếm ngữ nghĩa ứng dụng trên, chúng tôi đề xuất mô hình hỗ trợ việc tìm gồm các công đoạn sau:

3.1.1.1. Giai đoạn 1: Thiết kế ontology

Thiết kế ontology nhằm cung cấp một bộ từ vựng chung bao gồm các khái niệm, các thuộc tính quan trọng và các định nghĩa về các khái niệm và các thuộc tính này bao quanh một chủ đề về văn bản giáo dục.

Ngoài bộ từ vựng, ontology còn cung cấp các ràng buộc, đôi khi các ràng buộc này được coi như các giả định cơ sở về ý nghĩa mong muốn của bộ từ vựng, nó được sử dụng trong một miền mà có thể được giao tiếp giữa người và các hệ thống ứng dụng phân tán hỗn tạp khác. Các ontology được sử dụng như là một biểu mẫu trình bày tri thức về thế giới hay một phần của nó. ontology dùng để miêu tả:

- Các cá thể: Các đối tượng cơ bản như trang web, bài báo… có liên quan đến văn bản giáo dục.

- Các lớp: Các tập hợp, hay kiểu của các đối tượng. Ràng buộc các cá thể trong một tập hợp nhằm quản lý dễ hơn.

- Các thuộc tính: Thuộc tính, tính năng, đặc điểm, tính cách, hay các thông số mà các đối tượng có và có thể đem ra chia sẻ.

- Các mối liên hệ: cách mà các đối tượng có thể liên hệ tới một đối tượng khác.

- Bộ từ vựng ontology trong luận văn được xây dựng dựa trên phần mềm Protégé, cung cấp khả năng biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên web và có khả năng hỗ trợ lập luận.

3.1.1.2. Giai đoạn 2: Xây dựng ứng dụng

Đề xuất sử dụng ngôn ngữ lập trình C# dựa trên nền tảng dotNet để thực hiện tương tác với ontology và trả về kết quả truy vấn theo yêu cầu người sử dụng.

3.1.2 Phân tích chức năng tìm kiếm của hệ thống

Chức năng cơ bản của ứng dụng là tìm kiếm, việc áp dụng kỹ thuật tìm kiếm trên ontology sẽ trả về những kết quả chính xác hơn nhờ những ưu điểm về lưu trữ dữ liệu RDF so với dữ liệu truyền thống, có cách tổ chức dữ liệu đơn giản, đồng nhất, cấu trúc bộ ba giúp dễ truy xuất thông tin bởi các hệ thống suy luận.

3.1.2.1. Duyệt theo ngữ nghĩa

Duyệt cây phân cấp, theo loại hình dịch vụ: phương pháp này cung cấp cách tìm kiếm địa điểm theo phân cấp trên cây ontology. Người dùng không cần nhập thông tin tìm kiếm mà vẫn có thể tìm kiếm được tài liệu cần thiết bằng cách duyệt theo cây tìm kiếm. Cây tìm kiếm trong ontology được xây dựng dựa vào nền tảng cấu trúc bộ ba đặc biệt của lớp RDF và lớp RDF Schema trong cấu trúc 7 tầng của semantic web. Việc tìm kiếm theo ngữ nghĩa sẽ dễ dàng hơn nhờ vào hoạt động lần theo cấu trúc phân nhanh của cây tìm kiếm.

3.1.2.2. Tìm kiếm theo từ khóa

Cách tìm kiếm phổ biến và có nhu cầu nhiều nhất là tìm kiếm theo từ khóa. Từ khóa chính là từ gợi ý để so sánh nó với các thông tin của dữ liệu qua đó sẽ tìm ra kết quả cần thiết. Tuy nhiên, nếu ta tìm kiếm với từ khóa như thông thường thì sẽ có độ chính xác không cao.

3.1.2.3. Tìm kiếm nâng cao

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.

Một phần của tài liệu Nghiên cứu Web ngữ nghĩa và ứng dụng trong trợ giúp tìm kiếm văn bản nghiệp vụ hành chính (Trang 68)