Tải bản đầy đủ (.doc) (68 trang)

Luan van KHMT Ứng dụng Ontology trong việc chẩn đoán một số bệnh thường gặp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (833.11 KB, 68 trang )

MỤC LỤC
Lời cam đoan i
Lời cảm ơn ii
Mục lục iii
Danh mục các chữ viết tắt
Danh các hình vẽ
MỞ ĐẦU 6
1. Tính cấp thiết của đề tài: 6
2. Tình hình nghiên cứu và !nh mới của đề tài: 7
3. Mục đích của đề tài: 7
4. Phương pháp nghiên cứu: 7
5. Nội dung của đề tài, các vấn đề cần giải quyết: 7
CHƯƠNG 1. TÌM HIỂU ONTOLOGY VÀ CÁC KỶ THUẬT ONTOLOGY 9
1.1. Tìm hiểu ontology 9
1.1.1. Giới thiệu về ontology 9
1.1.2. Định nghĩa Ontology 9
1.1.3. Các thành phần của Ontology 9
1.1.4. Ontology trong Web ngữ nghĩa 11
1.1.5. Yêu cầu khi xây dựng Ontology 13
1.1.6. Xây dựng ontology 14
1.2. Ngôn ngữ ontology 17
1.2.1. RDF (Resource Descrip]on Framework): 17
1.2.3. OWL (Web Ontology Language) 25
1.3. Phần mền công cụ hỗ trợ xây dựng và quản trị ontology 28
1.3.1. Phần mềm Chimaera 28
1.3.2. Phần mềm Protégé 29
1
1.3.3. Công cụ Jena 31
1.3.4 KAON 31
1.4. Kết luận chương 33
CHƯƠNG 2. CHIA SẺ TRI THỨC VÀ ỨNG DỤNG TRONG ONTOLOGY 34


2.1. Chia sẻ tri thức trong lĩnh vực y tế 34
2.1.1. Nhu cầu chia sẻ tri thức trong lĩnh vực y tế 34
2.1.2. Khái quát về UMLS 34
2.1.3. Chia sẻ tri thức trong lĩnh vực y tế 35
2.2. Cơ sở dữ liệu suy diễn trong chăm sóc sức khỏe 37
2.2.1. Chuyển đổi các phần tử của RDFS và OWL thành các luật suy diễn 40
2.3. Vai trò của ontology trong truy vấn và suy diễn 44
2.4. Ontology trong lĩnh vực y tế 46
2.4.1. Ontologycho UMLS 47
2.4.2. Ontology cho chuẩn thẻ y tế quốc gia 50
2.5. Tích hợp thông ]n 52
CHƯƠNG 3. XÂY DỰNG ỨNG DỤNG TRONG LĨNH VỰC Y TẾ Ở HUYỆN PHÚ VANG 56
3.1 Giới thiệu Huyện Phú Vang 56
3.2 Về ứng dụng 57
3.3 Chúc năng của bản đề mô 57
3.4. Kiến trúc của phần mềm 58
3.5 Cấu hình phần mềm và phần cứng 58
3.6. Giao diện của bản Demo 59
3.6.1 Chức năng khám bệnh 59
3.6.2 Chức năng nhập bệnh 60
3.6.3 Chức năng ~m kiếm bệnh 61
3.7. Cấu trúc •le cơ sở dữ liệu XML 62
2
Đề thuận lợi trong quá trình suy diễn theo cấu trúc Ontology, cấu trúc dữ liệu được xây dựng
dưới dạng một cây phân cấp. Các dữ liệu thu thập được tập hợp và lưu trữ theo cấu trúc tài liệu
XML 62
62
Hình 3.5 Cây biểu diễn cấu trúc dữ liệu XML 62
Quá trình xây dựng mỗi nút trên cây tài liệu XML được thực hiện dựa vào đối tượng DOM. Thủ
tục có thể được biểu diễn như sau: 63

} 64
Đầu vào của thủ tục là các thông ]n về một bệnh thường gặp ở huyện Phú Vang bào gồm: 64
$ten: Tên bệnh 64
$nn: Nguyên nhân gây ra bệnh 64
$nntk: Các từ khóa có liên quan đến nguyên nhân gây bệnh 64
$tc: Triệu chứng và các biểu hiện của bệnh 64
$tctk: Các từ khóa có liên quan đến biểu hiện bệnh 64
$dt: Cách thức và phương pháp điều trị bệnh 64
3.8. Mô hình hệ thống 64
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 67
3
DANH MỤC CÁC CHỮ VIẾT TẮT
CNTT - Công nghệ thông tin
CSDL - Cơ sở dữ liệu
CSDLSD - Cơ sở dữ liệu suy diễn
DAML + OIL - DARPA Agent Markup Language + Ontology Inference
Layer
LVYT - Lĩnh vực chăm sóc sức khỏe
RDF - Resource Description Framework (Khung mô tả tài nguyên)
RDFS - Resource Description Framework Schema (Lược đồ khung mô tả tài
nguyên)
stm – statement (phát biểu / khẳng định)
UMLS - Unified Medical Language System (Hệ thống ngôn ngữ y học thống
nhất)
URI - Uniform Resource Identifier (Định danh tài nguyên đơn nhất)
W3C - World Wide Web Consortium (Tổ chức W3C)
XML - Extensible Markup Language (Ngôn ngữ đánh dấu mở rộng)
4
DANH MỤC CÁC HÌNH VẼ

