Hiện nay, chưa có hệ thống chuyên biệt để phục vụ tra cứu thông tin du lịch ĐBSCL, cho nên việc tra cứu thông qua các trang website các Sở VH-TT&DL 12 tỉnh hoặc trang web Hiệp hội du lịch ĐBSCL hoặc Google. Vì thế, việc tra cứu ở các website này thì bộc lộ những hạn chế nhất định vì có rất ít đường link liên kết các website khác và chỉ cung cấp thông tin chưa cung cấp tri thức có liên quan.
2.2 PHÂN TÍCH KHẢ NĂNG ỨNG DỤNG CỦA SEMANTIC WEB
CHO BÀI TOÁN
2.2.1 Đặt vấn đề
a. Đối tượng sử dụng Với luận văn này ta thấy đối tượng sử dụng r ất rộng lớn, có thể là tất cả du khách trên mọi miên, hoặc bất kì ai khác muốn quan tâm tìm hiểu về du lịch Đồng
bằng sông Cửu Long.
Hệ thống mong muốn phát triển để cung cấp thông tin đầy đủ chính xác về thông tin du lịch Đồng bằng sông Cửu Long. Dữ liệu của trang web sẽ được thu thập trên internet và có sự kiểm tra và hiệu chỉnh bởi các quản trị viên.
b. Yêu cầu bài toán
“Xây dựng web ngữ nghĩa cho việc tra cứu thông tin web du lịch đồng bằng sông Cửu Long” gồm các yếu tố sau : địa điểm du lịch, các hoạt động du lịch, loại hình dịch vụ...
Hệ thống được xây đựng trên nền web, gồm 2 chức năng chính:
- Quản lý thông tin (dành cho Admin):
o Thêm, chỉnh sửa, xóa thông tin du lịch.
o_ Thu thập thông tin văn bản: tự động thu thập thông tin du lịch trên Internet (nằm trong các website) và tự nhập bằng tay.
- Tìm kiếm thông tin du lịch: cung cấp công cụ tìm kiếm theo ngữ nghĩa để
người sử dụng tìm kiếm một cách đơn giản nhất.
Chức năng tìm kiếm phải đáp ứng hai yéuc 4u chính đó là tìm kiếm cơ b ản
và tìm kiếm nâng cao . Tìm kiếm cơ bản phải đưa ra được kết quả sát với từ khóa người dùng nhập vào. Tìm kiếm nâng cao phải cung cấp được những dữ liệu liên quan thỏa mãn nhu cầu của người dùng.
2.2.2 Phân tích vẫn đề a. Vấn đề về dữ liệu
Nếu lập trình với web 2.0, đữ liệu được xây dựng trên các hệ quản trị cơ sở dữ liệu như MySQL, SQLServer,... Thông tin được lưu trữ dưới dạng bảng, trong
đó, mỗi hàng là một bộ không giới hạn về số lượng thành phân, không có sự đồng
nhất, chính vì thế mà khả năng thay đổi như thêm, bớt các quan hệ là rất khó thực
thi. Web 2.0 hiện tại chỉ dành cho người đọc mà không dành cho máy hiểu. Dữ liệu lưu trữ theo phương pháp truyền thống không có khả năng hiểu được ý nghĩa phía sau của các thông tin.
37
b. Van dé vé tim kiém
Với những hệ tìm kiếm truyền thống, độ chính xác của kết quả tìm kiếm không cao, người sử dụng cần phải tự mình chọn lọc tìm ra thông tin chính xác cần tìm hoặc phải qua rất nhiều bước tìm kiếm. Việc tìm kiếm thường là so sánh từ khóa của người dùng với đữ liệu có sẵn trong CSDL, nên người dùng phải sử dụng chính xác từ khóa để có thể nhận được kết quả tìm kiếm mong muốn.
Hiện nay, đa số các máy tìm kiếm đều cho phép người sử dụng có thể tạo các
câu truy vẫn gồm các từ khóa tìm kiếm, tuy nhiên, phương pháp này gặp phải những van dé sau:
- Mỗi từ khóa có thể có một hay nhiều nghĩa tùy theo từng ngữ cảnh.
- Bộ máy tìm kiếm không thẻ hiện mối quan hệ giữa các từ khóa với nhau.
- Thông tin có cùng ý nghĩa với từ khóa nhưng không nằm trong kết quả trả
về.
2.2.3 Giải pháp
Từ những khó khăn nêu trên, nhận thấy rằng, nếu chọn giải pháp xây dựng website này với công nghệ web 2.0 và cơ sở đữ liệu quan hệ thì rất khó. Giải pháp
đưa ra là sử dụng công nghệ semantic web để giải quyết bài toán hiệu quả hơn. Với
một website ứng dyng semantic web, con người có thé doc va hon thé, may tinh cũng có thể hiểu được thông tin.
Semantic web lưu trữ dữ liệu dưới định dạng RDE, đòi hỏi các bảng phải được chia nhỏ theo đúng câu trúc bộ ba. Sự lưu trữ này có ưu thế hơn so với lưu trữ đữ liệu truyền thống như:
Tổ chức đữ liệu đơn giản, đồng nhất nên thông tin được dễ dàng thêm bớt,
chỉnh sửa.
Cấu trúc bộ ba của RDF giúp cho thông tin dễ truy xuất bởi các hệ thống suy
luận, tìm kiếm ngữ nghĩa. Cũng nhờ vậy mà những bộ xử lí RDE có thể suy luận ra những thông tin mới không có trong hệ dữ liệu.
Bên cạnh đó, semantic web với mô hình đữ liệu thông minh (lưu trữ dữ liệu
dưới dang thông tin mà máy có thể hiểu được ) đã giúp việc tìm kiếm nhanh được nhanh hơn đồng thời hỗ trợ sử dụng truy xuất thông tin chất lượng hơn.
Việc tìm kiếm, đánh giá, xử lí, tích hợp thông tin có thể tiễn hành một cách tự
động. Semantic web sẽ định nghĩa các khái niệm và bổ sung các quan hệ dưới dạng
máy tính có thể hiểu được. Máy tính có thể xác định một thực thể. thuộc lớp hay thuộc tính cụ thể nào dựa trên ngữ cảnh chứa nó. Có thẻ tích hợp thông tin từ nhiều nguồn khác nhau, biết so sánh các thông tin với nhau, kết hợp các thông tin
đã được mô tả và giàu ngữ nghĩa với bất kì nguồn dữ liệu nào.
Dựa vào các luật suy diễn trên cơ sở tri thức về các thực thể, máy tính có khả năng sinh ra những kết luận mới. Ứng dụng semantic web có thê sẽ trả lời chính xác những câu hỏi dạng như: “chùa đơi ở Sóc Trăng ở đâu?”
Từ những ưu điểm trên, chúng tôi nhận thấy rằng ứng dụng semantic web vào
hệ thống tìm kiếm sẽ giúp tìm kiếm thông tin nhanh chóng và chính xác hơn, giải
quyết được những vấn đề bài toán gặp phải.
Với công việc xác định là phát triển một trang web semantic ta cần xây d ung
ứng dụng gồm 2 phần chính đó là xây dựng ontology và thiết kế giao điện thông
minh dé hién thi két qua.
a. Ontology
Trong phần này chúng tôi xây dựng các lớp, các thuộc tính tạo những mỗi
quan hệ đồng cấp và phân cấp theo những chuẩn đã được định nghĩa bởi tổ chức
W3C và cả những định nghĩa mới riêng biệt cho chương trình.
b. Giao diện web
Phần này, chúng tôi sẽ tập trung thiết kế giao diện theo phong cách hiện đại,
đơn giản và thể hiện đầy đủ thông tin. Giao diện có chức năng tự động nhận biết các
thông tin liên quan đến vấn đề tìm kiếm và tự động xuất ra được kết quả được trình
bày logic nhất. Giao diện này sẽ hoạt động tốt trên các trình duyệt web phê biến hiện nay như : Internet Explorer, Chrome, Firefox...
c. Giải pháp tra cứu
39
Giải pháp của bài toán được xây dựng như sau:
Các bước xử lý “Tiến trình thực hiện
Bước 1: Thu thập các nguồn
thông tin về du lịch ĐBSCL
% V'4TT-3. các tỉnh, Bach, bio vb du ích: Công ® @ ly phải triển du lịch
'Viện nghiên cứu du lịch Đ8SEL FIBS-L
Bước 2: Thông tin từ các nguồn tải liệu đã thu thập được đưa vào
— Kho dữ liệu _—
En xử lý
kho đữ liệu tiễn xử lý
giải pháp kỹ thuật đề xử lý kho dữ liệu
<=
Kho dữ tiệu
đã xử
Bước 4: Kho dữ liệu đã được xử lý
Bước 5: Người sử dung thực eco
hiện câu truy van va tra vẻ kết
quả thông qua giao điện web
Hình 2.1. Mô hình giải pháp tra cứu
2.3 Phương pháp xây dựng ontology
Quy trình xây dựng Ontology là một quy trình gôm nhiều bước, phụ thuộc vào nhiều công cụ, tính chất quy mô, các mối quan hệ phức tạp. Công việc xây dựng Ontology cần phải tính đến khả năng mở rộng miền nhằm phục vụ cho hướng phát triển tương lai, khả năng kế thừa của các hệ thống Ontology có sẵn, cũng như tính linh động để Ontology có khả năng mô tả tốt nhất các quan hệ phức tạp trong thực
tế.
Theo Stanford Center for Biomedical Informatics Research (Nhóm phat triển phần mềm Protégé để trình diễn và soạn thảo Ontology, quy trình phát triển xây dựng Ontology gồm 7 bước như sau: [5]
- Buéc_1: Xac định mién va pham vi cia Ontology Mục đầu tiên cũng là mục quan trọng trong việc xây dựng Ontology nhằm giúp cho chúng ta phải xác định được miền và phạm vi của Ontology. Để làm được điều này thì chúng ta phải trả lời được một số câu hỏi có liên quan như:
Miền của Ontology bao gồm liên quan đến lĩnh vực, phạm vi nào?
Ontology phục vụ cho mục đích chuyên biệt gì?
Quá trình khai thác, sử dụng, quản lý và bảo trì các Ontology?
Các câu hỏi trên sẽ giúp cho chúng ta giới hạn được miền và phạm vi thực sự của Ontology cần mô tả, từ đó ở mỗi bước lặp sẽ làm thay đổi quá trình xây dựng Ontology tùy thuộc vào mục đích của từng ứng dụng cụ thể hoặc có những tính năng cần bố sung. Một trong những cách để xác định phạm vi của Ontology là chúng ta phải phác thảo một danh sách các câu hỏi mà một cơ sở tri thức trên Ontology có thê trả lời các câu hỏi khả năng có thé xảy ra.
- Bước 2: Xem xét việc sử dụng Iai cae Ontology cd sẵn
Việc sử dụng lại các Ontology có sẵn là một công đoạn để giảm nhiều thời
gian cũng như chỉ phí trong quá trình xây dựng Ontology. Cho nên việc kế thừa đòi
hỏi người xây dựng có thể thêm hoặc bớt các lớp, quan hệ giữa các lớp, thực thẻ, từ
đó tỉnh chỉnh và mở rộng tùy theo mục đích yêu cầu của hệ thống. Cầu trúc của một Ontology bao gồm 3 tầng: Tầng trừu tượng, tầng miền xác định và tầng mở rộng.
Trong đó tầng trừu tượng có tính tái sử dụng cao, tầng miền xác định có thể tái sử dụng trong một lĩnh vực nhất định nào đó.
- Bước 3: Liệt kê các thuật ngữ quan trọng trong Ontology Ontology được xây dựng trên cơ sở các khái niệm trong một lĩnh vực cụ thê, vì vậy khi x4y dung Ontology cần bắt đầu từ các thuật ngữ chuyên ngành để xây dựng thành các lớp trong Ontology tương ứng. Tất nhiên không phải thuật ngữ nào cing dua vao Ontology, vi chua chắc đã định vị được cho thuật ngữ đó. Do đó cần phải liệt kê các thuật ngữ, để xác định ngữ nghĩa cho các thuật ngữ đó, cũng như cân nhắc về phạm vi của Ontology. Ví dụ miền du lịch bao gồm các thuật ngữ như:
địa điểm, địa danh, nét văn hóa, loại hình di lịch, lễ hội,... Việc liệt kê các thuật ngữ
4I
ban đầu là rất quan trọng và còn cho thấy được phần nào tổng quan về các khái niệm trong lĩnh vực đó, giúp cho các bước tiếp theo được thuận lợi.
- Bước 4: Xác định các lớp và phân cấp của các lớp Đây là một trong những bước quan trọng của việc một xây dựng Ontology, ở bước này thì chúng ta định nghĩa các lớp từ một số thuật ngữ đã được liệt kê ở bước 3, sau đó xây dựng cấu trúc phân lớp theo quan hệ lớp cha - lớp con. Quan hệ thực
thể của lớp con với lớp cha là quan hé “is-a”, nghĩa là một thực thể của lớp con cũng “jà — một ” thực thể của lớp cha. Cho nên vị trí đầu tiên là lớp gốc, tiếp theo là các lớp trung gian, cuối cùng là lớp lá. Lớp lá là lớp không thé triển khai được
nữa, chỉ được biểu hiện bằng các thực thể. Có nhiều hướng tiếp cận khác nhau cho vấn đề xây dựng cấu trúc lớp phân cấp như:
- Huong xdy dung tir trén xudng (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 đần đến lớp lá.
- Hướng xây dựng £ừ đưới lên (boffom-up): Ngược với hướng xây dựng cầu trúc lớp phân cấp từ trên xuống, hướng này 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.
- Cách kết hợp (combination): cách này kết hợp cả hai hướng xây dựng trên.
Đầu 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: Xác định các thuộc tính và quan hệ cho lớp
Các lớp tạo ra ở bước 4 chỉ mới là những tên gọi, tiếp theo chúng ta cần định
nghĩa thuộc tính của lớp là các thông tin bên trong của lớp, mô tả một khía cạnh nào đó của lớp và được dùng để phân biệt với các lớp khác. Có hai loại: #euộc tính đơn (simple property) và thuộc tính phức (comjplex properiy). Thuộc tính đơn là các giá
trị đơn ví dụ: chuỗi, số,... còn 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 sẽ kế thừa toàn bộ các thuộc tính của tất cả các cha nó.
Bước 6: Xác định các ràng buộc về thuộc tính và quan hệ của lớp:
Các ràng buộc (restrictions) giới hạn giá trị mà một thuộc tính có thể nhận.
Hai ràng buộc quan trọng nhất đối với một thuộc tính là ượng số (cardinality) va
kiéu (type). Rang buộc lượng số quy định số giá trị mà một thuộc tính có thể nhận.
Hai giá trị thường thấy của ràng buộc này là đơn trị (single) va da trị (multiple).
Ràng buộc thứ hai là về kiểu, các 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ể. Riêng 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). Khái niệm miền được dùng để chỉ lớp
(hay các lớp) mà một thuộc tính thuộc về. Trong khi đó, 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ể
Đây là bước cuối cùng khép lại một vòng lặp xây dựng Ontology. Việc chúng
ta cần làm ở bước này là tạo thực thê cho mỗi lớp và gán giá trị cho các thuộc tính.
Việc tạo thực thể cho một lớp là quá trình điền thông tin vào các thuộc tính của lớp
đó. Các thực thể sẽ tạo nên nội dung của một cơ sở tri thức. [7]
2.4 NGÔN NGỮ VÀ CÔNG CỤ XÂY DỰNG ONTOLOGY
2.4.1 Ngôn ngữ Web Ontology Language (OWL)
- RDE: là mô hình dữ liệu cho các đối tượng và các mối quan hệ giữa chúng.
Mô hình dữ liệu này dùng cú pháp của XML chỉ giúp cho thông tin được thể hiện ở
dang bộ ba theo đúng mô hình RDF chứ thông tin vẫn chưa thẻ hiện gì về mặt ngữ
nghĩa.
- RDE Schema: là một ngôn ngữ Ontology cơ bản mô tả các thuộc tính (property) và các lớp (class) của đối tượng RDE. Nó được phát triển ở tầng trên của RDF cho nén ban than RDF-Schema cũng chính là RDF. Nó được mở rộng từ RDE và bổ sung thêm các tập từ vựng để hỗ trợ cho việc xây dựng các Ontology được dễ dàng dé hình thành nên ngữ nghĩa cho thông tin, là cơ sở để xây đựng các công cụ tìm kiếm ngữ nghĩa.
- OWL : OWL là ngôn ngữ Ontology khá mạnh, nó ra đời sau RDFS nên
biết kế thừa những lợi thế của ngôn ngữ này đồng thời bổ sung thêm nhiều yếu tố giúp khắc phục được những hạn chế của RDES. OWL giúp tăng thêm yếu tố logic
43
cho thông tin và khả năng phân loại, ràng buộc kiểu cũng như lượng số tương đối mạnh. [13]
Hiện nay có ba loại OWL : OWL Lite, OWL DL (Description Logic), và OWL Full.
OWL Lie: hỗ trợ cho những người dùng chủ yếu cần sự phân lớp theo thứ
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 giúp OWL Lite đễ sử dụng và
thực thi và việc 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 nhưng lại hạn chế trong việc diễn đạt.
OWL DL (OWL Description Logic): hỗ trợ cho những người dùng cần cung
cấp sự diễn đạt tối ưu và đảm bảo tất cả các kết luận là có thể dự tính được và sẽ
hoàn thành trong một thời gian nhất định. 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 đó.
OWL mắt toàn bộ tính tương thích với RDF. Thông thường, một tài liệu RDF phải được mở rộng theo một số cách và bị giới hạn theo các cách khác trước khi nó là một tài liệu OWL DL, hợp lệ. Mọi tài liệu OWL DL hợp lệ là tài liệu RDE hợp lệ.
OWL Full: str dung tat ca cdc tir vựng nền tảng của ngôn ngữ OWL. Nó cho phép kết hợp tùy ý các từ vựng nên tảng với RDE và RDE Schema vì vậy nó tạo ra sự diễn đạt tối đa và tự do. OWL Full cho phép một Ontology bổ sung thêm ý nghĩa của các từ vựng được định nghĩa trước (RDF hoặc OWL) và hoàn toàn tương thích với RDEF. Ngôn ngữ này trở nên quá mạnh mẽ đến mức là không thể quyết định được, ảnh hưởng đến hỗ trợ lập luận đầy đủ hoặc hỗ trợ lập luận hiệu quả.
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. Việc lựa chọn ngôn ngữ con nào phù hợp nhất là phụ thuộc vào nhu cầu của mỗi người. Mối liên hệ giữa các ngôn ngit con cua OWL:
- Moi Ontology hop 1é dya trén OWL Lite đều là Ontology hợp lệ trên OWL DL.