Friday, 19 September 2014

So sánh các phần mềm biên tập ontology

Bài này là nội dung dịch từ bài báo "Comparison of Ontology Editors" của tác giả Emhimed Salem Alatrish, đăng trên tạp chí eRAF Journal on Computing.

Tóm tắt
Trong bài báo nay thực hiện việc review và đánh giá, so sánh các công cụ phần mềm có liên quan đến web ngữ nghĩa. Theo đó, bài báo này thực hiện việc đánh giá và so sánh 5 công cụ phần mềm biên tập ontology. 5 phần mềm này bao gồm: Apollo, OntoStudio, Protégé, Swoop và TopBraid Composer Free Edition. Cấu trúc và các đặc điểm cơ bản của các công cụ biên tập ontology này đã được mô tả cũng như các thức sử dụng chúng. Tiêu chí chính để đánh giá và so sánh các công cụ phần mềm này là tính tiện lợi với người sử dụng và khả năng áp dụng trong các loại ứng dụng khác nhau.

I. Giới thiệu
Có rất nhiều công cụ phần mềm liên quan đến web ngữ nghĩa. Các công cụ phần mềm web ngữ nghĩa đặc biệt là các công cụ phần mềm tạo lập và thao tác với ontology. Có thể tìm thấy rất nhiều phần  mềm biên tập ontology trên Internet. Một vài trong số các công cụ đó (ví dụ như: Apollo, OntoStudio, Protégé, Swoop và TopBraid Composer Free Edition) được sử dụng tương đối rộng rãi (Ví dụ, trong [1], công cụ biên tập web ngữ nghĩa Protégé được xếp vào danh mục “killer application” trong đó "killer applications" được định nghĩa như là các công nghệ chuyển đổi mức cao mà nó tạo ra các thị trường mới và các mẫu hành vi được sử dụng rộng rãi). Đó chính là nguyên nhân sự cần thiết phải có các nghiên cứu để so sánh giữa các công cụ phần mềm biên tập ontology này. Việc so sánh có thể được thực hiện bằng cách sử dụng các tiêu chí so sánh khác nhau: tính phổ biến (generality), Tính diễn cảm (expressiveness), tính phức tạp (complexity), tài liệu hỗ trợ (documentation), tính mở rộng (scalability), ...Trong nghiên cứu của chúng tôi, tiêu chí quan trọng nhất là tính dễ sử dụng và tính phổ biến (spreading) của các công cụ biên tập Ontology. Các công cụ phần mềm biên tập ontology hay được sử dụng nhất là : Apollo (xem [11]), Protégé (xem [14], [16], [6] và [17]), OntoStudio (xem [12] và [13]), TopBraid Composer Free Edition (xem [20], [22] và [21]) và Swoop (xem [18], [19] và [6]) và đó cũng là lý do chính để chúng tôi quyết định chỉ thực hiện việc so sánh giữa các công cụ này.

II. Các nghiên cứu liên quan
Đối với những người nghiên cứu và sử dụng web ngữ nghĩa, việc có một review tổng quan về các công cụ phần mềm web ngữ nghĩa và mối quan hệ giữa chúng là rất quan trọng. Tuy nhiên, việc so sánh giữa các công cụ phần mềm này có thể được thực hiện bằng nhiều cách khác nhau. Có một loạt các bài báo được thực hiện nhằm so sánh giữa các công cụ biên tập ontology (ví dụ: [2], [4], [5], [6], [7], [8] và [9]). Việc so sánh giữa các công biên tập ontology ngoài việc sử dụng các tiêu chí khác nhau còn quan tâm đến các khía cạnh sử dụng khác nhau của các công cụ này. Ví dụ, trong [2] đã thực hiện việc mô tả 20 công cụ web ngữ nghĩa với hơn 10 đặc tính. Trong [3] một công việc kiểm tra đơn giản của việc mô hình hóa và hiển thị đã được sử dụng để so sánh giữa các công cụ biên tập. Một khung nhìn thú vị về các yêu cầu đối với ontology - cuộc cách mạng của các công cụ phần mềm đã được giới thiệu trong [4]. Điểm nhấn trong các yêu cầu chức năng và tác giả đã chia thành 8 yêu cầu quan trọng nhất. Tuy nhiên, ngoài 8 yêu cầu chức năng đó, các yêu cầu phi chức năng cũng đặc biệt được quan tâm.
Chúng tôi đã sử dụng và thử nghiệm với 5 công cụ biên tập ontology (Apollo,OntoStudio, Protégé, Swoop và TopBraid Composer Free Edition) và chúng tôi quyết định xem xét đến ưu điểm và những điều còn thiếu của các công cụ này. Các công cụ này được sử dụng để xây dựng một ontology mới hoặc là từ đầu hoặc là bằng cách sử dụng lại các ontology đã có sẵn, các công cụ này thường hỗ trợ việc biên tập, duyệt, xây dựng tài liệu, export và import ra / từ các định dạng khác nhau, xem và tạo thư viện. Các công cụ này đã được gắn trong các bộ thư viện tham chiếu, bao gồm hỗ trợ cho một vài ngôn ngữ lập trình, ... (xem [5]). 

III. Các công cụ phần mềm biên tập, xây dựng Ontology
Chúng tôi sẽ cố gắng cung cấp một cái nhìn tổng quan về một số công cụ biên tập ontology hiện đang được sử dụng để xây dựng ontology. Chúng tôi sẽ cung cấp các mô tả ngắn gọn về các công cụ và giới thiệu các nhóm đã phát triển các công cụ này. Việc so sánh sẽ được thực hiện bằng cách quan tâm đến các thuộc tính khác nhau của các công cụ biên tập ontology này. Chúng tôi sẽ tính đến các đặc điểm sau đây [10].
  • Mô tả chung của các công cụ  includes  information  about developers and availability. 
  • Kiến trúc phần mềm và sự phát triển công cụ  includes  information about  the  tool  architecture  (standalone,  client/server,  n-tier  application).  It also  explains    how  the  tool  can  be  extended  with  other functionalities/modules;  furthermore,  it  describes  how  ontologies  are  stored (databases, text files, etc.) and if there any backup management system. 
  • Đồng vận hàng (interoperability) với các công cụ và ngôn ngữ phát triển ontology khác  includes information about the interoperability of the tool. Tool‟s interoperability with other ontology tools can be recognized by functionalities like (merging, annotation, storage, inference, etc.), in ad dition to translations to and from ontology languages. 
  • Biểu diễn tri thức  is  related  to  presenting  of  knowledge model of the tool.  It also includes the possibility of providing  any language for building axioms and whether tool gives support to methodology. 
  • Các dịch vụ suy luận attached to the tool  tells  if the tool has a builtin  inference engine  or  it  can  use  other  attached  inference  engine.  It  also shows  if the tool performs constraint/consistency checking. It also provides the possibility of classifying concepts automatically in concept taxonomy and capabilities to manage the exceptions in taxonomies.
  • Tính khả dụng shows  the  existence  of  the  graphical  editors  for  the creation  of  concept  taxonomies  and  relations,  the  ability  to  prune  these graphs and  the possibility to perform zooms of parts of it. It also  says  if the tool  allows  some  kind  of  collaborative  working  and  whether  it  provides libraries of ontologies.
Các ứng viên sau đã được chọn để thực hiện việc so sánh:
  • Apollo
  • OntoStudio 
  • Protégé
  • Swoop
  • TopBraid Composer Free Edition
All  these  tools  are  widespread  in  the  ontology  design  and  development sector and are accepted by relatively large  semantic web communities. These tools  also  provide  the  minimum  necessary  functionality  supporting  the ontology development process.
The  ontology  editors  are  tools  that  allow  users  to  visually  manipulate, inspect,  browse,  code  ontologies,  support  the  ontology  development  and maintenance task.  In this section, we will provide a broad overview of some of  the  available  ontology  editor  tools  with  a  brief  description  of  each  tool, presenting  the  group  that  has  developed  it,  its  main  features  and functionalities, its URL, etc.

