You are on page 1of 12

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

------ ------

BÀI TẬP LỚN


Môn: HỆ CHUYÊN GIA

Đề tài:
TÌM HIỂU VỀ EXPERT SYSTEM SHELL
e2gLite

Giáo viên hướng dẫn: Trần Hùng Cường

Sinh viên thực hiện:


Đặng Hiệp Long
Nguyễn Thị Thu Trang
Vi Anh Thắng
Bùi Hoàng Lân
Đoàn Mạnh Cường

Lớp: ĐH KHMT3 – K2
Hà nội, tháng

I. ĐẶT VẤN ĐỀ:

Hệ chuyên gia là hệ thống dựa tri thức con người (chuyên gia) với máy tính
nhằm giải quyết thuộc lĩnh vực chuyên môn nào đó. Hệ chuyên gia bao gồm một
tập luật phân tích thông tin về một lớp vấn đề cụ thể, cũng như đưa ra phân tích về
các vấn đề đó, tùy theo việc thiết kế của chương trình có thể hệ chuyên gia sẽ đưa
ra lời khuyên hay hành động cần thực hiện để giải quyết vấn đề. Sự phát triển của
hệ chuyên gia dựa căn bản vào sự giúp đỡ của các chuyên gia, việc chuyển giao
chuyên môn vào máy tính sau đó chuyển giao lại cho người dùng. Quy trình
chuyển giao bao gồm 4 bước cơ bản: bổ sung tri thức, biểu diễn tri thức, suy luận,
chuyển giao cho người dùng.
Phát triển một hệ chuyên gia có thể thực hiện theo hai cách:
- Xây dựng từ đầu đến cuối tất cả các thành phần của một hệ chuyên gia.
- Sử dụng tất cả các thành phần hiện có, ngoại trừ nội dung của cơ sở tri
thức. Cách này gọi là hệ chuyên gia vỏ (expert system shell).
E2gLite là hệ chuyên gia vỏ như vậy, e2gLite được phát triển vởi
Expertise2Go. Để hiểu hơn về e2gLite chúng ta sẽ đi sâu nghiên cứu thành
phần cấu trúc của hệ chuyên gia vỏ này.

II. EXPERT SYSTEM SHELL – e2gLite:


1. Cấu trúc của e2gLite:
- E2gLite là ES shell, một ứng dụng java applet nhúng trên trình duyệt
Web, e2gLite có thể chạy trực tiếp trên trình duyệt nếu máy tính có cài
đặt java (jdk), hoặc có thể down về và chạy trực tiếp trên PC.
- E2gLite có đầy đủ cấu trúc của một hệ chuyên gia nói chung, bao gồm:

 A problem-domain-specific knowledge base:

2
Trong một hệ thống chuyên gia, các cơ sở tri thức bao gồm luật if-
then và thông số kỹ thuật và quá trình kiểm soát.
 An inference engine(cơ chế suy diễn): phần mềm kiểm soát quá
trình phỏng vấn, cũng như đưa ra những lời khuyên tư vấn của
chuyên gia, được nạp vào máy tính dựa trên tri thức của chuyên gia.
 The user interface: Giao diện người dùng yêu cầu thông tin từ
