Saturday, April 4, 2009

Quy trình xây dựng Ontology

1. Ontology learning

Ontology Learning có thể được mô tả như là việc thu thập của 1 mô hình miền từ dữ liệu (miền ở đây có thể như là: Geographical,...). Ontology learning cần dữ liệu đầu vào để học những khái niệm liên quan đến miền đã biết trước, những định nghĩa của khái niệm cũng như các mối quan hệ tổ chức giữa những định nghĩa này. Dữ liệu đầu vào có thể là lược đồ như là XML-DTD, những mô hình UML, hoặc lược đồ cơ sở dữ liệu. Ontology learning có được thực hiện trên cơ sở của các nguồn được cấu trúc như XML hoặc tài liệu HTML … Trong trường hợp ontology learning được thực hiện trên cơ sở của các nguồn văn bản không được cấu trúc, chúng ta sẽ nói về ontology learning from text.

Ontology learning from text

Ontology learning có thể xem là 1 quá trình của công nghệ đảo mã (reverse engineering). Tác giả của 1 văn bản hoặc 1 tài liệu về 1 mô hình miền trong ý thức và bắt đầu tác giả chia sẻ ý tưởng với những tác giả khác để viết những tài liệu về cùng 1 miền. Tác vụ xây dựng lại mô hình thế giới của tác giả hoặc thậm chí mô hình mà được chia sẻ bởi các tác giả khác nhau, có thể được xem như là 1 loại của công nghệ đảo mã (reverse engineering).

Tác vụ này rất phức tạp và thử thách bởi vì 2 lý do:

  • Đây chỉ là 1 phần nhỏ tri thức về miền của những tác giả và quy trình của công nghệ đảo mã có thể xây dựng lại mô hình của tác giả.

  • Tri thức thế giới, chúng ta đang xem xét 1 quyển sách hoặc cuốn từ điển – nó ít khi đề cập rõ ràng. Chỉ 1 phần liên quan của tri thức mà trong văn bản hoặc 1 bài cáo được đề cập nhiều hoặc ít rõ ràng.

    Tri thức thế giới được chứa đựng trong những văn bản theo cái cách mà những từ và những cấu trúc ngôn ngữ được sử dụng bởi tác giả. Điều đó gây khó khăn vì mỗi tác giả sử dụng những từ, cấu trúc ngôn ngữ của họ, và không theo 1 quy ước nào, gây khó khăn trong việc lấy dữ liệu cho việc ontology learning.

2. Phát triển ontology

Việc phát triển ontology chủ yếu liên quanđến việc tiên đề hóa (axiomatize) định nghĩa của những khái niệm (concepts) cùngvới mối quan hệ (relations) giữa chúng. Đối với 1 vài ứng dụng của ontologies,điều quan trọng là kết nối những khái niệm và quan hệ đến những kí hiệu (symbols) mà được sử dụng để tham chiếu đến chúng. Điều này nghĩa là việc thu thập tri thức ngôn ngữ học về những thuật ngữ mà được sử dụng để tham chiếu đến 1 khái niệm cụ thể và những từ đồng nghĩa có thể có của những thuật ngữ này. Sau đó, 1 ontology bao gồm cây phân cấp khái niệm, các quan hệ không phân cấp. Để ràng buộc việc giải thích của những khái niệm và quan hệ, biểu đồ tiên đề (axiom schemata) như là sự phân biệt đối với các khái niệm như symmetry, reflexivity, transitivity,... Cuối cùng, cũng là 1 trong những quan tâm đến việc sử dụng 1 ontology để lấy được dữ kiện mà không được mô hình hóa rõ ràng trong cơ sở tri thức nhưng có thể được thu từ nó.

Phân lớp đưa ra những tác vụ phụ khác nhau của việc ontology learning:
  • việc thu thập những thuật ngữ liên quan, ngôn ngữ

  • sự nhận dạng những thuật ngữ đồng nghĩa, những biến thể
  • hệ thống khái niệm (concepts),

  • việc tổ chức phân cấp các khái niệm (concepts),

  • và phạm vi thích hợp learning những quan hệ (relations), thuộc tính với miền

  • việc tổ chức phân cấp những mối quan hệ (relations),

  • instantiation of axiom schemata

  • khái niệm những tiên đề tùy ý (arbitrary axioms)

