Công nghệ tri thức

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Nghiên cứu cơ sở dữ liệu suy diễn và ứng dụng (Trang 26 - 87)

2.4.1. Xử lý tri thức.

Trí tuệ, sự thông minh phải dựa trên nền tảng của tri thức. Tuy nhiên, nó còn phụ thuộc vào việc vận dụng, xử lý tri thức. Biểu diễn tri thức là việc đƣa tri thức vào máy tính và chỉ có ý nghĩa nếu công việc tiếp theo: “xử lý tri thức đƣợc thực hiện”.

Để xử lý các tri thức, trí tuệ nhân tạo cần có các kỹ thuật mã hóa tri thức. Các kỹ thuật mã hóa tri thức này khác nhiều với cách thể hiện của các dữ liệu trong các chƣơng trình, thuật toán xử lý dữ liệu thƣờng gặp. Các hệ thống thông minh cần xử lý các tri thức và các tri thức cần đƣợc biểu diễn ở dạng ký hiệu mà hệ thống xử lý đƣợc.

Một trong những biện pháp xử lý tri thức hiện nay đó là sử dụng luật. Luật vừa đƣợc sử dụng để biểu diễn tri thức vừa đƣợc dùng để xử lý tri thức.

2.4.2. Xử lý tri thức bằng luật.

Các sự kiện do ngƣời cung cấp rất có ý nghĩa đối với các hoạt động của hệ thống trí tuệ nhân tạọ Chúng cho phép hệ thống hiểu trạng thái hiện tại của thế giớị Một cấu trúc tri thức thông dụng dùng trong thiết kế hệ thống trí tuệ nhân tạo mà yêu cầu sử dụng thêm tri thức bổ sung là các luật. Luật là phƣơng pháp phổ biến dùng để xử lý tri thức.

Phần trên đã đề cập đến khái niệm về luật. Luật thuộc dạng tri thức thủ tục. Nó gắn thông tin đã cho với một vài hoạt động. Các hoạt động này có thể là khẳng định về thông tin mới hay là thủ tục sẽ đƣợc thực hiện. Nhƣ vậy, luật mô tả cách giải quyết vấn đề.

Quá trình xử lý tri thức bằng luật là quá trình liên kết những thông tin đã biết với các thông tin khác, các thông tin này có thể đƣợc suy diễn để ngƣời ta hiểu biết thêm, kết quả đƣợc suy diễn chính là kết quả của quá trình xử lý tri thức. Về mặt logic, cấu trúc của luật kết nối một hay nhiều giả thiết, hay cái có trong câu IF, với một hay nhiều kết luận, hay đƣợc gọi là kết quả trong câu THEN.

Thêm thông tin vào bộ nhớ làm việc

Xét luật đầu tiên

Đƣa kết luận vào bộ

nhớ làm việc Dừng công việc Xét luật tiếp theo

Giả thiết khớp với bộ nhớ

Còn luật khác

Hình 2.2: Các bước xử lý tri thức dựa trên luật.

Nói chung, một luật có nhiều giả thiết gắn với nhau bằng câu bằng toán tử AND hay OR hay cả haị Luật cũng có thể dùng ELSE để suy diễn khi giả thiết saị

Trong hệ thống dựa trên các luật, tri thức về lĩnh vực đƣợc đƣa vào cơ sở tri thức của hệ thống. Hệ thống dùng các luật này cùng với các thông tin bộ nhớ để giải bài toán. Khi câu IF của luật khớp với thông tin trong bộ nhớ, hệ thống thực hiện các hoạt động mô tả trong câu THEN của luật. Lúc này luật đƣợc xem nhƣ đã thực hiện, kết quả trong câu THEN đƣợc bỗ sung vào bộ nhớ. Kết quả thu đƣợc cũng có thể làm cho luật mới đƣợc thực hiện.

Việc xử lý các luật trong hệ thống dựa trên các luật đƣợc quản lý bằng một module gọi là bộ suy diễn.

