Bước tới nội dung

Biểu diễn tri thức và suy luận

Bách khoa toàn thư mở Wikipedia

Biểu diễn tri thức và suy luận (Knowledge representation and reasoning, KRR, KR&R, KR²) là lĩnh vực của trí tuệ nhân tạo (AI) tập trung vào việc biểu diễn thông tin về thế giới dưới dạng mà hệ thống máy tính có thể sử dụng để giải quyết các nhiệm vụ phức tạp như chẩn đoán y khoa hoặc đối thoại bằng ngôn ngữ tự nhiên. Biểu diễn tri thức kết hợp các phát hiện từ tâm lý học[1] về cách con người giải quyết vấn đề và biểu diễn tri thức, nhằm thiết kế các phương thức giúp cho việc xây dựng các hệ thống phức tạp trở nên dễ dàng hơn. Biểu diễn tri thức và suy luận cũng kết hợp các phát hiện từ logic để tự động hóa các loại suy luận khác nhau.

Các phương thức biểu diễn tri thức bao gồm mạng ngữ nghĩa, khung, luật lệ, chương trình logicbản thể học. Ví dụ về các động cơ suy luận tự động bao gồm các động cơ suy luận, hệ thống chứng minh định lý, các trình sinh mô hình và các bộ phân loại.

Lịch sử

[sửa | sửa mã nguồn]

Công việc đầu tiên trong lĩnh vực biểu diễn tri thức trên máy tính tập trung vào các hệ thống giải quyết vấn đề chung, như hệ thống General Problem Solver (GPS) được phát triển bởi Allen Newell và Herbert A. Simon vào năm 1959, và hệ thống Advice Taker được đề xuất bởi John McCarthy cũng vào năm 1959. GPS sử dụng các cấu trúc dữ liệu để lập kế hoạch và phân rã vấn đề. Hệ thống này bắt đầu với một mục tiêu và sau đó phân rã mục tiêu đó thành các tiểu mục tiêu, sau đó xây dựng các chiến lược để đạt được từng tiểu mục tiêu. Ngược lại, hệ thống Advice Taker đề xuất sử dụng tính toán vị từ để biểu diễn suy luận thông thường.

Nhiều phương pháp biểu diễn tri thức trong AI thời kỳ đầu sử dụng các biểu diễn đồ thị và mạng ngữ nghĩa, tương tự như các đồ thị tri thức ngày nay. Trong các phương pháp này, giải quyết vấn đề được thực hiện thông qua duyệt đồ thị[2] hoặc tìm đường, như trong thuật toán tìm kiếm A*. Ứng dụng phổ biến bao gồm lập kế hoạch cho robot và chơi trò chơi.

Các nhà nghiên cứu khác đã tập trung vào phát triển các hệ thống chứng minh định lý tự động cho logic bậc nhất, với mục tiêu sử dụng logic toán học để hình thức hóa toán học và tự động hóa việc chứng minh các định lý toán học. Một bước tiến quan trọng trong hướng đi này là sự phát triển của phương pháp giải của John Alan Robinson.

Trong khi đó, John McCarthy và Pat Hayes đã phát triển tình huống tính toán như một hình thức logic để biểu diễn tri thức thông thường về các quy luật nhân quả. Cordell Green đã cho thấy cách lập kế hoạch cho robot bằng cách áp dụng phương pháp giải vào tình huống tính toán. Ông cũng cho thấy cách sử dụng phương pháp giải để trả lời câu hỏi và lập trình tự động.[3]

Ngược lại, các nhà nghiên cứu tại MIT đã bác bỏ phương pháp chứng minh đồng nhất của phương pháp giải và ủng hộ việc tích hợp quy trình vào tri thức.[4] Xung đột giữa việc sử dụng biểu diễn logic và biểu diễn quy trình đã được giải quyết vào đầu những năm 1970 với sự phát triển của lập trình logicProlog, sử dụng phương pháp giải SLD để xử lý các điều khoản Horn như các quy trình giảm mục tiêu.

Sự phát triển ban đầu của lập trình logic chủ yếu diễn ra tại châu Âu. Tại Bắc Mỹ, các nhà nghiên cứu AI như Ed Feigenbaum và Frederick Hayes-Roth đã ủng hộ việc biểu diễn tri thức theo miền cụ thể hơn là suy luận đa mục tiêu.[5]

Những nỗ lực này đã dẫn đến cuộc cách mạng nhận thức trong tâm lý học và giai đoạn của AI tập trung vào biểu diễn tri thức, kết quả là sự ra đời của hệ thống chuyên gia trong thập niên 1970 và 1980, hệ sinh, ngôn ngữ khung, v.v. Thay vì các bộ giải quyết vấn đề chung, AI đã thay đổi trọng tâm sang các hệ thống chuyên gia có thể đạt được năng lực của con người trong một nhiệm vụ cụ thể, chẳng hạn như chẩn đoán y khoa.[6]

