1. Trang chủ
  2. » Luận Văn - Báo Cáo

QUẢN Lý d6cntt epu dai

25 490 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 278,39 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI NÓI ĐẦUNhững năm gần đây, các phần mềm chuyên dụng đang phát triển rất mạnh mẽ, mọi người đã rất quen thuộc với các chương trình trợ giúp về kiến thức cũng như hỏi đáp.Tuy nhiên, chú

Trang 1

MỤC LỤC

CHƯƠ NG 1: T Ổ NG QUAN H Ệ CHUYÊN GIA 1

1.1 H ệ chuyên gia là gì? 1

1.2 Các lĩnh vự c ứ ng d ụ ng c ủ a h ệ chuyên gia 3

1.3.C ấ u trúc c ủ a h ệ chuyên gia 4

CHƯƠNG 2: LẬ P TRÌNH LOGIC VÀ NGÔN NG Ữ PROLOG 8

2.1 Gi ớ i thi ệ u v ề l ậ p trình LOGIC 8

2.2 Ngôn ng ữ prolog 8

2.3 Các y ế u t ố cơ bả n c ủ a Turbo Prolog: 9

2.3.1 Đối Tượ ng 9

2.3.2 Quan h ệ gi ữa các đối tượ ng 9

2.3.3 S ự ki ệ n và lu ậ t 9

2.4 C ấu trúc 1 chương trình Prolog 9

2.4.1 Ph ầ n Domains 9

2.4.2 Ph ầ n Predicates 10

2.4.3 Ph ầ n Clauses 11

2.4.4 Ph ầ n Goal 12

2.5 Các nguyên t ắ c c ủ a ngôn ng ữ Prolog 12

2.5.1 Đồ ng nh ấ t 12

2.5.2 Quay lui 13

2.6 B ộ ký t ự , t ừ khóa 13

2.7 Các ki ể u d ữ li ệ u 13

2.7.1 Ki ể u d ữ li ệ u chu ẩ n 13

2.7.2 Các ki ể u d ữ li ệu do người dùng định nghĩa 14

2.8 Các hàm nh ậ p xu ấ t chu ẩ n 14

2.8.1 Xu ấ t ra màn hình 14

2.8.2 Nh ậ p vào t ừ bàn phím 14

2.9 Mô hình ch ức năng củ a h ệ th ố ng 15

2.10 Quy trình x ử lý câu h ỏ i 15

2.10.1 Ti ề n x ử lý câu h ỏ i 15

Trang 2

2.10.2 Phân tích câu h ỏ i 16 2.10.3 Nh ậ n k ế t qu ả và hi ể n th ị cho ngườ i dùng 16 CHƯƠNG 3: Ứ NG D Ự NG XÂY D Ự NG QUY TRÌNH H ỎI ĐÁP 18 K

Ế T LU Ậ N 19 TÀI LI Ệ U THAM KH Ả O 20

Trang 3

DANH MỤC HÌNH VẼ

Hình 1 1: M ộ t s ố lĩnh vự c ứ ng d ụ ng c ủ a trí tu ệ nhân t ạ o 1

Hình 1 2 – Ho ạt độ ng c ủ a h ệ chuyên gia 2

Hình 1 3: C ấ u trúc h ệ chuyên gia 5

Hình 2 1: Mô hình ch ức năng củ a h ệ th ố ng 15

Hình 2 2: Quy trình x ử lý câu h ỏ i 15

Hình 2 3: Ti ề n x ử lý câu h ỏ i 16

Hình 2 4: Phân tích câu h ỏ i 16

Hình 2 5: Nh ậ n và hi ể n th ị k ế t qu ả 17

Trang 4

LỜI NÓI ĐẦU

Những năm gần đây, các phần mềm chuyên dụng đang phát triển rất mạnh mẽ, mọi người đã rất quen thuộc với các chương trình trợ giúp về kiến thức cũng như hỏi đáp.Tuy nhiên, chúng ta không thể phủ nhận rằng các chương trình này là khá phức tạp và không thân thiện Vì vậy, sự xuất hiện một phần mềm hỏi đáp hướng dẫn và trả lời các câu hỏi của con người là rất cần thiết

