Hình 2.1. Nền tảng công nghệ hệ chuyên gia dựa trên luật [2] 2.2.1. Hệ chuyên gia suy diễn tiến
Hệ chuyên gia suy diễn tiến là hệ chuyên gia giải quyết các vấn đề bắt đầu từ lý giải từ dữ liệu ban đầu của bài toán lập luận trên cơ sở logic để khám phá các sự kiện mới dẫn đến kết luận của bài toán. Để thiết kế một hệ chuyên gia suy diễn tiến bao gồm các bƣớc đƣợc mô tả nhƣ sau:
Bƣớc 1: Định nghĩa vấn đề.
Bƣớc 2: Định nghĩa dữ liệu vào của hệ thống.
Bƣớc 3: Định nghĩa cấu trúc điều khiển của hệ thống.
Bƣớc 4: Mã hóa cơ sở tri thức.
Bƣớc 5: Thử nghiệm hệ thống.
Bƣớc 6: Thiết kế hệ thống giao diện ngƣời sử dụng hệ chuyên gia.
Bƣớc 7: Mở rộng hệ thống.
Ví dụ: Thiết kế hệ chuyên gia suy diễn tiến cố vấn sinh viên học tập:
+ Định nghĩa vấn đề: Bài toán đặt ra là thiết kế hệ chuyên gia suy diễn tiến cố vấn sinh viên học tập giải quyết các vấn đề nhƣ sau:
1. Giải quyết các môn học mà sinh viên đã thi đậu và cho qua. 2. Xử lý các môn học mà sinh viên đƣợc đặc cách cho qua. 3. Xử lý các môn học có các môn học tiên quyết.
4. Xử lý các môn học mà sinh viên đƣợc phép đăng ký học trong mỗi học kỳ. + Định nghĩa dữ liệu đầu vào của bài toán:
1. Các môn học bắt buộc. 2. Các môn học tự chọn.
3. Các môn học có các môn học tiên quyết. 4. Các môn học mà sinh viên đã học xong.
5. Các môn học cho phép sinh viên đƣợc đăng ký trong mỗi học kỳ.
+ Cấu trúc điều khiển suy diễn tiến của hệ thống: Cơ sở luật của hệ thống đƣợc thiết lập gồm các luật là:
Luật 1: Nếu X là môn học mà sinh viên đã thi đậu cho qua thì sinh viên đã học xong với môn X.
Luật 2: Nếu X là môn học mà sinh viên đã đƣợc đặt cách cho qua thì sinh viên đã học xong với môn X.
Luật 3: Nếu sinh viên đã học xong với môn học X và Q là danh sách chứa các môn học mà sinh viên đã học xong thì Q chứa X.
Luật 4: Nếu X có môn học tiên quyết Y thì môn học trƣớc của X là Y. Luật 5: Nếu X có môn học tiên quyết Y và Y có môn học tiên quyết Z thì môn học trƣớc của X là Z.
Luật 6: Nếu môn học tiên quyết của X là Y và P là danh sách chứa các môn học tiên quyết thì của X phải chứa Y.
Luật 7: Nếu Q là danh sách chứa các môn học mà sinh viên đã học xong với X, P là danh sách các môn trƣớc của X và P là tập con của Q thì sinh viên đã học xong tất cả với các môn học trƣớc của X.
Luật 8: Nếu X là môn học bắt buộc, sinh viên chƣa học xong với X, sinh viên đã học xong tất cả các môn học trƣớc của X và X là môn học cho phép sinh viên đăng ký học trong học kỳ thì cho phép sinh viên đăng ký môn học với X.
Luật 9: Nếu X là môn học tự chọn, sinh viên chƣa học xong với X, sinh viên đã học xong tất cả với các môn học tiên quyết của X và X là môn học cho phép sinh viên đăng ký học trong học kỳ thì cho phép sinh viên đăng ký môn học với X.
+ Mã hóa tri thức:
- Các môn học bắt buộc đƣợc mã hóa bằng kí hiệu điển hình là
bat_buoc(“Tin học đại cƣơng”)
bat_buoc (“Cấu trúc dữ liệu”)
bat_buoc(“Ngôn ngữ Assembly”)
bat_buoc(“Hệ điều hành”).
v.v….
- Các môn học tự chọn đƣợc mã hóa bằng ký hiệu điển hình là
tu_chon(“Hệ thống thông tin”).
tu_chon(“Trình biên dịch”).
tu_chon(“Phân tích thuật toán”).
- Các môn học tiên quyết đƣợc mã hóa bằng ký hiệu điển hình là
tien_quyet(“Toán cao cấp 1”, “Toán cao cấp 2”)
tien_quyet(“Hệ điều hành”, “Ngôn ngữ Assembly”)
- Các môn học cho phép sinh viên đƣợc phép đăng ký học trong học kỳ đƣợc mã hóa bằng ký hiệu điển hình là:
dang_ky(“Tin học đại cƣơng”)
dang_ky(“Toán cao cấp 2”)
- Các môn học đƣợc đặc cách cho qua và thi đậu đƣợc mã hóa bằng ký hiệu điển hình là:
dac_cach(“Tin học đại cƣơng”)
dac_cach (“Toán cao cấp 1”)
thi_dau(“Ngôn ngữ Assembly”)
thi_dau(“Toán cao cấp 1”)
- Các luật đƣợc mã hóa bằng ký hiệu điển hình là:
Luật 1: if thi_dau(X) then hoc_xong(X).
Luật 2: if dac_cach(X) then hoc_xong(X).
Luật 3: if findall(Y,hoc_xong(Y),X) then tatca_hoc_xong(X).
Luật 4: if tien_quyet(X,Y) then truoc(X,Y).
Luật 5: if tien_quyet(X,Y) andtruoc (Y,Z) then truoc (X,Z).
Luật 6: if tim_tatca(Y,truoc(X,Y),Z) then tatca_truoc(X,Z).
Luật 7: if tatca_truoc(X,Z) and tatca_hoc_xong(Q) andtap_con(Z,Q)
then ketqua_truoc(X).
Luật 8: if bat_buoc(X) and not(hoc_xong(X)) and dang_ky(X) and
Luật 9: if tu_chon(X) and not(hoc_xong(X)) and dang_ky(X) and ketqua_truoc(X) then dang_ky_tuchon(X).
Hệ chuyên gia suy diễn tiến đƣợc dùng trong trƣờng hợp tất cả hoặc một phần dữ liệu đƣợc cho ngay từ đầu, có nhiều mục tiêu, nhƣng chỉ có ít các phép toán có thể áp dụng cho một trạng thái bài toán.
2.2.2. Hệ chuyên gia suy diễn lùi
Hệ chuyên gia suy diễn lùi là hệ xử lý số liệu vào ra bắt đầu từ dữ liệu đích với cấu trúc điều khiển luật suy diễn móc xích lùi về dữ liệu ban đầu của bài toán. Để thiết kế một hệ chuyên gia suy diễn lùi bao gồm các bƣớc đƣợc mô tả nhƣ sau:
Bƣớc 1: Định nghĩa bài toán.
Bƣớc 2: Định nghĩa các đích của bài toán.
Bƣớc 3: Thiết kế các luật móc xích đích đến suy diễn lùi giải quyết bài
toán.
Bƣớc 4: Mở rộng hệ thống.
Bƣớc 5: Cải thiệt hệ thống.
Bƣớc 6: Thiết kế hệ thống giao diện ngƣời sử dụng hệ chuyên gia.
Bƣớc 7: Đánh giá hệ thống.
Ví dụ: Thiết kế hệ chuyên gia suy diễn lùi tƣ vấn tài chính bao gồm các công việc đƣợc mô tả nhƣ sau:
+ Định nghĩa bài toán:
Bài toán tƣ vấn khách hàng về tài chính nên đầu tƣ số tiền của họ vào một trong các loại phần vốn đầu tƣ tiết kiệm, chứng khoán, công trái đều phụ thuộc vào tình trạng bản thân và tình trạng tài chính của khách hàng. Tình trạng bản thân của khách hàng phụ thuộc vào độ tuổi, công việc làm và tình trạng gia đình.
Tình trạng tài chính của khách hàng phục thuộc vào tài sản hiện có và tình trạng gia đình. Nhƣ vậy, hai nhân tố quan trọng nhất để dẫn đến đích của bài toán tƣ vấn khách hàng đầu tƣ phần tiền của họ vào các khoản đầu tƣ đó là tình trạng bản thân và tình trạng tài chính của khách hàng ổn định hay không ổn định.
+ Định nghĩa cái đích của bài toán: Với bài toán này, cái đích của bài toán đƣợc định nghĩa là:
Phần vốn đầu tƣ loại 1: 100% đầu tƣ vào tiết kiệm.
Phần vốn đầu tƣ loại 2: 60% đầu tƣ vào thị trƣờng chứng khoán, 30% đầu tƣ vào thị trƣờng công trái, 10% đầu tƣ vào tiết kiệm.
Phần vốn đầu tƣ loại 3: 20% đầu tƣ vào thị trƣờng chứng khoán, 40% đầu tƣ vào thị trƣờng công trái, 40% đầu tƣ vào tiết kiệm.
Phần vốn đầu tƣ loại 4: 100% đầu tƣ vào thị trƣờng chứng khoán. + Thiết kế luật suy diễn đích:
Luật 1: Nếu số tiền của khách nhỏ hơn 1000 USD thì tƣ vấn khách hàng
nên đầu tƣ 100% vốn vào tiết kiệm.
Luật 2: Nếu tình trạng bản thân của khách hàng là không ổn định và tình hình tài chính là không ổn định thì tƣ vấn khách hàng nên đầu tƣ 100% vốn vào tiết kiệm.
Luật 3: Nếu tình trạng bản thân của khách hàng là không ổn định và tình hình tài chính là ổn định thì tƣ vấn khách hàng nên đầu tƣ 60% vốn vào thị trƣờng chứng khoán, 30% vốn vào thị trƣờng công trái, 10% vốn đầu tƣ vào tiết kiệm.
Luật 4: Nếu tình trạng bản thân của khách hàng là ổn định và tình trạng tài chính của khách hàng là không ổn định thì tƣ vấn cho khách hàng nên đầu tƣ 20% vốn vào thị trƣờng chứng khoán, 40% vốn vào thị trƣờng công trái, 40% vốn vào tiết kiệm.
Luật 5: Nếu tình trạng bản thân của khách hàng là ổn định và tình trạng tài chính của khách hàng là ổn định thì tƣ vấn cho khách hàng nên đầu tƣ 100% vốn vào thị trƣờng chứng khoán.
Luật 6: Nếu tình trạng của khách hàng là lớn tuổi hoặc việc làm của khách hàng là không ổn định thì tình trạng bản thân của khách hàng là không ổn định.
Luật 7: Nếu tuổi của khách hàng là trẻ tuổi và việc làm của khách hàng là ổn định và khách hàng có trẻ con thì tình trạng bản thân của khách hàng là không ổn định.
Luật 9: Nếu tuổi của khách hàng lớn hơn 40 tuổi là khách hàng lớn tuổi Luật 10: Nếu tuổi của khách hàng nhỏ hơn 40 tuổi là khách hàng trẻ tuổi. Luật 11: Nếu thời gian làm việc của khách hàng là hơn 10 năm thì việc làm của khách hàng là ổn định.
Luật 12: Nếu thời gian hợp đồng làm việc của khách hàng là từ 3 đến 10 năm và mức độ sa thải là thấp thì việc làm của khách hàng là ổn định.
Luật 13: Nếu thời gian hợp đồng làm việc của khách hàng là từ 3 đến 10 năm và mức độ sa thải là cao thì việc làm của khách hàng là không ổn định.
Luật 14: Nếu thời gian hợp đồng làm việc của khách hàng ít hơn 3 năm thì việc làm của khách hàng là không ổn định.
Luật 15: Nếu tổng số tài sản của khách hàng là nhỏ hơn tổng số nợ của khách hàng thì tình trạng tài chính của khách hàng là không ổn định.
Luật 16: Nếu tổng số tài sản của khách hàng là lớn hơn tổng số nợ của khách hàng và nhỏ hơn 2 lần tổng số nợ của khách hàng và khách hàng có trẻ con thì tình trạng tài chính của khách hàng là không ổn định.
Luật 17: Nếu tổng số tài sản của khách hàng là lớn hơn tổng số nợ của khách hàng thì tình trạng tài chính của khách hàng là ổn định.
Danh mục đầu tư 1 Danh mục đầu tư 2 Danh mục đầu tư 2 Danh mục đầu tư 2
or and and and and
Đầu tư < 1000 USD Tình trạng bản thân
= không ổn định Tình trạng bản thân = ổn định
Tình trạng tài chính
= không ổn định Tình trạng tài chính = ổn định
Hình 2.2: Mạng suy diễn lùi của hệ chuyên gia tƣ vấn tài chính
Tình trạng bản thân không ổn định Tình trạng bản thân ổn định Khách hàng không có trẻ con or and and Khách hàng lớn tuổi Công việc
không ổn định Khách hàng trẻ tuổi Công việc ổn
định Khách hàng có trẻ con or and Kinh nghiệm <3
Sa thải cao Kinh nghiệm
3- 10 Sa thải thấp Kinh nghiệm > 10 and <40 >=40
Tình trạng tài chính không ổn định Tình trạng tài chính ổn định Khách hàng không có trẻ con or and and Tổng tài sản < Tổng nợ Tổng tài sản < 2* Tổng nợ Khách hàng có trẻ con Tổng tài sản > 2* Tổng nợ Tổng tài sản > Tổng nợ
Hình 2.4: Mạng suy diễn tình trạng tài chính của khách hàng 2.3. Tổng kết chƣơng 2
Chƣơng 2 trình bày một số kỹ thuật suy luận trong hệ chuyên gia, hệ chuyên gia suy diễn tiến, lùi. Chƣơng tiếp sẽ trình bày về ứng dụng tƣ vấn tuyển sinh có sử dụng các luật của hệ chuyên gia tƣ vấn tuyển sinh.
CHƢƠNG 3: BÀI TOÁN TƢ VẤN TUYỂN SINH VÀ CÀI ĐẶT CHƢƠNG TRÌNH THỬ NGHIỆM
3.1. Thiết kế hệ chuyên gia tƣ vấn tuyển sinh theo mô hình RIASEC 3.1.1. Bài toán tƣ vấn tuyển sinh 3.1.1. Bài toán tƣ vấn tuyển sinh
Bài toán đặt ra là thiết kế hệ chuyên gia theo suy diễn tiến để tƣ vấn cho các bạn trẻ giải quyết các vấn đề nhƣ sau:
Xử lý các thông tin cá nhân ban đầu của đối tƣợng cần đƣợc tƣ vấn
gồm: Khối thi tốt nhất, đối tƣợng làm việc, tình trạng sức khỏe để chọn nhóm ngành nghề kiểm tra lần thứ 1.
Xử lý các thông tin về tố chất; xu hƣớngvà năng lực của đối tƣợng tƣ
vấn sau khi tiến hành kiểm tra lần thứ 1. Chọn nhóm nghề phù hợp hơn để kiểm tra lần thứ 2.
Xử lý các thông tin về tố chất; xu hƣớng và năng lực của đối tƣợng
tƣ vấn sau khi tiến hành kiểm tra lần thứ 2. Chọn nhóm ngành nghề phù hợp hơn để kiểm tra lần thứ 3 hoặc thứ 4 (nếu cần thiết).
Dựa vào 3 lần kiểm tra đƣa ra kết luận cuối cùng là đối tƣợng cần tƣ vấn phù hợp với những nghề nào.
3.1.2. Đầu vào bài toán tƣ vấn tuyển sinh
- Các đối tƣợng làm việc - Tình trạng sức khỏe. - Khối thi tốt nhất.
3.1.3. Các phát biểu cơ sở xây dựng cấu trúc điều khiển hệ thống
Phát biểu 1: Những ngƣời thuộc nhóm R thích sử dụng dụng cụ và học tốt các môn học khối T và A.
Phát biểu 2: Những ngƣời thuộc nhóm I thích sử dụng ý tƣởng, có sức khỏe tốt và học tốt các môn học khối T và A.
Phát biểu 3: Những ngƣời thuộc nhóm I thích sử dụng dụng cụ và học tốt các môn học khối B.
Phát biểu 4: Những ngƣời thuộc nhóm A thích sử dụng ý tƣởng, có sức khỏe tốt và học tốt các môn học khối H, N, S.
Phát biểu 5: Những ngƣời thuộc nhóm A thích sử dụng ý tƣởng, có sức khỏe bình thƣờng và học tốt các môn học khối C hoặc H, N, S.
Phát biểu 6: Những ngƣời thuộc nhóm S thích làm việc với con ngƣời và học tốt các môn học khối B hoặc C.
Phát biểu 7: Những ngƣời thuộc nhóm E thích làm việc với con ngƣời và học tốt các môn học khối D.
Phát biểu 8: Những ngƣời thuộc nhóm E thích làm việc với dữ liệu, có sức khỏe tốt và học tốt các môn học khối C.
Phát biểu 9: Những ngƣời thuộc nhóm C thích làm việc với dữ liệu, có sức khỏe tốt hoặc bình thƣờng và học tốt các môn học khối A hoặc D.
Phát biểu 10: Nếu nhƣ nhóm nghề X có tố chất, xu hƣớng, và năng lực phù hợp với ngƣời cần tƣ vấn thì ngƣời đó phù hợp với tất cả các nghề thuộc nhóm nghề X.
Phát biểu 11: Có 8 mức độ ƣu tiên dựa vàocác kết quả đo tố chất, xu hƣớng, và năng lực tƣơng ứng với từng nhóm nghề. Ƣu tiên xét tố chất, rồi mới xét đến xu hƣớng và cuối cùng là năng lực.
Phát biểu 12: Có 4 trƣờng hợp ứng với 8 mức độ ƣu tiên: TH1 gồm ƢT1 và ƢT2; TH2 gồm ƢT3 và ƢT4; TH3 gồm ƢT5 và ƢT6; TH4 gồm ƢT7 và ƢT8.
Phát biểu 13: Nếu nhóm nghề X thuộc TH1 thì kết luận tất cả các nghề thuộc nhóm nghề X đều phù hợp với đối tƣợng tƣ vấn.
Phát biểu 14: Nếu nhóm nghề X thuộc TH2 thì kiểm tra nhóm nghề gần với X ( trái và phải). Dự vào 3 kí tự ( kết quả khi so sánh độ ƣu tiên 3 nhóm nghề) để đƣa ra nghề phù hợp.
Phát biểu 15: Nếu nhóm nghề X thuộc TH3 thì kiểm tra nhóm nghề xa với X ( trái và phải). Dựa vào 3 kí tự ( kết quả khi so sánh độ ƣu tiên 3 nhóm nghề) để đƣa ra nghề phù hợp.
Phát biểu 16: Nếu nhóm nghề X thuộc TH4 thì kiểm tra nhóm nghề đối diện với X (là Y). Sau đó kiểm tra tiếp 2 nhóm nghề gần với Y (trái và phải của Y). So sánh độ ƣu tiên của X, Y, Z ( với Z là kết quả khi so sanh nhóm nghề gần bên trái và nhóm nghề gần bên phải của Y). Từ kết quả 3 kí tự để đƣa ra nghề phù hợp:
Phát biểu 17: Trong trƣờng hợp mức độ ƣu tiên của 2 nhóm nghề là nhƣ nhau thì so sánh tỉ lệ phần trăm (% ) đạt yêu cầu của tố chất, xu hƣớng, năng lực của 2 nhóm nghề đó.
3.1.4. Cơ sở luật của hệ thống
Giai đoạn 1: Chọn nhóm ngành nghề để kiểm tra
Khối Sức khỏe Sức khỏe Khối I Đối tƣợng tƣ vấn X Dụng cụ Ý tƣởng R Dữ liệu Ngƣời A T C B S E B D Khối Khối Tốt Bình thƣờng A A B