Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
378,41 KB
Nội dung
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN o0o BÀI THU HOẠCH MÔN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG ONTOLOGY VÀ CÁC NGÔN NGỮ BIỂU DIỄN ONTOLOGY Giảng viên hướng dẫn: PGS.TS. Đỗ Văn Nhơn Sinh viên thực hiện: Lê Minh Trí CH1101149 Lớp: Cao học khóa 6 Mục lục LỜI MỞ ĐẦU Ngày này, cùng với sự phát triển công nghệ thông tin cũng như sự bùng nổ của internet làm cho khối lượng thông tin tri thức ngày càng lớn. Và để khai thác, biểu diễn lượng thông tin tri thức đó, khái niệm ontology đã ra đời. Ontology là một giải pháp biểu diễn tri thức và chia sẻ thông tin mà cả hệ thống và con người có thể hiểu được. Ontology chứa những đặc tả rõ ràng của các khái niệm về một lĩnh vực và quan hệ giữa các khái niệm đó. Ontology thường được dùng trong trí tuệ nhân tạo, công nghệ web ngữ nghĩa, các hệ thống kỹ thuật, sinh tin học và kiến trúc thông tin như là một hình thức biểu diễn tri thức về thế giới hoặc một số lĩnh vực cụ thể. Trước hết, em xin gửi lời cảm ơn chân thành tới PGS.TS. Đỗ Văn Nhơn. Qua những buổi giảng dạy và hướng dẫn tận tình của thầy trong môn Biểu diễn tri thức và ứng dụng đã giúp em hiểu biết thêm nhiều kiến thức. Qua đó em xin trình bày trong bài thu hoạch này khái niệm ontology và các ngôn ngữ biểu diễn ontology. Hi vọng bài thu hoạch có thể góp phần nào cung cấp thêm thông tin về ontology cũng như cách biểu diễn thông qua các ngôn ngữ. I. KHÁI NIỆM ONTOLOGY I.1. Thuật ngữ ontology Từ ontology có nguồn gốc từ tiếng Hy Lạp: ontos nghĩa là “being” (tồn tại, sống, thực sự) và logos nghĩa là “word” (từ). Trong triết học, ontology thuộc một lĩnh vực nhỏ của triết học, nghiên cứu về sự tồn tại của tự nhiên, chủ yếu xác định những thuật ngữ thông dụng nhất, những thứ tồn tại thực sự, và bằng cách nào để mô tả chúng. I.2. Định nghĩa ontology Trong trí tuệ nhân tạo và trong tin học cũng như trong khoa học máy tính, có rất nhiều định nghĩa về ontology, một trong những định nghĩa súc tích nhất đó là ontology là một sự cụ thể hóa hình thức và tường minh của trừu tượng hóa. Đối tượng nghiên cứu của ontology xoay quanh sự tồn tại, sự phân loại và cấu trúc của các đối tượng, các thuộc tính, biến cố, quy trình trình và các quan hệ trong mọi lĩnh vực. Trong cấu trúc dữ liệu, việc biểu diễn ontology, các khái niệm và các ràng buộc cần phải được khai báo, tường minh và có sử dụng ngôn ngữ hình thức. I.3. Thành phần của ontology Ontology 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, các định nghĩa về các khái niệm và các thuộc tính này, và mối quan hệ giữa chúng. Mối quan hệ thường gồm các phân cấp lớp. Ngoài ra, ontology còn cung cấp các ràng buộc, và các ràng buộc này có thể được xem như các giả định nền tảng của bộ từ vựng và được sử dụng trong một miền nào đó. Cá thể (individual): cá thể có thể là các đối tượng cụ thể như con người, động vật, cái bàn… cũng như các cá thể trừu tượng như các thành viên hay các từ. Một ontology có thể không chứa cá thể nào. Lớp (class): là một nhóm, tập hợp các đối tượng, có thể chứa các cá thể, các lớp khác. Một lớp có thể chứa các lớp con, có thể là một lớp tổng quát (chứa mọi thứ), hoặc chỉ chứa các cá thể riêng lẻ. Một lớp có thể xếp gộp hoặc được xếp gộp vào các lớp khác. Thuộc tính (property): dùng để mô tả các đối tượng trong ontology. Mỗi một thuộc tính đều có tên và giá trị của thuộc tính đó. Thuộc tính dùng để lưu trữ các thông tin của đối tượng. Giá trị của một thuộc tính có thể là các kiểu dữ liệu phức tạp. Mối liên hệ (relationship): là một thuộc tính của một đối tượng nào đó trong ontology. Lớp này có thể gộp vào lớp kia tạo nên một kiểu quan hệ xếp gộp, cho biết đối tượng nào là thành viên của lớp nào. I.4. Lý do xây dựng Ontology Vì ontology cung cấp bộ từ vựng chung chứa những thông tin dữ liệu có cấu trúc về một miền nào đó, có khả năng biểu diễn ngữ nghĩa cho tài nguyên web, có khả năng hỗ trợ lập luận, và thông tin dữ liệu của ontology máy có thể hiểu và xử lý được, nghĩa là ontology cung cấp một kiến trúc quan trọng cho việc chuyển thông tin và dữ liệu sang tri thức, nên cần phải xây dựng ontology để có thể: • Chia sẻ hiểu biết cấu trúc của thông tin giữa người dùng với nhau hoặc giữa các ứng dụng • Tái sử dụng miền tri thức nào đó • Tạo ra miền dữ liệu rõ ràng, đơn giản, dễ nhớ và dễ sử dụng • Phân tích, rút trích thông tin trong miền tri thức nào đó I.5. Phương pháp xây dựng ontology Hiện nay không có phương pháp chuẩn nào cho việc xây dựng một ontology. Khi xây dựng ontology chúng ta nên dựa vào nhu cầu của ứng dụng sẽ sử dụng nó để thiết kế cho phù hợp. Phát triển một ontology thường là một quy trình lặp lại, thường bắt đầu bằng một phiên bản thô rồi sao đó xem xét, chỉnh sửa, lọc lại ontology phiên bản trước và thêm vào các chi tiết. Các bước xây dựng ontology: Xác định miền và phạm vi của ontology: Đây là bước chúng ta nên làm trước khi muốn xây dựng một ontology. Trong một hệ thống có sử dụng ontology thì các yêu cầu đối với nó thường là mô tả một lĩnh vực nào đó nhằm cung cấp cơ sở tri thức trong việc giải quyết những mục đích chuyên biệt. Để nhận diện chính xác những yêu cầu chúng ta cần phải trả lời một số câu hỏi như: Ontology cần mô tả lĩnh vực 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 vục vụ đối tượng nào? Ai là người sẽ xây dựng, quản trị ontology? Các câu trả lời có thể thay đổi ở mỗi bước lặp trong quá trình xây dựng ontology tùy mục đích của ứng dụng hoặc có những tính năng cần bổ sung lúc đó. Trả lời các câu hỏi trên sẽ giúp giới hạn phạm vi thực sự của ontology cần mô tả và dự trù các kỹ thuật sẽ sử dụng trong quá trình phát triển. Ví dụ như ontology cần xây dựng có chức năng xử lý ngô nngữ tự nhiên, ứng dụng dịch tài liệu tự động thì cần phải có kỹ thuật xác định từ đồng nghĩa. Sau khi đã phát thảo phạm vi ontology dựa trên việc trả lời những câu hỏi trên, chúng ta tiếp tục tinh chỉnh lại bằng cách trả lời các câu hỏi kiểm chứng khả năng: 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 hệ thống dựa trên 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? Xem xét việc kế thừa các ontology có sẵn: đây là một công đoạn thường hay sử dụng để giảm thiểu công sức xây dựng một ontology. Bằng cách kế thừa các ontology tương tự có sẵn, 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ể… để tinh chỉnh tùy theo mục đích của mình. Ngoài ra, việc sử dụng lại các ontology có sẵn cũng rất quan trọng khi cần sự tương tác giữa các ứng dụng khác nhau vì các ứng dụng sẽ 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 hoặc thống nhất thô ng tin. Liệt kê các thuật ngữ quan trọng trong ontology: Liệt kê tất cả các thuật ngữ xuất hiện trong miền quan tâm (có thể đồng nghĩa hoặc chồng nhau) như tên 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ẽ trở thành thuộc tính, còn động từ sẽ là quan hệ giữa các lớp. Xây dựng các lớp và cấu trúc lớp phân cấp: Định nghĩa các lớp từ một số thuật ngữ đã liệt kê, 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 này sẽ có mức độ tổng quát càng cao. Vị trí đầu tiên thuộc về 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ể. 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ư: Hướng xây dựng từ trên x uố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á. Hướng xây dựng từ dưới lên (bottom-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. Định nghĩa các thuộc tính và quan hệ cho lớp: tiếp theo 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: thuộc tính đơn (simple property) và thuộc tính phức (complex property). 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 lớp cha của nó. Đị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 (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à lượng số (cardinality) và kiểu (type). Ràng 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) và đa 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ố, luận lý (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ề. Trang 6 Trang 7 II. CÁC NGÔN NGỮ BIỂU DIỄN ONTOLOGY II.1. RDF và RDF Schema II.1.1. RDF (Resource Description Framework) II.1.1.1. Giới thiệu XML là một siêu ngôn ngữ phổ biến để định nghĩa định dạng. Nó cung cấp cú pháp dễ dùng và một bộ công cụ như bộ phân tích cú pháp (parser) để trao đổi dữ liệu và siêu dữ liệu (metadata) giữa các ứng dụng nhờ sử dụng XML Schema. Tuy nhiên, XML không cung cấp bất kỳ ngữ nghĩa nào của dữ liệu. Vì vậy, cần có một mô hình chuẩn nào đó để biểu diễn. Mô hình chuẩn đó là RDF và RDF Schema. Về cơ bản, RDF là một mô hình dữ liệu. Đó là mô hình bộ ba đối tượng - thuộc tính - giá trị, và được gọi là một phát biểu. Mỗi phát biểu được biểu diễn dưới dạng một đối tượng, một thuộc tính của nó và một giá trị của thuộc tính. Mô hình RDF chỉ cung cấp một cơ cấu miền độc lập để mô tả các tài nguyên riêng lẻ. Nó không ưu tiên ngữ nghĩa của bất kỳ miền ứng dụng nào, và cũng không tạo ra giả định nào về miền cụ thể nào đó. RDF thường dùng để mô tả các thực thể của các ontology, trong khi RDF Schema mã hóa các ontology. II.1.1.2. Cú pháp của RDF Cú pháp của RDF dựa trên cú pháp của XML. Tài liệu RDF gồm một phần tử rdf:RDF, và nội dung trong đó là các mô tả. <rdf:RDF xmlns:rdf="http:/ / ww w .w3.org/1 9 99/02 / 22-rd f - s y n tax-n s #" xmlns:xsd="http : //w w w.w3.org / 2001/ X LM S ch e m a#" xmlns:uni="http: / /w w w .m y d o m a in.org / uni- n s#"> Trang 8 <rdf:Description rdf:about="949352"> <uni:name>Grigoris Antoniou</uni:name> <uni:title>Professor</uni:title> </rdf:Description> <rdf:Description rdf:about="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> <uni:age rdf:datatype="&xsd;integer">2 </rdf:Description> <rdf:Description rdf:about="949111"> <uni:name>Michael Maher</uni:name> <uni:title>Professor</uni:title> </rdf:Description> </rdf:RDF> Namespace trong XML được sử dụng trong những mục đích chung; còn trong RDF, namespace là tài liệu RDF định nghĩa tài nguyên, được sử dụng trong việc nhập tài liệu RDF, và cho phép tái sử dụng tài nguyên bởi người khác để chèn thêm các đặc tính vào trong các tài nguyên này. Thuộc tính “rdf:about” của phần tử “rdf:Description” được dùng để chỉ rằng đối tượng về phát biểu nào được tạo ra đã được định nghĩa ở nơi khác. Nội dung của phần tử “rdf:Description” được gọi là các phần tử thuộc tính. Ví dụ như, trong mô tả: <rdf:Description rdf:about="CIT3116"> <uni:courseName>Knowledge Representation</uni:courseName> <uni:isTaughtBy>Grigoris Antoniou</uni:isTaughtBy> </rdf:Description> Các phần tử thuộc tính của mô tả phải được đọc một cách liên tục. Thuộc tính “rdf:resource”: Được sử dụng trong trường hợp có sự trùng tên ngẫu nhiên. Ví dụ: Thuộc tính “rdf:resource” dùng để phân biệt các trường hợp có tên giống nhau nhưng là những người khác nhau. <rdf:Description rdf:about="CIT1111"> <uni:courseName><Discrete Mathematics></uni:courseName> Trang 9 <uni:isTaughtBy rdf:resource="#949318"/> </rdf:Description> <rdf:Description rdf:ID="#949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> </rdf:Description> Các phần tử “rdf:Description” có thể được lồng vào nhau. <rdf:Description rdf:about="CIT1111"> <uni:courseName>Discrete Mathematics</uni:courseName> <uni:isTaughtBy> <rdf:Description rdf:about="949318"> <uni:name>David Billington</uni:name> <uni:title>Associate Professor</uni:title> </rdf:Description> </uni:isTaughtBy> </rdf:Description> Phần tử “rdf:type”: Cho phép chúng ta đưa một vài cấu trúc vào tài liệu RDF. <rdf:Description rdf:about="CIT1111"> <rdf:type rdf:resource="&uni;course"/> <uni:courseName>Discrete Mathematics</uni:courseName> <uni:isTaughtBy rdf:resource="949318"/> </rdf:Description> Phần tử chứa (container elements): Các phần tử chứa được dùng để thu thập các tài nguyên hoặc các thuộc tính mà chúng ta muốn tạo các phát biểu như một tổng thể. Có 3 loại phần tử chứa có sẵn trong RDF: “rdf:Bag”: phần tử chứa không có thứ tự, chứa nhiều sự kiện (occurrence). “rdf:Seq”: phần tử chứa có thứ tự, chứa nhiều sự kiện. “rdf:Alt”: một bộ các lựa chọn (alternative). Nội dung của các phần tử chứa là những phần tử được đặt tên là “rdf:_1”, “rdf:_2”. Ví dụ: <rdf:RDF Trang 10 [...]... RDF và RDFS RDF thường dùng để mô tả các thực thể của các ontology, trong khi RDF Schema mã hóa các ontology, sử dụng các thành phần Class, subClassOf, Property, subPropertyOf… để chỉ rõ các lớp, các quan hệ giữa các lớp, định nghĩa các thuộc tính và liên kết chúng với các lớp Ở hình dưới, các hình khối vuông là các thuộc tính, các hình eclipse nằm trên đường gạch nối nằm ngang là các lớp, và các hình... OWL gồm một tập các thuộc tính và phần tử của XML với ngữ nghĩa được định nghĩa rõ ràng OWL dùng để mô tả các thuật ngữ của một miền và các mối quan hệ giữa các thuật ngữ trong một ontology Sự hình thành OWL: OWL là một mở rộng của RDF Schema Về ngữ nghĩa, OWL dùng ngữ nghĩa của các lớp và các thuộc tính của RDF (rdfs:Class, rdfs:subClassOf…) và thêm các từ vựng nền tảng vào để hỗ trợ sự diễn đạt phong... hợp nhất, còn các ontology được nhập vào cung cấp các định nghĩa để sử dụng Thường có một phần tử import cho mỗi namespace được sử dụng, nhưng cũng có thể nhập thêm các ontology khác Ngoài ra, “owl:imports” còn là thuộc tính bắc cầu: nếu ontology A nhập vào ontology B, và ontology B nhập vào ontology C, thì ontology A cũng nhập vào ontology C Các phần tử lớp Các lớp được định nghĩa bằng cách sử dụng... II.1.1.3 Ngữ nghĩa tiên đề cho RDF Để máy có thể sử dụng được ngữ nghĩa tường minh, cần tạo ra ngữ nghĩa đó, mô tả ngữ nghĩa của RDF trong ngôn ngữ hình thức giống như logic, và cung cấp một bộ lập luận tự động để xử lý các công thức logic Tất cả các từ mẫu (primitives) trong RDF được biểu diễn bởi các hằng: Resource, Class, Property, subClassOf… Một vài vị từ có sẵn được sử dụng để biểu diễn các mối... bỏ các lớp được liệt kê, các phát biểu tách biệt và giá trị cardinality chỉ được phép là 0 và 1 Rất hạn chế trong sự diễn đạt Ưu điểm của OWL Lite: dễ sử dụng và dễ thực thi 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 Sự lựa chọn giữa OWL Lite và OWL DL phụ thuộc vào phạm vi người dùng cần cấu trúc diễn đạt Sự lựa chọn giữa OWL DL và OWL Full chủ yếu phụ thuộc vào... cụ thể RDF Schema là ngôn ngữ ontology nguyên thủy Nó cung cấp các từ mẫu nền tảng và có các khái niệm quan trọng như lớp, quan hệ của lớp con, thuộc tính, quan hệ của thuộc tính con, và giới hạn domain và giới hạn range II.2 Ngôn ngữ ontology web (OWL) II.2.1 Giới thiệu RDF và RDF Schema còn nhiều hạn chế trong việc diễn đạt: RDF bị giới hạn đối với các vị từ nền tảng nhị phân, và RDF Schema bị giới... y2), và y1 ≠ y2 Type(?p, FuncProp) ↔ Type(?p, Property) Λ ∀ ?r ∀ ?v1 ∀ ?v2 PropVal(?p, ?r, ?v1) Λ PropVal(?p, ?r, ?v2) → ?v1 = ?v2 Trang 12 Các phát biểu cụ thể hoá: Phát biểu “constant” biểu diễn lớp của tất cả các phát biểu cụ thể hóa Tất cả các phát biểu cụ thể hóa là các tài nguyên, và phát biểu là một thực thể của Class: Type(?s, Statement) →Type(?s, Resource) Type(Statement, Class) Một phát biểu. .. II.1.2.3 Ngữ nghĩa tiên đề cho RDF Schema Để tạo ngữ nghĩa tường minh và máy có thể sử dụng được, cần mô tả ngữ nghĩa của RDFS giống như logic Do đó, cần có sự hỗ trợ của các bộ lập luận (reasoner) tự động để xử lý các công thức logic Tất cả các từ mẫu trong RDF Schema được biểu diễn thông qua các hằng: Resource, Class, Property, subClassOf… Một vài vị từ có sẵn được sử dụng như nền Trang 15 tảng để biểu diễn. .. Full OWL Full sử dụng tất cả các từ 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 RDF và RDF Schema Điều này có thể làm thay đổi ngữ nghĩa của các từ vựng nền tảng (RDF hoặc OWL) được định trước bằng cách áp dụng các từ vựng ngôn ngữ vào với nhau Trang 19 Ưu điểm của OWL Full: hoàn toàn tương thích từ dưới lênvới RDF cả về cú pháp lẫn ngữ nghĩa: mọi tài liệu RDF nào... bày các thành phần các phương pháp xây dựng ontology cũng như giới thiệu về các ngôn ngữ biểu diễn ontology, đồng thời trình bày những ưu nhược điểm của chúng Trang 33 Tài liệu tham khảo: • A Simplified Guide to Create an Ontology – Julita Bermejo • Ontology: Towards a New Synthesis - Barry Smith và Christopher Welty, Department of Philosophy, University Buffalo • Model Driven Architecture and Ontology . ngôn ngữ biểu diễn ontology. Hi vọng bài thu hoạch có thể góp phần nào cung cấp thêm thông tin về ontology cũng như cách biểu diễn thông qua các ngôn ngữ. I. KHÁI NIỆM ONTOLOGY I.1. Thuật ngữ ontology Từ. ?v1 = ?v2 Trang 12 Các phát biểu cụ thể hoá: Phát biểu “constant” biểu diễn lớp của tất cả các phát biểu cụ thể hóa. Tất cả các phát biểu cụ thể hóa là các tài nguyên, và phát biểu là một thực. phân loại và cấu trúc của các đối tượng, các thuộc tính, biến cố, quy trình trình và các quan hệ trong mọi lĩnh vực. Trong cấu trúc dữ liệu, việc biểu diễn ontology, các khái niệm và các ràng