Số hiệu
hình vẽ
Tên hình vẽ
Tran
g
1.1 Ví dụ về Ontology 9
1.2 Kiến trúc phân tầng của web ngữ nghĩa 10
1.3 So sánh giữa RDF và RDFS 17
1.4 Chimaera hỗ trợ hầu hết các định dạng Ontology 25
1.5 Giao diện phần mềm Protégé 25
1.6 Giao diện KAON 28
3.1 Kiến trúc tổng quát của bản đề mô 49
3.2 Chức năng khám bệnh. 50
3.3 Chức năng nhập bệnh 51
3.4 Chức năng tìm kiếm bệnh 52
3.5
3.6 Kiến trúc file xml 53
3.7 Hệ thống đơn giản 54
3.8 Hệ thống đa người dùng 55
5
MỞ ĐẦU
Ontology cho phép chúng ta xây dựng cơ sở tri thức bằng cách định
nghĩa tường minh các khái niệm, mối quan hệ giữa các khái niệm, và các luật
xử lý trong từng lĩnh vực. Sau đó, chia sẻ cơ sở tri thức với các hệ thống khác,
hoặc sử dụng khả năng suy luận dựa trên ontology để trích rút, tạo ra tri thức
mới.
1. Tính cấp thiết của đề tài:
Xã hội loài người càng ngày càng phát triển. Tri thức của loài người
không ngừng gia tăng từng giây, từng phút. Kho dữ liệu của tri thức hiện nay
là khổng lồ. Đa số, mỗi người đều có nhu cầu truy xuất kho dữ liệu này cho

các mục đích khác nhau như tra cứu, học tập, nghiên cứu, quảng bá, truyền
thụ,… Mỗi người, mỗi tổ chức xã hội có thể cũng có kho dữ liệu của riêng
mình. Do đó việc chia sẻ tri thức của nhau là nhu cầu thiết yếu của loài người.
Trong cuộc sống thường ngày của con người, mỗi người có thể bị mắt
phải một số triệu chứng và được điều trị bởi nhiều nhà cung cấp y tế khác nhau.
Mỗi nhà cung cấp y tế sẻ lưu trữ thông tin về điều trị của mỗi người. Nhu cầu
thông tin trong lĩnh vực y tế là quan trọng không chỉ cho nhà cung cấp y tế mà
còn cho người bệnh mắt phải. Mỗi tổ chức y học thường có hệ thống thông tin
riêng. Kho thông tin rời rạc và không đồng nhất làm cho việc chia sẻ tri thức
trong lĩnh vực y tế là một thách đố.
Sự biểu diễn của tri thức trong lĩnh vực y học không là một vấn đề nhỏ,
từ khi cần thiết sử dụng các hình thức biểu diễn mạnh và độc lập nền mà cho
phép nhiều đối tác giao tiếp, trao đổi và khai thác tri thức. Cũng cần ngôn ngữ
truy vấn mạnh để tạo các truy vấn phức tạp trên các dữ liệu phức tạp.
Web ngữ nghĩa là thế hệ tiếp theo của Web truyền thống WWW. Nó là
nền tảng cho ontology. Ontology là một hướng tiếp cận của khoa học tri thức
trong việc biểu diễn tri thức của từng lĩnh vực cụ thể, giúp máy tính “hiểu” tri
6
thức tốt hơn, và quá trình quản lý, chia sẻ tri thức hiệu quả hơn. Việc sử dụng
ontology cho phép truy vấn cơ sở tri thức và suy diễn tri thức.
Vì vậy, với những lý do trên, tôi chọn đề tài làm luận văn tốt nghiệp cao
học là: “Tìm hiểu ontology trong chia sẻ tri thức và ứng dụng trong lĩnh vực y
tế tại Huyện Phú Vang ” là nhằm nêu cách giải quyết và đáp ứng phần nào
nhu cầu cấp thiết đối với việc chia sẻ tri thức trong lĩnh vực y tế đến cộng
đồng nói chung các tổ chức, cá nhân nói riêng.
2. Tình hình nghiên cứu và tính mới của đề tài:
Trên thế giới, việc chia sẻ tri thức đã được nghiên cứu và đạt được một
số thành tựu mong đợi. Trong lĩnh vực y tế cũng có các công trình nghiên cứu
và triển khai để chia sẻ tri thức đến cộng đồng một cách hiệu quả. Việc tìm
hiểu ontology trong chia sẻ tri thức và ứng dụng trong lĩnh vực y tế, giúp các