Hệ chuyên gia đã cung cấp cho chúng ta thuật ngữ vẫn được sử dụng ngày nay, nơi các hệ thống AI được chia thành một cơ sở tri thức, bao gồm các sự thật và quy tắc về một lĩnh vực vấn đề, và một bộ suy luận, áp dụng tri thức trong cơ sở tri thức để trả lời câu hỏi và giải quyết các vấn đề trong lĩnh vực đó. Trong các hệ thống ban đầu này, các sự thật trong cơ sở tri thức thường có cấu trúc khá đơn giản, về cơ bản là những khẳng định về giá trị của các biến được sử dụng bởi các quy tắc.[7]

Trong khi đó, Marvin Minsky đã phát triển khái niệm khung (frame) vào giữa những năm 1970.[8] Một khung tương tự như một lớp đối tượng: Đó là mô tả trừu tượng của một danh mục mô tả các sự vật trên thế giới, các vấn đề và các giải pháp tiềm năng. Khung ban đầu được sử dụng trong các hệ thống hướng tới tương tác của con người, ví dụ như hiểu ngôn ngữ tự nhiên và các bối cảnh xã hội trong đó các mong đợi mặc định như việc gọi món ăn trong nhà hàng thu hẹp không gian tìm kiếm và cho phép hệ thống chọn phản hồi phù hợp cho các tình huống động.

Không lâu sau đó, các cộng đồng nghiên cứu về khung và quy tắc nhận ra rằng có sự tương tác giữa các phương pháp tiếp cận của họ. Khung rất tốt trong việc biểu diễn thế giới thực, được mô tả như các lớp, lớp con, các khe (giá trị dữ liệu) với các ràng buộc khác nhau về các giá trị có thể có. Quy tắc rất tốt trong việc biểu diễn và sử dụng logic phức tạp như quy trình chẩn đoán y khoa. Các hệ thống tích hợp được phát triển kết hợp khung và quy tắc. Một trong những hệ thống mạnh mẽ và nổi tiếng nhất là Môi trường Kỹ thuật Tri thức (Knowledge Engineering Environment - KEE) của Intellicorp vào năm 1983. KEE có một bộ quy tắc đầy đủ với suy luận tiến và lùi. Nó cũng có một cơ sở tri thức dựa trên khung hoàn chỉnh với các cơ chế kích hoạt, khe (giá trị dữ liệu), kế thừa, và truyền thông điệp. Mặc dù truyền thông điệp có nguồn gốc từ cộng đồng lập trình hướng đối tượng thay vì AI, nó đã nhanh chóng được các nhà nghiên cứu AI đón nhận trong các môi trường như KEE và trong các hệ điều hành cho các máy Lisp từ Symbolics, Xerox, và Texas Instruments.[9]

Sự tích hợp giữa khung, quy tắc và lập trình hướng đối tượng đã được thúc đẩy đáng kể bởi các hoạt động thương mại như KEE và Symbolics được tách ra từ các dự án nghiên cứu khác nhau. Cùng lúc đó, có một nhánh nghiên cứu khác ít tập trung vào thương mại hơn và được thúc đẩy bởi logic toán học và chứng minh định lý tự động.[cần dẫn nguồn] Một trong những ngôn ngữ có ảnh hưởng nhất trong nghiên cứu này là ngôn ngữ KL-ONE vào giữa những năm 80. KL-ONE là một ngôn ngữ khung có ngữ nghĩa chặt chẽ, với các định nghĩa chính thức cho các khái niệm như mối quan hệ Is-A.[10] KL-ONE và các ngôn ngữ chịu ảnh hưởng bởi nó như Loom có một bộ suy luận tự động dựa trên logic chính thức thay vì dựa trên các quy tắc IF-THEN. Bộ suy luận này được gọi là trình phân loại (classifier). Trình phân loại có thể phân tích một tập hợp các tuyên bố và suy ra các khẳng định mới, ví dụ như định nghĩa lại một lớp là lớp con hoặc lớp cha của một lớp khác mà chưa được chỉ định rõ ràng. Bằng cách này, trình phân loại có thể hoạt động như một bộ suy luận, suy diễn ra các sự thật mới từ cơ sở tri thức hiện có. Trình phân loại cũng có thể cung cấp kiểm tra tính nhất quán trên một cơ sở tri thức (trong trường hợp các ngôn ngữ KL-ONE, cơ sở tri thức này cũng được gọi là bản thể học).[11]