người dùng và đầu ra trung gian và cuối cùng kết quả. Trong một số
hệ chuyên gia, đầu vào được mua từ các nguồn khác như cơ sở dữ
liệu và bộ cảm biến.
- e2gLite đơn giản và cài đặt một cách dễ dàng, e2gLite bao gồm 3 thành
phần chính:
+ file e2gLite.jar: Phần lõi của hệ chuyên gia được đóng gói thành file .jar,
bên trong chứa cấu trúc, cơ chế suy diễn, lập luận , giao diện căn bản cũng
như quá trình kiểm soát một hệ chuyên gia.
+ file .kb: Cơ sở tri thức, do người dùng nạp dựa trên sự tư vấn của chuyên
gia. File .kb chứa các luật if- then thành phần cơ bản cho cơ sở tri thức của
hệ chuyên gia.
+ file .html: Cung cấp giao diện người dùng chính, file này được triệu gọi
trực tiếp khi máy cài jdk.
2. Xây dựng một modun ứng dụng dựa trên e2gLite:
- Thành phần tạo nên một cơ sở tri thức bao gồm việc xác định mục tiêu
(goal) một hệ chuyên gia cần đạt được, các luật suy diễn để có được mục
tiêu, câu hỏi và câu trả lời cho phép hệ chuyên gia đưa ra quyết định cho
người dùng.
- Để bắt đầu tạo lập một hệ chuyên gia dựa trên các thành phần có sẵn của
e2gLite chúng ta đi xây dựng cơ sở tri thức và tìm hiểu cấu trúc của nó.
Sau đây là một ví dụ đưa ra lời khuyên về thời tiết.
- Tải file e2gLite.jar theo đường link sau:
http://www.expertise2go.com/webesie/e2gdoc/e2gmod2.htm
- File e2gLite.jar sau khi được tải về từ trình duyệt web chúng ta nhóm vào
một thư mục “es_e2gLite” chẳng hạn.
- Mở notepad soạn file “weather.kb” như sau:

3
Giải thích:
REM: Câu lệnh đơn sẽ bị bỏ qua khi cơ sở tri thức thực thi.
RULE:
+ Mô tả ngắn được định nghĩa trong cặp ngoặc vuông.
+ IF: thuộc tính, quan hệ (=, <,>, !), giá trị, tùy chọn AND, OR.
+ THEN: Thuộc tính (string, number, boolean),…
PROMPT: Khi tất cả các luật được định nghĩa, prompt sẽ đưa ra lựa chọn
cho các thuộc tính nêu trong phần IF, có những lựa chọn sau AllChoice,
MultiChoice, YesNo. Tham số CF biểu diễn tri thức chắn chắn ( nếu nhỏ hơn
100% nên dùng kí hiệu @ trước.)
GOAL: Đây là thuộc tính mà động cơ suy diễn tìm ra giá trị.
- Để cơ sở tri thức nói trên được thực thi thì tạo file .html, sẽ được ở trực tiếp
bằng trình duyệt web. File “weather.html” được biểu diễn như sau:

- Trình duyệt này sẽ lấy cơ sở tri thức trong file “weather.kb” và lưu trữ
trên file “e2gLite.jar”. Sau khi trình duyệt được triệu gọi thì kết quả như
sau:

4
Khi không biết câu trả lời thì Click vào “Why ask?” Xem lý giả của hệ chuyên
gia:

5
- Bổ sung thêm các tham số cho weather.html:

e2gLite Applet Parameters(Tham số)