tổ chức cá nhân có một sự hiểu biết nhất định về lĩnh vực y tế.
Ở Việt nam, đã có các nghiên cứu về việc chia sẻ tri thức, nhưng chưa có
công trình nào công bố về chia sẻ tri thức trong lĩnh vực y tế, để chia sẻ tri
thức sử dụng ontology
3. Mục đích của đề tài:
- Tìm hiểu về ontology trong chia sẻ tri thức
- Nghiên cứu phương pháp sử dụng các kỹ thuật Web ngữ nghĩa, đặc
biệt là ontology trong chia sẻ tri thức và ứng dụng vào lĩnh vực y tế.
4. Phương pháp nghiên cứu:
- Khảo sát, nghiên cứu các công trình của thế giới có liên quan đến đề
tài.
- Tìm tài liệu từ sách, báo, tập chí khoa học gần đây nhất (2005 trở lại
đây).
- Nghiên cứu lý thuyết, phân tích, tổng hợp, khái quát rút ra những vấn
đề cần thiết cho đề tài
5. Nội dung của đề tài, các vấn đề cần giải quyết:
7
- Luận văn bao gồm các nội dung và được tổ chức như sau:
Chương 1. Tìm hiểu về Ontology và các kỷ thuật Ontology
Tìm hiểu về khái niệm ontology, các ngôn ngữ ontology, các công cụ hỗ
trợ xây dựng và quản trị ontology cũng như các phương thức xây dựng ontology.
Chương 2. Chia sẻ tri thức và ứng dụng Ontology
Trình bày chi tiết cách thức, phương pháp và các chuẩn ưng dụng cơ
sở của ontology trong chia sẻ tri thức ứng dụng trong lĩnh vực y tế.
Chương 3. Phần mềm ứng dụng lĩnh vực y tế
Trình bày một ứng dụng mô phỏng quá trình chia sẻ tri thức. Nhằm để
minh họa cụ thể lý thuyết ở chương 2.
8
CHƯƠNG 1. TÌM HIỂU ONTOLOGY VÀ CÁC KỶ THUẬT
ONTOLOGY

1.1. Tìm hiểu ontology
1.1.1. Giới thiệu về ontology
Trong những năm gần đây, thuật ngữ “Ontology” không chỉ được sử
dụng ở trong các phòng thì nghiệm trên lĩnh vực trí tuệ nhân tạo mà đã trở
nên phổ biến đối với nhiều miền lĩnh vực trong đời sống. Đứng trên quan
điểm của ngành trí tuệ nhân tạo, một Ontology là sự môt tả về những khái
niệm và những quan hệ của các khái niệm đó nhằm mục đích thể hiện một
góc nhìn về thế giới. Trên miền ứng dụng khác của khoa học, một Ontology
bao gồm tập các từ vựng cơ bản hay một tài nguyên trên một miền lĩnh vực cụ
thể, nhờ đó những nhà nghiên cứu có thể lưu trữ, quản lý và trao đổi tri thức
cho nhau theo một cách tiện lợi nhất .
1.1.2. Định nghĩa Ontology
Hiện nay tồn tại nhiều định nghĩa về Ontology,luận văn này chỉ giới
thiệu một định nghĩa mang tính khái quát và được sử dụng khá phổ biến được
Kincho H. Law đưa ra: “Ontology là biểu hiện một tập các khái niệm (đối
tượng), trong một miền cụ thể và những mối quan hệ giữa các khái niệm này”.
Ontology chính là sự tổng hợp của một tập từ vựng chia sẻ và các miêu tả ý
nghĩa của từ đó theo cách mà máy tính hiểu được.
1.1.3. Các thành phần của Ontology
Ontology được sử dụng như là một biểu mẫu trình bày tri thức về thế
giới hay một phần của nó.Một ontology bao gồm các thành phần sau:
 Đối tượng (thể hiện): Object
Đối tượng (hay cá thể) là thành phần cơ bản của một ontology. Đối
tượng có thể bao gồm: người, thú, xe, nguyên tử, hành tinh, trang web, Nói
đúng ra, ontology không cần chứa bất kỳ đối tượng nào, nhưng ontology có
thể cung cấp một phương tiện để phân loại các đối tượng.
9
 Lớp (khái niệm): Class
Hầu hết ontology đều tập trung xây dựng các lớp được tổ chức theo cấu
trúc phân cấp để mô tả các lớp trong miền cần quan tâm. Ví dụ “động vật” là

một lớp trong ngữ cảnh động vật học. Bên dưới lớp này có thể có các lớp con
ví dụ “động vật có vú” và “đông vật không có vú”…
 Thuộc tính: Property
Các đối tượng trong ontology có thể được mô tả thông qua việc khai
báo các thuộc tính của chúng. Mỗi một thuộc tính đều có tên và giá trị của
thuộc tính đó. Các thuộc tính được sử dụng để lưu trữ các thông tin mà đối
tượng có thể có. Ví dụ, đối tượng là con người thì có thể có các thuộc tính:
Họ_tên, ngày_sinh, quê_quán, số_cmnd…
 Quan hệ: Relation
Quan hệ giữa các đối tượng trong một ontology cho biết các đối tượng
liên hệ với đối tượng khác như thế nào. Sức mạnh của ontolgy nằm ở khả
năng diễn đạt quan hệ. Tập hợp các quan hệ cùng nhau mô tả ngữ nghĩa của
domain. Tập các dạng quan hệ được sử dụng và cây phân loại thứ bậc của
chúng thể hiện sức mạnh diễn đạt của ngôn ngữ dùng để biểu diễn ontology.
Ontology thường phân biệt các nhóm quan hệ khác nhau. Vd:
• Quan hệ giữa các lớp
• Quan hệ giữa các thực thể
• Quan hệ giữa một thực thể và một lớp
• Quan hệ giữa một đối tượng đơn và một tập hợp
• Quan hệ giữa các tập hợp.
10
Hình 1.1. Ví dụ về Ontology
Xét ví dụ ở hình 1.1, ta có ba lớp Employee, Country và Publication,
trong đó lớp Employee có 2 cá thể Person -1 và Person -2, cả hai cá thể này
có quan hệ đồng nghiệp với nhau. LeVanSon có thuộc tính là isCitizenOf cá
thể Vietnam, và thuộc tính hasWritten với cá thể NetworkProgramming.
1.1.4. Ontology trong Web ngữ nghĩa
1.1.4.1 Giới thiệu
Web ngữ nghĩa là sự mở rộng của Web hiện tại mà trong đó thông tin
được định nghĩa rõ ràng sao cho con người và máy tính có thể cùng làm việc

