Professional Documents
Culture Documents
E 2 G Lite
E 2 G Lite
------ ------
Đề tài:
TÌM HIỂU VỀ EXPERT SYSTEM SHELL
e2gLite
Lớp: ĐH KHMT3 – K2
Hà nội, tháng
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.
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:
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.
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
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"
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"
3. Giá trị hay chuỗi giá trị nằm trong dấu ngoặc kép
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.
12