Mô hình COKB 6 thành phần Mô hình cơ sở tri thức cho các đối tượng tính toán - The model for knowledge bases of computational objects COKB được xây dựng gồm 6 thành phần: C, H, R, Ops, F
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ
HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH MÔN BIỂU DIỄN TRI THỨC VÀ SUY LUẬN
Tên đề tài:
ỨNG DỤNG COKB CHO VIỆC MÔ HÌNH HÓA CƠ SỞ THÔNG TIN
DU LICH TRONG HỆ THÔNG MINH
Giáo viên HD : PGS.TS Đỗ Văn Nhơn
Họ tên học viên : Phạm Quốc Bình Giang
Mã số học viên : CH1301010 Cao học : Khóa 9
Tháng 03/2014
Trang 2LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời chân thành cảm ơn đến Ban Chủ nhiệm trường Đại học công nghệ thông tin TP HCM đã tạo điều kiện cho em được tiếp cận với môn học Biểu diễn tri thức và suy luận
Em xin cảm ơn thầy PGS.TS Đỗ Văn Nhơn đã tận tình truyền đạt kiến thức cho chúng
em cũng những gì thầy đã giúp đỡ, hướng dẫn để em thực hiện bài báo cáo này.
Em cũng xin gửi lời cảm ơn sâu sắc đến quý thầy cô cùng các bạn bè thân hữu đã nhiệt tình đóng góp ý kiến, cũng như động viên để em hoàn thiện hơn đề tài của mình.
Mặc dù đã rất cố gắng nhưng đề tài khó tránh khỏi những thiếu sót và sai lầm, em mong thầy cô và bạn bè cho ý kiến để đề tài ngày càng hoàn thiện hơn.
Một lần nữa, em xin chân thành cảm ơn!
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 2
I CƠ SỞ TRI THỨC DU LICH TRONG HỆ THÔNG MINH 3
1.1 Giới thiệu bài toán 3
1.2 Yêu cầu bài toán 3
1.3 Phạm vi đề tài 3
II MÔ HÌNH COKB 4
2.1 Mô hình COKB 6 thành phần 4
2.2 Mộ hình COKB trong Hệ chuyên gia chuẩn đoán bệnh đái tháo đường 4
III MÔ HÌNH HÓA CƠ SỞ TRI THỨC DU LỊCH VỚI COKB 11
3.1 Mô hình 11
3.2 Kết luận 15
IV Tài liệu tham khảo 15
Trang 4I CƠ SỞ TRI THỨC DU LICH TRONG HỆ THÔNG MINH
1.1 Giới thiệu bài toán
Trong những năm qua, sự phát triển của các trang web, hệ thống thông tin và công cụ tìm kiếm đã hoàn toàn thay đổi cách thức tri thức và thông tin được thu thập và chia sẽ Thu thập thông tin chưa bao trở nên dễ dàng và mở rộng cho người sử dựng như hiện nay, nhưng vẫn có một số trường hợp đáng kể các kết quả thu được thông qua một công cụ tìm kiếm có chứa hàm lượng lớn các kết quả không liên quan Nguyên nhân xuất phát từ chính sự đơn giản của việc tổ chức thông tin hay biểu diễn tri thức của chúng chưa được phù hợp
Hiện nay, ở nước ta, lĩnh vực du lịch là một lĩnh vực rất nhiều tiềm năng phát triển, việc ứng dụng xây dựng một công cụ giúp tìm kiếm thông tin du lịch sẽ rất giúp ích cho việc trao đổi và chia sẽ thông tin du lịch trên internet Bên cạnh sự ra đời của các web ngữ nghĩa được xây dựng trên các ontology, còn có một phương pháp biễu diễn tri thức khác
- COKB, tương tự như các ontology cũng được phát triển để phù hợp cho hệ thông minh hay các hệ chuyên gia
1.2 Yêu cầu bài toán
Do nhu sử dụng ngày càng cao, các hệ thống thông tin phải lưu trữ thông tin như thế nào
để đảm bảo phục vụ tốt cho các truy vấn của người dùng Do đó, việc lưu trữ các thông tin du lịch phục vụ cho việc tìm kiếm dựa theo các từ khóa: nhà hàng, khách sạn, Hay tìm kiếm kết hợp nhiều tiêu chí phải đảm bảo cho kết quả tìm kiếm chính xác và tương
tự, chúng phải là một danh sách các địa điểm thỏa mãn yêu cầu tìm kiếm, ngoài ra, mỗi kết quả phải thể hiện mối liên hệ giữa các thông tin Do đó, cần phải biểu diễn tri thức như các đối tượng có các thuộc tính và quan hệ nội tại, đồng thời phải thể hiện quan hệ giữa các đối tượng
1.3 Phạm vi đề tài
Trong phạm vi giới hạn, bài thu hoạch chỉ dừng lại ở việc biểu diễn tri thức ứng dụng mô hình COKB để mô hình hóa cơ sở tri thức dùng cho các hệ chuyên gia hay hệ thống giải quyết vấn đề thông minh Do giới hạn về kiến thức chuyên ngành du lịch, bài toán không
đi sâu và chi tiết đặc điểm của ngành du lịch
Trang 5II MÔ HÌNH COKB
2.1 Mô hình COKB 6 thành phần
Mô hình cơ sở tri thức cho các đối tượng tính toán - The model for knowledge bases of computational objects (COKB) được xây dựng gồm 6 thành phần:
(C, H, R, Ops, Funcs, Rules) Với các thành phần được định nghĩa như sau:
• C: là tập các khái niệm tính toán Mỗi khái niệm trong C là một lớp các đối tượng tính toán
• H: là tập chứa các quan hệ có thứ tự của khái niệm
• R: là tập chứa các quan hệ thông thường của khái niệm
• Ops: là tập các toán tử
• Funcs là tập các hàm
• Rules là tập các luật
Trong đó có những quan hệ biểu diễn đặc biệt giữa các khái niệm trong C Và H biểu diễn cho những quan hệ đặc biệt này trong C, nó là một quan hệ có thứ tự trong C, H có thể được xem như sơ đồ Hasse cho quan hệ
R là tập cho các quan hệ còn lại trong C, trong trường hợp này r là quan hệ hai ngôi, có những thuộc tính như: phản chiếu, đối xứng, v.v
Ops là tập chứa các toán tử trong C Thành phần này biểu diễn một phần tri thức về các toán tử của các đối tượng
Funcs là tập chứa các hàm trong các đối tượng tính toán Tri thức về các hàm cũng phổ biến trong hầu hết các miền tri thức trong thực tế, đặc biệt trong các lĩnh vực khoa học tự nhiên như: toán, vật lý học
2.2 Mộ hình COKB trong Hệ chuyên gia chuẩn đoán bệnh đái tháo đường
Đây là một biến thể của mô hình COKB, được ứng dụng trong xây dựng hệ chuyên gia giúp chuẩn đoán bệnh đái tháo đường – KBCO-ADAPT
Mô hình này chỉ gồm 5 thành phần:
Trang 6(Attr, C, R, Rules, Patient)
Ý nghĩa của các thành phần:
• Attr là tập chứa các thuộc tính (đặc trưng) căn bản
• C là tập các khái niệm của đối tượng
Mỗi khái niệm là một lớp các đối tượng:
• R là tập các quan hệ trên đối tượng
• Rules là tập các luật suy diễn dựa trên sự kiện
• Patient là tập các khái niệm hay đối tượng
In this part, the knowledge about Diabetic Microvascular Complication are represented
by using KBCO-ADAPT Model
Thành phần Attr:
Attr là danh sách cá thuộc tính cơ bản: Attr = {x1, x2, xn} trong đó, mỗi thuộc tính các những giá trị riêng cố định như: float, integer, Boolean, string
Thành phần được dùng để mô tả tất cả các triệu chứng của bệnh đái tháo đường được dùng cho việc chuẩn đoán
Ví dụ:
Attr= {
BloodGlucoseTest : float;
DiabetesType : string;
HbA1c : float;
BlurryVision : Boolean;
Pain : Boolean;
Numbness : Boolean;
Soreness : Boolean;
HighbloodpressureHis : Boolean;
Trang 7Numb : boolean;
Retinopathy : string;
Nephropathy : string;
Neuropathy : string;
DiastolicBlood Pressure : integer;
SystolicBlood Pressure : integer
…}
Thành phần C tập các khái niệm của các đối tượng:
C bao gồm một vài khái niệm của các đối tượng như:
Khái niệm cơ bản: Một khái niệm cơ bản trong C là một lớp các đối tượng bao gồm tập các thuộc tính
(O) = {x1, x2, xk} ∈ Attr Lớp của những đối tượng này được dùng mô tả cho các đối tượng cấp 1 (“level 1” objects) Các khái niệm cơ bản được dùng để mô tả danh sách các triệu chứng hay các biểu hiện lâm sàn của bệnh đái tháo đường Có các loại cơ bản như sau:
Retinopathy_PhysiscalSymptomsList,
Retinopathy_FunctionalSymptomsList,
Retinopathy_ClinicalTestList,
Nephropathy_FunctionalSymptomsList,
Nephropathy_PhysiscalSymptomsList,
Nephropathy_ClinicalTestList,
Neuropathy_FunctionalSymptomsList,
Neuropathy_PhysiscalSymptomsList,
Neuropathy_ClinicalTestList
Ví dụ:
Trang 8{Glaucoma : Boolean;
Cataracts : Boolean;
Ophthalmoscopy_RetinalHemorrhage : Boolean;
Ophthalmoscopy_RetinalVascularProliferative: Boolean;
Ophthalmoscopy_Macularedema : Boolean }
Lớp các đối tượng cấp 1:
Là lớp các đối tượng có cấu trúc, bao gồm tập các thuộc tính Attr(O) = {x1, x2, xk} ∈
Attr và A1(O) có cấu trúc bao gồm tập các thuộc tính mà kiểu dữ liệu của nó là kiểu dữ liệu cơ bản Các đối tượng này sẽ được dùng cho việc định nghĩa các đối tượng cấp 2 (“level 2”objects)
Các đối tượng cấp một được dùng để mô tả các loại biến chứng của bệnh đái tháo đường như:
NeuropathyComplication_Diabete,
NephropathyComplication_Diabete,
RetinopathyComplication_Diabete
Ví dụ:
Đối tượng RetinopathyComplication_Diabete có cấu trúc bao gồm tập các thuộc tính và khái niệm cơ bản:
Attr (RetinopathyComplication_Diabete) =
{EyesInjury : Boolean;
Keratitis : Boolean;
BlindnessHistory : Boolean;
Retino_FunctionalSymptoms :
Retinopathy_FunctionalSymptomsList;
Retino_PhysiscalSymptoms :
Trang 9Retino_ClinicalTest :
Retinopathy_ClinicalTestList}
Lớp các đối tượng cấp 2:
Là tập các lớp đối tượng có cấu trúc gồm tập các thuộc tính Attr(O) = {x1, x2, xk} ∈ Attr and A2(O) có kiểu là các đối tượng cấp 1, các đối tượng cấp 2 được dùng để mô tả các biến chứng vi mạch máu của bệnh đái tháo đường
Ví dụ:
Đối tượng MicrovascularComplication_Diabete object có các đối tượng cấp 1 như:
Attr(MicrovascularComplication_Diabete) =
{ HighbloodpressureHis : Boolean;
DiabetesType : string;
Diabetic_Retinopathy :
RetinopathyComplication_Diabete;
Diabetic_Nephropathy :
NephropathyComplication_Diabete;
Diabetic_Neuropathy :
NeuropathyComplication_Diabete}
Thành phần R:
Mỗi quan hệ được xác định bởi
[<name of relation>, <object1 >, <object2 >]
Quan hệ thuộc (“belong to”) của một đối tượng với một đối tượng
Ví dụ:
Obj1: Retinopathy_PhysiscalSymptomsList
Trang 10Obj2: RetinopathyComplication_Diabete
[“belong to”, Obj1, Obj2]
Thành phần Rules:
Luật liên quan tới đối tượng là tập các luật suy diễn dựa trên các sự kiện Mỗi luật suy diễn nhằm tìm ra sự kiện mới từ các sự kiện đã biết trước đó Nhìn chung, mỗi luật chứa hai thành phần: giả thuyết và kết luận Hầu hết các luật được viết dưới dạng “if <facts> then <facts>” Trong đó, <facts> là một tập các sự kiện với một số phân loại Các sự kiện cần được phân loại để các Rule có thể được chỉ định và xử lý trong hệ suy diễn của
hệ thống thông minh Mỗi luật được mô tả như
{fact1, fact2, fact3,factn}=>{ fact1, fact2, fact3, factm}
Sự kiện về kiểu đối tượng:
Loại sự kiện này giúp xác định kiểu đối tượng
[<object>, <object type>]
Ví dụ:
[Obj, “RetinopathyComplication_Diabete”]
Sự kiện về mối quan hệ:
Sự kiện này biểu diễn cho mối quan hệ giữa các đối tượng hay thuộc tính của các đối tượng
[<relationship fact >, < Obj1>, < Obj2>]
Ví dụ:
Obj1: RetinopathyComplication_Diabete
Obj2: Retinopathy_PhysiscalSymptomsList
[<belongto>, < Obj1>, < Obj2>]
Thành phần Patient:
Thành phần Patient là lớp các đối tượng có cấu trúc gồm các thuộc tính của chính nó,
Trang 11Attr(O) = {x1, x2, xk} ∈ Attr và tập các đối tượng A1(O) ∈ C Mỗi thành phần Patient dùng để mô tả các thông tin điều trị của một bệnh nhân
Patient =
{PatientName : string;
YOB : integer;
Address : string;
PrehistoricDiabetes : Boolean;
Diabetes Duration : float;
BloodGlucoseTest : float;
DiabetesType : string;
HbA1c : float;
BlurryVision : Boolean;
Numbness : Boolean;
Soreness : Boolean;
Retinopathy : string;
Nephropathy : string;
Neuropathy : string;
DiastolicBlood Pressure : integer;
SystolicBlood Pressure : integer;
…}
Trang 12III MÔ HÌNH HÓA CƠ SỞ TRI THỨC DU LỊCH VỚI COKB
3.1 Mô hình
Mô hình COKB cho bài toán mô hình hóa cơ sở tri thức du lịch được xây dựng tương tự như mô hình KBCO-ADAPT cho hệ chuyên gia chuẩn đoán bệnh đái tháo đường ở trên, tuy nhiên nó cũng có một vài điểm khác biệt Mô hình này được xây dựng gồm 5 thành phần:
(Attr, C, R, Funcs, Rules)
• Attr là tập chứa các thuộc tính (đặc trưng) căn bản
• C là tập các khái niệm của đối tượng
Mỗi khái niệm là một lớp các đối tượng:
• R là tập các quan hệ trên đối tượng
• Rules là tập các luật suy diễn dựa trên sự kiện
• Funcs là tập các hàm
Thành phần Attr:
Attr là danh sách các thuộc tính cơ bản: Attr = {x1, x2, xn} trong đó, mỗi thuộc tính các những giá trị riêng cố định như: float, integer, Boolean, string
Thành phần được dùng để mô tả tất cả thông tin về du lịch của khu vực, vùng, miền, tỉnh thành phố
Ví dụ:
Attr= {
DiaDanh: string;
ViTri: string
DienTich: float;
LeHoi: string;
VanHoa: string;
AmThuc: string;
Trang 13DanToc: string;
NgonNgu: string;
GiaoThong: string;
DanhGia: float;
ViTriXepHang: integer;
NhaHang: string;
KhuVuiChoi: string;
…}
Thành phần C tập các khái niệm của các đối tượng:
C bao gồm một vài khái niệm của các đối tượng, được chia tương tự mô hình COKB cho của hệ chuẩn đoán bệnh đái tháo dường, cũng gồm 2 cấp đối tượng:
Khái niệm cơ bản: Một khái niệm cơ bản trong C là một lớp các đối tượng bao gồm tập các thuộc tính (O) = {x1, x2, xk} ∈ Attr Lớp của những đối tượng này được dùng mô tả cho các đối tượng cấp 1 (“level 1” objects) Các khái niệm cơ bản được dùng để mô tả các địa danh Các đối tượng lớp 1 sẽ được dùng cho việc định nghĩa các đối tượng cấp 2 (“level 2”objects)
Ví dụ:
Atrr(ĐườngLâm)
{ DienTich: 7.87;
DanSo: 8.329;
NgheTruyenThong: “làm tượng”
DiTich: “Chùa Mía, Lăng vua Ngô Quyền ”
LeHoi: “Hàng năm, đình tổ chức lễ hội từ mùng Một đến mùng Mười tháng Giêng
âm lịch với các trò chơi như thu lợn thờ, thi gà thờ ”
DiSan: “các đặc trưng cơ bản của một ngôi làng người Việt với cổng làng, cây đa, bến nước, sân đình, chùa, miếu, điếm canh, giếng nước, ruộng nước, gò đồi Hệ thống đường xá của Đường Lâm rất đặc biệt vì chúng có hình xương cá ”
Trang 14Khái niệm dẫn xuất: Một khái niệm trong C cho lớp các đối tượng cấp 2, trong đó tập thuộc tính của nó có thể là danh sach các đối tượng cấp 1 Các khái niệm này được dùng
để mô tả cho các tỉnh thành phố
Ví Dụ:
Hà nội có nhiều địa điểm du lịch là các danh lam thắng cảnh, trong mô hình của ta là một đối tượng lớp 2
Atrr(Hà Nội)
{ DienTich: 3328,9
DanSo: 6.7tr
MuiGio: “UTC+7”
MaHanhChinh: “VN-64”
DiaDiemDuLich: [ĐườngLâm, Thổ Hà, Thung Nai, ]
}
Như vậy cũng cần dẫn đến một khái niệm nữa cho lớp các đối tượng cấp 3 là các khu vực bao gồm nhiều tỉnh, thành phố, Tuy nhiên, ta tạm chưa xét đến khái niệm này
Thành phần R:
Mỗi quan hệ được xác định bởi
[<name of relation>, <object1 >, <object2 >]
Quan hệ thuộc (“belong to”) của một đối tượng với một đối tượng
Ví dụ:
Obj1: Hà Nội
Obj2: Đường Lâm
[“belong to”, Obj1, Obj2]
Trang 15Thành phần Funcs:
Ta có hàm trên xác định hai đối tượng
[<name of Func> , <object1 >, <object2 >]
Như ta có hàm tính khoảng cách giữa hai thành phổ hay hai địa điểm du lịch
Ví dụ:
Obj1: Đường Lam
Obj2: Thổ Hà
[“Distance” ,Obj1, Obj2]
Thành phần Rules:
Tương tự như mô hình trên, ta có thành phần Rules là luật liên quan tới đối tượng là tập các luật suy diễn dựa trên các sự kiện Mỗi luật suy diễn nhằm tìm ra sự kiện mới từ các
sự kiện đã biết trước đó Nhìn chung, mỗi luật chứa hai thành phần: giả thuyết và kết luận Hầu hết các luật được viết dưới dạng “if <facts> then <facts>” Trong đó, <facts>
là một tập các sự kiện với một số phân loại Các sự kiện cần được phân loại để các Rule
có thể được chỉ định và xử lý trong hệ suy diễn của hệ thống thông minh Mỗi luật được
mô tả như
{fact1, fact2, fact3,factn}=>{ fact1, fact2, fact3, factm}
Ở đây ta không có sự kiện về kiểu đối tượng
Sự kiện về mối quan hệ:
Sự kiện này biểu diễn cho mối quan hệ giữa các đối tượng hay thuộc tính của các đối tượng
[<relationship fact >, < Obj1>, < Obj2>]
Ví dụ: Ta có sự kiện sau,
Obj1: Hà Nội
Obj2: Đường Lâm
[“belong to”, < Obj1 >, < Obj2 >]
Trang 163.2 Kết luận
Với mục tiêu tìm hiểu và ứng dụng mô hình COKB trong giải quyết bài toán, không chú trọng đến chi tiết bài toán mà chỉ dựa trên tính tổng quát và một vài yếu tố phổ biến, đơn giản, bài thu hoạch đã vận dụng mô hình COKB trong giải quyết một bài toán mô hình hóa cơ sở tri thức du lịch trong hệ thông minh
Việc xây dựng mô hình còn đơn giản mang nặng tính lý thuyết, tổng quát, chưa đi sâu vào chi tiết bài toán trong thực tế
Mô hình này cần phải được cài đặt thực tế, chạy thử để hiệu chỉnh cho phù hợp
IV Tài liệu tham khảo
[1] PGS.TS Đỗ Văn Nhơn, Nguyễn Thị Trúc Ly, An Expert System for Diabetic
Microvascular Complication Diagnosis, IJCSI International Journal of Computer
Science Issues, Vol 10, Issue 4, No 2, July 2013
[2] Nguyễn Thi Thu Hằng, Nghiên cứu web ngữ nghĩa vào xử lý thông tin du lịch, ĐH
Đà Nẵng, 2011