Download - Food expert system
![Page 1: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/1.jpg)
HỆ TƯ VẤNCHỌN MÓN ĂNBài tập lớn Hệ cơ sở tri thức
GV hướng dẫn: Hoàng Thị Hải Yến
![Page 2: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/2.jpg)
Giới thiệu đề tàiVấn đề chọn món ăn.Dịch vụ web.FES – Food Expert System.
![Page 3: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/3.jpg)
Giới thiệu nhómNguyễn Việt HàLê Ngọc MinhĐỗ Bích NgọcLê Anh Quang
![Page 4: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/4.jpg)
Phân công công việcSTT Họ và tên Nhiệm vụ Công việc
1. Nguyễn Việt Hà Trưởng nhóm - Lập trình giao diện.- Viết luật.- Thiết kế module hệ
thống
2. Lê Ngọc Minh Giao diện web.
- Lập trình giao diện.- Giao tiếp giữa hệ
thống và module suy diễn.
3. Đỗ Bích Ngọc Module suy diễn.
- Nghiên cứu và chỉnh sửa framework suy diễn.
- Biểu diễn tri thức.- Làm slide.
4. Lê Anh Quang Tri thức. - Viết luật.- Thu thập tri thức món
ăn.
![Page 5: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/5.jpg)
Nội dung chính1. Cơ sở lý thuyết2. Kiến trúc chương trình3. Mô hình suy diễn4. Cơ sở tri thức5. Demo chương trình
![Page 6: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/6.jpg)
1. Cơ sở lý thuyết1. Hệ chuyên gia2. Prolog và lập luận không chắc chắn
![Page 7: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/7.jpg)
Hệ chuyên giaHệ chuyên gia là một hệ thống máy tính mô
phỏng hoạt động ra quyết định của một chuyên gia.
Hệ chuyên gia được thiết kế để giải quyết các vấn đề phức tạp về lý luận tri thức.
Hệ chuyên gia gồm hai phần:Cơ sở tri thứcMáy suy diễn
![Page 8: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/8.jpg)
Prolog và lập luận không chắc chắnProlog là một ngôn ngữ lập trình logic phổ
biến với cú pháp đơn giản.Khi nói tới một sự kiện, ta thường không thoải
mái khi nói tới nó một cách tuyệt đối, thay vào đó, ta sử dụng một hệ số gọi là niềm tin hay độ chắc chắn của sự kiện.
![Page 9: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/9.jpg)
Hệ số chắc chắnHệ số chắc chắn: -1 ≤ CF ≤ 1Tính toán hệ số không chắc chắn
Luật thông thườngLuật hộiLuật tuyểnNhiều luật cùng kết luận
![Page 10: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/10.jpg)
2. Kiến trúc chương trình1. Mô hình phiên hỏi đáp2. Cơ sở tri thức người dùng3. Hỏi đáp trên nền web
![Page 11: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/11.jpg)
Kiến trúc hệ thốngKiến trúc hệ thống
Cơ sở tri thức (người dùng, món ăn).Máy suy diễn.Giao diện web.
![Page 12: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/12.jpg)
Phiên hỏi đápMột phiên làm việc gồm:
Mục tiêu cần giải quyết.Danh sách các câu hỏi cần trả lời đến khi vấn đề
được giải quyết.Phản hồi từ người dùng.
![Page 13: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/13.jpg)
Phiên hỏi đáp (tiếp)Phản hồi từ người dùng có thể là:
Hành động.Câu hỏi.Câu trả lời.Bỏ qua câu hỏi.
![Page 14: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/14.jpg)
Hỏi đáp trên nền webPhiên hỏi đáp kéo dài:
Tốn kém tài nguyên.Không khả thi (mất điện, time-out…)
Giải pháp:Đưa ra câu hỏi: Ngắt kết nối, sử dụng câu trả
lời “mặc định”.Người dùng trả lời: Lưu trữ câu trả lời, tiến
hành lại suy diễn từ đầu với tri thức mới.
![Page 15: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/15.jpg)
3. Mô hình suy diễn1. Cách thức đưa ra lựa chọn2. Biểu diễn tri thức3. Mô hình máy suy diễn
![Page 16: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/16.jpg)
Cách thức đưa ra lựa chọnFES gợi ý món ăn dựa vào khả năng “thích”
món ăn đó của người sử dụng.Đối với mỗi một món ăn, FES đi “chứng minh”
người dùng thích món ăn đó và tính độ chắc chắn của sự kiện này.
FES gợi ý bữa ăn bằng cách lựa chọn các món mà người dùng “thích nhất” để gợi ý trước.
FES sử dụng mô hình suy diễn lùi.
![Page 17: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/17.jpg)
Biểu diễn tri thứcTri thức của FES gồm có tập sự kiện (món ăn,
người dùng), tập luật và tập các câu hỏi với người dùng.
Một sự kiện được biểu diễn bởi vị từ fact gồm hai phần:av(Attribute, Value): Cặp thuộc tính-giá trị.CF: Độ chắc chắn của sự kiện.VD: fact(av(age, 22), 1).
![Page 18: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/18.jpg)
Biểu diễn tri thức (tiếp)Một luật được biểu diễn bởi vị từ rule gồm ba phần:
id: ID của luật.lhs: Vế trái của luật hay mệnh đề if.
Vế trái của luật là một danh sách trong đó chứa các sự kiện phải chứng minh.
rhs: Vế phải của luật hay mệnh đề then. Vế phải của luật là một cặp av và CF.
VD:rule(
'P2',lhs([av(age, X), X >= 0, X =< 14]),rhs(av(ageCategorize, child), 0.85)
).
![Page 19: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/19.jpg)
Biểu diễn tri thức (tiếp)Một câu hỏi được biểu diễn bởi vị từ askable
gồm hai phần:Sự kiện hỏi được.Câu hỏi tương ứng.VD:askable(like_taste(hot), 'Bạn thích ăn cay không?').
![Page 20: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/20.jpg)
Cách thức suy diễnHoạt động chính của FES là chứng minh một
sự kiện cùng với độ chắc chắn của sự kiện đó.Đối với một sự kiện:
Nếu sự kiện đó đã biết (có trong tri thức), FES đưa ra câu trả lời.
Nếu sự kiện đó chưa biết nhưng có thể hỏi được, FES sẽ hỏi người dùng.
Nếu sự kiện đó không hỏi được nhưng suy diễn được bằng luật, FES sẽ lần lượt chứng minh cách luật.
![Page 21: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/21.jpg)
Mô hình máy suy diễnfindgoal
<đã biết>
fact
<hỏi được>
askable query_user
<suy diễn>
findgoal2
rule prove
findgoal
adjust update
fact
Merritt, D. (1989) Building Expert Systems in Prolog, Springer. Chapter 3: Backward Chaining with Uncertainty.
![Page 22: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/22.jpg)
4. Cơ sở tri thức1. Tri thức món ăn2. Tri thức người dùng3. Luật suy diễn
![Page 23: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/23.jpg)
Tri thức món ănMột món ăn được mô hình dựa trên khoa học
dinh dưỡng, có các thuộc tính:Danh sách nguyên liệu.Thuộc tính lý hóa: Mùi, vị, độ mềm, tính nóng
lạnh.Thuộc tính hóa sinh: Năng lượng (calorie), hàm
lượng đạm (protein), hàm lượng chất béo (fat), hàm lượng đường (glucose), hàm lượng chất khoáng (minerals), hàm lượng vitamin.
Một số thuộc tính phụ khác.
![Page 24: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/24.jpg)
Tri thức người dùngViệc chọn lựa món ăn dựa trên sở thích, thời
điểm và đảm bảo dinh dưỡng đối với người dùng. Các tri thức quan tâm đến bao gồm:Tuổi tác.Nghề nghiệp.Tình trạng sức khỏe.Một số trường hợp đặc biệt.
Một số điều kiện ngoại cảnh như thời tiết cũng được đưa vào, ảnh hưởng lên việc chọn món ăn.
![Page 25: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/25.jpg)
Luật suy diễnCác luật đều ở dạng: “Nếu (…) thì người sử
dụng có khả năng thích món ăn X với độ chắc chắn CF”.
Luật được phân thành một số nhóm sau:Tuổi tác.Sức khỏe.Nghề nghiệp.Sở thích.Thời tiếtThời điểm bữa ăn.
![Page 26: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/26.jpg)
Ví dụ về luật suy diễnTa có tri thức: “Người vận động thể thao nên
có chế độ ăn nhiều năng lượng, hàm lượng protein cao”.
Luật được phát biểu thành: “Người vận động thể thao có khả năng thích món ăn có nhiều năng lượng, giàu protein”.
![Page 27: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/27.jpg)
Ví dụ về luật suy diễn (tiếp)Biểu diễn luật trong prolog:
rule('SPORTR01a',lhs([av(play_sport, yes), av(calorie(X), high)]),rhs(av(like_recipe(X), true), 0.45)).rule('SPORTR01b',lhs([av(play_sport, yes), av(protein(X), high)]),rhs(av(like_recipe(X), true), 0.45)).
![Page 28: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/28.jpg)
5. Demo chương trình
![Page 29: Food expert system](https://reader035.vdocuments.pub/reader035/viewer/2022062419/558459ddd8b42a7a1d8b47d4/html5/thumbnails/29.jpg)
Food Expert SystemFES gồm:
~130 luật~30 món ăn