1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ TÀI : HỆ CHUYÊN GIA CHẨN ĐOÁN BỆNH TRỰC TUYẾN

71 135 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 3,83 MB

Nội dung

Đồng thời các bác sĩ,các chuyên gia y tế có thể cải tiến, sửa chữa kho tri thức để làm cho hệ thống ngày một hoànthiện và chẩn đoán được chính xác hơn với số lượng bệnh nhiều hơn.. Mục đ

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 736 949, Fax (84-511) 842 771Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI :

HỆ CHUYÊN GIA CHẨN ĐOÁN BỆNH TRỰC TUYẾN

Mã số : 06T4-044 Ngày bảo vệ : 15-16/06/2011

SINH VIÊN : LÊ VĂN SỸ

ĐÀ NẴNG, 06/2011

Trang 2

Tôi chân thành cảm ơn khoa Công Nghệ Thông Tin, Trường Đại Học Bách Khoa Đà Nẵng đã hổ trợ tạo nhiều điều kiện thuận lợi cho tôi trong quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp

Tôi xin gởi lòng biết ơn sâu sắc đến TS Huỳnh Công Pháp đã tận tình hướng dẫn, truyền đạt cho tôi những kiến thức quý báu cùng những giúp đỡ của thầy giúp tôi giải quyết những vấn đề khó khăn, trở ngại khi thực hiện đề tài.

Tôi cũng xin cảm ơn quý Thầy Cô trong khoa Công Nghệ Thông Tin đã tận tình giảng dạy, trang bị cho tôi những kiến thức cần thiết trong quá trình học tập

và nghiên cứu tại Khoa.

Con xin ghi nhớ công ơn của ba mẹ đã sinh thành, nuôi dưỡng và dạy dỗ con trưởng thành như ngày hôm nay Ba mẹ luôn là chỗ dựa tinh thần vững chắc cho con và luôn động viên con trên bước đường đời Con xin cám ơn.

Cuối cùng tôi xin gởi lời cảm ơn đến bạn bè đã hỏi thăm, động viên và giúp

đỡ tôi trong quá trình thực hiện đề tài.

Trang 3

Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy TS Huỳnh Công Pháp.

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,

tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên,

Lê Văn Sỹ

Trang 6

II.3 Nội dung của đề tài 2

II.3.1 Đối tượng nghiên cứu 2

II.3.2 Phương pháp nghiên cứu 2

III Kết quả dự kiến đạt được 3

IV Bố cục luận văn 3

I Trí tuệ nhân tạo 4

I.1 Lịch sử ra đời 4

I.2 Định nghĩa về trí tuệ nhân tạo4

I.3 Các trường phái trí tuệ nhân tạo 5

I.4 Ứng dụng của trí tuệ nhân tạo5

II Giới thiệu về hệ chuyên gia 6

II.1 Cơ sở tri thức 6

II.2 Định nghĩa về hệ chuyên gia 7

II.3 Xây dựng Hệ chuyên gia 8

II.4 Những thuận lợi và khó khăn của Hệ chuyên gia 10

II.4.1 Thuận lợi 10

II.4.2 Những bất lợi của một hệ chuyên gia dựa trên luật 10

II.5 Những ứng dụng của Hệ chuyên gia 11

II.5.1 Phân tích tín dụng 11

II.5.2 An toàn thương mại và Phân tích danh mục vốn đầu tư 11

II.5.3 Hệ chuyên gia phân tích chiến lược kinh doanh – BusinessInsight 11 II.5.4 FINEVA - Hệ chuyên gia phân tích tài chính 11

III Những hệ chuyên gia chẩn đoán bệnh trên thế giới 12

III.1 Hệ chuyên gia MYCIN 12

III.2 Hệ chuyên gia PUFF 13

III.3 Hệ chuyên gia CADUCEUS 13

IV Ngôn ngữ và công cụ xây dụng web 14

IV.3.3 Mô hình MVC trong CakePHP 15

IV.4 Hệ quản trị cơ sở dữ liệu MySQL 16

IV.4.1 Tổng quan về MySQL 16

Trang 7

I.1.1 Giới thiệu tổng quan 17

I.1.2 Đặc tả chi tiết các chức năng 17

I.2 Yêu cầu phi chức năng 22

II Phân tích và thiết kế hệ thống 23

II.1 Xác định các tác nhân 23

II.2 Xác định các Use Case và các yêu cầu về chức năng 23

II.2.1 Sơ đồ Use Case 23

II.2.2 Biểu đồ tuần tự 27

II.3 Cơ sở dữ liệu 30

II.3.1 Cấu trúc cơ sở dữ liệu 30

II.3.2 Các bảng trong cơ sở dữ liệu 31

I Thiết kế và xây dựng hệ chuyên gia 33

I.1 Thiết kế hệ chuyên gia 33

I.1.1 Cơ sở tri thức 33

I.1.2 Bộ nhớ làm việc 35

I.2 Thuật toán 36

I.2.1 Giới thiệu về các thuật toán trong hệ chuyên gia 36

I.2.2 Áp dụng thuật toán suy diễn lùi 37

I.3 Xây dựng component Ruleprocess 37

I.3.1 Các thuộc tính của component Rulesprocess 38

I.3.2 Các phương thức của component Rulesprocess: 38

II Minh họa kết quả 40

I Kết quả đạt được 53

I.1 Ưu điểm 53

I.2 Nhược điểm 54

II Hướng phát triển trong tương lai 54

Trang 8

MỤC LỤC HÌNH ẢNH

Hình 1 Các thành phần của hệ chuyên gia 7

Hình 2 Những thành phần cơ bản của một hệ chuyên gia 8

Hình 3 Mô hình MVC trong CakePHP 15

Hình 4 Sơ đồ miêu tả chức năng chẩn đoán bệnh 18

Hình 5 Yêu cầu gói quản lý người dùng 19

Hình 6 Yêu cầu gói quản lý bệnh 20

Hình 7 Yêu cầu gói quản lý triệu chứng 20

Hình 8 Yêu cầu gói quản lý các loại thuốc 21

Hình 9 Yêu cầu gói quản lý luật 21

Hình 10 User Case tổng quan 23

Hình 11 User Case chẩn đoán bệnh 24

Hình 12 Gói User Case quản lý bệnh 24

Hình 13 Giói User Case quản lý triệu chứng 25

Hình 14 Gói User Case quản lý thuốc 25

Hình 15 Gói User Case quản lý người dùng 26

Hình 16 Gói User Case quản lý luật 26

Hình 17 Biểu đồ tuần tự của chức năng chẩn đoán 27

Hình 18 Biểu đồ tuần tự quản lý bệnh 27

Hình 19 Biểu đồ tuần tự quản lý thuốc 28

Hình 20 Biểu đồ tuần tự quản lý triệu chứng 28

Hình 21 Biểu đồ tuần tự quản lý người dùng 29

Hình 22 Biểu đồ tuần tự quản lý luật 29

Hình 23 Cấu trúc cơ sở dữ liệu 30

Hình 24 Thiết kế cơ sở tri thức 33

Hình 25 Nội dung bảng luật 34

Hình 26 Nội dung bảng triệu chứng 34

Hình 27 Nội dung bảng luật_triệu chứng 34

Hình 28 Nội dung bảng bệnh 34

Hình 29 Cấu trúc của bộ nhớ làm việc sử dụng Session 35

Hình 30 Khai báo component Rulesprocess 37

Hình 31 Phương thức startup 38

Hình 32 Phương thức _nextQuestion 38

Hình 33 Phương thức _getWorkingMemory và _saveWorkingMemory 39