Cùng với việc sản sinh các thông tin mới, một luật có thể thực hiện các hành động. Nó có thể là tính toán đơn giản, nhƣ là : IF cần đến chu vi đƣờng tròn THEN chu vi =Pi*đƣờng kính.

Để thực hiện các thao tác phức tạp hơn, nhiều hệ thống truy nhập các thủ tục bên ngoàị Chƣơng trình loại này đa phần là phần mềm về CSDL, chƣơng trình ngôn ngữ C,...Chúng có thể đƣợc viết bằng các ngôn ngữ lập trình hay các lệnh trên bảng tính. Ví dụ:

 Luật 1 ( liên quan đến thủ tục trong ngôn ngữ lập trình): IF thiết kế hộp mới AND NUMBER = Số các chi tiết lắp ráp AND SIZE = Kích c của chi tiết THEN CALL Tính thể tích của hộp AND SEND NUMBER, SIZE AND RETURN Thể tích.

 Luật 2 (liên quan đến bảng tính): IF cần biết tên nhân viên trong bộ phận Kinh doanh THEN OPEN Bảng NHAN_VIEN AND Tên bộ phận = Kinh doanh.

 Luật 3 (liên quan đến CSDL): IF có nhà bị cháy AND Tên nhà =”A” THEN OPEN Điện thoại AND FIND Tên nhà, mã AND Điện thoại= Mã điện thoạị Nói chung ngƣời ta có thể truy nhập hay thay đổi thông tin nhờ chƣơng trình bên ngoàị Có thể dùng khối lƣợng lớn các thông tin trong CSDL và bảng tính, hay thay đổi các thông tin nhờ chức năng hỗ trợ quyết định của hệ thống xử lý luật.

2.4.3. Xử lý tri thức bằng các luật có dùng biến.

Để tăng hiệu quả cho việc sử dụng các luật xử lý, ngƣời ta sử dụng các biến trong luật là phù hợp với các ứng dụng cần thực hiện cùng một số thao tác trên tập các đối tƣợng tƣơng tự nhaụ Bởi vì nếu viết một luật đơn cho mỗi đối tƣợng thì không hiệu quả và hệ thống khó quản lý.

Ví dụ 1: Luật sau cho biết A có đƣợc tốt nghiệp: IF A có điểm tốt nghiệp là 5

AND không nợ môn nào THEN A có thể tốt nghiệp.

Khi hệ thống muốn thực hiện việc kiểm tra cho các cá nhân khác không phải là A thì nó cần phải viết luật khác, do vậy không tinh tế, thậm chí điểm tốt nghiệp của ngƣời cần linh động trong khoảng từ 5.0 trở lên. Có thể dùng ngôn ngữ lập trình để tạo ra một luật, để luật này có thể khớp với dãy giá trị rộng hơn. Các luật này dùng biến để khớp với các mệnh đề tƣơng tự.

Ví dụ 2: IF X không nợ môn nào AND X có điểm tốt nghiệp trên 5.0 THEN X có

Một phƣơng pháp chủ yếu cơ bản thứ hai dùng để xử lý tri thức đó là dùng phƣơng pháp lập luận.

2.4.4. Xử lý tri thức bằng lập luận. (adsbygoogle = window.adsbygoogle || []).push({});

Logic là hành động sử dụng lý tính để rút ra một kết luận từ các tiền đề nhất định bằng cách sử dụng một phƣơng pháp luận cho trƣớc, và hai phƣơng pháp tƣờng minh đƣợc sử dụng rộng rãi nhất để đạt đến kết luận là lập luận suy diễn và lập luận quy nạp. Chi tiết cụ thể của các phƣơng pháp lập luận là mối quan tâm của các ngành nhƣ triết học, logic, tâm lý học và trí tuệ nhân tạọ

