TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN MÔN HỌC HỆ CHUYÊN GIA ĐỀ TÀI XÂY DỰNG HCG TƯ VẤN CHỌN NGHỀ NGHIỆP Giáo viên hướng dẫn ThS Trần Hùng Cường Contents CHƯƠNG.
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN MÔN HỌC: HỆ CHUYÊN GIA
ĐỀ TÀI: XÂY DỰNG HCG TƯ VẤN CHỌN NGHỀ NGHIỆP
Giáo viên hướng dẫn:ThS Trần Hùng Cường
Contents
Trang 2CHƯƠNG 1: TỔNG QUAN VỀ HỆ CHUYÊN GIA 4
1.1 Khái niệm hệ chuyên gia 4
1.2 Cấu trúc hệ chuyên gia 5
1.3 Ứng dụng 6
CHƯƠNG 2: SUY DIỄN TIẾN 7
2.1 Giới thiệu 7
2.2 Đặc điểm 7
CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG 9
3.1 Giới thiệu bài toán 9
3.1.1 Tên đề tài và mục đích xây dựng đề tài 9
3.1.2 Phát biểu bài toán 10
3.2 Giải quyết bài toán 10
3.2.1 Thu thập tri thức 10
3.2.2 Từ các sự kiện trên ta suy ra được các sự kiện và các tập luật 14
3.2.3 Suy diễn tiến 15
3.3 Cài đặt, demo chương trình 16
3.3.1 Cài đặt 16
3.3.2 Demo chương trình 16
KẾT LUẬN ĐÁNH GIÁ 20
TÀI LIỆU THAM KHẢO 21
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ HỆ CHUYÊN GIA
1.1 Khái niệm hệ chuyên gia
Hệ cơ sở tri thức là chương trình máy tính được thiết kế để mô hình hoá khả năng giải quyết vấn đề của chuyên gia con người
Hệ CSTT là hệ thống dựa trên tri thức, cho phép mô hình hoá các tri thức của chuyên gia, dùng tri thức này để giải quyết vấn đề phức tạp thuộc cùng lĩnh vực
Hai yếu tố quan trọng trong Hệ CSTT là: tri thức chuyên gia và lập luận, tương ứng với hệ thống có 2 khối chính là Cơ sở tri thức và động cơ suy diễn
Hệ Chuyên gia là một loại cơ sở tri thức được thiết kế cho một lĩnh vực ứng dụng cụ thể
Ví dụ: Hệ Chuyên gia về chẩn đoán bệnh trong Y khoa, Hệ Chuyên gia chẩn đoán hỏng hóc của đường dây điện thoại,…
Hệ Chuyên gia làm việc 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
Cơ sở tri thức: Chứa các tri thức chuyên sâu về lĩnh vực như chuyên gia
Cơ sở tri thức bao gồm: các sự kiện, các luật, các khái niệm và các quan hệ
Động cơ suy diễn: bộ xử lý tri thức theo mô hình hoá theo cách lập luận của chuyên gia Động cơ hoạt động trên thông tin về vấn đề đang xét, so sánh với tri thức lưu trong cơ sở tri thức rồi rút ra kết luận
Kỹ sư tri thức (Knowledge Engineer): người thiết kế, xây dựng và thử nghiệm Hệ Chuyên gia
Trang 51.2 Cấu trúc hệ chuyên gia
Giao diện người máy (User Interface): Thực hiện giao tiếp giữa Hệ Chuyên gia và User Nhận các thông tin từ User (các câu hỏi, các yêu cầu về lĩnh vực) và đưa ra các câu trả lời, các lời khuyên, các giải thích
về lĩnh vực đó Giao diện người máy bao gồm: Menu, bộ xử lý ngôn ngữ tự nhiên và các hệ thống tương tác khác
Bộ giải thích (Explanation system): Giải thích các hoạt động khi có yêu cầu của User
Động cơ suy diễn (Inference Engine): Quá trình trong Hệ Chuyên gia cho phép khớp các sự kiện trong vùng nhớ làm việc với các tri thức về
Trang 6lĩnh vực trong cơ sở tri thức, để rút ra các kết luận về vấn đề đang giải quyết
Bộ tiếp nhận tri thức (Knowledge editor): Làm nhiệm vụ thu nhận tri thức từ chuyên gia con người (human expert), từ kỹ sư tri thức và User thông qua các yêu cầu và lưu trữ vào cơ sở tri thức
Lưu trữ, biểu diễn các tri thức mà hệ đảm nhận, làm cơ sở cho các hoạt động của hệ Cơ sở tri thức bao gồm các sự kiện (facts) và các lụật (rules)
Vùng nhớ làm việc (working memory): Một phần của Hệ Chuyên gia chứa các sự kiện của vấn đề đang xét
1.3 Ứng dụng
1 Diễn giải (Interpretation): Mô tả tình huống các dữ liệu thu thập được
2 Dự báo (Prediction): đưa ra các tri thức về dự báo một tình huống:
dự báo giá cả, …
3 Thiết kế (Design): Lựa chọn cấu hình phù hợp, ví dụ: sắp xếp công việc
4 Chẩn đoán (Diagnosis): Dựa vào các dữ liệu quan sát được, xác định các lỗi hỏng hóc
5 Vạch kế hoạch (Planing): tạo lập các phương án hành động
6 Dẫn dắt (Monotoring): So sánh dữ liệu và các kết quả hoạt động
7 Gỡ rối (Debugging): Mô tả các phương pháp khắc phục của hệ thống
8 Giảng dạy (Instruction): Sửa chữa các lỗi của người học trong quá trình học tập
9 Điều khiển (Control): dẫn dắt dáng điệu tổng thể của hệ thống
Trang 7CHƯƠNG 2: SUY DIỄN TIẾN
2.1 Giới thiệu
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ể sinh ra từ sự kiện này
Cơ chế hoạt động:
2.2 Đặc điểm
Là một trong hai cơ chế cơ chế suy luận trên các luật sản xuất trong biểu diễn tri thức dựa trên luật
Bài toán cần chứng minh:Với một tập các mệnh đề giả thiết (cơ sở tri thức) KB, cần suy ra mệnh đề kết luận Q Suy diễn tiến là suy diễn dựa trên dữ liệu nên rất phù hợp với các bài toán đưa ra quyết đinh,nhận dạng đối tượng…
Trang 8 Ý tưởng của suy diễn tiến:
Lặp lại 2 bước sau cho đến khi suy ra được kết luận:
- Áp dụng các luật có mệnh đề giả thiết được thỏa mãn trong KB
- Bổ sung kết luận của các luật đó vào trong KB
Những điểm cần chú ý khi cài đặt giải thuật suy diễn tiến:
- Tránh các vòng lặp bằng cách kiểm tra xem các mệnh đề mới đã có trong danh sách các mệnh đề cần chứng minh chưa ? Nếu rồi thì không bổ sung lại nữa!
- Tránh việc chứng minh lặp lại đối với một mệnh đề Mệnh đề này có thể
đã được chứng minh là đúng ở trước đó hoặc đã được chứng minh ở trước đó là không thể thỏa mãn được trong KB
Ưu điểm của suy diễn tiến
- Ưu điểm chính của suy diễn tiến là làm việc tốt khi bài toán về bản chất đi thu thập thông tin rồi thấy điều cần suy diễn
- Suy diễn tiến cho ra khối lượng lớn các thông tin từ một số thông tin ban đầu Nó sinh ra nhiều thông tin mới
- Suy diễn tiến là tiếp cận lý tưởng đối với loại bài toán cần giải quyết các nhiệm vụ như lập kế hoạch , điều hành điều k hiển và diễn dịch
Nhược điểm của suy diễn tiến:
Một nhược điểm chính của hệ thống suy diễn tiến là không cảm nhận được rằng chỉ một vài thông tin là quan trọng Hệ thống hỏi các câu hỏi có thể hỏi mà không biết rằng chỉ một ít câu đã đi đến kết luận được
Trang 9CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG
3.1 Giới thiệu bài toán
Hướng nghiệp luôn là nhiệm vụ quan trọng và thiết yếu của mỗi quốc gia nói chung và bản thân mỗi cá nhân nói riêng Việc hướng nghiệp đồng nghĩa với việc bạn đi đúng với xu thế hiện đại Bạn đang là học sinh , sinh viên bạn không biết mình nên học trường nào, mình nên thi ngành nào và xã hội đang cần gì ở các bạn
Bên cạnh đó, ngày nay khi mà nhiều lĩnh vực trong cuộc sống đang ngày càng được chuyên môn hóa một cách sâu sắc Cùng với đó là việc chúng
ta luôn muốn xây dựng các chương trình, các hệ thống có thể hoạt động thay thế cho các quyết định của con người Do vậy, càng ngày chúng ta càng thấy xuất hiện nhiều hệ chuyên gia được sử dụng hằng ngày để thay thế con người đưa ra các quyết định, các dự đoán, tư vấn trong một số lĩnh vực cụ thể như y học, kỹ thuật,…
Hệ chuyên gia tư vấn chọn nghề nghiệp sẽ hỗ trợ người sử dụng lựa chọn nghề nghiệp phù hợp sở thích và khả năng của bản thân
3.1.1 Tên đề tài và mục đích xây dựng đề tài
Tên đề tài: “Cài đặt thuật toán suy diễn tiến hỗ trợ tư vấn chọn nghề nghiệp”.
Mục đích xây dựng đề tài: xây dựng được một hệ chuyên gia thu thập tri thức từ các thực tế trong đời sống, giúp đỡ chúng ta có thể chọn được nghề nghiệp đúng với khả năng của bản thân
Trang 103.1.2 Phát biểu bài toán
Yêu cầu bài toán là phải xây dựng được một hệ chuyên gia trong môi trường windows có thể đưa ra gợi ý cho người dùng cho việc lựa chọn những sở thích và khả năng của mình
Các thông tin mà người sử dụng đưa vào là các câu trả lời
“Đúng” hoặc “Sai” cho các câu hỏi về bản thân mình mà hệ chuyên gia đưa ra
Để thực hiện được các yêu cầu đó, hệ thống cần xây dựng được một hệ cơ sở tri thức Trong đó:
- Bộ cơ sở tri thức bao gồm tập các sự kiện và tập các luật về khả năng của bản thân mỗi người được thu thập từ các chuyên gia con người trong lĩnh vực tư vấn
- Bộ động cơ suy diễn là các cài đặt để tìm kiếm các sự kiện và các luật liên quan tới khả năng, sở thích của mỗi cá nhân Với bài toán này, bộ động cơ suy diễn được cài đặt theo cơ chế suy diễn tiến
3.2 Giải quyết bài toán
3.2.1 Thu thập tri thức
- Thu thập tri thức là bước quan trọng mở đầu cho mỗi bài toán, đặc biệt đối với bài toán tư vấn ra quyết định
- Các tri thức cụ thể của bài toán tư vấn nghề nghiệp
* Dựa trên quá trình học tập ta có các sự kiện sau
Trang 11Học Nghệ Thuật SkNT
* Dựa trên khả năng và sở thích của bản thân ta có các sự kiện sau:
Có thẩm âm, cảm nhận âm nhạc tốt SkNT3
Thích làm việc với các con số SkA3
Có hiểu biết về lịch sử, địa lý SkTA4
Thích nghiên cứu sinh học SkB1
Có tinh thần chịu trách nhiệm cao SkB2
Có kiến thức sâu về một ngành y cụ
thể (mắt, thần kinh, khớp…)
SkB4
Có tâm hồn thương người vô hạn SkB5
Nghiên cứu và tìm hiểu các loại
thuốc, thảo mộc
SkB6
Có khả năng tư duy logic SkB7
Trang 12Thích làm việc với các máy móc,
thiết bị, công cụ
SkB10
Thích tìm tòi khám phá tự nhiên SkB11
Có kĩ năng về đo đạt bàn đồ SkB12
Giải quyết những vấn đề trắc địa SkB13
Nghiên cứu và sử dụng các công
nghệ trong lĩnh vực trắc địa bản đồ
SkB14
Thu thập mẫu, đo đạt và tổng hợp SkB15
Nghiên cứu tìm hiểu các công nghệ
hiện đại của ngành sinh học
SkB17
Có khả năng ngoại ngữ rất tốt SkD1
Thích các ngôn ngữ của nhiều QG
khác
SkD4
Thích tìm hiểu các tác phẩm văn
chương
SkD7
Thích nghiên cứu và phê bình văn
học
SkD8
Có khả năng ghi nhớ tốt SkD9
Thích tìm hiểu pháp luật SkD10
Có khả năng thanh nhạc SkD11
Có kiến thức về âm nhạc SkD12
Yêu thích và sử dụng thành thạo máy
tính
SkD13
Có khả năng cảm thụ và phê bình
văn học
SKD16
Trang 133.2.2 Từ các sự kiện trên ta suy ra được các sự kiện và các tập luật
r1: SkNT ^ SkNT1^ SkNT2 → N1(Ca sĩ, Diễn viên điện ảnh, Diễn viên múa, Người mẫu)
r2: N1 ^ SkNT3 →N2( Ca sĩ, Diễn viên múa)
r3: N2 ^ SkNT4 → Ca sĩ
r4: N2 ^ SkNT5 → Diễn viên múa
r5: N1 ^ SkNT6 → Người mẫu
r6: N1 ^ SkNT7→ Diễn viên điện ảnh
r7: SkA ^ SkA1 → N4 (Kế toán, Cơ khí, designer, coder)
r8: N4 ^ SkA2 →N5 (Kế toán, Designer, coder)
r9: N5 ^ SkA3 → Kế toán
r10: N5 ^ SkA4 → Designer
r11: N5 ^ SkA5 → Coder
r12: N4 ^ SkA6 → Cơ khí
r13: SkTA → N6 (Phiên dịch, Hướng dẫn viên du lịch,Tiếp viên hàng không, Giáo viên môn Tiếng Anh)
r14: N6 ^ SkTA1 → Phiên dịch
r15: N6 ^ SkTA2 ^ SkTA3 ^ SkTA4 → N7(Hướng dẫn viên du lịch, Tiếp viên hàng không)
r16: N7 ^ SkTA5 → Hướng dẫn viên du lịch,
r17: N7 ^ SkTA6 → Tiếp viên hàng không
Trang 14r18: N6 ^ SkTA7 → Giáo viên Tiếng Anh
r19: SkB ^ SkB1 ^ SkB2 →N8 (Y đa khoa, Dược học, Kĩ thuật môi trường, Công nghệ sinh học, Trắc địa bản đồ )
r20: N8 ^ SkB3 ^ SkB4 → N9 (làm bác sĩ Y đa khoa, làm ngành Dược)
r21: N9 ^ SkB5 ^ SkB6 → làm Bác Sĩ Y đa khoa
r22: N9 ^ SkB7 ^ SkB8 → làm nghề Dược
r23: N8 ^ SkB9 ^ SkB10 ^ SkB11 → N10 ( kĩ thuật môi trường, trắc địa bản đồ)
r24: N10 ^ SkB12 ^ SkB13 → Kĩ thuật môi trường
r25: N10 ^ SkB14 ^ SkB15 ^ SkB16 → Trắc địa bản đồ
r26: N8 ^ Sk17 ^ Sk18 ^ Sk19 → công nghệ sinh học
r27: SkD ^ SkD1 → N11(Báo chí, Luật, Văn học, Quan hệ Quốc tế, Ngôn ngữ học)
r28: N11 ^ SkD2 → N12(Quan hệ Quốc tế, Ngôn ngữ học)
r29: N12 ^ SkD3→ Quan hệ Quốc tế
r30: N12 ^ SkD4 ^ SkD5 → Ngôn ngữ học
r31: N11 ^ SkD6 → N13 (Báo chí, Văn học)
r32: N13 ^ SkD7 → Báo chí
r33: N13 ^ SkD8 ^ SkD9 → Văn học
r34: N11 ^ SkD10 ^ SkD11 → Luật
3.2.3 Suy diễn tiến
- Đối với bài toán tư vấn chọn nghề nghiệp (dạng bài toán đưa ra quyết định) nên phương pháp suy diễn tiến là phương pháp phù hợp
Trang 15- Trong nội dung bài tập lớn này, chúng em đã cài đặt thuật toán suy diễn tiến với tưởng ban đầu của thuật toánvà có thể thêm một số cải tiến để giúp tránh các nhược điểm của thuật toán
Lặp lại 2 bước sau cho đến khi suy ra được kết luận:
Áp dụng các luật có mệnh đề giả thiết được thỏa mãn trong KB
Bổ sung kết luận của các luật đó vào trong KB
- Trong trường hợp xảy ra xung đột luật tức là tại một bước suy diễn
có nhiều hơn một bước có thể sử dụng được Giải quyết xung đột luật đồng thời tránh các vòng lặp và tránh việc chứng minh lặp lại đối với một mệnh đề
Không áp dụng các luật sinh ra các kết quả (các sự kiện) đã
có trong bộ nhớ làm việc
Không áp dụng lại một luật nếu nó vẫn sinh ra cùng một tập các sự kiện (giống như lần áp dụng trước của nó)
3.3 Cài đặt, demo chương trình
3.3.1 Cài đặt
- Chương trình được viết bằng : C#
- Chạy bằng Visual Studio 2013
- Tạo nên từ tool ComboBox, Group, RadioButtom…
3.3.2 Demo chương trình
- Các chức năng chính của chương trình: search và tư vấn
Trang 16Hình 3.1 Form giao diện chính.
Người dùng lựa chọn Khối học cũng như khả năng và sở thích của bản thân
Hình 3.2 Người dùng lựa chọn Khối học và khả năng và sở thích của bản thân.
Trang 17Tiến hành Suy diễn
Hình 3.3 Tiến hành Suy diễn
.
Trang 18Kết quả đưa ra chính là nghề nghiệp phù hợp với người dùng sau khi tư vấn.
Hình 3.4 Kết quả
Trang 19Kết luận đánh giá
Các vấn đề gặp phải
- Trong quá trình xây dựng chương trình, thu thập và biểu diễn tri thức là hai vấn đề xảy ra nhiều sai sót và lỗi
- Trong quá trình thu thập: vì số lượng thông tin hỏi đáp không nhiều nên kết quả khi thống kê chưa thật chính xác
Hướng phát triển của đề tài
- Xây dựng mở rộng thêm tri thức, cho phép học và bổ sung thêm các luật vào cơ sở tri thức , cải tiến các tri thức, nâng cao độ chính xác
- Thử nghiệm phương thức biểu diễn tri thức bằng thông tin không chắc chắn dựa trên lý thuyết xác suất
Đánh giá
- Chương trình còn nhiều hạn chế về kết quả tư vấn vì số lượng tập luật,lượng dữ liệu còn hạn chế
- Giao diện còn đơn giản
Trang 20Tài liệu tham khảo Tiếng việt
[1] Trường Đại học Công Nghiệp Hà Nội (2015), Giáo trình hệ chuyên gia, NXB khoa học và kỹ thuật
[2] Bùi Công Cường (2001), N.D.Phước, Hệ mở, Mạng Nowrron và ứng
dụng (Tuyển tập các bài giảng), NXB Khoa học và Kỹ thuật.
Tiếng Anh
[3] I.H Kuo, et al, "An improved method for foreacasting enrollments based
on fuzzy time series and particle swarm optimization ", Exper systems with
application, 36 (2009) 6108-6117.
[4] K Huang , "Efective length of interval to improve foreacasting on fuzzy
time series " , Fuzzy and Systems, (2001) vol 123, pp 387-394.
[5] U Yolcu et Al, "A new approach for determining the length of intervals
for fuzzy time series ", Applied Soft Computing, (2009) vol 9, pp 647-651