Hình 34 Phương thức process 39

Hình 35 Trang chủ 40

Hình 36 Kết quả chẩn đoán 41

Hình 37 Tin tức 42

Hình 38 Giao diện trên điện thoại 43

Hình 39 Trang giới thiệu xem trên di động 44

Hình 40 Đăng nhập vào phần quản trị 45

Hình 41 Quản lý người dùng 46

Hình 42 Thêm người dùng 46

Trang 9

Hình 45 Quản lý bệnh 48

Hình 46 Thêm bệnh lý mới 48

Hình 47 Quản lý triệu chứng 49

Hình 48 Thêm triệu chứng mới 49

Hình 49 Quản lý thuốc 50

Hình 50 Thêm một loại thuốc mới 50

Hình 51 Quản lý các luật 51

Hình 52 Thêm luật mới – bước 1 52

Hình 53 Thêm luật mới – bước 2 52

Hình 54 Thêm luật mới – bước 3 52

Trang 10

MỤC LỤC BẢNG BIỂU

Bảng 1 Bảng bệnh 31

Bảng 2 Bảng nhóm bệnh 31

Bảng 3 Bảng triệu chứng 31

Bảng 4 Bảng thuốc 31

Bảng 5 Bảng luật 32

Bảng 6 Bảng người dùng 32

Bảng 7 Bảng luật_triệu chứng 32

Bảng 8 Bảng bệnh_thuốc 32

Trang 11

Chương mở đầu trình bày những vấn đề tổng quan về đề tài: đặt vấn đề, mục đích, ýnghĩa của đề tài, nội dung của đề tài, các kết quả dự kiến đạt được Cuối cùng là phần tóm tắt

bố cục của luận văn “Hệ chuyên gia chẩn đoán bệnh trực tuyến”

Hiện nay nền y học của thế giới đã có những bước phát triển vượt bậc, nhiều căn bệnhđược phát hiện, nhiều phương pháp điều trị mới được tìm ra đem lại nhiều lợi ích cho conngười

Ngoài sự đa dạng và phức tạp về bệnh, số lượng bệnh nhân ngày càng nhiều do sự ônhiễm môi trường, thức ăn, nguồn nước,… nên vấn đề chẩn đoán bệnh gặp nhiều khó khăn.Tại Việt Nam, tình trạng quá tải ở các bệnh viện xảy ra thường xuyên, tỷ lệ giữa bệnh nhân

và bác sĩ rất lớn Từ thực tế này, tôi cùng với TS Huỳnh Công Pháp đã quyết định nghiên cứu

và phát triển một hệ thống với tham vọng trợ giúp hoặc thay thế các chuyên gia trong việcchẩn đoán bệnh, đặc biệt cho cộng đồng người Việt Nam và chẩn đoán các bệnh nhiệt đới.Thực tế, qua tìm hiểu chúng tôi nhận thấy hiện nay có một số hệ chuyên gia chẩn đoánbệnh đang tồn tại Tuy nhiên, hầu hết các hệ chuyên gia này đều ở dạng ngôn ngữ nướcngoài, gây khó khăn cho đại đa số những bệnh nhân ở Việt Nam do rào cản ngôn ngữ

Với mục đích cho phép bệnh nhân dễ dàng sử dụng và phát huy tối đa công suất phục vụ,

hệ thống phải là một hệ thống trực tuyến, xây dựng trực tuyến Đó sẽ là một bác sĩ ảo trựctuyến, mọi người có thể sử dụng trình duyệt web và tham khảo chẩn đoán của bác sĩ này đểbiết tình trạng bệnh của mình và các phương pháp điều trị thích hợp Đồng thời các bác sĩ,các chuyên gia y tế có thể cải tiến, sửa chữa kho tri thức để làm cho hệ thống ngày một hoànthiện và chẩn đoán được chính xác hơn với số lượng bệnh nhiều hơn

.II Mục đích và ý nghĩa của đề tài

.II.1 Mục đích

Đề tài được xây dựng với hai mục đích chính:

Thứ nhất: tìm hiểu và nghiên cứu về trí tuệ nhân tạo, hệ chuyên gia, các thuật toán suydiễn, các ứng dụng của hệ chuyên gia, các hệ chuyên gia chẩn đoán bệnh hiện tại trên thếgiới

Thứ hai: xây dựng một ứng dụng có tính thực tiễn cao với chức năng là một bác sĩ ảo chẩnđoán bệnh thông qua việc đưa ra các câu hỏi cho người dùng Đồng thời, cung cấp công cụcho các bác sĩ, các chuyên gia y tế chỉnh sửa cơ sở tri thức để mang đến kết quả ngày càngchính xác và đem lại niềm tin cho người sử dụng

Trang 12

báu trong nghiên cứu, tìm hiểu, tra cứu các tài liệu và xây dựng một hệ thống với những kiếnthức hoàn toàn mới mẻ.

Qua thời gian làm việc và thực tập tại 2 công ty phần mềm hợp chính (Fiisoft) và công typhần mềm Trí thức Việt, bản thân đã hiểu và nắm bắt được quy trình sản xuất phần mềm, hệchuyên gia chẩn đoán bệnh trực tuyến là kết quả của việc áp dụng chặt chẽ quy trình vào thựchiện

Những kiến thức và kinh nghiệm thu thập được trong suốt thời gian thực hiện đề tài sẽ làhành trang vững chắc giúp bản thân có một khởi đầu tốt sau khi ra trường

Hệ chuyên gia chẩn đoán bệnh trực tuyến là một đề tài có tính thực tiễn cao, hoàn toàn cóthể đem triển khai và đưa vào sử dụng, phục vụ cho nhu cầu khám chữa bệnh của mọi người,cũng như là công cụ tham khảo đắc lực cho các bác sĩ

.II.3 Nội dung của đề tài

Hệ chuyên gia là một hệ thống phức tạp cần sự đóng góp công sức của nhiều người cũngnhư sự cố vấn của các chuyên gia thực sự, do đó trong khuôn khổ đề tài này tôi chỉ xây dựngmột hệ thống với chức năng chẩn đoán một số bệnh đơn giản với mong muốn đây sẽ là nềntảng để xây dựng một hệ chuyên gia hoàn chỉnh, thuần việt

.II.3.1 Đối tượng nghiên cứu

 Trí tuệ nhân tạo: lịch sử hình thành, định nghĩa, ứng dụng

 Hệ chuyên gia: định nghĩa, các ứng dụng thực tế của hệ chuyêngia nhất là trong lĩnh vực y học

 Hệ chuyên gia dựa trên luật, thuật toán suy diễn tiến, suy diễn lùi, thuật toán mạng lưới

 Các bệnh nhiệt đới thường gặp ở Việt Nam với các triệu chứng

rõ ràng, đơn giản

 Các loại thuốc

.II.3.2 Phương pháp nghiên cứu

 Thu thập tài liệu, đọc và nghiên cứu tài liệu

 Tìm hiểu hệ chuyên gia, cách thức triển khai một hệ chuyên gia, các thuật toán liên quan

 Lựa chọn thuật toán phù hợp, nghiên cứu cách triển khai

 Tìm hiểu các kiến thức về y học, các loại bệnh thường gặp, các triệu chứng, bệnh lý, cách chữa trị và các loại thuốc

Trang 13

 Tìm hiểu ngôn ngữ lập trình PHP, framework CakePHP, hệ quản trị cơ sở dữ liệu MySQL để xây dựng trên hệ thống chạy trực tuyến.

Trang 14

.III Kết quả dự kiến đạt được