với nhau một cách hiệu quả hơn. Mục tiêu của Web có ngữ nghĩa là để phát
triển các chuẩn chung và công nghệ cho phép máy tính có thể hiểu được nhiều
hơn thông tin trên Web, sao cho chúng có thể hỗ trợ tốt hơn việc khám phá
thông tin, tích hợp dữ liệu (dữ liệu liên kết động), và tự động hóa các công
việc.
1.1.4.2 Web ngữ nghĩa là gì?
Web ngữ nghĩa được phát triển bởi Tim- Berners Lee, cha đẻ của WWW,
URIs, HTTP và HTML. Theo Ông, ‘‘ Web ngữ nghĩa là sự mở rộng của Web
hiện tại, cho phép người dùng có thể truy tìm, phối hợp, sử dụng lại và trích
11
lọc thông tin một cách dễ dàng và chính xác ’’. (Tim- Berners Lee, XML-
2000).
Nội dung xây dựng Web ngữ nghĩa:
Để xây dựng hệ thống Web ngữ nghĩa thay thế cho World Wide Web hiện tại,
các nhà nghiên cứu đang nỗ lực và tập trung nghiên cứu với ba hướng chính
sau:
- Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu (XML) và siêu dữ liệu
(RDF) trên Web.
- Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa.
- Phát triển nâng cao Web có ngữ nghĩa (Semantic Web Advanced
Development - SWAD).
Hình 1.2. Kiến trúc phân tầng của web ngữ nghĩa
Trong cấu trúc trên mỗi tầng có một vai trò nhất định:
- Unicode: là một bảng mã chuẩn chung có đủ các ký tự để thống nhất
sự giao tiếp trên tất cả các quốc gia.
- URI (Uniform Resource Identifier):là kí hiệu nhận dạng Web đơn
giản.
- Tầng XML: XML (eXtensible Markup Language) là ngôn ngữ đánh
dấu mở rộng, cho phép người dùng có thể tùy . thêm vào những thẻ theo yêu
cầu của m.nh.

- Tầng RDF (Resource Description Framework): Khung mô tả tài
nguyên - RDF được W3C giới thiệu để cung cấp một cú pháp chuẩn để tạo,
thay đổi và sử dụng các chú thích trong Web ngữ nghĩa.
12
- Tầng Ontology: Ontology Vocabulary (Bộ từ vựng ontology) được
xây dựng trên cơ sở tầng RDF và RDFS, cung cấp biểu diễn ngữ nghĩa mềm
dẻo cho tài nguyên web và có khả năng hỗ trợ lập luận.
- Tầng Logic: Việc biểu diễn các tài nguyên dưới dạng các bộ từ vựng
ontology có mục đích là để máy có thể lập luận được. Mà cơ sở lập luận chủ
yếu dựa vào logic.
- Tầng Proof: Tầng này đưa ra các luật để suy luận. Cụ thể từ các thông
tin đã có ta có thể suy ra các thông tin mới.
- Tầng Trust: Đảm bảo tính tin cậy của các ứng dụng trên Web ngữ
nghĩa.
1.1.5. Yêu cầu khi xây dựng Ontology
Ngôn ngữ ontology cho phép người sử dụng viết rõ ràng, các khái niệm
hình thức của mô hình miền. Các yêu cầu chính:
 Cấu trúc rõ ràng: đây là điều kiện cần cho máy có thể xử lý thông
tin.
 Ngữ nghĩa hình thức miêu tả ý nghĩa tri thức một cách chính xác: Ý
nghĩa của ngữ nghĩa hình
thức tồn tại trong một thời gian dài trong miền toán logic. Việc sử dụng ngữ
nghĩa hình thức cho phép con người suy diễn tri thức. Với tri thức trong
ontology chúng ta có thể suy diễn về:
 Thành viên của lớp: Nếu x là một thể hiện của lớp C và C là lớp
con của lớp D thì chúng ta có x là thể hiện của lớp D
 Các lớp tương đương: Nếu lớp A tương đương với lớp B và lớp B
tương đương với lớp C, thì lớp A cũng tương đương với lớp C.
 Tính nhất quán: Giả sử chúng ta khai báo x là thể hiện của lớp A và
A là lớp con của B∩ C, A là lớp con của lớp D, Lớp B và lớp D không có

quan hệ với nhau (disjoint). Thì chúng ta không nhất quán bởi vì A nên là
rỗng nhưng lại có thể hiện là x. Đây là một dấu hiệu của một lỗi trong
ontology.
13
 Phân loại : nếu chúng ta khai báo các cặp thuộc tính giá trị đã biết là
điều kiện đủ cho thành viên trong một lớp A, thì nếu một cá thể x thỏa mãn
các điều kiện, chúng ta có thể kết luận x phải là một thể hiện của A.
 Ngữ nghĩa là điều kiện tiên quyết cho việc hỗ trợ suy diễn: Hỗ trợ
