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

NGÔN NGỮ ĐẶC TẢ ONTOLOGY COKB

16 361 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 1,25 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tên dùng để chỉ một loại khái niệm đối tượng, quan hệ, thuộc tính, toán tử, hàm, thủ tục, luật.. Biểu thức expression Trong mô hình tri thức các đối tượng tính toán COKB, biểu thức là th

Trang 1

NGÔN NGỮ ĐẶC TẢ ONTOLOGY COKB

Ngôn ngữ ontology COKB, 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

1.1. Các qui ước mô tả cú pháp COL

1.2. Các thành phần của COL (COL elements)

1.2.1. Tập các ký tự

Tập ký tự bao gồm ký tự chữ, ký tự số và một số ký tự đặc biệt

a. Ký tự chữ

b. Ký tự số

Trang 2

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

1.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ố

a. Từ khóa (keyword)

Trang 4

b. Tên (name)

Tên là một chuỗi gồm một hoặc nhiều ký tự Tên dùng để chỉ một loại khái niệm (đối tượng, quan hệ, thuộc tính, toán tử, hàm, thủ tục, luật) Các tên không được trùng nhau Có hai loại tên: name (symbol) và indexed names

Dạng tên đơn giản nhất là một chuỗi ký tự, số và dấu gạch dưới

Ví dụ:

my_name1 MA_TRAN, CHUYEN_VI, MA_TRAN_KHA_NGHICH A[1, 2]

Ngoài ra còn các tên được định nghĩa trước, gọi là hằng (constant)

Trang 5

c. Phép toán

d. Chuỗi (string)

Chuỗi gồm dãy các ký tự đặt giữa hai dấu nháy kép “”

e. Số

1.2.3. Kiểu dữ liệu

Ngoài các C-Object, COL còn được sử dụng các kiểu dữ liệu cơ bản và kiểu có cấu trúc, tương tự các kiểu dữ liệu của Maple

a. Kiểu cơ bản

b. Kiểu dữ liệu có cấu trúc

- Dãy (sequence)

Kiểu dãy 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 (function call)

Trang 6

- Danh sách (list)

Danh sách là dãy biểu thức có thứ tự, được đặt giữa hai 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)

Kiểu tập hợp biểu diễn tập hợp trong toán học, gồm một dãy 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)

Mảng là mở rộng của danh sách, dùng để biểu diễn dãy dữ liệu theo một hoặc nhiều chiều

c. Kiểu đối tượng tính toán

1.2.4. Cú pháp và ngữ nghĩa

Phần này sẽ mô tả cú pháp và ngữ nghĩa các thành phần của COKB-ONT (C, H, Relations, Funs, Ops, Rules) theo ký pháp EBNF

1.2.4.1. Biểu thức (expression)

Trong mô hình tri thức các đối tượng tính toán COKB, biểu thức là thành phần quan trọng nhất Biểu thức thường xuất hiện trong các luật, các ràng buộc, sự kiện và các câu truy vấn Có các dạng biểu thức sau: biểu thức tính toán, biểu thức quan hệ, biểu thức hàm cơ bản, biểu thức logic, biểu thức vị từ Trong biểu thức có thể chứa các hàm cơ bản (như sin, cos, …), hàm được định nghĩa (hàm cấp n)

a Biểu thức tính toán

b Biểu thức logic

Biểu thức logic được tạo bởi các phép toán logic, có giá trị là hằng TRUE hoặc FALSE

c Biểu thức quan hệ

Biểu thức quan hệ được tạo bởi các phép toán quan hệ có giá trị là hằng TRUE hoặc FALSE

Trang 7

d. Biểu thức hàm cơ bản

Biểu thức hàm cơ bản được tạo bởi lời gọi hàm

e. Biểu thức vị từ

Biểu thức vị từ được tạo bởi các lượng từ, cho phép ta lượng hóa đủ tổng quát để diễn

tả ngôn ngữ tự nhiên ở mức đơn giản

1.2.5. Câu lệnh

Gồm ba loại câu lện sau

- Câu lệnh điều kiện

- Câu lệnh điều khiển

- Câu lệnh trả về giá trị trong hàm

1.3. Định nghĩa C-Object

Khái niệm C-Object được định nghĩa trong từ khóa COBJECT, ENDCOBJECT Mỗi khái niệm có một tên duy nhất, tên này được dùng như là một định danh của khái niệm Khi định nghĩa một khái niệm C-Object mới, có thể định nghĩa phân cấp của khái niệm đó (qua

từ khóa ISA)

