Sau một thời gian tìm hiểu, nghiên cứu cùng với những kiến thức mà tôi đã được các thầy, cô giáo trong khoa CNTT trường Đại học sư phạm Hà Nội 2 trang bị, đặc biệt là được sự đồng ý của
Trang 1LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn TS Trịnh Đình Vinh, trường Đại học sư phạm Hà Nội 2 đã trực tiếp hướng dẫn và chỉ bảo tận tình cho em hoàn thành khóa luận này
Em cũng xin gửi lời cảm ơn tới các thầy, cô giáo trong khoa Công nghệ Thông tin, trường Đại học sư phạm Hà Nội 2, những người đã giúp đỡ, tạo điều kiện cho em trong suốt quá trình học tập và nghiên cứu
Cuối cùng, em xin bày tỏ lòng biết ơn tới gia đình và bạn bè đã giúp
đỡ, động viên em rất nhiều trong suốt quá trình học tập để em có thể thực hiện tốt khóa luận này
Em chân thành gửi lời cảm ơn sâu sắc đến thầy, cô giáo và các bạn!
Hà Nội, tháng 5 năm 2013
Sinh viên
Lại Văn Hiệp
Trang 2LỜI CAM ĐOAN
Tên em là: LẠI VĂN HIỆP
Sinh viên lớp: K35 – Tin học, khoa Công nghệ Thông tin, trường Đại học sư phạm Hà Nội 2
Em xin cam đoan:
1 Đề tài: “Mô hình hệ chuyên gia và xây dụng chương trình ứng dụng”
là sự nghiên cứu của riêng em, dưới sự hướng dẫn của thầy giáo TS Trịnh Đình Vinh
2 Khóa luận hoàn toàn không sao chép của tác giả nào khác
Nếu sai em xin hoàn toàn chịu trách nhiệm
Hà Nội, tháng 5 năm 2013 Người cam đoan
Lại Văn Hiệp
Trang 3MỤC LỤC
BẢNG CÁC TỪ VIẾT TẮT
DANH MỤC CÁC HÌNH VẼ
MỞ ĐẦU 1
Chương 1: CƠ SỞ LÝ THUYẾT 5
1.1 Trí tuệ nhân tạo 5
1.1.1 Giới thiệu chung về trí tuệ nhân tạo 5
1.1.2 Lịch sử phát triển 6
1.1.3 Các ứng dụng của trí tuệ nhân tạo 9
1.2 Cơ sở tri thức 9
1.2.1 Phân biệt tri thức và dữ liệu 9
1.2.2 Phân loại tri thức 11
1.2.3 Các cấp độ tri thức 12
1.2.4 Các phương pháp biểu diễn tri thức 13
Chương 2: MÔ HÌNH HỆ CHUYÊN GIA 22
2.1 Hệ chuyên gia là gì? 22
2.2 Đặc trưng và ưu điểm của hệ chuyên gia 23
2.3 Phạm vi ứng dụng của hệ chuyên gia 24
2.4 Kiến trúc của hệ chuyên gia 25
2.5 Một số mô hình kiến trúc hệ chuyên gia 26
2.5.1 Mô hình kiểu mẫu 26
2.5.2 Mô hình J.L.Ermine 28
2.5.3 Mô hình C.Ernest 28
2.5.4 Mô hình E.V.Popov 29
2.6 Mô tơ suy diễn 29
2.6.1 Cơ chế suy diễn 29
2.6.2 Cơ chế điều khiển 33
Chương 3: XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG 36
Trang 43.1 Phát biểu bài toán 36
3.2 Nhân tướng học 36
3.2.1 Giới thiệu 36
3.2.2 Những nét cơ bản về cá tính biểu hiện qua khuôn mặt 37
3.2.3 Cá tính biểu hiện qua vầng trán 38
3.2.4 Cá tính biểu hiện qua cặp mắt 39
3.2.5 Cá tính biểu hiện qua hình dáng mũi 39
3.2.6 Cá tính biểu hiện qua hình dáng miệng 40
3.2.7 Cá tính biểu hiện qua đôi tai 41
3.2.8 Một số khuôn mặt thường thấy 41
3.3 Giải quyết bài toán 42
3.3.1 Cơ sở tri thức 43
3.3.2 Cơ sở dữ liệu 44
3.4 Giao diện chương trình 48
KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 52
TÀI LIỆU THAM KHẢO 54
Trang 5BẢNG CÁC TỪ VIẾT TẮT
Trang 6DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Đồ thị thể hiện tri thức “Sẻ là một loài chim có cánh biết bay” 16
Hình 1.2: Đồ thị 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” 16
Hình 1.3: Mô tả dưới dạng ngữ nghĩa 21
Hình 2.1: Hoạt động của hệ chuyên gia 22
Hình 2.2: Kiến trúc của một hệ chuyên gia tiêu biểu 25
Hình 2.3: Mô hình kiểu mẫu 26
Hình 2.4: Mô hình J.L.Ermine 28
Hình 2.5: Mô hình C.Ernest 28
Hình 2.6: Mô hình E.V.Popov 29
Hình 3.1: Ràng buộc trong cơ sở dữ liệu 44
Hình 3.2: Bảng thông tin về các bộ phận trên khuôn mặt 45
Hình 3.3: Bảng các đặc điểm của từng bộ phận trên khuôn mặt người 45
Hình 3.4: Bảng các tính cách có thể có của con người 46
Hình 3.5: Bảng thông tin về các mối quan hệ có thể có giữa các tính cách 46
Hình 3.6: Bảng mối quan hệ giữa các đặc điểm của từng bộ phận trên khuôn mặt với tính cách của con người 47
Hình 3.7: Bảng mối quan hệ giữa các tính cách 47
Hình 3.8: Giao diện chính 48
Hình 3.9: Form phỏng đoán 49
Hình 3.10: Nút đăng nhập form cập nhật cơ sở dữ liệu 49
Hình 3.11: Form cập nhật cơ sở dữ liệu 50
Hình 3.12: Form thiết lập các mối quan hệ giữa đặc điểm nhận dạng và tính cách 50
Hình 3.13: Form thiết lập các mối quan hệ giữa hai tính cách chuẩn 51
Trang 7Ở nước ta, máy tính đã được các cơ quan, doanh nghiệp quan tâm trang
bị trong những năm gần đây, tuy nhiên chủ yếu dùng soạn thảo văn bản và các ứng dụng khác nhưng còn hạn chế Tuy nhiên, với tốc độ phát triển và công nghiệp hóa toàn cầu như hiện nay, vấn đề sử dụng những chiếc máy có khả năng lưu trữ tri thức, xử lý thông tin, trợ giúp ra quyết định như chuyên gia đã trở thành nhu cầu bức thiết
Việc áp dụng các thành tựu của CNTT vào xây dựng những chiếc máy
có khả năng lưu trữ và hỗ trợ ra quyết định như chuyên gia, thay vì phải đào tạo và thuê nhiều chuyên gia xử lý các tri thức với tốc độ xử lý thông tin thấp, chi phí cao giúp tiết kiệm rất nhiều thời gian, chi phí và công sức của con người
Trong “Nhân tướng học” cũng vậy Từ khi đất nước mở cửa, văn hóa Việt Nam giao lưu, hội nhập rộng rãi với thế giới, “Nhân tướng học” là một
bộ phận đã thâm nhập và đi sâu vào cuộc sống, xã hội, con người Việt Nam
Mỗi người đều có một khuôn mặt, nhưng khuôn mặt của mỗi người hoàn toàn không giống nhau Từ những khuôn mặt khác biệt này, chúng ta có thể phát hiện được rất nhiều điều bí mật Dựa theo quan điểm dân gian, phần trán đại diện cho trí lực của con người, phần mũi đại diện cho ý chí, còn phần miệng lại thể hiện tâm tư tình cảm của con người
Trang 82
Nhìn mặt đoán tính cách vốn là kinh nghiệm có từ lâu đời, đến nay nó vẫn được sử dụng như một “môn nghệ thuật” với những kỹ năng và mức độ khác nhau Nhân tướng học còn tiên đoán luôn cả vận mệnh, dám khẳng định
cả sự thành bại, thịnh suy, xét cả quá khứ lẫn tương lai, chứ không dừng lại ở một giai đoạn nào
Câu hỏi đặt ra là “làm thế nào để xem được vận mệnh, nhìn được những
gì sắp xảy ra trong tương lai dựa vào biểu hiện trên khuôn mặt Từ đó ta biết được cần phát huy những gì và loại bỏ những gì, với thời gian sớm nhất, tốc
độ nhanh nhất, độ an toàn cao, chi phí thấp,…”
Sau một thời gian tìm hiểu, nghiên cứu cùng với những kiến thức mà tôi
đã được các thầy, cô giáo trong khoa CNTT trường Đại học sư phạm Hà Nội 2 trang bị, đặc biệt là được sự đồng ý của giảng viên hướng dẫn, thầy Trịnh
Đình Vinh em đã chọn đề tài: “Mô hình hệ chuyên gia và xây dựng chương trình ứng dụng”
2 Mục đích nghiên cứu
- Nghiên cứu và xây dựng chương trình nhằm giúp cho việc lưu trữ các thông tin tri thức chuyên gia lâu dài
- Hỗ trợ ra quyết định hay giải quyết vấn đề
- Tăng tốc độ xử lý thông tin
- Giảm chi phí
3 Nhiệm vụ nghiên cứu
- Tìm hiểu hệ chuyên gia và tri thức chuyên gia về nhân tướng học
- Ứng dụng hệ chuyên gia xây dựng chương trình: Cho phép người sử dụng nêu ra các đặc tả của các bộ phận trên khuôn mặt như: Mắt, mũi, miệng, trán, tai… Thông qua các đặc tả đó, chương trình sẽ nêu lên dự đoán về tính cách của người có khuôn mặt như vậy
Trang 93
4 Đối tượng nghiên cứu
Đối tượng nghiên cứu của khóa luận là mô hình hệ chuyên gia và tính cách có thể có của con người thông qua đặc tả khuôn mặt
5 Phạm vi nghiên cứu
Nói tới nhân tướng học là nói tới một lĩnh vực vô cùng rộng lớn, vì vậy trong khuôn khổ khóa luận chỉ tìm hiểu đến một phần của khoa nhân tướng học, đó là tìm hiểu cá tính biểu hiện trên khuôn mặt
6 Ý nghĩa thực tiễn của đề tài
Có thể thay thế chuyên gia, giúp cho việc đoán nhận tính cách con người một cách đơn giản, dễ dàng hơn, không cần hay hạn chế sự phụ thuộc vào chuyên gia
Có thể xem được vận mệnh, nhìn được những gì sắp xảy ra trong tương lai dựa vào biểu hiện trên khuôn mặt Từ đó ta biết được cần phát huy những
gì và loại bỏ những gì, với thời gian sớm nhất, tốc độ nhanh nhất, độ an toàn cao, chi phí thấp, …
7 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn đề của đề tài
- Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù hợp với yêu cầu thực tiễn Nội dung xử lý nhanh đáp ứng được yêu cầu ngày càng cao của người sử dụng
- Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên
Trang 104
8 Cấu trúc khóa luận
Ngoài phần mở đầu, kết luận và phương hướng phát triển thì cấu trúc khóa luận gồm có các phần sau:
Chương 1: Cơ sở lý thuyết – Chương này trình bày một số kiến thức
cơ sở về trí tuệ nhân tạo, cơ sở tri thức
Chương 2: Mô hình hệ chuyên gia – Chương này trình bày kiến thức tổng quan về hệ chuyên gia
Chương 3: Xây dựng chương trình ứng dụng – Chương này trình bày những kiến thức tổng quan về nhân tướng học và xây dựng chương trình ứng dụng
- Hệ thống giúp cho việc lưu trữ tri thức chuyên gia lâu dài, hỗ trợ chuyên gia ra quyết định với tốc độ xử lý thông tin cao Người dùng có thể nêu ra các đặc tả khuôn mặt và dễ dàng đoán nhận tính người có khuôn mặt tương ứng
Trang 115
Chương 1: CƠ SỞ LÝ THUYẾT
1.1 Trí tuệ nhân tạo
1.1.1 Giới thiệu chung về trí tuệ nhân tạo
- Trí tuệ nhân tạo (AI: Artificial Intelligence) có thể được định nghĩa như một ngành của khoa học máy tính liên quan đến việc tự động hóa các hành vi thông minh AI là một bộ phận của khoa học máy tính và do đó nó phải được đặt trên những nguyên lý, lý thuyết vững chắc, có khả năng ứng dụng được của lĩnh vực này Những nguyên lý này bao gồm các cấu trúc dữ liệu dùng cho biểu diễn tri thức, các thuật toán cần thiết để áp dụng những tri thức đó, cùng các ngôn ngữ và kỹ thuật lập trình dùng cho việc cài đặt chúng
- Tuy nhiên định nghĩa trên phải chấp nhận một thực tế - trí tuệ tự nó là một khái niệm không được định nghĩa một cách rõ ràng Mặc dù hầu hết chúng ta đều có thể nhận ra các hành vi thông minh khi nhìn thấy chúng nhưng rất khó có thể đưa ra một định nghĩa về trí tuệ Vì thế mà vấn đề định nghĩa TTNT tự nó trở thành một sự định nghĩa trí tuệ: Đó có phải là một năng lực duy nhất hay chỉ là tên dùng gọi một tập hợp những khả năng khác nhau
và không liên quan gì đến nhau? Thế nào là khả năng sáng tạo? Thế nào là trực giác?
- Có thể kết luận ngay về tính trí tuệ từ việc quan sát một hành vi hay không hay cần phải có biểu hiện của một cơ chế nào đó nằm bên trong? Tất cả những câu hỏi này vẫn chưa được trả lời và chúng đã nêu ra những vấn đề cần
có phương pháp luận để giải quyết
- Trí tuệ nhân tạo (Artificial Intelligence – AI) là thuật ngữ do McCathy đưa ra tại hội thảo Dartmount năm 1956 dùng để chỉ cho một ngành khoa học mới trong lĩnh vực khoa học máy tính
- Nghiên cứu những vấn đề liên quan đến tư duy của con người, TTNT
kế thừa nhiều ý tưởng, quan điểm, kỹ thuật từ nhiều ngành khoa học khác như Triết học, Toán học, Tâm lý học, …
Trang 12- Các ngành logic, lý thuyết đồ thị, xác suất của toán học đóng góp rất nhiều cho TTNT
- Logic kinh điển Boole, logic vị từ Frege là những cơ sở quan trọng để biểu diễn tri thức
- Lý thuyết đồ thị cung cấp công cụ để mô hình một vấn đề, tìm kiếm lời giải, phân tích tính chính xác, tính hiệu quả của các chiến lược tìm kiếm lời giải
1.1.2 Lịch sử phát triển
Những năm gần đây, khá nhiều sách, báo, công trình nghiên cứu khoa học đề cập đến các kỹ thuật tính toán, người ta hay nhắc đến nhiều thuật ngữ như: Máy tính thông minh, máy tính thế hệ V, hệ chuyên gia, mạng ngữ nghĩa, Các ngôn ngữ lập trình như LISP, PROLOG mở đường cho việc áp dụng hàng loạt các hệ thống chương trình có khả năng “thông minh”
Trước đây, mỗi khi nói đến trí tuệ nhân tạo (TTNT) người ta thường quan tâm đến việc tạo lập các máy tính có khả năng “suy nghĩ”, thậm chí trong một số phạm vi hẹp nào đó, có thể cạnh tranh hoặc vượt quá khả năng của bộ não con người Những hy vọng này trong một thời gian dài đã ảnh hưởng rất nhiều đến các nghiên cứu trong phòng thí nghiệm Mặc dù những
mô hình tương tự các máy tính thông minh đã được đưa ra hàng nhiều năm trước, nhưng chỉ từ khi Alan Turing công bố những kết quả nghiên cứu quan trọng đầu tiên, người ta mới bắt đầu thực sự nghiên cứu đến các vấn đề TTNT một cách nghiêm túc Phát hiện của Turing cho rằng chương trình có thể được lưu trữ trong bộ nhớ để sau đó được thực hiện trên cơ sở các phép toán cơ bản
Trang 137
thao tác với các bit 0, 1 Điều này đã tạo nên nền tảng của những máy tính hiện đại
Việc lưu trữ chương trình trong máy cho phép thay đổi chức năng của
nó một cách nhanh chóng và dễ dàng thông qua việc nạp một chương trình mới vào bộ nhớ Theo một nghĩa nào đó, khả năng này làm cho máy tính có khả năng học và suy nghĩ Đó cũng chính là một trong những biểu hiện quan trọng đầu tiên của những máy tính được trang bị TTNT
Năm 1956, chương trình dẫn xuất kết luận trong hệ hình thức đã được công bố Tiếp theo đó, năm 1959 chương trình chứng minh các định lý hình học phẳng và chương trình giải quyết bài toán vạn năng (GPS - General Problem Solving) đã được đưa ra Tuy vậy chỉ cho đến khoảng năm 1960 khi McCathy ở MIT (Massachussets Institute of Technology) đưa ra ngôn ngữ lập trình đầu tiên dùng cho trí tuệ nhân tạo LISP (list processing), các nghiên cứu
về TTNT mới bắt đầu phát triển mạnh mẽ Thuật ngữ TTNT do Marvin Minsky một chuyên gia nổi tiếng cũng ở MIT đưa ra năm 1961 trong bài báo
“Steps Forwards To Artificial Intelligence” Những năm 60 có thể xem là một mốc quan trọng trong quá trình xây dựng các máy có khả năng suy nghĩ Các chương trình chơi cờ và các chương trình chứng minh định lý toán học đầu tiên cũng được công bố trong khoảng thời gian này Những bế tắc, hạn chế thành công của các công trình nghiên cứu TTNT trong những năm 60 chính là
do giới hạn khả năng của các thiết bị, bộ nhớ và đặc biệt là yếu tố thời gian thực hiện Chính những yếu tố này không cho phép tổng quát hóa những thành công bước đầu đạt được trong các hệ chương trình TTNT đã xây dựng Tuy rằng vào giữa những năm 70, bộ nhớ máy tính và thời gian tính toán đã được nâng cao đáng kể về chất, song những cách tiếp cận khác nhau đến TTNT vẫn chưa đem tới những thành công thật sự do sự bùng nổ tổ hợp trong quá trình tìm kiếm lời giải cho các bài toán đặt ra
Trang 148
Cuối những năm 70, một số nghiên cứu cơ bản trong các lĩnh vực như
xử lý ngôn ngữ tự nhiên, biểu diễn tri thức, lý thuyết giải quyết vấn đề đã đem lại diện mạo mới cho TTNT Thị trường tin học đã bắt đầu đón nhận những sản phẩm TTNT ứng dụng đầu tiên mang tính thương mại Đó là các hệ chuyên gia được áp dụng trong các lĩnh vực khác nhau
Hệ chuyên gia là các phần mềm máy tính, chứa các thông tin và tri thức
về một lĩnh vực cụ thể nào đó, có khả năng giải quyết những yêu cầu của người dùng ở một mức độ nào đó với trình độ như một chuyên gia có kinh nghiệm lâu năm Một trong những hệ chuyên gia đầu tiên được sử dụng thành công trong thực tế là hệ MYCIN, được thiết kế và cài đặt tại trường Đại học Tổng hợp Stanford Một sự kiện quan trọng trong sự phát triển của khoa học TTNT là sự ra đời của ngôn ngữ PROLOG, do Alain Calmerauer đưa ra năm
1972 Năm 1981, dự án của Nhật Bản xây dựng các máy tính thế hệ thứ V lấy ngôn ngữ PROLOG như là ngôn ngữ cơ sở đã làm thay đổi khá nhiều tình hình phát triển TTNT ở Mỹ cũng như châu Âu
Giai đoạn 1981 trở đi người ta cảm nhận khá rõ nét rằng các chuyên gia
về TTNT đang dần chuyển các kết quả nghiên cứu từ phòng thí nghiệm sang cài đặt các ứng dụng cụ thể Có thể nói đây cũng là giai đoạn cạnh tranh ráo riết của các công ty, các viện nghiên cứu hàng đầu nhằm đưa ra thị trường các sản phẩm phần mềm ứng dụng kỹ thuật TTNT Cuối những năm 80, đầu những năm 90 thị trường các sản phẩm dân dụng đã có khá nhiều sản phẩm ở trình độ cao như máy giặt, máy ảnh, sử dụng TTNT
Các hệ thống nhận dạng và xử lý hình ảnh, tiếng nói đang ngày càng thúc đẩy sự phát triển kỹ thuật mạng Neuron Sự xích lại của hai cách tiếp cận: Tiếp cận mờ trong lập luận xấp xỉ, kỹ thuật mạng Neuron đã và đang gây được sự quan tâm đặc biệt của các chuyên gia tin học Bên cạnh sự xuất hiện của các hệ chuyên gia, các ứng dụng công nghiệp và quản lý xã hội, quản lý
Trang 151.1.3 Các ứng dụng của trí tuệ nhân tạo
Trí tuệ nhân tạo có những ứng dụng cơ bản sau:
- Suy luận chứng minh định lý tự động
- Hệ chuyện gia
- Hiểu và mô hình hóa ngữ nghĩa ngôn ngữ tự nhiên
- Mô hình hóa hoạt động của con người
1.2.1 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 quy ướ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 mình với người sử dụng bất
kỳ
Trang 1610
- 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ệ 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
Trang 1711
1.2.2 Phân loại tri thức
Tri thức tồn tại dưới hai dạng cơ bản:
Ví dụ: Khẳng định “Việt Nam là đất nước tươi đẹp” Đây là một khẳng định bất biến, không phụ thuộc vào tình huống, không gian và thời gian Các tri thức phụ thuộc không gian và thời gian đòi hỏi những mô hình biểu diễn đặc biệt, cho phép thể hiện các tương quan giữa các sự kiện, quá trình không gian và thời gian
Ngoài ra các tri thức mô tả còn cho phép miêu tả các mối liên hệ, các ràng buộc giữa các đối tượng, các sự kiện và các quá trình
Ví dụ: “Tôi muốn mua bút” miêu tả mối quan hệ giữa đối tượng “tôi”
và “bút” thông qua quan hệ “muốn mua”
b) Tri thức thủ tục
Cho ta những phương pháp cấu trúc tri thức, ghép nối và suy diễn các tri thức mới từ những tri thức đã có Các tri thức loại này tạo nên cơ sở của kỹ nghệ xử lý tri thức
Trang 1812
Một số thủ tục tri thức cơ bản:
- Tổng hợp tri thức: Suy diễn, quy diễn, quy nạp
- Học tự động: 2 cách suy diễn logic thường được sử dụng trong các hệ thống là:
Modus Ponens:
B
B A
,
Nghĩa là nếu B sai, A suy ra B thì A cũng sai
c) Tri thức điều khiển
Dùng để điều khiển, phối hợp các nguồn tri thức thủ tục và tri thức mô
tả khác nhau
1.2.3 Các cấp độ tri thức
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 mô tả, tri 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
Trang 1913
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 đủ
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 1m70”
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.2.4 Các phương pháp biểu diễn tri thức
a) Biểu diễn tri thức nhờ logic
Dựa vào các khái niệm cơ bản về logic mệnh đề và logic vị từ, với một
số bài toán, các trạng thái được mô tả qua các biểu thức logic Khi đó bài toán được phát biểu lại dưới dạng:
Trang 2014
A Chứng minh: Từ GT1 GT2 …GTm suy ra một trong các kết luận: KL1, …, KLn
Ở đây: GTi, KL j là các biểu thức logic (mệnh đề hoặc vị từ)
B Tìm phép gán cho các biến tự do sao cho từ GT1, …, GTm suy ra một trong các kết luận KL1, …, KLn
- Cơ sở tri thức bằng logic mệnh đề:
Tập F = (p1,…, pn) tạo nên giả thiết cho quá trình suy diễn
Các luật ở dạng chuẩn Horn: p1 pnq
- Cơ sở tri thức biểu diễn bằng logic vị từ:
Cơ sở tri thức được cấu tạo bởi 2 phần:
Trang 2115
- Ư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
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 môđun 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
b) 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
Trang 2216
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 1.1: Đồ thị thể hiện tri thức “Sẻ là một loài chim có cánh biết bay”
Bằng cách thêm vào đồ thị 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 cung 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:
Hình 1.2: Đồ thị 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”
Trang 23 Là ngôn ngữ biểu diễn dạng mô tả
Có thể áp dụng một số cơ chế trên mạng: Cơ chế truyền và thừa hưởng thông tin giữa các đối tượng
c) Biểu diễn tri thức nhờ các luật sản xuất
Để có thể tận dụng những điểm mạnh trong suy diễn logic nhờ nguyên
lý Modun Ponens, các hệ chuyên gia trí tuệ nhân tạo đưa ra các luật sản xuất
Trang 2418
- Ưu điểm:
Cách biểu diễn khá đơn giản và trực quan
Có thể suy diễn theo chiến lược khác nhau: Suy diễn tiến, suy diễn lùi và suy diễn hỗn hợp
Khá gần gũi về cú pháp
Có thể kiểm tra tính mâu thuẫn giữa các luật
Tính mô đun cao, có nghĩa là việc thêm, sửa đổi hoặc loại bỏ các luật hoàn toàn không có ảnh hưởng tới các luật khác và cơ chế suy diễn
- Nhược điểm:
Năng xuất xử lý thấp
Không sử dụng được các cấu trúc dữ liệu
d) 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…)
Trang 25Chiều cao: 80 - 170 cm
Có râu: Không
Nó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 dẫ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
Trang 2620
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 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
Đố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
e) Biểu diễn nhờ bộ ba liên hợp O.A.V
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:
Trang 2721
Hình 1.3: Mô tả dưới dạng ngữ nghĩa
Đối tượng trong bộ ba liên hợp được chia thành 2 loại: Đối tượng tĩnh
- Ư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
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
Trang 28- 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 con người 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ỗi hệ chuyên gia chỉ đặc trưng cho một lĩnh vực vấn đề nào đó, như
y học, tài chính, khoa học hay công nghệ, …, mà không phải là cho bất cứ một lĩnh vực vấn đề nào
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 2923
2.2 Đặc trưng và ưu điểm của hệ chuyên gia
Hệ chuyên gia có 4 đặc trưng cơ bản sau:
- Hiệu quả cao: Khả năng trả lời với mức độ tinh thông bằng hoặc cao hơn so với chuyên gia (người) trong cùng lĩnh vực
- Thời gian trả lời thỏa đáng: Thời gian trả lời hợp lý, bằng hoặc nhanh hơn so với chuyên gia (người) để đi đến cùng một quyết định
- Độ tin cậy cao: Không thể xảy ra sự cố hoặc giảm sút độ tin cậy khi sử dụng
- Dễ hiểu: Hệ chuyên gia giải thích các bước suy luận một cách dễ hiểu
và nhất quán
Những ưu điểm của hệ chuyên gia:
- Lưu trữ: Hệ chuyên gia lưu trữ được nhiều thông tin và chủng loại thông tin từ nhiều chuyên gia khác nhau
- Tính khách quan: Hệ chuyên gia kết luận và bình luận khách quan không bị chi phối theo chủ quan của chuyên gia
- Tốc độ xử lý: Hệ chuyên gia có tốc độ xử lý nhanh hơn chuyên gia
- Tồn tại: Hệ chuyên gia lưu trữ được thông tin về tri thức lâu hơn chuyên gia
- Chi phí: Hệ chuyên gia có chi phí rẻ hơn chuyên gia
- Độ an toàn: Giúp con người tránh được rủi ro trong các môi trường nguy hiểm
- Tính thường trực: Trong khi con người có thể mệt mỏi, nghỉ ngơi hay vắng mặt thì hệ chuyên gia bất kể lúc nào cũng có thể khai thác sử dụng
- Khả năng giảng giải: Câu trả lời với mức độ tinh thông được giảng giải rõ ràng, chi tiết, dễ hiểu
- 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
Trang 30- Giải hoặc hỗ trợ chuyên gia để “giải các vấn đề” phức tạp
Bảng 2.1: Các ứng dụng của hệ chuyên gia
Điều khiển Quản lý hành vi hệ thống
Thiết kế Xây dựng cấu hình cho các đối tượng
Chuẩn đoán Chỉ ra các chức năng sai dựa trên các quan sát
Đào tạo Chuẩn đoán, tìm lỗi và chỉnh lý hành vi
Diễn giải Cho phép hiểu tình huống từ các thông tin không đầy đủ Giám sát So sánh các điều kiện quan sát với mục tiêu
Lập kế hoạch Các hành động thiết kế
Dự đoán Suy diễn theo dãy các tình huống đã biết
Chuẩn trị Khuyến cáo các chức năng sai
Lựa chọn Xác định các lựa chọn tốt nhất trong sử dụng số các khả
năng
Mô phỏng Mô hình hóa tương tác giữa các thành phần hệ thống