suy diễn rất quan trọng bởi vì nó cho phép kiểm tra tính nhất quán của
ontology và tri thức, kiểm tra các quan hệ thừa giữa các lớp, tự động phân loại
các thể hiện trong lớp.
Ngữ nghĩa hình thức và hỗ trợ suy diễn thường được cung cấp bởi việc
ánh xạ một ngôn ngữ ontology đến hình thức logic và sử dụng suy diễn tự
động bởi các hình thức luôn tồn tại. OWL được ánh xạ logic miêu tả và sử
dụng các suy diễn đang tồn tại như FaCT và RACER. Các logic mô tả là tập
con của logic vị từ nhằm hỗ trợ suy diễn hiệu quả.
1.1.6. Xây dựng ontology
Quy trình phát triển Ontology là một quy trình gồm nhiều bước, tuy
nhiên vẫn chưa có một phương pháp chuẩn hóa nào để phát triển các
ontology. Quy trình phát triển gồm 7 bước được giới thiệu trong luận văn này
do Stanford Center for Biomedical Informatics Research đưa ra (đây là nhóm
phát triển phần mềm Protégé để trình diễn và soạn thảo Ontology).
Bước 1: Xác định miền quan tâm và phạm vi của ontology.
Trong giai đoạn này cần xác định mục đích của việc xây dựng ontology
là gì? Phục vụ đối tượng nào? Ontology sắp xây dựng cần có đặc điểm gì, liên
quan đến lĩnh vực, phạm vi nào. Quá trình khai thác, quản lý và bảo trì
ontology được thực hiện ra sao?
Bước 2: Xem xét việc kế thừa các ontology có sẵn.
Cấu trúc của một Ontology bao gồm 3 tầng: tầng trừu tượng (Abstract),
tầng miền xác định (Domain) và tầng mở rộng (Extension). Trong đó tầng

trừu tượng có tính tái sử dụng rất cao, tầng miền xác định có thể tái sử dụng
trong một lĩnh vực nhất định. Cộng đồng Ontology cũng đang lớn mạnh và có
14
rất nhiều Ontology đã được tạo ra, với tâm huyết của nhiều chuyên gia. Do đó
trước khi bắt đầu xây dựng ontology, cần xét đến khả năng sử dụng lại các
ontology đã có. Nếu có thể sử dụng lại một phần các ontology đã có, chi phí
bỏ ra cho quá trình xây dựng ontology sẽ giảm đi rất nhiều.
Bước 3: Liệt kê các thuật ngữ quan trọng trong ontology.
Ontology được xây dựng trên cơ sở các khái niệm trong một lĩnh vực
cụ thể, vì vậy khi xây dựng ontology cần bắt đầu từ các thuật ngữ chuyên
ngành để xây dựng thành các lớp trong ontology tương ứng. Tất nhiên không
phải thuật ngữ nào cũng đưa vào ontology, vì chưa chắc đã định vị được cho
thuật ngữ đó. Do đó cần phải liệt kê các thuật ngữ, để xác định ngữ nghĩa cho
các thuật ngữ đó, cũng như cân nhắc về phạm vi của ontology. Việc liệt kê
các thuật ngữ còn cho thấy được phần nào tổng quan về các khái niệm trong
lĩnh vực đó, giúp cho các bước tiếp theo được thuận lợi.
Bước 4: Xây dựng các lớp và cấu trúc lớp phân cấp.
Công việc xác định các lớp không chỉ đơn giản là tiến hành tìm hiểu về
ngữ nghĩa của các thuật ngữ đã có để có được các mô tả cho thuật ngữ đó, mà
còn phải định vị cho các lớp mới, loại bỏ ra khỏi ontology nếu nằm ngoài
phạm vi của ontology hay hợp nhất với các lớp đã có nếu có nhiều thuật ngữ
có ngữ nghĩa như nhau (đồng nghĩa, hay đa ngôn ngữ). Ngoài ra không phải
thuật ngữ nào cũng mang tính chất như một lớp.
Một công việc cần phải tiến hành song song với việc xác định các lớp
là xác định phân cấp của các lớp đó. Việc này giúp định vị các lớp dễ dàng
hơn.
Có một số phương pháp tiếp cận trong việc xác định phân cấp của các
lớp:
•Phương pháp từ trên xuống (top-down): bắt đầu với định nghĩa của
các lớp tổng quát nhất trong lĩnh vực và sau đó chuyên biệt hóa các khái niệm

