Thêm vào đó các ngôn ngữ này phải cung cấp công cụ truy nhập tới các sự kiện không tường minh có trong cơ sở tri thức, nghĩa là phải bao gồm trong nó cả cơ chế suy diễn tự động.. Trong m
Trang 1LỜI MỞ ĐẦU
Cho đến nay lĩnh vực biểu diễn tri thức và ứng dụng là một lĩnh vực mới mẻ vàhấp dẫn trong ngành công nghệ thông tin.với khả năng tận dụng các nguồn tài nguyêntri thức phong phú xử lý tri thức đem lại cách xử lý tối ưu cho những bài toán lớn cả
về mặt kinh tế lẫn thời gian mà hiện nay các nhà khoa học chưa có khả năng giảiquyết
Hiện nay công nghệ tri thức đỉnh cao vẫn còn khá mới mẻ nó mới chỉ biết đượctrong các đề tài nghiên cứu khoa học, và đang trở thành điểm mạnh trong các nghiêncứu của ngành Công Nghệ Thông Tin
Trong phạm vi một bài khóa luận em mong muốn trình bày các kỹ thuật cụ thể
để biểu diễn và xử lý tri thức, các thuật toán suy diễn với logic mệnh đề, logic vị từ
Em xin cảm ơn sự hướng dẫn của PGS.TS Đỗ Văn Nhơn nhưng do thời gian có
hạn nên việc nghiên cứu của em về đề tài này còn nhiều hạn chế rất mong những đánhgiá, nhận xét quý báu của thầy
Trang 2MỤC LỤC
Chương 1 Tổng quan 3
I. Giới thiệu 4
II. Tri thức và dữ liệu 5
1. Diễn giải bên trong 5
2. Cấu trúc bên trong 5
3. Cấu trúc bên ngoài 6
4. Thang chia 6
5. Nhúng vào không gian độ đo ngữ nghĩa 8
6. Tính chủ động 10
Chương 2 Phân loại tri thức 10
I. Vấn đề biểu diễn tri thức 16
II. Biểu diễn vấn đề nhờ logic hình thức và phương pháp suy diễn 17
1. Biểu diễn tri thức nhờ logic hình thức 17
2. Chứng minh biểu diễn tri thức nhờ logic 19
3. Cơ sở tri thức biểu diễn bằng logic mệnh đề 20
4. Cơ sở tri thức biểu diễn bằng logic vị từ 21
5. Suy diễn tiến đối với logic vị từ 22
6. Áp dụng vào bài toán đồ thị 25
Tài liệu tham khảo 32
Trang 3Sự kiện Biểu diễn trong máy Suy diễn
Biểu diễn qua ngôn ngữ tự nhiên
Sản sinh tự động văn bảnHiểu ngôn ngữ tự nhiên
CHƯƠNG 1
TỔNG QUAN
I. Khái niệm
Điều quan trọng trong các phương pháp biểu diễn tri thức là tạo ra cơ sở tri
thức tường minh trong các hệ thống Trí Tuệ Nhân Tạo(TTNT) dựa trên tri thức
Thêm vào đó các ngôn ngữ này phải cung cấp công cụ truy nhập tới các sự kiện
không tường minh có trong cơ sở tri thức, nghĩa là phải bao gồm trong nó cả cơ chế
suy diễn tự động Như vậy, trong bất kỳ một hệ thống biểu diễn tri thức nào, bao
giờ cũng phải chứa ba yếu tố: ngôn ngữ biểu diễn, cơ chế suy diễn và công cụ lập
cơ sở tri thức cho từng lĩnh vực cụ thể
Trong mọi phương pháp biểu diễn tri và xử lý thức chúng ta cần lưu tâm đến
hai vấn đề:
Các sự kiện (facts): các thông tin về đối tượng
Các phương pháp biểu diễn sự kiện trong một hệ phát biểu hình thức nào đó
Hình 1.1 Biến đổi từ các sự kiện sang biểu diễn trong máy.
Ví dụ: xét câu “Lan là sinh viên” Sự kiện biểu thị bởi câu này có thể biểu diễn
qua ngôn ngữ logic như sau:
Trang 4sinhvien(Lan)Giả sử có thêm vị từ nghị lực (x), có nghĩa rằng “ x là người có nghị lực.Hơn nữa bất cứ ai là sinh viên cũng có nghị lực nghĩa là:
II Tri thức và dữ liệu
Các dữ liệu theo nghĩa thông thường được xử lý trong các chương trìnhthường mang đặc trưng định lượng Dù cho các đối tượng có được xử lý nhưthế nào (đơn giản: số nguyên, số thực, ký tự, xâu…hay phức hợp: bản ghi, tệp,mảng…), cuối cùng mọi thao tác trong máy tính trên chúng đều được qui vềcác phép toán cơ bản trên các đại lượng thông tin số 0,1 Trong khi đó, suy diễnvới tri thức được biểu diễn bằng logic mệnh đề dựa theo nguyên lý modusponens:
Nghĩa là nếu biết A đúng và từ A suy ra B thì B cũng đúng mà khôngcần biết A,B biểu diễn cụ thể cho sự kiện gì
Mặt khác sự tiến triển từ dữ liệu đến tri thức trong các ngôn ngữ lậptrình được thể hiện thông qua quá trình cấu trúc hóa và trừu tượng hóa các kiểu
dữ liệu
Hơn nữa các thao tác trên dữ liệu phụ thuộc rất nhiều vào các cấu trúc
dữ liệu cụ thể Các cấu trúc dữ liệu qui định các thao tác tương ứng, ngược lại
Trang 5Dữ liệu
Diễn giải bên trong
Cấu trúc bên trong
Cấu trúc bên ngoài
Thang chia Nhúng vào không gian “metric ngữ nghĩa”
Tính chủ động
Tri thức
các tác chỉ có thể áp lên một số cấu trúc dữ liệu mà thôi Trong khi đó, các trithức cho phép các quá trình suy diễn khá độc lập so với nội dung bên trong củacác tri thức
Tuy khó phân biệt rạch ròi ranh giới giữa ti thức và dữ liệu, có thể dẫn ra các cungbậc, cấp độ khác nhau dẫn từ dữ liệu đến tri thức
Hình 2: Từ dữ liệu đến tri thức
1. Diễn giải bên trong
Trong kỹ thuật lập trình bằng ngôn ngữ máy, các đơn vị dữ liệu được đặt tươngứng với các địa chỉ thực trong bộ nhớ Việc gán tên cho các dữ liệu (địa chỉtương đối) cho phép truy nhập tới nội dung dữ liệu thông qua tên, mà khôngcần nó được lưu giữ ở đâu và nó như thế nào
Tuy vậy, ngữ nghĩa thông tin của các dữ liệu đã được làm rõ thêm một chútthông qua việc đặt tên cho nó
Chẳng hạn, chương trình tính nghiệm đa thức bậc hai ax2+bx+c=0 có thể gọinhư sau GIAI(a,b,c) Các tham số được giữ nguyên hoặc sửa sao cho gần gũinhất với biểu diễn tự nhiên của chúng: a tương ứng với hệ số bậc cao nhất, b hệ
số bậc I, c hệ số tự do
2. Cấu trúc bên trong
Dữ liệu khi được xử lý phải đáp ứng yêu cầu tường minh càng nhiều càng tốt,
để người lập trình có thể quản lý ngữ nghĩa của các thao tác dữ liệu Mặt khác,
Trang 6Hà Nội
là ở
Ví dụ:
Họ và tên Ngày sinh Nơi sinh Trình độ văn hóa Ngoại ngữ
Là cấu trúc bảng ghi lưu trữ thông tin về một người nào đó Trường dữ liệu
“ngoại ngữ” trong trường hợp này có thể phân tách thành
3. Cấu trúc bên ngoài
Cấu trúc bên trong mỗi dữ liệu cho phép trong chừng mực nào đó, “thông báotrước” kích cỡ dữ liệu và các phép toán có thể thao tác trên đó, nhưng khôngcho phép mô tả mối liên hệ giữa các đối tượng dữ liệu khác nhau Để làm đượcđiều đó, các đối tượng dữ liệu có thêm một trường dữ liệu đặc biệt chứa tên củacác đối tượng dữ liệu khác có liên quan Mỗi mối liên hệ giữa các đối tượngđược gắn với một tên gọi Tập các đối tượng cùng với các liên hệ giữa chúngtạo nên mạng ngữ nghĩa
Trang 7Thời điểm sinh
Hình 3: Một ví dụ đơn giản về mạng ngữ nghĩa
Trong đó các đối tượng sư tử, gấu, voi được mô tả bằng cấu trúc
Còn các đối tượng vườn thú, Hà Nội được cho bởi
Quan hệ R1 ở đây có nghĩa là cả hai đối tượng đều có 4 chân
Điều cần chú ý là nhờ các liên kết “là” và ngược lại của nó là “LOẠI CỦA”,các thông tin được nạp đúng một lần Nghĩa là các đặc tính cơ bản của động vật
sẽ được thừa hưởng trong các đối tượng gấu, voi, sư tử ( cách biểu diễn hướngđối tượng)
4. Thang chia
Để mô tả các trường dữ liệu và các liên kết giữa các đối tượng, trên thực tếkhông phải lúc nào cũng có thể lượng hóa hoàn toàn được Thật vậy, người tathường sử dụng :
Thang chia độ đo (metric)
Thang chia thứ bậc (đôi lúc còn gọi là thang chia ngôn ngữ, thang mờ)
a. Thang chia độ đo: có hai loại thang chia độ đo: tương đối và tuyệt đối
• Thang chia tuyệt đối
Thang chia độ đo tương đối
Trang 8Thời điểm nói
Tốt nghiệp ĐH Bảo vệ luận án
Thang chia đối lập ví dụ: tốt – xấu, yếu –mạnh,…
Thang chia mờ có điểm xuất phát
5. Nhúng vào không gian độ đo ngữ nghĩa.
Các thang chia dù sao cũng mang tính đặc trưng định lượng Ngay cảvới thang chia cấp độ nhờ các biến ngôn ngữ, bao giờ người ta cũng có xuhướng làm rõ các khái niệm mờ thông qua việc sử dụng các khái niệm hàmthuộc Chẳng hạn, nếu xem rằng tuổi của con người được đo bởi thang chiatuyệt đối từ 1 đến 150 thì khái niệm “trẻ” được cho bởi hàm f, đánh giá độ trẻcủa các độ tuổi như sau:
Tuy vậy, nội dung thông tin khái niệm “trẻ” cũng bị nghèo đi bởi việc lượnghóa nó
Không gian ngữ nghĩa, các khái niệm các hiện tượng và các sự kiệnđóng vai trò các điểm rời rạc Giữa các điểm có độ đo “ gần gũi về ngữ nghĩa”
Độ đo này tùy thuộc vào hai yếu tố:
Độ tuổi Tương đối già
Trung niên Tương đối trẻ
Rất trẻ
Trang 9Hình 4 Không gian ngữ nghĩa
Từ những nghiên cứu nhận thức học rút ra rằng các khái niệm đượcphân bố không đều trong không gian ngữ nghĩa Các điểm trong không giangần nhau về ngữ nghĩa tụ lại, tạo thành các lớp (cluster) hay bó (chunk).Khoảng cách giữa các khái niệm trong cùng một lớp bao giờ cũng nhỏ hơnkhoảng cách giữa các điểm thuộc về các lớp khác nhau Về ngữ nghĩa, cácđiểm trong cùng một lớp tạo nên các khái niệm gần nhau về nội dung Điều nàyđưa đến một kết luận rất quan trọng trong thực tiễn xây dựng cấu trúc nhậnthức của bộ nhớ các hệ thống thông minh là các thông tin gắn bó với một tìnhhuống điển hình nào đó nhóm lại gần nhau trong không gian
Một trong những tiếp cận để phân lớp các điểm trong không gian là dựatrêm ma trận tương quan giống hoặc khác nhau( +1 khi hai khái niệm hoàn toàntrùng nhau, -1 khi hai khái niệm hoàn toàn khác nhau các giá trị độ đo có thểlấy với bước nhảy 0,1 từ -1 đến +1)
Trang 10Việc lựa chọn một biểu diễn nào đó tùy thuộc vào tần xuất xuất hiện của
nó Các thí nghiệm chứng tỏ rằng khi giao tiếp bằng ngôn ngữ tự nhiên, câu trảlời thường trực cho các câu hỏi hướng tới các khái niệm trừu tượng bao giờcũng là những hình dung hay cách biểu diễn trực quan nhất hay dùng nhất.Tóm lại trong không gian ngữ nghĩa của con người bao giờ cũng có ít nhất haicách đánh giá độ gần nhau của các đơn vị thông tin Đó là độ gần gũi về tìnhhuống và tần xuất xuất hiện các khái niệm, tình huống hay biểu diễn của chúng
6. Tính chủ động
Trong một chương trình phần thao tác xử lý và phần dữ liệu tách rời nhau.Thao tác xử lý có thể xem như một dạng của các tri thức thủ tục Nói cáchkhác, chương trình đóng vai trò “chủ động”, kích hoạt dữ liệu bị động Ngay cảkhi có các tri thức khai báo, các tri thức thủ tục vẫn đóng vai trò chủ đạo, tạonhững thao tác hướng tới tri thức khai báo
Ngược lại, các nghiên cứu cấu trúc nhận thức trong bộ não người chứng tỏ rằngkhông phải ri thức thủ tục kích hoạt tri thức khai báo – mà ngược lại chính cáctri thức khai báo đóngvai trò đó
Hiện nay người ta sử dụng phương pháp biểu diễn hỗn hợp, trộn lẫn các trithức thủ tục và các tri thức mô tả với nhau sao cho chúng có thể tác động tươngtrợ lẫn nhau
Ví dụ:
Mô tả hiện tượng như hình vẽ sau: Suy diễn trong mạng ngữ nghĩa
Trang 11Chính sự xuất hiện của quan hệ “like” giữa I và She, I và Cat có thể áp dụngthủ tục suy diễn trên mạng để đưa ra tri thức mô tả mới “ She likes cat”.
Tư tưởng thiết kế trộn lẫn dữ liệu và thao tác trong một chương trình là ý chủđạo trong các ngôn ngữ như LIST, PROLOG Trong các ngôn ngữ biểu diễnframe, đối tượng để làm giá trị cho các slot có thể dùng các lời gọi hàm Yêucầu tính giá trị của slot có thể phải thỏa mãn một vài ràng bược nào đógiữa cácslot trong cùng frame hay trong các frame khác nhau
III Phân loại tri thức
1. Các dạng tri thức
Tri thức tồn tại dưới hai dạng cơ bản:
• Tri thức định lượng
• Tri thức định tính
Các tri thức định lượng thường gắn với các loại heuristics khác nhau Các
kỹ thuật heuristics phụ thuộc vào nhiều các chất lượng hàm đánh giá, là cơ
sở để lựa chọn chiến lược điều khiển: xử lý cạnh tranh và chọn hướng tìmkiếm phù hợp
Các tri thức định tính lại được chia làm 3 loại:
• Tri thức mô tả
• Tri thức thủ tục
• Tri thức điều khiển
a. Tri thức mô tả cho những thông tin về một sự kiện hiện tượng hay quá trình
mà không đưa ra thông tin về cấu trúc bên trong cũng như phương pháp sửdụng bên trong tri thức đó
Ví dụ: khẳng định “ Hà Nội là thủ đô đẹp”
Đây là một khẳng định bất biến không phụ thuộc vào tình huống khônggian và thời gian Các tri thức phụ thuộc vào không gian và thời gian đòihỏi những mô hình biểu diễn đặc biệt, cho phép thể hiện các tương quangiữa các sự kiện, quá trình không gian và thời gian
Ngoài ra tri thức mô tả còn cho phép miêu tả các mối liên hệ, các ràng buộcgiữa các đối tượng, các sự kiện và các quá trình
Ví dụ: “Lan thích đọc sách” miêu tả mối quan hệ giữa Lan và sách thôngqua quan hệ “thích đọc”
b. Tri thức thủ tục cho ta những phương pháp cấu trúc tri thức, ghép nối vàsuy diễn những tri thức mới từ những tri thức đã có Các tri thức loại nàytạo nên cơ sở của kỹ thuật xử lý tri thức
Có thể kể ra các lớp tri thức thủ tục cơ bản:
Trang 12Tri thứ
c tụ Thủc
Tri thứ
c tả mô
Kỹ sư xử lý tri thức Người sử dụng/ các chuyên gia con người
Tổng hợp tri thức:
Suy diễnQui diễnQui nạpHọc tự động
Hai cách suy diễn logic thường được sử dụng trong các hệ thống là:
Modus ponensNghĩa là nếu A đúng, và biết thêm rằng từ A suy ra B thì có thể khẳngđịnh rằng B cũng đúng hay B cũng xuất hiện
Modus Tollens
Nghĩa là nếu từ A suy ra B và B sai thì A cũng sai
c. Tri thức điều khiển dùng để điều khiển, phối hợp các nguồn tri thức thủ tục
và tri thức mô tả khác nhau
Ví dụ: Đối với các phương pháp giải quyết vấn đề nhờ biểu diễn trongkhông gian trạng thái:
Các tri thức mô tả là các thông tin về cung, đỉnh
Các tri thức thủ tục là các thủ tục tìm kiếmCác tri thức điều khiển liên quan đến các chiến lược điều khiển để lựachọn n đỉnh được tháo ra và hướng tìm kiếm trong không gian
Mối liên hệ giữa tri thức thủ tục mô tả được cho như sau:
Hình : ngữ nghĩa kép của tri thức
2. Các cấp độ của tri thức
a. Tri thức động phụ thuộc vào tình huống không gian và thời gian.
Các tri thức mô tả, tri thức thủ tục và điều khiển không phụ thuộc vàoyếu tố không gian, thời gian được gọi là tri thức tĩnh Các tri thức loại này tạonên phần lõi trong các cơ cấu tri thức Nguồn tri thức này thường phát sinh từcác tài liệu chuyên môn, các nguyên lý chung của khoa học
Ví dụ: nếu hàm số f(x) có đạo hàm trên đoạn [a,b] thì nó cũng liên tục trong
đoạn thẳng đó
Tuy vậy, có những tri thức lại phụ thuộc vào yếu tố lịch sử, thông quacác tham số thời gian và không gian có thể xuất hiện tường minh hay khôngtường minh trong các phát biểu Chẳng hạn, phát biểu “kỷ lục chạy 100m của
Trang 13thế giới là 10 giây” chỉ đúng ở thời điểm trước năm 1994, còn kỷ lục thế giớimới về chạy 100m bây giờ đã thay đổi là 9 giây 69 Chính yếu tố đó mà quátrình suy diễn trong cơ sở tri thức động phụ thuộc vào không gian thời gian cóthể giao hoán hay không giao hoán bộ phận, đơn điệu hay không đơn điệu.
b. Tri thức bất định, tri thức không đầy đủ.
Trong nhiều trường hợp các tri thức chỉ có thể đúng hoặc sai Tuy vậy, trongnhiều trường hợp ta gặp phải các phát biểu không phải lúc nào cũng xác địnhđược chúng đúng hay sai Ví dụ: hôm nay anh ta có thể đi học trong trườnghợp này không thể quyết định 100% anh ta có đi học hay không
Các tri thức không chính xác là những mệnh đề phát biểu mà giá trị chân lý củachúng không thể chỉ ra một cách chính xác, tương ứng với thang đo được quiước Ví dụ: chị ấy khoảng 20 tuổi
Cũng có thể xuất hiện các tri thức không đầy đủ trong các phát biểu, các mô tả.Nói chung các tri thức bất định, không chính xác và không đầy đủ xuất hiện là
do trong các phát biểu người ta sử dụng ngôn ngữ khôngrõ ràng ví dụ: như cóthể, khoảng, nói chung …một trong những cách tiếp cận để xử lý các loại trithức trên là sử dụng cách tiếp cận lý thuyết mờ các lý thuyết lập luận xấp xỉ đã
và đang được quan tâm nghiên cứu rất nhiều
3. Bản chất các tri thức chuyên gia
Một vấn đề quan trọng trong giải quyết bài toán dựa trên tri thức là xem cáchgiải quyết các bài toán thực tế của các chuyên gia con người, để từ đó trích xuất ranhững tri thức Heuristics, các luật suy diễn và các chiến lược điều khiển
Ở đây, chuyên gia con người được hiểu như là người có uy tín cao trong một lĩnhvực nào đó, có thể giải được một lớp bài toán hẹp nào đó nhưng ít người khác cóthể sánh kịp về trình độ và hiệu quả
Các chuyên gia có trình độ chuyên môn và khả năng giải quyết vấn đề vì họ cómột lượng lớn các tri thức trong từng lĩnh vực được lưu trong bộ nhớ dài hạn theođánh giá các chuyên gia có tầm cỡ quốc tế thường có khả năng lưu trữ 50.000 chotới 100.000 bó thông tin heuristic về chuyên môn của mình Để có được 50.000 bóthông tin phải mất 10 năm làm việc trong lĩnh vực chuyên môn
4. Tri thức và suy diễn
Bất cứ hệ thống giải quyết vấn đề nào cũng bao gồm hai thành tố cơ bản: cácphương pháp biểu diễn vấn đề và các phương pháp tìm kiếm Heuristic Nếu xemtri thức là phần thông tin biểu diễn vấn đề trong các lĩnh vực khó, đòi hỏi tri thứcchuyên gia con người, thì các thủ tục tìm kiếm trong không gian bài toán về thực
Trang 14Cấu trúc dữ liệu Giải thuật
Chương trình
Chương trình Heuristics giải quyết vấn đề
Biểu diễn Tìm kiếmKhông gian bài toán
Chương trình
Bài toán có thể mô hình hóa Lời giải
Chương trình dựa trên tri thức
chất lại là các thủ tục suy diễn, cho phép xuất phát từ những tri thức ban đầu đưatới những kết luận, là lời giải của những bài toán đặt ra Tri thức và suy diễn là haithành phần trong bất kỳ một hệ dựa trên tri thức nào
Phương pháp biểu diễn tri thức sẽ quyết định phương pháp suy diễn tương ứng.Ngược lại, các phương pháp suy diễn chỉ có thể phù hợp cho một phương phápbiểu diễn tri thức nhất định
Trang 15 Tri thức điều khiển
Tương ứng với hai loại tri thức mô tả và tri thức thủ tục, có hai lớp phương phápbiểu diễn tri thức: biểu diễn mô tả và biểu diễn thủ tục Các cơ chế điều khiển sẽđược lồng vào bản thân cấu trúc ngôn ngữ biểu diễn tri thức, chẳng hạn ngônngữ PROLOG để tỉa bớt một số nhánh tìm kiếm trong không gian bài toán,tránh tìm kiếm vét cạn, người ta dùng toán tử cắt tỉa (cut) Có thể phân loại nhưsau:
Phương pháp biểu diễn tri thức mô tả: logic, mạng ngữ nghĩa, AOV
Phương pháp biểu diễn tri thức thủ tục: Sản xuất
Phương pháp biểu diễn hỗn hợp: Frame
Mong muốn của các chuyên gia về xử lý tri thức là tạo ra các hệ thống chophép người sử dụng mô tả bài toán bằng ngôn ngữ mô tả, sau đó giải chúngtheo chế độ tương tác và hội thoại cao
a. Các yêu cầu áp đặtlên ngôn ngữ biểu diễn tri thức từ góc độ giao diện ngườimáy
1. Ngôn ngữ mô tả của người sử dụng là ngôn ngữ kiểu khai bóa mô tả
2. Có khả năng suy diễn
3. Có thể biến đổi về dạng biểu diễn ngoài đối với người sử dụng
4. Có thể biến đổi về dạng biểu diễn trong đối với máy
b. Các yêu cầu áp lên ngôn ngữ biểu diễn cần cho mô tả mô hình
5. Ngôn ngữ kiểu khai báo mô tả
6. Có khả năng suy diễn
7. Có thể mô tả cấu trúc mô hình
8. Có thể xử lý động mô hình
9. Có thể kiểm tra tính mâu thuẫn
c. Các yêu cầu áp lên ngôn ngữ biểu diễn và các cấu trúc hệ thống theo quan điểmđiều khiển hệ thống
10. Có các cơ chế biểu diễn nhiều loại hình đối tượng và cơ chế điều khiển cácphương pháp biểu diễn
11. Có các cơ chế biểu diễn các tri thức nhiều tầng và điều khiển các phươngpháp biểu diễn
12. Có các phương tiện đánh giá và xử lý các thông tin mờ