[Representation] Semantic Network – Biểu diễn qua mạng ngữ nghĩa P2
Trong bài trước chúng ta đã có cái nhìn tổng quan về Semantic Network (SN), vì vậy hôm nay ta sẽ cùng nhau tìm hiểu về SN chứa đựng những gì, cách ứng dụng cũng như ưu và nhược điểm của nó.
1. SN gồm những gì ?
SN biểu diễn tri thức dưới dạng đồ thị, trong đó:
+ Các đỉnh (node) là các đối tượng (hay khái niệm).
+ Các cung (edge) cho biết các mối quan hệ giữa các đối tượng (khái niệm).
+ Nhãn của các cung (label) cho biết loại quan hệ trên cung đó. Trong ví dụ trên :
“là” : quan hệ kế thừa
“biết” : quan hệ bao hàm (thể hiện thuộc tính)
“làm” : quan hệ bao hàm (thể hiện thuộc tính)
“có” : quan hệ bao hàm (thể hiện thuộc tính)
2. Nhắc lại về đồ thị :
Đồ thị là một cấu trúc bao gồm 1 tập các điểm gọi là các đỉnh (Node) và một tập các đường nối các điểm gọi là các cạnh (Edge) => SN là một đồ thị vì nó có tập đỉnh và tập cạnh nối giữa các đỉnh.
Đồ thị được kí hiệu G = trong đó V là tập hữu hạn các đỉnh, và E là tập hữu hạn các cạnh nối giữa 2 đỉnh cụ thể trong tập V. Khi các cạnh trong E có hướng (cặp đỉnh được nối với nhau trong E là có thứ tự) thì đồ thị này được gọi là có hướng => SN là một đồ thị có hướng vì quan hệ giữa các đỉnh qua 1 cung cụ thể là có thứ tự.
Những đặc tính khác như đường đi, chu trình, tính liên thông… của đồ thị cũng sẽ tồn tại trong SN. Cụ thể các bạn có thể tham khảo các đặc tính của đồ thị có hướng qua google (Những tài liệu này rất phổ biến).
3. Tính kế thừa trong SN :
Như ở ví dụ trên chúng ta đã thấy, node “Chích choè” có quan hệ với node “Chim” qua edge “là” -> “Chích choè” là “chim”, hay nói cách khác “Chích choè” có đầy đủ tính chất của “Chim”. Loại quan hệ này đem lại cho SN tính kế thừa, nghĩa là ta có thể định nghĩa ra những concept con bên trong một concept cha, giúp việc mô tả tri thức tốt hơn. (Định nghĩa thế nào là loài chim, sau đó định nghĩa đặc điểm riêng của từng loài). Trong SN, tính kế thừa được thế hiện qua quan hệ “là” hay “is”. Đến đây chúng ta sẽ thấy cách thức SN hoạt động có rất nhiều điểm tương đồng với lập trình hướng đối tượng (OOP), trong đó các concept tương ứng với class, các quan hệ chính là property của class, tính kế thừa giữa những class với nhau… Thực tế OOP được phát triển từ cách tiếp cận của SN. Vậy nên nếu bạn đã lập trình hướng đối tượng, SN sẽ vô cùng gần gũi và dễ hiểu.
5. SN sử dụng trong những trường hợp nào ?
Một số bài toán hay được sử dụng SN như
– “Xử lý ngôn ngữ tự nhiên” : do thế mạnh của SN là ngữ nghĩa nên việc phân tích ngữ nghĩa trong câu với SN khá tốt.
– “Giải toán” : với hệ những công thức, SN có thể tự động giải toán thông qua cơ sở tri thức hiện có và có khả năng nâng cấp với những công thức mới giúp phạm vi bài toán có thể giải quyết rộng hơn.
Trong trường hợp giải toán đã có khá nhiều bài viết về SN trong việc giải quyết những bài toán về tam giác. Các bạn có thể tham khảo:
Giải bài toán về tam giác sử dụng SN
Vì tính trực quan, dễ hiểu dễ trình bày nên SN thường được dùng trong thiết kế cơ sở tri thức. Nếu muốn ứng dụng vào trong hệ thống thực cũng khá ổn, tuy nhiên phương pháp tương tự là Frame thường được sử dụng thay thế vì nó dễ lập trình hơn.
6. Ưu điểm và nhược điểm :
Ưu điểm:
– SN rất linh động, ta có thể dễ dàng thêm các concept (các node, các đỉnh) hoặc quan hệ (các edge, các cung) để bổ sung các tri thức cần thiết.
– SN được thiết kế theo tư duy về các concept của con người nên tính trực quan cao, dễ hiểu với người đọc.
– Chính vì cách tiếp cận giống với tư duy của con người nên SN hoạt động một các khá tự nhiên giống như cách con người ghi nhận và truy xuất thông tin.
– SN có cho phép các đỉnh được phép kế thừa các tính chất củanhau thông quan quan hệ “là” hay “is”, chính vì thế nên giữa những đỉnh không có liên kết trực tiếp lại vẫn có thể có liên kết với nhau.
Nhược điểm:
– Không có chuẩn và quy định về giới hạn cho các đỉnh và cung. Nên khái niệm và quan hệ đưa vào đỉnh hay cung là tùy ý. Chính vì thế mâu thuẫn giữa những khái niệm có thể xảy ra nếu dữ liệu đưa vào không chính xác.
– Tính kế thừa trong SN mặc dù là một ưu điểm lớn nhưng những liên kết ngầm định do chúng sinh ra lại tiềm tàng những mâu thuẫn nếu thiết kế không tốt.
– SN không thể biểu diễn những tri thức mang tính thủ tục vì khái niệm thời gian và trình tự không được biểu diễn tường minh.
– Liên kết trong SN là một chiều, nên không thể biểu diễn các tính chất hai chiều một cách trực tiếp.