9032_05 – Xây dựng và làm giàu Ontology tiếng Việt chuyên ngành công nghệ thông tin

luận văn tốt nghiệp

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM


KHOÁ LUẬN TỐT NGHIỆP
XÂY DỰNG VÀ LÀM GIÀU ONTOLOGY
TIẾNG VIỆT CHUYÊN NGÀNH CÔNG
NGHỆ THÔNG TIN

Giảng viên hƣớng dẫn:

Th.S HUỲNH NGỌC TÍN
Sinh viên thực hiện:
1. TRẦN CÔNG DANH
06520068
2. NGUYỄN NGỌC KHÁNH LINH
06520252
Lớp : CNPM01
Khoá : 1

TP. Hồ Chí Minh, tháng 3 năm 2011

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
LỜI MỞ ĐẦU
Ngày nay cùng với sự phát triển của internet thì dữ liệu của ngành công nghệ
thông tin ngày càng gia tăng. Nhu cầu quản lý, chia sẻ, tìm kiếm thông tin trong
ngành này cũng đƣợc đặt ra và đáp ứng một phần nhờ các công cụ tìm kiếm. Một số
công cụ tìm kiếm nổi tiếng hiện nay nhƣ Google hay Yahoo đều có thể cho phép
ngƣời dùng tìm kiếm dữ liệu có liên quan bằng cách nhập từ khóa và tìm những tài
liệu có chứa từ khóa đó. Với phƣơng pháp tìm nhƣ vậy thì kết quả tìm kiếm đôi khi
chẳng liên quan gì đến cái mà ngƣời dùng muốn tìm, vì các công cụ tìm kiếm này
không hiểu đƣợc ý nghĩa cần tìm. Việc tìm kiếm thông tin về từ khóa đã vậy thì việc
trả lời những câu hỏi càng không thể đối với những công cụ tìm kiếm này.
Muốn cho máy tính và con ngƣời có thể hiểu đƣợc ngữ nghĩa của từ hay câu
thì chúng ta cần có một ontology hỗ trợ bên dƣới cho các công cụ này. Ontology
giống nhƣ một cơ sở dữ liệu về một lĩnh vực cụ thể, nó mô tả mọi thứ trong lĩnh vực
đó bao gồm cả định nghĩa những thuật ngữ, những tính chất của những đối tƣợng và
quan hệ giữa chúng. Nó sẽ giúp cho máy tính có thể “hiểu” đƣợc ngữ nghĩa giống
nhƣ con ngƣời, chia sẻ thông tin qua các hệ thống khác nhau.
Với nguồn dữ liệu rất lớn trong ngành công nghệ thông tin hiện nay và sự
phát triển của các trang web ngữ nghĩa (semantic web) thì việc xây dựng một
ontology cho lĩnh vực công nghệ thông tin là một nhu cầu cần thiết. Đặc biệt là đối
với ngôn ngữ tiếng Việt, vì vậy chúng em chọn đề tài “Xây dựng và làm giàu
ontology tiếng Việt chuyên ngành công nghệ thông tin”, báo cáo này đƣợc chia
thành 5 phần chính gồm:
Chƣơng 1: Tổng quan: Chƣơng này sẽ cho chúng ta thấy tổng quan về đề tài,
trong đó có giới thiệu đề tài, giới hạn mục tiêu và phạm vi của đề tài, cho chúng ta
biết đƣợc cái nhìn tổng quan về phƣơng pháp thực hiện đề tài và kết quả dự kiến thu
đƣợc.

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
Chƣơng 2: Cơ sở lý thuyết: Phần này sẽ giải thích rõ về ontology và cho
chúng ta thấy tình hình nghiên cứu về ontology hiện nay qua phần khảo sát các
nghiên cứu có liên quan.
Chƣơng 3: Xây dựng và làm giàu ontology tiếng Việt chuyên ngành công
nghệ thông tin (ITVO): Phần này sẽ nêu chi tiết quá trình xây dựng ontology và đề
xuất phƣơng pháp làm giàu.
Chƣơng 4: Hiện thực hệ thống và đánh giá: Phần này sẽ nêu chi tiết quá trình
xây dựng công cụ làm giàu ontology, thực nghiệm và đánh giá công cụ.
Chƣơng 5: Kết luận và hƣớng phát triển: Chƣơng này sẽ tổng kết lại những
kết quả đạt đƣợc và những hạn chế của đề tài, nêu ra hƣớng phát triển trong tƣơng
lai.

Ngoài ra, phần cuối của báo cáo sẽ nêu các tài liệu tham khảo và phụ lục.

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
LỜI CẢM ƠN