Xây dựng một hệ chuyên gia hoàn chỉnh chạy trực tuyến cho phép chẩn đoán bệnh sau khingười sử dụng trả lời một số câu hỏi về triệu chứng dạng Có / Không, sau đó đưa ra hướngdẫn về cách chữa trị và các loại thuốc liên quan Chẩn đoán của hệ thống chỉ mang tính thamkhảo cho người sử dụng và các bác sĩ chứ không thay thế quyết định của bác sĩ

Xây dựng phần quản lý cho phép bác sĩ hay các chuyên gia y tế có thể chỉnh sửa, bổ sung

dữ liệu cho hệ thống ( thay đổi cơ sở tri thức ) làm cho hệ thống ngày càng hoàn thiện: độchính xác cao hơn, chẩn đoán được nhiều loại bệnh, các phương án chữa trị phù hợp hơn

Có giao diện sử dụng thân thiện, dễ sử dụng đối với tất cả mọi người Hổ trợ 2 ngôn ngữ làtiếng Việt và tiếng Anh

.IV Bố cục luận văn

Luận văn được tổ chức gồm 3 chương chính và các phần mở đầu, kết luận:

Chương 1: Cơ sở lý thuyết

Cơ sở lý thuyết đã tìm hiểu, công cụ, ngôn ngữ hỗ trợ giải quyết vấn đề

Chương 2: Đặc tả, Phân tích và thiết kế hệ thống

Đặc tả các yêu cầu, từng bước phân tích, thiết kế hệ thống

Chương 3: Xây dựng chương trình và minh họa kết quả

Xây dựng hệ chuyên gia, giải thích thuật toán, các hình ảnh minh họa của ứng dụng

Trang 15

Chương cơ sở lý thuyết trình bày những lý thuyết liên quan đến đề tài đó là trí tuệ nhântạo, ứng dụng của trí tuệ nhân tạo, hệ chuyên gia, cách thức xây dựng một hệ chuyên gia,những ứng dụng của hệ chuyên gia Phần này cũng trình bày về những hệ chuyên gia chẩnđoán bệnh trên thế giới như MYCIN, EMYCIN, những ưu, nhược điểm của chúng Phần cuốitrình bày về những công cụ và ngôn ngữ được sử dụng để xây dựng trang web.

.I Trí tuệ nhân tạo

.I.1 Lịch sử ra đời

Xây dựng Trí tuệ nhân tạo (TTNT), hay tạo cho máy móc khả năng suy luận, phán đoán

và cảm nhận như con người là một trong những tham vọng to lớn của loài người Tham vọngnày đã có từ lâu và cùng với sự ra đời của máy tính, con người từng bước đưa kiến thức củamình vào máy, biến chúng trở thành những công cụ thực sự có trí tuệ

TTNT đã được bắt đầu nghiên cứu từ thập niên 1950 bởi những nhà tiên phong như AllenNewell, Herbert Simon, người sáng lập phòng thí nghiệm trí tuệ nhân tạo đầu tiên ở Đại họcCarnegie Mellon, John McCarthy và Marvin Minsky, người sáng lập phòng thí nghiệm trí tuệnhân tạo tại MIT, MIT AI Lab, năm 1959 Họ đã cùng dự hội thảo về trí tuệ nhân tạo tại Đạihọc Dartmouth vào mùa hè năm 1956, do McCarthy, Minsky, Nathan Rochester của IBM vàClaude Shannon tổ chức

Thập niên 1980, mạng nơ-ron được sử dụng rộng rãi với thuật toán truyền ngược(backpropagation), thuật toán này đã được mô tả đầu tiên bởi Paul John Werbos vào năm

1974 Thập niên 1990 đánh dấu các thành tựu chính trong nhiều lĩnh vực của TTNT và đượcthể hiện trong nhiều ứng dụng đa dạng Nổi tiếng nhất là Deep Blue, một máy tính chơi cờvua đã thắng Garry Kasparov trong một trận đấu 6 ván nổi tiếng năm 1997 DARPA tuyên bốrằng chi phí tiết kiệm được do cài đặt các phương pháp TTNT cho việc lập lịch cho các đơn

vị trong Chiến tranh vùng Vịnh lần thứ nhất đã bù lại được toàn bộ đầu tư của chính phủ Mỹcho nghiên cứu TTNT kể từ thập niên 1950

.I.2 Định nghĩa về trí tuệ nhân tạo

Trí tuệ nhân tạo hay trí thông minh nhân tạo (tiếng Anh: artificial intelligence haymachine intelligence, thường được viết tắt là AI) là trí tuệ được biểu diễn bởi bất cứ một hệthống nhân tạo nào Thuật ngữ này thường dùng để nói đến các máy tính có mục đích khôngnhất định và ngành khoa học nghiên cứu về các lý thuyết và ứng dụng của trí tuệ nhân tạo.Trí thông minh nhân tạo liên quan đến cách cư xử, sự học hỏi và khả năng thích ứngthông minh của máy móc Trí thông minh nhân tạo đã trở thành một môn học, với mục đích

Trang 16

.I.3 Các trường phái trí tuệ nhân tạo

Trí tuệ nhân tạo chia thành hai trường phái tư duy: TTNT truyền thống và Trí tuệ tínhtoán

TTNT truyền thống bao gồm các phương pháp hiện được phân loại là các phương pháphọc máy (machine learning), đặc trưng bởi hệ hình thức (formalism) và phân tích thống kê

Nó còn được biết với các tên TTNT biểu tượng, TTNT logic, TTNT ngăn nắp và TTNT cổđiển Các phương pháp gồm có:

 Mạng neuron: Các hệ thống mạnh về nhận dạng mẫu (pattern recognition).

 Hệ mờ (Fuzzy system): Các kỹ thuật suy luận không chắc chắn, đã được sử dụng

rộng rãi trong các hệ thống công nghiệp hiện đại và các hệ thống quản lý sản phẩmtiêu dùng

 Tính toán tiến hóa (Evolutionary computation): Ứng dụng các khái niệm sinh học

như quần thể, biến dị và đấu tranh sinh tồn để sinh các lời giải ngày càng tốt hơn cho bài toán Các phương pháp này thường được chia thành các thuật toán tiến hóa (ví dụ thuật toán gien) và trí tuệ bầy đàn (swarm intelligence) (chẳng hạn hệ kiến)

 TTNT dựa hành vi (Behavior based AI): Một phương pháp mô-đun để xây dựng

các hệ thống TTNT bằng tay

Người ta đã nghiên cứu các hệ thống thông minh lai, trong đó kết hợp hai trường pháinày

.I.4 Ứng dụng của trí tuệ nhân tạo

TTNT đã được sử dụng ở rất nhiều ngành khác nhau, như là:

 Ngân hàng: Các hệ thống dự báo, phân tích tài chính

 Quân đội: Các hệ thống tự động, các hệ thống ra lệnh và trợ giúp quyết định

 Các trò chơi máy tính: TTNT được áp dụng rất nhiều vào các trò chơi máy tính

hiện nay nhằm tăng sự thông minh cho các nhân vật, các chiến thuật hấp dẫn hơn

 Y học: Những hệ chuyên gia chẩn đoán các loại bệnh được sử dụng rất nhiều trong

y học

 Giáo dục: Các hệ thống hỏi đáp, trợ giúp giảng dạy, trợ giúp học tập …

 Vũ trụ: Hệ thống không người lái, các robot thông minh có khả năng tự di chuyển

Trang 17

 Và còn nhiều ứng dụng khác của TTNT trên nhiều lĩnh vực khác

