Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
178,18 KB
Nội dung
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CAO HỌC KHÓA 8 BIỂU DIỄN TRI THỨC VÀ SUY LUẬN LÝ THUYẾT VÀ ỨNG DỤNG Giảng viên hướng dẫn: PGS.TS Đỗ Văn Nhơn Học viên thực hiện: CH1301031 - Nguyễn Thành Phương TP. Hồ Chí Minh, tháng 3 năm 2014 MỤC LỤC GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương Trang 3 CHƯƠNG 1: TỔNG QUAN 1.1 Đặt vấn đề Ngày nay công nghệ thông tin (CNTT) trở thành một lĩnh vực mũi nhọn trong công cuộc phát triển kinh tế xã hội, CNTT vừa là công cụ, vừa là động lực thúc đẩy quá trình công nghiệp hóa, hiện đại hóa đất nước. Việc ứng dụng CNTT vào thực tiễn đã có một bước phát triển rất mạnh mẽ. CNTT được ứng dụng rộng rãi, đóng vai trò to lớn trong quá trình xử lý của nhiều lĩnh vực và nhiều ngành: y tế, giáo dục, tài chính Cùng với sự phát triển của CNTT, logic học phát triển hết sức mạnh mẽ dẫn đến sự hình thành một loạt các bộ môn logic học hiện đại, như logic học mệnh đề, logic học vị từ, logic học đa trị, logic học tình thái, logic học xác suất, v.v Các bộ môn đó cung cấp cho nhân loại những công cụ sắc bén giúp tư duy con người ngày càng đi sâu hơn vào nhận thức các bí mật của thế giới khách quan. Việc biễu diễn tri thức đóng vai trò hết sức quan trọng trong việc khẳng định khả năng giải quyết vấn đề của logic học, đặc biệt logic học ứng dụng trong CNTT. Để hiểu rõ điều này, tiểu luận sẽ tìm hiểu lý thuyết về công nghệ tri thức, các phương pháp biểu diễn tri thức và các phương pháp suy luận vấn đề. Ngoài ra tiều luận còn áp dụng phương pháp biểu diễn tri thức bằng logic vị từ và phương pháp suy diễn tiến để hiện thực chương trình chuẩn đoán các bệnh thường gặp trong y khoa. 1.2 Mục tiêu đề tài - Tìm hiểu công nghệ tri thức - Tìm hiểu các phương pháp biểu diễn tri thức và suy luận - Áp dụng lý thuyết biểu diễn tri thức bằng logic vị từ, suy diễn để xây dựng một ứng dụng nhỏ minh họa đó là hệ chuyên gia hỗ trợ chuẩn đoán các bệnh y khoa. 1.3 Bố cục báo cáo - Chương 1: Tổng quan GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương Trang 4 - Chương 2: Phương pháp biểu diễn tri thức - Chương 3: Phương pháp suy luận - Chương 4: Bài toán minh họa - Chương 5: Kết luận GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương Trang 5 CHƯƠNG 2: PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC 2.1 Công nghệ tri thức Công nghệ tri thức (Knowledge Engineering - KE) được định nghĩa vào năm 1983 bởi Edward Feigenbaum, và Pamela McCorduck như sau: KE là một ngành kỹ thuật liên quan đến việc tích hợp kiến thức vào hệ thống máy tính để giải quyết các vấn đề phức tạp thường đòi hỏi một mức độ cao về chuyên môn của con người. Hiện nay, nó đề cập đến việc xây dựng, duy trì và phát triển của các hệ thống dựa trên tri thức . KE được ứng dụng nhiều trong ngành công nghệ phần mềm trong nhiều lĩnh vực khác nhau có thể kể đến như: trí tuệ nhân tạo (artificial intelligence), khai mỏ dữ liệu (data mining), hệ chuyên gia (expert systems), hệ hỗ trợ ra quyết định (decision support systems). 2.2 Tổng quan về tri thức Tri thức có nhiều ý nghĩa tùy theo văn cảnh, nhưng lúc nào cũng có liên quan với những khái niệm như hiểu biết, ý nghĩa, thông tin, giảng dạy, giáo dục, giao tiếp, diễn tả, học hỏi, suy luận, nhận thức và kích thích trí óc. Tri thức là nó bao gồm ba tiêu chí khả tín, xác thực, và chứng minh được. Tri thức là các thông tin, các tài liệu, các cơ sở lý luận, các kỹ năng khác nhau, đạt được bởi một tổ chức hay một cá nhân thông qua các trải nghiệm thực tế hay thông qua sự giáo dục đào tạo; các hiểu biết về lý thuyết hay thực tế về một đối tượng, một vấn đề, có thể lý giải được về nó. Tóm lại, Tri thức là nói về đối tượng thực hiện được những hành động một cách hiệu quả. Tri thứ là sự hiểu biết của con người trong một phạm vi, lĩnh vực nào đó, được xem xét theo các mục tiêu hay các vấn đề nhất định có khả năng giúp con người làm việc có hiệu quả. Tri thức là một hệ thống phức tạp, đa dạng và trừu tượng bao gồm nhiều thành tố với những mối liên hệ tác động qua lại như: • Các khái niệm (concepts), với những mối liên hệ cơ bản nhất định (relationships). GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương Trang 6 • Các quan hệ (relations): là một quan hệ 2 ngôi R trên một tập X như phản xạ, đối xứng, phản xứng, bắc cầu; Quan hệ thứ tự; Quan hệ tương đương; • Cách biểu diễn của một quan hệ 2 ngôi R trên tập X: Biểu diễn dựa trên “tập hợp”, biểu diễn bằng ma trận, biểu đồ (đồ thị). • Các toán tử (operators), phép toán, các biểu thức hay công thức. • Các hàm (functions) • Các luật (rules) 2.3 Phân loại tri thức • Tri thức sự kiện: là các khẳng định về một sự kiện, khái niệm nào đó (trong một phạm vi xác định). Các định luật vật lý, toán học,… thường được xếp vào loại này. Ví dụ: mặt trời mọc ở phía đông, tam giác đều có 3 góc 60 0 … • Tri thức thủ tục: thường dùng để diễn tả phương pháp, các bước tiến hành, trình từ hay ngắn gọn là cách giải quyết vấn đề. Thuật toán, thuật giải là một dạng của tri thức thủ tục. • Tri thức mô tả: cho biết một đối tượng, sự kiện, vấn đề, khái niệm, … được thấy, cảm nhận, cấu tạo như thế nào. Ví dụ: một cái bàn thường có 4 chân; con người có 2 tay, 2 mắt, • Tri thức Heuristic: là một dạng tri thức cảm tính. Các tri thức thuộc loại này thường có dạng ước lượng, phỏng đoán, và thường được hình thành thông qua kinh nghiệm. • Siêu tri thức: Mô tả tri thức về tri thức. Loại tri thức này giúp cho lựa chọn tri thức thích hợp nhất trong số các tri thức khi giải quyết một vấn đề. 2.4 Các phương pháp biểu diễn tri thức Biểu diễn tri thức là cách thể hiện tri thức trong máy dưới dạng sao cho bài toán có thể được giải tốt nhất. Biểu diễn tri thức trong máy phải: • Thể hiện được tất cả các thông tin cần thiết. • Cho phép tri thức mới được suy diễn từ tập các sự kiện và luật suy diễn. • Cho phép biểu diễn các nguyên lý tổng quát cũng như các tình huống đặc trưng. • Bắt lấy được ý nghĩa ngữ nghĩa phức tạp. • Cho phép lý giải ở mức tri thức cao hơn. GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương Trang 7 2.4.1 Biểu diễn tri thức sử dụng luật dẫn xuất Phương pháp biểu diễn tri thức bằng luật dẫn được phát minh bởi Newell và Simon trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng quát. Đây là một kiểu biểu diễn tri thức có cấu trúc. Ý tưởng cơ bản là tri thức có thể được cấu trúc bằng một cặp điều kiện & hành động: "NẾU điều kiện xảy ra THÌ hành động sẽ được thi hành". Chẳng hạn : NẾU đèn giao thông là đỏ THÌ bạn không được đi thẳng, NẾU máy tính đã mở mà không khởi động được THÌ kiểm tra nguồn điện, v.v… Một cách tổng quát luật dẫn có dạng như sau: Tùy vào các vấn đề đang quan tâm mà luật sinh có những ngữ nghĩa hay cấu tạo khác nhau : • Trong logic vị từ : P1, P2, , Pn, Q là những biểu thức logic. • Trong ngôn ngữ lập trình, mỗi một luật sinh là một câu lệnh. IF (P1 AND P2 AND AND Pn) THEN Q. Để biểu diễn một tập luật dẫn, người ta phải chỉ rõ hai thành phần chính sau: (1) Tập các sự kiện F (Facts): F = { f1, f2, fn } (2) Tập các quy tắc R (Rules) áp dụng trên các sự kiện dạng như sau : f1 ^ f2 ^ ^ fi q Trong đó, các fi, q đều thuộc F Ưu điểm: Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống hệ thống cần đưa ra những hành động dựa vào những sự kiện có thể quan sát được. Nó có những ưu điểm chính yếu sau đây: GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương Trang 8 • Các luật rất dễ hiểu nên có thể dễ dàng dùng để trao đổi với người dùng (vì nó là một trong những dạng tự nhiên của ngôn ngữ). • Có thể dễ dàng xây dựng được cơ chế suy luận và giải thích từ các luật. • Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng. • Có thể cải tiến dễ dàng để tích hợp các luật mờ. • Các luật thường ít phụ thuộc vào nhau. Nhược điểm: • Các tri thức phức tạp đôi lúc đòi hỏi quá nhiều (hàng ngàn) luật sinh. Điều này sẽ làm nảy sinh nhiều vấn đề liên quan đến tốc độ lẫn quản trị hệ thống. • Thống kê cho thấy, người xây dựng hệ thống trí tuệ nhân tạo thích sử dụng luật sinh hơn tất cả phương pháp khác (dễ hiểu, dễ cài đặt) nên họ thường tìm mọi cách để biểu diễn tri thức bằng luật sinh cho dù có phương pháp khác thích hợp hơn! Đây là nhược điểm mang tính chủ quan của con người. • Cơ sở tri thức luật sinh lớn sẽ làm giới hạn khả năng tìm kiếm của chương trình điều khiển. Nhiều hệ thống gặp khó khăn trong việc đánh giá các hệ dựa trên luật sinh cũng như gặp khó khăn khi suy luận trên luật sinh. 2.4.2 Biểu diễn tri thức bằng Scripts Script là một cách biểu diễn tri thức tương tự như frame nhưng thay vì đặc tả một đối tượng, nó mô tả một chuỗi các sự kiện. Để mô tả chuỗi sự kiện, script sử dụng một dãy các slot chứa thông tin về các con người, đối tượng và hành động liên quan đến sự kiện đó. Tuy cấu trúc của các script là rất khác nhau tùy theo bài toán, nhưng nhìn chung một script thường bao gồm các thành phần sau: • Điều kiện vào (entry condition): mô tả những tình huống hoặc điều kiện cần được thỏa mãn trước khi các sự kiện trong script có thể diễn ra. • Role (diễn viên): là những con người có liên quan trong script. • Prop (tác tố): là tất cả những đối tượng được sử dụng trong các chuỗi sự kiện sẽ diễn ra. • Scene(Tình huống): là chuỗi sự kiện thực sự diễn ra. GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương Trang 9 • Result (Kết quả): trạng thái của các Role sau khi script đã thi hành xong. • Track (phiên bản): mô tả một biến thể (hoặc trường hợp đặc biệt) có thể xảy ra trong đoạn script. Script rất hữu dụng trong việc dự đoán điều gì sẽ xảy đến trong những tình huống xác định. Thậm chí trong những tình huống chưa diễn ra, script còn cho phép máy tính dự đoán được việc gì sẽ xảy ra và xảy ra đối với ai và vào thời điểm nào. Nếu máy tính kích hoạt một script, người dùng có thể đặt câu hỏi và hệ thống có thể suy ra được những câu trả lời chính xác mà không cần người dùng cung cấp thêm nhiều thông tin (trong một số trường hợp có thể không cần thêm thông tin). Do đó, cũng giống như frame, script là một dạng biểu diễn tri thức tương đối hữu dụng vì nó cho phép ta mô tả chính xác những tình huống "chuẩn" mà con người vẫn thực hiện mỗi ngày hoặc đã nắm bắt chính xác. Để cài đặt script trong máy tính, bạn phải tìm cách lưu trữ các tri thức dưới dạng hình thức. LISP là ngôn ngữ lập trình phù hợp nhất để làm điều này. Sau khi đã cài đặt xong script, bạn (người dùng) có thể đặt câu hỏi về những con người hoặc điều kiện có liên quan trong script. Hệ thống sau đó sẽ tiến hành thao tác tìm kiếm hoặc thao tác so mẫu để tìm câu trả lời. Chẳng hạn bạn có thể đặt câu hỏi "Khách hàng làm gì trước tiên?". Hệ thống sẽ tìm thấy câu trả lời trong scene 1 và đưa ra đáp án "Đậu xe và bước vào nhà hàng". 2.4.3 Biểu diễn tri thức bằng Frame Frame là một cấu trúc dữ liệu chứa đựng tất cả những tri thức liên quan đến một đối tượng cụ thể nào đó. Frames có liên hệ chặt chẽ đến khái niệm hướng đối tượng (thực ra frame là nguồn gốc của lập tŕnh hướng đối tượng). Ngược lại với các phương pháp biểu diễn tri thức đã được đề cập đến, frame "đóng gói" toàn bộ một đối tượng, tình huống hoặc cả một vấn đề phức tạp thành một thực thể duy nhất có cấu trúc. Một frame bao hàm trong nó một khối lượng tương đối lớn tri thức về một đối tượng, sự kiện, vị trí, tình huống hoặc những yếu tố khác. Do đó, frame có thể giúp ta mô tả khá chi tiết một đối tượng. Dưới một khía cạnh nào đó, người ta có thể xem phương pháp biểu diễn tri thức bằng frame chính là nguồn gốc của ngôn ngữ lập trình hướng đối tượng. Ý tưởng của phương pháp này là "thay vì bắt người dùng sử dụng các công cụ phụ như dao mở để đồ hộp, ngày nay các hãng sản xuất đồ hộp thường gắn kèm các nắp mở đồ hộp ngay bên trên vỏ lon. Như vậy, người dùng sẽ không bao giờ phải lo lắng đến việc tìm một thiết bị để mở đồ hộp nữa!". Cũng vậy, ý GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương Trang 10 tưởng chính của frame (hay của phương pháp lập trình hướng đối tượng) là khi biểu diễn một tri thức, ta sẽ "gắn kèm" những thao tác thường gặp trên tri thức này. Chẳng hạn như khi mô tả khái niệm về hình chữ nhật, ta sẽ gắn kèm cách tính chu vi, diện tích. Frame thường được dùng để biểu diễn những tri thức "chuẩn" hoặc những tri thức được xây dựng dựa trên những kinh nghiệm hoặc các đặc điểm đã được hiểu biết cặn kẽ. Bộ não của con người chúng ta vẫn luôn "lưu trữ" rất nhiều các tri thức chung mà khi cần, chúng ta có thể "lấy ra" để vận dụng nó trong những vấn đề cần phải giải quyết. Frame là một công cụ thích hợp để biểu diễn những kiểu tri thức này. 2.4.4 Biểu diễn tri thức bằng mạng ngữ nghĩa Khái niệm: Mạng ngữ nghĩa la một phương phap biểu diễn tri thức đầu tiên và cũng là phương pháp dễ hiểu nhất đối với chúng ta. Phương pháp này sẽ biểu diễn tri thức dưới dạng một đồ thị, trong đó đỉnh là các đối tượng (khái niệm) còn các cung cho biết mối quan hệ giữa các đối tượng (khái niệm) này. Chẳng hạn: giữa các khái niệm chích chòe, chim, hót, cành, tổ có một số mối quan hệ như sau: • Chích chòe là một loài chim. • Chim biết hót • Chim có cánh • Chim sống trong tổ Các mối quan hệ nay sẽ được biểu diễn trực quan bằng một đồ thị như sau : Do mạng ngữ nghĩa là một loại đồ thị cho nên nó thừa hưởng được tất cả những mặt mạnh của công cụ này. Nghĩa là ta có thể dùng những thuật toán của đồ thị trên mạng ngữ nghĩa như GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương [...]... tạo, tối thiểu cần thiết việc thể hiện tri thức Sau khi biết các thể hiện tri thức cần có hệ thống suy lý trên các tri thức đó Việc suy lý thể hiện thông qua kỹ thuật suy diễn và các chiến lược điều khiển Các kỹ thuật suy diễn bao gồm: suy diễn tiến, suy diễn lùi và suy diễn hỗn hợp 3.2 Suy diễn tiến Suy diễn tiến là phương pháp suy dẫn từ giả thiết đi đến kết luận Chiến lược này được bắt đầu bằng tập... BENH(viem_phe_quan) X là các tri u chứng của bệnh viêm phế quản • ∀X TRIEU_CHUNG(lao_phoi,X) BENH(lao_phoi) X là các tri u chứng của bệnh lao phổi • ∀X TRIEU_CHUNG(hen_suyen,X) BENH(hen_suyen) X là các tri u chứng của bệnh hen suy n • ∀X TRIEU_CHUNG(cao_huyet_ap,X) BENH(cao_huyet_ap) X là các tri u chứng của bệnh cao huyết áp • ∀X TRIEU_CHUNG(viem_tai_giua,X) BENH(viem_tai_giua) X là các tri u chứng của bệnh... thời gian và trình tự không được thể hiện tường minh trên mạng ngữ nghĩa 2.4.5 Biểu diễn tri thức bằng mô hình COKB A Khái niệm Các phương pháp truyền thống để biểu diễn tri thức như logic mệnh đề, hệ luật dẫn, mạng ngữ nghĩa,… rất được quan tâm và được sử dụng trong nhiều ứng dụng Tuy nhiên các phương pháp này không đủ và không dễ dùng để khởi tạo các chương trình thông minh hoặc các hệ tri thức trong... các tri u chứng • ∀X TRIEU_CHUNG(viem_xoang_mui,X) BENH(viem_xoang_mui) X là các tri u chứng của bệnh viêm xoang mũi • ∀X TRIEU_CHUNG(thuy_dau,X) BENH(thuy_dau) X là các tri u chứng của bệnh thủy đậu • ∀X TRIEU_CHUNG(viem_phoi,X) BENH(viem_phoi) X là các tri u chứng của bệnh viêm phổi • ∀X TRIEU_CHUNG(tay_chan_mieng,X) BENH(tay_chan_mieng) X là các tri u chứng của bệnh tay chân miệng • ∀X TRIEU_CHUNG(viem_phe_quan,X)... 2 quá trình suy diễn tiến và suy diễn lùi nhằm khắc phục khuyết điểm của mỗi phương pháp và nâng cao hiệu quả của quá trình suy diễn trong áp dụng cụ thể Nhược điểm của suy diễn tiến: Không cảm nhận được sự gần tới đích Nhược GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương Trang 19 điểm của suy diễn lùi: thường dẫn tới sự phân nhánh lớn và không cảm nhận được sự cần chuyển hướng dòng suy nghĩ GVHD:... các ký hiệu để thể hiện tri thức và các phép toán logic tác động lên các ký hiệu để thể hiện suy luận logic Kỹ thuật chủ yếu thường được sử dụng là logic vị từ Trong bài tiểu luận này ta sẽ áp dụng lý thuyết của logic vị từ để viết ứng dụng minh họa giải bài toán chuẩn đoán các bệnh thường gặp GVHD: PGS.TS Đỗ Văn Nhơn HV: Nguyễn Thành Phương Trang 18 CHƯƠNG 3: PHƯƠNG PHÁP SUY LUẬN 3.1 Mở đầu Để giải... BENH(dau_da_day) X là các tri u chứng của bệnh đau dạ dày • ∀X TRIEU_CHUNG(can_thi,X) BENH(can_thi) X là các tri u chứng của bệnh thấp cận thị • ∀X TRIEU_CHUNG(viem_phe_quan,X) BENH(viem_phe_quan) X là các tri u chứng của bệnh viêm phế quản • ∀X TRIEU_CHUNG(cam,X) BENH(cam) X là các tri u chứng của bệnh cảm • ∀X TRIEU_CHUNG(viem_mui,X) BENH(viem_mui) X là các tri u chứng của bệnh viêm mũi GVHD:... TRIEU_CHUNG(dau_dau,X) BENH(dau_dau) X là các tri u chứng của bệnh đau đầu • ∀X TRIEU_CHUNG(dau_dau_tung_chuoi,X) BENH(dau_dau_tung_chuoi) X là các tri u chứng của bệnh đau đầu từng chuỗi • ∀X TRIEU_CHUNG(thap_khop_cap,X) BENH(thap_khop_cap) X là các tri u chứng của bệnh thấp khớp cấp • ∀X TRIEU_CHUNG(viem_ruot_thua,X) BENH(viem_ruot_thua) X là các tri u chứng của bệnh viêm ruột thừa • ∀X TRIEU_CHUNG(dau_da_day,X)... toán bằng cách áp dụng các luật trong cơ sở tri thức Quá trình suy diễn lùi này sẽ phát sinh một sơ đồ cây mục tiêu kèm theo một cơ chế quay lui và lời giải sẽ được tìm thấy khi tất cả các mục tiêu ở các nút lá của cây mục tiêu đều thuộc về những sự kiện đã biết Trong áp dụng cụ thể phương pháp thường sử dụng kết hợp với các qui tắc heuristic trong việc chọn luật 3.4 Suy diễn hỗn hợp Suy diễn hỗn hợp là... tính toán Tri thức về các hàm cũng là loại phổ biến của tri thức trong hầu hết các lĩnh vực tri thức trong thực tế, đặc biệt là trong các lĩnh vực khoa học tự nhiên như toán học hoặc vật lý Trong hình học chúng ta có các hàm: khoảng cách giữa hai điểm, khoảng cách từ điểm đến một đường thẳng, mặt phẳng, o Rules: biểu diễn các luật Tập hợp các luật là một phần của cơ sở tri thức Các luật biểu hiện các . Tìm hiểu công nghệ tri thức - Tìm hiểu các phương pháp biểu diễn tri thức và suy luận - Áp dụng lý thuyết biểu diễn tri thức bằng logic vị từ, suy diễn để xây dựng một ứng dụng nhỏ minh họa đó. tả tri thức về tri thức. Loại tri thức này giúp cho lựa chọn tri thức thích hợp nhất trong số các tri thức khi giải quyết một vấn đề. 2.4 Các phương pháp biểu diễn tri thức Biểu diễn tri thức. hiện tri thức. Sau khi biết các thể hiện tri thức cần có hệ thống suy lý trên các tri thức đó. Việc suy lý thể hiện thông qua kỹ thuật suy diễn và các chiến lược điều khiển. Các kỹ thuật suy diễn