KIẾN TRÚC KBS & CÁC THÀNH PHẦN CỦA ES • Cơ sở tri thức Knowledge Base – KB: có thể dược thu lượm từ sách vở, báo chí, con người … • Động cơ suy diễn Inference Engine: làm rút ra các kết
Trang 1TỔNG QUAN VỀ
HỆ CHUYÊN GIA
Overview of Expert Systems
Trang 2MỤC TIÊU
• Hiểu hệ chuyên gia là gì, ưu điểm và nhược điểm của
hệ chuyên gia
• Nắm vững các giai đoạn phát triển một hệ chuyên gia
• Biết kiểm tra các đặc trưng chung của một hệ chuyên gia
• Biết kiểm tra cấu trúc của một hệ chuyên gia dựa trên quy tắc
• Nắm được sự khác nhau giữa các mô hình thủ tục và không thủ tục
Trang 3HỆ CHUYÊN GIA LÀ GÌ?
“Một hệ chuyên gia (ES) là một hệ thống máy tính
tranh đua hoặc hành động với tất cả sự tôn trọng với khả năng tạo quyết định của chuyên gia con người”
“An expert system is a computer system that
emulates, or acts in all respects, with the
decision-making capabilities of a human expert.”
Professor Edward Feigenbaum
Stanford University
Trang 4CÁC LĨNH VỰC CỦA AI
Trang 6KIẾN TRÚC KBS & CÁC THÀNH PHẦN CỦA ES
• Cơ sở tri thức (Knowledge Base – KB): có thể dược thu lượm từ sách vở, báo chí, con người …
• Động cơ suy diễn (Inference Engine): làm rút ra các kết luận từ KB
• Giao diện người dùng (user interface)
Trang 8ƯU ĐIỂM CỦA HỆ CHUYÊN GIA
• Tăng giá trị sử dụng
• Giảm giá thành
• Giảm hiểm nguy
• Hiệu năng
• Nhiều sự tinh thông
• Tăng độ tin cậy
• Giải thích rõ ràng
• Đáp ứng nhanh
• Vững trãi, không bị xúc cảm, đáp ứng đầy đủ mọi lúc
• Người giám hộ thông minh, cơ sở dữ liệu thông minh
Trang 9NHƯỢC ĐIỂM CỦA HỆ CHUYÊN GIA
• Các hệ chuyên gia kiểu mẫu không thể khái quát hoá các tình huống mới như cách con người có thể
• Thu lượm tri thức tiêu tốn thời gian và sức lực và là nhiệm vụ khó khăn trong xây dựng một hệ chuyên gia
Trang 10BIỂU DIỄN TRI THỨC
• Tri thức trong một hệ chuyên gia có thể được biểu
diễn bởi một số cách, bao gồm các quy tắc IF-THEN
• Một số vấn đề cần chú ý khi biểu diễn tri thức:
– Tính dư thừa
– Tính mâu thuẫn
– Tính chu trình trong tập quy tắc
Trang 11KỸ NGHỆ TRI THỨC
• Đóng vai trò quan trọng trong xây dựng một hệ
chuyên gia
• Kỹ sư tri thức (knowledge engineer): đối thoại với
chuyên gia con người để làm lộ ra tri thức
• Kỹ sư tri thức (knowledge engineer): mã hoá tri thức trong cơ sở tri thức
• Chuyên gia đánh giá ES và cho kỹ sư tri thức các
bình luận
Trang 12PHÁT TRIỂN MỘT HỆ CHUYÊN GIA
Trang 13PHÁT TRIỂN MỘT HỆ CHUYÊN GIA
• Dưa vào các nghiên cứu nhận thức: con người xử lý thông tin như thế nào?
Trang 14XEM XÉT XÂY DỰNG CÁC HỆ CHUYÊN GIA
• Vấn đề có thể được giải quyết hiệu quả bởi lập trình thoả thuận?
• Lĩnh vực được giới hạn rõ ràng?
• Có cần thiết và đòi hỏi một hệ chuyên gia?
• Có chuyên gia mong muốn hợp tác ? (các lỗi của họ có thể bị lộ tẩy, các bí mật của họ bị lộ, họ có các ý tưởng
Trang 15NGÔN NGỮ, SHELLS & CÔNG CỤ
• Chương trình máy tính thoả thuận nói chung giải
quyết vấn đề với lời giải thuật toán
• Sự gắn bố chặt chẽ giữa dữ liệu và tri thức dẫn đến điiều khiển cứng, điều khiển luồng
• Nhiều ngôn ngữ ra đời sớm hơn phục vụ trong phạm
vi hạn chế
• Ngôn ngữ hệ chuyên gia thuộc hậu thế hệ thứ ba
• Ngôn ngữ thủ tục như C nhắm vào kỹ thuật biểu diễn
dữ liệu Java nhắm vào trừu tượng dữ liệu
• Ngôn ngữ hệ chuyên gia nhắm vào biểu diễn tri thức
Trang 16CÁC PHẦN TỬ CỦA HỆ CHUYÊN GIA
• Giao diện người dùng: cơ chế cho phép liên lạc giữa người dùng và hệ thống
• Khả năng dễ khảo sát: giải thích lập luận của hệ
chuyên gia cho người dùng
• Bộ nhớ làm việc: cơ sở dữ liệu tổng thể các sự kiện được dùng bởi các quy tắc
• Động cơ suy diễn: thực hiện các suy diễn (quyết định những quy tắc nào thoả mãn và thực hiện ưu tiên)
• Agenda: danh sách ưu tiên các quy tắc
• Khả năng dễ dàng thu lượm tri thức
• Cơ sở tri thức
Trang 17CẤU TRÚC HỆ CHUYÊN GIA DỰA TRÊN QUY
TẮC
Trang 18CÁC PHƯƠNG PHÁP SUY DIỄN CHÍNH
• Dây chuyền tiến (forward chaining): lập luận từ sự kiện đến kết luận
• Dây chuyền lùi (backward chaining): lập luận đi
ngược từ giả thiết (một kết luận tiềm năng) để chứng minh sự kiện hỗ trợ cho giả thiết
Trang 19CƠ SỞ TOÁN HỌC CỦA CÁC HỆ DỰA TRÊN
QUY TẮC
• Các hệ hậu sản suất (Post Production Systems)
– Ý tưởng: hệ toán học/logic đơn giản là một tập các quy tắc xác định làm thế nào để thay đổi một chuỗi các ký hiệu
thành một chuỗi ký hiệu
– Giới hạn: thiếu cơ chế điều khiển hướng dẫn áp dụng các quy tắc
• Thuật toán Markov
– Một dãy các sản suất được áp dụng theo thứ tự hoặc tính ưu tiên đối với một chuỗi input
– Quy tắc có độ ưu tiên cao được áp dụng trước
– Hiệu quả đối với các hệ có nhiều quy tắc
Trang 20CƠ SỞ TOÁN HỌC CỦA CÁC HỆ DỰA TRÊN
QUY TẮC (cont.)
• Thuật toán RETE
– Các hàm như một mạng: giữ nhiều thông tin
– Thời gian đáp ứng nhanh hơn nhiều, khai hoả quy tắc diễn
ra được so sánh với nhóm các quy tắc IF-THEN, chúng
được kiểm tra từng cái một trong chương trình thoả thuận – Ưu điểm: cấu trúc đơn giản
– Nhược điểm: đòi hỏi không gian bộ nhớ lớn
Trang 21– Không phụ thuộc vào người lập trình
– Lập trình khai báo: đích tách biệt với phương pháp đạt
được nó
– Lập trình hương đối tượng: nửa khai báo, nửa lệnh
– Kế thừa
Trang 22NGÔN NGỮ KHÔNG THỦ TỤC
Trang 23HỆ NƠ RON NHÂN TẠO (ANS)
• Dựa trên cách bộ não xử lý thông tin
• Lời giải mô hình: rèn luyện các nơ ron mô phỏng trong một mạng
Trang 25CẤU TRÚC HỆ DỰA TRÊN
TRI THỨC
Knowledge Based Systems Structure
Trang 26NỘI DUNG
• Các thành phần hệ thống – góc nhìn người dùng cuối
• Các thành phần hệ thống – góc nhìn kỹ sư tri thức
• Các thành phần hệ thống – góc nhìn người xây dựng công cụ
• Công cụ dựa trên tri thức:
– Forward chaining: JESS, FuzzyCLIPS
– Backward chaining: PROLOG
Trang 27CÁC THÀNH PHẦN HỆ THỐNG – end-user’s view
Intelligent program
Database
User Interface User
Trang 28MỤC TIÊU GIAO DIỆN NGƯỜI DÙNG
• Cho phép chương trình thông minh đặt các câu hỏi cho người dùng về vấn đề sắp tới
• Cung cấp các giải thích về tại sao chương trình thông minh hỏi các câu hỏi đặc biệt
• Cho phép người dùng truy vấn chương trình thông minh tại sao và như thế nào một quyết định cụ thể
được tạo ra
• Trình bày các kết quả dẫn xuất (text, đồ hoạ, …)
• Cho phép người dùng lưu / in các kết quả
Trang 29THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG
• Phải tương hợp với người dùng đích
• Giao diện người dùng được thiết kế không thích hợp
có thể làm dự án KBS thất bại
• Người dùng cuối được tư vấn về những gì họ cần ở KBS
Trang 30CƠ SỞ DỮ LIỆU ĐẶC TẢ VẤN ĐỀ
• Chứa đựng toàn bộ thông tin
– Về vấn đề hiện hành (được cung cấp bởi người dùng) – Các kết luận (cuối & trung gian) được dẫn xuất bởi hệ thông minh
• Các sự kiện / dữ liệu có thể
– Được dẫn xuất từ hệ quản trị dữ liệu
– Được tập hợp từ các sensors
– Trả lời của người dùng cuối
• Dữ liệu được mong đợi là phải chính xác
Trang 31CÁC THÀNH PHẦN HỆ THỐNG – KE’s view
Knowledge base
Inference engine
Developer’s interface
Test case database
Knowledge acquisition tool Development shell Intelligent program
Trang 32CHƯƠNG TRÌNH THÔNG MINH
• Được phát triển cho người dùng cuối
Trang 33SHELL cho phát triển hệ thống
• Hỗ trợ KE trong cấu trúc, gỡ rối, sửa đổi mở rộng tri thức thu lượm được từ chuyên gia
• Gồm ba thành phần:
– Công cụ thu lượm tri thức
– Cơ sở dữ liệu kiểm thử
– Giao diện người phát triển hệ thống
Trang 34CÔNG CỤ THU LƯỢM TRI THỨC
• Hoạn động như bộ soạn thảo KB
• Trợ giúp KE định vị lỗi
• Lưu giữ các bản ghi của tất cả các sửa đổi đã dược tạo ra, người tạo ra chúng, khi nào và tại sao chúng được tạo ra
Trang 35CƠ SỞ DỮ LIỆU KIỂM THỬ
• Chứa các vấn đề mẫu đã được thực hiện thành công trên KB
• Hỗ trợ KE kiểm chứng nếu KB có thay đổi nhưng không làm suy thoái tính đúng đắn tổng thể của KB
Trang 36GIAO DIỆN NGƯỜI PHÁT TRIỂN HỆ THỐNG
• Tương tự giao diện người dùng cuối
• Cho phép KE rèn luyện KB khi nó bị sửa đổi và kiểm thử
• KE có thể đặt ra các câu hỏi cho hệ thống:
– Phần nào của KB đang được sử dụng
– Tại câu hỏi lại được đặt ra
– Tại sao và như thế nào các kết quả được dẫn xuất
– …
Trang 37CÁC THÀNH PHẦN HỆ THỐNG – Tool Builder’s
view
• Người xây dựng công cụ cung cấp các công cụ trợ
giúp KE trong xây dựng KBS
• Có góc nhìn giống với KE nhưng khác ở mục tiêu
• Liên quan tới:
– Chọn sơ đồ biểu diễn tri thức phù hợp
– Chọn sơ đồ lập luận thích hợp cho động cơ suy diễn (dây chuyền tiến, dây chuyền lùi, hai phía)
– Xử lý tri thức, dữ liệu không chính xác
– Lời giải được dẫn xuất: tất cả hai chỉ lời giải tốt nhất
– Các lý giải chi tiết đến mức nào?
– Duy trì DB kiểm thử ?
Trang 38– Tính chi tiết của bộ soạn thảo tri thức
– Giao diện người dùng cuối cung cấp những đặc trưng gì?
Trang 39CÔNG CỤ DỰA TRÊN TRI THỨC
• Hai phương pháp phát triển KBS:
– Sử dụng “công cụ phát triển” – shell của hệ chuyên gia: gói phần mềm chứa các thành phần và đặc điểm được mô tả trong KE’s view
– Phát triển hệ thông từ đầu
• Tốn thời gian, sự nỗ lực hơn
• KE cũng là người xây dựng công cụ
Trang 40SHELL
• Shell quy nạp (ID3 )
• Shell dựa trên quy tắc
• Shell hỗn hợp
• Shell mục đích riêng
Trang 42BIỂU DIỄN TRI THỨC & QUẢN TRỊ TRI THỨC
Knowledge Representation &
Management
Trang 43NỘI DUNG
• Tri thức & biểu diễn tri thức
• Các phương pháp biểu diễn tri thức
– Quy tắc sản xuất (Production Rules)
– Logic
– Mạng ngữ nghĩa (Semantic Nets)
– Shemata và Khung (Shemata and Frame)
– Ontology
Trang 44TRI THỨC & BIỂU DIỄN TRI THỨC
• Tri thức (knowledge)?
Knowledge: the psychological result of perception and
learning and reasoning (English – English Dictionary)
Tri thức là kết quả tâm lý của nhận thức, học tập và lập
luận
Phân loại tri thức
– Tri thức thủ tục: mô tả cách thức giải quyết một vấn đề
Loại tri thức này đưa ra giải pháp để thực hiện một công việc nào đó
– Tri thức khai báo: cho biết một vấn đề được thấy như thế
nào Loại tri thức này bao gồm các phát biểu đơn giản, dưới dạng các khẳng định logic đúng hoặc sai
Trang 45TRI THỨC & BIỂU DIỄN TRI THỨC (cont.)
– Siêu tri thức: mô tả tri thức về tri thức Loại tri thức này
giúp lựa chọn tri thức thích hợp nhất trong số các tri thức khi giải quyết một vấn đề
– Tri thức heuristic: mô tả các "mẹo" để dẫn dắt tiến trình
lập luận Tri thức heuristic còn được gọi là tri thức kinh
nghiệm do không bảm đảm hoàn toàn chính xác về kết quả giải quyết vấn đề
– Tri thức có cấu trúc: mô tả tri thức theo cấu trúc Loại tri
thức này mô tả mô hình tổng quan hệ thống theo quan điểm của chuyên gia, bao gồm khái niệm, khái niệm con, và các đối tượng; diễn tả chức năng và mối liên hệ giữa các tri
thức dựa theo cấu trúc xác định
Trang 46TRI THỨC & BIỂU DIỄN TRI THỨC (cont.)
• Bốn tính chất của một hệ thống biểu diễn tri thức tốt trong một lĩnh vực cụ thể:
– Thích hợp biểu diễn (Representation Adequacy): khả năng
biểu diễn tất cả các kiểu tri thức cần thiết cho lĩnh vực
– Thích hợp suy diễn (Inferential Adequacy): khả năng thao tác các cấu trúc biểu diễn theo cách sao cho dẫn xuất ra các cấu trúc mới tương ứng với tri thức mới được suy diễn từ tri thức
cũ
– Hiệu quả suy diễn (Inferential Efficiency): khả năng sát nhập vào cấu trúc tri thức, thông tin bổ xung, thông tin này có thể được dùng đến để hướng các cơ chế suy diễn theo hướng hứa hẹn nhất
– Hiệu quả thu được (Acquisitional Effeciency): khả năng thu nhận dễ dàng thông tin mới (xen tri thức mới vào cơ sở tri
thức bởi con người, chương trình có khả năng điều khiển việc thu lượm tri thức…)
Trang 47VÍ DỤ BIỂU DIỄN TRI THỨC
Trang 48CÁC PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC
• Quy tắc sản xuất (Production Rules)
• Logic
• Mạng ngữ nghĩa (Semantic Nets)
• Shemata và Khung (Shemata and Frame)
• Ontology
Trang 49QUY TẮC SẢN XUẤT – PR
• Được sử dụng thường xuyên để công thức hoá tri
thức trong các hệ chuyên gia
• Một biến thể hình thức của Backus – Naur form
(BNF)
– Siêu ngôn ngữ cho định nghĩa cú pháp ngôn ngữ
– Một văn phạm=tập các đầy đủ, không mơ hồ các quy tắc sản xuất
– Cây phân tích=biểu diễn đồ thị của một câu trong ngôn ngữ – Chỉ cung cấp mô tả cú pháp của ngôn ngữ
– Xuất phát từ ý tưởng: tri thức có thể được cấu trúc bởi cặp
<điều kiện> - <hành động>
Trang 50QUY TẮC SẢN XUẤT - PR (cont.)
• Ví dụ: Bài toán đong dầu Có ba bình không phân độ, dung tích lần lượt là 7, 5, 3 lít Đầu tiên bình 7 chứa đầy dầu Bài toán: làm thế nào để đong được đúng
một lit dầu?
Biểu diễn bài toán trong không gian trạng thái:
một trạng thái là một bộ ba (x, y, z) trong đó x, y, z lần lượt chỉ số lít dầu có trong bình 7, 5, 3
trạng thái ban đầu là (7, 0, 0)
trạng thái kết thúc {(x, y, z) | x = 1 or y = 1 or z = 1} Các “toán tử” hợp lệ: rót dầu từ một bình không rỗng sang một bình chưa đầy
Trang 51QUY TẮC SẢN XUẤT - PR (cont.)
• Bảng các toán tử hợp lệ:
C(x, y) x > 0; y < 5 x = max(0, x + y – 5); y = min(x+y, 5) C(x, z) x > 0; z < 3 x = max(0, x+ z – 3); z = min(x+z, 3) C(y, x) y > 0; x < 7 x = x + y; y = 0
C(y, z) y > 0; z < 3 y = max(0, y + z – 3); z = min(y+z, 3) C(z, x) z > 0; x < 7 x = x + z, z = 0
C(z, y) z > 0; y < 5 z = max(0, y + z – 5); y = min(y+z, 5)
Trang 52QUY TẮC SẢN XUẤT - PR (cont.)
• Các toán tử có thể biểu diễn dưới dạng quy tắc sản xuất: C(x, y) = if (x>0) && (y<5) then <rót dầu từ x sang y> kết quả là (x=max(0, x+y–5); y=min(x+y, 5))
C(x, z) = if (x>0) && (z<3) then <rót dầu từ x sang z> kết quả là (x=max(0, x+z–3); z=min(x+z, 3))
C(y, x) = if (y>0) then <rót dầu từ y sang x>
kết quả là (x=x+y; y = 0)
C(y, z) = if (y>0) && (z<3) then <rót dầu từ y sang z>
kết quả là (y=max(0, y+z–3); z=min(y+z, 3))
…
Trang 53QUY TẮC SẢN XUẤT - PR (cont.)
• Quy tắc sản xuất thường được ký hiệu dạng:
<điều kiện> <hành động/ kết quả của hành động>
Tập các quy tắc sản xuất của bài toán đong dầu:
(x>0), (y<5) x=max(0, x+y–5), y=min(x+y, 5)
(x>0),(z<3) x=max(0, x+z–3), z=min(x+z, 3)
…
Trang 54QUY TẮC SẢN XUẤT - PR (cont.)
• Ưu điểm:
– ™ Tính biểu cảm / tính thích hợp biểu diễn: các khía cạnh liên quan của tri thức lĩnh vực có thể được phát biểu bằng quy tắc sản xuất, đơn giản, dễ hiểu
– Tính thích hợp suy diễn/ hiệu quả tính toán: dễ dàng xây dựng cơ chế suy luận và giải thích trên các quy tắc sản xuất
– Tính hiệu quả suy diễn, tính hiệu quả thu được: hiệu chỉnh và bảo trì hệ thống tương đối dễ dàng Có thể tích hợp với các quy tắc sản xuất mờ
• Nhược điểm:
– Thực thi đơn giản thường thiếu hiệu quả
– Một số kiểu tri thức không dễ dàng biểu diễn được bằng quy tắc sản xuất
– Khi tập quy tắc lớn, khó khăn để hiểu và bảo trì
Trang 55QUY TẮC SẢN XUẤT - PR (cont.)
• Tối ưu hoá tập các quy tắc A B
– Rút gọn vế phảỉ: xoá bỏ các sự kiện vế phải nếu nó cũng xuất hiện ở vế trái Nếu sau khi rút gọn vế phải trở nên rỗng thì xoá bỏ quy tắc đó khỏi tập các quy tắc
Trang 56QUY TẮC SẢN XUẤT - PR (cont.)
– Nếu trong tập các quy tắc có phần <điều kiện> chứa phần
<điều kiện> của một quy tắc khác thì xoá quy tắc đó đi
Ví dụ trong tập quy tắc có các quy tắc
A B C <hành động>
A C <hành động>
Xoá quy tắc A B C <hành động> khỏi tập các quy tắc
Trang 57QUY TẮC SẢN XUẤT - PR (cont.)
– Nếu trong tập các quy tắc có phần <điều kiện> chứa phần
<điều kiện> của một quy tắc quy tắc dẫn xuất thì xoá quy tắc đó đi
Trang 58QUY TẮC SẢN XUẤT - PR (cont.)
– Nếu một quy tắc có dạng <điều kiện 1 > <điều kiện 2>
<hành động> thì phân rã thành hai quy tắc
<điều kiện 1> <hành động> , <điều kiên 2> <hành động>
Ví dụ: A B C phân rã thành hai quy tắc
A C, B C