.II Giới thiệu về hệ chuyên gia

.II.1 Cơ sở tri thức

Tri thức là những gì mà một người có thể biết và hiểu được Tri thức có thể được phânloại thành tri thức có cấu trúc hoặc không có cấu trúc, tri thức rõ ràng hay là tri thức ngụ ý,không rõ ràng Những gì mà chúng ta biết được thường là các tri thức rõ ràng Tri thức không

có cấu trúc mà vẫn hiểu được, nhưng không được phát biểu rõ ràng là các tri thức ngầm ý, trithức không rõ Khi tri thức được tổ chức để có thể chia sẻ thì lúc đó tri thức được gọi là trithức có cấu trúc Để có thể chuyển đổi từ tri thức không rõ ràng sang tri thức rõ ràng thì trithức đó cần phải được cấu trúc hóa và định dạng lại

Phân loại tri thức: như đã đề cập ở trên, tri thức có nhiều loại tùy thuộc vào tính chất cấutrúc và tính chất rõ ràng của tri thức Tri thức có thể được phân loại thành các loại tri thứcsau, đây là các loại tri thức thường gặp trong thực tế:

 Tri thức thủ tục : Trong thực tế, nhiều bài toán mà ta có thể gặp là các bài toán mà

tri thức không đơn thuần là khái niệm hay mô tả mà là một hành động hay một công thức, thủ tục Ta gọi các tri thức như vậy là các Tri thức thủ tục ( diễn tả các vấn đề được giải quyết )

 Tri thức mô tả : Cho biết một vấn đề được thấy như thế nào.

 Tri thức meta : Diễn tả tri thức về tri thức.

 Tri thức may rủi : Diễn tả các luật may rủi dẫn dắt quá trình suy lý Tri thức này

có được dựa trên kinh nghiệm tích lũy nên còn gọi là heuristic

 Tri thức cấu trúc : Mô tả mô hình tri thức tổng quát của chuyên gia về một vấn đề.

Tùy thuộc vào ứng dụng cụ thể mà tri thức được biểu diễn theo những phương thức khácnhau Ứng với mỗi dạng biểu diễn đó có một cơ chế để xử lí tri thức đó

Hệ cơ sở tri thức là một tập hợp các cơ sở lập luận, các luật, các quy trình, thủ tục được tổchức thành các lược đồ (giản đồ) Đó là tập hợp của tất cả các thông tin cũng như tất cả kiếnthức về một lĩnh vực cụ thể nào đó

Quá trình thu thập tri thức được gọi là quá trình rút trích tri thức và định dạng tri thứcđược thực hiện từ nhiều nguồn khác nhau, đặc biệt là từ các chuyên gia trong các lĩnh vực cụthể Công việc này là một trong những bước quan trọng và thường mất rất nhiều thời giancũng như công sức trong quá trình xây dựng một hệ cơ sở tri thức được sử dụng trong hệchuyên gia Trong quá trình phát triển một hệ chuyên gia, các kĩ sư tri thức, những nhàchuyên môn trong lĩnh vực trí tuệ nhân tạo, có nhiệm vụ thu thập kiến thức từ các chuyên giathuộc lĩnh vực chuyên ngành, sau đó “sao chép” các tri thức đó vào cơ sở tri thức và diễn đạtcác tri thức đó dưới dạng có thể dùng được trong hệ chuyên gia

Trang 18

.II.2 Định nghĩa về hệ chuyên gia

Hệ chuyên gia là một chương trình máy tính được bắt nguồn từ một nhánh của khoa họcmáy tính, gọi là Trí tuệ nhân tạo (Artificial Intelligence-AI)

Hình 1 Các thành phần của hệ chuyên gia

Những chương trình TTNT đạt được khả năng giải quyết các vấn đề trong các lĩnh vực cụthể ở mức độ chuyên gia bằng cách sử dụng một cơ sở tri thức trong lĩnh vực đó gọi là các

hệ cơ sở tri thức hoặc hệ chuyên gia Thông thường, thuật ngữ Hệ chuyên gia được dùngriêng cho các chương trình mà cơ sở tri thức của nó chứa đựng các tri thức được dùng bởi cácchuyên gia thực thụ, khác với các tri thức được thu thập trong các sách giáo khoa hoặc khôngphải là tri thức chuyên môn Tuy nhiên, đôi khi 2 thuật ngữ Hệ chuyên gia và Hệ cơ sở trithức, được sử dụng tương tự như nhau Phạm vi của trí tuệ nhân tạo cố gắng để đạt đượctrong một hệ chuyên gia gọi là lĩnh vực chuyên ngành Nhiệm vụ này có thể là các hoạt độngnhư giải quyết vấn đề, hoặc là các suy luận hướng đích Còn chuyên ngành là phạm vi trithức mà nhiệm vụ đang thực hiện Các chức năng (nhiệm vụ) thông thường như chẩn đoánbệnh, lập kế hoạch, lập lịch, thiết lập cấu hình và thiết kế, …Một ví dụ cụ thể là lập lịch baycho phi hành đoàn trong các chuyến bay của một hãng hàng không, hay phân tích cấu trúccủa một tòa nhà và đưa ra các giải pháp hay tư vấn về việc thiết kế tòa nhà đó

Việc xây dựng một hệ chuyên gia được hiểu như là việc ứng dụng các kiến thức khoa họcvào việc vận hành và bảo trì tri thức, và người vận hành tri thức này gọi là người thiết kế trithức Người thiết kế tri thức phải đảm bảo rằng máy tính luôn có đủ tri thức để giải quyết mộtvấn đề nào đó Người thiết kế tri thức phải chọn một hoặc nhiều hình thức miêu tả các tri thứcđược yêu cầu dưới dạng các mô hình kí hiệu trong bộ nhớ của máy tính, và như vậy anh taphải chọn một cách biểu diễn tri thức Và anh ta cũng phải đảm bảo rằng máy tính có thể sửdụng tri thức một cách có hiệu quả bằng việc chọn ra một số các phương pháp lập luận

Mô tơ suy diễnGiao

tiếp người dùng

Trang 19

.II.3 Xây dựng Hệ chuyên gia

Mỗi hệ chuyên gia đều bao gồm 2 thành phần cơ bản là : hệ cơ sở tri thức (và cơ sở dữliệu), và bộ máy suy diễn hay bộ máy lập luận Tùy theo cách biểu diễn tri thức mà ta có thểxây dựng mô tơ suy diễn theo thuật giải suy diễn nào

Cấu trúc của một hệ chuyên gia thường được phân ra thành 7 thành phần:

Hình 2 Những thành phần cơ bản của một hệ chuyên gia

 Cơ sở tri thức (Knowledge Base): Bao gồm các luật thường được lưu ở dạng file

văn bản hoặc cơ sở dữ liệu

 Bộ nhớ làm việc (Working Memory): Cơ sở dữ liệu toàn cục chứa các sự kiện phục

vụ cho các luật

 Máy suy diễn (Inference Engine): Công cụ (chương trình, bộ xử lý) tạo ra suy luận

bằng cách xem xét các luật nào thỏa mãn các sự kiện, các đối tượng Thực thi luật

có độ ưu tiên cao nhất

 Lịch công việc: Danh sách các luật ưu tiên do máy suy diễn tạo ra thỏa mãn các sự

kiện

 Khả năng giải thích: Giải thích cách lập luận của hệ thống cho người sử dụng

(những luật nào được thực thi, các giả thiết nào thỏa mãn)

 Khả năng thu nhận tri thức: Khả năng cho phép người sử dụng bổ sung thêm tri

Giao diện người

