LỜI MỞ ĐẦUHệ chuyên gia là một trong những lĩnh vực của trí tuệ nhân tạo được nghiên cứu và phát triển từ giữa thập niên 60, góp phần tạo ra các hệ thống có khả năng trí tuệ của con ngườ
Trang 1BÀI THU HOẠCH MÔN HỌC CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
ĐỀ TÀI:
HỆ CHUYÊN GIA VÀ XÂY DỰNG ỨNG DỤNG
NHẬN DẠNG ĐỘNG VẬT
GIÁO VIÊN HƯỚNG DẪN:
GS.TSKH HOÀNG VĂN KIẾM HỌC VIÊN: VƯƠNG ĐỨC HIỀN MSHV: CH1301087
Trang 2MỤC LỤC:
Trang 3LỜI MỞ ĐẦU
Hệ chuyên gia là một trong những lĩnh vực của trí tuệ nhân tạo được nghiên cứu và phát triển từ giữa thập niên 60, góp phần tạo ra các hệ thống có khả năng trí tuệ của con người, giải quyết các vấn đề dựa trên một tập luật phân tích thông tin và đưa lời khuyên về trình tự các hành động cần thực hiện để giải quyết vấn đề
Nhiều hệ chuyên gia đã được thiết kế và xây dựng để phục vụ trong nhiều lĩnh vực giáo dục, y học, kế toán, điều khiển tiến trình (process control), dịch vụ tư vấn tài chính (financial service), tài nguyên con người (human resources), đem lại những lợi ích tích cực
Bài thu hoạch này sẽ trình bày tổng quan về hệ chuyên gia, cách biểu diễn tri thức bằng luật dẫn trong một hệ chuyên gia, từ đó xây dựng ứng dụng hệ nhận dạng động vật sử dụng hệ luật dẫn để biểu diễn tri thức Mục đích của ứng dụng này
là để phục vụ trong công tác giảng dạy môn khoa học cho học sinh tiểu học
Trang 4CHƯƠNG 1 : KHÁI QUÁT VỀ HỆ CHUYÊN GIA VÀ BIỂU DIỄN TRI THỨC1.1 Hệ chuyên gia
1.1.1 Khái niệm cơ bản
Hệ chuyên gia là một chương trình máy tính mô hình hóa khả năng giải quyết vấn đề của các chuyên gia, sử dụng các tri thức và các thủ tục suy diễn để giải quyết các bài toán khó khăn đòi hỏi chuyên gia mới giải quyết được, làm việc giống như một chuyên gia thực thụ và cung cấp các ý kiến dựa trên kinh nghiệm của chuyên gia con người đã được đưa vào Hệ chuyên gia
Ví dụ: hệ chuyên gia trong y học: với mục đích trợ giúp các bác sĩ trong việc chuẩn đoán bệnh và điều trị, hệ chuyên gia chẩn đoán hỏng hóc đường dây điện thoại,…
1.1.2 Cấu trúc Hệ chuyên gia
Hệ chuyên gia làm việc như một chuyên gia thực thụ và có thể cung cấp các ý kiến tư vấn hỏng hóc dựa trên kinh nghiệm của chuyên gia đã được đưa vào hệ chuyên gia Hệ chuyên gia có các thành phần cơ bản sau:
(1) Bộ giao tiếp ngôn ngữ tự nhiên
(2) Động cơ suy diển
Trang 5Hình 1 Các thành phần của hệ chuyên gia
1.2 Vấn đề biểu diễn tri thức
1.2.1 Khái niệm biểu diễn tri thức
Biểu diễn tri thức là cách thể hiện tri thức trong máy dưới dạng sao cho bài toán có thể được giải tốt nhất Biểu diễn tri thức trong máy phải :
+ Thể hiện được tất cả các thông tin cần thiết
+ Cho phép tri thức mới được suy diễn từ tập các sự kiện và luật suy diễn + Cho phép biểu diễn các nguyên lý tổng quát cũng như các tình huống đặc trưng
+ Bắt lấy được ý nghĩa ngữ nghĩa phức tạp
+ Cho phép lý giải ở mức tri thức cao hơn
Trang 61.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 Để 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 tri thức thường gặp
• 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 đó 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
• 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 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 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ảm đảm hoàn toàn chính xác về kết quả giải quyết vấn đề Các chuyên 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 hơ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 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 71.2.3 Biểu diễn tri thức bằng luật dẫn
"NẾU điều kiện xảy ra THÌ hành động sẽ được thi hành".
Chẳng hạn : NẾU đèn giao thông là đỏ THÌ bạn không được đi thẳng, NẾU máy tính đã mở mà không khởi động được THÌ kiểm tra nguồn điện, v.v…
Một cách tổng quát luật dẫn có dạng như sau:
P 1∧ P 2∧ ∧ Pn Q
Tùy vào các vấn đề đang quan tâm mà luật sinh có những ngữ nghĩa hay cấu tạo khác nhau :
• Trong logic vị từ : P1, P2, , Pn, Q là những biểu thức logic
• Trong ngôn ngữ lập trình, mỗi một luật sinh là một câu lệnh
IF (P 1 AND P 2 AND AND Pn) THEN Q.
Để biểu diễn một tập luật dẫn, người ta phải chỉ rõ hai thành phần chính sau:
(1) Tập các sự kiện F (Facts):
F = { f1, f2, fn } (2) Tập các quy tắc R (Rules) áp dụng trên các sự kiện dạng như sau :
f1 ^ f2 ^ ^ fi q
Trong đó, các fi, q đều thuộc F
Trang 81.2.3.2 Cơ chế suy luận trên các luật sinh
Suy diễn tiến : là quá trình suy luận xuất phát từ một số sự kiện ban đầu, xác
định các sự kiện có thể được "sinh" ra từ sự kiện này
Suy diễn lùi : là quá trình suy luận ngược xuất phát từ một số sự kiện ban
đầu, ta tìm kiếm các sự kiện đã "sinh" ra sự kiện này Một ví dụ thường gặp trong thực tế là xuất phát từ các tình trạng của máy tính, chẩn đoán xem máy tính đã bị hỏng hóc ở đâu
Ví dụ: Trình bày một vận dụng của phương pháp hệ luật dẫn trong việc biểu diễn tri thức cho một hệ cơ sở tri thức ứng dụng “Chẩn đoán các vấn đề gây ra lỗi
để sửa chửa máy tính”
• Không sử dụng được máy tính
• Điện vào máy tính "có" hay "không"
Tập các luật:
Trang 9R1 Nếu ( (ổ cứng "hỏng") hoặc (cáp màn hình "lỏng")) thì không sử dụng được máy tính.
R2 Nếu (điện vào máy là "có") và ( (âm thanh đọc ổ cứng là "không") hoặc tình trạng đèn ổ cứng là "tắt")) thì (ổ cứng "hỏng")
R3 Nếu (điện vào máy là "có") và (tình trạng đèn màn hình là "chớp đỏ") thì (cáp màn hình "lỏng")
Để xác định được các nguyên nhân gây ra sự kiện "không sử dụng được máy tính", ta phải xây dựng một cấu trúc đồ thị gọi là đồ thị AND/OR như sau :
Hình 2 Cơ chế suy diễn của suy diễn lùi
Như vậy là để xác định được nguyên nhân gây ra hỏng hóc là do ổ cứng hỏng hay cáp màn hình lỏng, hệ thống phải lần lượt đi vào các nhánh để kiểm tra các điều kiện như điện vào máy "có", âm thanh ổ cứng "không".Tại một bước, nếu giá trị cần xác định không thể được suy ra từ bất kỳ một luật nào, hệ thống sẽ yêu cầu người dùng trực tiếp nhập vào Chẳng hạn như để biết máy tính có điện không,
hệ thống sẽ hiện ra màn hình câu hỏi "Bạn kiểm tra xem có điện vào máy tính
Trang 10không (kiểm tra đèn nguồn)? (C/K)" Để thực hiện được cơ chế suy luận lùi, người
ta thường sử dụng ngăn xếp (để ghi nhận lại những nhánh chưa kiểm tra)
1.2.3.3 Ưu điểm và nhược điểm của biểu diễn tri thức bằng luật dẫn
Ưu điểm:
Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống hệ thống cần đưa ra những hành động dựa vào những sự kiện có thể quan sát được Nó
có những ưu điểm chính yếu sau đây:
• Các luật rất dễ hiểu nên có thể dễ dàng dùng để trao đổi với người dùng (vì nó là một trong những dạng tự nhiên của ngôn ngữ)
• Có thể dễ dàng xây dựng được cơ chế suy luận và giải thích từ các luật
• Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng
• Có thể cải tiến dễ dàng để tích hợp các luật mờ
• Các luật thường ít phụ thuộc vào nhau
Trang 11• Cơ sở tri thức luật sinh lớn sẽ làm giới hạn khả năng tìm kiếm của chương trình điều khiển Nhiều hệ thống gặp khó khăn trong việc đánh giá các hệ dựa trên luật sinh cũng như gặp khó khăn khi suy luận trên luật sinh
Dạng biểu diễn tri thức cổ điển nhất trong máy tính là logic, với hai dạng phổ biến là logic mệnh đề và logic vị từ Cả hai kỹ thuật này đều dùng ký hiệu để thể hiện tri thức và các toán tử áp lên các ký hiệu để suy luận logic Logic đã cung cấp cho các nhà nghiên cứu một công cụ hình thức để biểu diễn và suy luận tri thức Em xin nói chi tiết về logic vị từ
Logic vị từ là sự mở rộng của logic mệnh đề nhằm cung cấp một cách biểu diễn rõ hơn về tri thức Logic vị từ dùng ký hiệu để biểu diễn tri thức
Logic vị từ, cũng giống như logic mệnh đề, dùng các ký hiệu để thể hiện tri thức Những ký hiệu này gồm hằng số, vị từ, biến và hàm
Hằng số: Các hằng số dùng để đặt tên các đối tượng đặc biệt hay thuộc
tính Nhìn chung, các hằng số được ký hiệu bằng chữ viết thường, chẳng hạn
an, bình, nhiệt độ Hằng số an có thể được dùng để thể hiện đối tượng An,
một người đang xét
Vị từ: Một mệnh đề hay sự kiện trong logic vị từ được chia thành 2 phần
là vị từ và tham số Tham số thể hiện một hay nhiều đối tượng của mệnh đề;
còn mệnh đề dùng để khẳng định về đối tượng Chẳng hạn mệnh đề "Nam thích Mai" viết theo vị từ sẽ có dạng:
thích(nam, mai)Với cách thể hiện này, người ta dùng từ đầu tiên, tức "thích", làm vị từ Vị từ cho biết quan hệ giữa các đối số đặt trong ngoặc Đối số là các ký hiệu thay cho các đối tượng của bài toán Theo quy ước chuẩn, người ta dùng các chữ thường để thể hiện các đối số
Trang 12Biến: Các biến dùng để thể hiện các lớp tổng quát của các đối tượng hay
thuộc tính Biến được viết bằng các ký hiệu bắt đầu là chữ in hoa Như vậy,
có thể dùng vị từ có biến để thể hiện nhiều vị từ tương tự
Ví dụ:
Có hai mệnh đề tương tự "Nam thích Mai" và "Bắc thích Cúc" Hai
biến X, Y dùng trong mệnh đề thích(X, Y).
Các biến nhận giá trị sẽ được thể hiện qua X=Nam, Bắc; Y=Mai, Cúc Trong phép toán vị từ người ta dùng biến như đối số của biểu thức vị
từ hay của hàm
Hàm: Logic vị từ cũng cho phép dùng ký hiệu để biểu diễn hàm Hàm mô
tả một ánh xạ từ các thực thể hay một tập hợp đến một phần tử duy nhất của tập hợp khác Ví dụ, các hàm sau đây được định nghĩa nhằm trả về một giá trị xác định:
cha(sơn) = Nam mẹ(sơn) = Mai
Phép toán: Logic vị từ cũng dùng các phép toán như logic mệnh đề
Ví dụ:
thích(X,Y) AND thích(Z,Y) -> thích(X,Z)
Trang 13CHƯƠNG 2 :
HỆ CHUYÊN GIA NHẬN DẠNG ĐỘNG VẬT
2.1 Giới thiệu chương trình
Hệ nhận dạng một số động vật trong bài thu hoạch này sử dụng cơ sở tri thức người dùng dựa trên các sự kiện người dùng đưa vào thông qua các phiên hỏi đáp
Hệ chuyên gia sẽ sử dụng một động cơ suy diễn thích hợp để kết hợp các sự kiện người dùng đưa vào đó với các luật đã được xây dựng sẵn để tìm được mục tiêu là câu trả lời thích hợp
Chương trình demo được thực hiện dựa theo một chương trình trước đây của chính tác giả bài thu hoạch tại [5]
Mục đích của chương trình demo này là để cài đặt, thử nghiệm một hệ
chuyên gia dùng mô hình hệ luật dẫn Từ đó có thể phát triển thêm nữa đế có thể ứng dụng được trong lĩnh vực giáo dục
2.2 Thu thập tri thức
Phần này trình bày việc thu thập tri thức về một số loại động vật Tri thức được thu thập có trong phạm vi khoa học thường thức, tổng hợp theo các sách giáo khoa về sinh học các cấp và kiến thức về sinh học phổ biến
Cơ sở tri thức của hệ nhận dạng động vật có thể được thể hiện một cách tổng quát thông qua sơ đồ sau:
Trang 142 Hình - Cơ sở tri thức hệ nhận dạng động vật
Trang 152.3 Xây dựng cơ sở tri thức dựa trên luật
2.3.1 Mô tả tri thức dữ liệu bằng tập luật
Dưới đây là bảng mô tả một số dữ liệu nhận dạng động vật dạng luật dẫn dựa trên
cơ sở tri thức ở trên
AND Có tai to
THEN Thỏ
AND Là động vật bú sứa AND Ăn thịt
AND Không biết bay AND Ngón tay cái không đối
AND Không biết bay AND Ngón tay cái đối diện ngón
Trang 162.3.2 Biểu diễn tri thức trong chương trình
Tri thức của hệ nhận dạng động vật gồm tập các sự kiện (gồm các đặc điểm của động vật), tập luật và các câu hỏi cho người dùng
Các sự kiện được biểu diễn trong file text Su_kien.txt gồm 2 phần Attribute
và Value
Một phần trong file Su_kien.txt sẽ có cấu trúc như sau đây:
Ví dụ cho các sự kiện:”6.Da nó không có vảy”; “7.Nó biết nhảy”; “8.Nó có vảy tròn”; “9.Nó không có vảy tròn”…
Begin1-mau_nong(yes)
Trang 17Các luật được biểu diễn trong file Luat.txt gồm 2 mệnh đề mỗi luật, dạng luật dẫn If….then.
File Luat.txt sẽ có cấu trúc giống như sau:
Ví dụ, con vật đó là tê giác nếu nó thỏa mãn các sự kiện: 1,13,16,23,26,51; tương ứng với các sự kiện: nó là động vật máu nóng (1), nó là động vật uống sữa (13), nó không ăn thịt (16), nó có móng guốc (23), nó có hai móng guốc (26) và móng có lớp mạ bảo vệ (51)
2.4 Xây dựng động cơ suy diễn
- Mô hình suy diễn được sử dụng là mô hình suy diễn tiến
- Hệ nhận dạng động vật đưa ra kết luận đó là con vật gì dựa trên các đặc tính nổi bật của nó (trong file Su_kien) đã được có trong cơ sở tri thức Đối với mỗi thuộc tính hệ thống sẽ ghi nhận giá trị có thuộc tính đó hay không thông qua câu trả lời
Beginech : 2,4,6,7ki_nhong : 2,4,6,8ran : 2,4,5,10,12ca_sau : 2,4,5,10,11rua : 2,4,5,9
ca_map : 2,3,38
ca : 2,3,37chuot_chui : 1,13,16,24,42,56,58kanguru : 1,13,16,24,42,56,57khong_biet : 1,13,16,24,42,55,40tho : 1,13,16,24,42,55,39
ca_heo : 1,13,16,24,41,60ca_voi : 1,13,16,24,41,59ngua : 1,13,16,23,26,52
Trang 18mà người dùng nhập vào ở mỗi phiên hỏi đáp Từ đó suy diễn tiến trên tập luật (Luat.txt) để đưa ra câu trả lời đúng cho người dùng.
- Cơ chế làm việc của hệ chuyên gia nhận dạng động vật thực hiện theo cơ chế hỏi đáp, giao tiếp với người dùng thông qua các câu hỏi dạng ngôn ngữ tự nhiên
2.5 Chương trình và kết quả thực nghiệm
Giao diện chính của chương trình
Một ví dụ hỏi đáp, suy diễn để tìm ra con vật thỏa các đặc điểm là cá voi (hình)
Trang 20KẾT LUẬN
Bài thu hoạch đã trình bày một số vấn đề về hệ chuyên gia, tri thức, cách biếu diễn tri thức bằng hệ luật dẫn Bên cạnh đó bài thu hoạch còn giới thiệu một chương trình demo hệ chuyên gia được xây dựng dựa trên hệ luật dẫn
Chương trình đã mô tả, biểu diễn và xử lý tri thức bằng logic dựa trên các sự kiện và luật Do thời gian có giới hạn nên chương trình chỉ mới thực hiện được một
số luật dẫn đơn giản, cơ sở tri thức không nhiều Trong hướng phát triển tiếp theo, xây dựng một hệ cơ sở tri thức sâu và rộng hơn cho chương trình để có thể ứng dụng vào thực tiễn được
Trang 21TÀI LIỆU THAM KHẢO
[1] Giáo trình các hệ cơ sở tri thức, GS TSKH Hoàng Kiếm, TS Đỗ Phúc, TS
Đỗ Văn Nhơn, năm 2008
[2] Bài giảng Trí tuệ nhân tạo và hệ chuyên gia, TS Nguyễn Thiện Thành, năm 2006
[3] Artificial Intelligence – Structure and Strategies for Complex Problem Solving (Fourth edition), George F Luger, Addison Wesley Publishing Company, 2002
[4] Website: http://www.vi.wikipedia.org/wiki/Hệ_chuyên_gia
[5] Website: http://vuonghienuit.wordpress.com/2012/07/29/166/