Trong hầu hết các trường hợp, những lớp xây dựng dựa trên những lớp ở phía dưới đã xây dựng rồi. Những quy trình ở những lớp cao hơn phụ thuộc vào output của những quy trình tương ứng ở các lớp thấp hơn.

Tuy nhiên, những tác vụ ở những lớp khác nhau có thể được nhóm lại với nhau và sử dụng cùng 1 thuật toán.

Ontology learning layer cake


Ở bước thu thập thuật ngữ, chúng ta sẽ tìm những thuật ngữ liên quan như sông, quốc gia, nước, thành phố, thủ đô. Tại bước tìm từ đồng nghĩa, chúng ta nhóm quốc gia và nước như là khái niệm tương đương. Tiếp theo, chúng ta learning phân cấp khái niệm giữa những khái niệm. Đối với miền địa lý, có thủ_đô ≤C thành_phố, thành_phố ≤C thực_thể_có_người_ở (Inhabited_GE).


Thêm vào nữa, chúng ta learning các mối quan hệ với nhau như là mối quan hệ thủ_đô_của giữa thành_phố và quốc_gia. Tại cấp độ biểu đồ tiên đề (axiom schemata), chúng ta thu được sông và núi là những khái niệm phân biệt. Cuối cùng, chúng ta lấy những quan hệ phức tạp hơn giữa các khái niệm và quan hệ trong hình thái tiên đề. Ví dụ: quy định nói rằng quốc_gia có 1

thủ_đô duy nhất.

3. Những tác vụ của ontology learning

3.1 Xác định thuật ngữ (Terms):

Những thuật ngữ là sự nhận dạng ngôn ngữ học của những khái niệm về lĩnh vực cụ thể. Tác vụ ở đây chính là tìm ra tập hợp những thuật ngữ hoặc dấu hiệu cho các khái niệm và quan hệ, mà chính là đặc điểm của lĩnh vực cụ thể, và sẽ cung cấp cơ sở để định nghĩa 1 bộ từ vựng (lexicon) cho ontology.

Những thuật ngữ có thể là từ đơn hoặc từ ghép mà có ý nghĩa với lĩnh vực đã cho. Đầu vào cho tác vụ này là 1 tập hợp những tài liệu liên quan đến lĩnh vực (domain) quan tâm, và đầu ra là tập hợp chuỗi SC và SR : chứa đựng những thuật ngữ mà được dùng như là dấu hiệu cho khái niệm và quan hệ.

Trong đó SC là dấu hiệu cho khái niệm, SR là dấu hiệu cho quan hệ, nằm trong khái niệm Lexicon.

3.2 Xác định từ đồng nghĩa (Synonyms):

Tác vụ khám phá từ đồng nghĩa bao gồm việc tìm những từ mà có khái niệm tương tự. Chúng ta chú ý rằng 2 từ được xem là đồng nghĩa nếu chúng có nghĩa chung mà có thể được dùng như là cơ sở để hình thành 1 khái niệm liên quan đến lĩnh vực.

Chú ý rằng có 1 sự chồng chéo giữa khái niệm đồng nghĩa và mối quan hệ từ vựng cohyponymy. Cohyponymy được định nghĩa là mối quan hệ giữa hyponyms và hypernym.

Ví dụ : spoon is a hyponym of cutlery

musical instrument is a hypernym of piano

3.3 Những khái niệm (Concepts):

Sự hình thành khái niệm cung cấp:

  • định nghĩa của những khái niệm

  • sự mở rộng của những khái niệm

  • những dấu hiệu từ vựng được dùng để tham chiếu đến chúng.

Chúng ta định nghĩa 1 khái niệm gồm 3 phần < i(c), [|c|],RefC(c) >i(c) is the intension of the concept [|c|] : sự mở rộng của khái niệm RefC(c) : mô tả sự nhận dạng từ vựng trong bộ ngữ liệu (corpus)

3.4 Xác định phân cấp khái niệm (Concep Hierarchies)

Có những tác vụ liên quan :

Việc đưa vào cấu trúc phân cấp khái niệm (Concept Hierarchy Induction) :

Ví dụ : bắt đầu
từ tập khái niệm C:= { Thực thể định danh, Thực thể định danh tự nhiên, Thực thể định danh có người ở, Núi, Sông, Quốc gia, Thành phố }, công việc phải làm là sẽ đưa ra ≤C (phân cấp khái niệm hoặc phân loại tư duy (taxonomy))