Một lĩnh vực nghiên cứu biểu diễn tri thức khác là vấn đề suy luận thường thức. Một trong những nhận thức đầu tiên khi cố gắng tạo phần mềm có thể hoạt động với ngôn ngữ tự nhiên của con người là con người thường xuyên dựa vào một nền tảng tri thức rộng lớn về thế giới thực mà chúng ta coi là hiển nhiên nhưng lại không rõ ràng đối với một tác nhân nhân tạo. Các nguyên tắc cơ bản về vật lý thường thức, nhân quả, ý định, v.v. Một ví dụ là vấn đề khung, rằng trong logic điều khiển theo sự kiện cần có các tiên đề nêu rõ các sự vật giữ nguyên vị trí từ thời điểm này đến thời điểm khác trừ khi chúng bị di chuyển bởi một lực bên ngoài. Để tạo ra một tác nhân trí tuệ nhân tạo thực sự có thể giao tiếp với con người bằng ngôn ngữ tự nhiên và có thể xử lý các câu hỏi và tuyên bố cơ bản về thế giới, điều quan trọng là phải biểu diễn loại tri thức này.[12] Ngoài phép tính tình huống của McCarthy và Hayes, một trong những chương trình tham vọng nhất giải quyết vấn đề này là dự án Cyc của Doug Lenat. Cyc đã thiết lập ngôn ngữ khung của riêng mình và có một số lượng lớn các nhà phân tích ghi chép lại các lĩnh vực suy luận thường thức khác nhau trong ngôn ngữ đó. Tri thức được ghi lại trong Cyc bao gồm các mô hình thường thức về thời gian, nhân quả, vật lý, ý định, và nhiều lĩnh vực khác.[13]

Điểm xuất phát của biểu diễn tri thứcgiả thuyết biểu diễn tri thức được Brian C. Smith chính thức hóa lần đầu vào năm 1985:[14]

Mọi quá trình thông minh được thể hiện bằng máy móc đều bao gồm các thành phần cấu trúc mà a) chúng ta với tư cách là người quan sát bên ngoài tự nhiên cho rằng chúng đại diện cho một biểu thức dưới dạng mệnh đề về tri thức mà toàn bộ quá trình thể hiện, và b) không phụ thuộc vào sự gán ghép ngữ nghĩa bên ngoài đó, những thành phần này đóng một vai trò hình thức nhưng có tính chất nhân quả và thiết yếu trong việc tạo ra hành vi thể hiện tri thức đó.

Một trong những lĩnh vực nghiên cứu sôi động nhất về biểu diễn tri thức là mạng ngữ nghĩa.[cần dẫn nguồn] Mạng ngữ nghĩa hướng đến việc bổ sung một lớp ngữ nghĩa (ý nghĩa) trên nền tảng của Internet hiện tại. Thay vì lập chỉ mục các trang web và nội dung bằng từ khóa, mạng ngữ nghĩa tạo ra các bản thể học lớn về các khái niệm. Tìm kiếm một khái niệm sẽ hiệu quả hơn so với các tìm kiếm văn bản truyền thống. Ngôn ngữ khung và phân loại tự động đóng vai trò quan trọng trong tầm nhìn cho tương lai của mạng ngữ nghĩa. Phân loại tự động cung cấp cho các nhà phát triển công nghệ một cách để sắp xếp trật tự trên một mạng lưới tri thức luôn thay đổi. Việc xác định các bản thể học tĩnh và không có khả năng phát triển ngay lập tức sẽ hạn chế rất nhiều đối với các hệ thống trên Internet. Công nghệ phân loại cung cấp khả năng xử lý môi trường động của Internet.

Những dự án gần đây được tài trợ chủ yếu bởi Cơ quan Chỉ đạo các Dự án Nghiên cứu Quốc phòng Tiên tiến (DARPA) đã tích hợp ngôn ngữ khung và các bộ phân loại với ngôn ngữ đánh dấu dựa trên XML. Resource Description Framework (RDF) cung cấp khả năng cơ bản để định nghĩa các lớp, các lớp con và thuộc tính của đối tượng. Ngôn ngữ Web Ontology (OWL) cung cấp các mức ngữ nghĩa bổ sung và cho phép tích hợp với các công cụ phân loại.[15][16]

Tổng quan

[sửa | sửa mã nguồn]

Biểu diễn tri thức là một lĩnh vực của trí tuệ nhân tạo (AI) tập trung vào việc thiết kế các biểu diễn máy tính để nắm bắt thông tin về thế giới nhằm giải quyết các vấn đề phức tạp.

Lý do cho biểu diễn tri thức là vì mã lập trình thủ tục truyền thống không phải là hình thức tốt nhất để giải quyết các vấn đề phức tạp. Biểu diễn tri thức giúp phần mềm phức tạp dễ dàng định nghĩa và bảo trì hơn so với mã thủ tục, và có thể được sử dụng trong các hệ chuyên gia.

Ví dụ, khi nói chuyện với các chuyên gia về các quy tắc kinh doanh thay vì mã, nó giúp thu hẹp khoảng cách ngữ nghĩa giữa người dùng và nhà phát triển, làm cho việc phát triển các hệ thống phức tạp trở nên thực tế hơn.

Biểu diễn tri thức gắn liền với suy luận tự động vì một trong những mục đích chính của việc biểu diễn tri thức là có thể suy luận về tri thức đó, đưa ra suy luận, xác nhận tri thức mới, v.v. Hầu hết các ngôn ngữ biểu diễn tri thức đều có một công cụ suy luận hoặc máy suy luận trong hệ thống.[17]

Một vấn đề quan trọng trong thiết kế các hình thức biểu diễn tri thức là sự cân bằng giữa khả năng biểu đạt và tính khả thi.[18] Logic bậc nhất (FOL), với khả năng biểu đạt mạnh mẽ và khả năng hình thức hóa nhiều phần của toán học, được xem là tiêu chuẩn để so sánh khả năng biểu đạt của các ngôn ngữ biểu diễn tri thức.