Có hai giải pháp cho vấn đề trên Một là là tổng hợp, xây dựng cơ sở dữ liệu về kiến thức cơ bản về mọi thứ Hai là xây dựng một hệ chuyên gia phục vụ quá trình hỏi đáp của con người

Cả hai phương án điều khả thi, nhưng với tình hình hiện nay, phương án thứ hai

là phù hợp hơn cả Một chương trình “thông minh” sẽ tiết kiệm được nhiều thời gian, công sức cho người sử dụng Hơn nữa, như chúng ta đã biết, việc xây dựng một hệ chuyên gia đòi hỏi phải có một kho tri thức và công cụ xây dựng chương trình chuyên dụng Hiện nay, nguồn thông tin khổng lồ trên Internet đã đáp ứng được yêu cầu thứ nhất Thứ hai, ngôn ngữ Prolog là đủ mạnh để xây dựng bất kỳ chương trình thuộc lĩnh vực trí tuệ nhân tạo nào

Chính vì những lý do trên, cộng với mong muốn áp dụng những kiến thức đã

học từ môn Hệ chuyên gia, chúng em đã chọn đề tài “Xây dựng hệ chuyên gia phục

vụ quy trình hỏi đáp về đặt vé máy bay” Đây thực ra là một lĩnh vực hẹp so với một

hệ chuyên gia về giải đáp các câu hỏi liên quan đến động vật

Cấu trúc của đề tài

Cấu trúc của đề tài gồm có 3 chương:

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

Chương 2: Lập trình logic và ngôn ngữ prolog

Chương 3: Ứng dụng xây dựng quy trình hỏi đáp

Trang 5

CHƯƠNG 1: TỔNG QUAN HỆ CHUYÊN GIA

Theo E.Feigenbaum: “Hệ chuyên gia(Expert System) là một chương trình máy tính

thông minh sử dụng tri thức(knowledge) và các thủ tục suy luận để giải các bài toán

tương đối khó khăn đòi hỏi những chuyên gia mới giải được.” Vậy hệ chuyên gia là

gì?

1.1 Hệ chuyên gia là gì?

Hệ chuyên gia là một hệ thống tin học có thể mô phỏng (emulates) năng lực quyết

đoán (decision) và hành động (making abilily) của một chuyên gia (con người) Hệ

chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệ nhân tạo (Artificial

Intelligence) như hình dưới đây:

Hình 1 1: Một số lĩnh vực ứng dụng của trí tuệ nhân tạo

Hệ chuyên gia sử dụng các tri thức của những chuyên gia để giải quyết các vấn

đề (bài toán) khác nhau thuộc mọi lĩnh vực

Tri thức (knowledge) trong hệ chuyên gia phản ánh sự tinh thông được tích tụ

từ sách vở, tạp chí, từ các chuyên gia hay các nhà bác học

Các thuật ngữ hệ chuyên gia:

 hệ thống dựa trên tri thức (knowledge−based system)

 hệ chuyên gia dựa trên tri thức (knowledge−based expert system)

5

Trang 6

Một hệ chuyên gia gồm ba thành phần chính là:

 Cơ sở tri thức (knowledge base)

 Máy suy diễn hay môtơ suy diễn (inference engine),

 Hệ thống giao tiếp với người sử dụng (user interface)

Cơ sở tri thức chứa các tri thức về từ đó, máy suy diễn tạo ra câu trả lời cho người sử dụng qua hệ thống giao tiếp

Người sử dụng (user) cung cấp 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 gợi ý đúng đắn (expertise)

Hoạt động của một hệ chuyên gia dựa trên tri thức được minh họa như sau:

Hình 1 2– Hoạt động của hệ chuyên gia