đó. Ví dụ: Trong Ontology về quản lý nhân sự, ta bắt đầu với lớp Người, sau
15
đó chuyên biệt hóa lớp Người đó bằng cách tạo ra các lớp con của lớp Người
như : Kỹ sư, Công nhân, Bác sỹ,… Lớp Kỹ sư cũng có thể chuyên biệt hóa
bằng cách tạo ra các lớp con như Kỹ sư CNTT, Kỹ sư điện, Kỹ sư cơ khí, …
•Phương pháp từ dưới lên (bottom-up): bắt đầu với định nghĩa của các
lớp cụ thể nhất, như các lá trong cây phân cấp. Sau đó gộp các lớp đó lại
thành các khái tổng quát hơn. Ví dụ: ta bắt đầu với việc định nghĩa các lớp
như: nhân viên lễ tân, nhân viên vệ sinh, nhân viên kỹ thuật. Sau đó tạo ra
một lớp chung hơn cho các lớp đó là lớp nhân viên.
•Phương pháp kết hợp: kết hợp giữa phương pháp từ trên xuống và từ
dưới lên: bắt đầu từ định nghĩa các lớp dễ thấy trước và sau đó tổng quát hóa
và chuyên biệt hóa các lớp đó một cách thích hợp. Ví dụ ta bắt đầu với lớp
nhân viên trước, là thuật ngữ hay gặp nhất trong quản lý nhân sự. Sau đó
chúng ta có thể chuyên biệt hóa thành các lớp con: nhân viên lễ tân, nhân viên
vệ sinh,… hoặc tổng quát hóa lên thành lớp Người.
Bước 5: Định nghĩa các thuộc tính và quan hệ cho lớp.
Để xác định thuộc tính cho các lớp, ta quay trở lại danh sách các thuật
ngữ đã liệt kê được. Hầu hết các thuật ngữ còn lại (sau khi đã xác định lớp) là
thuộc tính của các lớp đó. Với mỗi thuộc tính tìm được, ta phải xác định xem
nó mô tả cho lớp nào. Các thuộc tính đó sẽ trở thành thuộc tính của các lớp
xác định. Ví dụ lớp Người có các thuộc tính sau: Họ, Tên, Ngày sinh, Giới
tính, Nghề nghiệp, Địa chỉ, Điện thoại,…
Bước 6: Định nghĩa các ràng buộc về thuộc tính và quan hệ của lớp.
Các thuộc tính có thể có nhiều khía cạnh khác nhau: như kiểu giá trị,
các giá trị cho phép, số các thuộc tính (lực lượng), và các đặc trưng khác mà
giá trị của thuộc tính có thể nhận. Ví dụ: “Năm sinh” của một “nhân viên” chỉ
có duy nhất và là số nguyên, có thể nhận giá trị từ 1948 đến 1990. Cần phải
xác định các ràng buộc cho một thuộc tính càng chặt chẽ càng tốt, để tránh
16

trường hợp nhập dữ liệu sai, dẫn đến đổ vỡ của các ứng dụng sử dụng
Ontology này.
Bước 7: Tạo các thực thể cho lớp.
Bước cuối cùng là tạo ra các thể hiện của các lớp trong sự phân cấp.
Việc tạo thể hiện cho một lớp là quá trình điền các thông tin vào các thuộc
tính của lớp đó.
1.2. Ngôn ngữ ontology
Một Ontology cần được mô tả bằng một cấu trúc chặt chẽ và theo những
chuẩn chung nhất để người sử dụng có thể chia sẻ (với người sử dụng khác)
hoặc sử dụng lại những Ontology đã có sẵn. Trong phần này trình bày về
RDF (Resource Description Framework ), RDFS (RDF-Schema) một
framework cho việc mô hình hóa, mô tả tài nguyên trên Web và OWL (Web
Ontology Language) đang được sử dụng rộng rãi để biểu diễn tri thức hiện
nay.
1.2.1. RDF (Resource Description Framework):
1.2.1.1. Tổng quan RDF:
RDF là nền tảng cho việc biểu diễn dữ liệu trong lĩnh vực Web ngữ
nghĩa. Thông tin biểu diễn theo mô hình RDF là một phát biểu (statement)ở
dạng cấu trúc bộ ba gồm ba thành phần cơ bản là: subject, predicate, object.
Trong đó:
 Subject chỉ đối tượng đang được mô tả đóng vai trò là chủ thể.
 Predicate (còn được gọi là property)là kiểu thuộc tính hay quan hệ.
 Object là giá trị thuộc tính hay đối tượng của chủ thể đã nêu. Object
có thể là một giá trị nguyên thủy như số nguyên, chuỗi hoặc cũng có thể là
một tài nguyên.
Ví dụ:
17
Đây là phát biểu mô tả một chủ thể person-1 có kiểu thuộc tính name với
giá trị là An. Phát biểu có thể được tạm hiểu là: person-1 có tên An.
Có thể liệt kê một số ưu điểm của việc lưu trữ dữ liệu RDF so với dữ liệu

truyền thống là:
 Tổ chức dữ liệu đơn giản, đồng nhất nên thông tin dễ dàng thêm bớt chỉnh
sửa.
 Cấu trúc bộ ba giúp cho thông tin dễ truy xuất bởi các hệ thống suy
luận, tìm kiếm ngữ nghĩa. Cũng nhờ vậy mà những bộ xử lí RDF có thể suy
luận ra những thông tin mới không có trong hệ dữ liệu.
 Chia sẻ dữ liệu trên mạng dễ dàng nhờ sự đồng nhất
1.2.1.2. Chia sẻ dữ liệu RDF:
Mô hình RDF thể hiện được nhiều ưu điểm trong việc biễu diễn thông
tin. Chính vì vậy cần phải có một cách thức chung để truyền tải dữ liệu RDF
trên internet. Đó là RDF/XML syntax do W3C đưa ra năm 1999. Đây là một
ngôn ngữ dựa trên XML, nó bao gồm một tập các quy tắc và từ vựng để hỗ
trợ cho biễu diễn thông tin RDF.
RDF/XML syntax: RDF/XML có thể gây khó khăn cho người học bởi vì
nó có thể có nhiều cách khi cùng biểu diễn một phát biểu, và một phần là do
URI (Uniform Resource Identifier)dùng để định danh cho một tài nguyên thì
tương đối dài và khó đọc, khó viết. Tuy nhiên vấn đề này có thể được xử lí
bằng cách dùng XML namespace.
Khai báo namespace: việc sử dụng namespace giúp cho tài liệu RDF
ngắn gọn và dễ đọc hơn đối với người thiết kế. Chẳng hạn như ta có một địa
chỉ là “ Nếu ta gán nó cho
18
một namespace, ví dụ như xmlns: rdf, thì từ nay về sau ta chỉ việc dùng rdf:
phone thay cho “
Định danh một chủ thể: Chúng ta dùng cú pháp sau để biểu diễn một bộ
ba {subject,predicate,object}, ví dụ:
{person-1, name, An}
{person-1, phone, 0909213456}
Và biểu diễn ví dụ trên trong tài liệu RDF :
<rdf :RDF xmlns:rdf=„

