LỜI MỞ ĐẦU Công nghệ tri thức Knowledge Engineering - KE có thể xem là một lĩnh vực nghiên cứu của Trí tuệ nhân tạo, nghiên cứu các phương pháp chế tạo trí tuệ máy sao cho giống như tr
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG
KHOA CÔNG NGHỆ THÔNG TIN
Bài tập môn học:
CÔNG NGHỆ TRI THỨC
Chủ đề: BIỂU DIỄN TRI THỨC
HVTH: Đỗ Văn Nhỏ
Nguyễn Thị Hà Phương
Lê Minh Trí
LỚP : KHMT Khóa 11
Trang 2
LỜI MỞ ĐẦU
Công nghệ tri thức (Knowledge Engineering - KE) có thể xem là một lĩnh vực nghiên cứu của Trí tuệ nhân tạo, nghiên cứu các phương pháp chế tạo trí tuệ máy sao cho giống như trí tuệ người, phân tích tri thức và chuyển nó thành những mô hình tính toán đưa vào máy tính để phục vụ những nhu cầu cần thiết
Mặc dù mục tiêu tối thượng của ngành TTNT là xây dựng một chiếc máy có năng lực tư duy tương tự như con người nhưng khả năng hiện tại của tất cả các sản phẩm TTNT vẫn còn rất khiêm tốn so với mục tiêu đã đề ra Tuy vậy, ngành khoa học mới mẻ này vẫn đang tiến bộ mỗi ngày và đang tỏ ra ngày càng hữu dụng trong một số công việc đòi hỏi trí thông minh của con người Hình ảnh sau sẽ giúp bạn hình dung được tình hình của ngành trí tuệ nhân tạo
Mục tiêu của ngành khoa học trí tuệ nhân tạo là tạo ra những chiếc máy tính có khả năng nhận thức, suy luận và phản ứng Nhận thức được hiểu là khả năng quan sát, học hỏi, hiểu biết cũng như những kinh nghiệm về thế giới xung quanh Quá trình nhận thức giúp con người có tri thức Suy luận là khả năng vận dụng những tri thức sẵn có để phản ứng với những tình huống hay những vấn đề - bài toán gặp phải trong cuộc sống Nhận thức và suy luận để từ đó đưa ra những phản ứng thích hợp là ba hành vi có thể nói là đặc trưng cho trí tuệ của con người (Dĩ nhiên còn một yếu tố nữa là tình cảm Nhưng chúng ta sẽ không đề cập đến ở đây!) Do đó, cũng không có gì ngạc nhiên khi muốn tạo ra một chiếc máy tính thông minh, ta cần phải trang bị cho nó những khả năng này Cả ba khả năng này đều cần đến một yếu tố cơ bản là tri thức
Trang 3Xây dựng trí tuệ nhân tạo là tìm cách biểu diễn tri thức, tìm cách vận dụng
tri thức để giải quyết vấn đề và tìm cách bổ sung tri thức bằng cách "phát hiện" tri
thức từ các thông tin sẵn có (máy học) Tuy nhiên, trong phạm vi có hạn của đề tài này, nhóm chúng tôi chỉ đề cập đến một vấn đề nhỏ của biểu diễn tri thức (Knowledge
representation) là trình bày biểu diễn tri thức sử dụng mạng ngữ nghĩa
Từ các kiến thức thu hoạch được trong khóa học về Công nghệ tri thức, Nhóm
đã thực hiện đề tài: “Hướng dẫn chăm sóc da mặt bàng hai phương pháp: Đắp mặt
nạ hoặc sử dụng hoa quả tự nhiên”
Nhóm xin được cảm ơn Thầy PGS.TS Phan Huy Khánh và các bạn đồng
nghiệp đã hỗ trợ và tư vấn rất nhiều cho Nhóm trong quá trình hoàn thành đề tài này
Trân trọng cám ơn!
Trang 4MỤC LỤC
MỤC LỤC 4
PHẦN I: LÝ THUYẾT 5
I THÔNG TIN, DỮ LIỆU VÀ TRI THỨC 5
II BIỂU DIỄN TRI THỨC (Knowledge representation) 8
1 Giới thiệu 8
2 Tổng quan 8
3 Lịch sử của biểu diễn tri thức 9
4 Ngôn ngữ và ký hiệu 10
5 Bàn thể học ngôn ngữ 11
6 Liên kết và cấu trúc 11
7 Ký hiệu (Notation) 11
8 Sự lưu trữ và thao tác 12
PHẦN II: BÀI TẬP 13
PHẦN III: KẾT LUẬN 17
TÀI LIỆU THAM KHẢO 18
Trang 5PHẦN I: LÝ THUYẾT
I THÔNG TIN, DỮ LIỆU VÀ TRI THỨC
Tri thức là một khái niệm rất trừu tượng Do đó, chúng ta sẽ không cố gắng đưa
ra một định nghĩa hình thức chính xác ở đây Thay vào đó, chúng ta hãy cùng nhau cảm nhận khái niệm "tri thức" bằng cách so sánh nó với hai khái niệm khác là thông tin và dữ liệu
Nhà bác học nổi tiếng Karan Sing đã từng nói rằng "Chúng ta đang ngập chìm
trong biển thông tin nhưng lại đang khát tri thức" Câu nói này làm nổi bật sự khác
biệt về lượng lẫn về chất giữa hai khái niệm thông tin và tri thức
Trong ngữ cảnh của ngành khoa học máy tính, người ta quan niệm rằng dữ liệu
là các con số, chữ cái, hình ảnh, âm thanh mà máy tính có thể tiếp nhận và xử lý Bản thân dữ liệu thường không có ý nghĩa đối với con người Còn thông tin là tất cả những gì mà con người có thể cảm nhận được một cách trực tiếp thông qua các giác quan của mình (khứu giác, vị giác, thính giác, xúc giác, thị giác và giác quan thứ 6) hoặc gián tiếp thông qua các phương tiện kỹ thuật như tivi, radio, cassette, Thông tin đối với con người luôn có một ý nghĩa nhất định nào đó Với phương tiện máy tính
(mà cụ thể là các thiết bị đầu ra), con người sẽ tiếp thu được một phần dữ liệu có ý
nghĩa đối với mình Nếu so về lượng, dữ liệu thường nhiều hơn thông tin
Cũng có thể quan niệm thông tin là quan hệ giữa các dữ liệu Các dữ liệu được sắp xếp theo một thứ tự hoặc được tập hợp lại theo một quan hệ nào đó sẽ chứa đựng thông tin Nếu những quan hệ này được chỉ ra một cách rõ ràng thì đó là các tri thức Chẳng hạn :
+ Trong toán học : Bản thân từng con số riêng lẻ như 1, 1, 3, 5, 2, 7, 11, là các dữ
liệu Tuy nhiên, khi đặt chúng lại với nhau theo trật tự như dưới đây thì giữa chúng đã bắt đầu có một mối liên hệ
Trang 6Dữ liệu : 1, 1, 2, 3, 5, 8, 13, 21, 34,
Mối liên hệ này có thể được biểu diễn bằng công thức sau : Un = Un-1 + Un-2
Công thức nêu trên chính là tri thức
+ Trong vật lý : Bản sau đây cho chúng ta biết số đo về điện trở (R), điện thế (U) và
cường độ dòng điện (I) trong một mạch điện
Bản thân những con số trong các cột của bản trên không có mấy ý nghĩa nếu ta tách rời chúng ta Nhưng khi đặt kế nhau, chúng đã cho thấy có một sự liên hệ nào đó Và mối liên hệ này có thể được diễn tả bằng công thức đơn giản sau :
Công thức này là tri thức
+ Trong cuộc sống hàng ngày : Hằng ngày, người nông dân vẫn quan sát thấy các
hiện tượng nắng, mưa, râm và chuồn chuồn bay Rất nhiều lần quan sát, họ đã có nhận
xét như sau : Chuồn chuồn bay thấp thì mưa, bay cao thì nắng, bay vừa thì râm
Lời nhận xét trên là tri thức
Có quan điểm trên cho rằng chỉ những mối liên hệ tường minh (có thể chứng minh được) giữa các dữ liệu mới được xem là tri thức Còn những mối quan hệ không tường minh thì không được công nhận Ở đây, ta cũng có thể quan niệm
Trang 7rằng, mọi mối liên hệ giữa các dữ liệu đều có thể được xem là tri thức, bởi vì, những mối liên hệ này thực sự tồn tại Điểm khác biệt là chúng ta chưa phát hiện ra nó mà thôi Rõ ràng rằng "dù sao thì trái đất cũng vẫn xoay quanh mặt trời" dù tri thức này có được Galilê phát hiện ra hay không!
Như vậy, so với dữ liệu thì tri thức có số lượng ít hơn rất nhiều Thuật ngữ ít ở đây không chỉ đơn giản là một dấu nhỏ hơn bình thường mà là sự kết tinh hoặc cô đọng lại Hãy hình dung dữ liệu như là những điểm trên mặt phẳng còn tri thức chính
là phương trình của đường cong nối tất cả những điểm này lại Chỉ cần một phương trình đường cong ta có thể biểu diễn được vô số điểm! Cũng vậy, chúng ta cần có
những kinh nghiệm, nhận xét từ hàng đống số liệu thống kê, nếu không, chúng ta sẽ
ngập chìm trong biển thông tin như nhà bác học Karan Sing đã cảnh báo!
Người ta thường phân loại tri thức ra làm các dạng như sau :
+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 (Chẳng hạn : mặt trời mọc ở hướng đông, tam giác đều có 3 góc 600, )
+ Tri thức thủ tục : thường dùng để diễn tả phương pháp, các bước cần tiến hành,
tr�nh từ hay ngắn gọn là cách giải quyết mộ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 (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
Trên thực tế, rất hiếm có một trí tuệ mà không cần đến tri thức (liệu có thể có một đại kiện tướng cờ vua mà không biết đánh cờ hoặc không biết các thế cờ quan trọng không?) Tuy tri thức không quyết định sự thông minh (người biết nhiều định lý toán hơn chưa chắc đã giải toán giỏi hơn!) nhưng nó là một yếu tố cơ bản cấu thành trí
Trang 8thông minh Chính vì vậy, muốn xây dựng một trí thông minh nhân tạo, ta cần phải có yếu tố cơ bản này Từ đây đặt ra vấn đề đầu tiên là các phương pháp đưa tri thức vào máy tính được gọi là biểu diễn tri thức - Knowledge representation
II BIỂU DIỄN TRI THỨC (Knowledge representation)
1 Giới thiệu
Biểu diễn tri thức là một chủ đề trong khoa học nhận thức (cognitive science) cũng như trong trí tuệ nhân tạo (artificial intelligence) và mô hình hóa tri thức (knowledge modeling)
Khoa học nhận thức tập trung vào vấn đề là bằng cách nào con người có thể lưu trữ và xử lý thông tin Trong trí tuệ nhân tạo (AI) và mô hình hóa tri thức (KM) là cách thức để lưu trữ tri thức vì vậy các chương trình có thể xử lý và sử dụng nó cho các ví
dụ để hỗ trợ thiết kế bằng máy tính hoặc cạnh tranh với trí tuệ nhân tạo
Cách nhà nghiên cứu về trí tuệ nhân tạo đã mượn lý thuyết biểu diễn từ khoa học nhận thức
2 Tổng quan
Có nhiều kỹ thuật biểu diễn tri thức: các khung (frame), các quy tắc (rules) và mạng ngữ nghĩa (semantic netwworks), là những kỹ thuật có nguồn gốc từ lý thuyết
xử lý thông tin của con người Do các tri thức thường được dùng để thực hiện các hành
vi thông minh, mục tiêu cơ bản của biểu diễn tri thức là biểu diễn tri thức theo một cách làm cho dễ dàng để suy luận từ tri thức
Một số vấn đề nảy sinh trong trình diễn tri thức được biết trí tuệ nhân tạo (AI) là:
Làm thể nào để người biểu diễn tri thức
Cái gì là bản chất của tri thức và làm thế nào để biểu diễn nó?
Liệu có nên có lược đồ biểu diễn từng miền riêng rẽ hay biểu diễn chung?
Làm thế nào để diễn đạt là một lược đồ biểu diễn hoặc hình thức ngôn ngữ
Nên xây dựng theo hình thức kiểu khai báo hay hình thức thủ tục?
Một phương thức biểu diễn tri thức được biết đến nhiều là Hoạt hóa lan truyền (Spreading activation) – đây là một vấn đề duyệt mạng của các nút (nodes) Vấn đề
Trang 9chính ở đây là “ghép” (subsumption) và “phân lớp” (classification), ví dụ: cà chua có thể chia thành 2 lớp là Trái cây (fruit) và Rau (vegetable)
Trong lĩnh vực Trí tuệ nhân tạo, việc giải quyết vấn đề có thể đơn giản hóa bằng việc chọn lựa thích hợp cách biểu diễn tri thức Việc biểu diễn tri thức trong một
số phương pháp là giải quyết những vấn đề chắc chắc và dễ dàng hơn Ví dụ, sẽ dễ dàng hơn để chia các số trong cách biểu diễn số theo kiểu Hindu-Arabic hơn là cách biểu diễn số theo kiểu Roman numerals
3 Lịch sử của biểu diễn tri thức
Trong ngành Khoa học máy tính, đặc biệt là trong lĩnh vực Trí tuệ nhân tạo, số các biểu diễn đã được phát minh cho cấu trúc của thông tin
Biểu diễn tri thức được sử dụng phổ biến nhất là tham chiếu đến việc biểu diễn dành cho việc xử lý bởi máy tính hiện đại, và đặc biệt, cho việc biểu diễn các đối tượng tường minh, cụ thể (ví dụ lớp các loài voi, hoặc động vật riêng rẽ) và sự xác nhận hoặc yêu cầu về chúng (“Clyde là một con voi”, hoặc “tất cả các con voi có màu xám”) Việc biểu diễn tri thức dưới hình thức tường minh, cụ thể cho phép máy tính có những kết luận, suy diễn từ những tri thức đã được lưu trữ (“Clyde có màu xám”)
Nhiều phương thức biểu diễn tri thức được đưa ra vào những năm 1970 và nữa đầu những năm 1980, như là Heuristic question-answering, mạng neural, theorem proving, và hệ chuyên gia và đã mang đến nhiều thành công Chẩn đoán y học (Medical diagnosis – ví dụ: Mycin là một ứng dụng lớn, cũng như trong lĩnh vực game là đánh cờ
Trong những năm 1980, ngôn ngữ biểu diễn tri thức chính thức dành cho máy tính và hệ thống được ra đời Các dự án lớn trong việc mã hóa những kiến thức rộng lớn, chung về cơ thể con người, ví dụ “Cyc” là dự án được hiểu như là bách khoa toàn thư, việc mã hóa giúp người đọc hiểu được các thông tin trong bách khoa toàn thư: Vật
lý ngây thơ, khái niệm thời gian, quan hệ nhân quả, động cơ thúc đẩy các đối tượng phổ biến và lớp các đối tượng Dự án Cyc được quản lý bởi Cycorp, Inc dữ liệu nhiều nhưng không miễn phí
Kinh nghiệm cho thấy, sự khó khăn của việc biểu diễn tri thức ở chỗ là phải có kết quả đúng đúng đắn Trong ngôn ngữ máy tính, cơ sở dữ liệu về ngôn ngữ thông tin
Trang 10đang được xây dựng, nhưng vậy yêu cầu cấu hình máy tính phải có tốc độ xử lý cao và khả năng lưu trữ lớn…như vậy mới khả thi được việc biểu diễn tri thức
Vài ngôn ngữ lập trình đã pháp triển hỗ trợ việc biểu diễn tri thức Prolog được phát triển năm 1972 (website: http://www.aaai.org/AITopics/bbhist.html#mod), nhưng phải một thời gian lâu mới phổ biến, nó biểu diễn một số định lý và logic cơ bản, và
có thể có được những kết luận chấp nhận được KL-ONE (1980) hỗ trợ mạnh, rõ ràng hơn trong việc biểu diễn tri thức Trong năm 1995 chuẩn Dublin Core về siêu dữ liệu ( metadata) đã được hình thành
Trong thế giới tài liệu điện tử, các ngôn ngữ được phát triển để biểu diễn cấu trúc của tài liệu rõ ràng hơn, ví dụ SGML và sau đó là XML Thuận tiện cho việc thu thập thông tin, và khai phá dữ liệu mà những năm gần đây bắt đầu có liên quan đến biểu diễn tri thức Cộng đồng web hiện nay đặc biệt quan tâm đến cấu trúc ngữ nghĩa của web, các ngôn ngữ biểu diễn tri thức dựa trên nền tảng XML như: RDF, Topic Maps, Gellish English…có thể được sử dụng để biểu diễn tri thức sẵn có trên hệ thống web
4 Ngôn ngữ và ký hiệu
Một số người nghĩ sẽ là tốt nhất để biểu diễn tri thức theo cùng một cách đó là biểu diễn giống với cách suy nghĩ của con người, hoặc biểu diễn tri thức dưới dạng ngôn ngữ con người
Ngôn ngữ tâm lý được điều tra nghiên cứu làm thế nào con người lưu trữ trí nhớ và ngôn ngữ vận dụng bằng tay Một khía cạnh khác của sự hiểu biết khoa học là khảo sát làm thế nào bộ nhớ con người lưu trữ âm thanh, hình ảnh, mùi vị, cảm xúc, thut tục, và các ý tưởng trừu tượng Khoa học chưa hoàn toàn mô tả cơ cấu bên trong của bộ não đến điểm mà tại đó có thể dễ dàng tái tạo được bởi chương trình máy tính
Công thức đằng sau đó là ngữ nghĩa dựa trên lý thuyết: Tri thức = Lý thuyết + Thông tin Hệ thống cơ sở dữ liệu và hệ thống các quy ước là dựa trên ngôn ngữ Không may, chúng ta không biết được bằng cách nào tri thức được biểu diễn như suy nghĩ của con người, hoặc bằng cách nào để thao tác với ngôn ngữ con người giống như cách suy nghĩ của con người Đầu mối của vấn đề này là các động vật linh trưởng biết cách sử dụng point and click trên giao diện người dùng, do vậy mà giao diện dựa trên
cử chỉ đã xuất hiện và tồn tại một phần trong bộ công cụ về việc nhận thức của chúng