Đặ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 (high performance) Khả năng trả lời với mức độ tinh thông bằng hoặc cao hơn so với chuyên gia (người) trong cùng lĩnh vực

• Thời gian trả lời thoả đáng (adequate response time) Thời gian trả lời hợp lý, bằng hoặc nhanh hơn so với chuyên gia (người) để đi đến cùng một quyết định Hệ chuyên gia là một hệ thống thời gian thực (real time system)

• Độ tin cậy cao (good reliability) Không thể xảy ra sự cố hoặc giảm sút độ tin cậy khi sử dụng

• Dễ hiểu (understandable) Hệ chuyên gia giải thích các bước suy luận một cách

dễ hiểu và nhất quán, không giống như cách trả lời bí ẩn của các hộp đen (black box).Những ưu điểm của hệ chuyên gia :

Trang 7

• Phổ cập (increased availability) 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 (reduced cost)

• Giảm rủi ro (reduced dangers) Giúp con người tránh được trong các môi

trường rủi ro, nguy hiểm

• Tính thường trực (Permanance) Bất kể lúc nào cũng có thể khai thác sử dụng, trong khi con người có thể mệt mỏi, nghỉ ngơi hay vắng mặt

• Đa lĩnh vực (multiple expertise) chuyên gia về nhiều lĩnh vực khác nhau và được khai thác đồng thời bất kể thời gian sử dụng

• Độ tin cậy (increased relialility) Luôn đảm bảo độ tin cậy khi khai thác

• Khả năng giảng giải (explanation) Câu trả lời với mức độ tinh thông được giảng giải rõ ràng chi tiết, dễ hiểu

• Khả năng trả lời (fast reponse) Trả lời theo thời gian thực, khách quan

• Tính ổn định, suy luận có lý và đầy đủ mọi lúc mọi nơi (steady, une motional, and complete response at all times)

• Trợ giúp thông minh như một người hướng dẫn (intelligent -tutor)

• Có thể truy cập như là một cơ sở dữ liệu thông minh (intelligent database)

1.2 Các lĩnh vực ứng dụng của hệ chuyên gia

Tính đến thời điểm này, hàng trăm hệ chuyên gia đã được xây dựng và báo cáo thường xuyên trong các tạp chí, sách báo và hội thảo khoa học Ngoài ra còn các hệ chuyên gia được sử dụng trong các công ty, các tổ chức quân sự mà không được công

bố vì lí do bảo mật

Dưới đây là một số lĩnh vực ứng dụng diện rộng của các hệ chuyên gia :

Trang 8

Lĩnh vực Ứng dụng diện rộng

Cấu hình Tập hợp thích đáng những thành phần của một hệ thống

theo cách riêngChẩn đoán Lập luận dựa trên những chứng cứ quan sát được

Truyền đạt Dạy học kiểu thông minh sao cho sinh viên có thể hỏiGiải thích Giải thích những dữ liệu thu nhận được

Kiểm tra So sánh dữ liệu thu lượm được với chuyên môn để đánh

giá hiệu quảLập kế hoạch Lập kế hoạch sản xuất theo yêu cầu

Dự đoán Dự đoán hậu quả từ một tình huống xảy ra

Chữa trị Chỉ định cách thụ lý một vấn đề

Điều khiển

Điều khiển một quá trình, đòi hỏi diễn giải, chẩn đoán, kiểm tra, lập kế hoạch, dự đoán và chữa trị

Bảng 1.1 - Ứng dụng diện rộng hệ chuyên gia

1.3 Cấu trúc của hệ chuyên gia

Một hệ chuyên gia kiểu mẫu gồm các thành phần cơ bản sau :

Trang 9

Giao diện người, máy

Mô tơ suy diễnSuy diễn Điều khiển

Cơ sở tri thức

Bộ nhớ

làm việc

Hình 1 3: Cấu trúc hệ chuyên gia

• Giao diện người, máy : Thực hiện giao tiếp giữa hệ chuyên gia và người sử dụng Nhận các thông tin từ người dùng (các câu hỏi, các yêu cầu về lĩnh vực) và đưa ra các lời khuyên, các câu trả lời, các giải thích về lĩnh vực đó

