Nói chung, các tri thức bất định, không chính xác và không đầy đủ xuất hiện là do trong các phát biểu, người ta sử dụng các yếu tố ngôn ngữ không rõ ràng, như : có thể, có lẽ, khoảng, nó
Trang 1i
MỤC LỤC
MỤC LỤC i
LỜI CẢM ƠN iii
LỜI CAM ĐOAN iv
DANH SÁCH CÁC HÌNH v
LỜI MỞ ĐẦU vi
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ TRI THỨC VÀ HỆ CHUYÊN GIA 1
1.1 Công nghệ tri thức là gì 1
1.2 Phân loại tri thức 1
1.3 Các cấp độ tri thức 2
1.4 Phân biệt tri thức và dữ liêu 3
1.5 Khái niệm chuyên gia và hệ chuyên gia 4
1.6 Các đặc tính của chuyên gia và hệ chuyên gia 6
1.7 Các lĩnh vực ứng dụng của hệ chuyên gia 8
1.8 Kiến trúc tổng quát của các hệ chuyên gia 9
1.9 Các dạng tri thức và cách thể hiện 13
1.10 Cơ chế suy diễn trong hệ chuyên gia 24
CHƯƠNG 2: XÂY DỰNG CƠ SƠ TRI THỨC GIẢI QUYẾT BÀI TOÁN 37
2.1 Xây dựng bài toán 37
2.3 Các bước tiến hành xây dựng và phát triển hệ chuyên gia 40
2.3 Giải quyết bài toán 44
CHƯƠNG 3: XÂY DỰNG PHẦN MỀM 54
3.1 Môi trường xây dựng phần mềm 54
3.2 Một số bảng dữ liệu chính của chương trình 54
3.3 Giới thiệu các Form chính của chương trình 57
Trang 2ii
3.4 Đánh giá kết quả chương trình 61
KẾT LUẬN 62
1 Kết luận 62
2 Hướng phát triển đề tài 62
TÀI LIỆU THAM KHẢO 63
1 Tài liệu trong nước 63
2 Tài liệu nước ngoài 63
Trang 3iii
LỜI CẢM ƠN
Trước tiên tôi xin gửi lời cảm ơn sâu sắc nhất tới PGS.TS Ngô Quốc Tạo, người đã định hướng đề tài và hướng dẫn tận tình cho học viên trong suốt quá trình thực hiện luận văn thạc sĩ khoa học máy tính, từ những ý tưởng trong đề cương nghiên cứu, phương pháp giải quyết vấn đề, đến điều kiện lý tưởng để thực hiện luận văn này
Tôi cũng xin chân thành bày tỏ lòng biết ơn tới tất cả các Giáo sư, Tiến sĩ đã giảng dạy tôi trong hai năm vừa qua Các Giáo sư, Tiến sĩ đã truyền đạt cho tôi những kiến thức quý báu về ngành học khoa học máy tính và các chuyên ngành hẹp như trí tuệ nhân tạo, hệ chuyên gia,… Giúp tôi có thể tích lũy nhiều kiến thức
và các phương pháp quý báu để có thể nghiên cứu giải quyết những vấn đề trong luận văn của mình
Bản luận văn này được hoàn thành với sự động viên giúp đỡ của các bạn trong lớp cao học CK11I trường Đại học Công nghệ thông tin và Truyền thông khóa 2012-2014 Tôi xin bày tỏ lòng cám ơn chân tình tới tất cả các bạn, nhất là các bạn
đã dành nhiều thời gian quý báu của mình để trao đổi, giúp đỡ tôi khi gặp những vướng mắc trong suốt thời gian thực hiện luận văn này
Hà Xuân Trường Lớp cao học CK11I
Trang 4iv
LỜI CAM ĐOAN
Tôi cam đoan luận văn này là do bản thân tự nghiên cứu và thực hiện theo sự
hướng dẫn khoa học của PGS.TS Ngô Quốc Tạo
Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa học của luận văn này
Thái Nguyên, ngày tháng năm 2014
Người cam đoan
Hà Xuân Trường
Trang 5v
DANH SÁCH CÁC HÌNH
Hình 1 Một số lĩnh vực ứng dụng của trí tuệ nhân tạo
Hình 2 Hoạt động của hệ chuyên gia
Hình 3 Những thành phần cơ bản của một hệ chuyên gia
Hình 4 Quan hệ giữa máy suy diễn và cơ sở tri thức
Hình 5 Kiến trúc hệ chuyên gia theo J L Ermine
Hình 6 Kiến trúc hệ chuyên gia heo C Ernest
Hình 7 Kiến trúc hệ chuyên gia theo E V Popov
Hình 8 Biểu diễn tri thức nhờ mạng ngữ nghĩa
Hình 9 Mở rộng mạng ngữ nghĩa biểu diễn tri thức
Hình 10 Biểu diễn tri thức nhờ bộ 3 liên hợp OAV
Hình 11 Biểu diễn tri thức nhờ ngôn ngữ nhân tạo trong MYCIN
Hình 12 Cấu trúc danh sách luật của hệ thống suy diễn tập trung
Hình 13 Cấu trúc danh sách các sự kiện của hệ thống suy diễn tập trung Hình 14 Quá trình quản lý dự án phát triển một hệ chuyên gia
Hình 15 Tiếp nhận tri thức trong một hệ chuyên gia
Hình 16 Trình bày các giai đoạn cơ bản để phát triển một hệ chuyên gia Hình 17 Mô tơ suy diễn tiến giải quyết bài toán
Hình 18 Mô hình hệ chuyên gia giải quyết bài toán
Hình 19 Giao diện chính của chương trình
Hình 20 Giao diện thêm nhân viên
Hình 21: Giao diện quản lý tiêu chí đánh giá
Hình 21 Giao diện quản lý tiêu chí đánh giá
Hình 22 Giao diện thêm công việc cho nhân viên
Hình 23: Giao diện chức năng cho điểm của nhân viên
Hình 24 Giao diện xuất báo cáo đánh giá
Hình 25 Giao diện xuất báo cáo xếp loại
Trang 6vi
LỜI MỞ ĐẦU
Việc đánh giá và xếp loại cán bộ là một trong những việc hữu ích nhất mà các nhà quản lý thường dùng để duy trì và thúc đẩy hiệu quả làm việc của nhân viên, là
một trong những yếu tố quan trọng để phát huy nội lực nhằm phát triển cơ quan
Trong vai trò của một nhà quản lý cơ quan, tổ chức chúng ta luôn luôn phải quan tâm đến việc đánh giá và xếp loại nhân viên Trên thực tế mỗi tổ chức, cơ quan, doanh nghiệp, công ty … đều đã xây dựng cho riêng mình một bộ quy tắc để đánh giá và xếp loại nhân viên tuy nhiên khi triển khai thực tế việc đánh giá thường bị chi phối bởi nhiều yếu tố ( không gian, thời gian,…) do đó có thể dẫn đến việc đánh giá nhân viên bị sai lệch, không hiệu quả không đạt được những mục đích như mong muốn của các nhà quản lý
Ngày nay, sự phát triển mạnh mẽ của Công nghệ tri thức các ứng dụng phong phú của nó đã tạo ra và cung cấp cho con người những công cụ, phương tiện hết sức thuận tiện để tạo ra những hệ chuyên gia giúp con người
Xuất phát từ những vấn đề nêu trên nhằm góp phần hoàn thiện công tác đánh giá
và xếp loại nhân viên, học viên đã chọn đề tài “Ứng dụng công nghệ tri thức xây dựng phần mềm đánh giá xếp loại nhân viên” làm đề tài tốt nghiệp của mình Nội dung của luận văn gồm:
Chương 1: Tổng quan về Công nghệ tri thức và Hệ chuyên gia
Chương 2: Xây dựng cơ sơ tri thức giải quyết bài toán
Chương 3: Xây dựng phần mềm
Trang 7hệ chuyên gia
1.1 Công nghệ tri thức là gì
Công nghệ tri thức (Knowledge Engineering): có thể xem là một nhánh nghiên cứu của trí tuệ nhân tạo, phân tích tri thức lĩnh vực và chuyển nó thành những mô hình tính toán đưa vào máy tính để phục vụ những nhu cầu cần thiết.[5]
Công nghệ tri thức (Knowledge Engineering): là các phương pháp, kỹ thuật được những kỹ sư tri thức (knowledge engineers) dùng để xây dựng những hệ thống thông minh như: hệ chuyên gia, hệ cơ sở tri thức, hệ hỗ trợ quyết định.[4]
1.2 Phân loại tri thức
Tri thức tồn tại dưới 2 dạng cơ bản :
- Tri thức đinh lượng
- Tri thức đinh tính
Tri thức định lượng thường gắn với các loại kinh nghiệm khác nhau
Ở đây chúng ta xét về tri thức định tính.Tri thức đinh tính được chia thành 3 loại:
Tri thức mô tả
Tri thức thủ tục
Tri thức điều khiển
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 đó
Trang 82
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 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 nông cạn 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
1.3 Các cấp độ tri thức
Tri thức gồm 2 cấp độ
a) Tri thức động phụ thuộc vào tình huống không gian và thời gian :
Các tri thức thức mô tả, tri thức thức thủ tục, tri thức điều khiển không phụ thuộc vào yếu tố không gian, thời gian được gọi là tri thức tĩnh Các tri thức loại này tạo nên phần lõi trong các cơ cấu trí thức Nguồn các cơ cấu trí thức này thường phát sinh từ các tài liệu chuyên môn các nguyên lý chung của khoa học Ví
dụ : “Nếu một đường thẳng vuông góc với một trong hai đường thẳng song song thì nó vuông góc với đường thẳng còn lại”
Tuy vậy, có những tri thức lại phụ thuộc vào yếu tố lịch sử,thông qua các tham
số thời gian và không gian có thể xuất hiện tường minh hoặc không tường minh trong các phát biểu Chẳng hạn, phát biểu : “Việt Nam không phải là thành viên của tổ chức WTO” chỉ đúng ở thời điểm trước năm 2008, còn hiện nay Việt Nam
đã gia nhập tổ chức WTO Chính yếu tố đó, mà quá trình suy diễn trong các cơ sở tri thức được phụ thuộc không gian, thời gian có thể giao hoán hay không giao hoán bộ phận, đơn điệu hay không đơn điệu
b)Tri thức bất định, tri thức không đầy đủ :
Trang 93
Trong nhiều trường hợp các tri thức có thể đúng hoặc sai Tuy vậy trong thực tế
ta gặp phải các phát biểu không phải lúc nào cũng xác định được chúng đúng hay sai Ví dụ : “Trời có thể mưa”, trong trường hợp này không thể quyết định 100% là trời mưa hay không mưa ; Các tri thức không chính xác là các mệnh đề phát biểu
mà giá trị chân lý của chúng không thể chỉ ra một cách chính xác, tương ứng với thang đo quy ước Ví dụ : “Anh ta cao khoảng lm70”
Cũng có thể xuất hiện các tri thức không đầy đủ trong các phát biểu, các mô tả
Ví dụ : “Thông thường nếu anh ta đi thì nói chung chị ấy cũng đi” , đây là phát biểu bất định, song chỉ có tác dụng nếu biết được một chút về sự kiện “anh ta có đến hay không”
Nói chung, các tri thức bất định, không chính xác và không đầy đủ xuất hiện là
do trong các phát biểu, người ta sử dụng các yếu tố ngôn ngữ không rõ ràng, như :
có thể, có lẽ, khoảng, nói chung Một trong những cách tiếp cận để xử lý các loại tri thức trên là sử dụng cách tiếp cận lý thuyết mờ Các lý thuyết lập luận xấp xỉ đã
và đang được quan tâm, nghiên cứu rất nhiều
1.4 Phân biệt tri thức và dữ liêu
Chúng ta có thể dựa vào một số đặc trưng sau để phân biệt qui ước tri thức và
dữ liệu :
+ Khả năng tư giải thích nôi dung : Dữ liệu đưa vào máy tính không tự giải thích nổi, đôi khi còn được mã hóa cho ngắn gọn để dễ cài đặt trong máy Chỉ có người lập trình đó mới có thể hiểu được nội dung, ý nghĩa của dữ liệu, nhưng tri thức có thể tự giải thích nội dung của minh với người sử dụng bất kỳ
+ Tính cấu trúc : Một trong những đặc tính cơ bản của hoạt động nhận thức của con người đối với thế giới xung quanh là khả năng phân tích cấu trúc của các đối tượng Tri thức được đưa vào máy cũng cần có khả năng tạo ra được một
sự phân cấp giữa các khái niệm và mối quan hệ giữa chúng
+ Tính liên hê : Ngoài các quan hệ về cấu trúc trong mỗi tri thức (khái niệm, quá trình, hiện tượng, sự kiện) giữa các đơn vị tri thức còn có nhiều mối liên hệ
Trang 104
khác (không gian, thời gian, nhân quả ) Một số nghiên cứu đã chỉ ra số các liên
hệ cơ bản giữa các sự kiện xấp xỉ 200 lần Một cơ sở tri thức được kết hợp với số liên hệ cơ bản này có thể mô tả và biểu diễn được hầu hết mọi vấn đề mà chứng ta quan tâm
+ Đối với các tri thức biểu diễn trong máy cũng vậy, chúng chủ động hướng người sử dụng biết khai thác tri thức Đó chính là quá trình kích hoạt tri thức được thể hiện trong các hệ chuyên gia được xây dựng trên các cơ sở tri thức biểu diễn ở mức cao có khả năng tiếp nhận, tinh chế, tự hoàn thiện ngay trong quá trình hoạt động của hệ Tính chủ động của tri thức còn thể hiện sinh động thông qua các ngôn ngữ lập trình trí tuệ nhân tạo như Lisp, Prolog ở đó không còn có sự phân biệt rõ ràng giữa dữ liệu và thủ tục
1.5 Khái niệm chuyên gia và hệ chuyên gia
Định nghĩa 1.1: Chuyên gia là một hoặc một nhóm có kiến thức sâu về chuyên ngành và có kỹ năng giải các vấn đề (của chuyên ngành đó) một cách có hiệu quả Định nghĩa 1.2: Hệ chuyên gia
Một số định nghĩa về hệ chuyên gia:
+ Hệ chuyên gia là một hệ thống dựa trên tri thức, nó mô hình hóa các tri thức của chuyên gia và dùng tri thức này để giải vấn đề phức tạp thuộc lĩnh vực đó
Trang 115
+ Hệ chuyên gia là một hệ thống bao gồm máy tính và chương trình được dùng
để mô phỏng và bắt chước cách giải quyết vấn đề của chuyên gia.[2]
Trong đó:
+ Tri thức của hệ chuyên gia bao gồm các sự kiện và các luật Các sự kiện được cấu thành bởi một số nhiều các thông tin, được thu thập rộng rãi, công khai và được sự đồng tình của các chuyên gia trong lĩnh vực đó Các luật biểu thị sự quyết đoán chuyên môn của các chuyên gia trong lĩnh vực
+ Mức độ hiệu quả của một hệ chuyên gia phụ thuộc vào kích thước và chất lượng của cơ sở tri thức mà hệ đó có được
+ Mỗi hệ chuyên gia chỉ đặc trưng cho một lĩnh vực vấn đề nào đó
Hệ chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệ nhân tạo Dưới đây là một số các lĩnh vực của Trí tuệ nhân tạo:
Hình 1 Một số lĩnh vực ứng dụng của trí tuệ nhân tạo
Hệ chuyên gia sử dụng các tri thức của những chuyên gia để giải quyết các vấn
đề (bài toán) khác nhau trong nhiều lĩnh vực Trong hệ chuyên gia có các khối cơ bản sau:
+ Khối lưu tri thức cơ sở: chúng được sử dụng để lưu các tri thức bao gồm các
sự kiện, các quan hệ và các luật
Trang 126
+ Khối suy luận hay motor suy luận: là bộ xử lý được mô hình hóa theo cách lập luận và xử lý của chuyên gia Motor nhận thông tin về sự kiện, so sánh chúng với các kiến thức đã có trong khối lưu tri thức cơ sở rồi rút ra kết luận hay bình luận Như vậy, motor cần có kỹ thuật về suy luận
Phạm vi ứng dụng
+ Hỗ trợ ra quyết định
+ Sử dụng trong các dây chuyền sản xuất, khai thác độ hại và nguy hiểm + Hỗ trợ chuyên gia khi cần sử dụng lại các tri thức không còn nhớ hoặc khuyết thiếu
+ Giải hoặc hỗ trợ chuyên giả để “giải các vấn đề” phức tạp
1.6 Các đặc tính của chuyên gia và hệ chuyên gia
a Tri thức và các lập luận
Định nghĩa 1.3:
(1) Cơ sở tri thức của chuyên gia lĩnh vực là các kiến thức sẵn có được sử dụng
để giải quyết vấn đề đã cho thuộc lĩnh vực đó
(2) Cơ sở tri thức của hệ chuyên gia là bộ nhớ tri thức lĩnh vực
Một hệ chuyên gia gồm ba thành phần chính là cơ sở tri thức, máy suy diễn hay môtơ suy diễn và hệ thống giao tiếp với người sử dụng
Cơ sở tri thức chứa các tri thức có sẵn
Máy suy diễn tạo ra câu trả lời cho người sử dụng qua hệ thống giao tiếp dựa trên cơ sở tri thức
Người sử dụng cung cấp các thông tin, dữ liệu cần được xử lý thông qua hệ chuyên gia Sau quá trình xử lý, hệ chuyên gia đưa ra kết quả cần thiết cho người
sử dụng nhờ giao diện tương tác
Hoạt động của một hệ chuyên gia dựa trên tri thức được minh họa như sau :
Trang 137
Hình 2 Hoạt động của hệ chuyên gia
Mỗi một hệ chuyên gia chỉ xử lý cho các vấn đề trong một lĩnh vực xác định dựa trên các tri thức có sẵn được tạo ra từ trước của lĩnh vực đó và các dữ liệu phụ trợ đi cùng
Tùy theo yêu cầu người sử dụng mà có nhiều cách nhìn nhận khác nhau về một
hệ chuyên gia
Loại người sử dụng Vấn đề đặt ra
Người quản trị Tôi có thể dùng nó để làm gì?
Kỹ thuật viên Làm cách nào để tôi vận hành nó tốt
Nó có đáng tin cậy không?
b Các đặc trưng của hệ chuyên gia
Có bốn đặc trưng cơ bản của một hệ chuyên gia:
+ Hiệu quả cao: Hiệu quả đưa ra kết quả trả lời và độ chính xác cao
+ Thời gian trả lời thoả đáng: Khả năng truy xuất kết quả thông qua dữ liệu đầu vao cho trước nhanh hơn so với các chuyên gia Hệ chuyên gia là một hệ thống thời gian thực
Người sử dụng
Hệ thống giao tiếp
Cơ sở tri thức
Máy suy diễn
Trang 14c Những ưu điểm của hệ chuyên gia :
+ Phổ cập: Là sản phẩm chuyên gia, được phát triển không ngừng với hiệu quả
+ Đa lĩnh vực: Hệ chuyên gia có thể sử dụng cho nhiều lĩnh vực khác nhau và
có thể sử dụng nhiều tri thức cơ sở của nhiều lĩnh vực khác nhau Trong khi các chuyên gia thông thường chỉ thành thạo trong một lĩnh vực xác định
+ Độ tin cậy: Luôn đảm bảo độ tin cậy khi khai thác
+ Khả năng giảng giải: Các vấn đề được giải quyết thông qua các cơ chế rõ ràng
+ Khả năng trả lời: Trả lời theo thời gian thực, khách quan
+ Tính ổn định: suy luận có lý và đầy đủ mọi lúc mọi nơi
+ Trợ giúp thông minh như một người hướng dẫn: Có thể truy cập như là một
cơ sở dữ liệu thông minh
1.7 Các lĩnh vực ứng dụng của hệ chuyên gia
Hệ chuyên gia thể hiện thể hiện được tầm quan trong của nó trong các lĩnh vực của đời sống Sau đây là một số các ứng dụng quan trọng nhất của hệ chuyên gia:
Trang 15Dạy học kiểu thông minh sao cho sinh viên có thể
hỏi vì sao, như thế nào và cái gì nếu giống như hỏi
một người thầy giáo Giải thích
Giải thích những dữ liệu thu nhận được
Kiểm tra So sánh dữ liệu thu lượm được với dữ liệu chuyên
môn để đánh giá hiệu quả Lập kế hoạch Lập kế hoạch sản xuất theo yêu cầu
Dự đoán Dự đoán hậu quả từ một tình huống xảy ra
Chữa trị Chỉ định cách thụ lý một vấn đề
Điều khiển Điều khiển một quá trình, đòi hỏi diễn giải, chẩn
đoán, kiểm tra, lập kế hoạch, dự đoán và chữa trị
1.8 Kiến trúc tổng quát của các hệ chuyên gia
a) Các thành phần cơ bản của một hệ chuyên gia
Một hệ chuyên gia kiểu mẫu gồm bảy thành phần cơ bản như sau:
Trang 1610
Hình 3 Những thành phần cơ bản của một hệ chuyên gia
+ Cơ sở tri thức: Gồm các phần tử (hay đơn vị) tri thức, thông thường được gọi
là luật, được tổ chức như một cơ sở dữ liệu
+ Máy duy diễn: Công cụ (chương trình, hay bộ xử lý) tạo ra sự suy luận bằng cách quyết định xem những luật nào sẽ làm thỏa mãn các sự kiện, các đối tượng , chọn ưu tiên các luật thỏa mãn, thực hiện các luật có tính ưu tiên cao nhất
+ Lịch công việc: Danh sách các luật ưu tiên do máy suy diễn tạo ra thoả mãn các sự kiện, các đối tượng có mặt trong bộ nhớ làm việc
+ Bộ nhớ làm việc: Cơ sở dữ liệu toàn cục chứa các sự kiện phục vụ cho các
Bộ thu nạp
tri thức
Giao diện người, máy
Trang 17+ Giao diện người sử dụng: Là nơi người sử dụng và hệ chuyên gia trao đổi với nhau
Trong một cơ sở tri thức, người ta thường phân biệt hai loại tri thức là tri thức phán đoán và tri thức thực hành
+ Các tri thức phán đoán mô tả các tình huống đã được thiết lập hoặc sẽ được thiết lập
+ Các tri thức thực hành thể hiện những hậu quả rút ra hay những thao tác cần phải hoàn thiện khi một tình huống đã được thiết lập hoặc sẽ được thiết lập trong lĩnh vực đang xét Các tri thức thực hành thường được thể hiện bởi các biểu thức
dễ hiểu và dễ triển khai thao tác đối với người sử dụng
Hình 4 Quan hệ giữa máy suy diễn và cơ sở tri thức
b) Một số mô hình kiến trúc của hệ chuyên gia
Có nhiều mô hình kiến trúc hệ chuyên gia theo các tác giả khác nhau Sau đây
Trang 18Dữ liệu
Cấu trúc máy
suy diễn
Máy suy diễn
Tri thức mới Người sử dụng yêu cầu
Trang 1913
Hình 7 Kiến trúc hệ chuyên gia theo E V Popov
1.9 Các dạng tri thức và cách thể hiện
a Định nghĩa 1.4:
+ Lĩnh vực là miền mà chủ đề quan tâm
+ Thể hiện tri thức là phương pháp cho phép mã hóa tri thức trong cơ sở tri thức của hệ thống
b) Các dạng tri thức
Tri thức có thể được mô tả thông qua rất nhiều dạng một cách đa dạng Bảng sau đây mô tả các dạng cơ bản của tri thức:
Tri thức thủ tục Các luật, các chiến lược, lịch và các thủ tục
Tri thức mô tả Các khái niệm, đối tượng và sự kiên
Tri thức meta Tri thức về các dạng tri thức khác
Tri thức may rủi Các luật may rủi
Tri thức cấu trúc Các tập luật, quan hệ và khái niệm quan hệ của
sử dụng
Khả năng thích nghi
Bộ nhớ làm việc
Sở hữu tri thức
Diễn dịch
Cơ sở tri thức
Trang 2014
c) Thể hiện của tri thức
Tri thức của một hệ chuyên gia có thể được biểu diễn theo nhiều cách khác nhau Thông thường người ta sử dụng các cách sau đây:
+ Biểu diễn tri thức bởi các luật sản xuất
+ Biểu diễn tri thức nhờ mệnh đề logic
+ Biểu diễn tri thức nhờ mạng ngữ nghĩa
+ Biểu diễn tri thức nhờ ngôn ngữ nhân tạo
Ngoài ra, người ta còn sử dụng cách biểu diễn tri thức nhờ các sự kiện không chắc chắn, nhờ bộ ba: đối tượng, thuộc tính và giá trị (O-A-V: Object-Attribute-Value), nhờ khung (frame), v.v Tuỳ theo từng hệ chuyên gia, người ta có thể sử dụng một cách hoặc đồng thời cả nhiều cách Sau đây sẽ trình bày một số cách biểu diễn tri thức:
■ Biểu diễn tri thức bởi các luật sản xuất
Hiện nay, hầu hết các hệ chuyên gia đều là các hệ thống dựa trên luật, bới lý do như sau :
+ Bản chất đơn thể: Có thể đóng gói tri thức và mở rộng hệ chuyên gia một cách dễ dàng
+ Khả năng diễn giải dễ dàng: Dễ dàng dùng luật để diễn giải vấn đề nhờ các tiền đề đặc tả chính xác các yếu tố vận dụng luật, từ đó rút ra được kết quả
+Tương tự quá trình nhận thức của con người: Dựa trên các công trình của Newell và Simon, các luật được xây dựng từ cách con người giải quyết vấn đề
Cách biểu diễn luật nhờ IF THEN đơn giản cho phép giải thích dễ dàng cấu trúc tri thức cần trích lọc
Luật là một kiểu sản xuất được nghiên cứu từ những năm 1940 Trong một hệ thống dựa trên luật, công cụ suy luận sẽ xác định những luật nào là tiên đề thỏa mãn các sự việc
Các luật sản xuất thường được viết dưới dạng IF THEN Có hai dạng:
IF < điều kiện > THEN < hành động > hoặc
Trang 2115
IF < điều kiện > THEN < kết luận > DO < hành động >
Tuỳ theo hệ chuyên gia cụ thể mà mỗi luật có thể được đặt tên Chẳng hạn mỗi
luật có dạng Rule: tên Sau phần tên là phần IF của luật
Phần giữa IF và THEN là phần trái luật, có nội dung được gọi theo nhiều tên
khác nhau, như tiền đề, điều kiện, mẫu so khớp
Phần sau THEN là kết luận hay hậu quả Một số hệ chuyên gia có thêm phần hành động được gọi là phần phải luật
Ví dụ :
1 Rule: Đèn đỏ
IF Đèn đỏ sáng THEN Dừng
2 Rule: Đèn-xanh
IF Đèn xanh sáng THEN Đi
Trong ví dụ trên, Đèn đỏ sáng và Đèn xanh sáng là những điều kiện, hay những khuôn mẫu Sau đây là một số ví dụ khác :
3 Rule: Điều trị sốt
IF Bệnh nhân sốt THEN cho uống thuốc Aspirin
4 Hệ thống chẩn đoán xe máy (OPS5)
IF
máy xe nổ không ổn định, OR máy xe nổ rồi lại tắt, AND bugi khô THEN
Dự đoán : Xe đã bị nghẹt xăng
Trang 2216
Xử lý : nên xúc rửa bình xăng và bộ khoá xăng của xe
■ Biểu diễn tri thức nhờ mệnh đề logic
Người ta sử dụng các ký hiệu để thể hiện tri thức và các phép toán lôgic tác động lên các ký hiệu để thể hiện suy luận lôgic Kỹ thuật chủ yếu thường được sử dụng là lôgic vị từ
Các ví dụ dưới đây minh hoạ cách thể hiện các phát biểu (cột bên trái) dưới dạng vị từ (cột bên phải) :
Phát biểu Vị từ
Tom là đàn ông MAN(tom)
Tom là cha của
Tất cả mọi người
đều chết
MAN(X) → MORTAL(X) với quy ước MAN(X) có nghĩa “X là một người” và
MORTAL(X) có nghĩa “X chết” MAN và MORTAL được
gọi là các vị từ đối với biến X
Các vị từ thường có chứa hằng, biến hay hàm Người ta gọi các vị từ không
chứa biến (có thể chứa hằng) là các mệnh đề Mỗi vị từ có thể là một sự kiện hay
một luật Luật là vị từ gồm hai vế trái và phải được nối nhau bởi một dấu mũi tên (→) Các vị từ còn lại (không chứa mũi tên) được gọi là các sự kiện Trong ví dụ trên đây, MAN và FATHER là các mệnh đề và là các sự kiện Còn MAN(X) → MORTAL(X) là một luật
Ví dụ từ các tri thức sau:
Marc có tóc vàng hoe, còn Jean có tóc màu nâu Pierre là cha của Jean Marc là cha của Pierre Jean là cha của René Marc là con của Georges
Trang 2317
Giả sử X, Y và là Z những người nào đó, nếu Y là con của X thì X là cha của
Y Nếu X là cha của Z và Z là cha của Y thì X là ông của Y
ta có thể biểu diễn thành các sự kiện và các luật như sau :
a BLOND (marc)
b BROWN (jean)
c FATHER (pierre, jean)
d FATHER (marc, pierre)
e FATHER (jean, rené)
f SON (marc, georges)
g FATHER (X, Y) ← SON (Y, X)
h GRANDFATHER (X, Y) ← FATHER (X, Z), FATHER (Z, Y)
Người ta gọi tập hợp các sự kiện và các luật là một cơ sở tri thức
Trong logic vị từ, một mệnh đề được cấu tạo bởi 2 thành phần là các đối tượng tri thức và mối liên hệ giữa chúng (gọi là vị từ)
Ví dụ: Cam có vị ngọt Vị (cam, ngọt)
Cam có màu xanh Màu(cam, xanh)
Các sự kiện được cho bởi Rqi (x,y,z, ), I=1 ,k ,ở đây qi (x,y,z, ) là các vị từ phụ thuộc vào các hạng thức x, y, z,
Các luật có dạng p1 pnq(.)
Logic vị từ cho phép biểu diễn hầu hết các khái niệm và các phát biểu định lý, định luật trong các bộ môn khoa học Cách biểu diễn này khá trực quan và ưu điểm căn bản của nó là có một cơ sở lý thuyết vững chắc cho những thủ tục suy diễn nhằm tìm kiếm và sản sinh ra những tri thức mới, dựa trên các sự kiện và các luật
đã cho
* Ưu điểm
- Là ngôn ngữ biểu diễn kiểu mô tả
- Có khả năng suy diễn đối với các cơ chế quen thuộc : Pronens & Tollens
Trang 2418
- Khá trực quan với người sử dụng
- Khá gần gũi về cú pháp với các lệnh lập trình logic, chẳng hạn như PROLOG
- Có thể dùng để mô tả cấu trúc mô hình và xử lý động mô hình
- Có thể kiểm tra tính mâu thuẫn trong cơ sở tri thức
- Tính module cao, do vậy các tri thức có thể thêm bớt sửa đổi khá độc lập với nhau và các cơ chế suy diễn
■ Biểu diễn tri thức nhờ mạng ngữ nghĩa
Trong phương pháp này, người ta sử dụng một đồ thị gồm các nút và các cung
nối các nút để biểu diễn tri thức Nút dùng để thể hiện các đối tượng, thuộc tính của đối tượng và giá trị của thuộc tính Còn cung dùng để thể hiện các quan hệ giữa các đối tượng Các nút và các cung đều được gắn nhãn
Ví dụ để thể hiện tri thức “sẻ là một loài chim có cánh và biết bay”, người ta vẽ
một đồ thị như sau:
Hình 8 Biểu diễn tri thức nhờ mạng ngữ nghĩa
Trang 2519
Bằng cách thêm vào đồ thị các nút mới và các cung mới, người ta có thể mở rộng một mạng ngữ nghĩa Các nút mới được thêm thể hiện các đối tượng tương tự
(với các nút đã có trong đồ thị), hoặc tổng quát hơn Chẳng hạn để thể hiện “chim
là một loài động vật đẻ trứng” và “cánh cụt là loài chim biết lặn“, người ta vẽ
thêm như sau :
Một trong những tính chất quan trọng của mạng ngữ nghĩa là tính thừa kế Khi
sử dụng mạng ngữ nghĩa để biểu diễn tri thức, người ta phải xây dựng các phép toán tương ứng
Hình 9 Mở rộng mạng ngữ nghĩa biểu diễn tri thức
- Là ngôn ngữ biểu diễn dạng mô tả
- Mạng ngữ nghĩa rất linh động, ta có thể dễ dàng thêm vào mạng các đỉnh hoặc cung mới để bổ sung các tri thức cần thiết
- Mạng ngữ nghĩa cho phép các đỉnh có thể thừa kế các tính chất từ các đỉnh khác thông qua các cung loại “là”, từ đó, có thể tạo ra các liên kết “ngầm” giữa những đỉnh không có liên kết trực tiếp với nhau
Trang 2620
- Mạng ngữ nghĩa hoạt động khá tự nhiên theo cách thức con người ghi nhận thông tin
* Nhược điểm:
- Không có một phương pháp suy diễn chung cho mọi loại mạng ngữ nghĩa
- Khó kiểm soát được quá trình cập nhật tri thức, dễ dẫn đến mâu thuẫn trong
cơ sở tri thức Cho đến nay, vẫn chưa có một chuẩn nào quy định các giới hạn cho các đỉnh và cung của mạng Nghĩa là bạn có thể gán ghép bất kỳ khái niệm nào cho đỉnh hoặc cung Tính thừa kế (vốn là một ưu điểm) trên mạng sẽ có thể dẫn đến nguy cơ mâu thuẫn trong tri thức
■ Biểu diễn tri thức bằng FRAME
Phương pháp biểu diễn tri thức bằng FRAME có tất cả các tính chất vốn có của một ngôn ngữ biểu diễn tri thức Nghĩa là nó có thể biểu diễn tri thức ở góc độ giao diện người-máy, góc độ mô tả mô hình, điều khiển hệ thống Đồng thời nó cũng là một cơ sở cho một phương pháp xử lý thông tin mới - hướng đối tượng Nếu phương pháp nhờ logic và mạng ngữ nghĩa dùng để biểu diễn tri thức mô tả và phương pháp luật sản xuất dùng để biểu diễn tri thức thủ tục thì các FRAME là kết hợp của cả 2 dạng biểu diễn : mô tả và thủ tục
FRAME tận dụng được các ưu điểm của luật sản xuất, vị từ, cũng như mạng ngữ nghĩa
Cấu trúc của FRAME :
<tên FRAME>
<tên slot 1>
<thuộc tính thừa kế> (như trên, duy nhất, miền )
< kiểu slot> (text, integer, real, pointer )
< giá trị slot> (tên, giá trị, thủ tục, )
<tên slot 2>
Ví dụ về 1 FRAME mô tả tập HOCSINH :
Frame HOCSINH
Trang 27Nói tiếng : Việt/Anh/Pháp
=> cấu trúc này cho ta một khung dữ liệu để khoanh vừng các đối tượng là học sinh Trường hợp gặp 1 người cao 180 cm, nặng 45 kg ta có thể khẳng định rằng
đó không phải học sinh, vì không thỏa mãn các ràng buộc đã có
* Ưu điểm:
- Đáp ứng tất cả các yêu cầu về biểu diễn tri thức
- Cho phép người sử dụng khá tự do khi biểu diễn tri thức
- FRAME không chỉ sử dụng để mô tả tri thức mà còn được dùng thể hiện các thuật toán suy diễn
- Tận dụng được những điểm mạnh của biểu diễn thủ tục và mô tả
- Quá trình xử lý trên các FRAME độc lập theo nghĩa kế thừa thông tin, không nhất thiết phải tuần tự
* Nhược điểm:
- Phương pháp biểu diễn quá phức tạp và cồng kềnh
- Phương pháp biểu diễn FRAME tiện lợi đối với kỹ sư xử lý tri thức cũng như người sử dụng có trình độ cao, nhưng lại là sự quá tải đối với những người sử dụng thông thường
- Các giá trị của slot có thể gán qua thực hiện các thủ tục, điều này làm cho việc thu nạp và cập nhật tri thức trở nên phức tạp và làm khả năng mềm dẻo, phù hợp với những thay đổi của môi trường bên ngoài bị giảm xuống
- Do cấu trúc của FRAME nên khi biểu diễn cần phải sử dụng các biện pháp khá cầu kỳ Vì vậy làm mất đi tính trực quan trong phương pháp biểu diễn
Trang 2822
- Đối với các bài toán phức tạp thì việc mô tả và điều khiển hệ thống sử dụng FRAME sẽ phức tạp lên rất nhiều so với các phương pháp biểu diễn khác
■ Biểu diễn nhờ bộ ba liên hợp OAV(object-attribute-value)
Biểu diễn tri thức nhờ bộ ba liên hợp OAV là sử dụng bộ ba “Đối tượng”-
“Thuộc tính”-“Giá trị” (Object-Attribute-Value) để chỉ ra rằng đối tượng với thuộc tính đã cho nào đó có một giá trị nào đó
Ví dụ:
(Nguyễn A, cao, 167)
(Nguyễn A, nặng, 64)
(Nguyễn A, râu, không)
(Nguyễn A, nói, tiếng Việt)
=>Có thể mô tả dưới dạng mạng ngữ nghĩa và các bộ liên hợp như sau :
Hình 10 Biểu diễn tri thức nhờ bộ 3 liên hợp OAV
Đối tượng trong bộ ba liên hợp được chia thành 2 loại: đối tượng tĩnh và đối tượng động
Các đối tượng tĩnh được lưu trong bộ nhớ ngoài (băng từ, đĩa ) và khi cần được nạp vào bộ nhớ trong để xử lý
Trang 2923
Các đối tượng động được khởi tạo trong quá trình làm việc và được lưu giữ ở
bộ nhớ trong phục vụ cho việc xử lý
Một điều quan trọng là các đối tượng có thể sắp xếp và liên kết lại với nhau cũng giống như trong liên kết các FRAME Tuy vậy, không thể biết một cách chính xác và tường minh bản chất của từng liên kết Vì vậy người ta thường sử dụng bộ ba liên hợp để biểu diễn các sự kiện không chắc chắn
* Ưu điểm :
- Cho phép biểu diễn các đối tượng một cách trực quan
- Tính mô đun tương đối cao
- Là ngôn ngữ biểu diễn dạng mô tả
- Cho phép diễn đạt tường minh các luật suy diễn
* Nhược điểm: Tuy vậy, cách biểu diễn này thực chất là một dạng đặc biêt của phương pháp mạng ngữ nghĩa nên nó cũng có các nhược điểm của mạng ngữ nghĩa Ngoài ra khi sử dụng phương pháp này, các quan hệ, liên kết giữa các đối tượng không thể biểu diễn một cách tường minh
■ Biểu diễn tri thức nhờ ngôn ngữ nhân tạo
Theo quan điểm của người sử dụng, các hệ chuyên gia cần có phương thức giao tiếp bằng ngôn ngữ tự nhiên Điều này giúp cho quá trình tương tác giữa người sử dụng và các chuyên gia trở nên dễ dàng hơn rất nhiều Tuy nhiên, hiện nay, các hệ thống chỉ có khả năng đối thoại trên ngôn ngữ là tiếng Anh và hạn chế trong lĩnh vực chuyên môn
Hình dưới đây thể hiện một đơn vị tri thức (luật) trong hệ chuyên gia MYCIN dùng để chẩn đoán các bệnh virut Cột bên trái là một luật được viết bằng tiếng
Anh, cột bên phải là mã hoá nhân tạo của luật đó
Trang 30tồn tại một khả năng (0.7) là cơ
thể bị nhiễm khuẩn cầu chùm
STAPHYLOCOCCUS MEASURE 0.7))
Hình 11 Biểu diễn tri thức nhờ ngôn ngữ nhân tạo trong MYCIN
1.10 Cơ chế suy diễn trong hệ chuyên gia
Cơ chế suy diễn là các cơ chế liên kết các tri thức đã có để suy dẫn ra những tri thức mới Nó là bộ phận điều khiển logic cho toàn bộ hệ thống đảm nhiệm việc suy luận và đưa ra kết luận chứng minh
a.Cơ chế suy diễn thường sử dụng trong thực tế
■ Cơ chế suy diễn tiến
Tư tưởng chung của cơ chế suy diễn tiến là ở điểm: xuất phát từ tập các giả thiết, sẽ làm “ Nở dần” bằng cách thêm vào các sự kiện mới, cho đến khi một trong các kết luận cần chứng minh được phát hiện.[3]
Giải thuật:
Vào:
Tập luật R ={ r1, r2 , rm}, ri: left ri right ri
Tập sự kiện ban đầu : F = { r1, r2 , rm }
Sự kiện đích : {f0}
Ra :
Thông báo “ thành công“ nếu suy ra đến sự kiện đích
Trang 31}
Fm = Cj;
}
Until (F0 là tập con của Fm) or (Fc = Fm)
If F0 Fm then exit(“thành công”);
else exit(“Không thành công”);
}
■ Cơ chế suy diễn lùi
Tư tưởng chung của cơ chế suy diễn lùi là ở điểm: để đưa ra kết luận B ta thử tìm tất cả các luật có dạng A1 A A2 … A An -> B Để có B phải đưa ra các kết luận
A1, A2 … An Quá trình xác định A1 cũng tương tự đối với B Nếu đến một lúc nào
đó phát hiện được rằng có một Ai0 nào đó không dẫn xuất được từ các giả thiết thì
ta quay luui sang sản xuất khác sinh ra B có dạng B1A B2 … A Bm -> B Ngược lại nếu mọi Ai đều dẫn xuất được từ giả thiết thì quá trình ra B đã thành công.[3]
Trang 3226
Sau đây là giải thuật:
Vào:
Tập luật R = { r1, r2, … rm }, ri : left ri -> right ri
Tập sự kiện ban đầu : F = { f1, f2, …, fn }
Trang 33b, Suy diễn tập trung.[3]
■ Suy diễn tại máy đơn
- Cấu trúc dữ liệu của cơ chế suy diễn
OPERNODEptr=^OPERNODE;
XORNODEptr=^XORNODE;
Trang 3428
// Phần khai báo danh sách các luật (Rules)
RULENODEptr= ^RULENODE;
RULENODE = record
Name:string;// Tên của sự kiện
style:byte; //xác định kiểu cùa sự kiện trong luật
//0: khẳng định; 1: phủ định Next:RULENODEptr; //Trỏ tới sự kiện tiếp theo trong luật Jump:RULENODEptr; //Trỏ tơí sự kiên cùng tên Dùng để truyền ứng ptn:RULENODEptr;// Trỏ tới luật tiếp theo
NumRuletreal;// Số luật
NumLeft:integer; //Số các phần tử vế trái trong luật =-1 default;=-2 sau khi đã truyền ứng,>l vế phải
CF:real; // Độ chắc chắn Hiện tại chưa sử dụng
Ref:string;// Dòng text dùng để chỉ luật này đo đâu mà có (Reference)
end;
// Phần khai báo danh sách các sự kiện (facts)
FACTNODEptr=AFACTNODE;
FACTNODE=record
Name:string;//Tên của sự kiện
style:byte;//0:đúng ; l:sai; 2:đã hỏi nhưng không biết;3: chưa hỏi
Jump:RULENODEptr;//Trỏ đến sự kiện có cùng tên đầu tiên trong luật
ptr:FACTNODEptr;//Trỏ đến sự kiện tiếp theo
Ques:string;//Định nghĩa câu hỏi sự kiện
Expl:string;// Định nghĩa câu giải thích