A.  Apollo
Apollo [11]  is  a  user-friendly  knowledge  modeling  application.  Apollo allows  a  user  to  model  ontology  with  basic  primitives,  such  as  classes, instances,  functions,  relations  and  so  on.  The  internal  model  is  a  frame system based on the OKBC protocol.  The knowledge base of Apollo consists of a hierarchical organization of ontologies. Ontologies can be inherited from other ontologies and can be used as if  they were their own ontologies.  Each ontology is the default ontology,  which includes all primitive classes. Each class can create a number of instances, and an instance inherits all slots of the class.  Each  slot  consists  of  a  set  of  facets.  Apollo  does  not support  graph view, web, information extraction and multi-user capabilities or collaborative processing  but  it  features  strong  type  consistency  checking,  storing  the ontologies  (files  only) and  import/export  format  (I/O  plug-in  architecture  -export plug-ins to CLOS and OCML). Apollo is implemented in Java and  it is available for a download from http://apollo.open.ac.uk/index.html.
Figure 1 Apollo screenshot

B.  OntoStudio
OntoStudio  is  based on IBM Eclipse framework. It can be downloaded for three  months  free evaluation  period.  It  is  an  Ontology  Engineering Environment supporting the development and maintenance of ontologies by using  graphical  means.  It  is  based  on  client/server  architecture, where ontologies are managed in a central server and various clients can access and modify  these ontologies.  It  supports  multilingual  development,  and  the knowledge  model  is  related  to frame-based  languages.  It  supports collaborative  development  of  ontologies.  OntoStudio  is  built  on top  of  a powerful internal ontology model. The tool allows the user to edit a  hierarchy of concepts or classes. OntoStudio is based on an open plug-in structure. The internal representation data model can be exported to DAML+OIL, F -Logic,RDF(S), and OXML. Additionally, ontologies can be exported to relational databases  via  JDBC.  OntoStudio  can  import  external  data  representation in DAML+OIL,  Excel,  F-logic,  RDF(S),  database  schemas  (Oracle,MS-SQL, DB2,MySQL),  and OXML.  OntoSudio  can  also  import  and  export  OWL files.  OntoStudio  provides  an  API  for accessing  ontologies  in  an objectoriente fashion. The default API implementation stores ontologies in main memory,  but  an additional  API  exists  for  persistent  storage.  The  inference ngine  that OntoStudio  uses  is  OntoBroker  (OntoBroker  is  the  result  of several  years  of  research  and  it is now  a  commercial  product).  Using  this engine, OntoStudio  exploits  the  strength  of  F-Logic and it  can  represent expressive rules.  OntoStudio  supports  collaborative ontologies by  using the OntoBroker Enhancement Collaborative server [12], [13].
Figure 2 OntoStudio editor Screenshot


Xây dựng OWL Ontologies bằng phần mềm Protégé

I. OWL Ontologies là gì?
Ontologies được sử dụng để mô tả tri thức của một lĩnh vực nào đó. Một ontology mô tả các khái niệm và các mối quan hệ giữa các khái niệm trong lĩnh vực nghiên cứu. Các ngôn ngữ ontology khác nhau cung cấp các cách thức xây dựng khác nhau. Chuẩn ngôn ngữ được sử dụng nhiều nhất để xây dựng ontology hiện nay là OWL được phát triển bởi W3C. Giống như Protégé, OWL có thể mô tả các khái niệm nhưng nó cũng đưa ra các cách thức mới. Nó bao gồm tập rất nhiều các phép toán, ví dụ: phép giao (intersection), phép hợp (union) và phép phủ định (negation). Nó dựa trên một mô hình lo-gic khác giúp nó có thể định nghĩa các khái niệm giống như cách mà các khái niệm đó đã được mô tả. Bởi vậy, các khái niệm phức tạp có thể được xây dựng từ các khái niệm đơn giản hơn. Mặt khác, mô hình lo-gic này cho phép sử dụng bộ suy luận (reasoner) để kiểm tra việc có hay không tất cả các câu (statements) và các định nghĩa (definitions) trong ontology đảm bảo tính nhất quán và cũng có thể nhận ra các khái niệm nào phù hợp với các định nghĩa nào. Do vậy, bộ suy luận này có thể giúp duy trì cây phân cấp một cách đúng đắn. Điều này thật sự hữu ích xử lý đối với trường hợp các lớp có thể có nhiều hơn một lớp cha (parent).



I. Giới thiệu phần mềm Protégé

Protégé là công cụ phần mềm biên tập ontology mã nguồn mở (được phát triển tại Trường ĐH Stanford) sử dụng đối với việc xây dựng các hệ thống thông minh. Protégé được hỗ trợ bởi cộng đồng lớn bao gồm: các viện nghiên cứu, các tổ chức chính phủ và những người sử dụng cộng tác. Các đơn vị, cá nhân này sử dụng Protégé để xây dựng các giải pháp dựa trên tri thức trong các lĩnh vực chuyên sâu như là: y sinh học, thương mại điện tử và mô hình hóa tổ chức.
Protégé hiện bao gồm 02 phiên bản:
- Phiên bản chạy trên Web (web-based), người sử dụng có thể thực hiện việc biên tập, xây dựng ontology trực tiếp tại địa chỉ: http://protege.stanford.edu/products.php#web-protege. Ngoài ra người dùng cũng có thể tải bộ cài đặt phiên bản web về để cài trên Webserver của mình và sử dụng trong mạng nội bộ, đường dẫn tải bộ cài và hướng dẫn cài đặt tại: https://github.com/protegeproject/webprotege/releases.
- Phiên bản chạy trên Desktop (desktop-based): phiên bản này với mục đích biên tập ontology trên máy tính cá nhân, phiên bản mới nhất là 5.0 beta, có thể tải về tại địa chỉ: http://protege.stanford.edu/products.php#desktop-protege.

Tài liệu tham khảo
1. Sebastian Brandt (2011). A Practical Guide To Building OWL Ontologies Using Prot´eg´e 4 and CO-ODE Tools. Version 1.3. University of Manchester.
2. Carl Lagoze (2008). Building OWL Ontologies with Protege. Cornell University.
3. Wiki: Introduction to Ontologies with Protege.
4. Vishal Jain and Mayank Singh (2013). Ontology Development and Query Retrieval using Protégé Tool. I.J. Intelligent Systems and Applications, 2013, 09, 67-75.
5. Trần Thị Ngân (2008). Phương thức xây dựng Ontology. ĐHCN-ĐHQGHN.


Cổng thông tin giáo dục cộng đồng dựa trên Ontology

Xin phép được post lại bài này của tập thể tác giả: Phạm Huy Giang, Tạ Tuấn Anh, Đặng Văn Chuyết (ĐHBK Hà Nội).

Tóm tắt
Nội dung của bài báo đề cập đến một cách tiếp cận mới trong việc xây dựng một cổng thông tin giáo dục dựa trên nguyên tắc của một mạng xã hội. Trong đó cộng đồng người sử dụng đóng vai trò hạt nhân, cung cấp các nguồn tài nguyên cũng như tri thức được chia sẻ. Nhằm tăng khả năng suy diễn ngữ nghĩa và tính mở rộng, hệ thống được xây dựng dựa trên nền tảng của công nghệ Web ngữ nghĩa với ontology với 3 mục tiêu: (i) mô hình hóa tri thức để chia sẻ trong cộng đồng; (ii) hỗ trợ tìm kiếm theo ngữ nghĩa các tài nguyên học tập; (iii) mô hình hóa một mạng xã hội người sử dụng trong cộng đồng.