Đầu tiên, chúng em xin gởi lời cảm ơn đến Thầy, Cô khoa Công nghệ phần
mềm trƣờng Đại học Công nghệ thông tin đã tận tình dạy dỗ, dìu dắt chúng em suốt
bốn năm đại học.
Chúng em cảm ơn Thầy Huỳnh Ngọc Tín, ngƣời đã đƣa ra gợi ý về đề tài và
tận tình hƣớng dẫn, giúp đỡ, động viên chúng em hoàn thành luận văn này.
Chúng tôi cảm ơn các bạn Nguyễn Thanh Hoàng và Huỳnh Minh Đức đã
giúp đỡ, đóng góp ý kiến cho chúng tôi trong quá trình cài đặt, thử nghiệm chƣơng
trình.
Cuối cùng, chúng con cảm ơn Ba, Mẹ và những ngƣời thân đã khích lệ, động
viên chúng con trong thời gian học tập, nghiên cứu để có đƣợc thành quả nhƣ ngày
nay.
Mặc dù đã cố gắng rất nhiều nhƣng chắc chắn chúng em không thể tránh khỏi
những sai sót, kính mong nhận đƣợc sự đóng góp của quý thầy cô và các bạn.

Tháng 3 năm 2011
Sinh viên
Trần Công Danh – Nguyễn Ngọc Khánh Linh

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN

………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..

Ngày…… tháng……năm 2011

Ký tên

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..
………………………………………………………………………………………………………………………………..

Ngày…… tháng……năm 2011

Ký tên

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
MỤC LỤC
CHƢƠNG 1: TỔNG QUAN ………………………………………………………………………………….1
1.1. Mở đầu ……………………………………………………………………………………………………….1
1.2. Đặt vấn đề …………………………………………………………………………………………………..1
1.3. Mục tiêu và phạm vi đề tài ………………………………………………………………………….2
1.4. Phƣơng pháp và công cụ
……………………………………………………………………………..3
1.5. Kết quả dự kiến …………………………………………………………………………………………..3
1.6. Tổng kết chƣơng …………………………………………………………………………………………3
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT
……………………………………………………………………….4
2.1. Mở đầu ……………………………………………………………………………………………………….4
2.2. Tổng quan về ontology………………………………………………………………………………..4
2.2.1. Định nghĩa ……………………………………………………………………………………………4
2.2.2. Vì sao phải xây dựng ontology? ……………………………………………………………5
2.2.3. Thành phần của ontology ……………………………………………………………………..6
2.2.4. Làm thế nào để xây dựng một ontology? ………………………………………………8
2.3. Khảo sát các nghiên cứu có liên quan ………………………………………………………..18
2.3.1. Các nghiên cứu trên thế giới ……………………………………………………………….18
2.3.2. Các nghiên cứu trong nƣớc …………………………………………………………………20
2.4. Tổng kết chƣơng ……………………………………………………………………………………….22
CHƢƠNG 3: XÂY DỰNG VÀ LÀM GIÀU ONTOLOGY TIẾNG VIỆT CHUYÊN
NGÀNH CÔNG NGHỆ THÔNG TIN (ITVO)…………………………………………………….23
3.1. Xây dựng ontology tiếng việt chuyên ngành công nghệ thông tin (ITVO) ….23
3.1.1. Công cụ sử dụng …………………………………………………………………………………23
3.1.2. Quá trình xây dựng ontology ………………………………………………………………25

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
3.2. Phƣơng pháp làm giàu ontology tiếng Việt chuyên ngành công nghệ thông
tin 42
3.2.1. Giới thiệu ……………………………………………………………………………………………42
3.2.2. Khảo sát phƣơng pháp làm giàu ontology
……………………………………………44
3.2.3. Phƣơng pháp thực hiện ……………………………………………………………………….46
3.3. Tổng kết chƣơng ……………………………………………………………………………………….53
CHƢƠNG 4: HIỆN THỰC HỆ THỐNG VÀ ĐÁNH GIÁ……………………………………54
4.1. Mở đầu ……………………………………………………………………………………………………..54
4.2. Kiến trúc chƣơng trình làm giàu ontology………………………………………………….54
4.3. Các bƣớc chạy chƣơng trình………………………………………………………………………60
4.4. Thực nghiệm và đánh giá…………………………………………………………………………..65
CHƢƠNG 5: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
……………………………………….67
5.1. Kết luận …………………………………………………………………………………………………….67
5.2. Hƣớng phát triển ……………………………………………………………………………………….67
Tài liệu tham khảo
……………………………………………………………………………………………….69
Phụ lục A: Hƣớng dẫn sử dụng Protégé ……………………………………………………………….73
Phụ lục B: Danh sách các hƣ từ
……………………………………………………………………………85

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
DANH MỤC HÌNH

Hình 1 Cấu trúc lớp phân cấp ……………………………………………………………………………..
10
Hình 2 Ràng buộc về thuộc tính ………………………………………………………………………….
12
Hình 3 Hình minh họa các tầng ngôn ngữ dùng trong ontology ……………………………
14
Hình 4 Giao diện protégé 3.4.4……………………………………………………………………………
24
Hình 5 Các lớp chính trong ontology ITVO ………………………………………………………..
28
Hình 6 Các thuộc tính trong ontology ITVO ……………………………………………………….
32
Hình 7 Các quan hệ trong ontology ITVO
…………………………………………………………..
33
Hình 8 Mô hình phƣơng pháp làm giàu ontology ………………………………………………..
47
Hình 9 Kiến trúc chƣơng trình làm giàu ontology ITVO
……………………………………..
55
Hình 10: Màn hình giới thiệu
……………………………………………………………………………….
60
Hình 11: Màn hình thu thập tài liệu ……………………………………………………………………..
61
Hình 12: Màn hình kết quả thu thập……………………………………………………………………..
62
Hình 13: Màn hình kết quả phân lớp…………………………………………………………………….
63
Hình 14: Màn hình kết quả rút trích
……………………………………………………………………..
64
Hình 15: Màn hình cập nhật thành công……………………………………………………………….
65

