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à chophép nhiều đối tác giao tiếp, trao đổi
Trang 1MỤ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 7
1 Tính cấp thiết của đề tài: 7
2 Tình hình nghiên cứu và tính mới của đề tài: 8
3 Mục đích của đề tài: 8
4 Phương pháp nghiên cứu: 8
5 Nội dung của đề tài, các vấn đề cần giải quyết: 8
Chương 1: 10
TÌM HIỂU ONTOLOGY VÀ CÁC KỶ THUẬT ONTOLOGY 10
1.1 Tìm hiểu ontology 10
1.1.1 Giới thiệu về ontology 10
1.1.2 Định nghĩa Ontology 10
1.1.3 Các thành phần của Ontology 10
1.1.4 Ontology trong Web ngữ nghĩa 12
1.1.5 Yêu cầu khi xây dựng Ontology 14
1.1.6 Xây dựng ontology 15
Trang 21.2 Ngôn ngữ ontology 18
1.2.1 RDF (Resource Description Framework): 18
1.2.3 OWL (Web Ontology Language) 26
1.3 Phần mền công cụ hỗ trợ xây dựng và quản trị ontology 29
1.3.1 Phần mềm Chimaera 29
1.3.2 Phần mềm Protégé 30
1.3.3 Công cụ Jena 32
1.3.4 KAON 32
1.4 Kết luận chương 34
Chương 2 34
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ế 35
2.1.2 Khái quát về UMLS 35
2.1.3 Chia sẻ tri thức trong lĩnh vực y tế 36
2.2 Cơ sở dữ liệu suy diễn trong chăm sóc sức khỏe 38
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 .41
2.3 Vai trò của ontology trong truy vấn và suy diễn 45
2.4 Ontology trong lĩnh vực y tế 47
Trang 32.4.1 Ontologycho UMLS 48
2.4.2 Ontology cho chuẩn thẻ y tế quốc gia 50
2.5 Tích hợp thông tin 52
CHƯƠNG 3 XÂY DỰNG BẢN DEMO ỨNG DỤNG TRONG LĨNH VỰC Y TẾ Ở HUYỆN PHÚ VANG 57
3.1 Giới thiệu Huyện Phú Vang 57
3.2 Về ứng dụng 58
3.3 Chúc năng của bản đề mô 58
3.4 Kiến trúc của phần mềm 59
3.5 Cấu hình phần mềm và phần cứng 59
3.6 Giao diện của bản Demo 60
3.6.1 Chức năng khám bệnh 60
3.6.2 Chức năng nhập bệnh 61
3.6.3 Chức năng tìm kiếm bệnh 62
3.7 Cấu trúc file cơ sở dữ liệu XML 63
3.8 Mô hình hệ thống 65
KẾT LUẬN 68
TÀI LIỆU THAM KHẢO 69
Trang 4DANH 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 InferenceLayer
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àinguyê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ốngnhấ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)
Trang 5DANH MỤC CÁC HÌNH VẼ
Số hiệu
hình vẽ Tên hình vẽ
Trang
1.4 Chimaera hỗ trợ hầu hết các định dạng Ontology 25
Trang 61 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ườikhô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 chocác mục đích khác nhau như tra cứu, học tập, nghiên cứu, quảng bá, truyềnthụ,… Mỗi người, mỗi tổ chức xã hội có thể cũng có kho dữ liệu của riêngmì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ắtphả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ầuthô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 tinriêng Kho thông tin rời rạc và không đồng nhất làm cho việc chia sẻ tri thứctrong 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à chophé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ứctrong 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
Trang 7thứ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ụngontology 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 caohọ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àonhu 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ìmhiể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ẻ trithứ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, đặcbiệ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:
Trang 8- 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
Trang 9CHƯƠ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áiniệm và những quan hệ của các khái niệm đó nhằm mục đích thể hiện mộtgóc nhìn về thế giới Trên miền ứng dụng khác của khoa học, một Ontologybao 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ứccho 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ớithiệu một định nghĩa mang tính khái quát và được sử dụng khá phổ biến đượcKincho H Law đưa ra: “Ontology là biểu hiện một tập các khái niệm (đốitượng), trong một miền cụ thể và những mối quan hệ giữa các khái niệmnà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 Đốitượ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
Trang 10 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 khaibá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ủathuộc tính đó Các thuộc tính được sử dụng để lưu trữ các thông tin mà đốitượ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ượngliê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ủadomain Tập các dạng quan hệ được sử dụng và cây phân loại thứ bậc củachú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:
Trang 11Hình 1.1 Ví dụ về OntologyXé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ệcvới nhau một cách hiệu quả hơn Mục tiêu của Web có ngữ nghĩa là để pháttriển các chuẩn chung và công nghệ cho phép máy tính có thể hiểu được nhiềuhơ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ôngviệ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 Webhiệ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
Trang 12lọc thông tin một cách dễ dàng và chính xác ’’ (Tim- Berners Lee, 2000).
XML-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ínhsau:
- 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 AdvancedDevelopment - SWAD)
Hình 1.2 Kiến trúc phân tầng của web ngữ nghĩaTrong 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 đơngiản
- Tầng XML: XML (eXtensible Markup Language) là ngôn ngữ đánhdấu mở rộng, cho phép người dùng có thể tùy thêm vào những thẻ theo yêucầu của m.nh
- Tầng RDF (Resource Description Framework): Khung mô tả tàinguyê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
Trang 13- Tầng Ontology: Ontology Vocabulary (Bộ từ vựng ontology) đượcxây dựng trên cơ sở tầng RDF và RDFS, cung cấp biểu diễn ngữ nghĩa mềmdẻ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ựngontology 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ôngtin đã 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ệmhì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 trongontology 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à
Trang 14rỗ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 trongontology.
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ãncá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ủaontology và tri thức, kiểm tra các quan hệ thừa giữa các lớp, tự động phân loạicá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ậpcon 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, tuynhiên vẫn chưa có một phương pháp chuẩn hóa nào để phát triển cácontology 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ómphá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ênquan đế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
Trang 15trừ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ụngtrong một lĩnh vực nhất định Cộng đồng Ontology cũng đang lớn mạnh và có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ácontology đã 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ênngành để xây dựng thành các lớp trong ontology tương ứng Tất nhiên khôngphải thuật ngữ nào cũng đưa vào ontology, vì chưa chắc đã định vị được chothuật ngữ đó Do đó cần phải liệt kê các thuật ngữ, để xác định ngữ nghĩa chocá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 tronglĩ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àiphạ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ảithuậ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ànghơ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áclớp:
Trang 16Phương pháp từ trên xuống (top-down): bắt đầu với định nghĩa củacá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
đó 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ườinhư : Kỹ sư, Công nhân, Bác sỹ,… Lớp Kỹ sư cũng có thể chuyên biệt hóabằ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áclớp cụ thể nhất, như các lá trong cây phân cấp Sau đó gộp các lớp đó lạithà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ớpnhư: nhân viên lễ tân, nhân viên vệ sinh, nhân viên kỹ thuật Sau đó tạo ramộ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ớpnhâ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ậtngữ đã 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ớpxác định Ví dụ lớp Người có các thuộc tính sau: Họ, Tên, Ngày sinh, Giớití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ỉ
Trang 17có duy nhất và là số nguyên, có thể nhận giá trị từ 1948 đến 1990 Cần phảixá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ánhtrường hợp nhập dữ liệu sai, dẫn đến đổ vỡ của các ứng dụng sử dụngOntology 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ộctí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ữngchuẩ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 (WebOntology Language) đang được sử dụng rộng rãi để biểu diễn tri thức hiệnnay
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ụ:
Trang 18Đây là phát biểu mô tả một chủ thể person-1 có kiểu thuộc tính name vớigiá 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ệutruyề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ỉnhsửa
Cấu trúc bộ ba giúp cho thông tin dễ truy xuất bởi các hệ thống suyluận, tìm kiếm ngữ nghĩa Cũng nhờ vậy mà những bộ xử lí RDF có thể suyluậ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ôngtin Chính vì vậy cần phải có một cách thức chung để truyền tải dữ liệu RDFtrên internet Đó là RDF/XML syntax do W3C đưa ra năm 1999 Đây là mộtngô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à doURI (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 địachỉ là “http://www.semantic.vn/2009/01/rdf-syntax-ns#” Nếu ta gán nó cho
Trang 19một namespace, ví dụ như xmlns: rdf, thì từ nay về sau ta chỉ việc dùng rdf:phone thay cho “http://www.semantic.vn/2009/01/rdf-syntax-ns#phone”
Định danh một chủ thể: Chúng ta dùng cú pháp sau để biểu diễn một bộ
<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ếuperson-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ộctí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”/>
Trang 20RDF-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âydự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ựngcác công cụ tìm kiếm ngữ nghĩa RDFS và RDF có mối liên hệ tương đối gầngũ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à RDFSTrong 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ư
Trang 21David Billington có kiểu là associate professor và associate professor là lớpcon của Academic Staff member v.v…
EXtensible Markup Language [XML] là một chuẩn mở dùng để biểudiễ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ợpnhấ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…)
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‟)
Trang 22rdfs: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 đựngnhiề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àngbuộ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ònrange là phạm vi giá trị có thể gán cho thuộc tính đó Ví dụ ta có lớp thuộctí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}
Trang 23Nếu có nhiều hơn một thuộc tính cho một chủ thể thì:
Bây giờ chúng ta sẽ đi vào xây dựng một Ontology đơn giản, Ontologynà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, “http://www.semantic.vn/2009/01/rdf-schema#StaffMember"} }
Trang 251.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ừanhững lợi thế của ngôn ngữ này đồng thời bổ sung thêm nhiều yếu tố giúpkhắc phục được những hạn chế của RDFS OWL giúp tăng thêm yếu tố logiccho 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ônngữ 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ínhthông dịch tốt hơn RDF OWL được chia thành ba loại khác nhau, đáp ứngvớ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ữngngườ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àinguyên có những ràng buộc hay quan hệ đơn giản
Trang 26Ví dụ : về ràng buộc lực lượng, với OWL lite số lực lượng này chỉ cóthể mang giá trị 0 hoặc 1.
(2) OWL DL: Dành cho những người sử dụng đòi hỏi những tính năngphức tạp trong tính toán và xử lý thông tin với những ràng buộc chặt chẽ: Cácbước xử lý, suy luận đều được tối ưu và thực hiện trong thời gian giới hạn … OWL được tích hợp với logic mô tả (description logic) Tuy nhiên OWL DLvẫn có một số hạn chế như : Một class có thể được thừa kế bởi nhiều classkhác nhưng, class này không thể là một thể hiện của class khác…
(3) OWL full : Hướng tới những người dùng đòi hỏi tối đa những tínhnăng của OWL mà không bị ràng buộc bởi cấu trúc ngữ pháp phức tạp OWLfull có cấu trúc lỏng lẻo như RDF Ví dụ : một lớp trong OWL full có thểđồng thời được coi như là một tập các thể hiện hoặc là một thể hiện của chínhlớp đó
Giữa ba loại của ngôn ngữ OWL có quan hệ bao hàm nhau Tức là tấtcác các qui tắc cấu trúc hợp lệ của OWL lite thì đều hợp lệ với OWL dl, vàmọi qui tắc, cấu trúc hợp lệ của OWL dl thì đều hợp lệ với OWL full
Trang 27Với OWL việc truy xuất, xử lý và chia sẻ Ontology giữa những người
sử dụng trở nên dễ dàng hơn Nhờ đó giảm bớt những khó khăn khi xây dựng
cơ sở tri thức và nguồn tài nguyên cho Web ngữ nghĩa, tạo tiền đề cho Webngữ nghĩa phát triển
Hiện tại, các ngôn ngữ xây dựng ontology (ngôn ngữ ontology) điểnhình bao gồm RDFS, XML, SHOE, OWL
Ngôn ngữ ontology được chia làm ba loại: định ngữ tập từ vựng sử dụng ngônngữ tự nhiên (object based-knowledge representation languages) như UML,
Trang 28và ngôn ngữ dựa trên lôgic vị từ bậc một (first order predicate logic) nhưlogic mô tả (Description Logics) Ngôn ngữ ontology cần phải tương thích vớinhững công cụ khác, tự nhiên và dễ học, tương thích với các chuẩn hiện tạicủa web như XML, XML Schema, RDF và UML Dưới đây là một số cácngôn ngữ web-based.
1.3 Phần mền công cụ hỗ trợ xây dựng và quản trị ontology
1.3.1 Phần mềm Chimaera
Chimaera cũng là một ứng dụng khác được phát triển bởi đại họcStanford, với mục đích ban đầu nhằm giải quyết hai vấn đề là: trộn cácOntology và chuẩn đoán lỗi, phân tích tính nhất quán giữa các Ontology phântán Có thể tìm các thông tin liên quan đến Chimaera tại địa chỉ:http://www.ksl.stanford.edu/software/chimaera/
Một số điểm đáng chú ý của Chimaera là:
Chimaera là ứng dụng chạy trên nền Web, hỗ trợ thao tác với hơn 15định dạng Ontology bao gồm: ANSI KIF, Ontolingua, Protégé, CLASSIC,iXOL, OKBC Riêng hai chuẩn RDF và DAML sẽ được hỗ trợ trong thờigian tới
Chimaera tích hợp sẵn chức năng chỉnh sửa Ontology, đặc biệt cóthêm chức năng kéo thả và phím tắt nhờ sử dụng các đoạn mã Javascriptnhúng vào các trình duyệt Tuy nhiên, so với các ứng dụng GUI trênWindows/UNIX thì vẫn còn nhiều hạn chế
Chimaera có chức năng phân tích, hỗ trợ người dùng chuẩn đoán vàkiểm tra các Ontology Việc kiểm tra này bao gồm kiểm tra tính đầy đủ (thuộctính hoặc thực thể tham khảo đến một lớp hoặc quan hệ chưa được định nghĩatrong cơ sở tri thức), kiểm tra cú pháp, kiểm tra ngữ nghĩa, phát hiện chu trình(các lớp tham khảo lẫn nhau theo một chu trình) Kết quả sẽ được thể hiệndưới dạng các test log Hiện Chimaera đang cố gắng tích hợp thêm lớp ngôn
Trang 29ngữ dưới dạng luật để cho phép người dùng đặc tả các phương thức kiểm tratheo ý muốn
Hình 1.4 Chimaera hỗ trợ hầu hết các định dạng Ontology
Trang 30Hình 1.5 Giao diện phần mềm ProtégéCác ưu điểm của Protégé là:
Hỗ trợ đầy đủ ba phiên bản của ngôn ngữ OWL là Full, Lite và OWL-DL
OWL- Nhờ sử dụng mô hình hướng đối tượng của ngôn ngữ Java, Protégé
tỏ ra rất hiệu quả trong việc mô hình các lớp, thực thể, quan hệ
Giao diện thiết kế trực quan có tính tương tác cao Người sử dụng cóthể định nghĩa các thành phần của Ontology trực tiếp từ các form
Cho phép biểu diễn trực quan Ontology dưới dạng các sơ đồ
Cho phép xây dựng Ontology từ nhiều nguồn khác nhau
Protégé tự động lưu một bản tạm của Ontology Nếu có lỗi phát sinhtrong quá trình thao tác thì Ontology cũ sẽ tự động được phục hồi Người thiết
kế cũng có thể chuyển qua lại giữa hai bản Ontology này bằng chức năngRevert to a Previous Version và Active Current Version
Cung cấp chức năng tìm kiếm lỗi, kiểm tra tính nhất quán và đầy đủcủa Ontology Để sử dụng, người thiết kế chọn chức năng Run Ontology Test
và Check Consistency
Trang 31 Cho phép các lớp và thuộc tính của Ontology này có thể được sửdụng trong một Namespace khác mà chỉ cần sử dụng các URL để tham khảo.
Để sử dụng, chọn chức năng Move Resource to Namespace
Hỗ trợ suy luận trực tiếp trên Ontology dựa trên Interface chuẩn DLImplementation Group (DIG)
Hỗ trợ sinh mã tự động Protégé cho phép chuyển Ontology thành mãnguồn RDF/XML, OWL, DIG, Java, EMF Java Interfaces, Java SchemaClasses Các mã này có thể được nhúng trực tiếp vào ứng dụng và là đầu vàocho các thao tác trên Ontology khi cần
Cung cấp đầy đủ chuẩn giao tiếp cho các Plug-in
Tuy nhiên, Protégé cũng thể hiện một số hạn chế như không cho phéptruy vấn từng phần một cơ sở tri thức dẫn tới việc không quản lý hiệu quả các
cơ sở tri thức có kích thước lớn, hoặc chưa hỗ trợ kết nối trực tiếp với một số
hệ quản trị cơ sở tri thức phổ biến như Sesame
1.3.3 Công cụ Jena
Jena là một Java Framework dùng để xây dựng các ứng dụng Web ngữnghĩa Jena cung cấp môi trường lập trình cho RDF, RDFS, OWL vàSPARQL - ngôn ngữ truy vấn cho RDF
Trang 32KAON chủ yếu là một nền tảng cho sự phát triển các ứng dụng Ontology cơ
Không hỗ trợ quan sát đồ họa
Kiễm tra tính thay đổi
Hỗ trợ Web thông qua KAON PORTAL
Hỗ trợ đa người dùng
Không hỗ trợ việc trộn các Ontology
Việc suy luận luận hiệu quả với các Ontology
Mở rộng RDFS với các quan hệ đối xứng, bổ sung và nghịch đảo
Hình 1.6 Giao diện KAON
Trang 33Về mặt lý thuyết, người xây dựng và quản trị ontology có thể khôngcần các công cụ hỗ trợ, thay vào đó có thể thực hiện trực tiếp bằng các ngônngữ Tuy nhiên, cách này sẽ không khả thi khi ontology có kích thước lớn vàcấu trúc phức tạp Thêm vào đó, việc xây dựng và quản trị ontology không chỉđòi hỏi việc tạo cấu trúc lớp phân cấp, định nghĩa các thuộc tính, ràng buộc ,
mà còn bao hàm việc giải quyết các bài toán liên quan trên nó Có rất nhiềubài toán liên quan đến một hệ thống ontology như:
Trộn hai hay nhiều ontology
Chuẩn đoán và phát hiện lỗi
Ánh xạ qua lại giữa các ontology
Suy luận trên ontology
Những khó khăn trên đã khiến các công cụ trở thành một thành phầnkhông thể thiếu, quyết định đến chất lượng của một hệ thống ontology Hiện
có rất nhiều công cụ có khả năng hỗ trợ người thiết kế giải quyết những bàitoán liên quan Có thể kể ra một số như: Sesame, Protégé, Ontolingua,Chimaera, OntoEdit, OidEd
Trang 34CHƯƠNG 2 CHIA SẺ TRI THỨC VÀ ỨNG DỤNG TRONG
ONTOLOGY
Chương 2 sẽ 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 ytế
2.1 Chia sẻ tri thức trong lĩnh vực y tế
Việc chia sẻ tri thức trong lĩnh vực y tế (LVYT) liên quan đến việc phải
có một chuẩn thống nhất để biểu diễn tri thức và cách thức chia sẻ tri thứctrong lĩnh vực này
2.1.1 Nhu cầu chia sẻ tri thức trong lĩnh vực y tế
Chia sẻ tri thức có nghĩa là sử dụng các cơ sở tri thức, hoặc một phần củacác cơ sở này, trong các hệ thống khác nhau
Tích hợp thông tin là khả năng lấy thông tin từ các nguồn khác nhau Đó
là các thông tin mà đã được lưu trữ nhập nhằng không đồng nhất giữa các hệthống
Việc chia sẻ tri thức và tích hợp thông tin là một trong những thách thứclớn trong các lĩnh vực nói chung và trong LVYT nói riêng Trong LVYT, cácthông tin của bệnh nhân được lưu trữ nhập nhằng không đồng nhất giữa các
hệ thống của các tổ chức y tế khác nhau, do đó việc tích hợp thông tin là quantrọng Mặt khác, không thể một tổ chức y tế duy nhất tạo ra một cơ sở tri thứchoàn chỉnh chứa tất cả tri thức trong LVYT, do đó việc chia sẻ cơ sở tri thức
là cần thiết
Sự không đồng thuận về việc sử dụng một chuẩn để biểu diễn tri thứckhông chỉ trong LVYT, mà còn trong các lĩnh vực khác Để chuẩn được đượcchấp nhận và sử dụng rộng rãi, nó phải có một sức mạnh biểu diễn lớn, màcho phép biểu diễn bất cứ loại tri thức, cho phép tích hợp thông tin và chia sẻtri thức
2.1.2 Khái quát về UMLS