sử dụngLịch công việc

Trang 20

Cơ sở tri thức của hệ chuyên gia bao gồm cả tri thức thực tế và tri thức heuristic Tri thứcthực tế là tri thức chuyên ngành mà được phổ biến và chia sẻ trong phạm vi rộng, có thể tìmthấy dễ dàng trong sách giáo khoa hoặc trong các sách báo, và nhìn chung là được chấp nhậndựa trên các kiến thức đúng đắn trong từng lĩnh vực cụ thể Còn tri thức heuristic mang ít tínhnghiêm ngặt hơn, dựa nhiều vào kinh nghiệm và sự phán đoán hơn Trái với tri thức thực tế,tri thức heuristic ít khi được thảo luận, và mang đậm tính cá nhân Nó là kiến thức rút ra từviệc thực hành và phán đoán tốt, và sự lập luận chặc chẽ trong từng lĩnh vực.

Biểu diễn tri thức là mô hình hóa và tổ chức tri thức Một phương pháp biểu diễn tri thứcđược sử dụng rộng rãi là sử dụng hệ các luật dẫn hoặc là dùng các luật đơn giản Một luật baogồm một phần IF và một phần là THEN (còn gọi là điều kiện và kết luận) Phần IF liệt kê mộttập hợp các điều kiện được liên kết logic với nhau Một mẫu tri thức được biểu diễn bởi luậtdẫn có liên quan đến dòng lập luận đang được khai triển nếu như phần IF của luật được thỏamãn ; vì vậy, phần THEN của luật có thể được kết luận, hoặc là vấn đề của luật có thể đượcgiải quyết

Ví dụ:

Nếu điều-kiện P thì kết luận C

Nếu trạng-thái S thì hành-động A

Nếu các điều kiện C1, … , Cn đúng thì kết luận C đúng

Hệ luật dẫn được sử dụng rộng rãi là do các nguyên nhân sau:

 Tính đơn thể : Mỗi luật định nghĩa một phần nhỏ và độc lập các tri thức.

 Dễ thêm: Có thể thêm các luật mới vào CSTT tương đối độc lập với các quy tắc đã

 Dễ sửa đổi: Có thể sửa đổi các quy tắc trong CSTT tương đối độc lập với các quy

tắc khác

 Trong suốt: Hệ thống dựa trên luật dẫn có khả năng giải thích các hành động cũng

như các quyết định của nó

Tri thức là thành phần quan trọng nhất trong bất kì một hệ chuyên gia nào Sức mạnh củacác hệ chuyên gia dựa vào các tri thức cụ thể và có chất lượng mà nó chứa đối với các lĩnhvực chuyên ngành Do tầm quan trọng của tri thức đối với các hệ chuyên gia và vì hiện naycác phương pháp thu thập tri thức còn tiêu tốn nhiều chi phí, các hệ chuyên gia trong tươnglai cần phải giải quyết được vấn đề thu thập tri thức và cải tiến việc hệ thống hóa cũng nhưviệc biểu diễn 1 hệ cơ sở tri thức lớn

Với mục tiêu xây dựng một hệ chuyên gia có những bước suy luận giống như con ngườithì đòi hỏi trước hết hệ thống cần phải có một cơ sở tri thức phong phú và sâu rộng về vấn đề

mà hệ chuyên gia cần giải quyết, quá trình thu thập cơ sở tri thức là một quá trình quan trọngđối với bất cứ một hệ chuyên gia nào, và việc quản lí cơ sở tri thức cũng là một vấn đề quantrọng

Trang 21

.II.4 Những thuận lợi và khó khăn của Hệ chuyên gia

.II.4.1 Thuận lợi

Tính lâu dài của Hệ chuyên gia, các chuyên gia là con người vẫn có thể quên những lậpluận hay khái niệm nào đó, nhưng hệ chuyên gia thì không Ngoài ra hệ chuyên gia còn cókhả năng tái sử dụng cho các mục đích khác nhau, với các lĩnh vực khác nhau, một cáchnhanh chóng và dễ dàng Trong khi đó, quá trình đào tạo ra một chuyên gia là con người phảimất một khoảng thời gian và công sức không nhỏ

Các hệ chuyên gia có thể dùng các luật hay quy tắc một cách nhanh chóng mà không bịnhầm lẫn, nếu trong trường hợp có quá nhiều quy tắc hay luật thì một chuyên gia là conngười không xử lí nhanh như một hệ chuyên gia được

Về tính hiệu quả, một hệ chuyên gia có thể tăng số lượng được đưa vào trong hệ và giảm

đi các chi phí nhân công Và mặc dù các hệ chuyên gia được xây dựng và bảo trì thường tốnkém, nhưng để vận hành các hệ chuyên gia không phải tốn nhiều công sức và tiền bạc Việcphát triển và duy trì một hệ chuyên gia có thể được trải đều ra cho nhiều người, và tổng chiphí cho việc này sẽ hợp lí hơn rất nhiều so với việc tìm kiếm một chuyên gia thực thụ

Nếu như không có sự trục trặc về thiết bị máy móc thì một hệ chuyên gia có thể hoạtđộng rất ổn định, với các tập luật đã được xây dựng và cùng với các khả năng xử lí khác, hệ

có thể đưa ra các quyết định gần như nhau trong các tình huống tương tự nhau Ngoài ra, một

hệ chuyên gia có thể cung cấp các giải pháp một cách thường xuyên trong một quá trình giảiquyết vấn đề Và trong một thời điểm thì một hệ chuyên gia có khả năng giải quyết đượcnhiều vấn đề hơn so với một chuyên gia là con người

Một thuận lợi lớn khác của các hệ chuyên gia đó là kiến thức của rất nhiều chuyên giakhác nhau được đưa vào hệ chuyên gia, điều này rõ ràng là làm cho cơ sở tri thức của một hệchuyên gia rộng và phong phú hơn so với một vài chuyên gia đơn lẻ Và trong lĩnh vực kinh

tế, hệ chuyên gia sẽ có thể giảm thiểu được nhiều rủi ro hơn

.II.4.2 Những bất lợi của một hệ chuyên gia dựa trên luật

Một điều dễ nhận ra là các hệ chuyên gia không có khả năng học như các hệ thống thôngminh khác như hệ Suy luận dựa tình huống (Case-based reasoning) hay Mạng nơron (Neuralnetworks), vì vậy nếu có những thay đổi từ phía các chuyên gia là con người thì hệ chuyêngia cần được cập nhật lập tức Hệ chuyên gia không có khả năng sáng tạo và không có đượccác giác quan thông thường như con người, trong những tình huống bất thường, hệ chuyêngia không có khả năng giải quyết

Ngoài ra, các hệ chuyên gia không có được những kinh nghiệm như các chuyên gia là conngười, và cũng không thể nhận ra được vấn đề nếu như vấn đề đó không thuộc phạm vi “hiểubiết” của hệ thống

Trang 22

.II.5 Những ứng dụng của Hệ chuyên gia

.II.5.1 Phân tích tín dụng

Rất nhiều công ty đã sử dụng hệ chuyên gia trợ giúp trong việc phân tích tín dụng Cái lợi

ở đây là sự nhanh chóng và chính xác, điều này thì hơn hẳn so khả năng thực hiện của conngười Hãng American Express sử dụng hệ chuyên gia để xử lí những yêu cầu bất thường.Điều này đã giúp cho hãng giải quyết các yêu cầu nhanh hơn rất nhiều lần so với việc sửdụng các đại lí dịch vụ khách hàng, cũng như giảm đi tỷ lệ lỗi trong việc ước lượng thông tin