Trang 8

a Mô tả khái niệm

b Thuộc tính

Hầu hết khái niệm điều có thuộc tính Các giá trị của thuộc tính có kiểu cơ bản (số nguyên, số thực, …) hoặc kiểu đối tượng C-Object Khai báo thuộc tính của khái niệm bắt đầu bằng từ khóa ATTRIBUTE và nằm trong phần định nghĩa khai niệm

c Thuộc tính thiết lặp

Thuộc tính thiết lập là tính chất đặc trưng tạo nên một khái niệm mới trê cơ sở kế thừa một khái niệm nào đó, được khai báo sau từ khóa CONSTRUCT

d Ràng buộc

Các điều kiện ràng buộc liên quan đến thuộc tính được thể hiện qua các biểu thức logic Cú pháp logic được thể hiện như sau:

e Quan hệ tính toán

Các quan hệ tính toán thể hiện mối quan hệ giữa các thuộc tính của khái niệm đang định nghĩa Có thể đặt trong khai báo khái niệm COBJECT hoặc có thể định nghĩa thành một tập riêng Nếu đặt trong COBJECT thì đặt sau từ khóa CRELATION

Cú pháp khai báo như sau:

Trang 9

1.4. Các phân cấp

Quan hệ phân cấp giữa các C-Object được thể hiện qua từ khóa ISA

Các quan hệ phân cấp trong tập hợp H cũng có thể được mô tả trong cặp từ khóa HIERARCHY, ENDHIERARCHY theo cú pháp sau:

1.5. Sự kiện

Nếu tập các sự kiện được khai báo bên trong phần định nghĩa khái niệm thì đặt sau từ khóa FACT như sau:

Ví dụ:

1. Sự kiện thông tin về đối tượng

Trang 10

MA_TRAN_VUONG(A): A là một ma trận vuông

2. Xác định đối tượng/thuộc tính thông qua tên của đối tượng/thuộc tính A: ma trận A

A.a[i, j]: phần tử dòng i cột j của ma trận A

3. Xác định đối tượng/thuộc tính thông qua biểu thức hằng A.a[i, j]=1 : phần tử dòng i cột j của ma trận A là 1

4. Hai đối tượng/thuộc tính bằng nhau A=B : ma trận A= ma trận B (quan hệ bằng nhau) A.m=B.m : số dòng của hai ma trận bằng nhau

5. Biểu thức đối tượng/thuộc tính thể hiện sự phụ thuộc của đối tượng/thuộc tính vào đối tượng thuộc tính khác:

C.a[i, j] = A.a[i, j] +B.a[i, j]

A^t=B^T A*B^T=A^T*B^T

6. Sự kiện về quan hệ giữa các đối tượng/thuộc tính

A GIAO_HOAN B : ma trận A giao hoán với ma trận B (quan hệ giao hoán)

7. Sự kiện về biểu thức hàm cơ bản KHA_NGHICH(A): 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

DINH_THUC(A)=0 : định thức của ma trận A là 0 KHA_NGHICH(A)=TRUE //TRUE là hằng 1, FALSE là hằng 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: B=MA_TRAN_NGHICH_DAO(A): 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 HANG(A)=HANG(B)

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 khác thông qua phương trình

HANG(A) = HANG(B) + 1 DINH_THUC(A) = DINH_THUC(B) + DINH_THUC(C)

1.6. Quan hệ

Quan hệ giữa các đối tượng và thuộc tính được mô tả bằng các sự kiện

Trang 11

1.7. Luật

Các luật có thể khai báo bên trong phần định nghĩa COBJECT hoặc trong một tập luật riêng Nếu khai báo bên trong định nghĩa COBJECT thì đặt trong từ khóa RULE, ENDRULE; ngược lại các luật được đặt trong cặp từ khóa RULES, ENDRULES

Cú pháp khai báo luật như sau:

Ví dụ: Khai báo các luật trong khái niệm tam giác của hình học phẳng:

RULE R1;

KINDRULE: “”;

HYPOTHISIS:

GocA=GocB;

ENDHYPOTHISIS GOAL:

a=b;

ENDGOAL ENDRULE

Trang 12

Ví dụ: Cho hai ma trận A và B Nếu ma trận chuyển vị của A = ma trận chuyển vị của B thì A=B

RULE R1;

KINDRULE: TINH_CHAT;

VARIABLE:

A, B: MA_TRAN;

HYPOTHISIS:

A^T=B^T;

