1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGÔN NGỮ TRUY VẤN ONTOLOGY COKB

53 713 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Chương 1. TỔNG QUAN VỀ ONTOLOGY

    • 1.1 Ontology là gì ?

      • 1.1.1 Ontology trong triết học:

      • 1.1.2 Ontology trong khoa học máy tính:

    • 1.2 Mô hình tri thức các đối tượng tính toán - Ontology COKB

      • 1.2.1 Tập các khái niệm về các đối tượng tính toán (C-Objects) C

      • 1.2.2 Tập các quan hệ phân cấp H:

      • 1.2.3 Tập các quan hệ giữa các loại khái niệm R:

      • 1.2.4 Tập các hàm Funcs:

      • 1.2.5 Tập các toán tử Ops:

      • 1.2.6 Tập các luật Rules:

  • Chương 2. NGÔN NGỮ ĐẶT TẢ ONTOLOGY COKB

    • 2.1 Các quy ước mô tả cú pháp:

    • 2.2 Các thành phần của COL

      • 2.2.1 Tập ký tự (Character set):

        • Ký tự chữ:

        • Ký tự số

        • Một số ký tự đặc biệt

      • 2.2.2 Từ vựng (Tokens):

        • Từ khóa (keyword):

        • Tên (name):

        • NULL ::= <giá trị rỗng>Phép toán

        • Chuỗi (string)

        • Số

      • 2.2.3 Kiểu dữ liệu nền:

        • Kiểu cơ bản:

        • Kiểu dữ liệu có cấu trúc:

        • Chuỗi (sequence): gồm các biểu thức phân cách bởi dấu phẩy (,). Đây là thành phần cơ bản tạo nên kiểu tập hợp, danh sách và lời gọi hàm.

        • Danh sách (list): là chuỗi biểu thức có thứ tự, được đặt giữa 2 dấu ngoặc vuông []. Các phần tử của danh sách có thể là một danh sách khác.

        • Tập hợp (set): biểu diễn tập hợp trong toán học, gồm một chuỗi biểu thức đặt giữa hai dấu ngoặc nhọn {}. Không quan tâm đến thứ tự các phần tử và không có phần tử trùng lắp.

        • Mảng (array): là mở rộng của danh sách, dùng để biểu diễn chuỗi dữ liệu theo một hoặc nhiều chiều.

      • 2.2.4 Câu (Statement):

    • 2.3 Cú pháp và ngữ nghĩa

      • 2.3.1 Biểu thức (expression):

        • Biểu thức tính toán (computation expression)

        • Biểu thức logic

      • 2.3.2 Định nghĩa C-Object:

        • Mô tả khái niệm:

        • Thuộc tính:

        • Thuộc tính thiết lập:

        • Ràng buộc:

        • Khai báo đối tượng là một C-Object:

        • Truy xuất đến một thuộc tính của đối tượng:

        • Biến:

        • Hằng:

        • Quan hệ suy diễn – tính toán:

      • 2.3.3 Các phân cấp:

      • 2.3.4 Sự kiện:

      • 2.3.5 Quan hệ:

      • 2.3.6 Hàm:

        • Hàm cơ bản:

        • Hàm được định nghĩa:

        • Dạng 1:

        • Dạng 2:

      • 2.3.7 Phép toán:

      • 2.3.8 Luật:

    • 2.4 Tổ chức cơ sở tri thức theo COL

  • Chương 3. NGÔN NGỮ TRUY VẤN ONTOLOGY COKB

    • 3.1 Định nghĩa:

    • 3.2 Quy ước về cú pháp câu truy vấn:

    • 3.3 Từ khóa truy vấn:

    • 3.4 Cú pháp

      • 3.4.1 Truy vấn tính đúng sai của phát biểu:

      • 3.4.2 Truy vấn các khái niệm trong Ontology

        • a) Loại không chứa đối số:

        • Loại truy vấn dạng này thuộc loại đơn giản có tính chất liệt kê tên các thành

        • Cú pháp:

          • b) Loại chứa đối số:

      • 3.4.3 Truy vấn tính chất của khái niệm

      • 3.4.4 Truy vấn thông tin có điều kiện:

  • Chương 4. TÌM HIỂU HỆ THỐNG HỎI-ĐÁP TRI THỨC DẠNG COKB THEO HƯỚNG AGENT

    • 4.1 Intelligent agent

      • 4.1.1 Intelligent agent là gì?

      • 4.1.2 Các khái niệm dùng để xây dựng agents:

        • a. Actions và percepts

        • b. Goals và Events:

        • c. Beliefs và Plans:

        • d. Message và Protocol:

    • 4.2 Phương pháp luận thiết kế hệ thống hướng agent

      • 4.2.1 Prometheus:

      • 4.1.3 Công cụ hỗ trợ hỗ trợ thiết kế (Prometheus Design Tool – PDT):

        • a. Cửa sổ giao diện của PDT:

        • b. Tạo sơ đồ

        • c. Lưu sơ đồ và kiểm tra chéo (Crosscheck):

    • 4.2 Xây dựng hệ thống hỏi đáp tri thức MathAgent theo Prometheus

      • 4.2.1 Đặc tả hệ thống (System specification)

        • a. Mục tiêu:

        • b. Chức năng:

      • 4.2.2 Thiết kế kiến trúc (Architectural design)

        • a. Xác định các loại agents:

        • b. Sơ đồ tổng quát hệ thống

      • 4.2.3 Thiết kế chi tiết (Detail design):

        • a. Agent Communicator:

        • b. Agent Analyst:

        • c. Agent Knower:

  • Chương 5. VÍ DỤ MINH HỌA CÁC THUẬT TOÁN VỀ MA TRẬN

    • 5.1 Ngôn ngữ và công cụ:

    • 5.2 Dữ liệu của chương trình:

    • 5.3 Hiện thực trong JACK

    • 5.4 Giao diện

    • 5.5 Một số kết quả thử nghiệm chương trình

  • Chương 6. KẾT LUẬN