1

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
CHƢƠNG 1: TỔNG QUAN
1.1. Mở đầu
Chƣơng này sẽ cho chúng ta thấy tổng quan về đề tài để trả lời cho vấn đề vì sao
cần xây dựng đề tài này, mục tiêu của đề tài là để phục vụ và giải quyết vấn đề gì.
Từ đó chúng em giới hạn lại phạm vi và những yêu cầu cho đề tài. Cuối cùng là
phần dự kiến kết quả đạt đƣợc sau khi thực hiện đề tài.
1.2. Đặt vấn đề
Ngày nay internet đã và đang là nguồn kiến thức vô tận mang lại nhiều lợi ích
cho con ngƣời. Sự phát triển mạnh mẽ của nó kéo theo việc những kiến thức trong
ngành công nghệ thông tin tăng lên nhanh chóng làm cho việc tra cứu kiến thức cần
thiết trở nên khó khăn hơn. Với các công cụ tìm kiếm hiện nay nhƣ Google, Yahoo…
chỉ giúp ngƣời dùng tìm đƣợc những tài liệu có chứa từ khóa. Từ đây ngƣời dùng phải
tốn thời gian và công sức vào từng tài liệu để tìm đƣợc đúng thông tin mình cần mà có
khi không tìm thấy hoặc tìm thấy thông tin sai lệch. Vấn đề đặt ra là làm sao để có
đƣợc một công cụ tìm kiếm theo ngữ nghĩa, hiểu đƣợc và trả lời câu hỏi của ngƣời
dùng bằng ngôn ngữ tự nhiên một cách thân thiện. Đặc biệt có thể tìm kiếm bằng tiếng
Việt, nhu cầu mà hầu nhƣ rất ít công cụ hỗ trợ và kết quả còn hạn chế [1].
Dùng Ontology là một giải pháp biểu diễn tri thức và chia sẻ thông tin mà cả hệ
thống và con ngƣời có thể hiểu đƣợc. Ontology chứa những đặc tả rõ ràng của các khái
niệm về một lĩnh vực và quan hệ giữa các khái niệm đó [2]. Nó đƣợc dụng trong trí tuệ
nhân tạo, công nghệ Web ngữ nghĩa (Semantic Web), các hệ thống kỹ thuật, kỹ thuật
phần mềm, sinh tin học và kiến trúc thông tin nhƣ là một hình thức biểu diễn tri thức về
thế giới hoặc một số lĩnh vực cụ thể [3, 4, 5].
Cùng với những nhu cầu đã nêu ở trên, giáo viên hƣớng dẫn đã gợi ý và đƣa ra
đề tài: “Xây dựng và làm giàu ontology tiếng Việt chuyên ngành Công nghệ thông
2

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
tin”. Chúng em nhận thấy đây là một đề tài thú vị và thiết thực nên quyết định chọn nó
là đề tài cho khóa luận tốt nghiệp của mình.
Đề tài này nhằm xây dựng một ontology là nền tảng cho những ứng dụng sau
này nhƣ tìm kiếm thông tin tiếng Việt, hệ thống hỏi đáp tiếng Việt cho ngành công
nghệ thông tin, hỗ trợ cho web ngữ nghĩa, giúp xác định thực thể có tên trong tài liệu
công nghệ thông tin tiếng Việt. Ontology này có khả năng mở rộng cấu trúc và dữ liệu
để phục vụ mục đích hỏi đáp của ngƣời dùng. Ngoài ra chúng em cũng sẽ xây dựng
công cụ cho phép làm giàu ontology từ internet.
1.3. Mục tiêu và phạm vi đề tài

Mục tiêu: Xây dựng ontology chuyên ngành công nghệ thông tin tiếng Việt phục
vụ cho việc nhận diện thực thể có tên, không tên và xác định quan hệ giữa chúng
trong tài liệu công nghệ thông tin tiếng Việt, hỗ trợ cho các ứng dụng, nghiên cứu
khác về xử lý ngữ nghĩa văn bản tiếng Việt chuyên ngành công nghệ thông tin.