.II.5.2 An toàn thương mại và Phân tích danh mục vốn đầu tư

Morgan Stanly và Rockwell Int là 2 trong số nhiều công ty đầu tư có sử dụng hệ chuyêngia Việc soạn thảo một danh mục vốn đầu tư thường tốn nhiều thời gian, nhưng một hệchuyên gia thực hiện việc này rất nhanh và tạo ra một kết quả với độ chắc chắn đáng tin cậy.Công ty Morgan Stanly ước tính là đã tăng được một khoảng lợi nhuận 1 triệu USD sau khi

đã cài đặt hệ thống của họ

.II.5.3 Hệ chuyên gia phân tích chiến lược kinh doanh – BusinessInsight

Business Insight (BI) là một hệ chuyên gia kết hợp sự phân tích về chiến lược chất lượng

và số lượng để hỗ trợ cho những nhà quản trị chiến lược trong các Công ty có thể nhận ranhững hướng phát triển trong tương lai cho Công ty Hệ chuyên gia này sử dụng những công

cụ hỗ trợ ra quyết định để tích hợp những dữ liệu về số lượng cũng như chất lượng mà ngườiquản trị cần để hoạch định một chiến lược

Dựa trên các lý thuyết về chiến lược marketing đã được xác nhận, BI cung cấp những sựphân tích khác nhau để giúp cho các nhà quản trị phát triển những chiến lược kinh doanh vớicác mức độ khác nhau Hệ thống này hoạt động rất hiệu quả đối với những công ty chỉ sảnxuất một loại sản phẩm hoặc cung cấp một loại dịch vụ

Có tất cả khoảng 400 sự kiện (fact) được BI yêu cầu người dùng cung cấp Sử dụngnhững sự kiện được đưa vào bởi người dùng hoặc bằng suy luận từ cơ sở tri thức, BI sẽ đưa

ra những kết luận hay những sự xác nhận về những vấn đề mà người dùng quan tâm

.II.5.4 FINEVA - Hệ chuyên gia phân tích tài chính

FINEVA, viết tắt từ FINancial EVAluation (Matsatsinis, Doumpos & Zopounidis1997), là một hệ chuyên gia chuyên về phân tích tài chính, sử dụng phương pháp luận về thuthập và biểu diễn tri thức một cách hoàn thiện Đây là một hệ cơ sở tri thức hỗ trợ đưa raquyết định đánh giá về hoạt động và khả năng sống sót của một công ty Hệ thống này đượcphát triển dựa trên trình tiện ích hệ chuyên gia M4, được xây dựng bởi N.F Matsatsinis,M.Doumpos và C Zopounidis, thuộc trường Đại học Kĩ thuật, thành phố Crete, Hy Lạp

Hệ thống này sử dụng khoảng hơn 1000 luật dẫn để biểu diễn cho hơn 12000 sự kết hợpgiữa những tiêu chuẩn đánh giá với nhau Mô tơ suy diễn của FINEVA sử dụng phương pháplập luận tiến và lập luận lùi để đưa ra kết luận về hoạt động của các công ty

Trang 23

.III Những hệ chuyên gia chẩn đoán bệnh trên thế giới

.III.1 Hệ chuyên gia MYCIN

MYCIN là một hệ chuyên gia được phát triển rất sớm từ những năm 1970 tại trường đạihọc Stanford Nó được viết bằng ngôn ngữ Lisp và là đề tài Tiến sĩ của Edward Shortliffedưới sự hướng dẫn của Bruce Buchanan, Stanley N Cohen và các đồng sự Hệ chuyên giaMYCIN được phát triển để đưa ra những kết luận, lời khuyên khi chẩn đoán các bệnh nhânnhiễm trùng máu Đây là một hệ chuyên gia dựa trên luật và sự kiện MYCIN sử dụng cơ chếlập luật gần đúng để xử lý các luật suy diễn dựa trên độ đo chắc chắn Khi ra đời MYCIN có

200 luật và hiện nay là 500 luật

Do có nhiều loại thuốc kháng sinh, kháng vi cũng như có nhiều loại vi trùng với cáccách xử lý khác nhau, nên chỉ có các thầy thuốc chuyên gia thuộc lĩnh vực này mới có thể

có liệu pháp chữa trị hiệu quả Mục đích của MYCIN là :

 Là một hệ thống dễ sử dụng

 Khả năng vận hành đáng tin cậy

 Chứa đựng nhiều tri thức liên quan đến lĩnh vực kháng sinh, kháng vi

 Khả năng xử lý các chỉ dẫn chữa trị không đúng hoặc không đầy đủ

 Khả năng giải thích và chỉ dẫn chữa trị

MYCIN là một chương trình tra cứu MYCIN cung cấp cho các thầy thuốc những ýkiến chữa trị liên quan đến liệu pháp kháng sinh

MYCIN là một hệ chuyên gia có các đặc tính :

 Lập trình nghiệm suy

 Tri thức chuyên gia về lĩnh vực kháng sinh

 Giải thích kiểu tương tác

 Khả năng phán đoán

MYCIN có khoảng 500 luật và các sự kiện rất tiêu biểu Hoạt động của hệ thống nhưsau:

1 MYCIN yêu cầu thông tin về lâm sàng

2 Bắt đầu suy luận từ những tri thức hiện có

3 Đưa ra các phán đoán và lời khuyên

4 Trả lời các câu hỏi liên quan đến suy luận

Nhược điểm của MYCIN đó là:

 Sử dụng giao diện dòng lệnh, do đó phải trải qua một khóa đào tạo để sử dụng thành thạo MYCIN

 Ngôn ngữ sử dụng là tiếng Anh

Trang 24

 Tri thức của MYCIN chỉ được gói gọn trong lĩnh vực các bệnh nhiễm trùng.

Tiếp theo sau MYCIN, hệ EMYCIN ra đời ra đời tại đại học Stanford EMYCIN là một hệchuyên gia tổng quát được tạo lập bằng cách loại phần cơ sở tri thức ra khỏi hệ MYCIN.EMYCIN cung cấp một cơ chế lập luận và tuỳ theo bài toán cụ thể sẽ bổ sung tri thức riêngcủa bài toán đó để tạo thành hệ chuyên gia EMYCIN là nền tảng cho sự ra đời của nhiều hệchuyên gia trong nhiều lĩnh vực khác nhau

Một hệ chuyên gia khác cũng được phát triển từ MYCIN là TMYCIN (Tiny EMYCIN) làmột hệ chuyên gia có các chức năng rút gọn từ EMYCIN để dùng trong hệ thống nhỏ và đơngiản Hệ chuyên gia này được phát triển từ đầu sử dụng ngôn ngữ LIPS và hoàn toàn khác với

mã nguồn của EMYCIN

.III.2 Hệ chuyên gia PUFF

PUFF là một hệ chuyên gia dùng để chẩn đoán các bệnh về phổi và đưa ra báo cáo để lưuvào hồ sơ của bệnh nhân PUFF được phát triển vào năm 1983 bởi trường đại học Stanford vàtrung tâm y tế Pacific Presbyterian PUFF là hệ chuyên gia đầu tiên được phát triển từEMYCIN nên nó cũng mang những đặc tính của MYCIN:

 Hệ chuyên gia dựa trên luật

 Có cơ chế giải thích

 Khả năng thu nhận tri thức

Nó bao gồm 400 luật, sử dụng thuật toán suy diễn lùi Cơ sở tri thức của PUFF sau đóđược tích hợp vào sản phẩm thương mại “Pulmonary Consult” và được sử dụng rộng rãi trêntoàn thế giới