Để giải một bài toán, ta phải kết hợp các sự kiện với các tri thức, dùng các sự kiện riêng về bài toán và dùng chúng trong ngữ cảnh cụ thể của bài toán để rút ra các kết luận logic. Quá trình giải bài toán để rút ra kết luận logic đƣợc gọi là quá trình lập luận. Lập luận là quá trình làm việc với tri thức, sự kiện và các chiến lƣợc giải bài toán để rút ra kết luận. Đó cũng là quá trình để hiểu cách con ngƣời suy lý và cách họ làm việc với thông tin về bài toán đã cho, cộng với kiến thức tổng quát của họ về lĩnh vực này sẽ đảm bảo hiểu rõ các bƣớc đi trong việc xử lý tri thức trong hệ thống trí tuệ nhân tạọ

Xử lý tri thức thƣờng dựa vào các loại lập luận nhƣ sau:

Lập luận theo cách suy diễn: Con ngƣời dùng lập luận suy diễn để rút ra thông tin

mới từ những thông tin đã biết. Các thông tin này có quan hệ logic với nhaụ Lập luận suy diễn dùng các sự kiện của bài toán gọi là các tiên đề và kiến thức chung có liên quan ở dạng luật gọi là các kéo theọ

Ví dụ 1:

Kéo theo: con gà lớn nhanh nếu tôi chăm sóc tốt Tiền đề: tôi chăm sóc con gà tốt

Kết luận: con gà lớn nhanh.

Lập luận suy diễn là một trong các kỹ thuật phổ biến nhất. Suy diễn đã dùng Modus Ponens là loại lập luận suy diễn cơ bản. Khi ta có A--> B và A đ ng thì r t ra đƣợc B đ ng.

Lập luận quy nạp: Con ngƣời dùng lập luận quy nạp để rút ra các kết luận tổng

kết từ một tập các sự kiện theo cách tổng quát hóạ

Ví dụ 2:

Giả thiết: Con trâu ở Tây Ninh ăn cỏ, con trâu ở Đồng Nai ăn cỏ, con trâu ở Bình

Dương ăn cỏ.

Kết luận: nói chung là con trâu ăn cỏ.

Qua lập luận này, ngƣời ta cho rằng kết luận sẽ đ ng cho những trƣờng hợp cùng loại, dựa trên một số hạn chế của một số trƣờng hợp. Thực chất lập luận suy diễn là đem cái thiểu số áp đặt cho cái đa số.

Lập luận giả định: suy diễn là lập luận chính xác từ các sự kiện và thông tin đã

biết. Lập luận giả định là loại suy diễn có vẽ hợp lý. Điều này có nghĩa là câu kết luận có thể đ ng nhƣng cũng có thể không đ ng.

Ví dụ 3:

Kéo theo: con gà ăn nhiều --> con gà lớn nhanh Tiên đề: con gà ăn nhiều

Kết luận: con gà lớn nhanh

Lập luận tương tự, loại suy: Ngƣời ta tạo một mô hình của một vài khái niệm

thông qua kinh nghiệm của họ. Họ dùng mô hình này để hiểu một vài hoàn cảnh và đối tƣợng tƣơng tự. Họ vạch ra điểm tƣơng đồng giữa hai vật đem so sánh, r t ra sự giống nhau và khác nhau nhằm hƣớng dẫn việc lập luận của họ.

Ví dụ 4: Cho bảng saụ

Bảng 2.1.Đối tượng con trâu

Bảng trên cho biết thông tin đa dạng về đối tƣợng con trâu và dùng bảng trên để nhận biết đối tƣợng đó. Nếu cho rằng con bò giống con trâu thì con bò cũng phải có những tính chất đó. Loại lập luận này đƣợc dùng để hiểu biết đối tƣợng mới, và để hiểu rõ thêm bằng cách ra cứu đến những sự khác biệt giữa các đối tƣợng. Trong ví dụ này, con bò khác với con trâu do các nét khác nhau giữa chúng.

Lập luận theo lẽ thường: Nhờ kinh nghiệm, con ngƣời có thể giải quyết vấn đề