Phạm vi đề tài: Xây dựng ontology tiếng Việt giới hạn trong lĩnh vực Công nghệ
thông tin – Information Technology Vietnamese Ontology (ITVO) nhằm lƣu trữ: 
Các khái niệm trong lĩnh vực Công nghệ thông tin và quan hệ giữa chúng. 
Thông tin các công ty, trƣờng học, tổ chức, hiệp hội, chuyên gia, các sự kiện
trong ngành và quan hệ ngữ nghĩa giữa chúng. 
Các chƣơng trình đào tạo Công nghệ thông tin.
Nguồn dữ liệu: từ ComputingOntology của nhóm nghiên cứu thuộc ACM, trang
Wikipedia tiếng Việt, website Bộ thông tin và truyền thông, một số website báo điện
tử, các bài báo lĩnh vực công nghệ thông tin tiếng Việt, website các trƣờng có đào tạo
ngành công nghệ thông tin trong nƣớc, tài liệu từ internet tìm đƣợc từ công cụ tìm kiếm
nhƣ Google, Yahoo.
3

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
1.4. Phƣơng pháp và công cụ 
Xây dựng và nhập dữ liệu bằng tay cho ontology dùng công cụ Protégé. 
Tìm kiếm dữ liệu để làm giàu ontology từ internet sử dụng API của Google và
Yahoo 
Dùng thuật toán SVM để phân loại tài liệu công nghệ thông tin tiếng Việt 
Dùng công cụ tách từ tiếng Việt vnTokenizer. 
Rút trích các cá thể từ tài liệu đã phân loại. 
Ngƣời dùng kiểm tra, chỉnh sửa và lƣu vào ontology dùng API của Protégé.
1.5. Kết quả dự kiến
Kiến thức: Nắm đƣợc khái niệm, cấu trúc, mục đích, ứng dụng, cách xây dựng
một ontology. Các công cụ hỗ trợ xây dựng ontology hiện nay và sử dụng ngôn ngữ
Java để xây dựng công cụ làm giàu ontology (ITVO) bán tự động.
Dữ liệu: Dự kiến nhập bằng tay đƣợc khoảng 1000 lớp, 100 quan hệ và 100 cá
thể, làm giàu cá thể bán tự động đƣợc 1000 cá thể.
1.6. Tổng kết chƣơng
Trong chƣơng này chúng em đã trình bày mục tiêu của việc nghiên cứu và xây
dựng ontology hiện nay. Các ứng dụng của nó ngày càng đƣợc quan tâm và nó đã trở
thành phần “lõi” cho các nghiên cứu ứng dụng liên quan đến ngữ nghĩa, tri thức hơn là
những dữ liệu thông thƣờng đƣợc lƣu trữ trong các hệ quản trị cơ sở dữ liệu. Từ đó nêu
ra nguyên nhân chúng em chọn thực hiện đề tài “Xây dựng và làm giàu ontology
tiếng Việt chuyên ngành Công nghệ thông tin” cho khóa luận tốt nghiệp của mình.
Đề tài đƣợc giới hạn trong phạm vi và mục tiêu đã nêu trong chƣơng này.
4

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
CHƢƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Mở đầu
Ở chƣơng này chúng em sẽ trình bày chi tiết phần lý thuyết về ontology. Cụ thể
là gồm các phần nhƣ định nghĩa, sự cần thiết của ontology, thành phần, cách xây dựng
một ontology và ngôn ngữ để xây dựng nó.
Ngoài ra, chúng em cũng trình bày về một số nghiên cứu có lên quan đến việc
xây dựng và làm giàu ontology mà chúng em đã khảo sát. Đây sẽ là tài liệu tham khảo
cho việc đề xuất ra phƣơng pháp làm giàu ontology ở chƣơng sau.
2.2. Tổng quan về ontology
2.2.1. Định nghĩa
Trong triết học, từ “ontology” tạm dịch là “bản thể học” đƣợc xuất phát từ tiếng
Hy Lạp có nghĩa là bộ môn nghiên cứu về sự tồn tại (theo wikipedia). Hiện nay
ontology đƣợc dùng trong nhiều lĩnh vực nhƣ khoa học máy tính, hệ thống kỹ thuật, kỹ
thuật phần mềm, tin sinh học, khoa học thƣ viện, kiến trúc thông tin và các website ngữ
nghĩa (Semantic web). Một số định nghĩa về ontology đƣợc sử dụng nhiều hiện nay
gồm: 
Theo quan điểm triết học, “bản thể học” là ngành khoa học nghiên cứu về bản
chất của sự vật, sự tồn tại hoặc những sự vật thực tế, cũng nhƣ các loại sự vật cơ
bản và các mối quan hệ của chúng (wikipedia). 
Theo Gruber trong tài liệu [20], một ontology là một đặc tả rõ ràng của một sự
trừu tƣợng hóa (An ontology is an explicit specification of a conceptualization). 
Theo John F.Sowa [46], một ontology có thể đƣợc đặc tả bởi một danh mục các
loại đƣợc xác định hoặc không đƣợc xác định chỉ bằng những câu phát biểu
bằng ngôn ngữ tự nhiên. Một ontology chính thức đƣợc xác định bởi một tập
5

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
hợp các tên khái niệm và loại quan hệ đƣợc tổ chức phân nhóm theo thứ tự cục
bộ. 
Một ontology định nghĩa một tập từ vựng cho những nhà nghiên cứu sử dụng
khi cần chia sẻ thông tin trong một lĩnh vực. Nó bao gồm những định nghĩa của
các khái niệm cơ bản trong một lĩnh vực và mối quan hệ giữa chúng mà máy có
thể hiểu đƣợc [2]. 
Trong khoa học máy tính, một ontology là một mô hình dữ liệu biểu diễn một
lĩnh vực và đƣợc sử dụng để suy luận về các đối tƣợng trong lĩnh vực đó và mối
quan hệ giữa chúng [36].
Tóm lại, trong khoa học máy tính có thể hiểu ontology gồm những tri thức khái
niệm về một lĩnh vực cụ thể và các mối quan hệ giữa chúng. Một ontology về một lĩnh
vực sẽ mô tả rõ ràng những thực thể, khái niệm, ràng buộc, quan hệ ngữ nghĩa thuộc
lĩnh vực giúp con ngƣời và máy có thể hiểu và suy luận đƣợc theo ngữ nghĩa trong
phạm vi lĩnh vực đó.
2.2.2. Vì sao phải xây dựng ontology?
Ở phần trên, chúng em đã đề cập đến việc ontology đã và đang đƣợc sử dụng
trong nhiều lĩnh vực, vậy ontology đƣợc sử dụng nhiều là vì: 
Để chia sẻ kiến thức chung giữa con ngƣời hoặc những tác tử phần mềm với
nhau [20]. Nếu các hệ thống cùng chia sẻ chung một ontology bên dƣới thì dữ
liệu do con ngƣời nhập vào tại hệ thống này sau khi đƣợc xử lý thông qua
ontology có thể đƣợc tổng hợp, phân tích tại một hệ thống khác và cung cấp
thông tin cho ngƣời sử dụng khác. 
Cho phép tái sử dụng kiến thức về một lĩnh vực. Sau khi xây dựng một ontology
cho một lĩnh vực, những ngƣời khác có thể tái sử dụng và mở rộng, làm giàu
6

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
thêm cho nó. Hoặc cũng có thể tích hợp những ontology có sẵn để mô tả nhiều
khái niệm thuộc một lĩnh vực nhỏ trong một ontology về một lĩnh vực lớn. 
Làm rõ ràng những giả định thuộc chuyên ngành. Việc sử dụng một ontology ở
bên dƣới thay vì dùng ngôn ngữ lập trình sẽ giúp dễ dàng thay đổi những giả
định thuộc chuyên ngành khi kiến thức về lĩnh vực này của chúng ta thay đổi.
Nếu những giả định này đƣợc viết bằng ngôn ngữ lập trình thì sẽ gây khó hiểu
và khó thay đổi, sửa chữa nhất là đối với những ngƣời không phải là chuyên gia
lập trình. 
Có thể phân tích và suy luận kiến thức chuyên ngành vì những thuật ngữ, khái
niệm cũng nhƣ các mối quan hệ giữa chúng đều đƣợc khai báo, đặc tả trong
ontology với cấu trúc có thể suy luận đƣợc theo ngữ nghĩa. Cụ thể là do các khái
niệm đƣợc lƣu dƣới cấu trúc cây phân cấp, tên của khái niệm và quan hệ là
những từ và cụm từ có nghĩa biểu diễn cho những phát biểu có nghĩa.
2.2.3. Thành phần của ontology [37] ● Các lớp (Classes) – Khái niệm
Lớp là nhóm, tập hợp các đối tƣợng trừu tƣợng có thể chứa các cá thể,
lớp khác hoặc cả hai. Các ontology biến đổi tuỳ thuộc vào cấu trúc và nội dung
của nó: Một lớp có thể chứa các lớp con, có thể là một lớp tổng quan (chứa tất
cả mọi thứ), có thể là lớp chỉ chứa những cá thể riêng lẻ. Các lớp đƣợc sắp xếp
theo cấu trúc có thứ bậc, thông thƣờng một ontology có một lớp thông dụng
nhất kiểu Thing ở trên đỉnh và các lớp con rất cụ thể ở phía dƣới cùng (theo
Protégé 4 Tutorial).
Lớp có thể có các ràng buộc (restrictions) cho các quan hệ của cá thể
thuộc lớp đó, ví dụ nhƣ một Tác giả phải viết một hoặc nhiều tác phẩm thì một
7

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
cá thể của tác giả phải có quan hệ “là tác giả của” với một hoặc nhiều cá thể của
tác phẩm.
● Các cá thể (Individuals)
Là những đối tƣợng đại diện thuộc một lớp cụ thể trong một lĩnh vực
(domain). Mỗi cá thể có thể có các thuộc tính của lớp mà nó thể hiện và quan hệ
với các cá thể khác theo ràng buộc của lớp. Những cá thể còn có thể đƣợc coi
nhƣ là những trƣờng hợp của lớp. Trên thực tế một cá thể có thể có nhiều tên vì
vậy có thể có trƣờng hợp nhiều cá thể có tên khác nhau nhƣng thực chất đều
tham chiếu đến một cá thể thực sự. Ví dụ nhƣ lớp Quốc gia có 2 cá thể là Hoa
Kì và Mỹ nhƣng thực tế đây là cùng chỉ một quốc gia nên chúng sẽ cùng tham
chiếu đến một cá thể. Nói cách khác, 2 tên đó là chỉ cùng một cá thể và chỉ có 1
cá thể đƣợc tạo ra để biểu diễn cho quốc gia đó.
● Các thuộc tính (Properties)
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 với một cá thể của lớp ngƣời có thể có các thuộc tính: Họ_tên,
ngày_sinh, quê_quán, số_cmnd…
Giá trị của một thuộc tính có các kiểu thông thƣờng nhƣ String, int, float,
date… và cũng có thể có các kiểu dữ liệu phức tạp nhƣ một cá thể khác chẳng
hạn.
● Các mối quan hệ (Relations)
Là thuộc tính để mô tả mối liên hệ giữa các đối tƣợng trong ontology.
Một mối quan hệ là một thuộc tính có giá trị là một đối tƣợng nào đó trong
ontology. Một đối tƣợng có thể có một hoặc nhiều quan hệ trong ontology bất
8

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
kể lớp của nó có quan hệ đó hay không, quan hệ của đối tƣợng phải tuân theo
ràng buộc của lớp chứa đối tƣợng đó nếu có.
Ví dụ nhƣ một lớp Tác giả có quan hệ “nơi công tác hiện tại” với lớp Tổ
chức. Quan hệ này có ràng buộc là một tác giả chỉ có một nơi công tác hiện tại,
tức là một cá thể Tác giả chỉ có quan hệ với một cá thể của Tổ chức.
2.2.4. Làm thế nào để xây dựng một ontology?
a. Phƣơng pháp xây dựng một ontology
Hiện nay không có phƣơng pháp chuẩn nào cho việc xây dựng một ontology [2].
Khi xây dựng ontology chúng ta nên dựa vào nhu cầu của ứng dụng sẽ sử dụng nó để
thiết kế cho phù hợp.
Quá trình xây dựng một ontology là một quá trình lặp, thƣờng bắt đầu bằng một
phiên bản thô rồi sao đó xem xét, chỉnh sửa, lọc lại ontology phiên bản trƣớc và thêm
vào các chi tiết.
Những khái niệm trong ontology là những đối tƣợng thực tế hoặc logic phản ánh
thế giới thực và những quan hệ trong ontology thƣờng là những động từ trong câu mô
tả khái niệm trong lĩnh vực.
Theo tài liệu [2] thì phƣơng pháp xây dựng ontology gồm các bƣớc:
Bước 1: Xác định miền và phạm vi của ontology. Đây là bƣớc chúng ta nên
làm trƣớc khi muốn xây dựng một ontology. Trong một hệ thống có sử dụng ontology
thì các yêu cầu đối với nó thƣờng là mô tả một lĩnh vực nào đó nhằm cung cấp cơ sở tri
thức trong việc giải quyết những mục đích chuyên biệt. Để nhận diện chính xác những
yêu cầu chúng ta cần phải trả lời một số câu hỏi nhƣ: 
Ontology cần mô tả lĩnh vực nào? 
Ontology phục vụ cho mục đích chuyên biệt gì?
9

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh 
Cơ sở tri thức trong ontology sẽ trả lời những câu hỏi gì? 
Ontology nhằm vục vụ đối tƣợng nào? 
Ai là ngƣời sẽ xây dựng, quản trị ontology?
Các câu trả lời có thể thay đổi ở mỗi bƣớc lặp trong quá trình xây dựng ontology
tùy mục đích của ứng dụng hoặc có những tính năng cần bổ sung lúc đó. Trả lời các
câu hỏi trên sẽ giúp giới hạn phạm vi thực sự của ontology cần mô tả và dự trù các kỹ
thuật sẽ sử dụng trong quá trình phát triển. Ví dụ nhƣ ontology cần xây dựng có chức
năng xử lý ngôn ngữ tự nhiên, ứng dụng dịch tài liệu tự động thì cần phải có kỹ thuật
xác định từ đồng nghĩa.
Sau khi đã phát thảo phạm vi ontology dựa trên việc trả lời những câu hỏi trên,
chúng ta tiếp tục tinh chỉnh lại bằng cách trả lời các câu hỏi kiểm chứng khả năng
(competency question): 
Ontology đã có đủ thông tin để trả lời cho các câu hỏi đƣợc quan tâm trên cơ sở
tri thức hay không? 
Câu trả lời của hệ thống dựa trên cơ sở tri thức đã đáp ứng đƣợc mức độ, yêu
cầu nào của ngƣời sử dụng? 
Các ràng buộc và quan hệ phức tạp trong miền quan tâm đã đƣợc biểu diễn hợp
lý chƣa?
Bước 2: Xem xét việc kế thừa các ontology có sẵn: đây là một công đoạn
thƣờng hay sử dụng để giảm thiểu công sức xây dựng một ontology. Bằng cách kế thừa
các ontology tƣơng tự có sẵn, ngƣời xây dựng có thể thêm hoặc bớt các lớp, quan hệ
giữa các lớp, thực thể… để tinh chỉnh tùy theo mục đích của mình. Ngoài ra, việc sử
dụng lại các ontology có sẵn cũng rất quan trọng khi cần sự tƣơng tác giữa các ứng
dụng khác nhau vì các ứng dụng sẽ cần phải hiểu các lớp, thực thể, quan hệ… của nhau
để thuận tiện trong việc trao đổi hoặc thống nhất thông tin.
10

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
Bước 3: Liệt kê các thuật ngữ quan trọng trong ontology: Liệt kê tất cả các
thuật ngữ xuất hiện trong miền quan tâm (có thể đồng nghĩa hoặc chồng nhau) nhƣ tên
khái niệm, quan hệ, thuộc tính… Thông thƣờng, các thuật ngữ là danh từ sẽ trở thành
các lớp, tính từ sẽ trở thành thuộc tính, còn động từ sẽ là quan hệ giữa các lớp.
Bước 4: Xây dựng các lớp và cấu trúc lớp phân cấp: Định nghĩa các lớp từ một
số thuật ngữ đã liệt kê trong bƣớc 3, sau đó xây dựng cấu trúc lớp phân cấp theo quan
hệ lớp cha-lớp con. Lớp ở vị trí càng cao trong cấu trúc này sẽ có mức độ tổng quát
càng cao. Vị trí đầu tiên thuộc về lớp gốc, tiếp theo là các lớp trung gian, và cuối cùng
là lớp lá. Lớp lá là lớp không thể triển khai đƣợc nữa và chỉ đƣợc biểu hiện bằng các
thực thể.