.III.3 Hệ chuyên gia CADUCEUS

CADUCEUS là một hệ chuyên gia y tế ra đời năm 1980 (bắt đầu xây dựng từ năm 1970,

và phải mất một thời gian dài để xây dựng cơ sở tri thức) bởi Harry Pople tại Đại họcPittsburgh Mục đích của hệ chuyên gia này là cải tiến MYCIN để tập trung vào nhiều vấn đềtoàn diện hơn so với một lĩnh vực

CADUCEUS cũng là một hệ chuyên gia chẩn đoán bệnh dựa trên luật, nó có thể chẩnđoán lên đến 1000 bệnh khác nhau CADUCEUS sử dụng một động cơ suy luận tương tự nhưMYCIN với một số cải tiến về thuật toán CADUCEUS là hệ chuyên gia có cơ sở tri thức lớnnhất với khoảng 80% lượng kiến thức y học của thế giới

Trang 25

.IV Ngôn ngữ và công cụ xây dụng web

.IV.1 Ngôn ngữ Php

PHP là viết tắt của Personal Home Page ra đời năm 1994 do Rasmus Lerdorf và được pháttriển bởi nhiều cá nhân và tập thể khác , do đó PHP được xem như sản phẩm của mã nguồnmở

PHP là kịch bản trình chủ chạy trên phía server (server script) như các server script khác(asp , jsp , cold fushion)

PHP là kịch bản cho phép ta xây dựng web mạng Internet hay Intranet tương tác với mọi

cơ sở dữ liệu mySQL, PostgreSQL, Oracle, SQL Server và Access

Chúng tôi sử dụng PHP trong đề tài vì những đặc điểm sau:

 Hoàn toàn miễn phí

 Được cập nhật liên tục

 Được sự hổ trợ lớn từ cộng đồng với rất nhiều công cụ, thư viện, framework

 Dễ học, dễ tìm kiếm tài liệu vì có số người sử dụng lớn

 Bản thân đã có kinh nghiệm và đã làm việc với ngôn ngữ PHP trong 3 năm do đó việc phát triển hệ thống dễ dàng và nhanh chóng hơn

 PHP là ngôn ngữ có thể viết theo hàm hoặc hướng đối tượng nên phù hợp với nhiều loại dự án khác nhau

 Hổ trợ làm việc tốt với hệ cơ sở dữ liệu MySQL cũng hoàn toàn miễn phí

 PHP dễ dàng triển khai, bảo trì, sửa chữa hơn các ngôn ngữ web khác, và phần lớn các máy chủ đều hổ trợ PHP và MySQL Vì thế chi phí phát triển một hệ thống bằng PHP nhỏ hơn nhiều so với các thế thống Java hay Dotnet

Hiện nay, có rất nhiều framework viết bằng PHP nhằm mục đích tăng tốc phát triển ứngdụng, trong đó có CakePHP Đây cũng chính là framework mà chúng tôi sử dụng trong đề tài.Với cấu trúc MVC, và các tính năng vượt trội CakePHP hiện là framework PHP phổ biếnnhất hiện nay và được nhiều trang web lớn sử dụng làm nền tảng phát triển

.IV.2 Các ngôn ngữ web khác

Ngoài ra trong đề tài còn sử dụng các ngôn ngữ như HTML, CSS , Javacript để tạo ragiao diện web và thực hiện các thao tác ở phía người dùng cho ứng dụng

Trang 26

.IV.3 CakePHP

.IV.3.1 Giới thiệu

CakePHP là một nền tảng phát triển ứng dụng nhanh, mã nguồn mở miễn phí sử dụngngôn ngữ lập trình PHP Cấu trúc của nó được tạo ra để lập trình viên tạo các ứng dụng web.Mục tiêu của CakePHP là tạo ra một nền tảng có cấu trúc, cho phép lập trình viên làm việctrên cấu trúc đó một cách nhanh chóng mà không mất đi sự uyển chuyển

.IV.3.2 Tính năng

 Cộng đồng năng động, thân thiện

 Việc cấp phép uyển chuyển

 Hỗ trợ làm việc với cơ sở dữ liệu (scaffolding)

 Kiến trúc Model- View-Controller

 Cho phép tạo ra các URL rõ ràng, dễ hiểu

 Cung cấp khả năng bắt lỗi

 Danh sách điều khiển truy cập (ACL) uyển chuyển

 Cung cấp sẵn tiện ích xử lý dữ liệu (Data Sanitization)

 Cung cấp khả năng lưu tạm (Caching) uyển chuyển

 Cung cấp khả năng nội địa hóa (localization)

 Có khả năng chạy từ bất kỳ thư mục web nào mà không cần phải cấu hình Apache hoặc chỉ cấu hình lại rất ít

.IV.3.3 Mô hình MVC trong CakePHP

CakePHP tuân theo mô hình thiết kế phần mềm chuẩn Model-View-Controller (MVC).MVC chia chương trình thành 3 phần riêng lẻ:

1 Model: Mô tả dữ liệu của ứng dụng

2 View: Hiển thị dữ liệu của model

3 Controller: Xử lý và điều hướng các yêu cầu của client

Trang 27

.IV.4 Hệ quản trị cơ sở dữ liệu MySQL

.IV.4.1 Tổng quan về MySQL

 MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trong nhóm LAMP (Linux - Apache -MySQL - PHP)

 MySQL là phần mềm miễn phí hoàn toàn, ổn định, an toàn

 MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đương với SQL Server của Microsoft)

 MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể

có nhiều bảng quan hệ chứa dữ liệu

 MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL

 Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng CSDL đó

.IV.4.2 Các thành phần cơ bản

 Server Infomation: Lưu thông tin về Server

 Service Control: Điều khiển các dịch vụ khi kết nối đến

localhost

 User Administrator: Người dùng hệ thống

 Server Connection: Thông tin về người dùng kết nối tới hệ

thống

 Back up: Cho phép export database

 Restore: Cho phép import 1 database

 Catalog: Cho phép quản lí các database với các thao tác như

tạo Procedure tạo View ,xem thông tin về database,

.IV.5 Công cụ quản lí phiên bản Subversion

Subversion là một phần mềm mã nguồn mở dùng để quản lý và kiểm tra các phiênbản mã nguồn khác nhau trong quá trình phát triển phần mềm Subversion cũng còn được gọi

là svn Svn là lệnh dùng để thực hiện các chức năng Subversion trong môi trường thi hànhlệnh trên các máy vi tính Subversion được thiết kế với mục đích thay thế phần mềm quản líphiên bản Concurrent Versioning System (CVS) đã cũ và có nhiều nhược điểm

Subversion rất phổ biến trong giới mã nguồn mỡ và được dùng để quản lý mã nguồncho nhiều ứng dụng tự do như: Apache Software Foundation, KDE, GNOME, Free Pascal,FreeBSD, GCC, Python, Django, Ruby, và Mono SourceForge.net và Tigris.org, nơi chứamiễn phí chuyên nghiệp dành cho các ứng dụng tự do, đều có hỗ trợ Subversion cho các ứng

Trang 28

dụng được lưu trữ trong máy chủ Ngoài ra Google Code và BountySource chỉ sử dụngSubversion để quản lý các phiên bản mã nguồn.

Trang 29

Chương này gồm 2 phần chính đó là đặc tả các yêu cầu của hệ thống và phần phân tíchthiết kế hệ thống Đầu tiên, phần đặc tả các yêu cầu nêu ra các yêu cầu về chức năng cũngnhư các yêu cầu phi chức năng cần thực hiện trong đề tài Tiếp theo, dựa vào các yêu cầu đưa