Tuy nhiên, FOL có hai nhược điểm lớn là khó sử dụng và hiệu quả khi triển khai. Do tính biểu đạt mạnh, FOL cho phép nhiều cách diễn đạt cùng một thông tin, điều này khiến người dùng khó có thể hình thức hóa hoặc hiểu tri thức được biểu diễn bằng cách phức tạp, mang tính toán học. Ngoài ra, các thủ tục chứng minh phức tạp cũng khiến người dùng khó hiểu được các chứng minh và giải thích, và việc triển khai có thể không hiệu quả. Vì vậy, FOL không bị giới hạn thường tạo ra sự ngại ngần cho các nhà phát triển phần mềm.

Một phát hiện quan trọng trong nghiên cứu AI vào những năm 1970 là các ngôn ngữ không có đầy đủ khả năng biểu đạt của FOL vẫn có thể cung cấp khả năng biểu đạt tương đối gần với FOL, nhưng lại dễ dàng hơn cho cả người phát triển và máy tính để hiểu. Nhiều hình thức biểu diễn tri thức AI ban đầu, từ cơ sở dữ liệu đến mạng ngữ nghĩa cho đến các hệ thống sản xuất, có thể được xem như là các quyết định thiết kế khác nhau về cách cân bằng giữa khả năng biểu đạt với tính tự nhiên của biểu thức và hiệu quả.[19] Sự cân bằng này là động lực chính cho sự phát triển các quy tắc IF-THEN trong các hệ thống chuyên gia dựa trên quy tắc.

Một động lực tương tự cũng là lý do phát triển của lập trình logic (LP) và ngôn ngữ lập trình logic Prolog. Các chương trình logic có cú pháp dựa trên quy tắc, dễ gây nhầm lẫn với cú pháp IF-THEN của hệ sinh (khoa học máy tính). Tuy nhiên, các chương trình logic có ngữ nghĩa logic rõ ràng, trong khi các hệ thống sản xuất thì không.

Hình thức lập trình logic sớm nhất dựa trên tập con Horn của logic bậc nhất. Nhưng các mở rộng sau đó của LP bao gồm quy tắc suy luận phủ định như thất bại (negation as failure), biến LP thành một logic không đơn điệu cho lập luận mặc định. Ngữ nghĩa mở rộng này của LP là một biến thể của ngữ nghĩa tiêu chuẩn của các mệnh đề Horn và FOL, và là một dạng ngữ nghĩa cơ sở dữ liệu, [20] bao gồm giả định tên duy nhất và một dạng giả định thế giới đóng. Các giả định này khó hơn để phát biểu và suy luận một cách rõ ràng bằng ngữ nghĩa tiêu chuẩn của FOL.

Trong một bài báo quan trọng năm 1993 về chủ đề này, Randall Davis của MIT đã trình bày năm vai trò khác nhau để phân tích một khung biểu diễn tri thức:[21]

  • "Biểu diễn tri thức (KR) cơ bản nhất là một sự thay thế, một sự đại diện cho chính sự vật, được sử dụng để cho phép một thực thể xác định hậu quả bằng cách suy nghĩ thay vì hành động,"[21] tức là, "bằng cách suy luận về thế giới thay vì thực hiện hành động trong nó."[21]
  • "Đó là một tập hợp các cam kết bản thể học",[21] tức là, "một câu trả lời cho câu hỏi: Tôi nên suy nghĩ về thế giới bằng những thuật ngữ nào?"[21]
  • "Nó là một lý thuyết phân đoạn của lập luận thông minh, được biểu hiện qua ba thành phần: (i) khái niệm cơ bản về lập luận thông minh của biểu diễn; (ii) tập hợp các suy luận mà biểu diễn phê duyệt; và (iii) tập hợp các suy luận mà nó đề xuất."[21]
  • "Nó là một phương tiện tính toán hiệu quả thực tế",[21] tức là, "môi trường tính toán trong đó quá trình suy nghĩ được thực hiện. Một đóng góp cho hiệu quả thực tế này là sự hướng dẫn mà biểu diễn cung cấp để tổ chức thông tin"[21] để "tạo điều kiện cho các suy luận được đề xuất."[21]
  • "Nó là một phương tiện biểu đạt của con người",[21] tức là, "một ngôn ngữ mà chúng ta dùng để nói về thế giới."[21]

Biểu diễn tri thức và suy luận là một công nghệ quan trọng hỗ trợ cho Mạng ngữ nghĩa. Các ngôn ngữ dựa trên mô hình Khung với phân loại tự động cung cấp một lớp ngữ nghĩa trên nền Internet hiện tại. Thay vì tìm kiếm qua các chuỗi văn bản như cách thông thường ngày nay, sẽ có thể định nghĩa các truy vấn logic và tìm các trang phù hợp với những truy vấn đó.[15] Thành phần suy luận tự động trong các hệ thống này là một động cơ được gọi là bộ phân loại. Các bộ phân loại tập trung vào các mối quan hệ phân cấp trong một cơ sở tri thức thay vì các quy tắc. Một bộ phân loại có thể suy ra các lớp mới và thay đổi động các bản thể học khi có thông tin mới được cung cấp. Khả năng này rất lý tưởng cho không gian thông tin luôn thay đổi và phát triển như Internet.[22]