Nội dung

MỤC LỤC LỜI MỞ ĐẦU i Chương 1. TỔNG QUAN VỀ ONTOLOGY 2 Chương 2. NGÔN NGỮ ĐẶT TẢ ONTOLOGY COKB 8 Chương 3. NGÔN NGỮ TRUY VẤN ONTOLOGY COKB 21 Chương 4. TÌM HIỂU HỆ THỐNG HỎI-ĐÁP TRI THỨC DẠNG COKB THEO HƯỚNG AGENT 31 Chương 5. VÍ DỤ MINH HỌA CÁC THUẬT TOÁN VỀ MA TRẬN 43 Chương 6. KẾT LUẬN 50 TÀI LIỆU THAM KHẢO 51 DANH MỤC CÁC CHỮ VIẾT TẮT Ký hiệu Mô tả COKB Computational Objects Knowledge Base COQL COKB Ontology Query Language ECOKB Extended Computational Objects Knowledge Base ECOL Extended COKB Ontology Language ECOQL Extended COKB Ontology Query Language MAS Multi-Agent System DAI Distributed Artificial Intelligence AOP Agent Oriented Programming PDT Prometheus Design Tool JDE JACK Developer Environment DB DataBase KB Knowledge Base PTTT Hệ phương trình tuyết tính CSTT Cơ sở tri thức - i - LỜI MỞ ĐẦU Trong những năm gần đây, sự phát triển nhanh chóng các ứng dụng công nghệ thông tin và Internet vào nhiều lĩnh vực đời sống xã hội như: quản lý kinh tế, y học, giáo dục học, khoa học kỹ thuật, ngân hàng, thương mại điện tử, Trước sự hình thành và phát triển mạnh mẽ đó, việc tìm kiếm và trao đổi thông tin là một nhu cầu thiết yếu không thể thiếu trong cuộc sống hàng ngày, nhất là những thông tin liên quan đến từng lĩnh vực tri thức cụ thể. Do đó, để biểu diễn thông tin sao cho có thể tìm được thông tin nhanh chóng và chính xác là một vấn quan trọng, luôn thu hút nhiều sự quan tâm của các nhà khoa học. Đặc biệt, là việc nghiên cứu và phát triển các mô hình biểu diễn tri thức và suy diễn tự động trên tri thức chiếm một vị trí rất quan trọng trong ngành khoa học máy tính nói riêng và công nghệ thông tin nói chung, nhất là đối với các hệ trí tuệ nhân tạo. Bên cạnh việc đưa ra các mô hình biểu diễn tri thức, của mỗi lĩnh vực đều phát triển một tập các khái niệm riêng cho mình, dưới dạng các Ontology. Trên cơ sở đó, đã có nhiều ngôn ngữ Ontology ra đời, như một tiếng nói chung để thể hiện và trao đổi thông tin, tri thức. Tùy theo đặc thù của từng lĩnh vực mà mỗi ontology sẽ biểu diễn thích ứng với một ngôn ngữ đặc tả tri thức khác nhau. Với một ngôn ngữ chung, các hệ thống hỏi đáp tri thức đã ra đời và không ngừng cải tiến và phát triển. Gần đây công nghệ phần mềm agent (agent software technology) là một công nghệ đang thu hút nhiều sự quan tâm của các kỹ sư tri thức, bởi vì nó đáp ứng được các nhu cầu của một hệ thống thông tin tri thức có tính mở và phân tán, điển hình là Internet. Mỗi agent trong hệ thống sẽ hoạt động dựa trên tri thức lĩnh vực của mình. Các agents có liên quan với nhau nhưng không gắn chặt nhau và hoạt động của agent mang tính chất phân tán. Chính vì vậy mô hình hệ thống multi-agent đặc biệt thích hợp trong việc thiết kế các hệ thống tri thức phân tán (distributed artificial intelligence) và phương pháp lập trình hướng agent (agent oriented programming) là một tiếp cận hiện đại cho việc cài đặt hệ thống này. Trên cơ sở đó, trong nội dung báo cáo tìm hiểu, xây dựng và phát triển ngôn ngữ ontology cho việc truy vấn tri thức dạng COKB. Đồng thời áp dụng một phương pháp luận và công cụ hiện thực để thiết kế và cài đặt hệ thống hỏi đáp tri thức dạng COKB theo hướng agent; ứng dụng cho bài toán ma trận dựa trên cơ sở lý thuyết, các định nghĩa định lý, các phép toán cũng như quan hệ, là một phần của đại số tuyến tính. Tôi xin chân thành cảm ơn PGS. TS. Đỗ Văn Nhơn, Giảng viên môn học “Biểu diễn Tri thức và Ứng dụng”, Thầy đã truyền đạt những kiến thức quý báu về cơ sở tri thức, cách biểu diễn tri thức và ứng dụng, cũng như những hướng nghiên cứu chính trên thế giới hiện nay của nó. Tôi xin chân thành cảm ơn ban cố vấn học tập và ban quản trị Chương trình đào tạo thạc sĩ Công nghệ thông tin của Đại Học Công nghệ thông tin – Đại học Quốc Gia Thành phố Hồ Chí Minh đã tạo điều kiện về tài liệu học tập và tham khảo. Khóa luận môn học: Biểu diễn Tri thức và Ứng dụng Chương 1. TỔNG QUAN VỀ ONTOLOGY 1.1 Ontology là gì ? Ontology là một thuật ngữ được dùng trong trí tuệ nhân tạo có nguồn gốc từ triết học và mang nhiều ý nghĩa khác nhau. 1.1.1 Ontology trong triết học: Ontology là một nhánh của triết học, nghiên cứu về sự tồn tại, về 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 và các quan hệ trong mọi lĩnh vực. Các nhà triết học dùng ‘ontology’ như là một từ đồng nghĩa với ‘siêu hình học’. Ontology gốc Latin là ‘ontologia’. Thuật ngữ ‘ontologia’ có từ năm 1613, do hai nhà triết học Rudolf Göcke (trong Lexicon philosophicum) và Jacob Lorhard (trong Theatrum philosophicum) đưa ra. Từ tiếng Anh ‘ontology” xuất hiện lần đầu trong An Universal Etymological English Dictionary (năm 1721). Ontology phân loại các thực thể trong mọi lĩnh vực. Các trường phái triết học khác nhau đưa ra các tiếp cận khác nhau để phân loại: vật chất và hiện tượng, đầy đủ và rút gọn. 1.1.2 Ontology trong khoa học máy tính: Trong những năm gần đây, thuật ngữ ‘ontology’ được sử dụng nhiều trong các lĩnh vực của khoa học máy tính và thông tin. Nó nảy sinh từ vấn đề “tháp Babel”. Nhóm các nhà thiết kế hệ cơ sở dữ liệu và tri thức đều có thuật ngữ và khái niệm của riêng họ. Dựa trên các thuật ngữ, khái niệm đó, họ biểu diễn thông tin. Các cơ sở dữ liệu khác nhau có thể dùng cùng một tên gọi nhưng với ý nghĩa khác nhau. Ngược lại, cùng một ý nghĩa, nhưng có thể được diễn tả bằng các tên gọi khác nhau. Khi các nhóm cần chia sẻ thông tin thì nảy sinh vấn đề: làm thế nào gom tất cả các thông tin đa dạng này trong cùng một hệ thống. Cần phải tìm ra phương pháp để giải quyết tính xung khắc của các thuật ngữ và khái niệm. Ban đầu sự xung khắc được giải quyết từng trường hợp một. Dần dần người ta nhận thấy có thể đưa ra một ontology tham khảo chung – phân loại các thực thể. Cách này có lợi hơn so với giải quyết từng trường hợp, và thuật ngữ ‘ontology’ được các nhà khoa học máy tính sử dụng để mô tả việc xây dựng các phân loại. Theo ngữ nghĩa này thì ontology là một từ điển các thuật ngữ tạo nên cú pháp và từ vựng để biểu diễn tri thức nhằm chia sẻ tri thức giữa các hệ thống thông tin khác nhau. Có thể điểm qua một số định nghĩa về ontology như sau: Một trong những định nghĩa đầu tiên về ontology là định nghĩa của Neches và các cộng sự (1991): Ontology là sự đặc tả tường minh, hình thức của khái niệm - An ontology is an explicit specification of a conceptualization (Thomas R. Gruber- 1993). Định nghĩa này cho thấy ontology là đặc tả các khái niệm trong một lĩnh vực và đặc tả các quan hệ giữa các khái niệm đó. Năm 1997, Swartout đề xuất xây dựng ontology từ một ontoloy lớn hơn:– “Ontology là một tập hợp thuật ngữ có cấu trúc phân cấp, dùng để mô tả một lĩnh vực, nó được dùng như bộ khung cho một cơ sở tri thức”. Theo định nghĩa này thì có thể dùng một ontology để xây dựng nhiều CSTT khác nhau có cùng một bộ khung. Đối với từng lĩnh vực cụ thể thì thêm vào các khái niệm con. Nếu các hệ 2 Khóa luận môn học: Biểu diễn Tri thức và Ứng dụng thống được xây dựng dựa trên cùng một ontology thì các hệ thống đó có thể chia sẻ một cấu trúc chung, và vì vậy cơ chế suy luận sẽ dễ dàng hơn. Theo L. Stojanovic et al. (2004): Ontology cung cấp mô hình khái niệm trong một lĩnh vực, có thể được chia sẻ (được con người và hệ thống sử dụng để trao đổi và tích hợp thông tin) và xử lý trên máy tính. Theo Ehrig et al. (2005), Ontology được định nghĩa như sau: Ontology O là một bộ gồm các thành phần (C, H C , R C , H R , I, R I , A). Các khái niệm C được phân cấp theo H C , R C là quan hệ giữa các khái niệm, theo phân cấp H R , I là thể hiện của khái niệm, R I là quan hệ giữa các thể hiện, A là tiên đề được dùng để suy luận tri thức từ tri thức đã có. Khác với triết học, mục đích của ontology theo khoa học máy tính là không chỉ đặc tả sự tồn tại, mà còn tạo ra một cơ sở dữ liệu chứa các khái niệm, dùng các khái niệm này để thực hiện các loại tính toán. Từ những định nghĩa trên cho thấy Ontology định nghĩa các khái niệm (concepts) dùng để mô tả và biểu diễn một lĩnh vực của tri thức. Các loại khái niệm được mô tả gồm: - Lớp đối tượng trong lĩnh vực (classes) - Đối tượng cụ thể (instance) - Mối quan hệ giữa các đối tượng (relationships) - Thuộc tính, tính chất của các đối tượng (properties) - Hàm (functions) và quy trình (processes) liên quan đến các đối tượng. - Ràng buộc (constraints) và luật (rules) liên quan đến các đối tượng. 1.2 Mô hình tri thức các đối tượng tính toán - Ontology COKB Các phương pháp biểu diễn tri thức truyền thống đã được ứng dụng nhiều. Tuy nhiên, các phương pháp đó chưa đủ mạnh để xây dựng các chương trình tự động hay biểu diễn cơ sở tri thức thuộc các lĩnh vực tri thức khác nhau. Mô hình tri thức các đối tượng tính toán được xây dựng theo cách tiếp cận hướng đối tượng kết hợp với các kỹ thuật lập trình tính toán hình thức. Theo hướng này sẽ cho phép mô hình được các bài toán cũng như thiết kế các giải thuật. Mô hình tri thức các đối tượng tính toán, viết tắt là COKB (Computational Objects Knowledge Base) đề xuất trong [1], là một hệ thống gồm 6 thành phần: (C, H, R, Ops, Funcs, Rules ) trong đó mỗi thành phần được mô tả như sau: 1.2.1 Tập các khái niệm về các đối tượng tính toán (C-Objects) C Khái niệm được mô tả bởi một tên duy nhất. Các khái niệm được tổ chức theo phân loại, áp dụng cơ chế kế thừa. Có các loại khái niệm sau: - Khái niệm nền: kiểu boolean, số tự nhiên, số nguyên, số hữu tỉ, số thực, tập hợp, danh sách. - Khái niệm cơ bản: có cấu trúc rỗng hoặc có một số thuộc tính có kiểu khái niệm nền (ví dụ khái niệm DIEM trong hình học phẳng). Các khái niệm này làm nền cho các khái niệm cấp cao hơn. - Khái niệm cấp 1: có một thuộc tính là khái niệm nền và có thể thiết lập từ danh sách các khái niệm cơ bản. - Khái niệm cấp 2: có các thuộc tính là khái niệm nền và khái niệm cấp 1, có thể được thiết lập từ danh sách các khái niệm nền hoặc cơ bản. Mỗi khái niệm cấp 2 là một đối tượng tính toán gồm các thành phần: (Name, Constructs, Isa, Attrs, Constraints, F, Facts, Rules) 3 Khóa luận môn học: Biểu diễn Tri thức và Ứng dụng Name: tên của khái niệm. Constructs: các thuộc tính xác định khái niệm. Isa: phân cấp của khái niệm. Attrs: tập hợp các thuộc tính của khái niệm. Constraints: tập hợp các điều kiện ràng buộc trên các thuộc tính. F: tập hợp các quan hệ suy diễn tính toán. Facts: tập hợp các tính chất hay các sự kiện vốn có của khái niệm Rules: tập hợp các luật suy diễn trên các sự kiện liên quan đến các thuộc tính cũng như liên quan đến bản thân khái niệm. Ví dụ 1.1: Tri thức về tam giác gồm các yếu tố như : 3 cạnh a, b, c; 3 góc tương ứng với 3 cạnh: A, B, C; 3 đường cao tương ứng: ha, hb, hc; diện tích S của tam giác; nửa chu vi p của tam giác; bán kính đường tròn ngoại tiếp R của tam giác, v.v . cùng với các công thức liên hệ giữa chúng như định lý góc trong tam giác, định lý sin, định lý cosin, các công thức tính diện tích. Ta có một đối tượng tam giác biểu diễn theo mô hình trên như sau: Name: TAMGIAC Construct: A, B, C Isa: {} Attrs: {GocA, GocB, GocC, a, b, c, ha, hb, hc, ma, mb,mc, pa, pb, pc, S, p, r, R, ra, rb, rc} Constraints: {a>0, b>0, c>0, ha>0, hb>0, hc>0, s.0, p>0, R>0, } F: {GocA + GocB + GocC = Pi, a*sin(GocB)=b*sin(GocA),a^2 = b^2 + c^2 – *b*c*cos(GocA),…} Facts: {} Rules: {{GocA = GocB} => {a = b}, {a = b} => {GocA=GocB}, {a^2 = b^2 + c^2} => {GocA =pi/2}, {GocA = pi/2} =>{a^2 = b^2 + c^2, b c}, …}⊥ Ví dụ 1.2: Tri thức cho đối tượng hệ phương trình tuyến tính gồm các yếu tố: ma trận hệ số A, ma trận cột cho hệ số tự do B, ma trận cột các biến X; cùng với công thức liên hệ giữa chúng AX=B. Đối tượng hệ phương trình tuyến tính được biểu diễn qua các tập hợp như sau: Name: HE_PTTT Construct: { A, X, B } Isa: {} Attrs: {} F: {AX=B} Facts: {} Rules: {} Sự kiện là phát biểu được mô tả bằng các biểu thức, đẳng thức, quan hệ giữa các đối tượng, thuộc tính, hoặc các hàm mà có thể cho giá trị đúng hoặc sai. Sự kiện còn mô tả thông tin về đối tượng. Có 11 loại sự kiện sau: 1. Sự kiện thông tin về loại đối tượng. Ví dụ: A là một ma trận vuông. 4 Khóa luận môn học: Biểu diễn Tri thức và Ứng dụng 2. Sự kiện về tính xác định của đối tượng hay thuộc tính, được biểu diễn bởi tên của đối tượng hay tên của thuộc tính. Ví dụ: Phần tử dòng i cột j của ma trận A. 3. Sự kiện về sự xác định của đối tượng hay thuộc tính thông qua một biểu thức hằng. Ví dụ: Phần tử tại dòng i cột j trong ma trận A là 1. 4. Sự kiện về sự bằng nhau của hai đối tượng hay hai thuộc tính. Ví dụ: Ma trận A = ma trận B. 5. Sự kiện về sự phụ thuộc của đối tượng vào các đối tượng khác thông qua biểu thức tính toán. Ví dụ: Phần tử dòng i cột j của ma trận C bằng tổng phần tử dòng i cột j của ma trận A và phần tử dòng i cột j của ma trận B. 6. Sự kiện về quan hệ giữa các đối tượng hay thuộc tính các đối tượng. Ví dụ: Ma trận A giao hoán với ma trận B. 7. Sự kiện về biểu thức hàm cơ bản. Ví dụ: Hàm cho biết tính khả nghịch của ma trận A. 8. Sự kiện về sự bằng nhau của một biểu thức hàm cơ bản với một giá trị hoặc biểu thức hằng. Ví dụ: Định thức của ma trận A là 0. 9. Sự kiện về sự bằng nhau giữa một đối tượng với một biểu thức hàm cơ bản. Ví dụ: Ma trận B là ma trận nghịch đảo của A. 10. Sự kiện về sự bằng nhau của một biểu thức hàm với một biểu thức hàm khác. Ví dụ: Hạng của ma trận A bằng hạng của ma trận B cộng 1. 11. Sự kiện về sự phụ thuộc của một biểu thức hàm cơ bản vào các biểu thức hàm cơ bản hoặc đối tượng khác thông qua phương trình. Ví dụ: Hạng của ma trận A bằng hạng của ma trận B + 1. 1.2.2 Tập các quan hệ phân cấp H: Trên tập C ta có một quan hệ phân cấp, theo đó, một số khái niệm là sự đặc biệt hóa của các khái niệm khác. Ví dụ tam giác cân cũng là một tam giác. Nếu xem quan hệ phân cấp này là quan hệ có thứ tự trên C thì H chính là một biểu đồ Hasse. 5 Khóa luận môn học: Biểu diễn Tri thức và Ứng dụng Hình 1.1 Biểu đồ Hasse thể hiện phân cấp của các khái niệm tam giác 1.2.3 Tập các quan hệ giữa các loại khái niệm R: Mỗi quan hệ được xác định bởi: (Name, Args, Facts) Name: tên của quan hệ. Args: các đối tượng (thuộc kiểu khái niệm) của quan hệ. Facts: các sự kiện định nghĩa quan hệ. Quan hệ có các tính chất: phản xạ, đối xứng, phản xứng và bắc cầu. Ví dụ 1.3: Quan hệ vuông góc giữa 2 đường thẳng được mô tả như sau: Name: VUONG Args: a, b: DUONGTHANG Facts: A và B là 2 điểm;A thuộc a và A không thuộc b; B thuộc b và B không thuộc a; Góc tạo bởi A, B và giao điểm của a, b là góc vuông. 1.2.4 Tập các hàm Funcs: Hàm thể hiện các quy tắc tính toán trên các loại khái niệm. Có hai loại: - Hàm cơ bản: các hàm trên số tự nhiên, số nguyên, số hữu tỉ, số thực, số phức. - Hàm cấp n (n>0): được mô tả bằng tập các sự kiện và trong cấu trúc mô tả gồm có khái niệm, quan hệ, hàm, toán tử. Trong cấu trúc mô tả phải xuất hiện ít nhất các khái niệm, quan hệ, hàm, toán tử có cấp n. Mỗi hàm gồm các thành phần:(Name, Args, Return, Facts) Name: tên hàm Args: đối số của hàm là các đối tượng thuộc kiểu khái niệm Return: khái niệm trả về của hàm Facts: tập các sự kiện định nghĩa hàm Ví dụ 1.4: Hàm xác định giao điểm của 2 đường thẳng: Name: GIAODIEM Args: a, b: DUONGTHANG Return: X: DIEM Facts: x thuộc a và x thuộc b 1.2.5 Tập các toán tử Ops: Gồm các phép toán trên các biến thuộc các loại khái niệm. Có 2 loại: 6 TAM_GIAC_VUONG_CAN TAM_GIAC_DEU TAM_GIAC_VUONG TAM_GIAC_CAN TAM_GIAC Khóa luận môn học: Biểu diễn Tri thức và Ứng dụng - Toán tử nền: các phép toán trên các kiểu boolean, số tự nhiên, số nguyên, số hữu tỉ, số thực, tập hợp, danh sách. - Toán tử cấp n: các phép toán số học và tính toán trên các đối tượng, các thuộc tính của đối tượng tương tự như với các biến thực. Một toán tử gồm thành phần: (Name, Args, Return, Facts) Name: tên toán tử. Args: danh sách các toán hạng. Return: kiểu trả về của toán tử. Facts: các sự kiện định nghĩa toán tử. Ví dụ 1.5: Phép toán trừ hai góc được mô tả như sau: Name: “–” Agrs: g1, g2: GOC Return: x: real Facts: x = op1.sd – op2.sd 1.2.6 Tập các luật Rules: Các luật thể hiện tri thức. Mỗi luật cho ta một quy tắc suy luận để đi đến các sự kiện mới (kết luận) từ sự kiện nào đó (giả thiết) dưới dạng các luật dẫn. Mỗi luật gồm các thành phần: (Name, Kind, Vars, Hypothesis, Goal) Name: tên của luật Kind: chuỗi mô tả loại luật Vars: các đối tượng thuộc kiểu khái niệm Hypothesis: tập các sự kiện giả thiết của luật Goal: tập các sự kiện kết luận của luật Ví dụ 1.6: Luật hai tam giác bằng nhau: Kind: “TAMGIAC = TAMGIAC” Name: “” Vars: tg1, tg2: TAMGIAC Hypothesis: 3 cạnh của tg1 bằng với 3 cạnh tương ứng của tg2 Goal: tg1 = tg2 7 Khóa luận môn học: Biểu diễn Tri thức và Ứng dụng Chương 2. NGÔN NGỮ ĐẶT TẢ ONTOLOGY COKB Ngôn ngữ Ontology COKB (COKB Ontology Language), viết tắt là COL là ký pháp đặc tả cho Ontology COKB được mô tả theo ký pháp EBNF. COL bao gồm các thành phần chính của một ngôn ngữ như tập ký tự, từ vựng, các kiểu dữ liệu, cú pháp ngôn ngữ và cú pháp mô tả các thành phần trong mô hình COKB. 2.1 Các quy ước mô tả cú pháp: X::=Y cú pháp của X (non-terminal) được định nghĩa bởi Y X | Y X hoặc Y [X] phần tùy chọn, 0 hoặc 1 X X* 0 hoặc nhiều X X+ 1 hoặc nhiều X <X> nhóm các phần để mô tả phạm vi của phép toán CHỮ IN ĐẬM từ khóa của ngôn ngữ (terminal) /* */ ghi chú chữ thường non-terminal 2.2 Các thành phần của COL 2.2.1 Tập ký tự (Character set): Tập ký tự gồm các ký tự chữ, ký tự số và một số ký tự đặc biệt.  Ký tự chữ: lower-letter ::= a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z upper-letter ::= A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z letter ::= lower-letter | upper-letter  Ký tự số digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9  Một số ký tự đặc biệt special-characters ::= ; | : | + | – | * | / | ^ | ! | = | < | > | @ | . | , | ( | ) | [ | ] | { | } | ‘ | ’ | “ | & | _ | % | \ | # | ? | space 2.2.2 Từ vựng (Tokens): Từ vựng gồm các từ khóa, tên, các phép toán, các chuỗi và các con số.  Từ khóa (keyword): ARGUMENT ENDCR FUNCTION MFEXP ARRAY ENDFOR GOAL NATURAL 8 [...]... diễn Tri thức và Ứng dụng Chương 3 NGÔN NGỮ TRUY VẤN ONTOLOGY COKB 3.1 Định nghĩa: COQL (COKB Ontology Query Language) là ngôn ngữ truy vấn Ontology được thiết kế để truy vấn các cơ sở tri thức theo mô hình COKB COQL là ngôn ngữ truy vấn dễ sử dụng, được miêu tả theo ký pháp EBNF COQL hướng đến các tiêu chí sau: - Cấu trúc truy vấn đơn giản, dễ hiểu, dễ dùng: câu truy vấn là để người dùng sử dụng nên... không, câu truy vấn này trả về các sự kiện định nghĩa hàm của hàm KHA_NGHICH(MA_TRAN_VUONG)  Truy vấn nội dung của một luật: Luật là một thành phần của ontology COKB, gồm có hai vế là giả thiết và kết luận Truy vấn nội dung của luật là truy vấn cả giả thiết và kết luận của luật, sử dụng từ khóa WHAT RULE Cú pháp: rule-qry ::= ?WHAT RULE ; r_name: là tên của luật được truy vấn Kết quả truy vấn là... trận B hay không ? 3.4.2 Truy vấn các khái niệm trong Ontology a) Loại không chứa đối số: Loại truy vấn dạng này thuộc loại đơn giản có tính chất liệt kê tên các thành phần trong ontology Cú pháp: list-qry ::= ?; tu_khoa ::= CONCEPTS | COBJECTS | HIERARCHIES| RELATIONS | FUNCTIONS | OPERATORS | RULES| KINDRULES Kết quả truy vấn: là tên của tất cả các khái niệm có trong ontology (concepts) hoặc... liệu của đối số trong quan hệ/ phép toán Ví dụ: REAL, INTEGER, MA_TRAN_VUONG, HE_PTTT WHAT CONCEPT: từ khóa để truy vấn định nghĩa khái niệm WHAT RELATION: từ khóa để truy vấn định nghĩa một quan hệ trong cở sở tri thức WHAT OPERATOR: từ khóa để truy vấn định nghĩa phép toán Kết quả truy vấn: (1) Trả về nội dung định nghĩa khái niệm đối tượng tính toán hay một khái niệm đối tượng khác (2) Trả về nội... khái niệm thường có mối liên hệ với nhau bằng biểu thức hay phương trình, câu truy vấn dạng này truy vấn các mối liên hệ đó thông qua truy vấn thành phần quan hệ tính toán của đối tượng bằng từ khóa WHAT CRELATION Cú pháp: crelation-qry ::= ?WHAT CRELATION < doi_tuong_tinh_toan > [RELATED ]; Kết quả truy vấn: trả về tên và định nghĩa quan hệ tính toán của doi_tuong_tinh_toan và có liên... HIERARCHY ; Kết quả truy vấn: trả về cấp cha của đối tượng c_name Ví dụ 3.18: cho biết phân cấp của MA_TRAN_DUONG_CHEO Biểu diễn: ?WHAT HIERARCHY MA_TRAN_DUONG_CHEO; Ý nghĩa : c_name là MA_TRAN_DUONG_CHEO, câu truy vấn này cho biết cấp cha của MA_TRAN_DUONG_CHEO là MA_TRAN  Truy vấn định nghĩa hàm: Hàm là một thành phần của ontology COKB, nhằm thực hiện một công việc cụ thể liên... liên quan đến các đối tượng tính toán Dạng câu truy vấn này nhằm truy vấn thông tin xác định hàm qua thành phần định nghĩa hàm, dùng từ khóa WHAT FUNCTION Cú pháp: 26 Khóa luận môn học: Biểu diễn Tri thức và Ứng dụng proc-qry ::= ?WHAT FUNCTION (kieu_doi_so); ten_ham: tên của hàm cần truy vấn kieu_doi_so: kiểu của đối số của hàm Kết quả truy vấn: trả về định nghĩa của hàm ten_ham Ví dụ 3.19:... dễ hiểu, dễ dùng càng tốt - Cú pháp mềm dẻo, linh hoạt để đáp ứng được nhiều dạng câu hỏi - Tương thích tốt với nhiều lĩnh vực tri thức - Truy vấn thông tin nhanh 3.2 Quy ước về cú pháp câu truy vấn: - Nhằm phân biệt với các từ khóa của COL, từ khóa ngôn ngữ truy vấn COQL bắt đầu bằng dấu chấm hỏi (?) và kết thúc bằng dấu chấm phẩy (;) - Ngay sau ? là từ khóa, không có khoảng trắng - Khai báo kiểu dữ... RELATION(kieu_doi_so); (2) pro-qry3 ::= ?WHAT PROPERTY OPERATOR(kieu_doi_so); (3) Kết quả câu truy vấn là các luật có liên quan đến khái niệm đối tượng tính toán hay quan hệ, phép toán (1): Dùng để truy vấn các tính chất của đối tượng tính toán (2): Dùng để truy vấn các tính chất của một quan hệ (3): Dùng để truy vấn các tính chất của một phép toán Ví dụ 3.21: cho biết các tính chất của hai ma trận tương... tất cả khái niệm có trong ontology: ?CONCEPTS; Ví dụ 3.11: liệt kê tất cả khái niệm đối tượng tính toán C-Object: ?COBJECTS; Ví dụ 3.12: liệt kê tất cả quan hệ: ?RELATIONS; Ví dụ 3.13: liệt kê tất cả luật: ?RULES; 24 Khóa luận môn học: Biểu diễn Tri thức và Ứng dụng b) Loại chứa đối số:  Truy vấn định nghĩa khái niệm: Dạng truy vấn này có chứa một đối số, thực hiện truy vấn định nghĩa của một khái . i Chương 1. TỔNG QUAN VỀ ONTOLOGY 2 Chương 2. NGÔN NGỮ ĐẶT TẢ ONTOLOGY COKB 8 Chương 3. NGÔN NGỮ TRUY VẤN ONTOLOGY COKB 21 Chương 4. TÌM HIỂU HỆ THỐNG HỎI-ĐÁP TRI THỨC DẠNG COKB THEO HƯỚNG AGENT. diễn Tri thức và Ứng dụng Chương 2. NGÔN NGỮ ĐẶT TẢ ONTOLOGY COKB Ngôn ngữ Ontology COKB (COKB Ontology Language), viết tắt là COL là ký pháp đặc tả cho Ontology COKB được mô tả theo ký pháp EBNF tả COKB Computational Objects Knowledge Base COQL COKB Ontology Query Language ECOKB Extended Computational Objects Knowledge Base ECOL Extended COKB Ontology Language ECOQL Extended COKB Ontology

Ngày đăng: 10/04/2015, 09:58

TỪ KHÓA LIÊN QUAN

w