Trong nội dung bài thu hoạch này em xin phép được trình bày phương pháp biểu diễn tri thức bằng Ontology và cách sử dụng công cụ Protégé để xây dựng Ontology về sách.. Một Ontology cung
Trang 1Đại Học Công Nghệ Thông Tin
Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Trang 2Lời mở đầu
Để biểu diễn tri thức ngày nay có rất nhiều phương pháp biểu diễn như: biểu diễn tri thức bằng mạng ngữ nghĩa, biểu diễn tri thức bằng script, biểu diễn tri thức bằng luật dẫn, biểu diễn tri thức bằng frame, biểu diễn tri thức bằng logic vị
từ, biểu diễn tri thức bằng ontology.
Trong nội dung bài thu hoạch này em xin phép được trình bày phương pháp biểu diễn tri thức bằng Ontology và cách sử dụng công cụ Protégé để xây dựng Ontology về sách.
Nội dung bài thu hoạch bao gồm :
Phần 1 : Cơ sở lý thuyết về ontology Phần 2 : Xây dựng ontology về sách bằng công cụ protégé Phần 3 : Kết quả đạt được và hướng phát triển.
Phần 4 : Tài liệu tham khảo
Trang 3Mục lục
Trang 4Phần I Cơ sở lý thuyết về ontology
1. Tổng quan về ontology
a. Giới thiệu
Ontology trở thành một lĩnh vực nghiên cứu phổ biến có mặt trongnhiều lĩnh vực từ xử lý ngôn ngữ tự nhiên, công nghệ tri thức, các hệthống trao đổi, tích hợp thông tin cho đến biểu diễn và quản lý tri thức Ontology được xây dựng để cung cấp các nguồn thông tin có ngữnghĩa mà máy tính có thể xử lý và thao tác được nhưng đồng thời vẫn cóthể giao tiếp được giữa người và phần mềm
Theo lý thuyết, Ontology là một đặc tả hình thức, rõ ràng của mộtkhái niệm được dùng chung Một Ontology cung cấp một bảng từ vựngdùng chung, bảng từ vựng này có thể được sử dụng để mô hình hóa mộtmiền, cung cấp các đối tượng và (hoặc) các khái niệm đang có, và cácthuộc tính cùng với các mối quan hệ của chúng
Ontologies được sử dụng trong trí tuệ nhân tạo, Web ngữ nghĩa, côngnghệ phần mềm, trong tin sinh, thư viện học, và kiến trúc thông tin nhưmột dạng biểu diễn tri thức về thế giới hoặc một về một miền ứng dụng
cụ thể
Ontology cung cấp một bộ từ vựng chung bao gồm các khái niệm, cácthuộc tính quan trọng và các định nghĩa về các khái niệm và các thuộc
Trang 5khi các ràng buộc này được coi như các giả định cơ sở về ý nghĩa mongmuốn của bộ từ vựng, nó được sử dụng trong một miền mà có thể đượcgiao tiếp giữa người và các hệ thống ứng dụng phân tán khác.
Việc tiếp cận ngữ nghĩa tài nguyên Web thông qua các Ontology thìmềm dẻo hơn vì người sử dụng có thể lựa chọn bộ từ vựng và các ràngbuộc trong các Ontology Ví dụ, các ứng dụng trong các miền khác nhau
có thể sử dụng các Ontology khác nhau Đặc biệt, các Ontology có thểđược sử dụng để đặc tả ý nghĩa của các tài nguyên Web (thông qua cácchú thích) bằng cách xác nhận các tài nguyên như các trường hợp cụ thểcủa một số khái niệm quan trọng và hay hoặc khẳng định các tài nguyên
có quan hệ với các tài nguyên khác thông qua một số thuộc tính quantrọng đã định nghĩa trong các Ontology
Từ vựng trong một Ontology có thể được biểu diễn bằng các kháiniệm và các quan hệ được đặt tên và các định nghĩa khái niệm có thểđược biểu diễn bằng các giới thiệu tương đương Các giả định cơ sở cóthể được biểu diễn bằng các tiên đề khái niệm và quan hệ khái quát Đôikhi một Ontology tương ứng với một cơ sở tri thức logic mô tả MộtOntology cũng chứa các trường hợp của các khái niệm và các mối quan
hệ quan trọng của các cá thể này, nó được biểu diễn bằng các khẳng địnhcủa logic mô tả..
Trang 62. Các thành phần trong ontology
a. Các cá thể (Individuals)
Các cá thể là các thành phần cơ bản, nền tảng của một ontology Các
cá thể trong một ontology có thể bao gồm các đối tượng cụ thể như conngười, động vật, cái bàn cũng như các cá thể trừu tượng như các thànhviên hay các từ Một ontology có thể không cần bất kỳ một cá thể nào,nhưng một trong những lý do chính của một ontology là để cung cấp mộtngữ nghĩa của việc phân lớp các cá thể, mặc dù các cá thể này không thực
sự là một phần của ontology
b. Các lớp (Classes) – khái niệm
Các lớp là các nhóm, tập hợp các đối tượng trừu tượng Chúng có thểchứa các cá thể, các lớp khác, hay là sự phối hợp của cả hai
Các ontology biến đổi tuỳ thuộc vào cấu trúc và nội dung của nó: Một lớp có thể chứa các lớp con, có thể là một lớp tổng quan (chứa tất
cả mọi thứ), có thể là lớp chỉ chứa những cá thể riêng lẻ, Một lớp có thểxếp gộp vào hoặc bị xếp gộp vào bởi các lớp khác Mối quan hệ xếp gộpnày được sử dụng để tạo ra một cấu trúc có thứ bậc các lớp, thường là vớimột lớp thông dụng nhất kiểu Thing ở trên đỉnh và các lớp rất rõ ràng ởphía dưới cùng
Ví dụ: Sách, Người, Tác_giả, Nhà_sách
c. Các thuộc tính (Properties)
Các đối tượng trong ontology có thể được mô tả thông qua việc khaibáo các thuộc tính của chúng Mỗi một thuộc tính đều có tên và giá trịcủa thuộc tính đó Các thuộc tính được sử dụng để lưu trữ các thông tin
mà đối tượng có thể có Ví dụ, đối với một quyển sách có thể có cácthuộc tính: tên, ngày_xuất_bản, giá_bìa, chiều_rộng
Giá trị của một thuộc tính có thể có các kiểu dữ liệu phức tạp
d. Quan hệ (Relation)
Trang 7Một trong những ứng dụng quan trọng của việc sử dụng các thuộc tính
là để mô tả mối liên hệ giữa các đối tượng trong ontology Một mối quan
hệ là một thuộc tính có giá trị là một đối tượng nào đó trong ontology.Một kiểu quan hệ quan trọng là kiểu quan hệ xếp gộp (subsumption).Kiểu quan hệ này mô tả các đối tượng nào là các thành viên của cáclớp nào của các đối tượng
Hiện tại, việc kết hợp các ontology là một tiến trình được làm phầnlớn là thủ công, do vậy rất tốn thời gian và đắt đỏ Việc sử dụng cácontology là cơ sở để cung cấp một định nghĩa thông dụng của các thuậtngữ cốt lõi có thể làm cho tiến trình này trở nên dễ quản lý hơn Hiệnđang có các nghiên cứu dựa trên các kỹ thuật sản sinh để nối kết cácontology, tuy nhiên lĩnh vực này mới chỉ hiện hữu về mặt lý thuyết
Web Ontology Language (OWL) là ngôn ngữ đánh dấu được sử dụng
để xuất bản và chia sẻ dữ liệu sử dụng các ontology trên Internet OWL
là một bộ từ vựng mở rộng của khung mô tả tài nguyên (RDF) và được
kế thừa từ ngôn ngữ DAML+OIL Web ontology – một dự án được hỗ trợbởi W3C OWL biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng vàmối liên hệ giữa các thuật ngữ này để đảm bảo phù hợp với quá trình xử
lý bởi các phần mềm
OWL được xem như là một kỹ thuật trọng yếu để cài đặt choSemantic Web trong tương lai OWL được thiết kế đặc biệt để cung cấpmột cách thức thông dụng trong việc xử lý nội dung thông tin của Web.Ngôn ngữ này được kỳ vọng rằng sẽ cho phép các hệ thống máy tính cóthể đọc được thay thế cho con người Vì OWL được viết bởi XML, cácthông tin OWL có thể dễ dàng trao đổi giữa các kiểu hệ thống máy tínhkhác nhau, sử dụng các hệ điều hành và các ngôn ngữ ứng dụng khácnhau Mục đích chính của OWL là sẽ cung cấp các chuẩn để tạo ra một
Trang 8nền tảng để quản lý tài sản, tích hợp mức doanh nghiệp và để chia sẻcũng như tái sử dụng dữ liệu trên Web OWL được phát triển bởi nó cónhiều tiện lợi để biểu diễn ý nghĩa và ngữ nghĩa hơn so với XML, RDF
và RDFS, và vì OWL ra đời sau các ngôn ngữ này, nó có khả năng biểudiễn các nội dung mà máy có thể biểu diễn được trên Web
Trang 9Phần II Thiết kế ontology về sách bằng công cụ protégé
1. Giới thiệu công cụ Protégé.
Một số công cụ phát triển và hiệu chỉnh có giá trị trong việc làm giảm
độ phức tạp và thời gian dùng cho nhiệm vụ xây dựng ontology Cáccông cụ như Kaon, OileEd và Protégé cung cấp các giao diện nhằm giúp
đỡ người sử dụng thực hiện các hoạt động chính yêu trong trong quá trìnhphát triển một ontology
Việc lựa chọn một công cụ hiệu chỉnh phù hợp nhất có nhiều khókhăn vì mỗi kiểu ontology có các yêu cầu về kinh phí, thời gian, tàinguyên khác nhau Để giúp cho việc giải quyết vướng mắc này, Singh &Murshed (2005) đưa ra các tiêu chuẩn đánh giá công cụ tạo ontology Tiêu chuẩn bao gồm tính năng, khả năng sử dụng lại, lưu trữ dữ liệu,mức độ phức tạp, quan hệ, tính lâu bền, độ an toàn, độ chắc chắn, khảnăng học, tính khả dụng, hiệu lực, và tính rõ ràng Protégé vàOntoEditFree được phát triển bởi Singh & Murshed sử dụng các tiêuchuẩn này
Một số công cụ hiệu chỉnh ontology phổ biến:
Trang 10Protégé là một phần mềm mã nguồn mở miễn phí cung cấp cho cộngđồng người sử dụng với một bộ công cụ để xây dựng các mô hình miền
và các ứng dụng dựa trên tri thức với ontology
Về cơ bản, Protégé thực hiện một tập hợp phong phú của các cấu trúc
mô hình tri thức và hành động hỗ trợ sự sáng tạo, trực quan, và thao táccủa ontology trong các định dạng khác nhau
Protégé có thể được tùy chỉnh để cung cấp tên miền thân thiện hỗ trợcho việc tạo ra các mô hình kiến thức và nhập dữ liệu Hơn nữa, Protégé
có thể được mở rộng như một plug-in và có một giao diện lập trình ứngdụng dựa trên Java (API) để xây dựng các công cụ và các ứng dụng dựatrên tri thức
Protégé hỗ trợ 2 mô hình ontology là Frame và OWL:
Protégé-Protégé-Frame cung cấp một giao diện người dùng đầy đủ và mô hình
có sẵn để tạo, lưu trữ ontrology dưới dạng frame
Protégé-OWL hỗ trợ về Web Ontology languge, được chứng thực dựavào W3C, semantic web
Trang 11Chúng ta có thể quan sát một cách trực quan thông qua OWL Viz, nócho phép quan sát ontology dưới dạng đồ họa và đưa file ảnh JPEG.Ngoài ra còn hỗ trợ truy vấn SPARQL.
Protégé hiện nay đã có nhiều phiên bản, phiên bản mới nhất là 4.2Tuy nhiên trong phạm vi thu hoạch này em xin được trình bày chủyếu ở phiên bản 3.4.3
Giao diện chính chương trình Protégé phiên bản 3.4.3:
2. Các bước xây dựng Ontology
Quy trình phát triển Ontology là một quy trình gồm nhiều bước, tuynhiên vẫn chưa có một phương pháp chuẩn hóa nào để phát triển cácontology Quy trình phát triển sau gồm 7 bước do Stanford Center forBiomedical Informatics Research đưa ra (đây là nhóm phát triển phầnmềm Protégé để trình diễn và soạn thảo Ontology)
Trang 12a. Xác định phạm vi và lĩnh vực ontology
Cần xác định mục đích của việc xây dựng ontology là gì? Phục vụ đốitượng nào? Ontology sắp xây dựng cần có đặc điểm gì, liên quan đến lĩnhvực, phạm vi nào Quá trình khai thác, quản lý và bảo trì ontology đượcthực hiện ra sao?
b. Xem xét việc sử dụng lại các ontology có sẵn
Cấu trúc của một Ontology bao gồm 3 tầng: tầng trừu tượng(Abstract), tầng miền xác định (Domain) và tầng mở rộng (Extension).Trong đó tầng trừu tượng có tính tái sử dụng rất 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 Cộng đồng Ontologycũng đang lớn mạnh và có rất nhiều Ontology đã được tạo ra, với tâmhuyết của nhiều chuyên gia Do đó trước khi bắt đầu xây dựng ontology,cần xét đến khả năng sử dụng lại các ontology đã có Nếu có thể sử dụnglại một phần các ontology đã có, chi phí bỏ ra cho quá trình xây dựngontology sẽ giảm đi rất nhiều
c. Liệt kê các thuật ngữ quan trọng
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 xây dựng ontology cần bắt đầu từ các thuật ngữ chuyênngành để xây dựng thành các lớp trong ontology tương ứng Tất nhiênkhông phải thuật ngữ nào cũng đưa vào ontology, vì chưa chắc đã định vịđược cho thuật ngữ đó Do đó cần phải liệt kê các thuật ngữ, để xác địnhngữ nghĩa cho các thuật ngữ đó, cũng như cân nhắc về phạm vi củaontology Việc liệt kê các thuật ngữ còn cho thấy được phần nào tổngquan 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
Trang 13d. Xác định lớp và các phân cấp của lớp
Công việc xác định các lớp không chỉ đơn giản là tiến hành tìm hiểu
về ngữ nghĩa của các thuật ngữ đã có để có được các mô tả cho thuật ngữ
đó, mà còn phải định vị cho các lớp mới, loại bỏ ra khỏi ontology nếunằm ngoài phạm vi của ontology hay hợp nhất với các lớp đã có nếu cónhiều thuật ngữ có ngữ nghĩa như nhau (đồng nghĩa, hay đa ngôn ngữ).Ngoài ra không phải thuật ngữ nào cũng mang tính chất như một lớp.Một công việc cần phải tiến hành song song với việc xác định các lớp
là xác định phân cấp của các lớp đó Việc này giúp định vị các lớp dễdàng hơn
Có một số phương pháp tiếp cận trong việc xác định phân cấp của cáclớp:
của các lớp tổng quát nhất trong lĩnh vực và sau đó chuyên biệt hóa cáckhái niệm đó
Ví dụ: Trong Ontology về quản lý sách, ta có lớp cha là sách có cáclớp con như sách âm nhạc, sách đại học, sách tiểu thuyết v.v… trong sáchđại học thì có thể phân thành các lớp con như sách vật lý đại cương, sáchtin học đại cương v.v…
của các lớp cụ thể nhất, như các lá trong cây phân cấp Sau đó gộp cáclớp đó lại thành các khái tổng quát hơn
và từ dưới lên: bắt đầu từ định nghĩa các lớp dễ thấy trước và sau đó tổngquát hóa và chuyên biệt hóa các lớp đó một cách thích hợp
Trang 14e. Xác định các thuộc tính
Để xác định thuộc tính cho các lớp, ta quay trở lại danh sách các thuậtngữ đã liệt kê được Hầu hết các thuật ngữ còn lại (sau khi đã xác địnhlớp) là thuộc tính của các lớp đó Với mỗi thuộc tính tìm được, ta phảixác định xem nó mô tả cho lớp nào Các thuộc tính đó sẽ trở thành thuộctính của các lớp xác định Ví dụ lớp Người có các thuộc tính sau: Họ,Tên, Ngày sinh, Giới tính, Nghề nghiệp, Địa chỉ, Điện thoại,…
f. Xác định ràng buộc của các thuộc tính
Các thuộc tính có thể có nhiều khía cạnh khác nhau: như kiểu giá trị,các giá trị cho phép, số các thuộc tính (lực lượng), và các đặc trưng khác
mà giá trị của thuộc tính có thể nhận Ví dụ: “Năm sinh” của một “nhânviên” chỉ có duy nhất và là số nguyên, có thể nhận giá trị từ 1948 đến
1990 Cần phải xác định các ràng buộc cho một thuộc tính càng chặt chẽcàng tốt, để tránh trường hợp nhập dữ liệu sai, dẫn đến đổ vỡ của các ứngdụng sử dụng Ontology này
g. Tạo các thực thể (thể hiện)
Bước cuối cùng là tạo ra các thể hiện của các lớp trong sự phân cấp.Việc tạo thể hiện cho một lớp là quá trình điền các thông tin vào cácthuộc tính của lớp đó
Trang 15- Sách_cẩm_nang_nuôi_dạy_trẻ: lớp con của Sách nội dung về các
bí quyết cẩm nang nuôi dạy trẻ dành cho cha mẹ
- Sách_du_lịch: lớp con của Sách nội dung về quản bá du lịch,
hướng dẫn du lịch, thủ thuật du lịch v.v…
- Sách_giáo_khoa: lớp con của Sách nội dung về các loại sách cung
cấp kiến thức, với mục đích dạy và học
- Sách_giáo_viên: lớp con của Sách dành cho giáo viên tham khảo
và giản dạy
- Sách_khoa_học_kỹ_thuật: lớp con của Sách nội dung về khoa học
kỹ thuật
- Sách_khoa_học_thường_thức: lớp con của Sách nội dung về các
vấn đề khoa học xảy ra hằng ngày trong cuộc sống
- Sách_khoa_học_xã_hội: lớp con của Sách nội dung về khoa học xã
hội
- Sách_kinh_dịch_phong_thủy: lớp con của Sách nội dung về kinh
dịch, phong thủy, bói toán, tra cứu âm dương ngũ hành v.v…
- Sách_kinh_tế: lớp con của Sách nội dung về kinh tế.
- Sách_kế_toán: lớp con của Sách nội dung về kế toán.
- Sách_luyện_thi_đại_học_cao_đẳng: lớp con của Sách nội dung ôn
tập luyện thi đại học cao đẳng
- Sách_làm_đẹp: lớp con của Sách nội dung về làm đẹp.
- Sách_mỹ_thuật_điện_ảnh_kiến_trúc: lớp con của Sách nội dung về
điện ảnh, kiến trúc, mỹ thuật v.v…
- Sách_ngoại_ngữ: lớp con của Sách nội dung về ngoại ngữ, tiếng
anh, tiếng nhật, tiếng hàn v.v…
- Sách_nông_nghiệp: lớp con của Sách nội dung về nông nghiệp,
Trang 16- Sách_tham_khảo_cấp_I: lớp con của Sách nội dung là sách tham
khảo dành cho bậc tiểu học
- Sách_tham_khảo_cấp_II: lớp con của Sách nội dung là sách tham
khảo dành cho bậc trung học cơ sở
- Sách_tham_khảo_cấp_III: lớp con của Sách nội dung là sách tham
khảo dành cho bậc phổ thông trung học
- Sách_thiếu_nhi_tuổi_mới_lớn: lớp con của Sách nội dung về các
vấn đề ở tuổi mới lớn
- Sách_thơ: lớp con của Sách nội dung về tuyển tập thơ v.v…
- Sách_thể_dục_thể_thao: lớp con của Sách nội dung về các môn
thể thao, đánh cầu, bóng đá, cờ vua v.v…
- Sách_tôn_giáo: lớp con của Sách nội dung về tôn giáo, phật giáo,
công giáo v.v…
- Sách_từ_điển: lớp con của Sách nội dung về từ điển các loại,
anh-việt, pháp-việt v.v…
- Sách_văn_học: lớp con của Sách nội dung về văn học
- Sách_âm_nhạc: lớp con của Sách nội dung về âm nhạc
- Sách_đại_học: lớp con của Sách nội dung về kiến thức dành cho
bậc đại học
- Đặc_điểm_sách: lớp tổng quan về đặc điểm sách
- Biên_soạn: lớp con của Đặc_điểm_sách, là các nhà biên soạn sách
- Biên_tập: lớp con của Đặc_điểm_sách, là các nhà biên tập sách
- Hiệu_đính: lớp con của Đặc_điểm_sách, là các người hiệu đính