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 C H;N;S H;N;S Khối Bình thƣờng D;A C Khối Tốt D;A C Đầu vào
Hình 3.1: Mạng suy diễn lựa chọn nhóm ngành nghề ban đầu
Giải thích: Khi đối tƣợng tƣ vấn X xác định đối tƣợng lao động là dụng cụ hoặc ngƣời thì sẽ tiếp tục xác định khối thi để đƣa ra kết quả nhóm phù hợp ban đầu. Khi đối tƣợng tƣ vấn X xác định đối tƣợng lao động là ý tƣởng hoặc dữ liệu thì sẽ tiếp tục xác định sức khỏe và khối thi để đƣa ra kết quả nhóm phù hợp ban đầu.
Bảng 3.1: Các vị từ của hệ chuyên gia tƣ vấn tuyển sinh
STT Vị từ Giải thích
1 chon_DC(X) X chọn đối tƣợng làm việc là dụng cụ
2 chon_YT(X) X chọn đối tƣợng tác động là ý tƣởng
3 chon_N(X) X chọn đối tƣợng tác động là ngƣời
4 chon_DL(X) X chọn đối tƣợng tác động là dữ liệu
6 chon_khoi(X,Y)
Y= ̅̅̅̅̅ X chọn khối Y
7 nhom(X,Y) Nhóm nghề Y phù hợp với X
8 gan(X,Y,Z) Y gần bên phải X và Z gần bên trái X
9 xa(X,Y,Z) Y xa bên phải X và Z xa bên trái X
10 doi_dien(X,Y) Y đối diện X
11 to_chat(X) Nhóm nghề X có tố chất đạt yêu cầu
12 xu_huong(X) Nhóm nghề X có xu hƣớng đạt yêu cầu
13 nang_luc(X) Nhóm nghề X có năng lực đạt yêu cầu
14 uu_tien(X,Y) Y= ̅̅̅̅ Nhóm nghề X có độ ƣu tiên Y 15 truong_hop(X,Y) Y= ̅̅̅̅ X thuộc trƣờng hợp Y
16 bang_nhau(X,Y) X có mức độ ƣu tiên giống Y
17 lon_hon(X,Y) X có độ ƣu tiên lớn hơn Y
18 nghe(X,Y,Z) nghề có mã là XYZ
19 tat_ca_nghe(X,Y) Y là tập hợp tất cả các nghề có mã X
Các luật để xác định nhóm ngành nghề R:
- Luật 1: if chon_DC(X) and chon_khoi(X,“A”) then nhom(X,“R”).
Nếu X chọn dụng cụ và khối A thì X thuộc nhóm R
- Luật 2: if chon_DC(X) and chon_khoi(X,“T”) then nhom(X,”R”).
Nếu X chọn dụng cụ và khối T thì X thuộc nhóm R
Các luật để xác định nhóm ngành nghề I:
- Luật 3: if chon_DC(X) and chon _khoi(X,“B”) then nhom(X,”I”).
Nếu X chọn dụng cụ và khối B thì X thuộc nhóm I
- Luật 4: if chon_YT(X) and chon _suckhoeT(X) andchon_khoi(X,“A”)
Nếu X chọn ý tưởng và sức khỏe tốt và khối A thì X thuộc nhóm I
- Luật 5: if chon_YT(X) and chon_suckhoeT(X) and chon_khoi(X, “B”)
then nhom(X,”I”).
Nếu X chọn ý tưởng và sức khỏe tốt và khối B thì X thuộc nhóm I
Các luật để xác định nhóm ngành nghềA:
- Luật 6: if chon _YT (X) and chon _suckhoeT(X)and chon_khoi(X,
“H;N;S”) then nhom(X,“A”)
Nếu X chọn ý tưởng và sức khỏe tốt và khối H;N;S thì X thuộc nhóm A
- Luật 7: ifchon_YT(X)and ¬chon_suckhoeT(X) and chon_khoi(X,
“H;N;S”)then nhom(X,”A”).
Nếu X chọn ý tưởng và sức khỏe bình thường và khối H;N;S thì X thuộc nhóm A
- Luật 8: ifchon_YT(X)and ¬chon_suckhoeT(X) and chon_khoiC(X) then
nhom(X,”A”).
Nếu X chọn ý tưởng và sức khỏe bình thường và khối C thì X thuộc nhóm A
Các luật để xác định nhóm ngành nghề S:
- Luật 9: if chon_N(X) and chon_khoi(X, “C”) then nhom(X,“S”).
Nếu X chọn người và khối C thì X thuộc nhóm S
- Luật 10: if chon_N(X) and chon_khoi(X, “B”) then nhom(X,“S”).
Nếu chọn người và khối B thì X thuộc nhóm S
Các luật để xác định nhóm ngành nghề E:
- Luật 11: if chon_N(X)and chon_khoi(X,“D”) then nhom(X,”E”).
Nếu chọn người và khối D thì X thuộc nhóm E
- Luật 12: if chon_DL(X) and chon _suckhoeT(X)and chon_khoi(X,“C”)
then nhom(X,”E”).
Các luật để xác định nhóm nghề C:
- Luật 13: if chon_DL(X) and chon _suckhoeT(X)and chon_khoi(X,“D”)
then nhom(X,”C”).
Nếu chọn dữ liệu và sức khỏe tốt và khối D thì X thuộc nhóm C
- Luật 14: ifchon_DL(X) and ¬chon_suckhoeT(X) and chon_khoi(X,“D”)
then nhom(X, “C”).
Nếu chọn dữ liệu và sức khỏe bình thường và khối D thì X thuộc nhóm C
- Luật 15: if chon_DL(X) and chon _suckhoeT(X)and chon_khoi(X, “A”)
then nhom(X, “C”).
Nếu chọn dữ liệu và sức khỏe tốt và khối A thì X thuộc nhóm C
- Luật 16: ifchon_DL(X) and ¬chon_suckhoeT(X) and chon_khoi(X,“A”)
then nhom(X,“C”).
Nếu chọn dữ liệu và sức khỏe bình thường và khối A thì X thuộc nhóm C
- Luật 17: if nhom(X,Y)then chon(Y).
Nếu X thuộc nhóm Y thì chọn nhóm Y
- Luật 18: if chon(“R”) then gan(“R”,“I”,“C”).
Nếu chọn nhóm R thì gần phải của R là I và gần trái là C
- Luật 19: if nhon(“R”) then xa(“R”,“A”,“E”).
Nếu chọn nhóm R thì xa phải của R là A và xa trái là E
- Luật 20: if nhon(“R”) then doi_dien(“R”,“S”).
Nếu chọn nhóm R thì đối diện của R là S
- Luật 21: if nhom(“I”) then gan(“I”,“A”,“R”).
Nếu chọn nhóm I thì gần phải của I là A và gần trái là R
- Luật 22: if nhom(“I”) then xa(“I”,“S”,”C”).
Nếu chọn nhóm I thì xa phải của I là S và xa trái là C
- Luật 23: if nhom(“I”) then doi_dien(“I”,“E”).
Nếu chọn nhóm I thì đối diện của I là E
- Luật 24: if nhom(“A”) then gan(“A”,“S”,“I”).
- Luật 25: if nhom(“A”) then xa(“A”,“E”,“R”).
Nếu chọn nhóm A thì xa phải của A là E và xa trái là C
- Luật 26: if nhom (“A”) then doi_dien(“A”,“C”).