I. Đặt vấn đề
Trong những năm qua, công nghệ thông tin, đặc biệt là Internet, đã góp phần rất lớn vào việc xây dựng và đổi mới các hệ thống giáo dục với các khóa học trực tuyến, các kho chứa tài liệu học tập, đáp ứng được những tiêu chí giáo dục mới: học mọi nơi, mọi lúc, học theo sở thích, … Tuy nhiên, các hệ thống giáo dục đang gặp phải một số khó khăn như: (i) thiết kế, phát triển, quản lý, chia sẻ các tài nguyên giáo dục; (ii) phân phối các dịch vụ giáo dục và tài liệu học tập cá nhân [1, 2].
Web ngữ nghĩa là sự mở rộng của World Wide Web bằng cách thêm vào các mô tả ngữ nghĩa của thông tin dưới dạng mà chương trình máy tính có thể “hiểu” và do vậy cho phép xử lý thông tin hiệu quả hơn [3]. Cơ chế cho phép chia sẻ và trao đổi ngữ nghĩa của thông tin là ontology. Theo [1, 2, 4], trong các hệ thống giáo dục, ontology được sử dụng chủ yếu cho 3 mục đích: (i) xây dựng cấu trúc, diễn giải ngữ nghĩa, đánh chỉ mục, tìm kiếm tài nguyên học tập. (ii) biểu diễn và lưu trữ tri thức, và (iii) tạo các phương pháp giảng dạy, các hoạt động học tập ứng với mục tiêu, sở thích, năng lực của từng cá nhân. 
Nội dung của bài báo đề cập đến một cách tiếp cận mới trong xây dựng một cổng thông tin giáo dục dựa trên nguyên tắc của một mạng xã hội. Ontology được áp dụng trong hệ thống này với 3 mục đích sau: (i) mô hình hóa tri thức chia sẻ trong cộng đồng về một lĩnh vực; (ii) tổ chức đánh chỉ mục hỗ trợ tìm kiếm theo ngữ nghĩa các tài nguyên học tập; (iii) mô hình hóa một mạng xã hội thể hiện sự đóng góp chia sẻ của các cá nhân trong cộng đồng.

II. Các hệ thống thông tin giáo dục dựa trên Ontology
Hiện nay đã có nhiều hệ thống giáo dục được xây dựng theo cách tiếp cận sử dụng ontology. Dựa trên các tính năng của hệ thống mà ta có thể phân loại chúng thành 3 nhóm chủ yếu sau: (i) các hệ thống chia sẻ tài nguyên giáo dục trực tuyến: GEM [5], Connexions [6]; (ii) các mạng chia sẻ ngang hàng về tài nguyên giáo dục: POOL [7], Edutella [8]; và (iii) các hệ thống Elearning dựa trên ontology: PIP [1, 9], TANGRAM [2, 10].