ra các phân tích và thiết kế hệ thống theo chuẩn UML gồm các sơ đồ User Case, sơ đồ tuần

tự, cấu trúc cơ sở dữ liệu, các bảng trong cơ sở dữ liệu

.I.1 Yêu cầu chức năng

.I.1.1 Giới thiệu tổng quan

Hệ chuyên gia chẩn đoán bệnh trực tuyến là một hệ thống vừa cho phép người sử dụngchẩn đoán bệnh thông qua các triệu chứng và đồng thời các bác sĩ chuyên gia y tế cũng có thểthay đổi và bổ sung cơ sở dữ liệu nhằm tăng sự chính xác của hệ thống trong chẩn đoán bệnh

Hệ thống sẽ có hai phần chính:

 Phần chẩn đoán: Được trình bày ở front-end của hệ thống, với giao diện thân

thiện, dễ sử dụng với mọi người

 Phần quản lý: Phần này dành cho quản trị viên để quản trị các thành phần của hệ

thống và có chức năng dành cho các bác sĩ, chuyên gia y tế thay đổi cơ sở tri thức của hệ chuyên gia

Ngoài ra hệ thống còn có phần quản lý và phân quyền cho người sử dụng, bảo mật, xácthực người dùng

.I.1.2 Đặc tả chi tiết các chức năng

.1 Chức năng chẩn đoán bệnh

Đây là chức năng chính của hệ thống, chức năng này được thể hiện ở front-end cho phépngười sử dụng trả lời các câu hỏi về các triệu chứng, sau đó khi đã đủ căn cứ để quyết địnhthì thông báo đến người dùng bệnh mà hệ thống chẩn đoán và trình bày các thông tin về bệnhcũng như các thuốc điều trị

Các bệnh được đưa vào đề tài là các bệnh nhiệt đới phổ biến ở Việt Nam được lấy từ cácnguồn tài liệu tin cậy như các sách y học và các trang web về y học có uy tín ở Việt Nam

Trang 30

Yêu cầu của tính năng này như sau:

 Các câu hỏi về triệu chứng đưa ra ở dạng có hoặc không cho phép người sử dụng lựa chọn, sử dụng Ajax để tăng tính tương tác

 Sử dụng Webservice để trao đổi dữ liệu giữa front-end và back-end nhằm phục vụ cho các ứng dụng di động sau này

 Đưa ra kết luận bệnh có liên kết tới phần thông tin chi tiết về bệnh, các loại thuốc điều trị Có hình ảnh minh họa về bệnh, hình ảnh của thuốc để người dùng tiện tham khảo và tìm đúng loại thuốc cần sử dụng

Hình 4 Sơ đồ miêu tả chức năng chẩn đoán bệnh Người sử dụng các chức năng trên

Trang 31

Chức năng này cho phép quản lý những người dùng hiện tại của hệ thống: xem, xóa, sửa

và thêm mới người dùng

Hình 5 Yêu cầu gói quản lý người dùng

Người sử dụng các chức năng trên

 Quản trị viên hệ thống có quyền xem, chỉnh sửa xóa người dùng, những người khác không có các quyền này

 Các nhóm người dùng khác có quyền đăng nhập, đăng xuất, lấy lại mật khẩu, chỉnhsửa thông tin cá nhân của mình

Đăng xuất5

Quản lý người dùng

Xem thông tin người dùng1

Chỉnh sửa người dùng2

Xóa người dùng3

Đăng nhập4

Lấy lại mật khẩu6

Trang 32

.3 Quản lý các bệnh

Chức năng này cho phép quản lý các bệnh lý có trong hệ thống: xem, xóa, sửa và thêmmới bệnh lý

Hình 6 Yêu cầu gói quản lý bệnh

Người sử dụng các chức năng trên

 Quản trị viên của hệ thống có toàn quyền

 Nhóm người dùng bác sĩ, nhân viên y tế có toàn quyền

 Nhóm người dùng bình thường không có quyền truy cập

.4 Quản lý các triệu chứng

Chức năng này cho phép quản lý các triệu chứng bệnh

Hình 7 Yêu cầu gói quản lý triệu chứng

Người sử dụng các chức năng trên

 Quản trị viên của hệ thống có toàn quyền

Quản lý bệnh

Liệt kê các bệnh1

Thêm bệnh2

Chỉnh thông tin bệnh3

Xóa bệnh4

Thêm triệu chứng2

Trang 33

.5 Quản lý các loại thuốc

Chức năng này cho phép quản lý các loại thuốc có trong hệ thống: xem, xóa, sửa và thêmmới thuốc

Hình 8 Yêu cầu gói quản lý các loại thuốc Người sử dụng các chức năng trên

 Quản trị viên của hệ thống có toàn quyền

 Nhóm người dùng bác sĩ, nhân viên y tế có toàn quyền

 Nhóm người dùng bình thường không có quyền truy cập

.6 Quản lý các luật

Chức năng này cho phép quản lý các luật sử dụng cho hệ chuyên gia có trong hệ thống

Hình 9 Yêu cầu gói quản lý luật

Người sử dụng các chức năng trên

 Quản trị viên của hệ thống có toàn quyền

 Nhóm người dùng bác sĩ, nhân viên y tế có toàn quyền

Thêm thuốc2

Quản lý luật

Liệt kê các luật1

Thêm luật2

Sửa luật3

Xóa luật4

Trang 34

.I.2 Yêu cầu phi chức năng

 Phát triển ứng dụng sử dụng ngôn ngữ PHP, dựa trên nền tảng của CakePHP Framework

 Chạy tốt trên Webserver chạy Linux hoặc Window

 Dùng Apache Web server, database Mysql

 Sử dụng Ajax và các ngôn ngữ lập trình khác (CSS, XML, HTML, JavaScript…)

 Giao diện thân thiện, dễ sử dụng

 Giao diện có thể xem tốt trên các loại trình duyệt: Internet Explorer phiên bản 7, phiên bản 8, phiên bản 9, Firefox 3, Firefox 4, Opera, Chrome, Safari

 Có khả năng xem được trên các thiết bị di động nhất là 2 dòng điện thoại thông minh sử dụng 2 hệ điều hành dành cho điện thoại rất thông dụng hiện nay là iOS và Android

Trang 35

.II Phân tích và thiết kế hệ thống

.II.1 Xác định các tác nhân

Hệ thống “Hệ chuyên gia chẩn đoán bệnh trực tuyến” có 3 tác nhân:

 Người quản trị: Đây là người sử dụng hệ thống với quyền hạn cao nhất Người

quản trị có quyền định nghĩa ra các thông tin quy luật của hệ thống, tạo ra các loại người dùng khác

 Bác sĩ: Là người có kiến thức, có chuyên môn về y học, am hiểu về các loại bệnh

Các bác sĩ sẽ truy cập vào hệ thống sử dụng các chức năng quản lý để quản lý các loại bệnh, các triệu chứng bệnh, các loại thuốc, đồng thời là giúp đỡ để tạo ra các luật tăng cơ sở tri thức của hệ thống

 Người dùng bình thường: Là những người có nhu cầu chẩn đoán bệnh, họ truy cập

vào hệ thống và chỉ có quyền tương tác ở phía front-end ( chức năng chẩn đoán bệnh)

.II.2 Xác định các Use Case và các yêu cầu về chức năng

.II.2.1 Sơ đồ Use Case

.1 Sơ đồ User Case tổng quan:

Hình 10 User Case tổng quan

Ngày đăng: 17/03/2019, 14:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w