Cuộc sống ngày càng hiện đại, con người càng bận rộn trong công việc. Nhu cầu về ăn uống ở ngoài càng trở nên quan trọng. Do đó, các câu hỏi đặt ra là: Làm thế nào để có thể chọn được món ăn ngon, quán ăn phù hợp phong cách và hợp với túi tiền mà còn phải đảm bảo thành phần dinh dưỡng? Các vấn đề đó có thể được giải quyết bằng một hệ thống dựa trên tri thức con người, cung cấp cho người dùng thông tin, cũng như gợi ý ra những quyết định xác đáng để phục vụ cho nhu cầu của mình. Hệ thống trợ giúp quyết định này sẽ được trình bày trong tài liệu.
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH
Đề tài: Hệ Tư Vấn Chọn Món Ăn
BÁO CÁO ĐỒ ÁN CÁC HỆ CƠ SỞ TRI THỨC
Trang 2ĐẠI HỌC QUỐC GIA TP.HCM ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH
Đề tài: Hệ Tư Vấn Chọn Món Ăn
BÁO CÁO ĐỒ ÁN CÁC HỆ CƠ SỞ TRI THỨC
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Trang 4
-LỜI CẢM ƠN
Chúng em xin được chân thành cảm ơn cô Huỳnh Thị Thanh Thương, người trực tiếp giảng dạy và hướng dẫn chúng em thực hiện đồ án này Trong bài báo cáo này còn có phần thiếu sót, mong cô sẽ đưa ra những nhận xét để bài báo cáo được hoàn thiện hơn
Xin chân thành cảm ơn tất cả tác giả của những cuốn sách, các tài liệu mà chúng em đã sử dụng trong quá trình tìm hiểu vấn đề Những kiến thức các tác giả trình bày trong các tác phẩm đó đã giúp chúng em rất nhiều để hoàn thành báo cáo này
Tp.Hồ Chí Minh, ngày 25, tháng 6, năm 2013Hải Long, Khánh Duy, Quốc Dũng, Thanh Hiền
Trang 5MỤC LỤC
Trang 6DANH MỤC CÁC HÌNH VẼ
Chương 2 – CƠ SỞ LÝ THUYẾT
Hình 2.1: Một số lĩnh vực ứng dụng của trí tuệ nhân tạo 4
Hình 2.2: Hoạt động của hệ chuyên gia 5
Hình 2.3: Những thành phần cơ bản của một hệ chuyên gia 7
Hình 2.4: Quan hệ giưa bộ suy diễn và cơ sở tri thức 8
Hình 2.5: Kiến trúc hệ chuyên gia theo J.L.Ermine 9
Hình 2.6: Kiến trúc hệ chuyên gia theo C.Ernest 9
Hình 2.7: Kiến trúc hệ chuyên gia theo E.V.Popov 10
Hình 2.8: Hệ chuyên gia dựa trên luật 11
Chương 3 – THIẾ KẾ CƠ SỞ TRI THỨC Hình 3.1: Sơ đồ tri thức hệ thống 15
Hình 3.2: Sơ đồ quan hệ cấu trúc lưu trữ 17
Chương 5 – CÀI ĐẶT ỨNG DỤNG Hinh 5.1: Kiến truc hệ thống 20
Trang 7DANH MỤC CÁC BẢNG
Chương 3 - THIẾ KẾ CƠ SỞ TRI THỨC
Bảng 3.1: Tri thức về món ăn 15
Bảng 3.2: Tập câu hỏi hệ thống 16
Bảng 3.3: Lưu trữ tri thức về sự kiện món ăn 17
Bảng 3.4: Lưu trữ tri thức về sự kiện và các đặc tính của món ăn 17
Bảng 3.5: Lưu trữ các luật của hệ thống 17
Chương 4 – THIẾT KẾ BỘ SUY DIỄN Bảng 4.1: Sự kiện tên món ăn 18
Bảng 4.2: Sự kiện tên đặc tính món ăn 18
Bảng 4.3: Tập các luật 19
Trang 8MỞ ĐẦU
Từ khi thiết bị tính toán đầu tiên (máy tính Von Neuman) ra đời, đến những thiết bị tính toán nhẹ, khả chuyển như laptop, tablet, thiết bị mobile, chúng ngày càng thâm nhập vào cuộc sống, và là một phần không thể thiếu của mỗi con người
Với sự tiến bộ của các công nghệ phát triển trí tuệ nhân tạo, những thiết bị tính toán tưởng chừng như vô giác, và chỉ làm theo những gì được lập trình sẵn, đã
có những tri thức và sự suy luận dựa trên tri thức như con người Chúng xuất hiện ngày càng nhiều trong hầu hết các lĩnh vực của đời sống, từ quân đội đến y tế, quản
lý, giáo dục
Cuộc sống ngày càng hiện đại, con người càng bận rộn trong công việc Nhu cầu về ăn uống ở ngoài càng trở nên quan trọng Do đó, các câu hỏi đặt ra là: Làm thế nào để có thể chọn được món ăn ngon, quán ăn phù hợp phong cách và hợp với túi tiền mà còn phải đảm bảo thành phần dinh dưỡng? Các vấn đề đó có thể được giải quyết bằng một hệ thống dựa trên tri thức con người, cung cấp cho người dùng thông tin, cũng như gợi ý ra những quyết định xác đáng để phục vụ cho nhu cầu của mình Hệ thống trợ giúp quyết định này sẽ được trình bày trong tài liệu
Nội dung của báo cáo đồ án môn học được trình bày trong 6 chương, bao gồm:
Chương 1 – Tổng quan về đề tài: Chương này giới thiệu tổng quan về đề tài bao gồm: thực trạng các hệ tư vấn chọn món ăn hiện nay, mục tiêu
Chương 2 – Cơ sở lý thuyết:
Chương 3 – Thiết kế cơ sở tri thức
Chương 4 – Thiết kế bộ suy diễn
Chương 5 – Cài đặt ứng dụng: Xây dựng ứng dụng thử nghiệm là một hệ thống
Chương 6 – Kết luận: Tổng kết những kết quả đạt được, tóm tắt lại các vấn
đề đã đặt ra trong luận văn và cách giải quyết, những đóng góp mới và những đề xuất mới về một số hướng phát triển của đề tài trong tương lai
Cuối cùng là danh mục các tài liệu tham khảo
Trang 9CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
Chương 1 giới thiệu tổng quan về đề tài bao gồm: thực trạng, mục tiêu, giới hạn của đề tài, phương pháp nghiên cứu, hướng tiếp cận giải quyết vấn đề và nội dung thực hiện của đề tài
1.1 THỰC TRẠNG
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 Nhu cầu tìm địa điểm ăn uống và chọn món ăn rất cao nhưng hiện nay vẫn còn quá ít phần mềm giúp người dùng làm công việc này Tiêu biểu hiện nay có một vài ứng dụng hỗ trợ tìm địa điểm ăn uống chạy trên IOS là: Foody của trang web foody.vn, isago của một nhóm nghiên cứu trường đại học Khoa Học Tự Nhiên, ứng dụng toinay hỗ trợ tìm địa điểm trên trang web toinay.vn và ứng dụng Ăn Uống Pro Những ứng dụng này đã thực hiện khá tốt chức năng hỗ trợ người dùng tìm cho mình nơi ăn uống thích hợp Tuy nhiên, để đáp ứng được nhu cầu vô cùng lớn của người dùng thì cần có nhiều ứng dụng hơn, thông minh hơn, chạy trên nhiều nền tảng hơn và cung cấp thêm nhiều chức năng hơn nữa
1.2 MỤC TIÊU
Xây dựng hệ hỗ trợ quyết định giúp người dùng trong việc lựa chọn món ăn
và quán ăn thích hợp Hệ thống đưa ra các câu hỏi cho người dùng và dựa vào các câu trả lời của người dùng để đưa ra những gợi ý trợ giúp lựa chọn
Trang 10Bằng kiến thức đầu vào là các thông tin về:
- Các quán ăn có thể ăn món mà hệ thống đưa ra: kết quả là tên quán ăn, địa chỉ, phong cách trang trí, một vài nhận xét về quán và cuối cùng là giá cả
Từ những gợi ý của hệ thống, người dùng có thể lựa chọn cho mình món ăn
và quán ăn phù hợp nhất
1.3 ĐỐI TƯỢNG
Đối tượng của ứng dụng là tất cả mọi người Những ai có nhu cầu tìm cho mình một món ăn, một địa điểm ăn mà chưa biết đi đâu, chưa biết ăn gì và không biết hỏi ai thì hoàn toàn có thể sử dụng ứng dụng này Chỉ cần có kiến thức cơ bản
về máy tính là hoàn toàn có thể thao tác với giao diện phần mềm
1.4 PHẠM VI – GIỚI HẠN
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 Window nên phạm vi của hệ thống xin chỉ giới hạn trong địa bàn TP.Hồ Chí Minh với số món ăn và quán ăn có hạn Các thông tin về thành phần dinh dưỡng trong món ăn, đánh giá về trang trí, cung cách phục vụ của các quán ăn cũng giới hạn và chỉ mang tính tương đối
Trang 11Lý do cho những giới hạn này:
- Thời gian hoàn thành đồ á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)
- Các đánh giá về quán ăn, nhóm chỉ có thể đúc kết dựa trên nhận xét trên internet chứ chưa có điều kiện đi thực tế nên không thể đưa ra những đánh giá chính xác Về giá trị dinh dưỡng của món ăn thì nhóm dựa trên những nguyên liệu của món mà rút ra nên chỉ mang tính tương đối Cần có một chuyên gia dinh dưỡng thì mới có thể đánh giá chính xác dinh dưỡng cho từng món ăn
- Mục tiêu của nhóm là demo các kiến thức thu được trong quá trình học môn Các 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
Những hạn chế này sẽ được khắc phục trong phiên bản sau để ứng dụng tiện
dụng hơn, thông minh hơn và mang lại lợi ích cao cho người dùng
Trang 12CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
Chương 2 trình bày các cơ sở lý thuyết được nhóm ứng dụng để thực hiện đồ
án Bao gồm giới thiệu tổng quan về hệ chuyên gia và các thành phần cơ bản của nó, tiếp đến là trình bày các kĩ thuật thiết kế cơ sở tri thức và cuối cùng là những kĩ thuật suy diễn trong hệ chuyên gia
Hệ chuyên gia là một hệ thống có thể mô phỏng năng lực quyết đoán và hành động của một chuyên gia con người Hệ chuyên gia là một trong những ứng dụng của trí tuệ nhân tạo như hình dưới
Hình 2.1: Một số lĩnh vực ứng dụng của trí tuệ nhân tạo
Tri thức sử dụng trong hệ chuyên gia phản ánh sự tinh thông được tích tụ từ
Trang 13sach vở, tạp chí, hay từ các chuyên gia Các thuật ngữ hệ chuyên gia, hệ thống dựa trên tri thức hay hệ cơ sở tri thức thường có cùng nghĩa.
Một hệ chuyên gia thường có ba thành phần chính là cơ sở tri thức (knowledge base), bộ suy diễn (inference engine), và hệ thống giao tiếp với người sử dụng Cơ sở tri thức chứa các tri thức để từ đó bộ suy diễn tạo ra câu trả lời cho người dùng qua hệ thống giao tiếp
Người sử dụng (user) cung cấp những sự kiện (facts) là những gì đã biết, đã
có thật hay những thông tin có ích cho hệ chuyên gia, và nhận được những câu trả lời là những lời khuyên hay những lời gợi ý đúng đắn (expertise)
Hoạt động của một hệ chuyên gia được minh họa như sau:
Hình 2.2: Hoạt động của hệ chuyên gia
Mỗi hệ chuyên gia đặc trưng cho một lĩnh vực vấn đề (problem domain) nào
đó như y học, tài chính, khoa học hay công nghệ, v.v , mà không phải cho tất cả các lĩnh vực
2.1.1.2 Đặc trưng và ưu điểm của hệ chuyên gia
Có bốn đặc trưng cơ bản của một hệ chuyên gia:
• Hiệu quả cao: khả năng trả lời với mức độ tinh thông bằng hoặc cao hơn
Trang 14so với chuyên gia con người trong cũng lĩnh vực.
• Thời gian trả lời là thỏa đáng: Thời gian trả lời hợp lý, bằng hoặc nhanh hơn chuyên gia con người để đi đến cùng một quyết định Hệ chuyên gia
Những ưu điểm của hệ chuyên gia:
• Phổ cập: là sản phẩm chuyên gia, được phát triển không ngừng với hiệu quả sử dụng không thể phủ nhận
• Giảm giá thành
• Giảm rủi ro: giúp con người tránh được trong các môi trường nguy hiểm
• Tính thường trực: Bất kể lúc nào cũng có thể khai thác và sử dụng, trong khi con người có thể mệt mỏi, nghỉ ngơi hay vắng mặt
• Độ tin cậy: luôn đảm bảo độ tin cậy khi khai thác
• Khả năng trả lời: trả lời theo thời gian thực, khách quan
• Tính ổn đinh, suy luận có lý và đầy đủ mọi lúc mọi nơi
• Trợ giúp thông minh như một ngời hướng dẫn
Trang 152.1.2 Kiến trúc tổng quát của hệ chuyên gia
2.1.2.1 Những thành phần cơ bản của một hệ chuyên gia
Bộ suy diễn Lịch công việc
Cơ sở tri thức Các luật
Bộ nhớ làm việc
Bộ giải thích Khả năng thu nhận tri thức Giao diện người dùng
Một hệ chuyên gia kiểu mẫu bao gồm bảy thành phần cơ bản sau:
Hình 2.3: Những thành phần cơ bản của một hệ chuyên gia
• Cơ sở tri thức (Knowledge base): Gồm các phần tử (hay đơn vị tri thức), thông thường được gọi là luật (rule), được tổ chức như một cơ
sở dữ liệu
• Bộ suy diễn (inference engine): công cụ tạo ra sự suy luận bằng cách quyết định xem những luật nào sẽ làm thỏa mãn các sự kiện, đối tượng, chọn ưu tiên các luật thỏa mãn, thực hiện các luật có tính ưu tiên cao nhất
• Lịch công việc (agenda): danh sách các luật ưu tiên do bộ suy diễn tạo
ra thỏa mãn các sự kiện, các đối tượng trong bộ nhớ làm việc
• Bộ nhớ làm việc (Working memory): cơ cở dữ liệu toàn cục chứa các
sự kiện phục vụ cho các luật
• Khả năng giải thích (explanation facility): giải nghĩa các lập luận của
hệ thống cho người sử dụng
• Khả năng thu nhận tri thức: cho phép người dùng bổ sung các tri thức vào hệ thống một cách tự động thay vì tiếp nhận tri thức bằng cách mã hóa
• Giao diện người dùng (user interface): là nơi người dùng và hệ chuyên gia trao đổi với nhau
Trang 16Cơ sở tri thức còn được gọi là bộ nhớ sản suất trong hệ chuyên gia Trong một cơ sở tri thức, người ta thường phân biệt hai loại tri thức là tri thức phán đoán
và tri thức thực hành
Các tri thức phán đoán mô tả các tình huống đã được thiết lập hoặc sẽ được thiết lập Các tri thức thực hành thể hiện những hậu quả rút ra, những thao tác cần phải hoàn thiện khi một tình huống đã được thiết lập hoặc sẽ được thiết lập trong lĩnh vực đang xét Các tri thức thực hành thường thể hiện bằng các biểu thức dễ hiểu
và dễ triển khai
Hình 2.4: Quan hệ giưa bộ suy diễn và cơ sở tri thức
Từ việc phân biệt hai loại tri thức, bộ suy diễn là công cụ triển khai các cơ chế tổng quát để tổ hợp các tri thức phán đoán và tri thức thực hành
2.1.2.2 Một số mô hình kiến trúc hệ chuyên gia
Có nhiều mô hình kiến trúc hệ chuyên gai theo các tác giả khác nhau, sau đây
là một số mô hình
Trang 18Mô hình E.V.Popov
Hình 2.7: Kiến trúc hệ chuyên gia theo E.V.Popov
2.2 BIỂU DIỄN TRI THỨC TRONG CÁC HỆ CHUYÊN GIA
Tri thức của các hệ chuyên gia có thể được biểu diễn bởi nhiều cách khác nhau Thông thường hay sử dụng những cách sau đây:
• Biểu diễn tri thức bởi các luật sản suất
• Biểu diễn tri thức nhờ mệnh đề logic
• Biểu diễn tri thức nhờ mạng ngữ nghĩa
• Biểu diễn tri thức nhờ ngôn ngữ nhân tạo
Ngoài ra người ta còn sử dụng cách biểu diễn tri thức nhờ các sự kiện không chắc chắn, nhờ bộ ba: đối tượng, thuộc tính và giá trị, v.v Tùy theo từng hệ chuyên gia người ta có thể sử dụng một cách hoặc đồng thời nhiều cách
2.2.1 Biểu diễn tri thức bởi các luật sản xuất
Hiện nay hầu hết các hệ chuyên gia đều là các hệ thống dựa trên luật, bởi lý
Trang 19• Tương tự quá trình nhận thức của con người
Các luật sản suất thường được viết dưới dạng IF THEN Có hai dạng:
IF <điều kiện> THEN <hành động>
Hoặc
IF <điều kiện> THEN <kết luận > DO <hành động>
Tùy theo hệ chuyên gia cụ thể mà mỗi luật có thể được đặt tên Chẳng hạn mỗi luật có dạng Rule: tên Sau phần tên là phần IF của luật
Phần giữa IF và THEN là phần trái luật, có nội dung được gọi theo nhiều tên khác nhau như tiền đề, điều kiện, mẫu so khớp
Phần sau THEN là kết luận hay hậu quả Một số hệ chuyên gia có thêm phần hành động được gọi là phần phải luật
2.2.2 Soạn thảo kết hợp các luật
Tùy theo hệ chuyên gia mà những quy ước để tạo ra luật khác nhau Sự giống nhau cơ bản giữa các hệ chuyên gia về mặt ngôn ngữ là cách soạn thảo kết hợp các luật
Ở đây, thuật ngữ soạn thảo kết hợp được chọn để gợi lên khái niện về chế độ truy cập kết hợp liên quan đến chế độ lưu trữ kết hợp Là chế độ mà thông tin cần tìm kiếm được đọc không chỉ căn cứ vào địa chỉ đơn vị nhớ cụ thể mà còn căn cứ vào một phần nội dung của thông tin cần tìm kiếm chứa trong đó
Soạn thảo các luật kết hợp gồm những quy ước sau:
Mỗi luật do một chuyên gia cung cấp phải định nghĩa được các điều kiện khởi động hay tiền đề của luật Nghĩa là các tình huống và hậu quả của luật để luật này có thể áp dụng Theo cách dùng thông thường, người ta đặt tên riêng cho luật để chọn áp dụng, hoặc cung cấp một nhóm các sự kiện
Trang 20 Trong luật, người ta không bao giờ chỉ định một luật khác bằng tiên riêng.
Việc so sánh giữa điều kiện khởi động các luật và các sự kiện được xét tại một thời điểm đã cho, cho phép lọc các luật để giữ lại một số luật nào đó Phần điều kiện khởi động của luật thường gọi là bộ lọc, hay mẫu so khớp của các luật đó
Việc soạn thảo kết hợp cho phép tạo ra một luật mà không cần để ý đến sự hiện diện của các luật khác Với mỗi luật, dù là ai, một khi đã được vào cơ sở tri thức, thì chỉ cần để ý đến các biểu thức điều kiện để xác đinh nếu luật đó áp dụng được và có thế gọi tới nó hay không
Như vậy soạn thảo kết hợp cho phép loại bỏ và bổ sung các luật dễ dàng mà không cần xem xét hậu quả của việc bổ sung và loại bỏ đó Như vậy phương pháp soạn thảo kết hợp có vị trí quan trọng trong các hệ chuyên gia dựa trên luật
2.3 KĨ THUẬT SUY LUẬN TRONG HỆ CHUYÊN GIA
Có nhiều phương pháp tổng quát để suy luận trong các chiến lược giải quyết vấn đề của hệ chuyên gia Những phương pháp hay gặp là suy diễn tiến (foward chaining), suy diễn lùi (backward chaining) và phối hợp hai phương pháp này (mixed chaining) Những phương pháp khác là phân tích phương tiện (means-end analysis), rút gọn vấn đề (problem reduction), quay lui (backtracking), kiểm tra lập
kế hoạch (plan-generate-test), lập kế hoạch phân cấp (hierachical planning) Dưới đây là nền tảng của công nghệ hệ chuyên gia hiện đại (foundation of modern relebased expert system)