một cách hiệu quả. Họ sử dụng lẽ thông thƣờng để nhanh chóng rút ra kết luận. Lập luận theo lẽ thƣờng có xu hƣớng thiên về phán xét sự đ ng đắn hơn là lập luận chính xác về logic.

Ví dụ 5: Nói về chiếc xe đạp :” xích xe chùng thƣờng gây tuột xích”. Kết luận này

có đƣợc do kinh nghiệm đi xe đạp nhiều lần. Ngƣời ta đoán ngay “ xích chùng“ khi thấy chiếc xe hay tuột xích. Loại tri thức này đƣợc xem là may rủi, cầu maỵ (adsbygoogle = window.adsbygoogle || []).push({});

Khi các tri thức may rủi đƣợc dùng để hƣớng dẫn giải bài toán trong hệ thống trí tuệ nhân tạo, ngƣời ta có kiểu tìm kiếm may rủi hay tìm phù hợp. Loại tìm kiếm này phát hiện lời giải tại nơi có vẻ là tốt nhất. Nhƣ vậy cũng chẳng đảm bảo đƣợc nơi đó có lời giảị Tuy nhiên, cách tìm kiếm may rủi là phù hợp đối với những ứng dụng cần nhanh chóng thu đƣợc lời giảị

Chủng loại Động vật Thức ăn Cỏ Số chân 4

Lập luận đơn điệu và không đơn điệu: Đối với nhiều trƣờng hợp, ngƣời ta lập

luận trên các thông tin tĩnh. Các thông tin này không thay đổi trạng thái trong quá trình giải bài toán. Quá trình giải bài toán theo cách này đƣợc gọi là lập luận đơn điệụ

Ví dụ 6: IF có tiếng động THEN con chó tỉnh dậỵ

Nếu có sự kiện “cái cốc rơi” thì câu IF đ ng, tức là ngƣời ta đã sử dụng “Nếu cốc

rơi thì có tiếng động”. L c này trong câu trên, ngƣời ta thu đƣợc kết luận trong câu

THEN, tức là: “cốc rơi” --> ”có tiếng động” --> “con chó tỉnh giấc”.

Sau khi hết tiếng động, ngƣời ta muốn rằng con chó lại ngủ tiếp. Tuy nhiên, hệ thống với cách lập luận đơn điệu sẽ “giữ” trạng thái con chó tỉnh giấc. Do việc theo dõi thông tin không mấy khó khăn, khi có sự kiện nào thay đổi ngƣời ta có thể dựa vào nhiều sự kiện phụ thuộc khác nhau để thu đƣợc kết luận mong muốn. Loại lập luận nhƣ vậy đƣợc gọi là lập luận không đơn điệụ

Hệ thống có thể lập luận không đơn điệu nếu nó có hệ thống quản lý giá trị chân lý. Hệ thống này quản lý dữ liệu về nguyên nhân để sự kiện đƣợc khẳng định. Do vậy, khi nguyên nhân thay đổi sự kiện cũng thay đổi theọ Một hệ thống dùng lập luận không đơn điệu nhƣ ví dụ trên sẽ giữ đƣợc con chó tỉnh giấc lạị

Lập luận dựa trên luật: Một khi ch ng ta đã lƣu trữ một cơ sở tri thức, chúng ta

cần có thủ tục lập luận để rút ra các kết luận từ cơ sở tri thức. Trong các hệ lập luận dựa trên luật, có hai kiểu lập luận cơ bản: lập luận tiến và lập luận lùị

1)Lập luận tiến: Tƣ tƣởng cơ bản của lập luận tiến là áp dụng suy diễn Modus

Ponens tổng quát. Trong mỗi bƣớc của lập luận tiến, ngƣời ta xét một lập luận trong cơ sở luật. Đối sánh mỗi điều kiện của luật với các sự kiện trong cơ sở sự kiện, nếu tất cả các điều kiện của luật đƣợc thỏa mãn thì sự kiện trong phần kết luận của luật đƣợc xem là sự kiện đƣợc suy rạ Nếu sự kiện này là sự kiện mới (không có trong bộ nhớ làm việc), thì nó đƣợc đặt vào bộ nhớ làm việc. Quá trình trên đƣợc lặp lại cho tới khi nào không có luật nào sinh ra các sự kiện mớị

