- SBD_R: Liên hệ ràng buộc giữa các thành phần kể trên.
3) Một tập hợp Inst các thực thể:
3.1.4. Định nghĩa thành phần Rules tập các luật
Rules là tập hợp các luật suy diễn trên các sự kiện liên quan đến tính chất của quan hệ hoặc sự kiện liên quan đến các keyphrase và các lớp.
Các luật thể hiện các tri thức mang tính phổ quát trên các khái niệm và các loại sự kiện khác nhau. Mỗi luật cho ta một qui tắc suy luận để đi đến các sự kiện mới từ các sự kiện nào đó, và về mặt cấu trúc nó gồm 2 thành phần chính là: phần giả thiết của luật và phần kết luận của luật. Phần giả thiết và phần kết luận đều là các tập hợp sự kiện trên các đối tượng nhất định. Như vậy, một luật r có thể được mô hình dưới dạng:
Để mô hình luật dẫn trên có hiệu lực trong cơ sở tri thức và để có thể khảo sát các thuật giải để giải quyết các bài toán, ta cần định nghĩa các dạng sự kiện khác nhau trong các luật.
Có 2 loại sự kiện chính: sự kiện về tính chất của quan hệ và sự kiện về quan hệ giữa 2 đối tượng (giữa k và k’, giữa c và c’, hoặc giữa k và c).
Định nghĩa: (các loại sự kiện)
(1) Sự kiện thông tin về tính chất của quan hệ. Ta biểu diễn sự kiện này bởi cấu trúc danh sách: [<relation>, <property_of_relation>].
Ví dụ: [Rsyn , “Đối xứng”]
(2) Sự kiện về quan hệ giữa 2 đối tượng. Ta biểu diễn sự kiện này bởi cấu trúc danh sách: [<object1>, <relation>, <object2>]
a. Sự kiện về quan hệ giữa keyphrase và keyphrase Ví dụ: [k, Rsyn, k’]
b. Sự kiện về quan hệ giữa lớp và lớp Ví dụ: [c, RRE, c’]
c. Sự kiện về quan hệ giữa keyphrase và lớp Ví dụ: [k, Rpart_of, c]
Trong mô hình CK-ONTO hiện tại chúng tôi định nghĩa một tập gồm 12 luật:
1. Luật 1:
if PORR=”đối xứng” && k1 Rk2 then k2 Rk1 Ví dụ:
PORsyn=”đối xứng” && “vector graphic” Rsyn “object-oriented graphic”
=> “object-oriented graphic” Rsyn“vector graphic”
PORsyn=”đối xứng” && “multitasking” Rsyn“multiprocessing” => “multiprocessing” Rsyn“multitasking”
PORSacl =”đối xứng” && “complexity” RSacl“data structure” => “complexity” RSacl“data structure”
2. Luật 2:
if PORR = “bắc cầu” && k1 Rk2 && k2 Rk3 then k1 Rk3 Ví dụ:
PORpart_of = “bắc cầu” && “Advanced Encryption Standard” Rpart_of
“encryption” && “encryption” Rpart_of“cryptography” => “Advanced Encryption Standard” Rpart_of“cryptography”
PORsyn = “bắc cầu” && “attribute of class” Rsyn“property of class” && “property of class” Rsyn“slot of class”
=> “attribute of class” Rsyn“slot of class”
PORpart_of = “bắc cầu” && “Advanced Encryption Standard” Rpart_of
“encryption” && “encryption” Rpart_of“DNS” => “Advanced Encryption Standard” Rpart_of“DNS”
3. Luật 3:
if k1 Rnsyn k2 && k2 Racr k3 then k1 Rnsyn k3 Ví dụ:
“User Interface Markup Language” Rnsyn “XML” && “XML” Racr
“Extensible Markup Language”
=> “User Interface Markup Language” Rnsyn “Extensible Markup Language”
“dynamic HTML” Rnsyn “HTML” && “HTML” Racr “HyperText Markup Language”
=> “dynamic HTML” Rnsyn“HyperText Markup Language” “C sharp” Rnsyn“C++” && “C++” Racr“C plus plus”
=> “C sharp” Rnsyn“C plus plus”
4. Luật 4:
if k1 Rsyn k2 && k3 Racr k2 then k1 Rsyn k3 Ví dụ:
“customized markup language” Rsyn “XML” && “XML” Racr
“Extensible Application Markup Language”
=> “customized markup language” Rsyn “Extensible Application Markup Language”
“concept-based programming paradigm” Rsyn“OOP” && “OOP” Racr
“object-oriented programming”
=> “concept-based programming paradigm” Rsyn“OO programming” “computer information system” Rsyn“IS” && “IS” Racr“information system”
=> “computer information system” Rsyn “information system”
5. Luật 5:
if k1 Rnsyn k2 && k2 Rsyn k3 then k1 Rnsyn k3 Ví dụ:
“Windows Update” Rnsyn “Software Update Service” && “Software Update Service” Rsyn“Microsoft SUS”
=> “Windows Update” Rnsyn“Microsoft SUS”
“search by content” Rnsyn “semantic search” && “semantic search”
Rsyn “meaning-based search”
=> “search by content” Rnsyn“meaning-based search”
“data type” Rnsyn“value type” && “value type” Rsyn “type of value” => “data type” Rnsyn“type of value”
6. Luật 6:
if k1 Rsyn k2 && k2 Rpart-of k3 then k1 Rpart_of k3 Ví dụ:
“vector graphics” Rsyn“object-oriented graphic” && “object-oriented graphic” Rpart-of “graphic”
=> “vector graphics” Rpart-of“graphic”
“graphic” Rsyn “computer graphic” && “computer graphic” Rpart-of
“game programming”
=> “graphic” Rpart-of “game programming”
“virtual server” Rsyn “web server” && “web server” Rpart-of “World Wide Web”
=> “virtual server” Rpart-of “World Wide Web”
7. Luật 7:
if k1 Rpart-of k3 && k2 Rkind-of k3 then k1 Rpart_of k2 Ví dụ:
“complexity” Rpart-of “algorithm” && “sorting sort algorithm” Rkind-of
“graphic”
=> “complexity” Rpart-of “sorting sort algorithm”
“data type” Rpart-of “programming language” && “C++” Rkind-of
=> “data type” Rpart-of “C++”
“data structure” Rpart-of “problem” && “postman problem” Rkind-of
“problem”
=> “data structure” Rpart-of “postman problem”
8. Luật 8:
if k1 Rsyn k2 && k2 Rkind-of k3 then k1 Rkind_of k3 Ví dụ:
“Advanced Encryption Standard” Rsyn “AES” && “Advanced Encryption Standard” Rkind_of“data encryption technique”
=> “Advanced Encryption Standard” Rkind_of “data encryption technique”
“C plus plus” Rsyn“C++” && “C plus plus” Rkind_of“OOPL” => “C plus plus” Rkind_of“OOPL”
“graphical user interface” Rsyn“GUI” && “graphical user interface”
Rkind_of“user interface”
=> “graphical user interface” Rkind_of“user interface”
9. Luật 9:
if k1 Rkind-of k2 && k2 Rsyn k3 then k1 Rkind_of k3 Ví dụ:
“conceptual graph” Rkind-of “knowledge representation model” && “knowledge representation model” Rsyn “KR model”
=> “conceptual graph” Rkind_of “KR model”
“red-black tree” Rkind_of “binary tree”&& “binary tree” Rsyn“two-level tree”
=> “red-black tree” Rkind_of “two-level tree”
“C plus plus” Rkind_of “OOPL”&& “OOPL” Rsyn “object-oriented programming language”
=> “C plus plus” Rkind_of “object-oriented programming language”
10. Luật 10:
if PORR=”đối xứng” && c1 Rc2 then c2 Rc1 Ví dụ:
ALGORITHM” RSIB“CYCLE DETECTION ALGORITHM”
=> “CYCLE DETECTION ALGORITHM” RSIB “SHORTEST PATH SEARCH ALGORITHM”
PORSIB = “đối xứng” && “TREE” RSIB“GRAHP” => “GRAHP” RSIB“TREE”
PORSIB = “đối xứng” && “OBJECT-ORIENTED PROGAMMING LANGUAGE” RSIB“LOGICAL PROGRAMMING LANGUAGE” => “LOGICAL PROGRAMMING LANGUAGE” RSIB “OBJECT- ORIENTED PROGAMMING LANGUAGE”
11. Luật 11:
if PORR = “bắc cầu” && c1 Rc2 && c2 Rc3 then c1 Rc3 Ví dụ:
PORHYP = “bắc cầu” && “SHORTEST PATH SEARCH ALGORITHM” RHYP “SEARCHING ALGORIHTM” && “SEARCHING ALGORITHM” RHYP“ALGORIHTM”
=> “SHORTEST PATH SEARCH ALGORITHM” RHYP
“ALGORIHTM”
PORHYP = “bắc cầu” && “BINARY SEARCH TREE” RHYP
“BINARY TREE” && “BINARY TREE” RHYP“TREE” => “BINARY SEARCH TREE” RHYP“TREE”
PORHYP = “bắc cầu” && “Turbo Pascal” RHYP“hybrid programming language” && “hybrid programming language” RHYP “object- oriented programming language”
=> “Turbo Pascal” RHYP“object-oriented programming language”
12. Luật 12:
if k1 Rpart_of c&& k2 Rpart_of c then k1 RSacl k2 Ví dụ:
“complexity” Rpart_of “ALGORITHM” && “data structure” Rpart_of
“ALGORITHM”
=> “complexity” RSacl“datastructure”
=> “C plus plus” Rkind_of“OOPL”
“graphical user interface” Rsyn“GUI” && “graphical user interface”
Rkind_of“user interface”
=> “graphical user interface” Rkind_of“user interface”
Đóng góp cải tiến:
- Trong một mô hình biểu diễn tri thức, bên cạnh tập khái niệm và tập quan hệ thì tập luật cũng đóng một vai trò rất quan trọng. Tập luật giúp cho onlotogy có nhiều khả năng suy diễn và thể hiện ngữ nghĩa đầy đủ hơn cho miền tri thức của lĩnh vực. Hiện tại mô hình CK-ONTO vẫn chưa có tập luật; vì vậy, việc bổ sung tập luật cho mô hình CK-ONTO là thực sự cần thiết.
- Với việc bổ sung thành phần Rules tập các luật vào mô hình CK-ONTO đã giúp cho số lượng quan hệ trong tập quan hệ R nhỏ hơn đáng kể so thực tế. Nhờ vào tập luật và thuật toán suy diễn trên tập luật mà ta có thể tìm được mối quan hệ giữa hai keyphrase, giữa keyphrase và lớp, và giữa hai lớp mà không cần phải khảo sát và xây dựng quan hệ ngay từ ban đầu. Vì vậy, việc thêm thành phần Rules giúp tiết kiệm nhiều chi phí trong việc tạo những quan hệ không cần thiết, tiết kiệm không gian lưu trữ tập quan hệ trên máy tính và tránh được nhiều trường hợp thiếu sót từ việc tạo quan hệ bằng phương pháp thủ công với số lượng quan hệ lớn. Đặc biệt là giúp cho hệ thống được cải tiến về kỹ thuật tính độ do về mặt ngữ nghĩa giữa hai đồ thị keyphrase.
Ví dụ: Xét quan hệ đồng nghĩa giữa hai keyphrase k1 và k2: k1 Rsyn k2. Vì quan hệ đồng nghĩa có tính chất đối xứng, nên ta chỉ cần tạo quan hệ k1 Rsyn k2 mà không cần tạo quan hệ k2 Rsyn k1. Từ luật 1 trong tập luật Rules ta có thể suy ra được quan hệ k2 Rsyn k1 từ quan hệ k1 Rsyn k2 dựa vào sự kiện về tính chất đối xứng của quan hệ đồng nghĩa và sự kiện quan hệ đồng nghĩa giữa keyphrase k1 và keyphrase k2. Như vậy, với n quan hệ đồng nghĩa trong tập quan hệ R ta giảm đi được chi phí tạo quan hệ và lưu trữ n quan hệ đồng nghĩa ngược lại trong mô hình ontology.
- Việc tính độ liên quan về mặt ngữ nghĩa giữa hai keyphrase dựa vào khả năng suy diễn trên luật đã giúp cải tiến kỹ thuật đo lường mức độ tương quan về ngữ nghĩa giữa hai đồ thị keyphrase nhanh chóng và chính xác hơn. Trong giải pháp cũ, để đo độ tương đồng ngữ giữa hai keyphrase k và k’ ta phải đi tìm các dãy dẫn xuất [3]. Kỹ thuật này tốn khá nhiều thời gian vì phải thực hiện vét cạn trên toàn bộ tập quan
ngữ nghĩa nhưng vẫn tồn tại dãy dẫn xuất; và một số trường hợp khác k và k’ có mối quan hệ này nhưng dãy dẫn xuất tìm được lại thể hiện mối quan hệ ngữ khác (thậm chí mối quan hệ này không tồn tại) vì thiếu các luật đặc trưng để nhận biết các keyphrase có mối liên kết nhất định với nhau. Nếu tập luật được định nghĩa đầy đủ và chính xác, thì kỹ thuật suy diễn xác định mối liên hệ ngữ nghĩa tự động giữa các keyphrase là có cơ sở và mang lại độ chính xác cao.