Hình 1: Cấu trúc lớp phân cấp
Thực thể của lớp con “là-một” thực thể của lớp cha nó.
Có nhiều hƣớng tiếp cận khác nhau cho vấn đề xây dựng cấu trúc lớp phân cấp nhƣ:
 Hƣớng xây dựng từ trên xuống (top-down): bắt đầu bằng các lớp có mức độ
tổng quát cao nhất, sau đó triển khai dần đến lớp lá.
11

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
 Hƣớng xây dựng từ dưới lên (bottom-up): Ngƣợc với hƣớng xây dựng cấu trúc
lớp phân cấp từ trên xuống, hƣớng này bắt đầu bằng việc xác định các lớp đƣợc
cho là cụ thể nhất, sau đó tổng quát hóa đến khi đƣợc lớp gốc.
 Cách kết hợp (combination): cách này kết hợp cả hai hƣớng xây dựng trên. Đầu
tiên chọn các lớp nổi bật nhất trong miền quan tâm, sau đó tổng quát hóa và cụ
thể hóa cho đến khi đƣợc cấu trúc mong muốn.
Bước 5: Định nghĩa các thuộc tính và quan hệ cho lớp: các lớp tạo ra ở bƣớc 4
chỉ mới là những tên gọi, tiếp theo chúng ta cần định nghĩa thuộc tính của lớp là các
thông tin bên trong của lớp, mô tả một khía cạnh nào đó của lớp và đƣợc dùng để phân
biệt với các lớp khác. Có hai loại: thuộc tính đơn (simple property) và thuộc tính
phức (complex property). Thuộc tính đơn là các giá trị đơn ví dụ: chuỗi, số,… còn
thuộc tính phức có thể chứa hoặc tham khảo đến một đối tƣợng khác. Một lớp sẽ kế
thừa toàn bộ các thuộc tính của tất cả các lớp cha của nó.
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 ràng
buộc (restrictions) giới hạn giá trị mà một thuộc tính có thể nhận. Hai ràng buộc quan
trọng nhất đối với một thuộc tính là lượng số (cardinality) và kiểu (type). Ràng buộc
lƣợng số quy định số giá trị mà một thuộc tính có thể nhận. Hai giá trị thƣờng thấy của
ràng buộc này là đơn trị (single) và đa trị (multiple). Ràng buộc thứ hai là về kiểu, các
kiểu mà một thuộc tính có thể nhận là: chuỗi, số, luận lý (Boolean), liệt kê và kiểu thực
thể. Riêng kiểu thực thể có liên quan đến hai khái niệm gọi là: miền (domain) và
khoảng (range). Khái niệm miền đƣợc dùng để chỉ lớp (hay các lớp) mà một thuộc
tính thuộc về. Ví dụ nhƣ thuộc tính Tên là thuộc tính của lớp Tác giả, Trƣờng, Tổ chức
nên miền của nó là 3 lớp này. Trong khi đó, khoảng chính là lớp (hay các lớp) làm kiểu
cho giá trị thuộc tính kiểu thực thể. Ví dụ thuộc tính Nơi sinh của lớp Tác giả có thể có
giá trị là một cá thể (kiểu thực thể) của một lớp Quốc gia nhƣ Mỹ.
12

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh

