Lĩnh vực trí tuệ nhân tạo nói chung và của hệ chuyên gia nói riêng đã góp phần tạo ra các hệ thống có được những khả năng trí tuệ của con người, có được những tri thức tiên tiến của các
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2MỤC LỤC
MỤC LỤC 2
DANH SÁCH HÌNH VẼ 6
DANH SÁCH BẢNG BIỂU 6
BẢNG TỪ VIẾT TẮT 7
TỪ KHOÁ 7
LỜI CẢM ƠN 8
MỞ ĐẦU 9
CHƯƠNG 1 - HỆ CHUYÊN GIA, CÁC PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC TRONG MÁY TÍNH 13
1.1 HỆ CHUYÊN GIA 13
1.1.1 Định nghĩa 13
1.1.2 Hai yếu tố quan trọng của hệ chuyên gia 13
1.1.3 Lý do xây dựng và phạm vi ứng dụng của hệ chuyên gia 14
1.1.4 Tác dụng của hệ chuyên gia 14
1.1.4.1 Điều khiển 14
1.1.4.2 Thiết kế 15
1.1.4.3 Chẩn đoán 15
1.1.4.4 Giảng dạy 15
1.1.4.5 Diễn giải 16
1.1.4.6 Giám sát 16
1.1.4.7 Lập kế hoạch 16
1.1.4.8 Dự đoán 16
1.1.4.9 Chẩn trị 17
1.1.4.10 Lựa chọn 17
1.1.4.11 Mô phỏng 17
1.1.5 Cấu trúc của một hệ chuyên gia 17
1.1.5.1 Cơ sở tri thức 18
Trang 31.1.5.2 Bộ nhớ làm việc 18
1.1.5.3 Môtơ suy luận 19
1.1.5.4 Phương tiện giải thích 19
1.1.5.5 Giao diện 20
1.1.6 Các đặc tính của hệ chuyên gia 21
1.1.6.1 Tách các tri thức ra khỏi điều khiển 21
1.1.6.2 Tri thức chuyên gia 22
1.1.6.3 Tập trung nguồn chuyên gia 22
1.1.6.4 Lập luận trên các ký hiệu 22
1.1.6.5 Lập luận may rủi 23
1.1.6.6 Lập luận không chính xác 23
1.1.6.7 Khả năng giải 23
1.1.6.8 Độ phức tạp vừa phải của vấn đề 24
1.1.6.9 Chấp nhận sai lầm 24
1.1.7 Các giai đoạn xây dựng một hệ chuyên gia 24
1.2 CÁC PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC 25
1.2.1 Giới thiệu 25
1.2.2 Các loại tri thức 26
1.2.3 Các kỹ thuật biểu diễn tri thức 27
1.2.3.1 Bộ ba Đối tượng - Thuộc tính - Giá trị 27
1.2.3.2 Hệ luật 29
1.2.3.3 Mạng ngữ nghĩa 36
1.2.3.4 Frame 38
1.2.3.5 Logic 42
1.2.4 Một số kiến trúc hệ chuyên gia phổ biến 51
1.2.4.1 Hệ chuyên gia dựa trên luật 51
1.2.4.2 Hệ chuyên gia dựa trên frame 53
KẾT LUẬN CHƯƠNG MỘT 55
CHƯƠNG 2 - CƠ CHẾ SUY LUẬN TRONG HỆ CHUYÊN GIA 56
Trang 42.1 LẬP LUẬN 56
2.1.1 Suy luận theo cánh suy diễn 56
2.1.2 Suy luận quy nạp 57
2.1.3 Suy luận phỏng đoán 57
2.1.4 Suy luận tương tự, loại suy 58
2.1.5 Suy luận theo lẽ thường 58
2.1.6 Suy luận không đơn điệu 59
2.2 SUY DIỄN 60
2.2.1 Modus ponens và modus tollens 60
2.2.2 Giải vấn đề 62
2.2.3 Giải vấn đề một cách tự nhiên 64
2.3 SUY LUẬN TIẾN - LÙI 65
2.3.1 Tổng quan 65
2.3.2 Suy diễn tiến (Forward chaining) 65
2.3.3 Suy luận lùi (backward chaining) 70
2.3.3.1 Suy luận lùi 70
2.3.3.2 Lên lịch các đích 74
2.3.3.3 Các đích do người dùng đặt ra 74
2.3.3.4 Các đích do luật tạo ra 75
2.3.3.5 Cơ chế giải thích trong suy luận lùi 76
2.3.4 Ưu nhược điểm của các kỹ thuật suy luận 76
2.3.4.1 Ưu điểm của suy luận tiến 76
2.3.4.2 Nhược điểm của suy luận tiến 77
2.3.4.3 Ưu điểm của suy luận lùi 77
2.3.4.4 Nhược điểm của suy luận lùi 77
2.3.5 Chọn giữa suy luận tiến và suy luận lùi 77
KẾT LUẬN CHƯƠNG HAI 79
Trang 5CHƯƠNG 3 - THIẾT KẾ, XÂY DỰNG HỆ TRỢ GIÚP KIỂM TOÁN VIÊN PHÁT HIỆN CÁC KHU VỰC RỦI RO CỦA BÁO CÁO TÀI CHÍNH TRONG
QUÁ TRÌNH LẬP KẾ HOẠCH KIỂM TOÁN 80
3.1 ĐẶT VẤN ĐỀ 80
3.2 PHÂN TÍCH THÔNG TIN ĐẦU VÀO 81
3.2.1 Danh sách các chuyên gia 81
3.2.2 Danh mục các rủi ro 82
3.2.3 Danh mục đặc điểm điều tra 82
3.2.4 Bảng các luật xác định rủi ro của chuyên gia 82
3.3 PHÂN TÍCH THÔNG TIN ĐẦU RA 84
3.4 YÊU CẦU KHẢ NĂNG CỦA HỆ THỐNG 84
3.4.1 Yêu cầu của hệ thống 84
3.4.1.1 Đối với kiểm toán viên: 84
3.4.1.2 Đối với đơn vị: 85
3.4.2 Khả năng của hệ thống 85
3.5 TỔ CHỨC DỮ LIỆU VÀ SƠ ĐỒ THIẾT KẾ HỆ THỐNG 85
3.5.1 Hình thức biểu diễn dữ liệu 85
3.5.2 Phương án tổ chức dữ liệu 86
3.6 THUẬT TOÁN PHÁT HIỆN RỦI RO CỦA BÁO CÁO TÀI CHÍNH 86
3.7 GIAO DIỆN CỦA HỆ THỐNG 88
3.7.1 Giao diện chính 88
3.7.2 Cập nhật cơ sở tri thức xác định khả năng rủi ro 90
3.7.3 Xác định rủi ro 91
KẾT LUẬN 92
TÀI LIỆU THAM KHẢO 93
Trang 6DANH SÁCH HÌNH VẼ
Hình 1.1: So sánh về việc giải vấn đề giữa chuyên gia và hệ chuyên gia 18
Hình 1.2: Các thành phần của một hệ chuyên gia 21
Hình 1.3: Các giai đoạn xây dựng hệ chuyên gia 25
Hình 1.4: Biểu diễn tri thức theo bộ ba O - A - V 28
Hình 1.5: Ví dụ do suy diễn dựa trên luật 30
Hình 1.6: Một phần nội dung trong bộ nhớ cho biết tuổi của các các nhân 33
Hình 1.7: Tập các luật liên quan đến việc hỏng xe 35
Hình 1.8 Khí cầu GoodYear thể hiện trên mạng ngữ nghĩa 37
Hình 1.9 Cấu trúc frame 39
Hình 1.10: Nhiều mức của frame mô tả quan hệ phức tạp hơn 40
Hình 1.11: Tay máy và các khối hộp 48
Hình 1.12 Kiến trúc hệ chuyên gia dựa trên luật 53
Hình 2.1: Các hoạt động của hệ thống suy diễn tiến 66
Hình 2.2: Các bước suy diễn lùi 72
Hình 2.3 Các bước xác định lỗi trong mười module 75
Hình 3.1 Sơ đồ dữ liệu quan hệ của hệ thống 86
Hình 3.2 Giao diện chính của chương trình 88
Hình 3.3 Cập nhật danh mục đặc điểm xác định khả năng rủi ro 89
Hình 3.4 Giao diện chức năng cập nhật cơ sở tri thức 90
Hình 3.5 Giao diện chức năng xác định rủi ro 91
DANH SÁCH BẢNG BIỂU Bảng 1.1 Ví dụ minh họa về O-A-V 29
Bảng 1.2 Một Frame xe hơi 40
Bảng 1.3 Frame mô tả con voi 42
Bảng 1.4 Các phép toán logic và các kí hiệu sử dụng 42
Bảng 1.5 Bảng chân lí với các giá trị Đúng (T), Sai (F) 43
Trang 7Bảng 3.1 Cấu trúc thiết kế bảng chuyên gia 82
Bảng 3.2 Cấu trúc thiết kế bảng luật xác định khu vực rủi ro 83
Bảng 3.3 Ví dụ về dữ liệu trong bảng luật xác định khu vực rủi ro 83
Bảng 3.4 Cấu trúc thiết kế bảng luật xác định khả năng rủi ro 84
BẢNG TỪ VIẾT TẮT
Bộ ba đối tƣợng - thuộc tính - giá trị O-A-V Object-Attribute-Values
TỪ KHOÁ
Expert System, Hệ chuyên gia, Cơ sở tri thức, Biểu diễn tri thức, Suy diễn tiến, Suy diễn lùi, Kiểm toán, Báo cáo tài chính, Khu vực rủi ro, Khả năng rủi ro
Trang 8MỞ ĐẦU
Thế giới ngày nay phát triển mạnh mẽ với các hoạt động vô cùng đa dạng và phức tạp đòi hỏi những khả năng giải quyết các nhiệm vụ ở mức độ trí tuệ ngày càng cao Lĩnh vực trí tuệ nhân tạo nói chung và của hệ chuyên gia nói riêng đã góp phần tạo ra các hệ thống có được những khả năng trí tuệ của con người, có được những tri thức tiên tiến của các chuyên gia để giải quyết các vấn đề phức tạp trong đời sống xã hội Như P.Winson một chuyên gia nổi tiếng về trí tuệ nhân tạo đã nhấn mạnh:
“Mục đích chính của trí tuệ nhân tạo là làm cho các máy tính điện tử thông minh hơn, có ích hơn và giúp khám phá các quy luật về hoạt động, khả năng trí tuệ của con người Từ đây sẽ tác động trực tiếp làm con người thông minh hơn, hoạt động hiệu quả hơn”
Các hệ chuyên gia đang có sức thu hút mạnh mẽ do những ưu điểm nổi bật của
nó thể hiện ở một số điểm sau:
- Các chương trình hệ chuyên gia ngày càng tỏ ra hữu ích và tiện lợi, đáp ứng được nhu cầu thực tế
- Các chương trình hệ chuyên gia ngày càng tỏ ra có tính khả thi cao
- Các hệ chuyên gia thì không có cá tính vì vậy nó có thể phù hợp với nhiều cá nhân
Trên thế giới, các hệ chuyên gia đã xuất hiện khá sớm và nó đã đi sâu vào đời sống xã hội MYCIN là hệ chuyên gia thành công đầu tiên trên thế giới Nó được xây dựng tại trường tổng hợp Stanford (Mỹ) vào giữa những năm bảy mươi nhằm giúp các thày thuốc chẩn đoán các bệnh do vi khuẩn Vấn đề chẩn bệnh thực chất là quá trình so sánh các triệu chứng của bệnh nhân với các triệu chứng của từng loại bệnh để tìm ra loại bệnh thích ứng Vấn đề nan giải là ở chỗ các thày thuốc khó lòng
mà chẩn đoán được nhanh và đúng tất cả các loại bệnh có thể MYCIN thoả mãn yêu cầu đó bằng các kết luận đáng tin cậy
Trang 9Một ví dụ khác là hệ chuyên gia hiện đã đứng vững trên thị trường trong nhiều năm trước đây là PROSPECTOR, do Richard Duds, Peter Hard và Rene Reboh xây dựng PROSPECTOR là một hệ chuyên gia trong lĩnh vực địa chất Chương trình này có nhiều dạng khác nhau, trong đó có chương trình phát hiện mỏ dầu, khí đốt tự nhiên và khí heli
Ở nước ta, theo như những thông tin mà tôi được biết, đã có một số tác giả xây dựng những hệ chuyên gia trong các lĩnh vực như y học, thiết kế tự động hóa, giáo dục đào tạo, dự báo kinh tế Một vài ứng dụng đã thực sự có hiệu quả, tuy nhiên, tính phổ cập và đa dạng của những hệ chuyên gia tại Việt Nam không lớn Trên bình diện khác, việc ứng dụng thành quả của những hệ chuyên gia đã thành công trên thế giới ở Việt Nam cũng không được thực hiện Do vậy, những người làm công nghệ thông tin, những nhà quản lý và những cơ sở sản xuất cần phải kết hợp chặt chẽ với nhau để tạo ra những sản phẩm tin học có giá trị thúc đẩy đời sống xã hội
Xuất phát từ những lợi ích to lớn của hệ chuyên gia và từ nhu cầu thực tế chúng tôi chọn đề tài theo hướng làm ra một sản phẩm cụ thể để ứng dụng vào công tác chuyên môn
Tại thời điểm mà tôi thực hiện luận văn này, Việt Nam đang đứng trước cơ hội lớn gia nhập tổ chức thương mại thế giới (WTO), những thời cơ cũng như thách thức đang rất gần với các doanh nghiệp của Việt Nam Để nâng cao năng lực cạnh tranh, tăng tốc phát triển và thu hút được các nguồn vốn đầu tư mỗi doanh nghiệp phải minh bạch hóa hệ thống tài chính kế toán của mình Và các công ty kiểm toán độc lập sẽ được lựa chọn để làm việc này Chúng ta đã có khá nhiều kiểm toán viên
có chứng chỉ của Việt Nam cũng như quốc tế, nhưng số lượng này vẫn chưa đáp ứng được nhu cầu Hơn nữa, kinh nghiệm và trình độ của các kiểm toán viên trong các công ty kiểm toán là không đồng đều
Chúng tôi vẫn thường tự đặt ra những câu hỏi:
- Làm thế nào để sử dụng được một cách rộng rãi các tri thức kiểm toán kế toán của các chuyên gia trong tất cả các công ty kiểm toán?
Trang 10- Làm thế nào để nâng cao trình độ chuyên môn của đội ngũ trợ lý kiểm toán
và nhất là các kiểm toán viên mới vào nghề
Có nhiều cách khác nhau để tìm câu trả lời cho các câu hỏi trên Cách giải quyết
của chúng tôi là xây dựng một chương trình “Hệ trợ giúp kiểm toán viên phát
hiện các khu vực rủi ro của báo cáo tài chính trong quá trình lập kế hoạch kiểm toán” Việc kiểm tra tất cả các khoản mục của một báo cáo tài chính đối với
kiểm toán viên là không thể thực hiện trong một thời gian có giới hạn Trên cơ sở một thông tin thực tế của đơn vị được kiểm toán, thông qua chương trình kiểm toán viên có thể “nhờ” các chuyên gia nổi tiếng trong lĩnh vực chuyên môn phát hiện ra các khu vực rủi ro Từ kết luận khu vực rủi ro của các chuyên gia và dựa trên những nhận định của mình, kiểm toán viên có thể nhanh chóng đưa ra một kết luận tốt về các khu vực rủi ro cũng như khả năng rủi ro của đơn vị và có những thủ tục kiểm tra thích hợp
Tìm hiểu các phương pháp biểu diễn tri thức, các kỹ thuật suy diễn thường sử dụng trong hệ chuyên gia để cuối cùng xây dựng nên một chương trình hệ chuyên gia ứng dụng trong kiểm toán báo cáo tài chính: Trợ giúp kiểm toán viên phát hiện các khu vực rủi ro của báo cáo tài chính trong quá trình lập kế hoạch kiểm toán
Phân tích, đánh giá ưu khuyết của các phương pháp biểu diễn tri thức, các cơ chế suy diện trong hệ chuyên gia Vận dụng để xây dựng một chương trình ứng dụng vào trong thực tế của việc xác định các khu vực rủi ro và đưa ra các thủ tục kiểm tra thích hợp
Chúng tôi sử dụng phương pháp frame để biểu diễn tri thức và xây dựng một chương trình ứng dụng trong việc phán đoán các khu vực rủi ro của một báo cáo tài chính và đưa ra các thủ tục kiểm tra thích hợp
Trang 11Luận văn gồm khoảng 100 trang Ngoài các phần phụ lục, tài liệu tham khảo và các trang hình minh hoạ, luận văn gồm các phần và nội dung chính như sau:
Phần mở đầu đặt vấn đề về mục đích chọn đề tài, tính khoa học và tính thực tiễn (tính thời sự) của đề tài Bố cục và nội dung chính của luận văn cùng các kết quả chính mà luận văn đạt được
Chương 1: Gồm một số nội dung:
- Khái niệm hệ chuyên gia, vai trò của hệ chuyên gia trong thực tế đời sống
- Cấu trúc của hệ chuyên gia
- Các đặc tính của hệ chuyên gia
- Các giai đoạn xây dựng hệ chuyên gia
- Các phương pháp biểu diễn tri thức
Chương 2: Đây là chương cơ bản nhất của luận văn Toàn bộ nội dung chương
đi sâu vào giới thiệu và phân tích các phương pháp suy luận sử dụng trong việc xây dựng môtơ suy diễn - được coi là trái tim của hệ chuyên gia
Chương 3: Trình bày một nghiên cứu: “Hệ trợ giúp kiểm toán viên phát hiện các khu vực rủi ro của báo cáo tài chính trong quá trình lập kế hoạch kiểm toán”
Phần kết luận: Chủ yếu đánh giá những mặt mà luận văn đã đạt được, những hạn chế và hướng phát triển của đề tài
6 PHƯƠNG PHÁP NGHIÊN CỨU
Nghiên cứ các cơ sở khoa học của hệ chuyên gia như: Các phương pháp biểu diễn tri thức và các phương pháp suy luận thường dùng trong hệ chuyên gia từ đó xây dựng một chương trình ứng dụng trong thực tế
Trang 12CHƯƠNG 1 - HỆ CHUYÊN GIA, CÁC PHƯƠNG PHÁP
BIỂU DIỄN TRI THỨC TRONG MÁY TÍNH
đủ của chuyên gia con người đối với giải pháp của họ” [3,15]
1.1.2 Hai yếu tố quan trọng của hệ chuyên gia
Hai yếu tố quan trọng của hệ chuyên gia là tri thức chuyên gia và lập luận Hệ thống có hai khối chính là cơ sở tri thức và môtơ suy luận [5]
Cơ sở tri thức: Chứa các tri thức chuyên sâu về lĩnh vực như chuyên gia Cơ sở
này gồm các sự kiện, các luật, các khái niệm và các quan hệ Người ta thể hiện các tri thức này ở dạng thích hợp
Môtơ suy luận: Là bộ xử lý tri thức được mô hình hoá theo cách lập luận của
chuyên gia Môtơ hoạt động trên thông tin các vấn đề đang xét, so sánh với tri thức lưu trong cơ sở tri thức rồi rút ra kết luận hay bình luận Như vậy người ta cần có kỹ năng về suy diễn
Tóm lại, công thức cơ bản của Wirth trong lập trình là:
Thuật giải + Cấu trúc dữ liệu = Chương trình
Với hệ chuyên gia là:
Tri thức + Suy luận = Hệ chuyên gia
Trang 131.1.3 Lý do xây dựng và phạm vi ứng dụng của hệ chuyên gia
- Hệ chuyên gia có thể hoạt động như một chuyên gia trong việc truy tìm thông tin từ nhiều nguồn, từ nhiều chuyên gia
- Hệ chuyên gia giữ lâu dài các tri thức chuyên gia, ngay cả khi chuyên gia mất đi
- Hệ chuyên gia cho kết quả bền vững, không bị cảm tính và thất thường như con người
- Tốc độ hệ chuyên gia tỏ ra ưu việt, nhất là xử lý nhiều vấn đề cùng một lúc
- Công việc của chuyên gia là cao và có xu hướng tăng lên, trong khi giá hệ chuyên gia giảm [5][7,9]
Một vài lý do để hệ chuyên gia được phát triển nhằm thay thế các chuyên gia là:
- Người ta cần có chuyên gia ngày cả ngoài giờ hay tại những nơi xa nguy hiểm
- Việc tự động hoá công việc trong dây chuyền cần đến chuyên gia, mà con người không thể đáp ứng được
- Cần tạo điều kiện cho các chuyên gia nghỉ ngơi và khi cần đến chuyên gia có thể thuê với giá cao
Người ta xây dựng hệ chuyên gia để trợ giúp bản thân chuyên gia do nhu cầu:
- Hỗ trợ chuyên gia trong công việc nhỏ để nâng cao năng suất
- Hỗ trợ chuyên gia trong công việc phức tạp để quản lý sự phức tạp một cách hiệu quả
- Dùng lại các tri thức chuyên gia khi không còn nhớ được [5][7,11]
1.1.4 Tác dụng của hệ chuyên gia
1.1.4.1 Điều khiển
Các hệ thống điều khiển quản lý theo cách phù hợp các hành vi hệ thống, chẳng hạn điều khiển quá trình sản xuất hay điều trị bệnh nhân Một chuyên gia về điều khiển lấy các dữ liệu về các thao tác hệ thống, diễn giải dữ liệu này để hiểu về trạng thái hệ thống hay dự đoán trạng thái tương lai, và xác định hay khai thác các điều
Trang 14chỉnh cần thiết Các hệ thống điều khiển cần diễn giải và giám sát để theo dõi hành
vi hệ thống theo thời gian Một vài hệ thống còn dự đoán và lập kế hoạch để tránh các rủi ro đã tiên liệu [5][7,17]
1.1.4.2 Thiết kế
Hệ thống thiết kế có nhiệm vụ xây dựng các đối tượng theo các ràng buộc Chẳng hạn người ta thiết kế hệ thống máy tính với đủ yêu cầu về cấu hình bộ nhớ, tốc độ… Các hệ thống này thường thực hiện các bước công việc; mỗi bước tuân theo các ràng buộc riêng Những bước này phụ thuộc lẫn nhau nên khó thay đổi một bước riêng lẻ Do vậy, loại hệ thống này thường được xây dựng theo kỹ thuật suy diễn không đơn điệu [5][7]
1.1.4.3 Chẩn đoán
Các hệ thống chẩn đoán chỉ ra các chức năng trong hệ thống hay phát hiện lỗi dựa trên các quan sát thông tin Hầu hết các hệ thống chẩn đoán có tri thức về điều kiện, nguyên nhân phát sinh lỗi Chẳng hạn, hệ thống chẩn đoán bệnh dựa trên các triệu chứng của người bệnh, hay hệ thống định vị nơi hỏng trong mạnh điện Gần đây, có khuynh hướng sử dụng tiếp cận dựa trên mô hình Khuynh hướng này cho phép mô hình hoá các hành vi bình thường của hệ thống và phát hiện, chẩn đoán lỗi [5][7]
1.1.4.4 Giảng dạy
Các hệ thống giảng dạy giúp giáo dục sinh viên trong một vài môn học Lúc đó sinh viên sẽ là hệ thống cần được chẩn đoán và chỉnh lý Hệ chuyên gia tương tác với sinh viên để tạo ra mô hình tìm hiểu sinh viên theo môn học Mô hình sinh viên
sẽ được so sánh với mô hình mẫu để phát hiện mặt yếu trong hiểu biết của sinh viên Rồi hệ thống có các chỉ dẫn để bổ túc kiến thức cho sinh viên [5][7]
Trang 151.1.4.5 Diễn giải
Các hệ thống diễn giải cho phép hiểu tình huống từ các thông tin sẵn có Điển hình là thông tin được rút ra từ các dữ liệu của máy dò, thiết bị hay kết quả thí nghiệm… Chẳng hạn như các đầu dò giám sát, các hệ thống ảnh, các kết quả phân tích tiếng nói Các hệ thống dịch các dữ liệu thô sang dạng kí hiệu tiện cho việc mô
tả tình huống Các hệ thống này thường tiếp xúc với dữ liệu trong môi trường có nhiễu, không đầy đủ, không hiện thực và cần đến lập luận không chính xác hay lập luận thống kê [5][7]
1.1.4.6 Giám sát
Các hệ thống giám sát so sánh thông tin quan sát về hành vi của hệ thống với các trạng thái hệ thống được coi là gay cấn Các hệ thống giám sát diễn giải tín hiệu thu được từ đầu dò và so sánh thông tin này với các trạng thái đã biết Khi phát hiện điều gay cấn, hệ thống sẽ kích hoạt một loạt các nhiệm vụ [5][7]
1.1.4.7 Lập kế hoạch
Các hệ thống lập kế hoạch tạo các hành động đạt được đích theo các ràng buộc Chẳng hạn việc lập kế hoạch các nhiệm vụ cho người máy để thực hiện chức năng nào đó Một vài hệ thống lập kế hoạch cần mềm dẻo để cho phép thay đổi các nhiệm vụ nhỏ khi phải xử lý một loạt các thông tin mới Do vậy nó có khả năng thực hiện lại một số bước lập kế hoạch, cho phép quay ngược lại đến trạng thái quan trọng, để tránh làm lại từ đầu Cũng như công việc thiết kế, các hệ thống lập kế hoạch dùng lập luận không đơn điệu [5][7]
1.1.4.8 Dự đoán
Người ta dùng hệ dự báo để biết kết quả mà các tình huống gây ra Các hệ thống này dự báo các sự kiện tương lai theo thông tin đã có và theo mô hình về bài toán Các hệ thống dự đoán cần trang bị khả năng lập luận về thời gian hay các sự kiện theo thời gian Các mô hình cần rút ra được cách mà các hành động tác động đến các sự kiện tương lai Chẳng hạn hệ thống tiên đoán về thất bát nông nghiệp do
Trang 16thiên tai, sâu hại Các mô hình mô phỏng thông minh thường được dùng trong các
hệ thống này [5][7]
1.1.4.9 Chẩn trị
Các hệ thống chẩn trị khuyến cáo các giải pháp đối vơi các chức năng sai Chúng có thể dùng nhiệm vụ chẩn đoán để xác định chức năng sai, rồi kết hợp với việc lập kế hoạch để có cách điều trị phù hợp [5][7]
1.1.4.10 Lựa chọn
Các hệ thống lựa chọn dùng để xác định một lựa chọn tốt nhất Chúng làm việc trên các đặc tả về vấn đề do người dùng cung cấp để tìm giải pháp khớp nhất đối với đặc tả này Trong các hệ chuyên gia người ta thường dùng thuật suy diễn không chính xác hoặc hàm đánh giá khớp [5][7]
1.1.4.11 Mô phỏng
Các hệ chuyên gia mô phỏng mô hình hoá một quá trình hay một hệ thống để nghiên cứu tác nghiệp mới dưới điều kiện đa dạng Chúng mô hình hoá các thành phần khác nhau của hệ thống và của sự tương tác trong hệ thống Người sử dụng được phép chỉnh lý mô hình cho phù hợp với điều kiện giả thiết đã có Với mô hình trên các thông tin do người dùng cung cấp, các hệ thống này có thể tiên đoán các điều kiện thao tác đối với hệ thống thực [5][7]
1.1.5 Cấu trúc của một hệ chuyên gia
Trong lĩnh vực hệ chuyên gia, các chuyên gia chú trọng vào tri thức của vấn đề Loại tri thức này được gọi là tri thức lĩnh vực, các chuyên gia lưu trong bộ nhớ vĩnh cửu LTM (Long-term memory)
Lúc cho lời khuyên, chuyên gia cần thu thập các sự kiện về lĩnh vực, lưu nó trong bộ nhớ tạm thời STM (Short term memory) Chuyên gia lập luận về vấn đề bằng cách kết hợp các sự kiện STM với LTM Dùng quá trình này, chuyên gia suy luận thông tin mới về vấn đề và đi đến kết luận [3,16][5][7,27]
Trang 17Hình 1.1: So sánh về việc giải vấn đề giữa chuyên gia và hệ chuyên gia
1.1.5.1 Cơ sở tri thức
Trong hệ chuyên gia, các tri thức chuyên gia được bảo quản trong cơ sở tri thức
Nó cũng là khối LTM trong mô hình giải vấn đề của con người
Cơ sở tri thức là thành phần chính bên cạnh các thành phần giải vấn đề trong hệ thống dựa trên tri thức Trong khuôn khổ của hệ chuyên gia thì cơ sở tri thức được định nghĩa là một phần trong hệ chuyên gia chứa các tri thức về lĩnh vực
Khi trao đổi với hệ chuyên gia, người dùng nhập thông tin về vấn đề hiện tại vào
bộ nhớ làm việc Hệ thống khớp thông tin này với tri thức trong cơ sở tri thức để suy luận ra sự kiện mới Hệ thống lại nhập sự kiện mới này vào bộ nhớ làm việc và tiếp tục quá trình Vậy bộ nhớ làm việc sẽ có các thông tin do người dùng đưa vào
(Các sự kiện, các kết luận)
Cơ sở tri thức
(Các tri thức về lĩnh vực)
Mô tơ Suy luận
Bộ nhớ làm việc
(Các sự kiện suy luận, các
kết luận)
Người dùng
(Các sự kiện, các kết luận)
Giải vấn đề của chuyên gia Giải vấn đề của hệ chuyên gia
Trang 18và các thông tin do máy suy luận ra Các thông tin này thường được gọi là ngữ cảnh của phiên làm việc
Nhiều ứng dụng của hệ chuyên gia có thể lấy các thông tin từ bộ nhớ ngoài như
cơ sở dữ liệu, bảng tính… Chúng được tải vào bộ nhớ làm việc trước phiên làm việc Quá trình suy luận có thể chỉ dùng các thông tin này, hoặc dùng các thông tin này như thông tin bổ sung
Hệ thống dựa trên tri thức: Các hệ thống dựa trên tri thức là hệ thống phần mềm; trong đó các tri thức về lĩnh vực bài toán được cô lập và lưu trữ trong cơ sở tri thức,
và được xử lý, đánh giá nhờ thành phần giải vấn đề độc lập với bài toán
1.1.5.3 Môtơ suy luận
Hệ chuyên gia mô hình hoá quá trình lập luận của con người trong khối môtơ suy luận, hay thường gọi là môtơ suy diễn
Môtơ suy luận (inference engine): Quá trình trong đó hệ chuyên gia cho phép khớp các sự kiện trong bộ nhớ làm việc của các tri thức về lĩnh vực trong cơ sở tri thức, để rút ra kết luận về vấn đề
Môtơ suy luận làm việc dựa trên các sự kiện trong bộ nhớ làm việc và tri thức về lĩnh vực trong cơ sở tri thức để rút ra thông tin mới Vậy nó tìm các luật để khớp các phần giả thiết của luật với thông tin có trong bộ nhớ Khi phát hiện thấy khớp, kết luận của thông tin này là mới
1.1.5.4 Phương tiện giải thích
Nói đến hệ chuyên gia, người ta thường đề cập đến khả năng không thể tách rời
là khả năng giải thích các suy luận của nó Trong mô hình giải vấn đề của hệ chuyên gia, người ta có thể bổ sung một khối được gọi là phương tiện giải thích Dùng phương tiện này, hệ chuyên gia giải thích cho người dùng “tại sao” nó yêu cầu một câu hỏi, và “cách” đi đến kết luận
Phương tiện này tạo điều kiện thuận lợi cho cả người phát triển hệ thống lẫn người dùng Người phát triển có thể dùng nó để phát hiện chỗ sai trong tri thức của
Trang 19hệ thống trong khi người dùng sẽ thuận tiện và dễ dàng hiểu thấu lập luận của hệ thống
Giải thích về cách suy luận: Giải bài toán trong hệ chuyên gia không giống như
trong chương trình bình thường Chúng khác nhau ở chỗ hệ chuyên gia làm việc trên các vấn đề không có cấu trúc giống nhau, trong khi bài toán trong các chương trình cổ điển đã có các bước giải, tức bài toán có cấu trúc hoàn toàn được xác định Việc giải thích “thế nào” của hệ chuyên gia sẽ khiến người dùng tin tưởng thêm vào khuyến cáo của hệ thống, và cũng là cách để nâng cao độ tin cậy của kết luận
Hệ chuyên gia giải thích “thế nào” theo cách đi lùi của luật để đưa ra kết luận Đường đi ngược này là mạch suy luận của hệ thống
Giả thích tại sao: Một hệ chuyên gia có thể giải thích tạ sao nó đặt ra một câu
hỏi Khi tham vấn chuyên gia, sự tương tác quan trọng ở chỗ nó giúp chuyên gia cởi
mở, thân thiện, có tác dụng gợi mở tri thức chuyên gia Người ta cũng có thể hỏi chuyên gia “tại sao” về các xét đoán, suy luận…khi thấy thuận tiện Câu trả lời có tác dụng làm người dùng thoải mái thêm và có thể biết được điều mà chuyên gia đang cho là quan trọng
1.1.5.5 Giao diện
Tương tác giữa hệ chuyên gia và người dùng thường được thiết kế theo kiểu như ngôn ngữ tự nhiên Yêu cầu đặt ra đối với người thiết kế là đảm bảo tương tác này như tương tác giữa những con người Yêu cầu cơ bản về thiết kế là trả lời được các câu hỏi Để đạt được độ tin cậy cao về các ý kiến chuyên gia, cũng như đạt được tin tưởng cao từ phía người dùng, việc thiết kế câu hỏi cũng cần được lưu ý Các loại giao diện như hướng đồ hoạ, thực đơn, biểu tượng hay tự xác định … là các loại được dùng
Một lưu ý khác là nên trang bị các khả năng cho phép người dùng thay đổi thông tin hay thay đổi các phát biểu về bài toán Việc này giúp người dùng chỉnh lý kết luận thu được dựa trên các thông tin cũ
Trang 20Hình 1.2: Các thành phần của một hệ chuyên gia 1.1.6 Các đặc tính của hệ chuyên gia
1.1.6.1 Tách các tri thức ra khỏi điều khiển
Cơ sở tri thức và môtơ suy luận là các khối tách rời Một khối chứa các tri thức
về chuyên gia lĩnh vực, khối kia là cơ chế giải vấn đề độc lập với khối cơ sở tri thức Việc phân tách các tri thức của hệ thống với điều khiển là khía cạnh có giá trị trong hệ chuyên gia Đó là điểm khác biệt của hệ chuyên gia với chương trình bình thường
Các chương trình máy tính bình thường nhập các tri thức của chương trình cùng với thao tác điều khiển trên tri thức đó Điều này không đảm bảo tính độc lập giữa việc mã hoá các tri thức và việc xử lý các tri thức đó Do vậy mà khó xem xét các tri thức ở dạng mã hoá và rất khó để hiểu được đang dùng tri thức nào, cách dùng ra sao
Người dùng Các hệ
thống khác
Giao diện người dùng
Cơ sở tri thức lĩnh vực
Chuyên gia
Giao diện với chuyên gia
Thu thập tri thức
Hệ chuyên gia Công cụ phát triển
Trang 21Do trong hệ chuyên gia đã tách hai khối tri thức và xử lý, các nhiệm vụ bảo trì
và thay đổi dễ được thực hiện Người ta dễ dàng thay đổi một phần tri thức cũng như thêm bất kì tri thức nào tại bất cứ đâu trong cơ sở tri thức Nếu cần thay đổi điều khiển, người ta thay đổi thuật toán trong môtơ suy luận [5][7,32]
1.1.6.2 Tri thức chuyên gia
Điểm quan trọng trong hệ chuyên gia là thu thập được các tri thức của chuyên gia Tri thức này bao gồm các tri thức về lĩnh vực và kỹ năng giải vấn đề Các tri thức thu được từ nhiều chuyên gia, không nhất thiết là ý tưởng sáng chói hay độc đáo mà là đặc biệt, sâu về lĩnh vực
Thuật ngữ “chuyên gia” mô tả người có kỹ năng về giải đúng vấn đề và giải vấn
đề theo cách hiệu quả Họ có thể thể hiện khả năng lập luận và khả năng này là quá khó đối với người cùng lĩnh vực Các chuyên gia là người sở hữu các tri thức chuyên gia lĩnh vực[5][7,32]
1.1.6.3 Tập trung nguồn chuyên gia
Hầu hết các chuyên gia có kỹ năng giải quyết vấn đề trong lĩnh vực liên quan đến nguồn tri thức chuyên gia Tuy nhiên, ngoài lĩnh vực này các chuyên gia có thể không có khả năng giải vấn đề Con người bình thường cũng như vậy Chẳng hạn không thể dùng hệ chuyên gia ngành y để sửa máy vi tính được
Một khó khăn chung đối với các nhà thiết kế hay phát triển hệ thống là thu thập các tri thức chuyên gia để giải các vấn đề khó, phức tạp Một trong những phương pháp đề xuất là trực tiếp làm việc với tri thức chuyên sâu về vấn đề và làm việc với bài toán được xác định tốt [5][7,33]
1.1.6.4 Lập luận trên các ký hiệu
Các hệ chuyên gia thể hiện tri thức ở dạng ký hiệu Người ta có thể dùng các ký hiệu để thể hiện các loại tri thức đa dạng, như các sự kiện, khái niệm, hay các luật Ngoài thể hiện các ngôn ngữ tự nhiên ở dạng ký hiệu, các hệ chuyên gia còn xử lý các ký hiệu này khi giải vấn đề [5][7,33]
Trang 221.1.6.5 Lập luận may rủi
Các chuyên gia tinh tường trong việc dùng kinh nghiệm để giải đúng và hiệu quả bài toán đang xét Qua kinh nghiệm đã dùng, họ hiểu về vấn đề một cách thực
tế và giữ dưới dạng may rủi Các may rủi điển hình do chuyên gia dùng khi giải vấn
đề có thể thể hiện trong một số ví dụ sau:
- Với vấn đề hỏng xe ô tô, kiểm tra điện trước tiên
- Trong mùa hè, người ta thường uống nhiều nước
- Nếu gặp bệnh có tính di truyền, nên kiểm tra lịch sử bệnh của bệnh nhân May rủi được dùng trong hệ chuyên gia để giúp người ta đi nhanh đến giải pháp Trong hệ chuyên gia, chiến lược lập luận này không giống như các thủ tục chính xác của chương trình bình thường Chương trình xử lý dữ liệu theo thuật toán, nhưng hệ chuyên gia thường dùng các kỹ thuật lập luận may rủi Thật toán thể hiện một loạt các nghiệp vụ xác định rõ cần thực hiện[5][7,35]
1.1.6.6 Lập luận không chính xác
Hệ chuyên gia được coi là thành công trong ứng dụng cần đến lập luận không chính xác Những loại ứng dụng này đặc trưng bằng thông tin không chắc chắn, nhập nhằng hay không sẵn sàng, đặc trưng bằng tri thức lĩnh vực do việc suy luận một cách không chính xác cung cấp Thực tế thường xẩy ra như vậy, chẳng hạn bác
sĩ khám bệnh nhân vào cấp cứu trong hoàn cảnh không hỏi được nhiều thông tin [5][7,36]
1.1.6.7 Khả năng giải
Hệ chuyên gia được xây dựng trên cơ sở tri thức chuyên gia Vậy không nên cho rằng hệ chuyên gia giải được bất kỳ bài toán nào, để rồi thất vọng về nó Hệ chuyên gia chỉ dùng tốt đối với các loại bài toán mà chuyên gia giải được
Nếu không có chuyên gia để giải vấn đề thì người ta khó hy vọng có được hệ chuyên gia thay thế Nếu vấn đề quá mới và thay đổi quá nhanh thì không thiết kế được hệ chuyên gia [5][7,37]
Trang 231.1.6.8 Độ phức tạp vừa phải của vấn đề
Đánh giá về loại vấn đề giải bằng hệ chuyên gia, người ta nhận thấy các vấn đề cần phức tạp vừa phải, không dễ và cũng không quá khó Nói chung nếu nhiệm vụ
dễ đến mức chỉ một số ít chuyên gia đã giải được thì khó đánh giá được công sức của hệ chuyên gia Tuy nhiên cũng có loại nhiệm vụ đơn giản nhưng cần được thực hiện nhiều lần, chẳng hạn như thực hiện nhiều lần cùng một việc ra quyết định Vấn đề không được phức tạp đến mức gây ra tình trạng không thể quản lý nổi ở tầm của hệ chuyên gia, chẳng hạn như phải cần đến hàng giờ mới giải xong bài toán Một hệ chuyên gia chấp nhận các vấn đề phức tạp ở mức giải được trong vòng mười lăm, hai mươi phút [5][7,37]
1.1.6.9 Chấp nhận sai lầm
Người ta coi hệ chuyên gia giải vấn đề như chuyên gia, chấp nhận hệ hệ thống
có thể mắc sai lầm Về điều này thì chương trình bình thường ưu việt hơn, với nghĩa chỉ chấp nhận giải pháp đúng Tuy nhiên so sánh tổng thể người ta thấy trong một
số bài toán cụ thể, việc hệ chuyên gia có lời giải sai lầm mang tính người hơn, do cần xử lý các thông tin không chính xác, thậm chí mâu thuẫn nhau
Các chương trình bình thường áp dụng cho các bài toán mà thông tin chính xác
và đầy đủ Chẳng hạn đó là các hệ quản trị cơ sở dữ liệu, các chương trình kế toán Tuy nhiên với bài toán mà dữ liệu thiếu và sai, chương trình không thể cho ra kết quả Đó là tình huống mà người ta gọi là “Tất cả hoặc không có gì”
Ngược lại bài toán trong hệ chuyên gia ít cấu trúc; các thông tin thiếu đến mức không thể cho kết luận chính xác Tuy vậy nó vẫn cho các kết luận có lý, thậm chí tốt [5][7,37]
1.1.7 Các giai đoạn xây dựng một hệ chuyên gia
Trên bình diện rộng, việc xây dựng một hệ chuyên gia sẽ phụ thuộc vào tài nguyên được cung cấp Tuy nhiên cũng giống như bất kỳ một dự án nào khác, việc phát triển hệ cũng phụ thuộc vào quá trình xây dựng được tổ chức và quản lý như thế nào [5]
Trang 24Đối với việc phát triển một hệ chuyên gia, các hoạt động và những công việc yêu cầu để xây dựng hệ thống Sơ đồ dưới đây cho một cái nhìn cấp cao về các hoạt động yêu cầu để xây dựng một hệ thống theo các giai đoạn mà hệ thống phải đi qua
Hình 1.3: Các giai đoạn xây dựng hệ chuyên gia
1.2 CÁC PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC
1.2.1 Giới thiệu
Biểu diễn tri thức là một việc quan trọng nhất của hệ chuyên gia bởi hai lý do Thứ nhất là những nét chính của hệ chuyên gia được thiết kế cho một kiểu nào đó của biểu diễn tri thức chẳng hạn như các luật hay logic Thứ hai là phương cách mà
Khả năng thực thi Nghiên cứu tài liệu hoặc so sánh để chỉ ra rằng dự án là khả thi
Xác định mẫu
Đặt các hệ chuyên gia gần nhau để trình bày các ý tưởng, đánh thức sự hăng hái và gây ấn tượng với cấp quản lý trên
α - test Kiểm tra nội bộ hệ chuyên gia trên các bài toán thực do các chuyên gia
và kỹ sư tri thức tiến hành
β - test Hệ thống được cho các user chọn lọc test chứ không phải do các chuyên
gia và kỹ sư tri thức test
Chất lượng thương mại Test và hợp pháp hóa - Tài liệu cho user - Đào tạo - Hỗ trợ nhanh cho
user
Bảo trì và phát triển Sửa lỗi, nâng cấp hệ thống
Trang 25hệ chuyên gia biểu diễn tri thức sẽ ảnh hưởng đến sự phát triển, hiệu quả, tốc độ và
sự bảo trì của hệ thống
Do tính đa dạng của thực tế, của bài toán cần giải và vì chẳng có kỹ thuật nào phù hợp cho tất cả các ứng dụng, người ta cần lựa chọn một kỹ thuật thích hợp đối với một bài toán
Câu “tri thức là sức mạnh” thường được nhấn mạnh trong hệ thống thông minh
Đã từ lâu, hiệu quả của hệ chuyên gia phụ thuộc trực tiếp đến chất lượng tri thức mà
hệ thống đã thu thập và sẽ bổ sung thêm về bài toán cần phải giải
Vì vậy, có thể nói tri thức là sự hiểu biết về một lĩnh vực của chủ đề Điểm then chốt để phát triển thành công hệ chuyên gia là tính tập trung của lĩnh vực Khi một lĩnh vực gồm nhiều khía cạnh thì việc xét đồng thời nhiều tri thức của nhiều khía cạnh sẽ làm hệ thống mất tập trung vào lĩnh vực chuyên sâu và điều này sẽ ảnh hưởng đến hiệu quả của toàn hệ thống
Sau khi thu thập tri thức của các chuyên gia về lĩnh vực quan tâm, người ta mã hoá các tri thức trong cơ sở tri thức Để thực hiện việc này, người ta cần cấu trúc các tri thức trong hệ thống một cách phù hợp để hệ thống giải quyết vấn đề thuận tiện cũng như một chuyên gia Đó là yêu cầu thể hiện tri thức
Như vậy thể hiện tri thức là phương pháp cho phép mã hoá tri thức trong cơ sở tri thức của hệ thống
1.2.2 Các loại tri thức
Dựa vào cách thức con người giải quyết vấn đề, các nhà nghiên cứu đã xây dựng các kỹ thuật để biểu diễn các dạng tri thức khác nhau trên máy tính Tuy vậy, không một kỹ thuật riêng lẻ nào có thể giải thích đầy đủ cơ chế tổ chức tri thức trong các chương trình máy tính Để giải quyết vấn đề, chúng ta chỉ chọn dạng biểu diễn nào thích hợp nhất Sau đây là các dạng biểu diễn thường gặp [5][7,53]
Tri thức thủ tục mô tả cách 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 đó Các dạng tri thức thủ tục tiêu biểu thường
là các luật, chiến lược, lịch trình, và thủ tục
Trang 26Tri 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 Tri thức khai báo cũng có thể là một danh sách các khẳng định nhằm mô tả đầy đủ hơn
về đối tượng hay một khái niệm nào đó
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 đề Các chuyên gia sử dụng tri thức này để điều chỉnh hiệu quả giải quyết vấn đề bằng cách hướng các lập luận về miền tri thức có khả năng hơn cả
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 nông cạn do không bảo đảm hoàn toàn chính xác
về kết quả giải quyết vấn đề Các chuyên gia thường dùng các tri thức khoa học như
sự kiện, luật … sau đó chuyển chúng thành các tri thức heuristic để thuận tiện trong việc giải quyết một số bài toá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 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 mà mối liên hệ dựa theo cấu trúc xác định
1.2.3 Các kỹ thuật biểu diễn tri thức
Phần này trình bầy các kỹ thuật phổ biến nhất để biểu diễn tri thức, bao gồm [3,23][5][7,54]:
- Bộ ba đối tượng - thuộc tính - giá trị
- Hệ luật
- Mạng ngữ nghĩa
- Frames
- Logic
1.2.3.1 Bộ ba Đối tượng - Thuộc tính - Giá trị
Cơ chế nhận thức của con người thường được xây dựng dựa trên các sự kiện (fact) Sự kiện được xem như các đơn vị cơ bản nhất Một sự kiện là một dạng tri thức khai báo Nó cung cấp một số hiểu biết về một biến cố hay một vấn đề nào đó
Trang 27Một sự kiện có thể được dùng để xác nhận giá trị của một thuộc tính xác định của một đối tượng Ví dụ mệnh đề “quả bóng mầu đỏ” xác nhận “đỏ” là giá trị của thuộc tính “mầu” của đối tượng “quả bóng ” Kiểu sự kiện này được gọi là bộ ba Đối tượng - Thuộc tính - Giá trị (O - A - V = Object - Attribute - Values)
Hình 1.4: Biểu diễn tri thức theo bộ ba O - A - V
Một vấn đề trong việc sử dụng mạng ngữ nghĩa là định nghĩa tên chuẩn của các kết nối Trong hệ chuyên gia ART, IS - A kết nối 2 lớp, trong khi INSTANCE - OF kết nối hai trường hợp của lớp
Một kết nối hay sử dụng là HAS - A nối một lớp với một lớp con HAS - A có chiều chỉ ngược lại AKO và thường được dùng để nối một đối tượng với một bộ phận của đối tượng đó
Ví dụ:
Car HAS - A engine
Car HAS - A tires
Car HAS - A ford
Chi tiết hơn, IS - A nối một giá trị với một đối tượng, còn HAS - A nối một đối tượng với một thuộc tính
Ba thành phần, Đối tượng – Thuộc tính – Giá trị cũng xuất hiện thường xuyên nên có thể xây dựng một mạng đơn giản hơn cho việc sử dụng bộ ba này
Một O – A – V là một loại mệnh đề phức tạp Nó chia một phát biểu cho trước thành ba phần riêng biệt; Đối tượng, Thuộc tính, Giá trị thuộc tính
Đối tượng, Thuộc tính, Giá trị (OAV) được dùng để mô tả đặc điểm của mỗi tri thức trong mạng ngữ nghĩa Bộ ba OAV rất thuận tiện để đưa vào danh sách tri thức như một bảng và chuyển thành mã máy
Trang 28Ví dụ:
Bảng 1.1 Ví dụ minh họa về O-A-V
OAV được dùng đặc biệt rộng rãi để biểu diễn những sự kiện và mẫu để sánh hợp các sự kiện Mạng ngữ nghĩa cho những hệ như vậy là một hệ bao gồm các nút đối tượng, nút thuộc tính và nút giá trị được liên kết bởi HAS-A và IS-A Nếu hệ chỉ gồm một loại đối tượng và thừa kế không cần thiết thì việc biểu diễn trở nên đơn giản hơn, chỉ gồm các cặp thuộc tính – giá trị
Trong các sự kiện O-A-V, một đối tượng có thể có nhiều thuộc tính với các kiểu giá trị khác nhau Hơn nữa một thuộc tính cũng có thể có một hay nhiều giá trị Chúng được gọi là sự kiện đơn trị (single-valued) hoặc đa trị (multi - value) Điều này cho phép các hệ tri thức linh động trong việc biểu diễn các tri thức cần thiết Các sự kiện không phải lúc nào cũng đảm bảo là đúng hay sai với độ chắc chắn hoàn toàn Vì thế khi xem xét các sự kiện, người ta còn sử dụng thêm một khái niệm là độ tin cậy Phương pháp truyền thống để quản lý thông tin không chắc chắn
là sử dụng nhân tố chắc chắn CF (certainly factor) Khi đó trong sự kiện O-A-V sẽ
có thêm một giá trị xác định độ tin cậy của nó là CF
Ngoài ra, khi các sự kiện mang tính “nhập nhằng”, việc biểu diễn tri thức cần
đưa ra một kỹ thuật, gọi là logic mờ (do Zadeh đưa ra năm 1965) Các thuật ngữ
nhập nhằng được thể hiện trong việc lượng hóa tập mờ
1.2.3.2 Hệ luật
Luật là cấu trúc tri thức dùng để liên kết thông tin đã biết với các thông tin khác giúp đưa ra các suy luận, kết luận từ những thông tin đã biết
Trang 29Tri thức dưới dạng luật được xếp vào các tri thức thủ tục Luật gắn thông tin đã cho với một vài hoạt động Các hoạt động này có thể khẳng định về thông tin mới hay là thủ tục sẽ được thực hiện Bằng cách này, luật mô tả cách giải quyết vấn đề
Về mặt logic, cấu trúc của luật kết nối một hay nhiều giả thiết, hay cái có trước
trong câu IF, với một hay nhiều kết luận, hay được gọi là kết quả trong câu THEN
Ví dụ: IF Màu của quả bóng là xanh
THEN Tôi thích quả bóng Nói chung phần giả thiết của một luật có thể gồm nhiều giả thiết nhỏ gắn với nhau thông qua các phép logic AND (và) hay OR (hoặc) hay cả hai Luật cũng có thể dùng câu ELSE (ngược lại thì) dùng cho suy luận khi giả thiết sai
Trong hệ thống dựa trên các luật người ta thu thập các tri thức lĩnh vực trong một tập và lưu trữ chúng trong cơ sở tri thức của hệ thống Hệ thống dùng các luật này cùng với các thông tin trọng bộ nhớ để giải bài toán Khi câu IF của luật khớp với thông tin trong bộ nhớ, hệ thống thực hiện các hoạt động mô tả trong câu THEN
của luật Lúc này luật được xem như đã thực hiện, hay cháy; câu THEN được bổ
sung vào bộ nhớ Mệnh đề mới này cũng có thể làm cho các luật khác được thực hiện
Ví dụ:
Ban đầu cơ sơ tri thức có hai luật, và bộ nhớ là rỗng Khi nhận được trả lời là (đỏ) cho câu hỏi (xe màu gì), bộ suy diễn của hệ chuyên gia dựa trên luật sẽ thực hiện các luật và rút ra được thông tin mới (sẽ mua xe)
Hình 1.5: Ví dụ do suy diễn dựa trên luật
IF thích THEN sẽ mua
Xe đỏ
IF xe đỏ THEN sẽ thích
IF thích THEN sẽ mua
Xe đỏ
Sẽ thích
IF xe đỏ THEN sẽ thích
IF thích THEN sẽ mua
Xe đỏ
Sẽ thích
Sẽ mua
Trang 30Việc xử lý các luật trong hệ thống dựa trên các luật được quản lý bằng một module gọi là bộ suy diễn
a Khai thác một thủ tục
Ngoài việc sản sinh các thông tin mới thông qua các sự kiện trong câu THEN một luật có thể thực hiện các hành động Hành động trong luật có thể là tính toán đơn giản, như là:
IF Cần đến diện tích hình chữ nhật
THEN Diện tích = chiều dài * chiều rộng
Để thực hiện các thao tác phức tạp hơn, nhiều hệ chuyên gia truy nhập các thủ tục bên ngoài hệ thống
- Luật liên quan đến việc tìm kiếm thông tin: IF biết số báo danh là X THEN
mở file điểm 001 AND tìm điểm với mã = X
Nhìn chung khả năng truy cập hay thay đổi thông tin nhờ chương trình bên ngoài tạo điều kiện để công việc thiết kế hệ chuyên gia trở nên uyển chuyển hơn
Có thể dùng khối lượng lớn các thông tin có trong cơ sở dữ liệu và bảng tính, hay thay đổi các thông tin nhờ chức năng hỗ trợ quyết định của hệ thống xử lý luật
b Các dạng khác nhau của luật
Các luật thể hiện tri thức có thể phân loại theo loại tri thức Và như vậy có các lớp luật liên quan đến các tri thức gồm:
- Tri thức quan hệ
IF Acquy hỏng THEN không khởi động ô tô được
- Tri thức khuyến cáo
IF không khởi động ô tô được THEN đi bộ
- Tri thức hướng dẫn
Trang 31IF ô tô không khởi động được AND xăng dầu tốt THEN kiểm tra hệ thống điện
- Tri thức chiến lược
IF ô tô không khởi động được THEN trước tiên kiểm tra hệ thống xăng dầu, rồi kiểm tra hệ thống điện
- Tri thức diễn giải
- Tri thức chuẩn đoán
- Tri thức thiết kế
c Dùng biến trong luật
Sử dụng các biến trong luật nhằm phù hợp với các ứng dụng thực hiện cùng một
số thao tác trên tập các đối tượng tương tự nhau Thông thường với mỗi phát biểu
về tri thức liên quan đến nhiều sự kiện, người ta dùng nhiều luật Nếu viết một luật đơn cho mỗi đối tượng thì số lượng các luật sẽ rất nhiều, như vậy không hiệu quả và
hệ thống khó quản lý các luật tương tự nhau
Ví dụ:
Luật sau cho biết Hùng có thể nghỉ ngơi hay không
IF Hùng là công chức AND tuổi của Hùng quá 60
THEN Hùng có thể nghỉ ngơi
Khi hệ thống muốn kiểm tra các cá nhân khác không phải là Hùng thì người ta cần sử dụng các luật tương tự như luật này Do vậy không kinh tế Thậm chí độ tuổi nghỉ ngơi của con người có thể dao động từ 55 - 60 tuổi Có thể dùng ngôn ngữ lập trình để tạo ra một luật để luật này có thể khớp với một dải giá trị rộng hơn Các luật này dùng biến để khớp với các mệnh đề tương tự
Trang 32Hình 1.6: Một phần nội dung trong bộ nhớ cho biết tuổi của các các nhân
Giả thiết đầu tiên gắn tên một cá nhân cho biến X, nếu người ấy là công chức Giả thiết thứ hai kiểm tra xem người có tên gán cho biến X đó có quá 60 tuổi không Nếu khớp cả hai giả thiết, luật kết luận rằng người này có thể nghỉ và đưa thông tin vào bộ nhớ
Việc khớp luật có sử dụng biến cho phép xử lý thông tin một cách hiệu quả Người ta có thể viết luật này thay cho nhiều luật, thuận tiện cho việc mã hóa và bảo trì cơ sở luật Luật trên có được tri thức chuyên gia “Nếu công chức quá tuổi 60, thì
họ có thể nghỉ ngơi”
d Các luật không chắc chắn
Mệnh đề phát biểu về sự kiện, hay bản thân các sự kiện có thể không chắc chắn Người ta đã dùng hệ số chắc chắn CF đối với các sự kiện không chắc chắn Đã có
sự kiện không chắc chắn thì cũng có luật không chắc chắn Luật này thiết lập quan
hệ không chính xác giữa giả thiết và kết luận
Ví dụ:
IF lạm phát cao
THEN hầu như chắc chắn lãi suất tiết kiệm sẽ cao
Chuyên gia tin rằng (hầu như chắc chắn) … nếu… Để có được độ tin cậy về chi thức chuyên gia trong quan hệ này, người ta dùng nhân tố chắc chắn Chẳng hạn luật trên có thể được viết lại với giá trị CF là 0.8:
Đào, thương gia, 54
Trang 33Ví dụ này mới chỉ giới thiệu sơ lược về luật với sự không chắc chắn Nó cũng như các luật bình thường, ngoài trừ kết luận được khẳng định với một mức độ tin cậy
e Các luật meta
Khi giải vấn đề, các chuyên gia cũng cần cả tri thức lĩnh vực lẫn tri thức hướng dẫn sử dụng các tri thức lĩnh vực Tri thức lĩnh vực đặc trưng cho lĩnh vực; tri thức hướng dẫn đặc trưng cho việc sử dụng tri thức Tri thức hướng dẫn dùng tri thức lĩnh vực để xác định cách giải quyết vấn đề tốt nhất Loại tri thức này gọi là tri thức meta
Như vậy, tri thức meta là tri thức về cách sử dụng và điều khiên tri thức lĩnh vực Tri thức meta thường được thể hiện trong hệ thống dựa trên luật thông qua luật meta để chúng có thể được truy cập trực tiếp Luật meta là luật mô tả cách thức dùng các luật khác
Luật meta đưa ra chiến lược dùng các luật về lĩnh vực chuyên dụng, thay vì đưa
ra thông tin mới
Ví dụ:
IF Ô tô không khởi động được AND hệ thống điện hoạt động bình thường
THEN Dùng các luật liên quan đến hệ thống xăng dầu
Luật meta chuẩn đoán về ô tô này hướng việc sữa chữa ô tô về hệ thống xăng dầu nếu không phát hiện được gì trong hệ thống điện Luật meta hướng dẫn tri thức
hệ thống rẽ nhánh về một phần của công việc, cũng như làm tăng hiệu quả của hệ thống bằng cách hướng dẫn hệ thống suy luận tại nhánh có khả năng giải quyết vấn
đề
f Tập các luật
Các tri thức chuyên gia được tích lũy thành các luật để giải quyết các vấn đề Tập các luật dùng cho vấn đề này nhưng không dùng được cho vấn đề khác Tập các luật phản ánh kinh nghiệm, khéo léo của chuyên gia về lĩnh vực Việc chọn lựa tập luật nào cũng thể hiện trình độ của chuyên gia
Trang 34Tuy nhiên chỉ riêng các luật không đủ để lập luật Do vậy cần đến chiến lược để biết khi nào áp dụng luật và áp dụng như thế nào
Ví dụ:
Để sửa chữa ô tô, người ta kiểm tra các bộ phận của xe theo các luật như hướng dẫn trong hình
Hình 1.7: Tập các luật liên quan đến việc hỏng xe
Một trong các giải pháp hướng dẫn sử dụng luật khi thiết kế hệ thống dựa trên
luật là dùng cấu trúc modun để sắp xếp các luật về lĩnh vực Loại cấu trúc này cũng
gợi ý cách giải quyết bài toán từ trên xuống, ở đó tập các luật được dùng chỉ khi phù hợp Hệ thống có thể chuyển điều khiển đến tập luật đã cho bằng cách dùng luật meta
Một số nhận xét về việc dùng các luật có cấu trúc modun như sau:
- Ưu điểm chính của thiết kế này là thể hiện được cách giải vấn đề phức tạp Nhìn chung con người có xu hướng chia vấn đề phức tạp ra các vấn đề nhỏ hơn, dễ quản lý hơn
- Ưu điểm khác của cấu trúc các luật theo modun là dễ phát triển và bảo trì hệ thống Khi phát triển hệ thống, người ta có thể thử và kiểm tra riêng từng modun theo cách độc lập Đối với việc quản lý toàn bộ cơ sở tri thức, việc thiết kế theo các modun tỏ ra thuận tiện
- Về kỹ thuật, tiếp cận này có ưu điểm dễ tích hợp các kỹ thuật thể hiện tri thức, chiến lược suy diễn khác nhau vào cùng một hệ thống
Chuẩn đoán hỏng hóc xe ô tô
Chuẩn đoán hệ thống điện Chuẩn đoán hệ thống xăng dầu
Trang 351.2.3.3 Mạng ngữ nghĩa
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức dùng đồ thị trong đó nút biểu diễn đối tượng và cung biểu diễn quan hệ giữa các đối tượng Quan hệ là phần chính yếu trong mạng ngữ nghĩa Không có quan hệ, tri thức chỉ là tập hợp các sự kiện không liên quan với nhau Với quan hệ, tri thức trở thành một cấu trúc nối liền với các tri thứ khác có liên quan
Có vài loại quan hệ được sử dụng trong hầu hết các biểu diễn tri thức Việc định nghĩa các quan hệ dùng chung trong các mạng ngữ nghĩa sẽ làm dễ dàng hơn trong việc dùng các mạng khác nhau
Có hai loại kết nối được sử dụng rộng giãi là IS-A và A-KIND-OF, thường được viết tắt là ISA và AKO
IS-A, viết tắt của “is instance of”, dùng để chỉ rõ một đối tượng là thuộc lớp nào AKO, viết tắt của “a kind of”, dùng để kết nối các lớp với nhau AKO không dùng
để kết nối các trường hợp cá biệt với nhau, đó là chức năng của ISA AKO kết nối một lớp với lớp cha Nói một cách khác, AKO kết nối các lớp với nhau và ISA kết nối một trường hợp cá biệt với một lớp
Trong kết nối AKO, lớp được chỉ tới gọi là lớp cha (Superclass) và lớp dẫn xuất gọi lớp con (subclass)
Các đối tượng của một lớp có nhiều thuộc tính Mỗi thuộc tính có một giá trị Sự kết hợp của thuộc tính và giá trị gọi là đặc tính
Ví dụ:
Một khi cầu nhỏ có các thuộc tính kích thước, trọng lượng, hình dạng, màu sắc,… Giá trị của thuộc tính hình dạng là ellip Nói cách khác, một khí cầu nhỏ có đặc tính là hình ellip
Khí cầu GoodYear là một khí cầu nhỏ và các khí cầu nhỏ có hình ellip, điều này dẫn đến GoodYear có hình ellip
Trang 36Hình 1.8 Khí cầu GoodYear thể hiện trên mạng ngữ nghĩa
Sự lắp lại các đặc trưng của một nút theo nút cha gọi là thừa kế Nếu không có
sự khai báo lại các giá trị của thuộc tính, mọi thành viên của một lớp sẽ thừa kế tất
cả các đặc tính của những lớp cha
Người ta có thể mở rộng mạng ngữ nghĩa bằng cách thêm các nút và nối chúng vào đồ thị Các nút mới ứng với các đối tượng bổ sung Thông thường có thể mở rộng mạng ngữ nghĩa theo ba cách:
- Thêm một đối tượng tương tự
- Thêm một đối tượng đặc biệt hơn
- Thêm một đối tượng tổng quát hơn
Tuy nhiên việc thiếu những tên chuẩn cho các kết nối đã làm cho viết thiết kế mạng ngữ nghĩa trở nên khó khăn Ngoài ra một số vấn đề tương tự như vậy là tên của các nút Nếu một nút có tên là “chair”, nó biểu diễn:
- Một cái ghế đã biết rõ
- Một lớp các cái ghế
- Một khái niệm về cái ghế
- Người chủ toạ một cuộc họp
Hay một nghĩa nào khác?
Mạng ngữ nghĩa biểu diễn những tri thức định nghĩa được Nghĩa là các nút và các kết nối phải được định nghĩa chặt chẽ, rõ ràng
Trang 37Một vấn đề khác là sự bùng nổ của duyệt các nút Đối với một câu hỏi có sự trả lời vô lý, hầu hết hoặc tất cả các nút được duyệt qua Ban đầu, mạng ngữ nghĩa mô phỏng con người kết hợp với bộ nhớ Trong não người có khoảng 1010
neuron và
1015 kết nối Với câu hỏi có bao nhiêu đội bóng trên Diêm vương tinh? Nếu tri thức biểu diễn bằng mạng ngữ nghĩa sẽ mất nhiều thời gian cho câu hỏi như vậy, vì phải duyệt qua 1015
kết nối
Mạng ngữ nghĩa là không thích hợp bởi vì nó không định nghĩa tri thức một cách hợp lý Một biểu diễn hợp lý phải có khả năng chỉ rõ một cái ghế đã biết, vài cái ghế, tất cả các ghế, không có ghế
Một vấn đề khác của mạng ngữ nghĩa là không có phương pháp nào để đưa các thông tin vào mạng để việc tìm kiếm có hiệu quả hơn Phương pháp tìm kiếm Heuristic đóng vai trò rất quan trọng việc giúp đỡ tìm kiếm lời giải, khác với thuật giải (Algorithm) là tìm đúng lời giải Trong Artificial Intelligence (AI), khó mà tìm thuật giải để tìm lời giải đúng hoặc là thuật giải Nếu có cũng không hiệu quả trong thực tế sử dụng
Một số các tiếp cận để tăng cường cho mạng ngữ nghĩa đã kết nối các thủ tục vào nút Các thủ tục sẽ được thực hiện khi nút được kích hoạt Tuy nhiên các hệ thống thu được đã có kết quả rất ít khi dùng mạng ngữ nghĩa trong việc biểu diễn ngôn ngữ tự nhiên
1.2.3.4 Frame
Một trong các kỹ thuật biểu diễn tri thức là dùng frame, phát triển từ khái niệm lược đồ Mỗi lược đồ được coi là khối tri thức điển hình về khái niệm hay đối tượng nào đó, và gồm cả tri thức thủ tục lẫn tri thức mô tả
Frames tạo ra những cấu trúc thuận tiện để biểu diễn các đối tượng trong một trạng thái nào đó Đặc biệt, Frame được dùng để mô phỏng tri thức cảm tính Trong khi mạng ngữ nghĩa dùng các mảng hai chiều để biểu diễn tri thức thì frame thêm một chiều thứ ba bằng cách cho phép các nút có một cấu trúc Những cấu trúc này
có thể là một giá trị hay một frame khác
Trang 38Đặc trưng cơ bản của frame là biểu diễn được các tri thức có liên quan về một chủ đề hẹp có nhiều các tri thức mặc định
Theo định nghĩa của Minski (1975), thì frame là cấu trúc dữ liệu để thể hiện tri thức đa dạng về khái niệm hay đối tượng nào đó
Hình 1.9 Cấu trúc frame
Một frame có hình thức như bảng mẫu, như tờ khai cho phép người ta điền các ô trống Cấu trúc cơ bản của frame có tên đối tượng được thể hiện trong frame, có các trường thuộc tính của đối tượng Mỗi thuộc tính có một ngăn để nhập dữ liệu riêng Các thuộc tính và giá trị thuộc tính tạo nên danh sách các mệnh đề O - A - V, cho phép thể hiện đầy đủ về đối tượng
Một frame lớp thể hiện các tính chất tổng quát của tập các đối tượng chung
Để mô tả một biểu diễn của frame lớp, ta dùng một dạng frame khác, gọi là frame thể hiện Khi tạo ra thể hiện của một lớp, frame này kế thừa tính chất và giá trị của lớp Có thể thay đổi giá trị để phù hợp với biểu diễn cụ thể Thậm chí, ta cũng có thể thêm các tính chất khác đối với frame thể hiện
Cũng như tính chất kế thừa giữa các đối tượng trong mạng ngữ nghĩa, frame thể hiện nhận giá trị kế thừa từ frame lớp Khi tạo một frame thể hiện, người ta khẳng định frame đó là thể hiện của một frame lớp Khẳng định này cho phép nó kế thừa các thông tin từ frame lớp
Thuộc tính:
Thuộc tính 1 Giá trị 1 Thuộc tính 2 Giá trị 2
Trang 39Hình 1.10: Nhiều mức của frame mô tả quan hệ phức tạp hơn
Ngoài các frame lớp đơn giản và các thể hiện gần với nó người ta có thể tạo ra cấu trúc frame phức tạp Ví dụ, dùng cấu trúc phân cấp các frame để mô tả thế giới loài chim Cấu trúc này tổ chức khái niệm về chim theo các mức trìu tượng khác nhau Frame ở mức cao mạng thông tin chung về tất cả các loài chim Mức giữa các frame lớp con, mạng thông tin đặc thù hơn của nhóm chim Mức cuối cùng là frame thể hiện, ứng với đối tượng cụ thể
Frame khác với mạng ngữ nghĩa ở chỗ mạng hay dùng để biều diễn tri thức rộng Cũng như mạng ngữ nghĩa, không có các định nghĩa chuẩn cho các hệ thống frame
cơ bản
Frame tương tự cấu trúc mẩu tin trong các ngôn ngữ cấp cao Ta hãy xét một ví dụng sau
Trang 40Trong sử dụng, các hệ chuyên gia xây dựng từ các frame thường dùng cho việc biểu diễn tri thức nhân quả vì các thông tin của nó được tổ chức theo nguyên nhân
và hậu quả Ngược lại, các chuyên gia, được xây dựng từ các qui tắc, dùng cho các tri thức không tổ chức được theo quan hệ nhân quả
Frame được thiết kế để biểu diễn một tri thức chung hay một trường hợp cá biệt Filler chứa những giá trị như tên slot, giá trị hay kiểu của slot Slot có thể chứa thủ tục kết nối với slot Có ba loại thủ tục như vậy
IF-NEED: Là thủ tục thực hiện khi giá trị trong filler cần được sử dụng đã không được khởi động hoặc có giá trị mặc định không phù hợp Các giá trị mặc định thường dùng trong các tri thức về cảm giác, kinh nghiệm Đó cũng là tri thức về những trường hợp chung nhất, không được chỉ rõ
IF-ADD: Là thủ tục để thêm các giá trị vào Frame
IF-REMOVAL: Là thủ tục tháo bỏ các giá trị khỏi frame
Hệ thống các frame được thiết kế để các frame chung nhất ở những vị trí đầu tiên trong hệ thống Các trường hợp cá biệt được mô tả bởi các frame mà các giá trị mặc nhiên được thay đổi hay được thêm các frame đặc biệt hơn Các frame cũng mô hình hoá thế giới thực bằng cách dùng các tri thức chung nhất về các đặc tính chủ yếu của đối tượng
Các frame còn được phân loại theo ứng dụng của chúng Situational Frame chứa các tri thức cần thiết về một tình thế được cho Action Frame chứa tri thức về các hành động phải làm về một tình trạng được cho Sự kết hợp Situational Frame và Action Frame được dùng để mô tả các tri thức nhân quả
Tuy nhiên cũng có những khó khăn của Frame Phần lớn các hệ thống frame không hạn chế trong việc thay đổi hoặc huỷ bỏ các slot
Ví dụ: frame mô tả con voi