ENDHYPOTHISIS GOAL:

A=B;

ENDGOAL ENDRULE

Mỗi hàm có một tên và một dãy các đối số Hàm thực hiện các tính toán trên các loại khái niệm (đối tượng, thuộc tính, quan hệ, …) và trả về giá trị Có hai loại hàm: hàm cơ bản

và hàm định nghĩa

- Hàm cơ bản

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

Có thể định nghĩa hàm theo hai cách:

+ Mô tả dưới dạng các sự kiện + Mô tả dưới dạng một sự kiện (gồm nhiều phát biểu) Trong định nghĩa hàm có thể mô tả ràng buộc giữa các đối số nếu có

Dạng 1:

Trang 13

Dạng 2:

Ví dụ: Hàm biến đổi dòng k trong ma trận A thành c* dòng k + dòng 1 FUNCTION BIEN_DOI_SO_CAP_2;

ARGUMENT:

A: MA_TRAN;

c: REAL;

k, l: INTEGER;

Trang 14

A: MA_TRAN;

CONSTRAINT:

k>0 AND k<A.m;

l>0 AND l<A.m;

k<>l;

DEFINE:

A.ROW[k] :=c* A.ROW[k] + A.ROW[l]

ENDFUNCTION;

Gọi hàm:

Lưu ý: Các đối số được truyền cho hàm dưới dạng dãy các biểu thức và phải theo đúng thứ tự đã khai báo

Ví dụ: BIEN_DOI_SO_CAP_2(A, 3, 1, 4);

1.9. Phép toán

Phép toán được định nghĩa trong cặp từ khóa OPERATOR, ENDOPERATOR Có hai loại phép toán: phép toán một ngôi và phép toán hai ngôi Được phân biệt qua số lượng đối số

Ví dụ: Phép cộng hai ma trận OPERATOR “+”;

ARGUMENT:

A, B: MA_TRAN;

RETURN:

C: MA_TRAN;

CONSTRAINT:

A.m=B.m;

A.n=B.n;

Trang 15

FORALL (i, j), C.a[i, j] := A.a[i, j]+ B.a[i, j];

ENDOPERATOR;

1.10. Cú pháp khai báo

Khai báo kiểu dữ liệu

Ví dụ

x INTEGER;

lst LIST;

Khai báo kiểu dữ liệu là một kiểu tính toán C-Object

Mỗi thể hiện của một khái niệm C-Object được khai báo như sau:

Ví dụ: Khai báo đối tượng là một ma trận A: MA_TRAN[m, n, a];

B: MA_TRAN;

Gọi một quan hệ

Ví dụ: Quan hệ bằng nhau của hai ma trận A, B A=B;

Quan hệ tương đương của dòng của hai ma trận A, B

A TUONG_DUONG_DONG B Gọi một phép toán

Ví dụ:

Phép chuyển vị của ma trận A (phép toán một ngôi): A^T;

Phép cộng hai ma trận (phép toán hai ngôi): A+B

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

Để truy xuất đến một thuộc tính của đối tượng thuộc tính một kiểu khái niệm, ta sử dụng ký pháp dấu chấm như sau:

Ví dụ: truy xuất đến số dòng m của ma trận A: A.m Lưu ý: dấu chấm được hiểu là phép toán khi có dạng: số thực.đối tượng (ví dụ: c.A), ngược lại sẽ được hiểu là phép truy xuất khi có dạng: đối tượng.thuộc tính đối tượng (ví dụ: A.m, A.a[i, j])

Khai báo hằng

Trang 16

Ví dụ: khai báo hằng số PI CONSTANT:

PI: 3.14;

1.11. Tổ chức cơ sở tri thức theo COL

Cơ sở tri thức K gồm các thành phần (C, H, R, Func, Ops, Rules) Mỗi thành phần được biểu diễn thành một file văn bản có cấu trúc và được lưu trữ trong một folder với cấu trúc như sau:

File txt là file lưu trữ tập các khái niêm thuộc tính thành phần x, với x ={C, H, R, Func, Ops, Rules} và được mô tả theo ngôn ngữ COL Ngoài ra còn có thêm một số tập tin:

- Cobject_kinds.txt: lưu trữ tên các khái niệm

- Relation_kinds.txt: lưu trữ tên các quan hệ

- Operator_kinds.txt: lưu trữ tên các phép toán

- Function_kinds.txt: lưu trữ tên các hàm

- Fact_kinds.txt: lưu trữ định nghĩa các loại sự kiện, tính chất

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w