2.1. Hệ thống chia sẻ tài liệu GEM
GEM - The Gateway to Educational Materials (http://thegateway.org) là hệ thống được xây dựng bởi NLE (National Library of Education), liên kết nhiều tổ chức giáo dục, thư viện nhằm mục đích lưu trữ và chia sẻ tài nguyên giáo dục mở. GEM hỗ trợ 2 kiểu thành viên: (1) thành viên GEM là các nhà giáo dục; (2) thành viên GEM Consortium là các tổ chức và cá nhân muốn góp phần xây dựng kho chứa tài nguyên giáo dục của Gateway. Ontology trong GEM được chia thành nhiều khối, mỗi khối là một từ vựng điều khiển (controlled vocabulary), và được ghép lại thành một lược đồ thống nhất.

2.2. Dự án Connexions
Dự án Connexions (http://cnx.rice.edu) thuộc trường Rice University có mục đích xây dựng kho chứa tài liệu học tập mở và các công cụ hỗ trợ tạo bài giảng cũng như chia sẻ và khai thác tri thức. Connexions khuyến khích cộng đồng gồm giáo viên, sinh viên khai thác liên kết giữa các khái niệm, khóa học và môn học, tham gia đóng góp tri thức để xây dựng và chia sẻ tài liệu học tập. Kiến trúc Connexions được thiết kế tập trung, gồm 2 thành phần chính: (1) Kho chứa nội dung phục vụ cộng đồng gồm tài liệu học tập mở và các khối tri thức; (2) các công cụ phần mềm nguồn mở hỗ trợ việc tạo, quản lý, sử dụng và chia sẻ các module thông tin.

2.3. Hệ thống lưu trữ và chia sẻ POOL
POOL - Portal for Online Objects in Learning (http://www.edusplash.net) là một dự án của tập đoàn TeleLearning NCE, Canada, nhằm xây dựng cơ sở hạ tầng theo mô hình peer-to-peer, kết nối nhiều kho chứa tài nguyên giáo dục không đồng nhất thành một mạng lưới [7]. POOL tập trung phát triển 2 công nghệ: (1) “POOL, POND và SPLASH” là kiến trúc phân tán cho mạng peer-to-peer gồm các kho chứa; và (2) CanCore, giao thức siêu dữ liệu mô tả tài nguyên giáo dục. Giao thức CanCore gồm một tập các thành phần mô tả tài liệu, được chọn lựa từ các thành phần của các chuẩn Dublin Core, IMS và hoàn toàn tương thích với chuẩn IEEE LOM 1484.

2.4. Mạng chia sẻ ngang hàng Edutella
Edutella (http://www.edutella.org/edutella.shtml) là một mạng peer-to-peer kết nối các site giáo dục không đồng nhất về hiệu năng, kích thước lưu trữ, số người sử dụng, … với nhiều kiểu kho chứa tài nguyên, ngôn ngữ truy vấn, và kiểu lược đồ siêu dữ liệu khác nhau, nhằm mục đích trao đổi thông tin về tài nguyên giáo dục. Các dịch vụ của Edutella gồm: (1) Dịch vụ truy vấn:truy lục vào siêu dữ liệu RDF được lưu trong các kho chứa phân tán, sử dụng các ngôn ngữ truy vấn RQL, TRIPPLE; (2) Dịch vụ nhân bản: hỗ trợ tính sẵn dùng và cân bằng tải để đảm bảo tính nhất quán và toàn vẹn; (3) Dịch vụ ánh xạ (biên dịch các từ vựng siêu dữ liệu khác nhau, cho phép kết hợp giữa nhiều bên); (4) Dịch vụ Mediation (xác định các khung nhìn kết hợp dữ liệu từ nhiều nguồn siêu dữ liệu và điều hòa xung đột và chồng chéo thông tin).

2.5. Hệ thống tạo kế hoạch giảng dạy PIP
PIP - Personalized Instruction Planner (http://peonto.cityu.edu.hk/index.jsp) là hệ thống hỗ trợ giảng dạy ngôn ngữ tiếng Anh trong các trường trung học ở Hồng Kông. Mục tiêu của PIP là xây dựng kế hoạch học tập cá nhân của từng học sinh dựa trên thông tin về học sinh đó như năng lực, sở thích, ... kết hợp với phương pháp giảng dạy của giáo viên. Có 5 chức năng chính được kết hợp trong PIP: (1) Chức năng quản trị: có thể thay đổi lược đồ ontology; (2) Thiết kế chương trình học cá nhân; (3) Tạo kế hoạch giảng dạy; (4) Quản lý hồ sơ người sử dụng; (5) Tìm kiếm tài nguyên học tập từ Internet (Global Search) hoặc từ PIP (Local Search). Cơ chế tìm kiếm theo từ khóa có kết hợp bộ lọc kết quả. PIP sử dụng ontology framework PEOnto, gồm 5 ontology kết hợp với nhau: (1) People Ontology biểu diễn cá nhân tham gia hệ thống; (2) Subject Domain (Language) Ontology biểu diễn tri thức lĩnh vực; (3) Curriculum Ontology biểu diễn kế hoạch giảng dạy như đường học (learning path), mục tiêu, các hoạt động học tập; (4) Pedagogy Ontology biểu diễn chiến lược/phương thức tổ chức tài nguyên giáo dục; và (5) PEA Ontology mô tả vai trò, chức năng của các Agent.

2.6. Hệ thống tạo bài giảng TANGRAM
TANGRAM (http://iis.fon.bq.ac.yu/TANGRAM/home.html) là ứng dụng xây dựng bài giảng và tài liệu học tập cho giảng viên và sinh viên đại học trong lĩnh vực IIS (Intelligent Information Systems). TANGRAM tập trung diễn giải chi tiết tài liệu theo cấu trúc nhằm mục đích sử dụng lại từng thành phần của tài liệu. Các module chức năng chính của TANGRAM gồm [2]: (1) module quản lý nội dung; (2) module quản lý người sử dụng; (3) module lắp ráp động: tự động ghép các đơn vị nội dung thành tài liệu học tập cá nhân; (4) module giao diện người sử dụng.
TANGRAM xây dựng nhiều ontology kết hợp để diễn giải tài liệu bao gồm: (1)ALOCoM CS(ALOCoM Content Structure) mô tả cấu trúc tài liệu; (2) ALOCoM CT (ALOCoM Content Type) mô tả thể loại tài liệu; (3) Domain IIS, mô tả lĩnh vực IIS, được phát triển dựa trên siêu lược đồ trong SKOS Core Ontology; (4) LP (Learning Path), xác định chuỗi các chủ đề học tập cho từng cá nhân thông qua Domain IIS; (5) User Model (UM) Ontology biểu diễn thông tin về người sử dụng.

III. Cổng thông tin giáo dục cộng đồng BKEDUPORTAL
Từ những khảo sát đã thực hiện, chúng tôi đề xuất xây dựng một hệ thống thông tin giáo dục cộng đồng, hỗ trợ cộng đồng người sử dụng chia sẻ và tìm kiếm tri thức cũng như tài nguyên trong lĩnh vực giáo dục. Một trong những đặc điểm chủ yếu của hệ thống thông tin cộng đồng này là tất cả các nguồn tri thức lĩnh vực, tài nguyên chia sẻ và cộng đồng người sử dụng luôn có sự thay đổi thường xuyên. Người sử dụng không chỉ đóng vai trò của một người “tiêu thụ” mà còn phải đóng cả vai trò của một “nhà cung cấp”. Tùy vào vai trò của từng đối tượng, mà người sử dụng có thể tham gia cập nhật tri thức về lĩnh vực hoặc đóng góp chia sẻ các tài nguyên. Hạt nhân của hệ thống này là một một cổng thông tin giáo dục có tên là BKEduPortal với các chức năng được minh họa trong hình 1.
Hình 1. Kiến trúc cổng thông tin BKEduPortal
Giống như các cổng thông tin được xây dựng trên nền tảng của các hệ quản trị nội dung (CMS), BKEduPortal cung cấp các kênh thông tin khác nhau đã được biên tập về giáo dục và đào tạo. Ví dụ, hệ thống tự động thu thập thông tin về tin tức, sự kiện, bài viết về giáo dục đã được biên tập từ nhiều website giáo dục. BKEduPortal hỗ trợ chia sẻ tài liệu theo hai phương pháp: (1) hệ thống thu thập tự động tạo tài nguyên chia sẻ (vd. sách điện tử, bài giảng từ các hệ thống đào tạo trực tuyến); (2) người sử dụng đóng góp tài liệu cho cộng đồng theo lĩnh vực chủ đề đã được mô hình hóa trong hệ thống. Ngoài ra, BKEduPortal còn có chức năng tư vấn về giáo dục đào tạo, mang sắc thái của một hệ chuyên gia. Ví dụ, có thể trả lời câu hỏi về thi tuyển đại học như quy chế, ngành nghề đào tạo,… Đặc biệt, BKEduPortal có chức năng của một mạng xã hội phục vụ cộng đồng: gắn kết những thành viên có cùng sở thích, lĩnh vực chủ đề quan tâm; cho phép các thành viên liên lạc, trao đổi, giới thiệu thông tin như kinh nghiệm làm việc, thông tin tuyển dụng, đánh giá về tài nguyên như khóa học, tài liệu.
Mục đích sử dụng ontology trong hệ thống là giúp mô hình hóa dễ dàng các tri thức chung trong từng lĩnh vực (ví dụ các chủ đề học tập, danh mục ngành nghề, chuyên môn học tập,…), các nguồn tài nguyên (ví dụ tài liệu học tập, các câu hỏi thường gặp,…) được chia sẻ trong cộng đồng người sử dụng. Ngoài ra ontology còn được sử dụng để mô hình hóa các loại đối tượng sử dụng khác nhau trong cộng đồng người sử dụng để tạo thành một mạng xã hội, qua đó chúng ta có thể xác định được các chuyên gia và mối quan hệ của họ trong một lĩnh vực. Một nhóm các chuyên gia hay còn gọi là kỹ sư tri thức sẽ chịu trách nhiệm xây dựng và cải tiến lược đồ ontology. Cơ sở tri thức dựa trên ontology của hệ thống có thể được cập nhật theo hai phương thức chính: (i) Người sử dụng đăng nhập và sử dụng trực tiếp các chức năng (giao diện) của cổng thông tin giáo dục để tạo tri thức chia sẻ; (ii) Nguồn tri thức chia sẻ có thể được thu thập tự động từ các hệ phân hệ hỗ trợ mô tả ngữ nghĩa tài nguyên học tập dùng ontology (ví dụ hệ thống hỗ trợ xuất bản tài liệu học, thông tin khóa học sử dụng ontology, ...).

IV. Ontology cho cổng thông tin giáo dục
Theo  kiến  trúc  của  cổng  thông  tin BKEduPortal,  mỗi  chức  năng  hệ  thống  như Chia sẻ tài liệu học tập, Tư vấn giáo dục, … là một  trình  ứng  dụng  được  gắn  vào  cổng  thông tin.  Do  đó  yêu cầu  của  ontology  là  phải  biểu diễn được tri thức cần thiết cho các ứng dụng. Ngoài  các  khái niệm tri  thức  chung,  mỗi  ứng dụng lại có đặc thù riêng. Do đó, yêu cầu thiết kế  đối với  ontology là: (1) phong phú và đúng đắn  về  tri  thức;  (2)  khả  năng  sẵn  sàng  và  dễ dàng áp dụng; (3) khả năng mở rộng và cải tiến; (4)  khả  năng  chia  sẻ  tri  thức  giữa  nhiều  ứng dụng.
Hình 2. Minh họa 3 khối và các quan hệ
Từ  yêu  cầu  thiết  kế  trên, ontology  được thiết kế phân tầng với các khái niệm phân làm ba khối chính (hình 2).
  • Một là các khái niệm mô tả tri thức về lĩnh vực  dưới  dạng  các  chủ  đề  và  phân  nhóm của  chúng.  Ví  dụ  các  chủ  đề  về  Windows XP,  Linux  thuộc  về  nhóm  chủ  đề  Hệ  điều hành,  Oracle,  MySQL  thuộc  về  Cơ  sơ  dữ liệu.  Trong  đó  Hệ  điều  hành  và  Cơ  sở  dữ liệu là các nhóm con của Công nghệ thông tin. Các chủ đề được coi là một lớp các đối tượng  tri  thức  trong  chủ  đề  đó.  Với  mỗi nhóm  chủ  đề,  có  thể  thêm  các  thuộc  tính phân loại khác kèm theo chủ đề.
  • Hai  là  các  lớp  mô  tả  nhóm  các  loại  tài nguyên được chia sẻ trong hệ thống. Ví dụ đối với các loại tài liệu học tập, có thể có các lớp con là Sách, Bài báo, Sách điện tử, Bài giảng,… Với mỗi nhóm tài nguyên, các thuộc tính siêu dữ liệu (meta-data) được lựa chọn sử dụng để mô tả tài liệu.
  • Ba  là  các  nhóm  đối  tượng  người  sử  dụng của  hệ  thống.  Cũng  giống  như tài  nguyên, các  thuộc  tính  cũng  được  gắn  với  từng nhóm người sử dụng để mô tả  các cá nhân và các thông tin liên quan khác. Mối quan hệ giữa người sử dụng với các khối còn lại trong  ontology  thông  qua  các  liên  kết  “là tác  giả”,  “là  người  đóng  góp”,  “là  bạn của”,

Ontology  được  thiết  kế  phân  tầng  bao gồm  ontology thành phần sau: (i)  một ontology tổng  quát  mô  tả  các  khái  niệm  chung  của  hệ thống;  (ii)  nhiều  ontology  lĩnh  vực  mô  tả  các miền ứng dụng khác nhau như Công nghệ thông tin, Tự động hóa, Cơ khí,… 
Để  xây  dựng  ontology  giáo  dục  theo nguyên  tắc  thiết  kế  ở  trên,  chúng  tôi  sử  dụng mô hình biểu diễn ontology được phát triển dựa trên OWL Full với 3 mức:
(1) Mức siêu lược đồ (meta-schema): gồm các lớp  TopicCls,  DocumentationCls  và PersonCls  ứng với các siêu lớp dùng để tạo ra các lớp mô tả trong các khối tri thức lĩnh vực,  tài  nguyên  và  cộng  đồng  ngưởi  sử dụng.  TopicCls,  DocumentationCls  và PersonCls là các lớp con của owl:Class.
(2) Mức lược đồ  (schema):  gồm  các  lớp  được tạo  từ  các  lớp  ở  mức  meta-schema.  Trong đó Topic, Documentation và Person là các lớp  có  kiểu  tương  ứng  là  TopicCls, DocumentationCls và PersonCls. Tùy thuộc vào mỗi loại hình ứng dụng khác nhau, mà các  lớp  này  có  thể  được  mở  rộng  với  các lớp  con  khác  nhau.  Ví  dụ  trong  ứng  dụng chia sẻ tài liệu học tập về CNTT ta có ICT, Database, OS,… là các lớp chủ đề con của Topic.  Book,  Paper,  Ebook,…  là  các  lớp con  của  Documentation.  Chú  ý  Topic, Documentation, Person luôn là lớp gốc cho các  lĩnh  vực  chủ  đề,  tài  nguyên  và  con người.
(3) Mức  thể  hiện  (Instance):  bao  gồm  các  đối tượng được tạo với các lớp định nghĩa trong mức lược đồ. Các đối tượng thể hiện chính là nguồn thông tin tri thức được chia sẻ và do cộng đồng người sử dụng cập nhật trong quá  trình  sử  dụng.  Số  lượng  các  thể  hiện trong  ontology  thường  là rất lớn  và  không có  sự  hạn  chế.  Bởi  cộng  đồng  người  sử dụng chính là nguồn cung cấp các  thể hiện nên  tính  phong  phú  của  hệ  thống  như  thế này là rất lớn.

V. Ứng dụng chia sẻ tài liệu học tập
Để  minh  họa  khả  năng  ứng  dụng  của ontology  tổng  quát,  chúng  tôi  trình  bày  trong mục này việc xây dựng phân hệ chia sẻ tài liệu học tập của cổng thông tin BKEduPortal. Ứng dụng này tập trung vào việc quản lý tài liệu học tập do người sử dụng tự chia sẻ trong một lĩnh vực cộng đồng cụ thể. Hai ontology ở mức ứng dụng cần được phát triển dùng để : (i) mô tả các chủ đề học tập trong một lĩnh vực ; và (ii) tạo lược  đồ  mô  tả  các  khái  niệm  dùng  trong  ứng dụng  quản  lý  tài  liệu  học  tập.  Mặc  dù  chủ  đề các lĩnh vực không bị hạn chế, trong nội dung bài báo này chỉ minh họa bằng một ví dụ về các chủ đề trong lĩnh vực Công nghệ Thông tin và Truyền thông (ICT).
Để xây dựng ontology chủ đề về CNTT và Truyền thông, chúng tôi sử dụng lại hệ thống phân loại lĩnh vực khoa học máy tính của ACM (ACM Computer Classification System) [4]. Hệ thống  gồm  11  thành  phần  mức  đỉnh,  và  mỗi thành phần được phân cấp thành 4 mức và tổng cộng  có khoảng 1600 chủ đề. Mỗi chủ đề được đánh chỉ mục duy nhất theo phân cấp, ví dụ chỉ mục B.1.1.2 ứng với chủ đề „Microprogrammed logic  array‟,  có  thể  truy  cập  theo  đường  dẫn: Hardware  (B)/Control  Structures  and MicroProgramming  (B.1)/Control  Design Styles  (B.1.1).  Hình  3  minh  họa  ontology  chủ đề  về  ICT  được  xây  dựng  bằng  bộ  công  cụ Protege.
Hình 3. Phân cấp lĩnh vực ICT dựa trên ACM
Hình 4. Các lớp trong ontology ứng dụng

Để  mô  tả  các  khái  niệm  của  ứng  dụng, chúng  tôi  tạo  một  ontology  (hình  4).  Nó  bao gồm  lớp  LO  (Learning  Object)  được  mở  rộng từ  lớp  Documentation,  có  mục  đích  mô  tả  tài liệu  học  tập  theo  ngữ  cảnh  sử  dụng  với  các thuộc  tính  đã  được  định  nghĩa  trong  Dublin Core ontology như nhà xuất bản (dc:publisher), định  dạng  tài  liệu  (dc:format),…  Các  tài  liệu học tập được phân loại theo các lớp con của lớp LO như Book, Articles, Lecture, …

VI. Kết luận
Bài  báo  trình  bày  việc  thiết  kế  và  xây dựng ontology cho một cổng thông tin giáo dục trên cơ sở ba khối tri thức lĩnh vực, tài nguyên và con người. Để có thể đáp ứng các chức năng hệ thống như chia sẻ tài liệu, tư vấn giáo dục, ... và  các  yêu  cầu  thiết  kế  như  có  thể  mở  rộng, chia sẻ và sử dụng lại, ..., Ontology được thiết kế theo nguyên tắc phân module  trên  cơ sở của OWL trong Web ngữ nghĩa. Tuy mục đích thiết kế ontology dành cho ứng dụng cụ thể, nhưng kiến trúc ontology có thể áp dụng cho nhiều hệ thống ứng dụng khác nhau.

Tài liệu tham khảo
1.  A.  W.  P.  Fok and H.  H.  S.  Ip;  Education Ontologies Constructions for Personalized Learning on the Web; Studies in Computational Intelligence (SCI) 62, 47-82, Springer, 2007.
2.  Vladan Devedzic; Semantic Web and Education; Springer, 2006. ISBN:0-387 35417-4.
3.  T. Berners-Lee, J. Hendler, O. Lassila; The Semantic Web; Scientific American, May 2001
4.  The  ACM  Computing  Classification  System  –  1998  Version,  valid  in  2002, http://www.acm.org/class/1998/
5.  http://www.thegateway.org/documents
6.  Geneva Henry, Richard Baraniuk, Christopher Kelty; The Connexions Projects: Promoting Open Sharing of Knowledge for Education; Connexions Projects – http://cnx.rice.edu.
7.  Griff  Richards,  Rory  McGreal,  Marek  Hatala  and  Norm  Friensen;  The  Evolution  of  Learning Object  Repository  Technologies:  Portals for  On-line Objects  for  Learning;  Journal of  Distance Education. Vol.17, No3, 2002.
8.  Semantic  Web  Workshop  2002  Honolulu,  Hawaii,  May  7,  2002.  Edutella:  Searching  and Annotating Resources within an RDF-based P2P Network.
9.  A.  W.  P.  Fok  and  H.  H.  S.  Ip;  Personalized  Search of  Educational  Content  Based  on Multiply Ontologies; IEEE 2006, 1-4244-0367-7/06.
10.  Jelena Jovanovic, Dragan Gasevie, Vladan Devedzie;  Ontology-Based Automatic Annotation of Learning Content; Int‟l Journal on Semantic Web & Information Systems.

Thursday, 18 September 2014

The Google Similarity Distance

Tóm tắt
Từ và tập hợp từ có nghĩa thông qua cách mà nó được sử dụng trong xã hội, từ các ngữ nghĩa tương đối đến các từ và tập hợp từ khác. Đối với máy tính, "xã hội" có nghĩa là "cơ sở dữ liệu" và hành động "sử dụng" có nghĩa là "cách thức tìm kiếm trong cơ sở dữ liệu". Bài báo này giới thiệu một phương pháp mới để đo độ tương tự (similarity) giữa các từ và tập hợp từ dựa trên khoảng cách thông tin và độ phức tạp Kolmogorov. Để thực hiện được điều này chúng tôi sử dụng WWW như là cơ sở dữ liệu và Google như là một máy tìm kiếm. Phương pháp này cũng có thể ứng dụng với các máy tìm kiếm và các cơ sở dữ liệu khác. Lý thuyết này sau đó sẽ được áp dụng để xây dựng một phương pháp để tự động trích xuất độ tương tự (similarity), khoảng cách tương Google (the Google similarity distance) của các từ và tập hợp từ từ WWW sử dụng việc đếm các trang Google. WWW là cơ sở dữ liệu lớn nhất trên trái đất, và thông tin ngữ cảnh được nhập vào bởi trung bình hàng tỷ người sử dụng độc lập cung cấp ngữ nghĩa có chất lượng một cách tự động. Chúng tôi sẽ giới thiệu ứng dụng lý thuyết trên trong các ứng dụng phân cụm phân cấp, phân lớp và dịch ngôn ngữ.
Bài báo này chúng tôi cũng đưa ra các ví dụ để phân biệt giữa màu và số, tên cụm hội họa (thế kỷ 17, Hà Lan) và tên của các quyển sách tiểu thuyết tiếng Anh, khả năng có thể hiểu các sự cố, các vụ trộm, và chúng tôi demo khả năng có thể ứng dụng để thực hiện một công việc đơn giản dịch tự đồng giữa tiếng Anh - tiếng Tây Ban Nha. Cuối cùng, chúng tôi sử dụng cơ sở dữ liệu WordNet như là một ranh giới mục tiêu qua đó để đánh giá thực thi của phương pháp này. We conduct a massive randomized trial in binary classification using support vector machines to learn categories based on our Google distance, resulting in an a mean agreement of 87% with the expert crafted WordNet categories.

I. Giới thiệu
Objects can be given literally, like the literal four-letter genome of a mouse, or the literal text of War and Peace by Tolstoy. For simplicity we take it that all meaning of the object is represented by the literal object itself. Các đối tượng cũng có thể được cho bởi tên như là “the four-letter genome of a mouse,” hoặc “the text of War and Peace by Tolstoy". Cũng có các đối tượng mà không thể đưa ra nghĩa theo từng chữ (literally), mà chỉ bởi tên, và điều đó đòi hỏi xác định nghĩa của chúng theo ngữ cảnh trong tri thức nền chung của nhân loại, như là “home” hoặc “red”. To make computers more intelligent one would like to represent meaning in computer-digestable form. Long-term and laborintensive efforts like the Cyc project [22] and the WordNet project [33] try to establish semantic relations between common objects, or, more precisely, names for those objects. The idea is to create a semantic web of such vast proportions that rudimentary intelligence, and knowledge about the real world, spontaneously emerge. This comes at the great cost of designing structures capable of manipulating knowledge, and entering high quality contents in these structures by knowledgeable human experts. While the efforts are longrunning and large scale, the overall information entered is minute compared to what is available on the world-wide-web.
The rise of the world-wide-web has enticed millions of users to type in trillions of characters to create billions of web pages of on average low quality contents. The sheer mass of the information about almost every conceivable topic makes it likely that extremes will cancel and the majority or average is meaningful in a low-quality approximate sense. We devise a general method to tap the amorphous low-grade knowledge available for free on the world-wide-web, typed in by local users aiming at personal gratification of diverse objectives, and yet globally achieving what is effectively the largest semantic electronic database in the world. Moreover, this database is available for all by using any search engine that can return aggregate page-count estimates for a large range of searchqueries, like Google.
Previously, we and others developed a compression-based method to establish a universal similarity metric among objects given as finite binary strings [2], [25], [26], [7], [8], [39], [40], which was widely reported [20], [21], [13]. Such objects can be genomes, music pieces in MIDI format, computer programs in Ruby or C, pictures in simple bitmap formats, or time sequences such as heart rhythm data. This method is feature-free in the sense that it doesn’t analyze the files looking for particular features; rather it analyzes all features simultaneously and determines the similarity between every pair of objects according to the most dominant shared feature. The crucial point is that the method analyzes the objects themselves. This precludes comparison of abstract notions or other objects that don’t lend themselves to direct analysis, like emotions, colors, Socrates, Plato, Mike Bonanno and Albert Einstein. While the previous method that compares the objects themselves is particularly suited to obtain knowledge about the similarity of objects themselves, irrespective of common beliefs about such similarities, here we develop a method that uses only the name of an object and obtains knowledge about the similarity of objects, a quantified relative Google semantics, by tapping available information generated by multitudes of web users. Here we are reminded of the words of D.H. Rumsfeld [31] “A trained ape can know an awful lot/ Of what is going on in this world / Just by punching on his mouse / For a relatively modest cost!” In this paper, the Google semantics of a word or phrase consists of the set of web pages returned by the query concerned.

A. An Example:
While the theory we propose is rather intricate, the resulting method is simple enough. We give an example: At the time of doing the experiment, a Google search for “horse”, returned 46,700,000 hits. The number of hits for the search term “rider” was 12,200,000. Searching for the pages where both “horse” and “rider” occur gave 2,630,000 hits, and Google indexed 8,058,044,651 web pages. Using these numbers in the main formula (III.3) we derive below, with N = 8, 058, 044, 651, this yields a Normalized Google Distance between the terms “horse” and “rider” as follows:
In the sequel of the paper we argue that the NGD is a normed semantic distance between the terms in question, usually (but not always, see below) in between 0 (identical) and 1 (unrelated), in the cognitive space invoked by the usage of the terms on the world-wide-web as filtered by Google. Because of the vastness and diversity of the web this may be taken as related to the current use of the terms in society.
We did the same calculation when Google indexed only onehalf of the number of pages: 4,285,199,774. It is instructive that the probabilities of the used search terms didn’t change significantly over this doubling of pages, with number of hits for “horse” equal 23,700,000, for “rider” equal 6,270,000, and for “horse, rider” equal to 1,180,000. The NGD(horse, rider) we computed in that situation was ≈ 0.460. This is in line with our contention that the relative frequencies of web pages containing search terms gives objective information about the semantic relations between the search terms. If this is the case, then the Google probabilities of search terms and the computed NGD ’s should stabilize (become scale invariant) with a growing Google database.

B. Related Work:
There is a great deal of work in both cognitive psychology [37], linguistics, and computer science, about using word (phrases) frequencies in text corpora to develop measures for word similarity or word association, partially surveyed in [34], [36], going back to at least [35]. One of the most successful is Latent Semantic Analysis (LSA) [37] that has been applied in various forms in a great number of applications. We discuss LSA and its relation to the present approach in Appendix VII. As with LSA, many other previous approaches of extracting corollations from text documents are based on text corpora that are many order of magnitudes smaller, and that are in local storage, and on assumptions that are more refined, than what we propose. In contrast, [11], [1] and the many references cited there, use the web and Google counts to identify lexicosyntactic patterns or other data. Again, the theory, aim, feature analysis, and execution are different from ours, and cannot meaningfully be compared. Essentially, our method below automatically extracts semantic relations between arbitrary objects from the web in a manner that is feature-free, up to the search-engine used, and computationally feasible. This seems to be a new direction altogether.

C. Outline:
The main thrust is to develop a new theory of semantic distance between a pair of objects, based on (and unavoidably biased by) a background contents consisting of a database of documents. An example of the latter is the set of pages constituting the world-wide-web. Similarity relations between pairs of objects is distilled from the documents by just using the number of documents in which the objects occur, singly and jointly (irrespective of location or multiplicity). For us, the Google semantics of a word or phrase consists of the set of web pages returned by the query concerned. Note that this can mean that terms with different meaning have the same semantics, and that opposites like ”true” and ”false” often have a similar semantics. Thus, we just discover associations between terms, suggesting a likely relationship. As the web grows, the Google semantics may become less primitive. The theoretical underpinning is based on the theory of Kolmogorov complexity [27], and is in terms of coding and compression.
This allows to express and prove properties of absolute relations between objects that cannot even be expressed by other approaches. The theory, application, and the particular NGD formula to express the bilateral semantic relations are (as far as we know) not equivalent to any earlier theory, application, and formula in this area. The current paper is a next step in a decade of cumulative research in this area, of which the main thread is [27], [2], [28], [26], [7], [8] with [25], [3] using the related approach of [29]. We first start with a technical introduction outlining some notions underpinning our approach: Kolmogorov complexity, information distance, and compression-based similarity metric (Section II). Then we give a technical description of the Google distribution, the Normalized Google Distance, and the universality of these notions (Section III). While it may be possible in principle that other methods can use the entire world-wide-web to determine semantic similarity between terms, we do not know of a method that both uses the entire web, or computationally can use the entire web, and (or) has the same aims as our method. To validate our method we therefore cannot compare its performance to other existing methods. Ours is a new proposal for a new task. We validate the method in the following way: by theoretical analysis, by anecdotical evidence in a plethora of applications, and by systematic and massive comparison of accuracy in a classification application compared to the uncontroversial body of knowledge in the WordNet database. In Section III we give the theoretic underpinning of the method and prove its universality. In Section IV we present a plethora of clustering and classification experiments to validate the universality, robustness, and accuracy of our proposal. In Section V we test repetitive automatic performance against uncontroversial semantic knowledge: We present the results of a massive randomized classification trial we conducted to gauge the accuracy of our method to the expert knowledge as implemented over the decades in the WordNet database. The preliminary publication [9] of this work on the web archives was widely reported and discussed, for example [16], [17]. The actual experimental data can be downloaded from [5]. The method is implemented as an easy-to-use software tool available on the web [6], available to all.

D. Materials and Methods:
The application of the theory we develop is a method that is justified by the vastness of the world-wide-web, the assumption that the mass of information is so diverse that the frequencies of pages returned by Google queries averages the semantic information in such a way that one can distill a valid semantic distance between the query subjects. It appears to be the only method that starts from scratch, is feature-free in that it uses just the web and a search engine to supply contents, and automatically generates relative semantics between words and phrases. A possible drawback of our method is that it relies on the accuracy of the returned counts. As noted in [1], the returned google counts are inaccurate, and especially if one uses the boolean OR operator between search terms, at the time of writing. The AND operator we use is less problematic, and we do not use the OR operator. Furthermore, Google apparently estimates the number of hits based on samples, and the number of indexed pages changes rapidly. To compensate for the latter effect, we have inserted a normalizing mechanism in the CompLearn software. Generally though, if search engines have peculiar ways of counting number of hits, in large part this should not matter, as long as some reasonable conditions hold on how counts are reported. Linguists judge the accuracy of Google counts trustworthy enough: In [23] (see also the many references to related research) it is shown that web searches for rare two-word phrases correlated well with the frequency found in traditional corpora, as well as with human judgments of whether those phrases were natural. Thus, Google is the simplest means to get the most information. Note, however, that a single Google query takes a fraction of a second, and that Google restricts every IP address to a maximum of (currently) 500 queries per day—although they are cooperative enough to extend this quotum for noncommercial purposes. The experimental evidence provided here shows that the combination of Google and our method yields reasonable results, gauged against common sense (‘colors’ are different from ‘numbers’) and against the expert knowledge in the WordNet data base. A reviewer suggested downscaling our method by testing it on smaller text corpora. This does not seem useful. Clearly perfomance will deteriorate with decreasing data base size. A thought experiment using the extreme case of a single web page consisting of a single term suffices. Practically addressing this issue is begging the question. Instead, in Section III we theoretically analyze the relative semantics of search terms established using all of the web, and its universality with respect to the relative semantics of search terms using subsets of web pages.

II. TECHNICAL PRELIMINARIES


Wednesday, 17 September 2014

Công cụ biên tập, xây dựng ontology

Bộ công cụ xây dựng và phát triển Ontology bao gồm các tool hỗ trợ và môi trường giúp người dùng có thể xây dựng một Ontology mới từ bản thiết kế mới hoặc sử dụng lại những Ontology mới có sẵn. Một số môi trường phát triển được xây dựng từ trước như Ontosaurus, Ontolingua và WebOnto. Những bộ công cụ mới được sử dụng nhiều gần đây bao gồm OntoEdit, OilED,WebODE, Chimera DAG-Edit và Protégé.
1. Ontoligua server
Ontoligua server  là bộ công cụ xây dựng ontology được phát triển từ những năm 1990 tại Phòng Thí nghiệm Hệ thống tri thức (Knowledge Systems Laboratory -KSL) của Trường ĐH Stanford (Mỹ). Các module chính của bộ công cụ bao gồm bộ biên tập ontology (ontology editor) và các module khác như Webster, OKBC (Open knowledge Based Connectivity) server.
2. Ontosaurus
Ontosaurus  do Viện Khoa học Thông tin ISI của Trường ĐH South Calfornia (Mỹ) phát triển cùng trong khoảng thời gian đó. OntoSaurus bao gồm 2 module chính: ontology server (sử dụng Loom) và một web browser cho Loom ontology. Ngoài ra, bộ công cụ còn hỗ trợ KIF, KRSS và C++, đồng thời OntoSaurus ontology cũng có thể được truy cập dựa trên protocol OKBC của Ontoligua server.
3. WebOnto
WebOnto là một ontology editor cho các Ontology OCML (Operational Conceptual Modelling Language), được Viện Truyền thông Tri thức (KMI) tại Trường ĐH mở (Open University) phát triển. Bộ công cụ này là sử dụng Java với webserver, cho phép người dùng có thể duyệt và thay đổi các mô hình tri thức thông qua Internet. Điểm mạnh chính của bộ công cụ này là có thể cho phép cộng tác giữa nhiều người nhằm thay đổi và hoàn thiện ontology.
Các bộ công cụ trên (Ontolingua server, Ontosaurus và WebOnto) được xây dựng đơn thuần nhằm hỗ trợ duyệt và biên tập các Ontology được viết bằng những ngôn ngữ riêng (Ontolingua, LOOM và OCML). Những bộ công cụ biên tập này hiện nay không còn đáp ứng đủ nhu cầu của người sử dụng. Thế hệ mới các bộ công cụ xây dựng Ontology có nhiều ưu việt cũng như tính năng hơn hẳn các bộ công cụ này, ví dụ như khả năng mở rộng, hệ thống kiến trúc các thành phần - giúp người dùng có thể cung cấp thêm các tính năng cho môi trường phát triển một cách dễ dàng.
4. WebODE
Nhóm Ontology tại trường ĐH Technical Madrid (UPM) đã phát triển WebODE  là một bộ công cụ có khả năng mở rộng, được xem như một thành công của ODE (Ontology Design Environment). WebODE được sử dụng như một Web server với giao diện web. Phần lõi chính của môi trường này là một dịch vụ (service) ontology, trong đó tất cả các dịch vụ và ứng dụng khác đều có thể sử dụng dịch vụ này. Phần soạn thảo Ontology cũng đồng thời cung cấp công cụ kiểm tra ràng buộc, tạo các luật tiên đề (axiom rule creation) và phân tích với WebODE Axiom Builder (WAB), tài liệu trong HTML, kết hợp ontology với các định dạng khác nhau [XML\RDF[s], OIL, DAML+OIL, CARIN, Flogic, Java và Jess]. 
Nhóm nghiên cứu tại Trường ĐH Manchester, Đại học Amsterdam và Interprice GmbH đã phát triển OilED , một bộ công cụ soạn thảo ontology cho phép người dùng có thể xây dựng Ontology bằng OIL và DAML+OIL.
5. Protégé 2000
Protégé 2000  là một trong những bộ công cụ được sử dụng rộng rãi nhất hiện nay, được phát triển tại Trường ĐH Stanford. Bộ công cụ này được phát triển dựa trên hai mục tiêu: có thể tương thích với các hệ thống khác, dễ dàng sử dụng và hỗ trợ các công cụ trích chọn thông tin. Phần chính của môi trường này là một biên tập ontology. Bên cạnh đó, Protégé còn bao gồm rất nhiều các plugin nhằm hỗ trợ chức năng như quản lý nhiều ontology, dịch vụ suy luận (inference service), hỗ trợ về vấn đề ngôn ngữ ontology (language importation/exportation).
6. Yago-Ontology
Yago-Ontology là một kết quả thuộc dự án YAGO-NAGA do các nhóm nghiên cứu thuộc học viện Max-Planck Institute for Informatics của Đức thực hiện trong khoảng thời gian 2004-2009. Trong [1], Fabian M. Suchanek và cộng sự trình bày phương pháp luận xây dựng mô hình dữ liệu của Yago-Ontology và mô hình xây dựng này thể hiện được nhiều ưu điểm vượt trội trong khả năng biểu diễn thông tin, tự động hóa. Một lợi thế của Yago-Ontology là khai thác được nguồn tài nguyên trên web, đặc biệt là wikipedia vào quá trình xây dựng ontology.

Tài liệu tham khảo
1. Fabian M. Suchanek, Gjergji Kasneci , Gerhard Weikum (2008). YAGO: A Large Ontology from Wikipedia and WordNet, Web Semantics: Science, Services and Agents on the World Wide We, 6(3): 203-217, Sep. 2008.

Đôi điều về Ontology

Ngày mới đầu tìm hiểu về ontology, đọc khái niệm ontology dưới quan điểm của Triết học mà thấy sợ ontology có nghĩa là "bản thể luận" bao hàm đi tìm về bản chất của vấn đề, sự việc, hiện tượng. Sự phát triển của công nghệ thông tin trong đó có sự phát triển của ngành Trí tuệ nhân tạo (AI) đã giúp cho khái niệm Ontology ngày càng trở lên phổ dụng hơn, đã đi ra khỏi các Lab của Trí tuệ nhân tạo, đi sâu vào đời sống CNTT, đặc biệt trong thời kỳ bùng nổ tri thức Web 3.0. Dưới đây là tổng hợp một số vấn đề cơ bản liên quan đến Ontology:
1. Khái niệm Ontology
Theo quan điểm của ngành trí tuệ nhân tạo, một Ontology là sự mô tả về các khái niệm và các quan hệ của các khái niệm đó nhằm mục đích thể hiện một góc nhìn về thế giới. Trên miền ứng dụng khác của khoa học, một Ontology bao gồm tập các từ vựng cơ bản hay một tài nguyên trên một miền lĩnh vực cụ thể, nhờ đó những nhà nghiên cứu có thể lưu trữ, quản lý và trao đổi tri thức cho nhau theo một cách tiện lợi nhất [1].
Hiện tại tồn tại nhiều khái niệm về Ontology với nội dung rất đa dạng và phong phú. Một định nghĩa ontology mang tính khái quát và được sử dụng khá phổ biến do Kincho H. Law và cộng sự [1] đưa ra: “Ontology là biểu hiện một tập các khái niệm (đối tượng), trong một miền cụ thể và những mối quan hệ giữa các khái niệm này”.
Các thành phần chính của Ontology là: Lớp (Class), thuộc tính (Property), cá thể (Individual). Lớp (class) là một tập các thực thể, được mô tả logic đề định nghĩa các đối tượng của lớp; lớp được xây dựng theo cấu trúc phân cấp cha con như là một sự phân loại các đối tượng. Thuộc tính (Property) thể hiện quan hệ nhị phân của các cá thể (quan hệ giữa hai cá thể) như liên kết hai thực thể với nhau. Cá thể (individual) hay còn gọi là “thể hiện”. Đây được xem là thể hiện của một lớp, làm rõ hơn về lớp đó và có thể được hiểu là một đối tương nào đó trong tự nhiên.
Hình 1 chỉ dẫn một bộ phận của một ontology về thời tiết.
Hình 1: Ví dụ Ontology mô tả về hiện tượng thời tiết “Gió” (wind) của dự án NextGen Network Enabled Weather (NNEW)
2. Lý do của việc xây dựng ontology
Natalya F.Noy và Deborah L. McGuinness [2] đã chỉ ra 5 lý do sau đây để xây dựng một ontology:
- Thứ nhất, việc chia sẻ sự ‘hiểu’ về các cấu trúc thông tin giữa con người và các tác tử phần mềm là mục tiêu lớn nhất trong sự phát triển của ontology. Ví dụ, có rất nhiều Website chứa đựng các thông tin hay dịch vụ về y tế. Nếu các Website này chia sẻ và được xuất bản trên cơ sở sử dụng các thuật ngữ của cùng một ontology thì máy tính có thể trích chọn và tích hợp thông tin từ các nguồn này, trả lời cho các truy vấn người dùng hay là làm input cho một ứng dụng nào khác.
- Thứ hai, việc xây dựng ontology cho phép khả năng sử dụng lại các tri thức miền.
- Thứ ba, việc xây dựng ontology tạo ra các giả thiết tri thức miền rõ ràng.
- Thứ tư, việc xây dựng ontology cho phép tách biệt tri thức miền với tri thức thi hành.
- Thứ năm, phân tích tri thức miền là hoàn toàn có thể thi hành được khi đã biết được các định nghĩa của các khái niệm trong ontology được xây dựng.
3. Các bước xây dựng một ontology
Thông thường, việc xây dựng một ontology được coi như một hình thức để xác định tập dữ liệu và cấu trúc của nó cho một chương trình khác sử dụng. Phương pháp giải quyết vấn đề, các ứng dụng độc lập và tác tử phần mềm coi ontology và cơ sở tri thức xây dựng từ ontology như là các dữ liệu.
Bài toán xây dựng Ontology bao gồm các bước sau [2]:
• Bước 1: Định nghĩa các lớp (khái niệm) trong Ontology
• Bước 2: Sắp xếp các lớp trong một kiến trúc phân cấp lớp cha - lớp con (taxonomic hierarchy)
• Bước 3: Định nghĩa các thuộc tính của các lớp và mô tả dạng dữ liệu của những thuộc tính này
• Bước 4: Tìm các thể hiện của các lớp, các giá trị của các thuộc tính
Thông thường, để xây dựng Ontology cho một miền ứng dụng nào, ba bước đầu tiên (1-3) được tiến hành thủ công bởi các chuyên gia trong miền ứng dụng đó. Bước 4, hoặc cũng được thực hiện thủ công, hoặc được thực hiện bằng cách tự động khi sử dụng các công cụ của xử lý ngôn ngữ tự nhiên như nhận dạng thực thể, trích chọn quan hệ để tiến hành bổ sung thông tin.

Tài liệu tham khảo
1. C. P. Cheng, G. T. Lau, J. Pan and K. H. Law (2008). Domain-Specific Ontology Mapping by Corpus-Based Semantic Similarity. Proceedings of 2008 NSF CMMI Engineering Research and Innovation Conference, January 7-10, 2008.
2. Noy, N.F., and McGuinness. D.L (2001). Ontology Development 101: A Guide to Creating Your First Ontology SMI. Technical report SMI-2001-0880, Stanford University, 2001.