HỆ CHUYÊN GIA ĐỀ TÀI: Xây dựng hệ chuyên gia tư vấn địa điểm du lịch

35 187 6
HỆ CHUYÊN GIA ĐỀ TÀI: Xây dựng hệ chuyên gia tư vấn địa điểm du lịch

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC CÔNG NGHỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN HỌC PHẦN: HỆ CHUYÊN GIA ĐỀ TÀI: Xây dựng hệ chuyên gia tư vấn địa điểm du lịch Giáo viên hướng dẫn: THS Trần Hùng Cường Lớp: 202010503121002 Nhóm: Thành viên nhóm: Võ Khắc Dũng Nguyễn Đức Hịa Ngơ Văn Thắng Hà Nội – 2020 Mục lục Chương 1: Tổng quan Hệ chuyên gia 1.1 Khái niệm Hệ chuyên gia .4 1.2 Cấu trúc đặc trưng Hệ chuyên gia .5 1.2.1 Cấu trúc Hệ chuyên gia 1.2.2 Đặc trưng Hệ chuyên gia 1.3 Ứng dụng Hệ chuyên gia Chương 2: Suy diễn tiến 2.1 Giới thiệu 2.2 Thuật toán .9 Chương 3: Xây dựng ứng dụng .12 3.1 Giới thiệu toán 12 3.2 Cơ sở tri thức 12 3.2.1 Thu thập tri thức 12 3.2.2 Biểu diễn tri thức 13 3.3 Thiết kế sở liệu .21 3.3.1 Mô tả hệ thống 21 3.3.2 Thiết kế bảng .21 3.3.3 Quan hệ bảng .23 Lời mở đầu Ngày nay, công nghệ thông tin lĩnh vực thiếu đời sống người Hầu ngành nghề, lĩnh vực, công nghệ thơng tin có mặt Các sản phẩm phần mềm tạo phục vụ đem lại nhiều lợi ích mặt kinh tế phần mềm quản lý, thương mại điện tử, dịch vụ mạng truyền thông… Đặc biệt sản phẩm công nghệ thơng tin ngày cịn đóng vai trị chuyên gia số lĩnh vực như: y, hóa học, dự báo… Ở lĩnh vực này, có nhiều chuyên gia giỏi Một câu hỏi đặt cách ta mã hóa tri thức lập luận chuyên gia vào máy tính nhầm hỗ trợ người sử dụng đưa định tư vấn cho họ khơng có chun gia bên cạnh Ngày nay, đời sống ngày ổn định, kinh tế ngày phát triển nhu cầu người ngày cao, việc du lịch xu người vào ngày nghỉ Tuy vậy, việc lựa chọn địa điểm để tham quan, du lịch cho phù hợp với thân người khơng phải điều dễ dàng Vì vậy, dựa vào kiến thức học lớp, từ nhu cầu thực tế, nhóm chúng em định chọn đề tài “Xây dựng hệ chuyên gia tư vấn địa điểm du lịch” dựa thuật toán suy diễn tiến Nhóm chúng em có nhiều cố gắng, nhiên với lần xây dựng Hệ chun gia khó tránh khỏi sai sót Mong Thầy bạn tiếp tục đóng góp ý kiến sản phẩm nhóm chúng em hoàn thiện Chương 1: Tổng quan Hệ chuyên gia 1.1 Khái niệm Hệ chuyên gia - Trí tuệ nhân tạo phận khoa học máy tính liên quan đến việc thiết kế hệ thống máy tính thơng minh, nghĩa hệ thống thể đặc trưng mà thấy gắn với trí thơng minh hành vi người, hiểu ngôn ngữ, học, suy luận, giải vấn đề, … Trí tuệ nhân tạo = Tri thức + Suy diễn - Vai trị trí tuệ nhân tạo: giải thuật có độ phức tạp cấp hàm đa thức ta viết chương trình bình thường, giải thuật có độ phức tạp hàm mũ ta phải áp dụng giải gần đúng, áp dụng kỹ thuật trí tuệ nhân tạo nhằm làm nhỏ khơng gian tốn dẫn đến giảm đáng kể thời gian thực - Hệ sở tri thức chương trình máy tính thiết kế để mơ hình hóa khả giải vấn đề chuyên gia người Hệ sở tri thức hệ thống dựa tri thức, cho phép dùng tri thức để giải vấn đề phức tạp lĩnh vực - Hệ chuyên gia nhánh trí tuệ nhân tạo sử dụng tri thức chuyên biệt để giải toán giai đoạn dùng chuyên gia người Hệ chuyên gia hiểu thực chất hệ thống có sử dụng cơng nghệ hệ chun gia bao gồm: ngôn ngữ hệ chuyên gia chuyên dụng, chương trình, phần cứng thiết kế nhằm phát triển vận hành hệ chuyên gia - Hệ chuyên gia hệ sở tri thức thiết kế cho lĩnh vực ứng dụng cụ thể Ví dụ hệ chuyên gia chẩn đoán bệnh ung thư y khoa, hệ chun gia chẩn đốn hỏng hóc đường dây điện thoại, … Hệ chuyên gia làm việc chuyên gia thực thụ tư vấn cung cấp ý kiến dựa kinh nghiệm chuyên gia đưa vào hệ chuyên gia - Giáo sư Edward Feigenbaum trường đại học STANFORD, chuyên gia đầu ngành hệ chuyên gia, cho rằng: hệ chuyên gia hệ thống chương trình máy tính chứa tri thức trình suy diễn lĩnh vực cụ thể để giải tốn khó mà địi hỏi un bác chun gia ngành 1.2 Cấu trúc đặc trưng Hệ chuyên gia 1.2.1 Cấu trúc Hệ chuyên gia - Hệ chuyên gia có thành phần sau: (1) Bộ giao diện người – máy (2) Môtơ suy diễn (3) Cơ sở tri thức (4) Bộ giải thích (5) Bộ tiếp nhận tri thức (6) Bộ nhớ làm việc Bộ giao diện người – máy (User Interface): thực giao tiếp HCG người sử dụng Bộ nhận thông tin từ người sử dụng đưa câu trả lời, lời khuyên, giải thích lĩnh vực Mơ tơ suy diễn (Inference Engine): HCG mơ hình hóa cách lập luận người với môđun động suy diễn HCG chứa động suy diễn để tiến hành suy diễn nhằm tạo tri thức dựa kiện, tri thức vùng nhớ làm việc sở tri thức Hai kiểu suy diễn động suy diễn suy diễn tiến suy diễn lùi Cơ sở tri thức (Knowledge Base): lưu trữ, biểu diễn tri thức mà hệ đảm nhận, làm sở cho hoạt động hệ Cơ sở tri thức bao gồm sở kiện (facts) sở luật (rules) Bộ giải thích (Explantion System): trả lời hai câu hỏi (why) cách (how) có yêu cầu từ người sử dụng Câu hỏi WHY nhằm mục đích cung cấp lý lẽ để thuyết phục người sử dụng theo đường suy diễn hệ chuyên gia Câu hỏi WHO nhằm cung cấp giải thích đường mà hệ chuyên gia sử dụng để mang lại kết Bộ tiếp nhận tri thức (Knowledge Editor): làm nhiệm vụ thu nhận tri thức từ chuyên gia người (human expert), từ kỹ sư xử lý tri thức người sử dụng thông qua yêu cầu lưu trữ vào sở tri thức Vùng nhớ làm việc (Working Memory): chứa kiện liên quan phát trình đưa kết luận Bộ nhớ làm việc tương đương với nhớ ngắn hạn (Short – Term Memory) mơ hình giải vấn đề người Hệ chuyên gia = (1) + (2) + (3) + (4) + (5) + (6), (2) (3) bắt buộc phải có xây dựng HCG 1.2.2 Đặc trưng Hệ chuyên gia HCG có đặc trưng sau: - Tách tri thức khỏi điều khiển: Thơng thường chương trình truyền thống khối điều khiển (giải thuật) tri thức (cấu trúc liệu) gắn liền với Điều gây khó khăn phát triển thay đổi chương trình Trong HCG, sở tri thức môtơ suy diễn độc lập với Điều giúp việc phát triển bảo trì HCG thuận lợi - Có tri thức chuyên gia: Các tri thức thu nhận mã hóa HCG Nó bao gồm tri thức lĩnh vực kỹ giải toán chuyên gia - Tập trung nguồn chuyên gia: Hầu hết chuyên gia có kỹ giỏi giải toán thuộc lĩnh vực họ Tuy nhiên, chun gia khơng giải tốn khơng thuộc lĩnh vực họ HCG vậy, tinh thơng vấn đề huấn luyện, vấn đề bên ngồi khó có khả giải Một khó khăn chung phát triển HCG thu nạp tri thức từ chuyên gia để giải tốn khó Các dự án chun gia thành cơng trực tiếp hướng đến tri thức chuyên sâu biết Một phương án khác chia toán ban đầu thành toán nhỏ Tuy nhiên, tốn giải lại gặp khó khăn khác phạm vi rộng lĩnh vực - Lập luận dựa ký hiệu: HCG biểu diễn tri thức dạng ký hiệu Ta sử dụng ký hiệu để biểu diễn nhiều dạng tri thức khác Chẳng hạn kiện, khái niệm hay luật Bên cạnh việc biểu diễn câu lệnh (chỉ thị) dạng ký hiệu, HCG xử lý ký hiệu giải vấn đề Chẳng hạn ta có luật “Nếu sốt nên uống hai viên aspirin” kiện Nam bị sốt Khi theo luật ta khun Nam nên uống thuốc aspirin Sự kiện: Nam bị sốt biểu diễn sốt (Nam) Luật: Nếu người bị sốt uống aspirin biểu diễn: sốt(X) uống(X,aspirin) Kết luận: uống(Nam,aspirin) - Lập luận may rủi: Các dạng may rủi điển hình chuyên gia giải vấn đề số trường hợp: + Với vấn đề hỏng hóc xe tơ, ln kiểm tra hệ thống điện + Hiếm người ta mặc áo mùa hè + Nếu gặp ung bướu ln kiểm tra lịch sử gia đình người bệnh Hầu hết Trí tuệ nhân tạo thưở ban đầu áp dụng kỹ thuật tìm kiếm may rủi giải vấn đề - Khả giải vấn đề bị hạn chế Trước dự án HCG bắt đầu, ta phải xác định xem vấn đề giải hay khơng Điều gây ngạc nhiên cho người bắt đầu tiếp xúc với HCG họ thấy Trí tuệ nhân tạo giải tốn Nếu khơng có chun gia để giải vấn đề ta khó hy vọng HCG giải tốt Nếu vấn đề thay đổi q nhanh thực khơng có HCG giải Ta nên xây dựng HCG để giải toán mà chuyên gia giải - Độ phức tạp tốn: Các tốn nên có độ phức tạp lập luận khơng q dễ khơng q khó Nói chung nhiệm vụ dễ cần HCG giải phút khó đánh giá cơng sức HCG Nếu vấn đề có độ phức tạp lớn cố gắng chia thành tốn nhỏ hơn, tốn ta giải HCG - Chấp nhận sai lầm: Người ta coi HCG giải vấn đề chuyên gia, tức chấp nhận hệ thống sai lầm Do HCG mắc sai lầm, ta thấy chương trình truyền thống có ưu HCG Tuy nhiên so sánh tổng thể người ta thấy số trường hợp HCG có lời giải sai lầm mang tính người xử lý thơng tin khơng xác, chí mâu thuẫn 1.3 Ứng dụng Hệ chuyên gia Cho đến nay, hàng trăm hệ chuyên gia xây dựng báo cáo thường xuyên tạp chí, sách báo hội thảo khoa học Ngồi ra, HCG sử dụng cơng ty, tổ chức quân mà không công bố lý bảo mật Một số ứng dụng HCG Lĩnh vực Ứng dụng phát triển Cấu hình (Configuration) Tập hợp thích đáng thành phần hệ thống theo cách riêng Chuẩn đoán (Diagnosis) Lập luận dựa chứng quan sát Truyền đạt (Instruction) Dạy học kiểu thông minh cho sinh viên hỏi (why), (how) (what if ?) giống hỏi thầy giáo Giải thích (Interpretation) Giải thích liệu thu nhận Kiêm tra (Monitoring) So sánh liệu thu lượm với liệu chuyên môn để đánh giá hiệu Lập kế hoạch (Planning) Lập kế hoạch sản xuất theo yêu cầu Dự đoán (Prognosis) Dự đoán kết từ tình xảy Chữa trị (Remedy) Chỉ thị cách thụ lý vấn đề Điều khiển (Control) Điều khiển q trình, địi hỏi diễn giải, chuẩn đoán, kiểm tra, lập kế hoạch, dự đoán chữa trị Chương 2: Suy diễn tiến 2.1 Giới thiệu Chiến lược suy diễn tiến bắt đầu tập kiện biết, rút kiện nhờ dùng luật mà phần giả thiết khớp với kiện biết tiếp tục trình thấy trạng thái đích, khơng cịn luật khớp kiện biết hay kiện suy diễn Hệ thống suy diễn tiến hoạt động sau: - Trước tiên hệ thống lấy thông tin toán từ ngưới sử dụng đặt chung vào nhớ làm việc, - Suy diễn quét luật theo dãy xác định trước; xem phần giả thiết có trùng khớp với nội dung nhớ, - Nếu phát luật mô tả trên, bổ sung kết luận luật vào nhớ Luật gọi cháy, - Quá trình tiếp tục khơng cịn khớp luật nào, - Lúc nhớ có thơng tin người dùng thơng tin hệ thống suy diễn 2.2 Thuật tốn Vào: - Tập mệnh đề cho GT = {gt1,gt2, ,gtm} - Tập hợp luật R = {r1,r2, ,rm} với ri: p1 ^ p2 ^ ^ ps q với i = 1, 2, ,n - Tập KL = {q1,q2, ,qk} Ra: Thông báo thành công q i (i=1, 2, , k) suy từ GT tập luật R Phương pháp: /* TG tập kiện (mệnh đề) thời điểm xét */ void SDT() { 10 R54 B2 ^ G3 ^ D1 → Z10 R55 F4 ^ B1 → Z14 R56 G4 ^ B1 → Z13 R57 B3 ^ F4 → Z5 R58 F2 ^ E4 ^ B2 → Z12 R59 G1 ^ B1 → Z6 R60 A2 ^ E4 → H2 R61 A4 ^ E4 → H2 R62 A2 ^ K3 → H1 R63 A4 ^ K3 → H1 R64 A1 → H1 R65 A1 → I1 R66 A2 → I3 R67 A4 → I3 R68 A5 → I2 R69 I3 → E3 R70 A1 → K3 R71 A3 → K2 R72 E1 → K3 R73 G2 → H1 R74 A6 → I1 R75 A7 → I1 R76 A8 → I2 R77 A5 → K2 21 R78 H1→B1 R79 H1→B2 R80 H1→B3 R81 G6 ^ D2 → B2 R82 B1 ^ C1 → I1 R83 B1 ^ C3 → I3 R84 B3 ^ C1 → I3 R85 B2 ^ B2 → I1 R86 B3 ^ C3 → I1 R87 B2 ^ C1 → I1 R88 B2 ^ C3 → I1 R89 G6 → H2 R90 G1 ^ G6 ^ H2 → Z16 R91 G5 ^ E3 ^ H2 → Z17 R92 F3 ^ G1 ^ H2 →Z24 R93 F4 ^ H2 ^ E4 → Z23 R94 F4 ^ H2 ^ G3 → Z20 R95 F4 ^ H2 ^ G1 → Z19 R96 H2 ^ E4 ^ G3 ^ F4 → Z18 R97 G5 ^ H2 → Z21 R98 F1 ^ H2 →Z17 R99 F2 ^ H2 ^ G1 → Z25 3.3 Thiết kế sở liệu 3.3.1 Mô tả hệ thống 22 Hệ chuyên gia tư vấn địa điểm du lịch nhằm hỗ trợ việc lựa chọn địa điểm du lịch hợp lý - Hệ thống bao gồm tập luật hình thành từ kiện - Các kiện tri thức thu thập để xây dựng luật Mỗi kiện xác định thông tin id, ký hiệu, mơ tả Sự kiện trung gian đích - Riêng kiện đích kết địa điểm mà hệ thống tư vấn nên cần mơ tả chi tiết kèm hình ảnh cho sinh động - Luật xác định id, ký hiệu bao gồm hai thành phần vế trái, vế phải 3.3.2 Thiết kế bảng  Bảng Luật: - id : int (Primary Key) - ky_hieu : varchar(4) - ve_trai: varchar(50) - ve_phai: varchar(10)  Bảng Giới thiệu - ky_hieu: varchar(4) (Primary key) 23 - mo_ta: nvarchar(3000) - hinh_anh: image  Bảng Kiểu kiện - kieu: int (Primary key) - mota: nvarchar(50)  Bảng Sự kiện - id: int (Primary key) - ky_hieu: varchar(4) (Foreign key) - mo_ta: nvarchar(100) - kieu: int (Foreign key) 3.3.3 Quan hệ bảng 24 3.4 Cài đặt chương trình 3.4.1 Cơng cụ hỗ trợ - Chương trình viết ngôn ngữ C#, công cụ hỗ trợ hỗ trợ Microsoft Visual Studio 2019 - Dữ liệu lưu trữ dạng bảng Database công cụ quản lý Microsoft SQL Server 2012 3.4.2 Giao diện chương trình 25 Hình 1: Giao diện Hình 2: Giao diện Quản lý kiện 26 Hình 3: Giao diện Quản lý luật Hình 4: Giao diện tư vấn thành cơng 27 Hình 5: Giao diện tư vấn thất bại 3.5 Mã nguồn suy diễn tiến class MaySuyDien { public List GT {set; get;} private List TG; private List SAT= new List(); private List R; publicstring progess { get; set; } DataModel data = newDataModel(); private List events= new List(); public MaySuyDien() { events = data.getAllListEvents(); } 28 public MaySuyDien(List GT) { this.GT = GT; events = data.getAllListEvents(); } public SuKien suyDienTien() { progess = ""; TG = GT; progess += "Ban đầu:"+Environment.NewLine+"TG = GT = {"; foreach(SuKien e in TG){ progess += (e.Code + ","); } progess += ("}" + Environment.NewLine); R = data.getR(); getSAT(); progess += "SAT={"; foreach (Luat l in SAT) { progess += l.Code + ", "; } progess += ("}"+Environment.NewLine); 29 while (SAT.Count > && getGoal() == null) { progess += ("SAT != rỗng Goal không nằm TG"+Environment.NewLine); progess += (Environment.NewLine + "Lấy " + SAT[0].Code + " để tiếp tục!" + Environment.NewLine); SuKien x = newSuKien(SAT[0].Right); if(!TG.Contains(x)) TG.Add(events[events.IndexOf(x)]); int s = SAT.IndexOf(SAT[0]); int r = R.IndexOf(SAT[0]); SAT.RemoveAt(s); R.RemoveAt(r); getSAT(); progess +=( "TG = {"); foreach (SuKien e in TG) { progess += (e.Code + ","); } progess += ("}" + Environment.NewLine); progess += "SAT={"; foreach (Luat l in SAT) 30 { progess += l.Code + ", "; } progess += ("}"+Environment.NewLine); } if (getGoal() == null) { progess += (Environment.NewLine + "SAT rỗng, Goal không thuộc TG=> Thất bại"); } else { progess += (Environment.NewLine + "Goal= "+getGoal().Code+" thuộc TG, =>Thành công"); } return getGoal(); } privatebool checkRule(Luat r) { bool rs = true; string[] x = r.Left.Split(','); foreach (string e in x) 31 { if (!TG.Contains(new SuKien(e))) { rs = false; } } return rs; } privatevoid getSAT() { foreach (Luat r in R) { if (!SAT.Contains(r)&&checkRule(r)==true) { SAT.Add(r); } } } private SuKien getGoal() { SuKien s = null; for (int i = TG.Count - 1; i >= 0; i ) 32 { if (TG[i].Type == 1) { s = TG[i]; break; } } return s; } } 33 KẾT LUẬN Hệ chuyên gia - Hệ giải toán dựa tri thức gọi hệ sở tri thức HCG loại hệ sở tri thức - HCG chuyên giải tốn có sử dụng tri thức chuyên gia - Kỹ sư xử lý tri thức mã hóa tri thức lập luận chuyên gia vào máy tính - HCG phần mềm có khả giải toán lĩnh vực cụ thể đạt trình độ chuyên gia lâu năm - HCG gồm thành phần thiết phải có sở tri thức động suy diễn - Cơ sở tri thức bao gồm kiện luật lĩnh vực cụ thể Mơtơ suy diễn mơ hình hóa lập luận chun gia Mơđun có chế cho phép kết hợp luật để đưa kết luận Môtơ suy diễn độc lập với khối sở tri thức giúp cho việc phát triển HCG hiệu HCG ứng dụng hầu hết lĩnh vực: dự báo, tư vấn, Suy diễn tiến Chiến lược suy diễn tiến bắt đầu tập kiện biết, rút kiện nhờ dùng luật mà phần giả thiết khớp với kiện biết tiếp tục trình thấy trạng thái đích, khơng cịn luật khớp kiện biết hay kiện suy diễn Xây dựng ứng dụng - Giới thiệu toán: Xây dựng hệ chuyên gia tư vấn địa điểm du lịch - Cơ sở tri thức: dựa liệu nghề nghiệp, mức thu nhập, địa điểm thời gian, mà khách hàng lựa chọn để xây dựng sở tri thức - Thiết kế sở liệu: gồm có bảng: bảng Luật, bảng Sự kiện, bảng Kiểu kiện bảng Giới thiệu 34 TÀI LIỆU THAM KHẢO Tài liệu học tập: - Trần Hùng Cường (Chủ biên), Trần Thanh Hùng Giáo trình hệ chuyên gia Nhà xuất Khoa học Kỹ thuật, 2015 - Tư vấn du lịch: Những địa điểm "tránh nóng" ngày hè cho lý tưởng Việt Nam (doisongphapluat.com) Ngày truy xuất: 25/11/2020 9:00 PM - http://diendan.congdongcviet.com/threads/t208614::thuat-toan-suy-dientien-trong-he-chuyen-gia-tri-tue-nhan-tao-trong-csharp.cpp Ngày truy xuất: 25/11/2020 9:00 PM Phương tiện, nguyên liệu thực Bài tập lớn: - Phần mềm MS SQL Server, Visual Studio, MS Office 35 ... diễn Xây dựng ứng dụng - Giới thiệu toán: Xây dựng hệ chuyên gia tư vấn địa điểm du lịch - Cơ sở tri thức: dựa liệu nghề nghiệp, mức thu nhập, địa điểm thời gian, mà khách hàng lựa chọn để xây dựng. .. Mô tả hệ thống 22 Hệ chuyên gia tư vấn địa điểm du lịch nhằm hỗ trợ việc lựa chọn địa điểm du lịch hợp lý - Hệ thống bao gồm tập luật hình thành từ kiện - Các kiện tri thức thu thập để xây dựng. .. Tổng quan Hệ chuyên gia 1.1 Khái niệm Hệ chuyên gia .4 1.2 Cấu trúc đặc trưng Hệ chuyên gia .5 1.2.1 Cấu trúc Hệ chuyên gia 1.2.2 Đặc trưng Hệ chuyên gia

Ngày đăng: 12/02/2022, 10:30

Mục lục

    Chương 1: Tổng quan về Hệ chuyên gia

    1.1. Khái niệm Hệ chuyên gia

    1.2. Cấu trúc và đặc trưng của Hệ chuyên gia

    1.2.1. Cấu trúc Hệ chuyên gia

    1.2.2. Đặc trưng của Hệ chuyên gia

    1.3. Ứng dụng của Hệ chuyên gia

    Chương 2: Suy diễn tiến

    Chương 3: Xây dựng ứng dụng

    3.1. Giới thiệu bài toán

    3.2. Cơ sở tri thức