Núi < thực thể định danh tự nhiên, sông < thực thể định danh tự nhiên, thực thể định danh tự nhiên < thực thể định danh, quốc gia < thực thể định có người ở, thành phố <
thực thể định có người ở, thủ đô < thành phố, thực thể định danh có người ở < thực thể định danh.

C = {(núi,thực thể định danh), (sông, thực thể định danh), (quốc gia, thực thể định danh), (thành phố, thực thể định danh), (thủ đô, thực thể định danh có người ở}, {thủ đô, thực thể định danh)}

Sự tinh lọc (Refinement) :

Chúng ta định nghĩa việc tinh lọc sự phân cấp khái niệm là 1 tác vụ, mở rộng hệ thống phân cấp khái niệm đã có, bằng việc thêm vào các khái niệm đã tồn tại, tinh lọc lại hệ thống phân cấp.

Ví dụ : thêm vào bộ : (thung lũng, thực thể định danh tự nhiên)

Mở rộng bộ từ vựng (Lexical Extension) :

Chúng ta định nghĩa việc mở rộng bộ từ vựng hoặc việc tinh lọc bộ từ vựng của hệ thống phân cấp khái niệm như là tác vụ, tìm 1 bộ nhận dạng từ vựng mới Si của khái niệm c, mở rộng RefC(c), RefC{c) := RefC{c) Ui{si}

Ví dụ : thêm vào thuật ngữ “suối” vào RefC(sông).

3.5 Xác định các mối quan hệ (Relations) :
  • Dựa vào các khái niệm trong C (concept identifiers), tìm quan hệ có thể được giữa các khái niệm,

  • Đưa ra R (relation identifiers) : tìm những nhãn và nhận dạng quan hệ trên cơ sở ngữ liệu (corpus) có sẵn, các quan hệ có thể có của khái niệm trong C,

  • Lấy 1 quan hệ cụ thể r Є R, theo sự phân cấp khái niệm, chúng ta xác định miền (domain) và phạm vi (range) phù hợp của quan hệ,

  • Learning phân cấp quan hệ trong R, ký hiệu ≤R
Ví dụ : C = { Thực thể định danh, Thực thể định danh tự nhiên, Thực thể định danh có người ở, Núi, Sông, Quốc gia, Thành phố}, R = {thủ_đô_của, nằm_tại}, σR(thủ_đô_của) = (thành phố, quốc gia), (domain : thành phố, range : quốc gia), sự phân cấp quan hệ : thủ_đô_của ≤R nằm_tại . Vì nếu x là thủ đô của y, thì x cũng nằm tại y.

3.6 Xác định lược đồ (Axiom Schemata Instantiations):

Đề cập đến định nghĩa tiên đề của khái niệm và quan hệ. Đối với khái niệm, chúng ta có disjointness hoặc equivalence, trong khi đối với quan hệ, chúng ta có tiên đề mô tả thuộc tính của quan hệ như là transitivity, symmetry, ...

3.7 Xác định tiên đề tổng quát (General Axioms):

Kiểu tiên đề này phụ thuộc nhiều vào hình thức luận lý được dùng trong nền tảng của lĩnh vực cụ thể. Những tiên đề tổng quát là sự kéo theo luận lý nhằm ràng buộc sự diễn dịch của khái niệm và quan hệ. Tác vụ learning axiom có thể được hiểu bao gồm việc đưa ra những mối quan hệ và kết nối phức tạp hơn giữa khái niệm và quan hệ. Tiên đề tổng quát không thể được thu thập 1 cách tự động, chúng ta sẽ không đưa ra cụ thể 1 quy luật nào vì nó phụ thuộc vào hình thức trình bày tri thức được dùng.

Ví dụ : tiên đề : với mọi quốc gia x -> y là thủ đô của x, với mọi z là thủ đô của x -> y = x : mỗi quốc gia chỉ có 1 thủ đô

2 comments:

  1. ban có thể cho mình một ví dụ minh họa rõ ràng bằng chương trình không vậy

    ReplyDelete
  2. TÌnh cờ vào trang này em thấy rất hay. Em đang tìm hiểu về Datalog with Ontology. Thầy có tài liệu gì hay có thể chia sẽ cho em với được không ạ. Em cảm ơn thầy.

    ReplyDelete