Biểu diễn tri thức và suy luận
Lịch sử

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ị 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.
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. 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 logic và Prolog, 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.
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.
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.
Trong khi đó, Marvin Minsky đã phát triển khái niệm khung (frame) vào giữa những năm 1970. 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.
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. 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).
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. 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.
Điểm xuất phát của biểu diễn tri thức là giả 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:
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.