Với sự đa dạng của các món ăn cũng như các quán ăn lại tạo ra khó khăn cho mọi người trong việc tìm được đỉa điểm ăn uống phù hợp.. Sự kiện về món ăn: Sự kiện tên món ăn: Tập sự kiện
Trang 1Hà Nội, 12/10/2012
Nhóm sinh viên thực hiện :
Phạm Quang Toản 20092793 Trịnh Nhật Tuấn 20093037
Vũ Minh Nhật 20091970
Giảng viên hướng dẫn : TS.Phạm văn Hải
2012
ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
HỆ CƠ SỞ TRI THỨC
HỆ TƯ VẤN CHỌN MÓN ĂN VÀ ĐỊA ĐIỂM
ĂN UỐNG TRÊN MOBILE
Trang 21
MỤC LỤC
I – MỤC ĐÍCH 2
II – PHẠM VI 3
III – CÁC SỰ KIỆN, NGỮ CẢNH VÀ CÁCH BIỂU DIỄN TRI THỨC 4 III 1 - Mô tả tri thức hệ thống: 4
1.1 - Tri thức hệ thống sử dụng: 5
1.2 - Tập sự kiện của hệ thống: 9
1.3 - Tập câu hỏi của hệ thống: 11
1.4 - Cách biểu diễn tri thức: 12
III.2 - Động cơ suy diễn, tập luật và diễn giải của luật: 12
2.1 - Động cơ suy diễn và cách thức suy diễn: 12
2.2 - Các luật và diễn giải của luật: 12
IV – SƠ ĐỒ KIẾN TRÚC HỆ THỐNG 18
Trang 32
I – MỤC ĐÍCH
Khi xã hội ngày một phát triển, nhu cầu con người ngày càng cao hơn thì bên cạnh các nhu cầu về sức khỏe, làm đẹp, thời trang, con người còn có nhu cầu lớn
về ăn uống Ăn không những phải ngon mà còn cần phù hợp với sở thích của bản thân và hoàn cảnh Để đáp ứng được điều đó, các quán ăn, nhà hàng thi nhau mọc lên nhằm phục vụ nhu cầu đó Với sự đa dạng của các món ăn cũng như các quán
ăn lại tạo ra khó khăn cho mọi người trong việc tìm được đỉa điểm ăn uống phù hợp
Phần mềm được xây dựng nhằm giải quyết vấn đề đó iFood là phần mềm trên nền tảng di động giúp tư vấn món ăn và địa điểm ăn uống (vị trí quán ăn) dựa trên
sở thích của người dùng, thời điểm muốn ăn(có thể tùy chỉnh), tại vị trí hiện tại hoặc một vị trí mong muốn xác định nào đó
Trang 43
II – PHẠM VI
Vì đây là phần mềm demo minh họa cho một hệ cơ sở tri thức nhỏ trên nền tảng
di động nên phạm vi của hệ thống xin chỉ giới hạn trong địa bàn Hà Nội với số món ăn và quán ăn có hạn
Lý do cho giới hạn phạm vi này :
Nền tảng mà nhóm sử dụng là mobile nên hạn chế hơn so với PC về khả năng lưu trữ và xử lý
Thời gian hoàn thành dự án ngắn nên có sự gới hạn về cơ sở tri thức (tri thức
về các địa điểm quán ăn, món ăn mà quán ăn cung cấp)
Mục tiêu của nhóm là demo các tri thức thu được trong quá trình học môn
Hệ Cơ Sở Tri Thức nên quyết định làm hệ thống nhỏ để thử nghiệm được các mô hình và kỹ thuật áp dụng
Trang 54
III – CÁC SỰ KIỆN, NGỮ CẢNH VÀ
CÁCH BIỂU DIỄN TRI THỨC
III 1 - Mô tả tri thức hệ thống:
Sơ đồ tri thức hệ thống
Trang 65
1.1 - Tri thức hệ thống sử dụng:
Tri thức món ăn liên hệ với quán ăn phục vụ :
id
quán
id Tên món Nóng
lạnh
Mềm cứng
Ướt khô
Chua Cay Mặn Ngọ
t
Q20 M1 Cơm gói lá
sen
Q20
Q24
M2 Cá hấp xì
dầu
Q20 M3 Gà ri nướng
xôi
Q26 M4 Cầy tơ 7
món
Nóng Mềm Ướt,
Q26 M6 Nộm bò khô Lạnh Mềm Khô √ √ √ √
Q11 M7 Ốc xào, ốc
luộc các loại
Q27 M8 Nem nướng
Nha Trang
Q24 M9 Lẩu gà thuốc
bắc
Q18 M10 Xôi chả cua,
chả mực
Q15
Q17
Q18
Q20
M15 Cơm rang
cua
Q1
Q2
Trang 76
Q10
Q23
Q18
Q24
M19 Súp cua,súp
gà
Q4 M20 Thịt xiên
nướng
trứng
phồng
nướng
chiên
củ bách hợp
khói
bưởi
nướng
lòng chim
xào
kiến
kiến
Trang 87
thú
Nóng Mềm Khô √ √ √ √
Q7Q
25
M39 Trâu nướng
thiết bản
Nóng Mềm Khô √ √ √
nướng
Nóng Mềm Khô √ √ √
Q10 M42 Bạch tuộc
nướng
Nóng Mềm Khô √ √ √
Q11,
Q15
Q12
Q25
Q14
Q21
rang
Q20
Q24
M50 Gà rang
muối
Tri thức người dùng: tri thức về người dùng sẽ được sinh ra trong quá trình hoạt động của hệ thống Nên chưa thể nêu ra ở đây
Tri thức về quán ăn:
id
quán
nhà
Q1 Phở cuốn Mai
Hương
25 Ngũ Xã Trúc Bạch Ba Đình
Q2 Quán Vượng
Vương
1 Ngọc Khánh Giảng Võ Ba Đình
Q3 Quán Nem
Phùng
13 Hàng Bún Quán Thánh Ba Đình
Trang 98
Q4 Quán nướng
Chém gió
72 Tạ Quang Bửu Bạch Mai Hai Bà Trưng
Q5 Quán Oanh 85 Lý Quốc Sư Hàng Gai Hoàn Kiếm
Q6 Quán Friendly
Home
11 Nguyên Hồng Thành Công Đống Đa
Q7 Quán Tràng
Xuân Tửu
24 Hoàng Hoa Thám Cống Vi Tây Hồ
Q8 Quán ngan Hiền 68 Tăng Bạt Hổ Phạm Đình
Hổ
Hai Bà Trưng
Q9 Quán nem tai bà
Hồng
16 Lê Văn Lương Trung Hòa Thanh Xuân
Q10 Quán nướng
Mập Kòi
34 Lê Thanh Nghị Bạch Mai Hai Bà Trưng
Q11 Quán ốc Bà
Xuân
67 Hàng Chiếu Đồng Xuân Hoàn Kiếm
Q15 Quán bún chả
que tre chợ
Đồng Xuân
22 Hàng chiếu Đồng Xuân Hoàn Kiếm
Kháng
Thành Công Đống Đa
Q17 Quán bún chả
Đắc Kim - "Đệ
nhất bún chả" Hà
thành (số 1 Hàng
Mành, Hà Nội)
1 Hàng Mành Hàng Gai Cầu Giấy
Q18 Quán xôi Bà
Thảo
2 Nguyễn An Ninh Đồng Tâm Hai Bà Trưng
Q19 Quán Cơm Tấm
Xưa
35 Lò Đúc Đông Mác Hai Bà Trưng
Q20 Ngoại Ô Quán -
món ăn dân dã
19 Nguyễn Gia
Thiều
Trần Hưng Đạo
Hoàn Kiếm
Chinh
Hoàn Kiếm
Q22 Quán nộm bò
khô Cô Cúc
17 Tạ Quang Bửu Bạch Mai Hai Bà Trưng
Trang 109
Q23 Lẩu ếch Ngân
béo
43 Tây Hồ Thụy Khuê Tây Hồ
Q24 Quán Cỏ Trúc
Bạch
46 Đại Cồ Việt Cầu Dền Hai Bà Trưng
1.2 - Tập sự kiện của hệ thống:
Các sự kiện ở đây được hiểu là tên đối tượng, các đặc điểm thuộc tính, địa điểm, lời khuyên…
a Sự kiện về món ăn:
Sự kiện tên món ăn:
Tập sự kiện về tên món ăn này sẽ được dùng trong luật có thể là phần giả thiết hoặc kết luận
Cơm gói lá
sen
Nem nướng Nha Trang
Ốc xào, ốc luộc các loại
Nộm bò khô Cơm tấm
Cá hấp xì dầu Cầy tơ 27 món Lẩu gà thuốc
bắc
Xôi chả cua, chả mực
Nem nướng
Gà ri nướng
xôi
Bánh xèo Thịt xiên
nướng
Súp cua,súp gà Lẩu ếch
Bún chả Mỳ xào Phở cuốn Cơm rang cua Bún bò Huế Phở chiên
trứng
Phở chiên phồng
Phở xào Phở trộn Chả ngan
nướng Ngô chiên Khoai tây
chiên
Sụn gà xào củ bách hợp
Canh Sủi cảo Ngỗng hun
khói Nem Phùng Bò cuốn lá
bưởi
Tim chim nướng
Miến xào lòng chim
Trứng kiến xào
Chả trứng
kiến
Xôi trứng kiến Trâu nướng
thiết bản
Chả ngan nướng
Chân gà quái thú
Nem tai Nem ốc Chả ốc Phở bò Phở Vui
Bạch tuộc
nướng
Phở gà Cơm đảo gà
rang
Gà rang muối Bún ốc
Trang 1110
Sự kiện về đặc tính món ăn:
Nóng Lạnh Khô Ướt Chua Cay Mặn Ngọt Mềm Cứng
Sự kiện về thời điểm ăn của các món ăn:
b Sự kiện về quán ăn:
Ta chia tập sự kiện về địa điểm quán ăn ra làm 4 phần cho dễ quản lý và phục
vụ cho mục đích tìm kiếm so khớp sự kiện sau này
Sự kiện tên quán ăn:
Phở cuốn Mai
Hương
Quán Nem Phùng Quán nướng
Chém gió
Quán Oanh
Quán Vượng
Vương
Quán Friendly Home
Quán Tràng Xuân Tửu
Quán ngan Hiền
Quán nem tai bà
Hồng
Quán Phở Sướng Quán Phở Thìn Phở gà bà Lâm
Quán nướng Mập
Kòi
Quán ốc Bà Xuân Quán bún chả que
tre chợ Đồng Xuân
Quán Bà Béo
Quán bún chả Đắc
Kim - "Đệ nhất
bún chả" Hà
thành (số 1 Hàng
Mành, Hà Nội)
Quán xôi Bà Thảo Quán Cơm Tấm
Xưa
Ngoại Ô Quán - món ăn dân dã
Phở Mai Anh Quán nộm bò khô
Cô Cúc
Lẩu ếch Ngân béo Quán Cỏ Trúc
Bạch Quán Khánh Lâm
Tửu Quán
Quán Chiếu Hoa Quán Nông Dân
Sự kiện về phố:
Tập sự kiện về phố này sẽ loại bỏ đi các phố lặp lại trong địa chỉ tri thức ở trên Tập sự kiện này nhằm mục đích: Khi hệ thống xác định được địa điểm của người dùng thì hệ thống sẽ tìm tất cả các quán ăn thỏa mãn trong con phố thuộc địa điểm người dùng
Trang 1211
Nguyên Hồng Ngũ Xã Ngọc Khánh Hàng Bún Tạ Quang Bửu
Lý Quốc Sư Hoàng Hoa
Thám
Tăng Bạt Hổ Lê Văn Lương Lê Thanh
Nghị Hàng Chiếu Đinh Liệt Lò Đúc Nam Ngư Huỳnh Thúc
Kháng Hàng Mành Đại Cồ Việt Giải Phóng Nguyễn An
Ninh
Nguyễn Gia Thiều
Lê Văn Hưu Nguyễn
Khang
Tây Hồ
Sự kiện về phường:
Tập sự kiện này sẽ được dùng tới khi hệ thống không tìm được quán ăn nào trên phố thuộc địa điểm của người sử dụng, hệ thống sẽ tìm quán ăn trên tất cả các phố trong phường đó
Trúc Bạch Giảng Võ Quán Thánh Bạch Mai Hàng Gai Thành Công Cửa Nam Đồng Xuân Thành Công Đồng Tâm Cống Vi Trần Hưng
Đạo
Phan Chu Chinh
Thụy Khuê Cầu Dền Phạm Đình Hổ Quan Hoa Đông Mác Hàng Bạc Trung Hòa
Sự kiện về quận:
Tập sự kiện này có mục đích là hệ thống sẽ dùng khi nó không tìm được quán
ăn thỏa mãn trong phường thuộc địa điểm của người sử dụng khi đó nó sẽ tìm quán
ăn trong tất cả các phường của quận trong địa điểm
Ba Đình Hai Bà Trưng Tây Hồ Cầu Giấy
Thanh Xuân Đống Đa Hoàn Kiếm
1.3 - Tập câu hỏi của hệ thống:
Mục đích của tập câu hỏi này là để thu thập các sự kiện từ người dùng, so khớp với phần giả thiết trong luật để đưa ra kết luận
Bạn muốn món ăn nóng
hay lạnh?
Nhằm xác định sự kiện về tính nóng lạnh của món ăn
Chọn RadioButton Bạn muốn món ăn cứng Nhằm xác định sự kiện về Chọn RadioButton
Trang 1312
hay mềm? tính cứng mềm của món ăn
Bạn muốn món ăn ướt
hay khô?
Nhằm xác định sự kiện về tinh khô ướt của món ăn
Chọn RadioButton
Bạn muốn món ăn mùi vị
gì?
Nhằm xác định sự kiện về mùi vị chua , cay , mặn , ngọt của món ăn
Chọn RadioButton
Bạn muốn chọn vị trí
hiện tại hay chọn vị trí
khác?
Mục đích của câu hỏi này nhằm xác định xem người dùng muốn tìm các quán
ăn liên quan tới vị trí hiện tại hay một vị trí nào khác
Chọn RadioButton và từ list
1.4 - Cách biểu diễn tri thức:
Hệ thống biểu diễn tri thức theo luật dẫn xuất (luật sinh)
III.2 - Động cơ suy diễn, tập luật và diễn giải của luật:
2.1 - Động cơ suy diễn và cách thức suy diễn:
Hệ thống sử dụng suy diễn tiến: dựa trên các câu hỏi so khớp với các sự kiện ban đầu để xác định các sự kiện có thể suy ra từ các sự kiện ban đầu này
Hoạt động của iFood là đi chứng minh món ăn đó là món ăn phù hợp dựa trên
cơ sở tri thức và sự lựa chọn khi trả lời các câu hỏi của người dùng
2.2 - Các luật và diễn giải của luật:
Diễn giải luật:
Các luật được biểu diễn dưới dạng IF (… ) THEN (… )
Trong đó: Sự kiện ở mệnh đề IF là sự kiện đầu vào(giả thiết), sự kiện ở mệnh đề THEN là sự kiện đầu ra(kết luận)
Ví dụ:
IF “Nóng” and “Ướt” and “Vị Ngọt” and “Ăn Sáng” THEN “Phở”
Trang 1413
Tập các luật:
Ta có thể chia tập luật thành hai bộ phận nhỏ như sau:
Tập luật về món ăn
Tập luật về quán ăn
Tập luật về món ăn:
Phần giả thiết của luật sẽ là các sự kiện về thuộc tính của món ăn, phần kết luận
sẽ là tên món ăn
Tạm thời chỉ nêu ra một số luật về món ăn dưới đây:
m1 If “nóng” and “mềm” and “khô” and “chua” and “cay” and
“mặn” and “ngọt”
then Cầy tơ 7 món
m2 If “nóng” and “mềm” and “khô” and “mặn”
then Cá hấp xì dầu
m3 If “nóng” and “mềm” and “ướt” and “cay” and “ngọt”
then ốc xào, ốc luộc các loại
m4 If “nóng” and “mềm” and “khô” and “mặn”
then Xôi chả
m5 If “cay” and “nóng” and “mềm” and “ướt”
then Bún bò huế
m6 If “lạnh” and “mềm” and “mặn”
then Phở cuốn thịt chó
m7 If “nóng” and “ướt” and “buổi chiều”
then Phở thìn
m8 If “nóng” and “cay”
then Lẩu
m9 If “lạnh” and “ướt” and “buổi tối”
then Mì lạnh
m10 If “lạnh” and “ngọt”
then Chè đá
m11 If “khô” and “cứng” and “mặn”
then Khoai tây chiên
Trang 1514
m12 If “buổi sáng” and “mềm” and “ướt”
then Phở
m13 If “buổi sáng” and “khô” and “mặn”
then Xôi lạc
m14 If “buổi tối” and “lạnh”
then Kem
m15 If “buổi tối” and “nóng” and “cay”
then ốc om xả
m16 If “buổi trưa” and “mặn” and “khô”
then Gà rang muối
m17 If “buổi trưa” and “ướt”
then Phở gà
m18 If “buổi chiều” and “chua” and “ngot”
then Sườn xào chua ngọt
m19 If “nóng” and “mềm” and “khô” and “cay”
Then Bạch tuộc nướng
m20 If “lạnh” and “mềm” and “khô”
then Nem tai
Tập luật về quán ăn:
o Tập luật về tìm quán ăn thông qua con phố và món ăn mong muốn:
Tập luật này dùng khi hệ thống tìm quán ăn có món ăn mà người dùng chọn trên con phố mà người dùng đang đứng
Cấu trúc của luật :
If Phố = “” and Món = “” then “địa chỉ quán ăn”
Number
Rule
if/the
n
Giả thiết , kết luận
ph1 If Phố = “Tạ Quang Bửu” and món = “bò cuốn lá bưởi”
Then Quán nướng chém gió số 72 Tạ Quang Bửu,Bạch
Mai,Hai Bà Trưng and Quán Nhậu Hương Tươi số 25 Tạ Quang Bửu , Bạch Mai, Hai Bà Trưng
ph2 If Phố = “Lò Đúc” and món = “phở”
Then Quán phở thìn số 13 Lò Đúc, Đông Mác, Hai Bà Trưng
and Quán Phở Cồ số 2 Lò Đúc, Đông Mác, Hai Bà Trưng
ph3 If Phố = “Đại Cồ Việt” and món = “phở”
Trang 1615
Then Quán Quê số 5 đại Cồ Việt, Cầu Dền, Hai Bà Trưng
ph4 If Phố = “Giải Phóng” and món = “kem”
Then Quán Thanh Hoa số 5 Giải Phóng, Bạch Mai, Hai Bà
Trưng
ph5 If Phố = “Lê Thanh Nghị” and món = “thịt nướng”
Then Quán nướng mập còi 34 Lê Thanh Nghị, Bạch Mai, Hai
Bà Trưng
ph6 If Phố = “Nguyễn Khang” and món = “kem”
Then Quán chiếu hoa 89 Nguyễn Khang, Quan Hoa, Cầu Giấy
ph7 If Phố = “Hàng Mành” and món = “cơm rang thập cẩm”
then Quán chị béo 25 Hàng Mành, Hàng Gai, Cầu Giấy
ph8 If Phố = “Ngũ Xã” and món = “phở cuốn”
Then Phở cuốn Mai Hương số 25 Ngũ Xã,Trúc Bạch,Ba Đình
ph9 If Phố = “Hàng Bún” and món = “nem rán”
Then Quán nhậu Ba Béo 36 Hàng Bún, Nam Thiên, Hoàn
Kiếm
Then Quán Thịnh Còi 15 Ngọc Khánh, Hàng Bè, Hoàn Kiếm
o Tập luật về tìm quán ăn thông qua phường chứa con phố đó và món ăn mong muốn.:
Mục đích của tập luật này là để khi hệ thống không tìm được quán ăn phù hợp có món ăn mong muốn trên con phố thì hệ thống sẽ mở rộng ra tìm trong phường chứa con phố đó (tức là trên tất cả các phố lân cận với phố đó thuộc phường)
Ví dụ:
1 Một phường có các phố A,B,C,D,E
2 Một người đang đứng ở phố A và muốn tim quán ăn có món X
3 Hệ thống suy diễn trong tập luât ơ trên nhưng không cho kết quả nào cả
4 Nên hệ thống suy diễn với tập luật ở phạm vi rộng hơn đó là phường chứa phố A
5 Trong phường này có 2 phố khác là C và E chứa quán có món ăn X đó nên
hệ thống sẽ trả lại địa chỉ quán thuộc phố C và E này để người dùng lựa chọn
Trang 1716
Một vài luật minh họa:
p1 If Phường = “bạch mai” and món = “phở”
Then Quán phở Thìn số 13 Lê Thanh Nghị, Bạch Mai, Hai
Bà Trưng and Quán Phở Ngon số 5 Hoàng Mai, Bạch Mai, Hai Bà Trưng
p2 If Phường = “Đồng Tâm” and món = “phở”
then Quán phở Bà Tâm 23 Trần Đại Nghĩa, Đồng Tâm, Hai
Bà Trưng and Quán phở Nam Định số 13 Đại La, Đồng Tâm, Hai Bà trưng
p3 If Phường = “Quan Hoa” and món = “cơm rang thập
cẩm”
Then Quán Thanh Hoa số 5 Nam Thiên, Quan Hoa, Cầu
Giấy and Quán Ba Béo số 16 Khâm Thiên,Quan Hoa, Cầu Giấy
p4 If Phường = “Đông Mác” and món = “kem”
Then Quán kem tươi số 8 Lò Đúc, Đông Mác, Hai Bà Trưng
and Quán Kem Sunnet số 10 cửa Nam, Đông Mác, Hai
Bà trưng
p5 If Phường = “Phương Liệt” and món = “kem”
then Quán kem Lottia số 5 mai Hoàng, Phương Liệt, Hai
Bà Trưng and Quán kem Literin số 65 Quỳnh Mai, Phương Liệt, Hai Bà trưng
p6 If Phường = “Quán Thánh” and món = “chè thập cẩm”
Then Quán chè Multi số 5 Phương Mai, Quán Thánh, Ba
Đình and Quán chè Nescafe số 9 Quỳnh Mai, Quán Thánh, Ba Đình
p7 If Phường = “Trần Hưng Đạo” and món = “cơm niêu”
Then Quán Dân Dã số 72 Lý Thường Kiệt, Trần Hưng Đạo,
Hoàn Kiếm and Quán Cơm Quê số 15 Tràng Thi, Trần Hưng Đạo, Hoàn Kiếm
Trang 1817
o Tập luật tìm món ăn thông qua quận chứa phường có phố mà người dùng đang đứng:
Mục đích của tập luật này là để mở rộng phạm vi tìm kiếm quán ăn khi trong phường chứa phố đó không có quán ăn nào thỏa mãn có món ăn người dùng cần
Hệ thống sẽ mở rộng tìm kiếm trong Quận, tức là tất cả các phường lân cận với phường có phố mà người dùng đang đứng
Cấu trúc của luật như sau :
If Quận = “” and món = “” then rulei and rulej and…
Trong đó : rulei và rulej là những luật về phường đã được nêu ở trên
Tức là khi khi một luật có giả thiết là Quận và Món ăn thì phần kết luận của
nó sẽ gọi tới các luật về phường mà có liên quan tới món ăn đó(phường này phải thuộc Quận và có quán ăn có món mong muốn) Có thể hiểu như một phân cấp và
từ đó có thể đưa ra kết luận về các quán ăn
Ví dụ về tập luật này :
Number Rule If/then Giả thiết, kết luận
1 If Quận = “Hai Bà Trưng” and món = “phở”
Then P1 and p2
2 If Quận = “Hai bà Trưng” and món = “kem”
then P4 and p5