Nhƣ vậy, quá trình lập luận tiến là quá trình xem xét các luật. Với mỗi luật ta đi từ phần điều kiện đến phần kết luận của luật, khi mà các điều kiện của luật đều đƣợc làm thỏa mãn, thì ta suy ra sự kiện trong phần kết luận của luật. Chính vì lẽ đó mà có tên là lập luận tiến.

2)Lập luận lùi: Trong các hệ dựa trên luật, chúng ta còn có thể sử dụng phƣơng

pháp lập luận lùị Trong lập luận lùi, ngƣời ta đƣa ra các giả thuyết cần đƣợc đánh giá. Sử dụng lập luận lùi, giả thiết đƣa ra hoặc là đƣợc chứng minh, hoặc là bị bác bỏ. Cần lƣu ý rằng, chúng ta nói giả thiết đƣợc chứng minh, hoặc đƣợc bác bỏ là muốn nói tới nó đƣợc chứng minh hoặc bác bỏ bởi tình trạng hiện thời của bộ nhớ làm việc. Khi mà bộ nhớ làm việc thay đổi (chúng ta thêm vào hoặc bác bỏ một số sự kiện) thì một giả thiết đƣợc chứng minh có thể trở thành bị bác bỏ và ngƣợc lạị

Quá trình lập luận lùi diễn ra nhƣ sau: Ta đối sánh giả thiết đƣa ra với các sự kiện trong bộ nhớ làm việc. Nếu có một sự kiện khớp với giả thiết (ở đây “khớp” đƣợc hiểu là hai câu mô tả sự kiện và giả thiết trùng nhau theo một phép thế nào đó), thì ta xem nhƣ giả thiết là đ ng. Nếu không có sự kiện nào khớp với giả thiết, thì ta đối sánh giả thiết với phần kết luận của các luật. Các điều kiện này của luật đƣợc xem nhƣ là giả thiết mớị Với giả thiết mới ta lặp lại quá trình trên.

Nếu tất cả các giả thiết đƣợc sinh ra trong quá trình phát triển các giả thiết bởi các luật đƣợc chọn thích hợp đều đƣợc thỏa mãn (đều có trong bộ nhớ làm việc) thì giả thiết đã đƣa ra đƣợc xem là đ ng. Ngƣợc lại, dù ta áp dụng luật nào để phát triển các giả thiết cũng dẫn tới giả thiết không có trong bộ nhớ làm việc và cũng không thể quy giả thiết này về các giả thiết mới khác, thì giả thiết đã đƣa ra đƣợc xem là saị

2.5.Khái quát về lập trình logic.

Lập trình logic là mảng công việc trƣớc tiên khi chứng minh định lý cơ học. Sự thật thì việc chứng minh định lý đã tạo nên cơ sở cho hầu hết hệ thống lập trình logic hiện naỵ

Tƣ tƣởng cơ bản của lập trình logic là sử dụng logic toán học nhƣ ngôn ngữ lập trình. Điều này đƣợc đề cập trong tài liệu của Kowalski năm 1970, và đƣợc Colmerauer đƣa vào thực hành năm 1975 trong các cài đặt ngôn ngữ lập trình logic đầu tiên, tức là ngôn ngữ lập trình PROLOG (PROgramming LOGic) (Theo Apt K. R., “Logic

Programming” (1990), Elsevier Science Publishers, pp. 135-144.). Nhờ sự hình thức

hóa, Kowalski đã xem xét tập con của các logic bậc một, gọi là logic mệnh đề Horn.

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Nghiên cứu cơ sở dữ liệu suy diễn và ứng dụng (Trang 26 - 87)