• Bộ giải thích : Giải thích các hoạt động của hệ khi có yêu cầu của người sử dụng

Trang 10

• Bộ thu nạp tri thức : Làm nhiệm vụ thu nhận tri thức từ chuyên gia con người,

từ kỹ sư tri thức và cả người sử dụng thông qua các câu hỏi và yêu cầu của họ, sau đó lưu trữ vào cơ sở tri thức

Trang 11

• Cơ sở tri thức : Lưu trữ, biểu diễn các tri thức trong lĩnh vực mà hệ đảm nhận, làm cơ sở cho các hoạt động của hệ Cơ sở tri thức bao gồm các sự kiện và các luật.

• Mô tơ suy diễn : Làm nhiệm vụ sử lý và điều khiển các tri thức được biểu diễn trong cơ sở tri thức nhằm đáp ứng các câu hỏi, các yêu cầu của người sử dụng

(*) Để thực hiện được các công việc của các thành phần trên trong cấu trúc hệ chuyên

gia phải có một hệ điều khiển và quản lý việc tạo lập, tích lũy tri thức cho lĩnh vực hệ đảm nhận gọi là “H ệ qu ả n tr ị c ơ sở tri th ứ c ” Hệ quản trị cơ sở tri thức thực chất là quản lý và điều khiển công việc của Bộ thu nạp tri thức, Bộ giải thích, Mô tơ suy diễn

Nó phải đảm bảo các yêu cầu :

• Giảm dư thừa tri thức, dữ liệu

• Tính nhất quán và phi mâu thuẫn của tri thức

• Tính toàn vẹn và an toàn

• Giải quyết các vấn đề cạnh tranh

• Chuyển đổi tri thức

Các hệ chuyên gia có thể dùng các luật hay qui tắc một cách nhanh chóng mà không bị nhầm lẫn, nếu trong trường hợp có quá nhiều qui tắc hay luật thì một chuyên gia con người không xử lý nhanh như một hệ chuyên gia được

Về tính hiệu quả, một hệ chuyên gia có thể tăng số lượng được đưa vào trong hệ và giảm đi các chi phí nhân công Và mặc dù các hệ chuyên gia được xây dựng và bảo trì thường tốn kém nhưng để vận hành các hệ chuyên gia không phải tốn nhiều công sức

và tiền bạc Việc phát triển và duy trì một hệ chuyên gia có thể được trải đều ra cho

Trang 12

nhiều người và tổng chi phí cho việc này sẽ hợp lý hơn rất nhiều so với việc tìm kiếm một chuyên gia thực thụ.

Nếu như không có sự trục trặc về thiết bị máy móc thì một hệ chuyên gia có thể hoạt động rất ổn định, với các tập luật đã được xây dựng và cùng cới các khả năng xử

lý khác, hệ có thể đưa ra các quyết định gần như nhau trong các tình huống tương tự nhau Ngoài ra một hệ chuyên gia có thể cung cấp các giải pháp một cách thường xuyên trong một quá trình giải quyết vấn đề Và trong một thời điểm thì một hệ chuyên gia có khả năng giải quyết được nhiều vấn đề hơn so với một hệ chuyên gia là con người

Một lợi nhuận lớn khác của các hệ chuyên gia đó là kiến thức của rất nhiều chuyên gia khác nhau được đưa vào hệ chuyên gia, điều nàu rõ ràng là làm cho cơ sở tri thức của một hệ chuyên gia rộng và phong phú hơn so với một vài chuyên gia đơn lẻ Và trong lĩnh vực hỏi đáp thì hệ chuyên gia sẽ có thể giảm thiểu được nhiều rủi ro hơn.Những bất lợi của một hệ chuyên gia dựa trên luật