Hình 2: Ràng buộc về thuộc tính.
Bước 7: Đây là bƣớc cuối cùng khép lại một vòng lặp xây dựng ontology. Việc
chúng ta cần làm ở bƣớc này là tạo thực thể cho mỗi lớp và gán giá trị cho các thuộc
tính.
b. Ngôn ngữ để xây dựng ontology:
RDF: là mô hình dữ liệu mô tả các đối tƣợng và các mối quan hệ giữa chúng.
Mô hình dữ liệu này dùng cú pháp của XML 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.
Ví dụ sau minh họa cho việc dùng RDF chỉ để biểu diễn dữ liệu [40]:

W3Schools.com

Jan Egil Refsnes


RDF Schema: là một ngôn ngữ ontology cơ bản mô tả các thuộc tính (property)
và các lớp (class) của đối tƣợng RDF. Nó đƣợc phát triển ở tầng trên của RDF cho nên
13

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
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 để 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.
Ví dụ sau cho thấy RDF Schema có thể biểu diễn đƣợc các lớp, thuộc tính của
đối tƣợng RDF [41]:




OWL: 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.
Sau đây là một ví dụ dùng OWL để biểu diễn ontology:





Đoạn phía trên là ví dụ mô tả lớp và các lớp con của nó trong ontology.






