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ủ đô

Thursday, April 2, 2009

Các thuật ngữ trong hệ thống TIMEZONES

Trên Trái Đất, thời gian biến đổi dần dần từ Đông sang Tây. Tại một thời điểm xác định, có vùng đang là buổi sáng, có vùng khác lại đang là buổi tối. Một múi giờ là một vùng trên Trái Đất mà người ta quy ước sử dụng cùng một thời gian tiêu chuẩn, thông thường được nói đến như là giờ địa phương. Về lý thuyết, các đồng hồ tại vùng này luôn chỉ cùng một thời gian.

Có thể dùng 24 đường kinh tuyến chia bề mặt Trái Đất ra làm 24 phần bằng nhau, giúp cho chênh lệch giờ giữa các múi giờ là 1 giờ, một con số thuận tiện. Tuy nhiên, việc phân chia trên chỉ là cơ sở chung; các múi giờ cụ thể được xây dựng dựa trên các thỏa ước địa phương, có yếu tố quan trọng của việc thống nhất lãnh thổ quốc gia. Do vậy trên bản đồ thế giới, có thể thấy rất nhiều ngoại lệ, và chênh lệch giờ giữa một số múi giờ có thể không bằng 1 giờ.

Các trang web thông tin về TIMEZONES:
www.worldtimezone.com
www.timeanddate.com

TIMEZONES - - - - - - - - - - - - - - - - - GMT Offsets
Offsets Eastward from GMT (+)
Offsets Westward from GMT (-)

AST - Atlantic Standard Time -4:00
AT #NAME? -2:00
AHD - Alaska-Hawaii Daylight :::
AHS - Alaska-Hawaii Standard -10:00
BLT - Baghdad Local Time +3:00
BST - British Summer Time :::
CAT - Central Alaska Time -10:00
CCT - China Coast Time +8:00
CDT - Central Daylight Time :::
CET - Central European Time +1:00
CLT - Cairo Local Time +2:00
CST - Central Standard Time -6:00
EAD - East Australian Daylight :::
EAS - East Australian Standard +10:00
EDT - Eastern Daylight Time :::
EET - Eastern European Time +1:00
EMT - Eastern Mediterranean +2:00
EST - Eastern Standard Time -5:00
GMT - Greenwich Mean Time +0:00
HST - Hawaii Standard Time -10:00
JST - Japanese Standard Time +9:00
MDT - Mountain Daylight Time :::
MET - Middle European Time +1:00
MST - Mountain Standard Time -7:00
MTS - Moscow Time Standard +3:00
MTD - Moscow Time Daylight :::
NT #NAME? -11:00
NZT - New Zealand Time +12:00
PDT - Pacific Daylight Time :::
PST - Pacific Standard Time -8:00
PST - Pakistan Standard Time +5:00
WAS - West Australian Standard +7:00
WAT - West African Time -1:00
WED - Western Europe Daylight :::
WES - Western Europe Standard +0:00
YDT - Yukon Daylight Time :::
YST - Yukon Standard Time -9:00
IDLE - International Date Line East +12:00
IDLW - International Date Line West -12:00

Wednesday, April 1, 2009

Những kỹ thuật trong Ajax

AJAX (Asynchronous JavaScript and XML - nghĩa là "JavaScript và XML không đồng bộ") là một nhóm các công nghệ phát triển web được sử dụng để tạo các ứng dụng web động hay các ứng dụng giàu tính Internet (rich Internet application). Từ Ajax được ông Jesse James Garrett đưa ra và dùng lần đầu tiên vào tháng 2 nãm 2005 để chỉ kỹ thuật này, mặc dù các hỗ trợ cho Ajax đã có trên các chương trình duyệt từ 10 nãm trước. Ajax là một kỹ thuật phát triển web có tính tương tác cao bằng cách kết hợp các ngôn ngữ:

  • HTML (hoặc XHTML) với CSS trong việc hiển thị thông tin
  • Mô hình DOM (Document Object Model), được thực hiện thông qua JavaScript, nhằm hiển thị thông tin động và tương tác với những thông tin được hiển thị
  • Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với máy chủ web. (Mặc dù, việc trao đổi này có thể được thực hiện với nhiều định dạng như HTML, văn bản thường, JSON và thậm chí EBML, nhưng XML là ngôn ngữ thường được sử dụng).
  • XML thường là định dạng cho dữ liệu truyền, mặc dầu bất cứ định dạng nào cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần (plain text), JSON và ngay cả EBML.
Giống như DHTML, LAMP hay SPA, Ajax tự nó không phải là một công nghệ mà là một thuật ngữ mô tả việc sử dụng kết hợp một nhóm nhiều công nghệ với nhau.

- thread thảo luận về ajax
http://www.javavietnam.org/javavn/mvnforum/viewthread_thread,9591_offset,80
- tự điển online
http://www.informatik.uni-leipzig.de/~duc/Dict/
- nói về đặc tính autocomplete của ComboBox
http://www.dhtmlx.com/docs/products/dhtmlxCombo/index.shtml
- chỉ cách làm trên ASP.net
http://easylistbox.com/demoSuperSearch.aspx