Một điều dễ nhận ra là các hệ chuyên gia không có khả năng học như các hệ thống thông minh khác như hệ suy luận tình huống hay mạng nơrron., vì vậy nếu có những thay đổi từ phía các hệ chuyên gia là con người thì hệ chuyên gia cần được cập nhật lập tức Hệ chuyên gia không có khả năng sáng tạo và không có được các giác quan thông thường như con người, trong những tình huống bất thường, hệ chuyên gia không

có khả năng giải quyết

Ngoài ra, các hệ chuyên gia không có được những kinh nghiệm như các chuyên gia

là con người, và cũng không thể nhận ra được vấn đế nếu như vấn đề đó không thuộc phạm vi “hiểu biết” của hệ thống

Trang 13

CHƯƠNG 2: LẬP TRÌNH LOGIC VÀ NGÔN NGỮ PROLOG

2.1 Giới thiệu về lập trình LOGIC

Trong lập trình logic, ta có thể sử dụng các vị từ để định nghĩa các khái niệm của tất cả các môn khoa học khác.Ví dụ định nghĩa một số nguyên tố:Số nguyên tố N

là một số nguyên lớn hơn 1, chỉ chia hết cho 1 và chính nó.Để xét xem số N có phải là

số nguyên tố hay không, người ta thường sử dụng dấu hiệu nhận biết: Số nguyên tố là một số nguyên dương, không chia hết cho mọi số nguyên tố nhỏ hơn nó và 2 là số nguyên tố nhỏ nhất Dấu hiệu này có thể mô tả bằng các vị từ như sau:2 là một số nguyên tố N là một số nguyên tố nếu N>0, M là số nguyên tố nào đó, M<N và N không chia hết cho M.Khi mô tả bài toán dưới dạng logic vị từ, ta có thể yêu cầu hệ thống tìm kiếm các lời giải liên quan đến các khai báo đó Bài toán cần giải được xem

là “mục tiêu” mà hệ thống phải chứng minh trên cơ sở các tri thức đã được khai báo.Như thế, toàn bộ các ký hiệu của ngôn ngữ lập trình suy về một công thức đặc biệt:Phát sinh từ một yêu cầu Nhằm chứng minh một mục tiêu Để trả lời cho câu hỏi

đó hệ thống xem nó như là một “đích” và cố chứng minh “đích” đó bằng cách tạo những suy diễn trên cơ sở các tri thức đã khai báo.Một ngôn ngữ logic có thể được dùng trong giai đoạn đặc tả yêu cầu của quy trình xây dựng một sản phẩm phần mềm Hơn thế nữa, logic vị từ cho phép biểu diễn hầu hết các khái niệm và các định lý trong các bộ môn khoa học.Một trong những ngôn ngữ lập trình logic có hỗ trợ rất nhiều cho lĩnh vực trí tuệ nhân tạo mà ta xét đến ở đây đó là ngôn ngữ Prolog

2.2 Ngôn ngữ prolog

Prolog là một ngôn ngữ cấp cao, có đặc điểm gần với ngôn ngữ tự nhiên, từ những người mới học đến những lập trình viên chuyên nghiệp đều có thể tiếp cận một cách nhanh chóng, viết ra một chương trình ứng dụng hữu ích

Prolog do C.Cameraue đưa ra lần đầu tiên năm 1972 tại trường Đại Học Marseille, nước Pháp Đến năm 1980, Prolog nhanh chóng được áp dụng rộng rãi, được người Nhật chọn làm ngôn ngữ phát triển máy tính thế hệ 5 Prolog đã được cài đặt trên hầu hết các dòng máy tính Unix/Linux, windows…

Từ khi ra đời đến nay, qua nhiều lần cải tiến, đặc biệt hãng Borland cho ra đời phần mềm TURBO PROLOG với nhiều ưu điểm, thuận tiện cho người sử dụng Để giải quyết một số vấn đề, ta nhận thấy sử dụng ngôn ngữ Prolog cho ta chương trình

Trang 14