14

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh


Đoạn này để mô tả các quan hệ trong ontology.

Hình 3: Hình minh họa các tầng ngôn ngữ dùng trong ontology
Nguồn: http://groupme.org/GroupMe/resource/123
Nhìn vào hình trên chúng ta có thể thấy đƣợc 3 ngôn ngữ ontology trên đều sử
dụng thƣ viện, cú pháp xuất phát từ XML và RDF là ngôn ngữ ở mức thấp nhất để mô
tả một ontology. Trên nó là RDF Schema, là ngôn ngữ đã đƣợc bổ sung thêm một số
thƣ viện để phù hợp với việc mô tả ontology. Và cuối cùng là OWL, ngôn ngữ mới
nhất, và đầy đủ nhất để mô tả một ontology. DLP là viết tắt của Description Logic
Programs là ngôn ngữ cục bộ để tích hợp những cơ sở tri thức đƣợc mô tả bằng
15

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
Description Logic (DL) và Logic Programs (LP), nó đƣợc định nghĩa là một tập giao
giữa việc biểu diễn OWL bằng DL và LP [38].
 OWL (Ontology Web Language)
OWL là ngôn ngữ đƣợc phát triển mới nhất trong các ngôn ngữ ontology chuẩn
đƣợc công nhận bởi World Wide Web Consortium (W3C) để thúc đẩy sự phát triển của
các web ngữ nghĩa (Semantec Web).
OWL kế thừa từ DAML+OIL đƣợc phát triển bởi tổ chức W3C. Tên
DAML+OIL là sự kết hợp giữa tên DAML-ONT (http://www.daml.org/2000/10/daml-
ont.html) do Mỹ đề xuất và ngôn ngữ OIL (http://www.ontoknowledge.org/oil/) do
Châu Âu đề xuất.
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 cũng nhƣ lƣợng số tƣơng đối mạnh. Là ngôn ngữ mô tả từ vựng phong phú
để mô tả các thuộc tính và các lớp, các mối quan hệ giữa các lớp (nhƣ disjointness), số
của giá trị (cardinality), tính tƣơng đƣơng (equality), định kiểu thuộc tính, đặc tính
của thuộc tính (đối xứng). Một ví dụ về ràng buộc kiểu và số lƣợng dùng OWL nhƣ
sau:




1



Ở ví dụ trên ta thấy lớp Vintage có quan hệ hasVintageYear và quan hệ này bị
ràng buộc không đƣợc là số nguyên âm và chỉ cho phép có 1 giá trị.
Một số cú pháp để khai báo các thành phần chính trong ontology dùng ngôn ngữ
OWL nhƣ sau, các ví dụ tham khảo từ nguồn [39]:
16

GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh 
Đầu tiên, chúng ta cần phải khai báo các namespace để có thể sử dụng các thƣ viện
cần thiết:

Để khai báo một lớp dùng thẻ , khai báo lớp hiện tại là lớp con dùng
thẻ , khai báo một cấu trúc cây phân cấp (taxonomic tree) nhƣ
sau:



Ví dụ khai báo một cá thể:

Khai báo cá thể tên CentralCoastRegion là một cá thể của lớp Region 
Khai báo thuộc tính gồm những thẻ chính sau: dùng để khai
báo các quan hệ (là thuộc tính có kiểu giá trị là một lớp),
để khai báo thuộc tính có kiểu giá trị thông thƣờng, dùng để
khai báo một thuộc tính là thuộc tính con, dùng để
khai báo domain và range cho thuộc tính.
Ví dụ cú pháp của DatatypeProperty trong đó thuộc tính tên là yearValue là
thuộc tính của lớp VintageYear và có giá trị là số nguyên dƣơng:




Đánh giá post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *