3. Tổng lược các kết quả đã có về hệ chuyên gia trong lĩnh vực y học
3.2 Cài đặt chương trình
3.2.1 Xây dựng chương trình
+ Các class
Class Node với thuộc tính name là tên node, thuộc tính text là giá trị text của node và thuộc tính value là giá trị của node (đúng/sai):
Hình 3: Diagram của Class Node
Class Rule với thuộc tính name là tên của luật, thuộc tính suppose là giả thiết của luật và thuộc tính conclusion là kết luận của luật:
Hình 4: Diagram của Class Rule
Để biết 1 node được chọn tại rule nào, ta xây dựng class Road để lưu thông tin 2 đối tượng trên.
Hình 5: Diagram của Class Road
Vì lượng dữ liệu khá nhỏ nên 2 tập nút và luật được lưu trong 2 file text lần lượt đặt tên là “nodes.txt” và “rule.txt” và đặt tại cùng thư mục chứa chương trình.
+ Các thuật toán xây dựng chức năng chương trình
- Thuật toán Suy diễn lùi: Đây là thuật toán quan trọng nhất trong chương trình. Suy diễn lùi là quá trình xuất phát từ sự kiện cần chứng minh và thay vào đó là những sự kiện ở vế trái của 1 luật mà có vế phải là sự kiện cần chứng minh. Quá trình này được thực hiện cho đến khi đưa về các sự kiện là tập sự kiện con của tập sự kiện giả thiết. Thuật toán Suy diễn lùi được cài đặt bằng hàm Process()
- Thuận toán tính toán giá trị nút kết luận của 1 luật: Thuật toán này sẽ tính giá trị của nút kết luận của 1 luật khi các giả thiết của luật đó là đã biết. Được cài đặt bằng hàm CalculateConclusionValue và thao tác trên các phép toán &,|,~ của tập luật.
- Thuật toán giải thích khi người dùng nhấn nút “?”: Thuật toán này làm nhiệm vụ hiển thị lời giải thích cho người dùng biết dựa vào đâu mà đưa ra kết luận như vậy. Nó sẽ lấy thông tin được lưu trong biến roadList (là 1 list để lưu lại các rule đã xét) để đưa ra câu trả lời. Sau đó sử dụng các node trong nodeList để đưa ra câu nói thân thiện với người sử dụng hơn. Thuật toán này được cài đặt bằng hàm ShowWhy()
+ Ngôn ngữ được sử dụng.
Xây dựng chương trình bằng ngôn ngữ lập trình C#.
3.2.2 Giao diện chương trình
Hình 7: Kết quả chẩn đoán nguy cơ đột quỵ
Hình 9: Kết quả chẩn đoán bệnh cao huyết áp
Hình 11:Kết quả chẩn đoán bệnh tiểu đường và cao huyết áp
Chương 4. KẾT LUẬN
Ứng dụng công nghệ thông tin cho các ngành kinh tế, xã hội đã và đang ngày càng cần thiết và đem lại hiệu quả cao, đặc biệt là ứng dụng có hiệu quả trong quá trình nghiên cứu khám, chữa bệnh trong y học.
Chương trình đã xây dựng được chức năng chẩn đoán Đột quỵ và các bệnh liên quan thông qua các câu hỏi khảo sát hiện trạng sức khoẻ người dùng, đồng thời đưa ra lời khuyên về hướng điều trị, cũng như giải thích những căn cứ đưa ra kết luận bệnh.
Do trong thời gian ngắn và kiến thức chuyên môn hạn chế nên chương trình chưa xây dựng phần thu thập tri thức mới dựa trên những thông tin bổ sung của người dùng. Tự đánh giá, nhận xét những mặt được và chưa thực hiện được như sau:
+ Đã thực hiện được:
• Cách xây dựng Hệ chuyên gia. • Xây dựng được động cơ suy diễn. • Xây dựng module giải thích. • Xây dựng module quản lý luật.
Hoàn thành một hệ chuyên gia đơn giản.
+ Hướng phát triển:
• Cần bổ sung thêm nhiều luật hơn để chương trình được chặt chẽ và có độ chính xác cao hơn.
• Tự động thu thập tri thức.
+ Nhận xét: Cơ bản Xây dựng được một Hệ chuyên gia giúp người sử dụng có thông tin hơn về tình trạng sức khoẻ và cảnh báo nguy cơ Đột quỵ.
TÀI LIỆU THAM KHẢO Tiếng Việt:
[1] TS. Nguyễn Đình Thuân (2007), Slide Hệ cơ sở tri thức. [2] PGS.TS. Phan Huy Khánh (2004), Giáo trình Hệ chuyên gia.
[3] Vũ Xuân Tân, Vũ Anh Nhị (2008), “Yếu tố nguy cơ và tiên lượng ở bệnh nhân đột quỵ thiếu máu não cục bộ cấp”, Y Học TP.HCM, tập 12, phụ bản số 1, pp. 1-10.
Tiếng Anh:
[4] Buchanan, B. G., and E. A. Feigenbaum (1978), “DENDRAL and META-
DENDRAL: their applications dimensions”, Artificial Intelligence, pp. 312-322.
Website: [5] http://www.camnangbenh.com/dot-quy/ [6] http://suckhoe.24h.com.vn/ [7] http://ancungnguuhoan.com/dot-quy-nhung-dau-hieu-va-cach-xu-ly/ [8] http://nhathuocanduoc.com/Nguyen-nhan-gay-benh-tieu-duong-85.html [9] http://www.tanghuyetap.com/ [10] http://www.caohuyetap.org/