<rdf :Description rdf:about= „#person-1‟>
<rdf :Name rdf:literal= „An‟>
<rdf :Phone rdf:literal= „0909213456‟>
</rdf :Description>
</rdf :RDF>
Thuộc tính rdf : about dùng để chỉ định URI của một resource, còn
#person-1 cho ta biết rằng person-1 đã được khai báo trong cùng tài liệu này
(trong ví dụ trên chúng ta không chỉ ra person-1 đã được khai báo ở đâu). Nếu
person-1 không được khai báo thì chúng ta phải đưa URI của nó vào để sử
dụng hoặc là dùng namespace để đại diện cho URI đó. Chúng ta dùng thuộc
tính rdf :ID để gán định danh cho một tài nguyên :
<rdf :Description rdf :ID= “person-1”>
<rdf :type rdf :resource= “ />ns#person-1”/>
</rdf :Description>
Ở đây, tài nguyên />ns#person-1 đã được định danh bởi person-1. Thuộc tính ID giúp cho chúng
ta sử dụng tài nguyên person-1 mà không phải dùng lại URI của nó dài dòng
mà phức tạp.
1.2.2.1. RDFS (RDF-Schema)
19
RDF-Schema là một ngôn ngữ Ontology cơ bản. Nó được phát triển ở
tầng trên của RDF cho nên bản thân RDF-Schema cũng chính là RDF, nó
được mở rộng từ RDF và bổ sung thêm các tập từ vựng để hỗ trợ cho việc xây
dựng các Ontology được dễ dàng. Như chúng ta đã biết, ngôn ngữ RDF chỉ
giúp cho thông tin được thể hiện ở dạng bộ ba theo đúng mô hình RDF chứ
thông tin vẫn chưa thể hiện gì về mặt ngữ nghĩa. Do đó, xây dựng RDFS là
điều cần thiết để hình thành nên ngữ nghĩa cho thông tin, là cơ sở để xây dựng
các công cụ tìm kiếm ngữ nghĩa. RDFS và RDF có mối liên hệ tương đối gần
gũi nên đôi lúc ta gọi ngôn ngữ này là RDF/RDFS. Hình 1.3 cho chúng ta sự
phân biệt giữa RDFS với RDF :
Hình 1.3. So sánh giữa RDF và RDFS

Trong hình 1.3 chúng ta thấy, ở tầng RDF chỉ biểu diễn được thông tin ở dạng
bộ ba. Đến tầng RDFS, thông tin đã được phân loại rõ ràng. Chẳng hạn như
20
David Billington có kiểu là associate professor và associate professor là lớp
con của Academic Staff member v.v…
EXtensible Markup Language [XML] là một chuẩn mở dùng để biểu
diễn dữ liệu từ W3C, có tính mềm dẻo và mạnh hơn so với HTML. RDF
(Resource Description Framework) được phát triển như một khung giúp mô tả
và trao đổi các metadata .
SHOE (Simple HTML Ontology Extensions) được xây dựng vào năm
1996 tại Trường ĐH Maryland, như một mở rộng của HTML để có thể hợp
nhất các tri thức ngữ nghĩa trên các văn bản web hiện tại thông qua việc chú
thích các trang HTML.
1.2.2.2. Các lớp và thuộc tính trong RDF/RDFS:
 RDF/RDFS định nghĩa 13 lớp cơ bản:
rdfs :Resource (Chỉ định đây là một tài nguyên)
rdfs :Class (Dùng để khởi tạo một lớp)
rdfs :Literal (Lớp các giá trị nguyên thủy: chuỗi, số nguyên…)
rdfs :XMLLiteral
rdfs :Container
rdfs :ContainerMembershipProperty
rdf :Property (Cho biết tài nguyên thuộc lớp này là một thuộc tính - property)
rdf :Statement (Cho biết tài nguyên thuộc lớp này là một phát biểu - statement)
rdf :Bag
rdf :Seq
rdf :Alt
rdf :list (Lớp danh sách RDF)
rdf :Container
 Và một số thuộc tính :
rdf :type (Xác định kiểu cho một tài nguyên)