Mạng ngữ nghĩa tích hợp các khái niệm từ biểu diễn tri thức và suy luận với các ngôn ngữ đánh dấu dựa trên XML. RDF cung cấp các khả năng cơ bản để định nghĩa các đối tượng dựa trên tri thức trên Internet với các tính năng cơ bản như quan hệ Is-A và các thuộc tính đối tượng. Ngôn ngữ Web Ontology (OWL) bổ sung thêm các ngữ nghĩa và tích hợp với các bộ phân loại tự động.[16]

Đặc điểm

[sửa | sửa mã nguồn]

Năm 1985, Ron Brachman đã phân loại các vấn đề cốt lõi cho biểu diễn tri thức như sau:[23]

  • Nguyên thủy. Khung nền tảng nào được sử dụng để biểu diễn tri thức? Mạng ngữ nghĩa là một trong những nguyên thủy biểu diễn tri thức đầu tiên. Ngoài ra, còn có các cấu trúc dữ liệu và thuật toán để tìm kiếm nhanh chóng tổng quát. Trong lĩnh vực này, có sự trùng lặp mạnh mẽ với nghiên cứu về cấu trúc dữ liệu và thuật toán trong khoa học máy tính. Trong các hệ thống ban đầu, ngôn ngữ lập trình Lisp, được mô phỏng theo phép tính lambda, thường được sử dụng như một dạng biểu diễn tri thức chức năng. Khung và Quy tắc là loại nguyên thủy tiếp theo. Ngôn ngữ khung có các cơ chế khác nhau để diễn đạt và thực thi các ràng buộc trên dữ liệu khung. Tất cả dữ liệu trong khung được lưu trữ trong các khe. Khe tương tự như quan hệ trong mô hình thực thể-liên kết và như các thuộc tính đối tượng trong mô hình hướng đối tượng. Một kỹ thuật khác cho nguyên thủy là định nghĩa các ngôn ngữ được mô phỏng theo Logic Bậc nhất (FOL). Ví dụ nổi tiếng nhất là Prolog, nhưng cũng có nhiều môi trường chứng minh định lý chuyên dụng. Các môi trường này có thể xác nhận các mô hình logic và suy luận ra các lý thuyết mới từ các mô hình hiện có. Về cơ bản, chúng tự động hóa quá trình mà một nhà logic học sẽ trải qua trong việc phân tích một mô hình. Công nghệ chứng minh định lý có một số ứng dụng thực tiễn cụ thể trong lĩnh vực kỹ thuật phần mềm. Ví dụ, có thể chứng minh rằng một chương trình phần mềm tuân thủ nghiêm ngặt một đặc tả logic chính thức.
  • Meta-representation. Điều này còn được gọi là vấn đề phản tỉnh trong khoa học máy tính. Nó đề cập đến khả năng của một hình thức biểu diễn để truy cập thông tin về trạng thái của chính nó. Một ví dụ là giao thức đối tượng meta trong Smalltalk và CLOS, cho phép các nhà phát triển truy cập vào các đối tượng lớp trong thời gian thực và cho phép họ thay đổi cấu trúc của cơ sở tri thức ngay cả khi đang chạy. Meta-representation có nghĩa là ngôn ngữ biểu diễn tri thức được biểu diễn chính trong chính ngôn ngữ đó. Ví dụ, trong hầu hết các môi trường dựa trên Frame (Khung), tất cả các frame sẽ là các thể hiện của một lớp frame. Đối tượng lớp đó có thể được kiểm tra trong thời gian thực, cho phép đối tượng hiểu và thậm chí thay đổi cấu trúc bên trong của nó hoặc cấu trúc của các phần khác trong mô hình. Trong các môi trường dựa trên quy tắc, các quy tắc cũng thường là các thể hiện của các lớp quy tắc. Một phần của giao thức meta cho các quy tắc là các quy tắc meta ưu tiên việc kích hoạt quy tắc.
  • Tính không hoàn chỉnh. Logic truyền thống yêu cầu thêm các tiên đề và ràng buộc để xử lý thế giới thực, khác với thế giới của toán học. Ngoài ra, đôi khi cần thiết để liên kết các mức độ tin cậy với một tuyên bố. Ví dụ, không chỉ nói "Socrates là con người" mà còn nói "Socrates là con người với mức độ tin cậy 50%". Đây là một trong những đổi mới từ nghiên cứu về hệ chuyên gia đã di chuyển đến một số công cụ thương mại, khả năng liên kết các yếu tố chắc chắn với quy tắc và kết luận. Nghiên cứu sau này trong lĩnh vực này được gọi là logic mờ.[24]
  • Định nghĩa và quy tắc phổ quát so với sự kiện và mặc định. Quy tắc phổ quát là những tuyên bố chung về thế giới như "Tất cả con người đều là phàm nhân". Sự kiện là những ví dụ cụ thể của quy tắc phổ quát như "Socrates là con người và do đó là phàm nhân". Trong thuật ngữ logic, định nghĩa và quy tắc phổ quát liên quan đến lượng từ phổ dụng trong khi sự kiện và mặc định liên quan đến lượng từ tồn tại. Tất cả các hình thức biểu diễn tri thức đều phải xử lý khía cạnh này và hầu hết đều làm như vậy với một số biến thể của lý thuyết tập hợp, mô hình hóa các quy tắc phổ quát như các tập hợp và tập hợp con, và các định nghĩa là các phần tử trong các tập hợp đó.
  • Lập luận phi đơn điệu. Lập luận phi đơn điệu cho phép các loại lập luận giả định khác nhau. Hệ thống liên kết các sự kiện đã được khẳng định với các quy tắc và sự kiện được sử dụng để biện minh cho chúng, và khi những sự kiện đó thay đổi, hệ thống sẽ cập nhật tri thức phụ thuộc theo. Trong các hệ thống dựa trên quy tắc, khả năng này được gọi là hệ thống duy trì sự thật.[25]
  • Sự đầy đủ biểu đạt. Tiêu chuẩn mà Brachman và hầu hết các nhà nghiên cứu AI sử dụng để đo lường sự đầy đủ biểu đạt thường là Logic bậc nhất (FOL). Những giới hạn lý thuyết khiến việc triển khai đầy đủ FOL không khả thi. Các nhà nghiên cứu cần phải rõ ràng về mức độ biểu đạt mà họ dự định hệ thống biểu diễn tri thức của họ đạt được.[26]
  • Hiệu quả lập luận. Điều này đề cập đến hiệu quả thời gian thực của hệ thống. Khả năng cập nhật cơ sở tri thức và lập luận để phát triển các suy luận mới trong một khoảng thời gian hợp lý. Ở một khía cạnh nào đó, đây là mặt trái của sự đầy đủ biểu đạt. Nói chung, một hệ thống càng mạnh mẽ, càng có tính biểu đạt đầy đủ, thì động cơ lập luận tự động của nó sẽ kém hiệu quả hơn. Hiệu quả thường là một vấn đề, đặc biệt là đối với các ứng dụng đầu tiên của công nghệ biểu diễn tri thức. Chúng thường được triển khai trong các môi trường biên dịch như Lisp, điều này chậm hơn so với các nền tảng truyền thống thời đó.