Name Values Default Examples
KBURL Tên cơ sở No Default <PARAM NAME="KBURL" VALUE="weather..kb">
tri thức, Hoặc
đường dẫn <PARAMNAME="KBURL"VALUE="/es_e2gLite/weather.
URL đến file kb">
.kb Hoặc
(<PARAM NAME="KBURL" VALUE="http://www.mysite.

6
com/es_e2gLite/weather.kb">
<PARAM NAME="APPTITLE" VALUE=" weather
APPTITLE Tiêu để Blank
Demotration">
<PARAM NAME="APPSUBTITLE" VALUE="by The
APPSUBTITLE Tiêu đề con Blank
weather wiz">
<PARAM NAME="BGCOLOR" VALUE="#00FF00">
#FFEE33
(green)
BGCOLOR Màu nền (pale
<PARAM NAME="BGCOLOR" VALUE="#0000FF">
yellow)
(blue)
Màu nền
của
APPTITLE #000000 <PARAM NAME="TITLECOLOR" VALUE="#FFFFFF">
TITLECOLOR
và (black) (white)
APPSUBTI
TLE
Màu #000000 <PARAM NAME="PROMPTCOLOR"
PROMPTCOLOR
PROMPT (black) VALUE="#FFFFFF"> (white)
Cỡ chữ
PROMPT Approximat
PROMPTSIZE <PARAM NAME="PROMPTSIZE" VALUE="15">
(values 8 to ely 10
20)
If TRUE,
DEBUG FALSE <PARAM NAME="DEBUG" VALUE="TRUE">
debug
"Start the
<PARAM NAME="STARTBUTTON" VALUE="Help
STARTBUTTON button consultatio
me!">
n"
Hộp thoại
"Loading
khi cơ sở tri <PARAM NAME="LOADMSG" VALUE="Ban nhap sai
LOADMSG knowledge
thức được roi!...">
base..."
load
If TRUE use
PROMPT
for an
PROMPTFIRST attribute TRUE <PARAM NAME="PROMPTFIRST" VALUE="false">
before
backward
chaining
Javascript
function to
be called null (no
<PARAM NAME="JSFUNCTION"
JSFUNCTION each time function is
VALUE="buttonPush">
an e2gLite called)
button is
clicked
1. Tên tham số (name) viết chữ thường.
2. Giá trị (value) không đại diện cho tên file.
3. KBURL đòi hỏi phải có tham số.
Lưu ý: 4. Cơ sở tri thức (knowledge base) được nạp lên web và lưu trữ trong
(e2glite.jar). Đây là vấn đề bảo mật của Java applets.

5. Khi sử dụng Javascipt (JSFUNCTION) phải khai bảo thẻ <applet>.

7
Button in e2gLite
Button Clicked Value
Start the consultation * 1
Submit your response 2
Why Ask? 3
Return (from Why Ask?) 4
Explain 5
Restart 6

Phương thức khi sử dụng JavaScipt:


e2gLite Methods Accessible from Javascript
Arguments and Argument
Value Returned and Value Type
Method Name Types
(Giá trị trả về và kiểu giá trị)
(Kiểu thuộc tính)
(String) attrName: Tên thuộc
tính
getAttrCF(attrName,valIx) (Float)
(Integer) valIx: (giữa 1 giá trị
max)
(Integer) Số lượng thuộc tính định nghĩa
getAttrCount( )
trong cơ sở tri thức (kb)
(String) attrName: Tên thuộc
tính
getAttrIx(attrName,valIx) (Integer) Chỉ số của thuộc tính
(Integer) valIx: (giữa 1 và giá trị
lớn nhất)
(Integer) attrIx: Chỉ số của
getAttrName(attrIx) (String) Tên thuộc tính
thuộc tính
(Integer) attrIx: Chỉ số thuộc
getAttrValue(attrIx) (String) Giá trị chuỗi hiện tại
tính
(String) attrName: Tên thuộc
tính
getAttrValue(attrName,valIx) (String)
(Integer) valIx: Giữa 1 và giá trị
max
(String) attrName: tên thuộc
getMaxValues(attrName) (Integer)
tính
getGoalAttr( ) (Integer) Chỉ số của Goal
Lưu ý 1: Mỗi thuộc tính xác định bằng tên và chỉ số, những thuộc tính có nhiều giá trị lưu cùng một
tên.

Bổ sung thêm các Luật cho cơ sở tri thức:

8
e2gLite Knowledge (Cơ bản)
Command Description Examples
REM Dòng lệnh đơn REM Text Knowledge Base
RULE Bắt đầu một luật (rule) RULE [Is it going to rain?]
Tên thuộc tính + toán tử so sánh
If [precipitation] = "expected" and
If + giá trị ), ngoài ra có thể thêm
and, or [the expected temperature] > 32
Then [the recommendation] = "wear a raincoat"

RULE [Is it going to snow?]


Tên thuộc tính + toán tử so
If [precipitation] = "expected" and
Then sánh + độ chắc chắn + @ +
tùy chọn [the expected temperature] < 33
Then [the recommendation] = "wear your boots"
@ 95

PROMPT Thuộc tính + Kiểu thuộc tính + PROMPT [the stoplights work] YesNo CF
Tùy chọn CF "Do the stoplights light when you step on the
brake?"
Prompt types:
YesNo (radio button true/false PROMPT [the gas tank] MultChoice CF
(Boolean) input) "According to the fuel gauge, the gas tank is:"

9
"empty"
"not empty"

PROMPT [the gas tank] ForcedChoice CF


"According to the fuel gauge, the gas tank is:"
MultChoice (text string radio "empty"
button input) "not empty"