rdfs :subClassOf (Cho biết là „lớp con của‟)
21
rdfs:subPropertyOf („Thuộc tính con của‟ thuộc tính)
rdfs:domain (Chỉ định vùng)
rdfs :range (Chỉ định tầm vực)
rdfs:label (Gán nhãn cho một tài nguyên)
rdfs:comment (Chú thích)
rdf :member (Thành viên của một lớp chứa - container)
rdf :first (Phần tử đầu tiên trong một danh sách RDF)
rdf :rest (Danh sách các phần tử còn lại)
rdfs :seeAlso (Các thông tin bổ sung)
rdfs :isDefinedBy (Được định nghĩa bởi)
rdf :value (Gán một giá trị nào đó cho chủ thể)
rdf :subject (Chủ thể của một phát biểu)
rdf :predicate (Thuộc tính của một phát biểu)
rdf :object (Giá trị thuộc tính của một phát biểu)
Với những lớp và thuộc tính được liệt kê trên đây, RDF/RDFS đủ
mạnh để xây dựng các Ontology. Tuy nhiên bản thân nó còn chứa đựng
nhiều hạn chế như là chưa hỗ trợ tốt về mặt suy luận, cũng như chưa có ràng
buộc về kiểu và số yếu tố mà các ngôn ngữ thế hệ sau sẽ khắc phục (chúng
ta sẽ bàn về điều này trong phần OWL).
Các lớp và thuộc tính thường dùng trong RDF/RDFS chủ yếu là:
Resource, Class, Property, type, label, subClassOf, subPropertyOf, domain,
và range. Trong đó domain là miền tài nguyên sử dụng thuộc tính đó, còn
range là phạm vi giá trị có thể gán cho thuộc tính đó. Ví dụ ta có lớp thuộc
tính là hasChild thì domain của hasChild là lớp Person, còn range là lớp số
nguyên dương chẳng hạn(số con từ 1 trở lên).
1.2.2.3. Ví dụ xây dựng Ontology với RDFS:
Chúng ta sẽ dùng cú pháp cơ bản sau để biễu diễn cho một phát biểu:
{subject, predicate, object}

22
Nếu có nhiều hơn một thuộc tính cho một chủ thể thì:
{subject,
{predicate1, object1}
{predicate2, object2}
}
Nếu có nút trống thì biểu diễn như sau:
{subject, predicate,
{predicate-of-bnode,object-of-bnode}
}
Một tài nguyên bắt đầu bởi dấu # chẳng hạn #resource_1 thì có nghĩa là
tài nguyên đó đã được khai báo trong cùng một tài liệu mà chúng ta đang xây
dựng ontology. Sau này muốn sử dụng tài nguyên đó thì ta dùng #resource _1
chứ không cần phải lấy URI của nó cho phức tạp, khó nhìn.
Bây giờ chúng ta sẽ đi vào xây dựng một Ontology đơn giản, Ontology
này sẽ xây dựng tóm gọn sơ đồ như hình so sánh giữa RDF và RDFS ở trên:
{rdfs:Class
{rdf:ID,"StaffMember"}
{rdf:resource, “
}
{rdfs:Class
{rdf:about,"AcademicStaff"}
{rdfs:subClassOf, "# StaffMember"}
}
{rdfs:Class
{rdf:about,"Lecturer"}
{rdfs:subClassOf, #AcademicStaff}
}
{rdfs:Class
23

{rdf:ID,"Course"}
{rdf:resource, “
}
{rdf:Property
{ rdf:ID,"phone"}
{rdfs:domain, #staffMember}
{rdfs:range ,"
2009/01/rdf-schema#Literal"}
}
{rdf:Property
{ rdf:ID,"ID"}
{rdfs:domain, #staffMember}
{rdfs:range ,"
2009/01/rdf-schema#Literal"}
}
{rdf:Property
{ rdf:ID,"involve"}
{rdfs:domain, #Course}
{rdfs:range ,#AcademicStaff}
}
{rdf:Property
{ rdf:ID,"isTaughtBy"}
{rdfs:domain, #Course}
{rdfs:range ,#AcademicStaff}
{rdf:subPropertyOf, “involve”}
}
Từ Ontology được xây dựng như trên ta có thể vẽ ra sơ đồ phân cấp các
tài nguyên như sau:
24
Staff Member

Academic Staff
Lecturer
Course
Nhìn sơ đồ ta thấy có hai tài nguyên là StaffMember và Course. Các lớp
AcademicStaff và Lecturer chỉ là thừa kế từ StaffMember.
1.2.3. OWL (Web Ontology Language)
OWL là ngôn ngữ ontology khá mạnh, nó ra đời sau RDFS nên biết kế thừa
những lợi thế của ngôn ngữ này đồng thời bổ sung thêm nhiều yếu tố giúp
khắc phục được những hạn chế của RDFS. OWL giúp tăng thêm yếu tố logic
cho thông tin và khả năng phân loại, ràng buộc kiểu.
OWL có nhiều ưu điểm hơn trong việc xây dựng hệ thống ontology thông minh
và có phân loại tốt. Với những đặc điểm đó, OWL ngày nay đã trở thành ngôn
ngữ ontology chính thức cho việc xây dựng và phát triển các hệ thống Web ngữ
nghĩa.
OWL là một ngôn ngữ biểu diễn tri thức dựa trên RDF, được xây dựng để
mô tả Web ngữ nghĩa. OWL có những đặc điểm sau:
 OWL là một chuẩn của Web.
 OWL được viết dưới dạng XML.
 OWL dùng để xử lý thông tin trên Web.
 OWL là một ngôn ngữ được thông dịch bởi máy tính.
Về cơ bản OWL và RDF có nhiều đặc điểm giống nhau, tuy nhiên OWL
có tập từ vựng (từ khóa) lớn hơn RDF, và là một ngôn ngữ được máy tính
thông dịch tốt hơn RDF. OWL được chia thành ba loại khác nhau, đáp ứng
với từng nhu cầu sử dụng cụ thể:
(1) OWL lite: Đây là phiên bản đơn giản nhất của OWL, dành cho những
người dùng chỉ có nhu cầu về tách lớp các tài nguyên riêng rẽ và giữa các tài
nguyên có những ràng buộc hay quan hệ đơn giản.
25

×