gọn nhẹ hơn nhiều so với các ngôn ngữ khác.Khác với những ngôn ngữ cấu trúc như Pascal, hay C mà ta đã làm quen, Prolog là một ngôn ngữ mô tả, với một số sự kiện và quy luật suy diễn đã mô tả, Prolog sẽ suy luận cho ta các kết quả.

2.3 Các yếu tố cơ bản của Turbo Prolog:

Trong một chương trình Prolog, ta cần khai báo các yếu tố sau đây: đối tượng, quan hệ giữa các đối tượng, sự kiện và các luật

2.3.1 Đối Tượng

Gồm có các hằng và biến Hằng mang giá trị cho sẵn ở đầu chương trình hoặc trong quá trình viết ta đưa vào; Các biến có giá trị thay đổi sẽ được gán giá trị khi chạy chương trình Tên biến là một ký tự hoa hoặc một chuỗi ký tự, bắt đầu bằng một ký tự hoa Có một loại biến đặc biệt gọi là biến tự do, biến này không có tên và người ta dùng ký hiệu _ (dấu gạch dưới) thay cho tên biến

2.3.2 Quan hệ giữa các đối tượng

Quan hệ giữa các đối tượng được dùng dưới hình thức vị từ

o Ví dụ: Thich(X,Y) là vị từ diễn tả câu “X thích Y” trong ngôn ngữ tự nhiên

o Blue(car) là vị từ diễn tả câu “Car is blue”

Như vậy các vị từ sẽ bao gồm tên của vị từ và các đối số của nó Các đối số được đặt trong ngoặc và phân cách nhau bởi dấu phẩy

2.3.3 Sự kiện và luật

Sự kiện là một vị từ diễn tả một sự thật

o Ví dụ: “2 là một số nguyên tố” là một sự kiện vì nó diễn tả sự thật 2 là một số nguyên tố

Luật là vị từ diễn tả quy luật suy diễn mà ta công nhận đúng Luật được trình bày dưới dạng một mệnh đề

o Ví dụ để suy diễn số nguyên N bất kỳ là một số nguyên tố ta viết:“N là một số nguyên tố nếu N>0, M là số nguyên tố nào đó, M<N và N không chia hết cho M”

2.4 Cấu trúc 1 chương trình Prolog

2.4.1 Phần Domains

Đây là phần định nghĩa kiểu mới dựa vào các kiểu đã biết Các kiểu được định nghĩa ở đây sẽ được sử dụng cho các đối số trong các vị từ Nếu các vị từ sử dụng đối

Ngày đăng: 13/12/2015, 20:40

HÌNH ẢNH LIÊN QUAN

Hình 1. 1: Một số lĩnh vực ứng dụng của trí tuệ nhân tạo - QUẢN Lý d6cntt epu dai
Hình 1. 1: Một số lĩnh vực ứng dụng của trí tuệ nhân tạo (Trang 5)
Hình 1. 2– Hoạt động của hệ chuyên gia - QUẢN Lý d6cntt epu dai
Hình 1. 2– Hoạt động của hệ chuyên gia (Trang 6)
Bảng 1.1 - Ứng dụng diện rộng hệ chuyên gia - QUẢN Lý d6cntt epu dai
Bảng 1.1 Ứng dụng diện rộng hệ chuyên gia (Trang 8)
Hình 2. 1: Mô hình chức năng của hệ thống - QUẢN Lý d6cntt epu dai
Hình 2. 1: Mô hình chức năng của hệ thống (Trang 20)
Hình 2. 4: Phân tích câu hỏi - QUẢN Lý d6cntt epu dai
Hình 2. 4: Phân tích câu hỏi (Trang 21)
Hình 2. 3: Tiền xử lý câu hỏi - QUẢN Lý d6cntt epu dai
Hình 2. 3: Tiền xử lý câu hỏi (Trang 21)
Hình 2. 5: Nhận và hiển thị kết quả - QUẢN Lý d6cntt epu dai
Hình 2. 5: Nhận và hiển thị kết quả (Trang 22)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w