ForcedChoice (same as PROMPT [the result of trying the starter] Choice


MultChoice without the "I don't CF
know..." option) "What happens when you turn the key to try to
start the car?"
Choice (text string drop-down "the car cranks normally"
list input) "the car cranks slowly"
"nothing happens"
AllChoice (text string check box
multiple inputs: See MAXVALS) PROMPT [an acceptable time to pick up your
car] AllChoice CF
Numeric (range-checked numeric "What time may we pick up your car? (Check up
input) to three)"
"7 - 9 AM"
Tham số CF "9 AM -12 PM"
"12 - 3 PM"
"3 - 7 PM"

PROMPT [the amount you are willing to spend


on repairs] Numeric CF
"How much are you willing to spend on repairs?
(enter value 0->500)"
"0"
"500.0"
Trả ra giá trị khi tham vấn kêt
GOAL GOAL [the problem]
thúc
(Optional) Độ chắc chắn tối thiểu
MINCF MINCF 70
mặc định 80%
(Optional) Số lượng tối đa các MAXVALS [an acceptable time to pick up your
MAXVALS
giá trị thuộc tính mặc định là 1 car] 3
DEFAULT [the gas tank] = "not empty"
DEFAULT [the stoplights work] = true
DEFAULT (Optional) Giá trị mặt định
DEFAULT [the amount you are willing to spend
on repairs] = 50
TRANSLATE (Optional)

1. Một luật phải được khai báo trước khi nó sử dụng.


Lưu ý: 2. Tên thuộc tính phải kèm theo dấu ngoặc vuông

3. Giá trị hay chuỗi giá trị nằm trong dấu ngoặc kép

Hệ chuyên gia đưa ra giải thích sau khi bổ sung:

10
Kết quả:

11
3.Ưu nhược điểm của e2gLite:
3.1 Ưu điểm:
- Khả năng tiếp cận: chỉ cần có kết nối Internet, e2gLite có thể chạy trực
tiếp trên trình duyệt mảy chủ có sử dụng JSP hay ASP.
- Dễ sử dụng và linh hoạt: Ứng dụng Java Applet nhúng trực tiếp trong
trình duyệt, cung cấp giao diện đồ họa dễ dàng chỉnh sửa, gỡ lỗi.
3.2 Nhược điểm:
- Thời gian khởi động: shell e2gLite là hệ chuyên gia nhỏ với khoảng
gần 100 luật, và nó thích hợp cho hệ chuyên gia nhỏ dưới 100 luật, thời
gian nạp cho mỗi lần khởi động mất 10s tùy thuộc vào kích thước tập tin.
- Khả năng tương thích: muốn chạy được ứng dụng chuyên gia trên nền
shell e2gLite cần phải sử dụng JVM (Java Virtual Machine) trên trình
duyệt web, hay jdk trên trình duyệt người dùng. Như vậy sẽ rất bất tiện, đôi
khi một số trình duyệt web brower không hỗ trợ hay có thể không thực thi
được.

III. SO SÁNH ĐÁNH GIÁ e2gLite VỚI MỘT SỐ HỆ CHUYÊN GIA


KHÁC:
Với MYCIN: Đây là hệ chuyên gia đầu tiên, trợ giúp các bác sỹ chuẩn đoán
một số bệnh nhiễm trùng máu. Về căn bản thì MYCIN hơi khác với
e2gLite, MYCIN dựa trên cơ chế suy diễn và cơ sở tri thức được biểu diễn
như sau:
VD:
IF the stain of the organism is gram negative
AND the morphology of the organism is rod
AND the aerobicity of the organism is anaerobic
THEN there is strongly suggestive evidence (0.8) that
the class of the organism is Enterobacter iaceae

IV. TÀI LIỆU THAM KHẢO:

1. Introduction to expert systems by expertise2go -


http://www.expertise2go.com/webesie/tutorials/ESIntro/
2.
. Firdausy, K., dkk., 2003, ‘’Implementasi Shell E2gLite untuk Sistem Pakar
Berbasis Web
3. Giarratano, J., & Riley, G. Expert Systems Principles and Programming,
Thomson Course Technology, 2005.

12

You might also like