Khóa luận Xây dựng và làm giàu Ontology tiếng Việt chuyên ngành công nghệ thông tin
ĐẠ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
2. NGUYỄN NGỌC KHÁNH LINH
06520068
06520252
Lớp : CNPM01
Khoá : 1
TP. Hồ Chí Minh, tháng 3 năm 2011
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
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.1. Giới thiệu.........................................................................................................42
3.2.3. Phƣơng pháp thực hiện ..................................................................................46
3.3. Tổng kết chƣơng ....................................................................................................53
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
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
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
1
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
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
2
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.
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
3
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.
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
4
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
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
5
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
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
6
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
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
7
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
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
8
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ì?
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
9
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.
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
10
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á.
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
11
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ỹ.
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
12
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]:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:si="http://www.w3schools.com/rdf/">
<rdf:Description rdf:about="http://www.w3schools.com">
<si:title>W3Schools.com</si:title>
<si:author>Jan Egil Refsnes</si:author>
</rdf:Description>
</rdf:RDF>
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
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
13
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]:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base="http://www.animals.fake/animals#">
<rdfs:Class rdf:ID="animal" />
<rdfs:Class rdf:ID="horse">
<rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>
</rdf:RDF>
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:
<owl:Class rdf:ID="WineDescriptor" />
<owl:Class rdf:ID="WineColor">
<rdfs:subClassOf rdf:resource="#WineDescriptor" />
...
</owl:Class>
Đoạn phía trên là ví dụ mô tả lớp và các lớp con của nó trong ontology.
<owl:ObjectProperty rdf:ID="hasWineDescriptor">
<rdfs:domain rdf:resource="#Wine" />
<rdfs:range rdf:resource="#WineDescriptor" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasColor">
<rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
<rdfs:range rdf:resource="#WineColor" />
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
14
...
</owl:ObjectProperty>
Đ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
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
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
15
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
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:
<owl:Class rdf:ID="Vintage">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#hasVintageYear"/>
<owl:cardinality
rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
Ở 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]:
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
16
Đầ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:
<rdf:RDF
xmlns:owl ="http://www.w3.org/2002/07/owl#"
xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd ="http://www.w3.org/2001/XMLSchema#">
Để khai báo một lớp dùng thẻ <owl:Class>, khai báo lớp hiện tại là lớp con dùng
thẻ <rdfs:subClassOf>, khai báo một cấu trúc cây phân cấp (taxonomic tree) nhƣ
sau:
<owl:Class rdf:ID="PotableLiquid">
<rdfs:subClassOf rdf:resource="#ConsumableThing" />
...
</owl:Class>
Ví dụ khai báo một cá thể:
<Region rdf:ID="CentralCoastRegion" />
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: <owl:ObjectProperty> dùng để khai
báo các quan hệ (là thuộc tính có kiểu giá trị là một lớp), <owl:DatatypeProperty>
để khai báo thuộc tính có kiểu giá trị thông thƣờng, <rdfs:subPropertyOf> dùng để
khai báo một thuộc tính là thuộc tính con,<rdfs:domain> và <rdfs:range> 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:
<owl:Class rdf:ID="VintageYear" />
<owl:DatatypeProperty rdf:ID="yearValue">
<rdfs:domain rdf:resource="#VintageYear" />
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
17
Ví dụ cú pháp của ObjectProperty trong đó lớp Wine có quan hệ
hasWineDescriptor với lớp WineDescriptor và quan hệ hasWineDescriptor có quan
hệ con là hasColor với WineColor.
<owl:Class rdf:ID="WineDescriptor" />
<owl:Class rdf:ID="WineColor">
<rdfs:subClassOf rdf:resource="#WineDescriptor" />
...
</owl:Class>
<owl:ObjectProperty rdf:ID="hasWineDescriptor">
<rdfs:domain rdf:resource="#Wine" />
<rdfs:range rdf:resource="#WineDescriptor" />
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="hasColor">
<rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" />
<rdfs:range rdf:resource="#WineColor" />
...
</owl:ObjectProperty>
Một số các thẻ khác dùng để mô tả và khai báo các ràng buộc có thể tham khảo
thêm từ website [39].
Hiện nay có ba loại OWL : OWL Lite, OWL DL (description logic), và OWL Full.
●
OWL Lite: hỗ trợ cho những ngƣời dùng chủ yếu cần sự phân lớp theo thứ bậc
và các ràng buộc đơn giản. Ví dụ: Trong khi nó hỗ trợ các ràng buộc về tập hợp, nó
chỉ cho phép tập hợp giá trị của 0 hay 1. Điều này giúp OWL Lite dễ sử dụng và
thực thi và việc cung cấp các công cụ hỗ trợ OWL Lite dễ dàng hơn so với các bản
khác nhƣng lại hạn chế trong việc diễn đạt.
●
OWL DL (OWL Description Logic): hỗ trợ cho những ngƣời dùng cần cung cấp
sự diễn đạt tối ƣu và đảm bảo tất cả các kết luận là có thể dự tính đƣợc và sẽ hoàn
thành trong một thời gian nhất định. OWL DL bao gồm tất cả các cấu trúc của ngôn
ngữ OWL, nhƣng chúng chỉ có thể đƣợc sử dụng với những hạn chế nào đó (Ví dụ:
Trong khi một lớp có thể là một lớp con của rất nhiều lớp, một lớp không thể là một
thể hiện của một lớp khác).
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
18
OWL mất toàn bộ tính tƣơng thích với RDF. Thông thƣờng, một tài liệu RDF
phải đƣợc mở rộng theo một số cách và bị giới hạn theo các cách khác trƣớc khi nó
là một tài liệu OWL DL hợp lệ. Mọi tài liệu OWL DL hợp lệ là tài liệu RDF hợp lệ.
●
OWL Full: sử dụng tất cả các từ vựng nền tảng (primitive) của ngôn ngữ OWL.
Nó cho phép kết hợp tùy ý các từ vựng nền tảng với RDF và RDF Schema vì vậy nó
tạo ra sự diễn đạt tối đa và tự do. Ví dụ, trong OWL Full, một lớp có thể đƣợc xem
xét đồng thời nhƣ là một tập của các cá thể và nhƣ là một cá thể trong chính bản
thân nó. OWL Full cho phép một ontology gia cố thêm ý nghĩa của các từ vựng
đƣợc định nghĩa trƣớc (RDF hoặc OWL) và hoàn toàn tƣơng thích với RDF. Ngôn
ngữ này trở nên quá mạnh mẽ đến mức là không thể quyết định đƣợc (undecidable),
ảnh hƣởng đến hỗ trợ lập luận đầy đủ hoặc hỗ trợ lập luận hiệu quả.
Các phiên bản này tách biệt về các tiện ích khác nhau, OWL Lite là phiên bản
dễ hiểu nhất và phức tạp nhất là OWL Full. Việc lựa chọn ngôn ngữ con nào phù hợp
nhất là phụ thuộc vào nhu cầu của mỗi ngƣời.
Mối liên hệ giữa các ngôn ngữ con của OWL:
Mọi ontology hợp lệ dựa trên OWL Lite đều là ontology hợp lệ trên OWL DL.
Mọi ontology hợp lệ dựa trên OWL DL đều là ontology hợp lệ trên OWL Full.
Mọi kết luận hợp lệ dựa trên OWL Lite đều là kết luận hợp lệ trên OWL DL.
Mọi kết luận hợp lệ dựa trên OWL DL đều là kết luận hợp lệ trên OWL Full
2.3. Khảo sát các nghiên cứu có liên quan
2.3.1. Các nghiên cứu trên thế giới
a. TheComputingOntology [11]
Đƣợc công bố năm 2005, ban đầu có tên là Ontology Project đƣợc xây dựng bởi
một nhóm thuộc tổ chức ACM [10] nhằm biểu diễn kiến thức về máy tính và thông tin
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
19
có quan hệ chặt chẽ theo quy tắc phục vụ cho việc nghiên cứu hay giảng dạy trong lĩnh
vực liên quan tới tính toán, quản lý và xử lý thông tin. Công việc đƣợc hỗ trợ bởi tổ
chức khoa học quốc gia Mỹ (National Science Foundation), ACM (Association for
Computing Machinery), IEEE và Đại học Mở của Hà Lan (Open University of the
Netherlands).
Nguồn dữ liệu gồm: Tài liệu chƣơng trình đào tạo của các trƣờng đại học nhƣ:
Lewis University, Villanova University… và những thuật ngữ quan trọng trong các
môn học liên quan đến máy tính từ hệ thống phân lớp trên ACM (ACM Computing
Classification System [13]). Đƣợc xây dựng dùng công cụ soạn thảo ontology là
Protégé, đến nay đã có 6 phiên bản của ComputingOntology trên trang web chính thức
của nó.
Nhận xét: Xây dựng đƣợc một ontology về tính toán và thông tin hỗ trợ phát
triển hệ thống tƣ vấn về chƣơng trình đào tạo, phát triển những chƣơng trình học mới,
kiểm tra những chƣơng trình học đã có, làm rõ ràng các mối quan hệ giữa những môn
học với nhau, phát triển những chƣơng trình gồm nhiều ngành học, đóng góp cho việc
phân lớp trong nghiên cứu. Tuy nhiên, dữ liệu của ontology là tiếng Anh không thể
phục vụ cho các nghiên cứu chuyên ngành công nghệ thông tin tiếng Việt.
b. SwetoDBLP [12]
Đƣợc xây dựng bởi nhóm tác giả từ khoa Khoa học máy tính của trƣờng Đại học
Georgia, Mỹ. SwetoDblp [34] là một ontology có kích thƣớc lớn tập trung vào dữ liệu
thông tin của các bài báo về khoa học máy tính nhƣ: Tên, tác giả, nhà xuất bản… Dữ
liệu chính của nó lấy từ cơ sở dữ liệu DBLP [16] (Digital Bibliography & Library Project) là
cơ sở dữ liệu chỉ mục các bài báo khoa học trong lĩnh vực khoa học máy tính. Tính đến
tháng 1/2011 DBLP chứa thông tin của 1, 5 triệu bài báo đƣợc đánh dấu chỉ mục thông
qua việc phân tích danh sách các file đề mục (tables of contents– TOCs) của các hội
nghị cũng nhƣ các tạp chí… Ngoài ra, còn có 3 nguồn dữ liệu khác đƣợc dùng để tạo
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
20
SwetoDblp là danh sách các trƣờng đại học lấy từ Google có đƣờng dẫn nguồn là
danh sách các website của nhà xuất bản và danh sách các hội thảo đƣợc tạo bằng tay
theo dữ liệu trong DBLP.
Dữ liệu của SwetoDblp đƣợc lƣu trữ dùng định dạng RDF, sử dụng bộ từ vựng
lƣợc đồ (schema-vocabulary) có sẵn nhƣ FOAF [17] và Dublin Core [18]. Việc tạo ra
và cập nhật ontology đƣợc thực hiện dùng công cụ SAX-parser để chuyển dữ liệu dạng
XML của DBLP sang RDF. Dữ liệu sẽ đƣợc cập nhật hàng tháng theo dữ liệu XML
mới nhất từ DBLP và danh sách các trƣờng đại học, nhà xuất bản và hội thảo.
SwetoDblp hiện đang đƣợc sử dụng để kiểm tra cho OptARQ, một cơ chế cho
phép tối ƣu hóa câu truy vấn vào ontology dùng SPARQL [19]. Ngoài ra, ontology này
còn đƣợc dùng để tìm kiếm các bài báo và chuyên gia, phân biệt, tránh sự nhập nhằng
giữa tên các nhà nghiên cứu trong danh sách mail của DBWorld [33].
Nhận xét: Ontology này nhƣ một thƣ viện điện tử với lƣợng thông tin lớn về các
bài báo, không phục vụ cho việc tìm kiếm các khái niệm và thông tin trong ngành công
nghệ thông tin.
2.3.2. Các nghiên cứu trong nƣớc
a. Ontology for Vietnamese Language (OVL) – Open version [7]
Là một ontology tổng quát (Universal Ontology) đƣợc thực hiện bởi Nguyễn
Tuấn Đăng, Võ Hoài An, Nguyễn Trí Phúc trƣờng Đại học Công nghệ Thông tin. Xây
dựng trên phiên bản Protégé 3.4.3. Mục tiêu tác giả xây dựng ontology này là để đóng
góp cho những nghiên cứu về xử lý ngôn ngữ tiếng Việt, xây dựng tri thức phổ quát
trong nhiều lĩnh vực bằng tiếng Việt.
Dữ liệu của ontology là dữ liệu tổng quát về các lĩnh vực gồm 10 lĩnh vực chính
theo các mục đƣợc lấy theo VNExpress nhƣ: Khoa học, Pháp luật, Chính trị, Kinh
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
21
doanh, Thể thao, Văn hóa du lịch, Xã hội, Vi tính, Viễn thông, Ô tô xe máy. Ngoài ra
còn lấy dữ liệu từ các nguồn nhƣ Wikipedia tiếng Việt, Yellow Page và nhiều website
khác nhau liên quan đến các lĩnh vực trên [6].
Nhận xét: Kết quả tạo ra đƣợc ontology gồm số lƣợng lớp là 2.543, số lƣợng cá
thể là 10.024, với 312 ràng buộc và 87 thuộc tính thuộc nhiều lĩnh vực. Tuy nhiên, dữ
liệu của ontology mang tính phổ quát, không tập trung vào một lĩnh vực (domain) cụ
thể. Ví dụ nhƣ trong ngành Công nghệ thông tin không có chứa thông tin về những
khái niệm, chuyên gia hay chƣơng trình đào tạo của ngành.
b. Ontology khoa học công nghệ [4]
Đƣợc thực hiện bởi Bộ môn Hệ thống thông tin của trƣờng Đại học Bách khoa
Hà Nội. Hệ thống hỗ trợ tìm kiếm dựa trên từ khóa, cấu trúc dữ liệu lƣu trữ, tìm kiếm
mở rộng dựa trên ngữ nghĩa và tri thức phục vụ cho việc quản lý tài liệu và thông tin
trong lĩnh vực khoa học công nghệ. Nhằm giải quyết cho những yêu cầu đó tác giả đã
đề xuất phƣơng pháp xây dựng một ontology chuyên ngành khoa học công nghệ để
khai thác các suy diễn ngữ nghĩa.
Những khái niệm đƣợc xây dựng dựa trên việc khảo sát nhu cầu quản lý thông
tin tại phòng KHCN thuộc Đại học Bách Khoa Hà Nội, phòng KHCN thuộc sở Khoa
học Công nghệ Thành Phố Hà Nội, sở Bƣu chính Viễn thông. Ngƣời bảo trì có thể là
tác giả hoặc những ngƣời có quan tâm và có kiến thức về ontology sẽ nâng cấp cập
nhật thông tin khi có thay đổi.
Với việc sử dụng ontology này hệ thống ngoài việc dùng để tra cứu các đề tài,
sản phẩm công nghệ, chuyên gia, tài liệu, giải pháp, công nghệ… thì còn có thể trả lời
đƣợc những câu hỏi tổng hơp phân tích nhƣ: Có những đề tài nào thuộc lĩnh vực mà
ngƣời dùng quan tâm? Đề tài nào dành đƣợc sự quan tâm nhiều nhất cũng nhƣ nhận
định về giá trị, khả năng ứng dụng vào thực tiễn? Tài liệu đang đƣợc xem xét có những
phiên bản nào, sự đánh giá của các độc giả đối với các phiên bản của tài liệu này nhƣ
GVHD: Th.S Huỳnh Ngọc Tín
SVTH: Trần Công Danh & Nguyễn Ngọc Khánh Linh
Tải về để xem bản đầy đủ
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Xây dựng và làm giàu Ontology tiếng Việt chuyên ngành công nghệ thông tin", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- khoa_luan_xay_dung_va_lam_giau_ontology_tieng_viet_chuyen_ng.pdf