Kỹ thuật bản thể học

[sửa | sửa mã nguồn]

Trong những năm đầu của hệ thống dựa trên tri thức, các cơ sở tri thức còn khá nhỏ. Những cơ sở tri thức được thiết kế để giải quyết các vấn đề thực tế thay vì chỉ chứng minh khái niệm cần phải tập trung vào các vấn đề được định nghĩa rõ ràng. Ví dụ, không chỉ là chẩn đoán y khoa nói chung, mà là chẩn đoán y khoa về các loại bệnh cụ thể.

Khi công nghệ dựa trên tri thức mở rộng, nhu cầu về cơ sở tri thức lớn hơn và cơ sở tri thức mô-đun có thể giao tiếp và tích hợp với nhau trở nên rõ ràng. Điều này đã dẫn đến sự phát triển của lĩnh vực kỹ thuật bản thể học, thiết kế và xây dựng các cơ sở tri thức lớn có thể được sử dụng bởi nhiều dự án khác nhau. Một trong những dự án nghiên cứu hàng đầu trong lĩnh vực này là dự án Cyc. Cyc là một nỗ lực nhằm xây dựng một cơ sở tri thức bách khoa khổng lồ không chỉ chứa kiến thức chuyên gia mà còn cả tri thức thông thường. Trong quá trình thiết kế một tác tử trí tuệ nhân tạo, người ta nhận ra rằng việc biểu diễn tri thức thông thường - tri thức mà con người thường coi là điều hiển nhiên - là cần thiết để tạo ra một AI có thể tương tác với con người bằng ngôn ngữ tự nhiên. Cyc được xây dựng để giải quyết vấn đề này. Ngôn ngữ mà họ định nghĩa được gọi là CycL.

Sau CycL, một số ngôn ngữ bản thể học đã được phát triển. Phần lớn chúng là các ngôn ngữ khai báo và hoặc là các ngôn ngữ khung, hoặc dựa trên logic bậc nhất. Tính mô-đun — khả năng định nghĩa ranh giới xung quanh các lĩnh vực và không gian vấn đề cụ thể — là yếu tố cần thiết cho các ngôn ngữ này. Như Tom Gruber đã nói: "Mỗi bản thể học là một hiệp ước - một sự thỏa thuận xã hội giữa những người có động cơ chung trong việc chia sẻ." Luôn có nhiều quan điểm cạnh tranh và khác biệt, làm cho việc xây dựng một bản thể học phổ quát là điều không thể. Một bản thể học phổ quát phải có khả năng áp dụng vào mọi lĩnh vực và các lĩnh vực tri thức khác nhau cần được thống nhất.[27]

Đã có một lịch sử dài trong việc xây dựng các bản thể học cho nhiều lĩnh vực nhiệm vụ khác nhau, ví dụ như một bản thể học cho chất lỏng,[28] mô hình phần tử tập trung được sử dụng rộng rãi trong việc biểu diễn mạch điện tử (ví dụ,[29]), cũng như các bản thể học về thời gian, niềm tin, và thậm chí cả lập trình. Mỗi bản thể học này đưa ra một cách nhìn về một phần của thế giới.

Mô hình phần tử tập trung, ví dụ, gợi ý rằng chúng ta nghĩ về các mạch điện dưới dạng các thành phần có kết nối giữa chúng, với tín hiệu truyền ngay lập tức dọc theo các kết nối. Đây là một cách nhìn hữu ích, nhưng không phải là duy nhất. Một bản thể học khác sẽ xuất hiện nếu chúng ta cần chú ý đến hiện tượng điện động lực trong thiết bị: Ở đây, tín hiệu truyền với tốc độ hữu hạn và một đối tượng (như một điện trở) trước đó được xem như là một thành phần đơn lẻ với hành vi đầu vào/đầu ra, giờ có thể phải được coi là một môi trường mở rộng mà trong đó sóng điện từ truyền qua.

Bản thể học có thể được viết bằng nhiều ngôn ngữ và ký hiệu khác nhau (ví dụ, logic, LISP, v.v.); thông tin chính không phải là hình thức của ngôn ngữ đó mà là nội dung, tức là tập hợp các khái niệm được đưa ra như một cách suy nghĩ về thế giới. Nói đơn giản, phần quan trọng là các khái niệm như kết nối và thành phần, chứ không phải là việc lựa chọn giữa việc viết chúng dưới dạng vị từ hay cấu trúc LISP.

Cam kết thực hiện việc lựa chọn một bản thể học này hay bản thể học khác có thể dẫn đến một cái nhìn hoàn toàn khác về nhiệm vụ đang được thực hiện. Xem xét sự khác biệt phát sinh khi chọn cách nhìn phần tử tập trung của một mạch thay vì cách nhìn điện động lực của cùng một thiết bị. Một ví dụ khác, chẩn đoán y khoa nhìn dưới dạng các quy tắc (ví dụ, MYCIN) sẽ khác biệt rõ rệt so với nhiệm vụ tương tự khi nhìn dưới dạng khung (ví dụ, INTERNIST). Khi MYCIN nhìn thấy thế giới y khoa được tạo nên bởi các liên kết kinh nghiệm kết nối triệu chứng với bệnh, INTERNIST thấy một tập hợp các nguyên mẫu, cụ thể là các bệnh điển hình, được so sánh với trường hợp hiện tại.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ Schank, Roger; Abelson, Robert (1977). Scripts, Plans, Goals, and Understanding: An Inquiry Into Human Knowledge Structures. Lawrence Erlbaum Associates, Inc.
  2. ^ Doran, J. E.; Michie, D. (20 tháng 9 năm 1966). “Experiments with the Graph Traverser program”. Proc. R. Soc. Lond. A. 294 (1437): 235–259. Bibcode:1966RSPSA.294..235D. doi:10.1098/rspa.1966.0205. S2CID 21698093.
  3. ^ Green, Cordell. Application of Theorem Proving to Problem Solving (PDF). IJCAI 1969.
  4. ^ Hewitt, C., 2009. Inconsistency robustness in logic programs. arXiv preprint arXiv:0904.3036.
  5. ^ Kowalski, Robert (1986). “The limitation of logic”. Proceedings of the 1986 ACM fourteenth annual conference on Computer science - CSC '86. tr. 7–13. doi:10.1145/324634.325168. ISBN 0-89791-177-6. S2CID 17211581.
  6. ^ Nilsson, Nils (1995). “Eye on the Prize”. AI Magazine. 16: 2.
  7. ^ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems. Addison-Wesley. ISBN 978-0-201-10686-2.
  8. ^ Marvin Minsky, A Framework for Representing Knowledge, MIT-AI Laboratory Memo 306, June, 1974
  9. ^ Mettrey, William (1987). “An Assessment of Tools for Building Large Knowledge-Based Systems”. AI Magazine. 8 (4). Bản gốc lưu trữ ngày 10 tháng 11 năm 2013. Truy cập ngày 24 tháng 12 năm 2013.
  10. ^ Brachman, Ron (1978). “A Structural Paradigm for Representing Knowledge” (PDF). Bolt, Beranek, and Neumann Technical Report (3605). Lưu trữ (PDF) bản gốc ngày 30 tháng 4 năm 2020.
  11. ^ MacGregor, Robert (tháng 6 năm 1991). “Using a description classifier to enhance knowledge representation”. IEEE Expert. 6 (3): 41–46. doi:10.1109/64.87683. S2CID 29575443.
  12. ^ McCarthy, J., and Hayes, P. J. 1969. Some philosophical problems from the standpoint of artificial intelligence tại Wayback Machine (lưu trữ tháng 8 25, 2013). In Meltzer, B., and Michie, D., eds., Machine Intelligence 4. Edinburgh: Edinburgh University Press. 463–502.
  13. ^ Lenat, Doug; R. V. Guha (tháng 1 năm 1990). Building Large Knowledge-Based Systems: Representation and Inference in the Cyc Project. Addison-Wesley. ISBN 978-0201517521.
  14. ^ Smith, Brian C. (1985). “Prologue to Reflections and Semantics in a Procedural Language”. Trong Ronald Brachman and Hector J. Levesque (biên tập). Readings in Knowledge Representation. Morgan Kaufmann. tr. 31–40. ISBN 978-0-934613-01-9.
  15. ^ a b Berners-Lee, Tim; Hendler, James; Lassila, Ora (17 tháng 5 năm 2001). “The Semantic Web – A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities”. Scientific American. 284 (5): 34–43. doi:10.1038/scientificamerican0501-34. Bản gốc lưu trữ ngày 24 tháng 4 năm 2013.
  16. ^ a b Knublauch, Holger; Oberle, Daniel; Tetlow, Phil; Wallace, Evan (9 tháng 3 năm 2006). “A Semantic Web Primer for Object-Oriented Software Developers”. W3C. Lưu trữ bản gốc ngày 6 tháng 1 năm 2018. Truy cập ngày 30 tháng 7 năm 2008.
  17. ^ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems. Addison-Wesley. tr. 6–7. ISBN 978-0-201-10686-2.
  18. ^ Levesque, H.J. and Brachman, R.J., 1987. Expressiveness and tractability in knowledge representation and reasoning 1. Computational intelligence, 3(1), pp.78-93.
  19. ^ Levesque, Hector; Brachman, Ronald (1985). “A Fundamental Tradeoff in Knowledge Representation and Reasoning”. Trong Ronald Brachman and Hector J. Levesque (biên tập). Readings in Knowledge Representation. Morgan Kaufmann. tr. 49. ISBN 978-0-934613-01-9. The good news in reducing KR service to theorem proving is that we now have a very clear, very specific notion of what the KR system should do; the bad new is that it is also clear that the services can not be provided... deciding whether or not a sentence in FOL is a theorem... is unsolvable.
  20. ^ Russell, Stuart J.; Norvig, Peter. (2021). Artificial Intelligence: A Modern Approach (ấn bản thứ 4). Hoboken: Pearson. tr. 282. ISBN 978-0134610993. LCCN 20190474.
  21. ^ a b c d e f g h i j k Davis, Randall; Shrobe, Howard; Szolovits, Peter (Spring 1993). “What Is a Knowledge Representation?”. AI Magazine. 14 (1): 17–33. Lưu trữ bản gốc ngày 6 tháng 4 năm 2012. Truy cập ngày 23 tháng 3 năm 2011.
  22. ^ Macgregor, Robert (13 tháng 8 năm 1999). “Retrospective on Loom”. isi.edu. Information Sciences Institute. Bản gốc lưu trữ ngày 25 tháng 10 năm 2013. Truy cập ngày 10 tháng 12 năm 2013.
  23. ^ Brachman, Ron (1985). “Introduction”. Trong Ronald Brachman and Hector J. Levesque (biên tập). Readings in Knowledge Representation. Morgan Kaufmann. tr. XVI–XVII. ISBN 978-0-934613-01-9.
  24. ^ Bih, Joseph (2006). “Paradigm Shift: An Introduction to Fuzzy Logic” (PDF). IEEE Potentials. 25: 6–21. doi:10.1109/MP.2006.1635021. S2CID 15451765. Lưu trữ (PDF) bản gốc ngày 12 tháng 6 năm 2014. Truy cập ngày 24 tháng 12 năm 2013.
  25. ^ Zlatarva, Nellie (1992). “Truth Maintenance Systems and their Application for Verifying Expert System Knowledge Bases”. Artificial Intelligence Review. 6: 67–110. doi:10.1007/bf00155580. S2CID 24696160.
  26. ^ Levesque, Hector; Brachman, Ronald (1985). “A Fundamental Tradeoff in Knowledge Representation and Reasoning”. Trong Ronald Brachman and Hector J. Levesque (biên tập). Readings in Knowledge Representation. Morgan Kaufmann. tr. 41–70. ISBN 978-0-934613-01-9.
  27. ^ Russell, Stuart J.; Norvig, Peter (2010), Artificial Intelligence: A Modern Approach (3rd ed.), Upper Saddle River, New Jersey: Prentice Hall, ISBN 0-13-604259-7, p. 437-439
  28. ^ Hayes P, Naive physics I: Ontology for liquids. University of Essex report, 1978, Essex, UK.
  29. ^ Davis R, Shrobe H E, Representing Structure and Behavior of Digital Hardware, IEEE Computer, Special Issue on Knowledge Representation, 16(10):75-82.

Đọc thêm

[sửa | sửa mã nguồn]

Liên kết ngoài

[sửa | sửa mã nguồn]