70
Chương MÔ HÌNH VÀ GIẢI PHÁP Nội dung chương 4 gồm Xây dựng mô hình Ontology mức quan niệm Đề xuất cách thức lưu trữ Ontology Đề xuất cách thức tổ chức lưu trữ có ngữ nghĩa Đề xuất cách thức xử lý tìm kiếm theo ngữ nghĩa 84

C4_Mo Hinh Va Giai Phap

Embed Size (px)

DESCRIPTION

Mo hinh va giai phap

Citation preview

Page 1: C4_Mo Hinh Va Giai Phap

Chương

MÔ HÌNH VÀ GIẢI PHÁP

Nội dung chương 4 gồm

Xây dựng mô hình Ontology mức quan niệm

Đề xuất cách thức lưu trữ Ontology

Đề xuất cách thức tổ chức lưu trữ có ngữ nghĩa

Đề xuất cách thức xử lý tìm kiếm theo ngữ nghĩa

84

Page 2: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 85Mô hình và giải pháp

4.1 Mô hình Ontology cho lĩnh vực tin học

Mô hình đề xuất trong luận văn có thể xem như một chọn lựa tốt hơn

so với các mô hình đã có vì nó kết hợp các kỹ thuật của các nghiên

cứu thực tế đã được chứng minh như

Việc dùng các Keyphrase [20] [31] [32] để mô tả về nội dung của tài

liệu mà các tác giả tại đại học WAIKATO tại New Zealand đã đề

xuất và triển khai với dự án về trút trích thông tin Keyphrase được

biết với tên KEA (http://www.nzdl.org/Kea/)

Cách thức lập chỉ mục và tìm kiếm thông tin trên hệ thống kho tài

liệu với Lucene [22] [51] của Apache (http://lucene.apache.org/).

Cách cách thức biểu diễn ngữ nghĩa mà W3C

(http://www.w3.org/TR/) đã đề xuất đó là OWL [16] và SKOS [15]

để từ đó hình thành nên ý tưởng về việc pha trộn giữa OWL và

SKOS để xây dựng nên mô hình Ontology.

Dựa các bộ từ điển dữ liệu về tài liệu tin học đã có sẵn của [48] [50]

[46] để làm nền tảng dữ liệu thực tế cho mô hình Ontology.

Mô hình đề xuất có tên IS-KPON (Information Science Keyphrase

Ontology) : Trong đó gồm một tập các lớp để mô hình hóa về

phạm vi tin học, tương ứng mỗi lớp sẽ chứa một tập các phần tử

mà mỗi phần tử là một keyphrase về lĩnh vực tin học và trong mô

hình sẽ chứa các mối quan hệ để thể hiện sự liên quan ngữ nghĩa

giữa các phần tử hoặc giữa các lớp.

4.1.1 Mô hình Ontology SPN-KOS

Mô hình SPN-KOS (Software-Programming-Network Keyphrase

Ontology System) gồm các thành phần sau (E, C, R)

E tập hợp các yếu tố (phần tử) mà nó chính là keyphrase.

Page 3: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 86Mô hình và giải pháp

C tập hợp các lớp về lĩnh vực tin học.

R tập hợp các mối quan hệ trên các phần tử.

Keyphrase và lý do dùng Keyphrase cho mô hình SPN-KOS:

Một keyphrase là một từ vị gồm nhiều từ (ví dụ: computer science)

trong đó keyword là một từ (ví dụ: computer) trong luận văn đều

xem là Keyphrase

– Cho khả năng mô tả mức cao về nội dung tài liệu để dễ dàng

cho người đọc biết tài liệu có liên quan với nội dung họ cần tìm

hiểu hay không ?

– Cho một tóm tắt cô đọng về tài liệu.

Mô hình SPN-KOS dùng để mô hình hóa lĩnh vực tin học trong đó C

là một tập hợp các lớp hoặc gọi là bộ sưu tập các khái niệm dùng để

mô hình hóa lĩnh vực tin học và theo thống kê thủ công từ dữ liệu tại

trang webopedia ta có được 16 lớp chính cho lĩnh vực tin học đó là

Lĩnh vực con của tin học Ý nghĩaCOMMUNICATIONS Truyền thôngINTERNET AND ONLINE SERVICES Internet và dịch vụ trực

tuyếnOPERATING SYSTEMS Hệ điều hànhSOFTWARE Phần mềm máy tínhCOMPUTER SCIENCE Khoa học máy tínhMOBILE COMPUTING Tính toán trên thiết bị di

độngPROGRAMMING Lập trìnhSTANDARDS Các chuẩn (ví dụ: chuẩn

mạng, chuẩn giao thức truyền thông)

DATA Dữ liệu, cơ sở dữ liệuMULTIMEDIA Đa truyền thôngOPEN SOURCE Mã nguồn mởTYPES OF COMPUTERS Các loại máy tínhGRAPHICS Đồ họaNETWORKS Mạng máy tínhHARDWARE Phần cứng

Page 4: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 87Mô hình và giải pháp

WORLD WIDE WEB

đồng thời trong mỗi 16 lớp chính này cũng có bên trong nó là danh

sách các lớp khác là và tất cả các lớp hiện tại chỉ xét mối quan hệ

has-a.

Trong IS-KPON còn có một tập E gồm các yếu tố hoặc phần tử

(mỗi phần tử là một keyphrase) cùng với các mối quan hệ ngữ nghĩa

giữa các Keyphrase, mối quan hệ ngữ nghĩa giữa các Keyphrase thì

cần phải dựa vào định nghĩa bằng ngôn ngữ tự nhiên đã cung cấp tại

[48] [50] và ta phải tạo một cách thủ công các mối quan hệ ngữ nghĩa

này , hiện tại trong IS-KPON đề cập đến các mối quan hệ ngữ nghĩa

là cùng lớp, đồng nghĩa (synonym), gần nghĩa (near-synonym), viết

tắt (acronym), broader, narrower, extension, related. Giữa E và C

cũng có mối liên hệ với nhau đó chính là mỗi tập con trong E có thể

chứa trong tập con của C để cho tập con mô hình hóa về phạm vi con

trong C.

Ví dụ: một danh sách các keyphrase thuộc tập con

“COMMUNICATIONS” để nói lên rằng tập con này về phạm vi

truyền thông và “COMMUNICATION” thuộc phạm vi lớn hơn đó

là tin học.

Ghi chú : việc phân lớp dựa theo ý tưởng phân loại của [48],

còn [50] dùng cho việc tra cứu các định nghĩa về các

keyphrase.

4.1.2 Giải thích và diễn giải về Ontology IS-KPON

Gọi E là tập hợp chứa toàn bộ các keyphrase để mô tả về phạm vi tin

học, các keyphrase này có được dựa theo từ điển máy tính tại

www.webopedia.com [48]. Ta phân tách E thành các phần như sau:

Page 5: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 88Mô hình và giải pháp

Các lớp, trong đó mỗi một lớp là tập con của E và tập các lớp

chứa trong P (E)

Mỗi lớp chứa một tập hợp các keyphrase.

Trong E tồn tại mối quan hệ giữa các keyphrase.

4.1.2.1 Diễn giải cho sự phân lớp

Theo như tại trang web để mô hình hóa cho lĩnh vực tin học ta chia ra

nhiều lớp (tập hợp) trong đó các lớp (tập hợp) chính như sau.

P (E) có các tập con là : C1 = “COMMUNICATIONS”, C2 = “INTERNET

AND ONLINE SERVICES”, C3 = “OPERATING SYSTEMS”, C4 =

“SOFTWARE”, C5 = “COMPUTER SCIENCE”, C6 = “MOBILE

COMPUTING”, C7 = “PROGRAMMING”, C8 = “STANDARDS”, C9 =

“DATA”, C10 = “MULTIMEDIA”, C11 = “OPEN SOURCE”, C12 = “TYPES

OF COMPUTERS”, C13 = “GRAPHICS”, C14 = “NETWORKS”, C15 =

“HARDWARE”, C16 = “WORLD WIDE WEB”

COMMUNICATIONS

INTERNET AND

ONLINE SERVICES

OPERATING SYSTEMS

SOFTWARE

COMPUTER SCIENCE

MOBILE COMPUTIN

G

PROGRAMMING

STANDARDS

DATA

MULTIMEDIA

OPEN SOURC

E

TYPES OF COMPUTER

S

GRAPHICS

NETWORKS

HARDWARE

WORLD

WIDE WEB

IS-KPON

Page 6: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 89Mô hình và giải pháp

Hình 4.1: Tổng quan về IS-KPON và các lớp của nó

Như vậy cơ bản sẽ có 16 lớp (tập hợp) chứa trong P (E). Ký hiệu

toán học như sau:

i=1, 2, 3, … 16 : Ci E, và P (E) {C1, C2, C3, …C16}

Trong quá trình xây dựng các lớp có thể xây dựng thêm các lớp khác

dựa vào dữ liệu cụ thể từ trang web WEBOPEDIA, cho nên tổng số

các lớp dùng mô hình hóa cho lĩnh vực tin học là 201 lớp và có 294

mối quan hệ giữa các lớp với nhau, mỗi lớp trong 201 lớp tạo nên ý

nghĩa trong phạm vi cụ thể về lĩnh vực trong tin học. Dựa vào dữ liệu

đã cho ta có thể mô hình hóa thành sơ đồ với các lớp có mối quan hệ

has-a với nhau (sơ đồ hình vẽ về mối quan hệ giữa các lớp được

trình bày trong phần phụ lục)

Ví dụ: xét một phần ở dạng quan hệ has-a trong IS-KPON

SOFTWARE

|--- APPLICATIONS

|--- APPLICATION

FAILURES

|--- DOCUMENTATION

Ta có SOFTWARE là lớp tại cấp

trên để cho sự mô tả về phần mềm

Lớp APPLICATIONS nằm dưới

lớp SOFTWARE mô tả nghĩa của

lĩnh vực cụ thể hơn so với

SOFTWARE đó là về ứng dụng

Cấp kế tiếp của APPLICATIONS là APPLICATION FAILURES và

DOCUMENTATION cho biết về phạm vi cụ thể hơn so với phạm vi

ứng dụng đó là lỗi phát sinh của ứng dụng và sưu liệu.

Giải thích về mối quan hệ has-a đã được đề xuất. Theo [47] [49] mối

quan hệ has-a được xem xét theo các hướng như sau

Page 7: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 90Mô hình và giải pháp

– Xét theo hướng cơ sở dữ liệu : mối quan hệ has-a thường được

dùng thể hiện trong mô hình quan hệ thực thể Entity-relationship

(ER).

– Xét theo hướng lập trình : ở khía cạnh lập trình hướng đối tượng

object-oriented programming thì mối quan hệ has-a được biểu

diễn trong sơ đồ Unified Modeling Language (UML). Và cũng

được biết như mối quan hệ bao gộp (composition).

Cho nên mối quan hệ has-a sẽ là mối quan hệ cha – con, mở rộng

– thu hẹp, toàn phần – bộ phận, thành phần của

Ví dụ 1 : Car has-a Carburetor hoặc nói rằng Car composed of

Carburetor và ta ký hiệu là hình kim cương được tô đen giữa

Car và Carburetor chứ không phải hình kim cương tô trắng,

điều này cũng cho biết rằng nếu Car tồn tại thì cũng tồn tại

Carburetor, nếu Car không tồn tại thì không tồn tại Carburetor.

Ngược lại nếu là hình kim cương tô trắng thì sẽ cho biết rằng

nếu không có mối quan hệ has-a giữa 2 đối tượng thì đối

tượng này có tồn tại hay không cũng sẽ không ảnh hưởng đến

đối tượng kia, và mối quan hệ có hình kim cương tô trắng cũng

được biết như mối quan hệ kết hợp (Aggregation) chẳng hạn

Pond và Duck là has-a được tô màu trắng như hình sau

Ví dụ 2 : ta có đối tượng Node có has-a là Vector như hình sau

Page 8: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 91Mô hình và giải pháp

Hình 4.2: Một phần về mối quan hệ has-a giữa các lớp trong IS-KPON

Toàn bộ các mối quan hệ has-a giữa các lớp được vẽ trong phần phụ

lục

Nguyên tắc xây dựng lớp dựa theo ý tưởng về sự phân loại

các phạm vi tin học cụ thể được cho tại trang web

www.webopedia.com

– Dựa theo 16 lớp cơ bản ban đầu ta xây dựng được tiếp 153

lớp nhờ vào dữ liệu phân loại cha – con. Trang web này phân

ra thành các PARENT CATEGORIES và SUB CATEGORIES.

Đồng thời tại mỗi phân loại của trang web có chứa thêm mục

TERMS để cho biết các term cho lớp đó, và ta quy định

PARENT CATEGORIES tương ứng lớp cha, còn SUB

CATEGORIES tương ứng lớp con, và mỗi TERMS là một

Keyphrase

Page 9: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 92Mô hình và giải pháp

Hình trên là cách thức phân loại của trang web, trong loại

Applications có cho biết loại cha (PARENT CATEGORIES) là

Software, cho biết loại con (SUBCATEGORIES) là Application

Failures và Documentation, và trang web cũng cho biết các

TERMS liên quan đến Applications.

Ghi chú : Hình bên chỉ liệt kê một số term mà thôi, tất cả các term

cụ thể có thể xem chi tiết tại trang web

– Sau đó ta lại tiếp tục xây dựng được 30 lớp mới vì nó là

subcategories của 153 lớp vừa xây dựng.

– Và sau cùng ta có 2 lớp mới được xây dựng vì nằm trong số

lớp con của 30 lớp vửa tạo.

Quy ước về ký hiệu: ta gọi A là lớp con của B thì khi đó ký hiệu là A

B, ngược lại A là lớp cha của B thì khi đó ký hiệu là A B.

Page 10: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 93Mô hình và giải pháp

Ví dụ về cách xây dựng lớp COMPUTER SCIENCE và các lớp liên

quan như sau

Lớp này có 15 lớp con : (ARTIFICIAL INTELLIGENCE,

CLIENT/SERVER COMPUTING, DISTRIBUTED COMPUTING,

ELECTRONIC TECHNOLOGY, LASERS, MEASUREMENT,

NANOTECHNOLOGY, PERVASIVE COMPUTING, SUPERCOMPUTING,

TRANSACTION PROCESSING, VIRTUALIZATION, BIOMETRICS,

GREEN IT, DATABASES, VOCATIONS) => như vậy sẽ có 15 lớp con

sẽ được tạo, nếu lớp nào trùng với lớp đã có thì không tạo.

Cho nên ta xét tiếp các lớp con của lớp COMPUTER SCIENCE

như sau: trong 15 lớp con của COMPUTER SCIENCE, thì có một

số lớp đồng thời vừa là lớp con của COMPUTER SCIENCE và

cũng là lớp con của lớp khác.

BIOMETRICS COMPUTER SCIENCE , SECURITY =>

BIOMETRICS vừa là con của COMPUTER SCIENCE và là

con của SECURITY

GREEN IT COMPUTER SCIENCE , BUSINESS COMPUTING =>

GREEN IT vừa là con của COMPUTER SCIENCE và

BUSINESS COMPUTING

DATABASES COMPUTER SCIENCE , DATA , SOFTWARE =>

DATABASES vừa là con của COMPUTER SCIENCE , DATA

và SOFTWARE

VOCATIONS COMPUTER SCIENCE, PROGRAMMING =>

VOCATIONS là lớp con của COMPUTER SCIENCE và

PROGRAMMING

…….

=> Như thế trong quá trình xét duyệt 16 lớp cơ bản ta tạo

được thêm 153 lớp

Page 11: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 94Mô hình và giải pháp

Tiếp tục xét các lớp con của 153 lớp và tạo tiếp 30 lớp cũng

theo ý tưởng tương tự như sau

CLIENT/SERVER COMPUTING SERVERS => lớp

CLIENT/SERVER COMPUTING có lớp con là SERVERS

nhưng lớp con này đã được tạo trong số 169 lớp nên

không tạo nữa.

DATABASES (OSRC DATABASES, QUERIES ) => lớp

DATABASES có lớp con là OSRC DATABASES, QUERIES

trong đó lớp OSRC DATABASES đã được tạo nên không

tạo, còn lớp QUERIES chưa có mặt trong số 169 lớp cho

nên tạo lớp này.

LASERS FIBER OPTICS => lớp LASERS có lớp con là FIBER

OPTICS và lớp này không có trong 169 nên tạo thêm lớp

này.

PERVASIVE COMPUTING HAPTICS => lớp PERVASIVE

COMPUTING có lớp con là HAPTICS và lớp này chưa

được tạo trong số 169 lớp cho nên ta cần tạo thêm.

……

Cuối cùng ta tạo thêm là 2 lớp mà nó có mối quan hệ là lớp

con so với các lớp đã xét.

Ghi chú: mỗi lớp được hình thành có chứa tập các keyphrase để mô

hình cho một phạm vi cụ thể. So với tập cha của nó.

Như thế ta có

Page 12: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 95Mô hình và giải pháp

Tập sẽ gồm 201 lớp là tổng số lớp theo thống kê trên, mỗi

lớp sẽ chứa một số keyphrase trong E, ký hiệu C i = { i1, i2, …in } , và

theo thống kê ta có được 294 mối quan hệ has-a giữa 201 lớp.

Và ta có với n = 201 lớp, và theo thống kê chọn lọc tại trang

www.webopedia.com thì có khoảng 6000 keyphrase. Như vậy E =

{x | x là keyphrase thuộc về tin học} và | E | 6000

4.1.2.2 Quan hệ ngữ nghĩa giữa các keyphrase trong E

Ta có tập E , một quan hệ 2 ngôi trên E là một tập hợp con R

của E2. Cho 2 phần tử x và y của E, ta nói x có quan hệ R với y khi và

chỉ khi (x,y) R, và viết là x R y. Như vậy: x R y (x,y) R. Khi x

không có quan hệ R với y, ta viết: . Các quan hệ giữa các

keyphrase trong E bao gồm:

Quan hệ cùng lớp giữa các keyphrase : ta nói keyphrase a có

quan hệ cùng lớp (r1) với keyphrase b nếu có một Ci sao cho a

Ci và b Ci

Quan hệ broader – narrower giữa các keyphrase : ta nói

keyphrase a có quan hệ broader (r2) với keyphrase b nếu a có

nghĩa bao hàm b, hoặc có thể hiểu a có nghĩa rộng hơn so với b

trong một ngữ cảnh đang xét và ngược lại ta nói b có quan hệ

CS

b

a

e

d

c

Page 13: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 96Mô hình và giải pháp

narrower ( )so với a. Về ngữ cảnh như thế nào thì cần dựa theo

định nghĩa được cho tại WEBOPEDIA để phân tích và thiết lập

Ví dụ xét định nghĩa của keyphrase AppleTalk Address Resolution Protocol

như sau

Short for AppleTalk Address Resolution Protocol, a protocol for

mapping a device’s physical hardware address to a temporary

Appletalk network-assigned address in Macintosh computer LANs.

When a protocol stack sends a data packet, the protocol address

specifies the destination. The data link layer relies on AARP to

translate the protocol address into the hardware address of the

destination node.

Như thế trong quá trình đọc và xét duyệt thủ công ta có thể

tạo nên mối quan hệ broader – narrower giữa các

keyphrase.

Bảng 4.1: Keyphrase có broader là keyphrase “protocol”

Theo bảng trên có thể hiểu các keyphrase ở cột

KeyphraseName là narrower so với keyphrase “protocol”

Page 14: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 97Mô hình và giải pháp

Mối quan hệ has-a giữa các lớp có thể mô tả thành mối quan hệ

broader – narrower giữa các keyphrase nếu keyphrase đó có tên

giống với tên lớp và nó được chứa trong lớp đó.

Ví dụ: ta có mối quan hệ giữa lớp COMPUTER SCIENCE và

lớp ARTIFICIAL INTELLIGENCE, đồng thời ta cũng có

keyphrase computer science COMPUTER SCIENCE,

keyphrase artificial intelligence ARTIFICIAL

INTELLIGENCE. Như vậy giữa hai keyphrase có tên giống tên

lớp sẽ mối quan hệ broader – narrower giữa chúng. Đồng thời

cần đọc thêm định nghĩa bằng ngôn ngữ tự nhiên để xác định

thêm keyphrase artificial intelligence có mối quan hệ narrower

với các keyphrase là games playing, expert systems, natural

language, neural networks, robotics dựa theo định nghĩa của

artificial intelligence được cho tại webopedia như sau

The branch of computer science concerned with making computers behave like humans. The term was coined in 1956 by John McCarthy at the Massachusetts Institute of Technology. Artificial intelligence includes

games playing: programming computers to play games such as chess and checkers expert systems : programming computers to make decisions in real-life situations (for example, some expert systems help doctors diagnose diseases based on symptoms) natural language : programming computers to understand natural human languages neural networks : Systems that simulate intelligence by attempting to reproduce the types of physical connections that occur in animal brains robotics : programming computers to see and hear and react to other sensory stimuli

…..

Dựa theo dữ liệu cụ thể của WEBOPEDIA trong 201 lớp, và theo

thống kê thủ công thì có 118 keyphrase có tên giống với tên lớp

hoặc tên của keyphrase tương tự tên lớp nhưng ở dạng số ít còn

tên lớp chứa nó ở dạng số nhiều (ví dụ: virus VIRUSES)

Page 15: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 98Mô hình và giải pháp

Như vậy mối quan hệ broader – narrower của các keyphrase

có được do xuất phát từ mối quan hệ giữa các lớp và ta ký hiệu

như sau:

a broader b class(a) class(b)

a narrower b class(a) class(b)

Trong đó: class(a) là lớp chứa keyphrase a class(b) là lớp chứa

keyphrase b. Quy ước class(x) là lớp chứa keyphrase x.

Quan hệ đồng nghĩa (synonym) giữa các keyphrase : ta nói

keyphrase a có quan hệ đồng nghĩa hoặc ở dạng rút gọn (r3) với

keyphrase b nếu trong một ngữ cảnh đang xét ta đều có hai

keyphrase cùng ý nghĩa.

Ví dụ xét định nghĩa của keyphrase packet được cho như sau

A piece of a message transmitted over a packet-switching network. See under packet switching. One of the key features of a packet is that it contains the destination address in addition to the data. In IP networks, packets are often called datagrams.

như vậy keyphrase packet có quan hệ đồng nghĩa r3 với

keyphrase datagram trong ngữ cảnh computer network.

Quan hệ gần nghĩa (near-synonym) giữa các keyphrase : ta nói

keyphrase a có gần nghĩa (r4) với keyphrase b nếu trong một ngữ

cảnh đang xét ta đều có hai keyphrase có cùng ý nghĩa, hoặc ý

nghĩa của chúng gần giống nhau.

Ví dụ xét định nghĩa của keyphrase overclock trong đó có câu

định nghĩa

Overclocking is sometimes called speed margining

như vậy keyphrase access code có keyphrase gần nghĩa là

password.

Page 16: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 99Mô hình và giải pháp

Quan hệ extension giữa các keyphrase : ta nói keyphrase a có

quan hệ extension (r5) với keyphrase b nếu keyphrase a có chứa

các ý nghĩa như b và a còn có thêm thông bổ sung cho nó, hoặc

nghĩa của keyphrase a nâng cấp từ keyphrase b, hoặc nghĩa của

keyphrase a thay thế ý nghĩa của keyphrase b, hoặc keyphrase a

là dẫn xuất từ keyphrase b và ý nghĩa bổ sung ngữ cảnh, hoặc

keyphrase a là dựa trên keyphrase b. Để thiết lập được mối quan

hệ này thì cần dựa theo các định nghĩa bằng ngôn ngữ tự nhiên

được cung cấp từ WEBOPEDIA.

Ví dụ xét định nghĩa về C++ được cho tại WEBOPEDIA như sau:

A high-level programming language developed by Bjarne Stroustrup at Bell Labs. C++ adds object-oriented features to its predecessor, C. C++ is one of the most popular programming language for graphical applications, such as those that run in Windows and Macintosh environments.

Dựa theo một phần của định nghĩa đã cho ta có thể thiết lập

giữa keyphrase C và keyphrase C++ đó là C++ là

extension của C

Sự có liên hệ related giữa các keyphrase: ta nói keyphrase a có

liên hệ related (r6) với keyphrase b nếu đó được liệt kê tại web. Sự

có liên hệ này mang tính phổ quát mà nó có thể bao hàm các mối

quan hệ đã đề cập trên, hoặc nó vừa có ý nghĩa trong quan hệ này

và có ý nghĩa trong quan hệ khác, do đó WEBOPEDIA cũng đã

cung cấp sẵn các keyphrase có liên hệ với keyphrase mà ta đang

xét.

Ví dụ xét keyphrase “database” có các keyphrase liên quan

được liệt kê cụ thể tại WEBOPEDIA như sau: active archiving,

attribute, connection pool, DAM, data mining, data warehouse,

database management system, distributed database, DML, drill

Page 17: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 100Mô hình và giải pháp

down, DSN, dynaset, EDGAR, ETL, field, file, hypertext,

metadata, ODS, OLAP, RDBMS, record, replication

Ghi chú: để xác định các mối quan hệ r2, r3, r4, r5 ta đều dựa theo

định nghĩa bằng ngôn ngữ tự nhiên được cung cấp tại WEBOPEDIA,

trong quá trình tạo thủ công cần xem xét các định nghĩa liên quan với

một keyphrase chứ không phải chỉ xét trên trong phạm vi định nghĩa

của keyphrase được cho. Còn mối quan hệ r6 được WEBOPEDIA liên

kết kèm theo các định nghĩa.

Xét thêm một vài định nghĩa và phân tích nó

Xét định nghĩa của analog television như sau

Preceding digital television (DTV), all televisions encoded pictures as an analog signal by varying signal voltage and radio frequencies. DTV is fast replacing analog TVs as digital broadcasting enables broadcasters to offer television with movie-quality picture and sound. Analog systems are more commonly known as NTSC systems.

A U.S. Senate panel has set an April 7, 2009, as the deadline for television stations to switch entirely from analog to digital broadcasts. Analog televisions will work until all analog broadcasting ceases. Once the transition to complete DTV has taken place, a converter will be required to receive DTV signals and change them to the analog format of these older types of televisions. However, these DTV-to-analog converters will not produce true DTV quality. Analog televisions are now commonly referred to conventional televisions.

Trong định nghĩa của analog television có ghi như sau

“Preceding digital television …” => điều này cho biết analog

television có extension của nó là digital television hay có thể

nói rằng digital television là extendFrom analog television

khi đó ta có thêm mối quan hệ extension giữa analog

television và digital television. Ngoài ra, phần cuối của định

nghĩa analog television có để cập “Analog televisions are now

commonly referred to conventional televisions” => từ đây ta

Page 18: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 101Mô hình và giải pháp

cũng có thể suy luận rằng analog television đồng nghĩa với

conventional televion như vậy ta có thể mối quan hệ

synonym giữa analog television với conventional televion

Xét định nghĩa “crimeware” như sau

A type of malicious software that is designed to commit crimes on the Internet. Crimeware may be a virus, spyware or other deceptive piece of software that can be used to commit identity theft and fraud.

Theo định nghĩa và phân tích ta nhận thấy crimeware có

broader là malicious software , crimeware có near-synonyms

là virus, spyware.

Xét định nghĩa “DAML” như sau

Short for DARPA Agent Markup Language, DAML is a semantic markup language that is specifically an extension to XML and the Resource Description Framework (RDF). DAML is used for the U.S. Defense Advanced Research Project Agency (DARPA) and compared to the XML standard it offers a better capacity to express semantics (describing objects and the relationships between objects), which means a much higher level of interoperability between Web sites.

Ta có broader của DAML là semantic markup language và

DAML extension từ XML và RDF

Ghi chú: Giữa quan hệ broader và quan hệ near-synonym tùy thuộc

vào ngữ cảnh và định nghĩa được cho mà nó sẽ có những trường

hợp broader và near-synonym giống nhau và cũng có trường hợp là

khác nhau.

Xét định nghĩa của keyphrase “multidimensional DBMS” như

sau

A database management system (DBMS) organized around groups of records that share a common field value. Multidimensional databases are often generated from relational databases. Whereas relational databases make it easy to work with individual records, multidimensional databases are designed for analyzing large groups of records.

Page 19: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 102Mô hình và giải pháp

The term OLAP (On-Line Analytical Processing) has become almost synonymous with multidimensional databases, whereas OLTP (On-Line Transaction Processing) generally refers to relational DBMSs.

Từ định nghĩa ta rút ra được “multidimensional DBMS” gần

nghĩa với “OLAP”

“multidimensional DBMS” là extension của “relational

databases”

“multidimensional DBMS” có broader là “database

management system”

Ghi chú: có những trường hợp sau khi phân tích mối quan hệ giữa

hai keyphrase thì có thể xem như đồng nghĩa hoặc gần nghĩa. Và mối

quan hệ gần nghĩa là sự bao hàm của mối quan hệ đồng nghĩa, có

những mối quan hệ cũng được cung cấp sẵn tại WEBOPEDIA.

Chẳng hạn ta xét thêm định nghĩa “tool” đã được cho cụ thể

như sau

A program that performs a very specific task. Synonymous with utility.Similar to application.

Như vậy dựa theo định nghĩa ta có thể xác định được mối quan

hệ giữa program và utility là đồng nghĩa (synonym) và mối

quan hệ giữa program và application là gần nghĩa (near-

synonym).

Theo như 6000 định nghĩa đã cho từ trang web WEDOPEDIA cùng

với việc suy luận và tạo thủ công về mối quan hệ giữa các keyphrase

với nhau

Quy định về ký hiệu cho Lớp (Class) và Keyphrase sử dụng : theo

các phân loại tại trang WEBOPEDIA về phân định phạm vi tin học, ta

sẽ quy định tương ứng cho các lớp (Class) trong IS-KPON nhưng sẽ

Page 20: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 103Mô hình và giải pháp

được viết dưới dạng toàn bộ là chữ hoa (ví dụ: COMPUTER

SCIENCE,…) và các Keyphrase có thể có trường hợp Keyphrase ở

dạng toàn bộ là chữ hoa nếu keyphrase đó là acronym của một

Keyphrase khác (ví dụ: keyphrase computer science có acronym là

CS) hoặc ký tự đầu của Keyphrase có thể là chữ hoa.

4.1.3 Cách thức lưu trữ mô hình Ontology IS-KPON

Cách thức tổ chức lưu trữ cho IS-KPON chính là cách thức lưu trữ

thông tin các lớp, keyphrase, và mối quan hệ giữa chúng trên đĩa như

thế nào. Cách thức lưu trữ Ontology ở dạng dữ liệu thô được mô tả

như sau:

o Mối quan hệ has-a giữa các lớp sẽ được lưu trữ trong cơ sở dữ

liệu ACCESS (hoặc SQL Server) như sau: ta xét 201 lớp chính, cứ

mỗi hai lớp nếu có quan hệ has-a với nhau ta sẽ lưu thành một

dòng trong một bảng (table) gồm 2 cột có tên ClassParentName,

ClassChildName , và nội dung của 2 ô dữ liệu của dòng đó là

chứa tên hai lớp có mối quan hệ has-a với nhau. Khi chèn thêm

dữ liệu dữ liệu vào bảng sẽ tương đương việc tạo mối quan hệ

cho 2 lớp, và tổng số dòng có được từ bảng gồm 294 dòng tương

ứng với 294 mối quan hệ has-a.

o Tương tự ta cũng lưu trữ thông tin về mối quan hệ ngữ nghĩa của

Keyphrase như Acronym, Synonym, Near-Synonym, Broader,

Narrower, Extension và Related dưới dạng các table gồm 2 cột,

nhưng đối với mối quan hệ Acronym và Synonym thì lưu trong

cùng một bảng, vì ý nghĩa của chúng có thể được xem là tương tự

nhau. Còn các mối quan hệ khác của keyphrase như

Page 21: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 104Mô hình và giải pháp

– Boader : lưu thành một bảng hai cột KeyphraseName,

Broader.

– Narrower : lưu thành một bảng hai cột KeyphraseName,

Narrower.

– Extension : lưu thành một bảng hai cột KeyphraseName,

Extension.

– Related : lưu thành một bảng hai cột là KeyphraseName,

Related.

Ghi chú: Related thể hiện sự có liên quan đến Keyphrase cho nên

dữ liệu của nó có thể sẽ bao hàm hầu hết các mối quan hệ khác.

Như thế ta có

Bảng dữ liệu với 294 dòng và 2 cột tương ứng với 294 mối quan hệ

giữa một cặp lớp và có tổng số là 294 mối quan hệ giữa tất cả các

lớp.

Page 22: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 105Mô hình và giải pháp

4.1.3.1 Cách thức lưu trữ Lớp (Class)

Bảng 4.2: Lớp cha và lớp con

Theo bảng trên ta có 2 cột ClassParentName (lớp cha) và

ClassChildName (lớp con), ta nói ClassParentName có has-a là

ClassChildName. Ta không nói ClassChildName có has-a là

ClassParentName.

Ví dụ: COMMUNICATIONS có has-a là BUSINESS COMPUTING

=> điều này cũng cho biết rằng COMMUNICATIONS là chứa đựng

BUSINESS COMPUTING, và nếu không tồn tại

COMMUNICATIONS thì cũng không tồn tại BUSINESS

COMPUTING. Nhưng nếu một lớp khác có has-a là BUSINESS

COMPUTING thì BUSINESS COMPUTING vẫn tồn tại dù rằng

không tồn tại COMMUNICATIONS

Nếu hai lớp có mối quan hệ với nhau thì sẽ lưu trữ thành một dòng trong cơ sở dữ liệu, vì thế tổng số dòng thể hiện là 294, cũng tương ứng với 294 mối quan hệ has-a giữa các lớp

Page 23: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 106Mô hình và giải pháp

Lưu đồ thuật toán tạo mối quan hệ has-a giữa các lớp theo bảng

dữ liệu

Đầu vào: Bảng dữ liệu gồm 2 cột ClassParentName,

ClassChildName

Đầu ra: Danh sách các lớp đã được tạo mối quan hệ has-a giữa

chúng

Lưu đồ:

Hình 4.3: Lưu đồ tạo quan hệ has-a giữa các lớp

Hết

Hết

còn

còn

Duyệt từng dòng của cột ClassChildname trong table

Xác định đây là một lớp

Hết dữ liệu ở cột

ClassChildName

Tương ứng mỗi mẫu dữ liệu của ClassChildName ta duyệt

từng dòng dữ liệu của cột ClassParentName

Tạo mối quan hệ has-a cho ClassChildName và ClassParentName

Hết dữ liệu ở cột ClassParentNa

me

Dừng

Bắt đầu

Page 24: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 107Mô hình và giải pháp

4.1.3.2 Cách thức lưu trữ Keyphrase và thông tin liên quan

4.1.3.2.1 Keyphrase và lớp (class) chứa keyphrase

Đây chính là mối quan hệ cùng lớp giữa các keyphrase, vì sau khi ta

gán mỗi keyphrase cho một lớp tương ứng thì khi đó nếu xét trong

một lớp ta sẽ biết được trong lớp đó sẽ chứa keyphrase nào, như thế

cũng biết được các keyphrase cùng lớp và đây cũng chính là mối

quan hệ (r1) như đã đề cập ở IS-KPON mức quan niệm

Bảng 4.3: Keyphrase và lớp chứa

Keyphrase

Giữa Keyphrase và một

keyphrase có mối quan hệ

cùng lớp (r1) với nó ta lưu

thành một bảng gồm hai

cột tương ứng như mối

quan hệ 2 ngôi : trong đó

keyphrase nằm trong cột

KeyphraseName và cột

inClass sẽ cho biết lớp

chứa Keyphrase đó

Lưu đồ thuật toán tạo mối quan hệ (r1) từ bảng dữ liệu trên

Đầu vào: Bảng dữ liệu có > 20000 dòng gồm 2 cột KeyphraseName,

inClass

Đầu ra: Danh sách các keyphrase đã được phân định cho các lớp

Lưu đồ:

Page 25: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 108Mô hình và giải pháp

Hình 4.4: Lưu đồ gán Keyphrase vào lớp

4.1.3.2.2 Keyphrase và keyphrase có quan hệ Broader, Narrower

Bảng 4.4: Keyphrase và quan hệ Broader

của Keyphrase

Giữa Keyphrase và một

keyphrase có mối quan hệ

Broader (r2) với nó ta lưu

thành một bảng gồm hai cột :

trong đó keyphrase nằm

trong cột KeyphraseName và

keyphrase có mối quan hệ

Broader sẽ nằm trong cột

Broader

Luu đồ thuật toán tạo mối quan hệ (r2)

Đầu vào:

– Bảng dữ liệu có hơn 3300 dòng và gồm 2 cột KeyphraseName,

Broader

Đầu ra:

– Danh sách các keyphrase và các keyphrase có quan hệ Broader

với nó

Lưu đồ:

Dừng

Hết còn

Duyệt từng dòng của cột KeyphraseName trong table

Đối với mỗi Keyphrase ở cột KeyphraseName ta xác định xem Keyphrase này thuộc lớp nào trong inClass

Hết dữ liệu ở cột

KeyphraseName

Bắt đầu

Page 26: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 109Mô hình và giải pháp

Hình 4.5 : Lưu đồ tạo mối quan hệ Broader cho Keyphrase

Bảng 4.5: Keyphrase và quan hệ

Narrower của Keyphrase

Giữa Keyphrase và một

keyphrase có mối quan hệ

Narrower ( ) với nó ta lưu

thành một bảng gồm hai cột :

trong đó keyphrase nằm trong

cột KeyphraseName và

keyphrase có mối quan hệ

Narrower sẽ nằm trong cột

Narrower

Luu đồ thuật toán tạo mối quan hệ ( )

Đầu vào:

– Bảng dữ liệu có hơn 1600 dòng,và có 2 cột KeyphraseName,

Narrower

Đầu ra:

– Danh sách các keyphrase và các keyphrase có quan hệ Narrower

với nó

Lưu đồ:

hếtcòn

Duyệt từng dòng của cột KeyphraseName

Tạo mối quan hệ Broader cho KeyphraseName theo dữ liệu

của cột Broader

Dừng

Hết dữ liệu ở cột

KeyphraseName

Bắt đầu

Page 27: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 110Mô hình và giải pháp

Hình 4.6: Lưu đồ tạo mối quan hệ Narrower cho Keyphrase

hếtcòn

Duyệt từng dòng của cột KeyphraseName

Tạo mối quan hệ Narrower cho KeyphraseName theo dữ

liệu của cột Narrower

Dừng

Hết dữ liệu ở cột

KeyphraseName

Bắt đầu

Page 28: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 111Mô hình và giải pháp

4.1.3.2.3 Keyphrase và keyphrase có quan hệ Acronym, Synonym, Near-Synonym

Bảng 4.6: Keyphrase và quan hệ

Acronym, Synonym của

Keyphrase

Giữa một keyphrase và

keyphrase khác có mối quan hệ

đồng nghĩa (synonym) hoặc

viết tắt (acronym) (r3): ta quy

định synonym và acronym là

như nhau, cho nên theo bảng kế

bên ta lưu các keyphrase nằm

trong cột KeyphraseName sẽ có

Synonym, Acronym nằm trong

cột Acro_Synonym

Thuật toán tạo mối quan hệ (r3) bảng dữ liệu trên

Đầu vào: Bảng dữ liệu gồm hơn 4100 dòng dữ liệu và 2 cột

KeyphraseName, Acro_Synonym

Đầu ra:

– Danh sách keyphrase kèm với keyphrase có mối quan hệ là

Acronym, Synonym

Lưu đồ:

hếtcòn

Duyệt từng dòng của cột KeyphraseName

Tạo mối quan hệ Acronym, Synonym cho KeyphraseName theo

dữ liệu của cột Acro_Synonym

Dừng

Hết dữ liệu ở cột

KeyphraseName

Bắt đầu

Page 29: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 112Mô hình và giải pháp

Hình 4.7: Lưu đồ tạo mối quan hệ Acronym, Synonym cho Keyphrase

Bảng 4.7: Keyphrase và quan hệ Near-

Synonym của Keyphrase

Giữa một keyphrase và

keyphrase khác có mối

quan hệ gần nghĩa

(Near-Synonym) (r4) :

ta lưu trữ keyphrase

nằm trong cột

KeyphraseName và các

keyphrase gần nghĩa với

nó nằm trong cột Near-

Synonym

Thuật toán tạo mối quan hệ (r4) bảng dữ liệu trên

Đầu vào:

– Bảng dữ liệu gồm hơn 2400 dòng dữ liệu và 2 cột

KeyphraseName, NearSynonym

Đầu ra:

– Danh sách keyphrase kèm với keyphrase có mối quan hệ là Near-

Synonym

Lưu đồ:

Page 30: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 113Mô hình và giải pháp

Hình 4.8: Lưu đồ tạo mối quan hệ Near-Synonym cho Keyphrase

hết

còn

Duyệt từng dòng của cột KeyphraseName

Tạo mối quan hệ Near-Synonym cho KeyphraseName theo dữ liệu

của cột NearSynom

Dừng

Hết dữ liệu ở cột

KeyphraseName

Bắt đầu

Page 31: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 114Mô hình và giải pháp

4.1.3.2.4 Keyphrase và keyphrase có quan hệ Extension

Bảng 4.8: Keyphrase và quan hệ

Extension của Keyphrase

Giữa một keyphrase

và keyphrase có mối

quan hệ Extension

(r5) ta cũng lưu thành

một bảng gồm hai cột

: trong đó keyphrase

ở cột

KeyphraseName sẽ

có Extension là

keyphrase nằm ở cột

Extension

Thuật toán tạo mối quan hệ (r5) bảng dữ liệu trên

Đầu vào:

– Bảng dữ liệu gồm 300 dòng dữ liệu và 2 cột KeyphraseName,

Extension

Đầu ra:

– Danh sách các keyphrase kèm với keyphrase có mối quan hệ là

Extension

Lưu đồ:

Hình 4.9: Lưu đồ tạo mối quan hệ Extension cho Keyphrase

4.1.3.2.5 Keyphrase và các keyphrase có liên hệ

hết

còn

Duyệt từng dòng của cột KeyphraseName

Tạo mối quan hệ Extension cho KeyphraseName theo dữ

liệu của cột Extension

Dừng

Hết dữ liệu ở cột

KeyphraseName

Bắt đầu

Page 32: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 115Mô hình và giải pháp

Bảng 4.9: Keyphrase và các keyphrase

có liên quan với nó

Một keyphrase có thể liên

hệ với nhiều keyphrase

khác, và tất cả các

keyphrase có liên hệ đến

một keyphrase đang xét

đều được liệt kê tại trang

web, và dữ liệu thể hiện sự

có liên hệ Related (r6)

được lưu trong một bảng 2

cột như hình bên: trong đó

keyphrase ở cột

KeyphraseName sẽ có liên

hệ với keyphrase nằm

trong cột Related

Thuật toán tạo mối quan hệ (r6) bảng dữ liệu trên

Đầu vào: Bảng dữ liệu gồm hơn 39000 dòng dữ liệu và 2 cột

KeyphraseName, Related

Đầu ra:

– Danh sách các keyphrase kèm với keyphrase có liên quan

Lưu đồ:

hếtcòn

Duyệt từng dòng của cột KeyphraseName

Gán các keyphrase có liên hệ với KeyphraseName theo dữ

liệu của cột Related

Dừng

Hết dữ liệu ở cột

KeyphraseName

Bắt đầu

Page 33: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 116Mô hình và giải pháp

Hình 4.10: Lưu đồ gán các Keyphrase có liên hệ đến một Keyphrase

Như đã đề cập trong mô hình IS-KPON mức quan niệm ta có các mối

quan hệ được xây dựng dựa theo các định nghĩa tương ứng với một

Keyphrase đã cho tại trang web. Ngoài các mối quan hệ mà ta đã xây

dựng như trên, và trong quá trình phân tích định nghĩa đã cho về mối

quan hệ ngữ nghĩa giữa các keyphrase thì sẽ phát sinh thêm các

keyphrase khác ngoài tổng số hơn 6000 keyphrase trên, các

keyphrase có được trích thủ công từ định nghĩa đã cung cấp. Vì thế

sau khi xét duyệt thì thì có thêm các keyphrase mới từ mối quan hệ

broader, narrower, extension, related. Và các keyphrase mới phát

sinh này ta xem như cùng lớp với keyphrase hiện tại. Còn đối với mối

quan hệ acronym, synonym, near-synonym thì ta ta cũng không xem

xét liệu có keyphrase mới phát sinh hay không vì đối với các mối

quan hệ này ta xem như giống nhau (tương tự nhau).

4.1.3.3 Tạo Ontology từ các lớp và keyphrase đã lưu

Sau khi ta đã lưu trữ các thông tin về lớp (Class) và các Keyphrase

cùng với việc áp dụng các thuật toán để có các dữ liệu tại đầu ra, sao

đó ta cần hội các dữ liệu đầu ra của các thuật toán trên và lưu trữ vào

một Ontology và đặt tên *.OWL để sử dụng, như thế kết quả cuối mà

ta có được là một tập tin Ontology duy nhất mà nó chứa đựng hết các

thông về Lớp, Keyphrase cùng với các mối quan hệ has-a giữa các

lớp và mối quan hệ ngữ nghĩa giữa các Keyphrase như đã đề cập

trên. Và các thao tác suy diễn sẽ được thực hiện trên Ontology này.

Như thế ta có tập tin Ontology có nội dung gồm các phần như sau

– Phần tiêu đề, chứa các khai báo

– Phần khai báo các mối quan hệ ngữ nghĩa

– Phần nội dung về dữ liệu các lớp và mối quan hệ giữa các

lớp

Page 34: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 117Mô hình và giải pháp

– Phần nội dung về dữ liệu các Keyphrase mối quan hệ giữa

các Keyphrase

Page 35: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 118Mô hình và giải pháp

4.2 Sự liên hệ giữa KEA++ và Ontology IS-KPON

Phần này cho biết lý do dùng KEA++ và Ontology

4.2.1 Tạo mô hình Training với IS-KPON và KEA++

Mục tiêu việc tạo ra mô hình training là để dựa mô hình training này

và Ontology mà ta đã xây dựng để trút trích ra các Keyphrase từ các

tài liệu. Mô hình training mà ta cần xây dựng dùng để áp đặt cho các

tài liệu tin học cho nên các tài liệu dùng để tạo mô hình training cũng

phải thuộc phạm vi tin học. Sau khi có được các tập tin dùng để tạo

mô hình training ta thực hiện

Tìm ra các keyphrase chứa bên trong tập tin đó (vì mỗi tập tin có

thể được mô tả bởi một tập hợp các Keyphrase chứa bên trong

nó). Mỗi tập tin khi xét có thể chứa đựng thêm các thông tin khác

như title, author, modified…. Cho nên một tập tin sẽ bao gồm các

thông tin như sau

o Thông tin tổng quan về tài liệu

o Tập các Keyphrase

Page 36: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 119Mô hình và giải pháp

Hình 4.11: Danh sách Keyphrase tại mục Keywords (PDF)

Đối với mỗi tập tin thì danh sách các Keyphrase có thể được

cung cấp bởi tác giả của tập tin và lưu trong mục Keyword trong

phần thông tin tổng quan như hình trên, hoặc được cung cấp trực

tiếp bên trong nội dung tập tin tại các phần như Keywords , Index

Terms , General Terms như các hình sau

Page 37: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 120Mô hình và giải pháp

Hình 4.12: Các Keyphrase bên trong nội dung tập tin tại mục Keywords

Tập tin này được tác giả cung cấp một số Keyphrase ngay phía

dưới mục abstract tại phần có chữ Keywords: Eprint, open

access, OAI, OAI-PMH, archive, research, theses, citation rate,

computer science, Australasia.

Page 38: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 121Mô hình và giải pháp

Hình 4.13: Các Keyphrase tại mục Index Terms

Tập tin này được tác giả cung cấp một số Keyphrase ngay phía

dưới mục abstract tại phần có chữ Index Terms: Shape-from-

shading, object recognition, shape-index, histograms, constant

shape-index maximal patches, graph-matching.

Tập tin ABC.txt có nội dung là của ABC.pdf chuyển sang dạng text,

còn tập tin ABC.key chứa danh sách các keyphrase trích từ tập tin

ABC.txt

ABC.txt ABC.pdf

ABC.key Shape-from-shadingobject recognitionshape-indexhistograms

Page 39: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 122Mô hình và giải pháp

constant shape-index maximal patchesgraph-matching

Hình 4.14: Các Keyphrase tại mục General Terms, Keywords

Tập tin này được tác giả cung cấp một số Keyphrase ngay phía

dưới mục abstract tại phần có chữ General Terms: Algorithms,

Management, Experimentation, Human Factors và tại mục

Keywords có các keyphrase là Semantic Web, Semantic

Classification, Path Projection.

Như vậy ta cần thực hiện: chuyển các tài liệu dùng để training sang

dạng TEXT (*.txt) , còn các keyphrase mà ta tìm được trong các tập

tin đó thì ta sẽ lưu riêng vào một tập tin KEY (*.key) với mỗi

keyphrase trong tập tin KEY được lưu riêng trên từng dòng và cả hai

Page 40: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 123Mô hình và giải pháp

tập tin *.txt với *.key phải lưu chung một thư mục để dùng cho việc

tạo mô hình training. Sau khi đã có một thư mục với các tập tin để

dùng training ta áp dụng KEA++ cùng với sự hỗ trợ của Ontology để

tạo mô hình training.

4.2.2 Sử dụng mô hình Training với KEA++ và IS-KPON

Sau khi đã có mô hình training ta có thể dùng mô hình training này

cho việc trích xuất ra các keyphrase ở các tập tin mới với KEA++ như

sau: chuyển các tập tin (TEXT, PDF, HTML, DOC, RTF, …) về một

dạng TEXT , sau đó ta dùng KEA++ kết hợp với mô hình training để

trích ra các keyphrase của tập tin đó.

Sau khi có được danh sách các keyphrase từ tập tin ta tiếp tục áp

dụng Ontology IS-KPON để suy diễn ra các mối quan hệ ngữ nghĩa

(Acronym, Synonym, Near-Synonym, Broader, Narrower, Extension,

Related) của các keyphrase liên quan. Như thế thì số keyphrase gia

tăng đều này cũng có thể khẳng định rằng tập tin mà ta đã trích ra

các keyphrase được biểu diễn ngữ nghĩa nhiều hơn

Lưu đồ thuật toán trút trích và suy diễn keyphrase

Đầu vào: tập tin dữ liệu ở dạng PDF, HTML, DOC, TXT…

Đầu ra: danh sách các keyphrase tương ứng với các tập tin

Lưu đồ:

Page 41: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 124Mô hình và giải pháp

Hình 4.15: Lưu đồ trút trích và suy diễn keyphrase

còn

hết

Tài liệu ở dạng PDF, HTML,

DOC, TXT, …

Chuyển tài liệu thành dạng text

(TXT)

Rút trích ra các keyphrase tương ứng của tài liệu

text

Dùng Ontology IS-KPON để suy diễn ra các mối quan hệ ngữ

nghĩa của các keyphraseHết dữ liệu

cần xử lý

Dừng

Bắt đầu

Page 42: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 125Mô hình và giải pháp

4.3 Cách thức tổ chức lưu trữ cơ sở văn bản

Cơ sở văn bản đang hướng đến là các tài liệu về lĩnh vực tin học, mỗi

tài liệu có thể ở nhiều dạng thức khác nhau như PDF, TEXT, DOC,

HTML, …

4.3.1 Tổ chức cấu trúc thư mục

Các thư mục dùng để lưu trữ các tập tin được tổ chức theo mô hình

IS-KPON, đó là gồm 201 thư mục chính, trong đó ta tạo mối quan hệ

giữa các thư mục với nhau ở dạng liên kết như sau

Hình 4.16 : Tổ chức lưu trữ các thư mục

Theo hình trên ta có bucket D có cha là A và C, còn bucket B có cha

là C, đồng thời cũng biết rằng bucket A và C không có cha, như thế

cũng biết được rằng bucket A và C chính là một trong số 16 lớp ban

đầu của IS-KPON (xem hình 4.1).

Ta xem mỗi thư mục tương ứng với 1 lớp trong IS-KPON và cũng là một bucket trong bảng băm theo phương pháp nối kết trực tiếp, mỗi bucket chứa thông tin các trường gồm:Tên thư mục, …Thư mục cha (Parent)Trong đó: Trường Parent là một con trỏ sẽ trỏ đến một danh sách liên kết mà tại đó sẽ cho biết bucket hiện tại có nút cha là nút nào, và từ đó ta sẽ lấy được thư mục cha tương ứng

Tổng số Bucket trong bảng băm là 201 tương ứng số lớp trong Ontology

…Parent

…Parent

…Parent

…Parent

C

A

B

C

D

… … ….

CA

Page 43: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 126Mô hình và giải pháp

4.3.2 Cách thức lưu trữ tập tin và cấu trúc thư mục

Để lưu trữ tài liệu văn bản vào cấu trúc thư mục trên ta thực hiện như

sau: đối với mỗi tài liệu mới ta sẽ trút trích ra các Keyphrase chứa

bên trong nó nhờ áp dụng KEA++ hoặc lấy ra các Keyphrase được

cung cấp sẵn trong nội dung tài liệu một cách thủ công, kế tiếp dùng

IS-KPON để phát sinh thêm các Keyphrase từ các mối quan hệ ngữ

nghĩa dựa trên các Keyphrase đã có, như vậy số lượng Keyphrase sẽ

bao gồm các keyphrase có được từ tài liệu và các Keyphrase từ suy

diễn của IS-KPON. Ngoài ra, ta cũng biết thêm rằng lớp chứa các

Keyphrase đó và khi cần xem lớp cha của lớp đó thì ta có thể biết

thông qua cấu trúc tổ chức thư mục như trên. Cuối cùng, ta sẽ xét

xem lớp nào mà số Keyphrase bao hàm hầu hết các Keyphrase của

tập tin đang xét thì ta lưu tập tin đó vào thư mục tương ứng.

Ví dụ: ta có tài liệu A gồm các Keyphrase “artificial intelligence”

và “artificial environment” sau đó ta dùng Ontology IS-KPON để

suy luận các mối quan hệ ngữ nghĩa có liên quan đến Keyphrase

này ta sẽ có thêm các Keyphrase như sau “data glove”, “KQML”,

“games playing”, “pervasive computing”, “heuristic

programming”, “ALICE”, “neural networks”, “robotics”, “VXML”,

“CAPTCHA”, “Alan Turing”, “natural language”, “computer

science”, “expert systems”. Có tổng cộng 14 Keyphrase bao gồm

Keyphrase bên trong tài liệu A và Keyphrase suy diễn từ Ontology

Keyphrase Lớp chứa Keyphrasedata glove USER INTERFACES, PERIPHERAL

DEVICES , PERVASIVE COMPUTING, HAPTICS, VIRTUAL REALITY

KQML PROGRAMMING LANGUAGES, ARTIFICIAL INTELLIGENCE

games playing ARTIFICIAL INTELLIGENCE, PERVASIVE

Page 44: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 127Mô hình và giải pháp

COMPUTINGpervasive computing ARTIFICIAL INTELLIGENCE, ETHICS,

WIRELESS COMPUTING, COMPUTER SCIENCE, NETWORKS, PERVASIVE COMPUTING

heuristic programming PROGRAMMINGALICE OPEN SOURCE, CHAT, XML,

PROGRAMMING LANGUAGES, ARTIFICIAL INTELLIGENCE

neural networks ARTIFICIAL INTELLIGENCE, PERVASIVE COMPUTING

Robotics PERVASIVE COMPUTING, HOME ENTERTAINMENT, COMPUTER SCIENCE, SEARCH ENGINES, NETWORKS, WORLD WIDE WEB, VIDEO, ARTIFICIAL INTELLIGENCE, GAMING, NETWORK TOPOLOGIES

VXML PROGRAMMING LANGUAGES, XML CAPTCHA PERVASIVE COMPUTING, ARTIFICIAL

INTELLIGENCE Alan Turing WEB DEVELOPMENT, COMPUTER

SCIENCE, ARTIFICIAL INTELLIGENCEnatural language PERVASIVE COMPUTING, ARTIFICIAL

INTELLIGENCEcomputer science COMPUTER SCIENCEexpert systems PERVASIVE COMPUTING, ARTIFICIAL

INTELLIGENCE

Tổng số lớp liên quan với 14 Keyphrase là 22 lớp

ARTIFICIAL INTELLIGENCE, CHAT, COMPUTER SCIENCE,

ETHICS, GAMING, HAPTICS, HOME ENTERTAINMENT,

NETWORK TOPOLOGIES, NETWORKS, OPEN SOURCE,

PERIPHERAL DEVICES, PERVASIVE COMPUTING,

PROGRAMMING, PROGRAMMING LANGUAGES, SEARCH

ENGINES, USER INTERFACES, VIDEO, VIRTUAL REALITY,

WEB DEVELOPMENT, WIRELESS COMPUTING, WORLD WIDE

WEB, XML.

Trong đó lớp ARTIFICIAL INTELLIGENCE chứa 10 Keyphrase

trong 14 Keyphrase trên, lớp CHAT chứa 1/14 Keyphrase, lớp

Page 45: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 128Mô hình và giải pháp

COMPUTER SCIENCE có chứa 4/14 Keyphrase, lớp ETHICS

chứa 1/14 Keyphrase, lớp GAMING chứa 1/14 Keyphrase, lớp

HAPTICS chứa 1/14 Keyphrase, lớp HOME ENTERTAINMENT

chứa 1/14 Keyphrase, lớp NETWORK TOPOLOGIES chứa 1/14

Keyphrase, lớp NETWORKS chứa 2/14 Keyphrase, lớp OPEN

SOURCE chứa 1/14 Keyphrase, lớp PERIPHERAL DEVICES

chứa 1/14 Keyphrase, lớp PERVASIVE COMPUTING chứa 8/14

keyphrase, lớp PROGRAMMING chứa 1/14 Keyphrase, lớp

PROGRAMMING LANGUAGES chứa 3/14 keyphrase, lớp

SEARCH ENGINES chứa 1/14 keyphrase, lớp USER

INTERFACES chứa 1/14 keyphrase, lớp VIDEO chứa 1/14

keyphrase, lớp VIRTUAL REALITY chứa 1/14 keyphrase, lớp

WEB DEVELOPMENT chứa 1/14 keyphrase, lớp WIRELESS

COMPUTING chứa 1/14 keyphrase, lớp WORLD WIDE WEB

chứa 1/14 keyphrase, lớp XML chứa 2/14 keyphrase => lớp

ARTIFICIAL INTELLIGENCE chứa hầu hết các Keyphrase vì thế

ta lưu tập tin ban đầu (tập tin trước khi tiền xử lý) vào thư mục

ARTIFICIAL INTELLIGENCE.

Lưu đồ thuật toán lưu tập tin vào thư mục tương ứng

Đầu vào: tập tin dữ liệu ở dạng PDF, HTML, DOC, TXT…

Đầu ra: tập tin đã được lưu vào trong thư mục tương ứng

Lưu đồ:

Page 46: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 129Mô hình và giải pháp

Hình 4.17: Lưu đồ xác định thư mục để lưu tập tin

4.4 Sự liên hệ giữa Lucene và IS-KPON, KEA++

Phần này cho biết lý do kết hợp Lucene với KEA++ và Ontology IS-KPON

4.4.1 Lập chỉ mục ngữ nghĩa với Lucene, KEA++ và IS-KPON

Một cái nhìn tổng quan về cơ sở tri thức và cơ sở tài liệu văn bản

Hình 4.18: Khái quát tri thức và tài liệu

còn

hết

Tài liệu ở dạng PDF, HTML,

DOC, TXT, …

Chuyển tài liệu thành dạng text

(TXT)

Rút trích ra các keyphrase tương ứng của tài liệu

text

Dùng Ontology IS-KPON để suy diễn ra các mối quan hệ ngữ

nghĩa của các keyphraseDùng Ontology IS-KPON để suy diễn ra các lớp chứa keyphrase

Nếu lớp nào bao hàm hầu hết các keyphrase thì ta sẽ lưu tập tin ở dạng

ban đầu vào thư mục tương ứng

Hết dữ liệu

cần xử lý

Dừng

Bắt đầu

Cơ sở tri thức Cơ sở tài liệuvăn bản

Domain Ontology(tin học)

Page 47: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 130Mô hình và giải pháp

Đề xuất mô hình dùng cho việc lập chỉ mục ngữ nghĩa và tìm kiếm theo ngữ nghĩa của Ontology

Hình 4.19 : Trích xuất, lập chỉ mục cơ sở tài liệu văn bản

Giải thích các thành phần trong mô hình đề xuất trên

Đầu tiên ta sẽ có khối dữ liệu là các tập tin PDF, TXT, HTML, …

đã chứa trong cấu trúc thư mục có ngữ nghĩa đã đề xuất trên. Sau

đó lấy các trường (field) thông tin tổng quan của nó như title,

author, path, … Còn nội dung của các tập tin ta chuyển thành một

dạng chung là TEXT (TXT) và ta áp dụng mô hình training của

KEA++ và kết hợp với bộ từ vựng Ontology IS-KPON để trích xuất

ra các Keyphrase từ các tập tin dạng TEXT, và ta tiếp tục dùng IS-

KPON để suy diễn các mối quan hệ ngữ nghĩa của các Keyphrase

này. Cuối cùng từ thông tin có được gồm thông tin tổng quan, nội

dung tập tin và danh sách các Keyphrase (gồm Keyphrase trút trích

được và Keyphrase có quan hệ) ta lập chỉ mục với Lucene gồm chỉ

mục các phần

– Thông tin tổng quan (author, title, …).

– Nội dung tập tin ở dạng TXT (ta cần thêm bước chuyển đổi từ

PDF, HTML, … sang dạng TEXT).

– Danh sách các Keyphrase được phát sinh từ tập tin và IS-

KPON.

Mỗi một phần dùng để lập chỉ mục gọi là Field, và sau khi có tất

cả các Field ta gán vào một đối tượng là Document trong Lucene

Ghi chú: Lucene cũng chủ yếu thao tác trên tài liệu dạng TEXT

cho nên cần dùng công cụ hoặc API để chuyển đổi, hiện tại trong

phạm vi luận văn chỉ xử lý chuyển đổi các tập tin PDF, HTML, HTM,

IS-KPON

Mô hình training

Các Keyphrase trích xuất được từ tập tin

TXT

Keyphrase đã có và Keyphrase có quan hệ

ngữ nghĩa

PDF, TXT, HTML, …

TXT

Indexing với LUCENE

Lấy thông tin tổng quan (tên tác giả, tiêu đề, …)

KEA++KEA++

Page 48: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 131Mô hình và giải pháp

TXT nhưng không phải văn bản chuyển về dạng TEXT không phải

đúng hoàn toàn như văn bản ban đầu vì các công cụ và API sử

dụng đang là các dự án còn nghiên cứu và nâng cấp. Một số dạng

thức không phải là mở cho nên sẽ nghiên cứu trong các phần kế

tiếp (chẳng hạn dạng Microsoft Word)

Theo như đề xuất trên thì có thể khẳng định rằng ngoài việc dùng

các công cụ của các công trình hiện có, kết hợp với việc dùng

Ontology IS-KPON thì nội dung các tập tin sẽ được biểu diễn mang

đậm chất ngữ nghĩa hơn so với chỉ đơn thuần sử dụng KEA++

hoặc Lucene.

4.4.2 Tìm kiếm theo ngữ nghĩa với Lucene, KEA++ và IS-KPON

Hình 4.20: Tìm kiếm thông tin ngữ nghĩa

Đối với công việc tìm kiếm thông tin theo ngữ nghĩa ta có thể hình

dung qua các bước thực hiện như sau:

Đầu tiên, người dùng sẽ nhập nội dung thông tin cần tìm tại giao

diện tìm kiếm, sau đó sẽ là việc xây dựng truy vấn. Truy vấn được

feedbackGiao diện tìm kiếm

Xây dựng truy vấn

Xếp hạng và trả về kết quả

Thực hiện truy vấn

Chỉ mục đã có

Ontology IS-KPON

Người dùng

Page 49: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 132Mô hình và giải pháp

xây dựng bao gồm việc lược bỏ các Stopword, và phân tách thành

các token kế tiếp kiểm tra xem các token đó có thuộc Keyphrase

trong Ontology IS-KPON hay không nếu có thì cho ra các mối quan

hệ ngữ nghĩa (Acronym, Synonym, Near-Synonym, Broader,

Narrower, Extension, Related). Và kế tiếp sẽ thực hiện truy vấn với

index mà ta đã tạo để lấy ra các tập tin liên quan đến truy vấn, mỗi

tập tin chính là một Document và ta cần thêm bước xếp hạng kết

quả gần nhất và trả về. Việc tìm kiếm ngoài việc áp dụng Ontology

để suy diễn ngữ nghĩa ta còn kết hợp với tìm kiếm mờ Fuzzy

Search để cho ra các kết quả xác đáng hơn.

Page 50: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 133Mô hình và giải pháp

4.5 Các thuật toán liên quan với IS-KPON

4.5.1 Hiển thị mối quan hệ của một lớp với các lớp khác

Đầu vào: tên lớp cần tìm

Đầu ra: danh sách các lớp có mối quan hệ với lớp đang xét và danh

sách các keyphrase chứa trong lớp đang xét

Hình 4.21: Thuật toán hiển thị các Keyphrase và lớp chứa Keyphrase

Ghi chú: một lớp gọi là có liên quan đến một lớp khác nếu nó thuộc

một trong các dạng là lớp tương đương (Equivalent), lớp cha

(SuperClass), lớp con (SubClass), lớp tách biệt (DisjointClass). Trong

phạm vi luận văn IS-KPON chưa cài đặt Equivalent Class và không

cài đặt Disjoint Class vì các keyphrase có thể nằm ở lớp này và cũng

không

Không

Không

Bắt đầu

Kết thúc

Nhập vào một lớp

Có lớp khác có liên quan với nó không

Hiển thị các lớp có liên quan với lớp đang xét trong

IS-KPON Hiển thị danh sách các Keyphrase trong lớp

Lớp đang xét có chứa

Keyphrase không

Lớp đang xét có chứa Keyphrase

không

Page 51: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 134Mô hình và giải pháp

có thể nằm ở lớp khác, cho nên các lớp không xem như tách biệt

(Disjoint Class).

4.5.2 Hiển thị danh sách các Keyphrase và các lớp có mối quan hệ với một Keyphrase

Đầu vào:

– Keyphrase cần tìm

Đầu ra:

– Danh sách các Keyphrase, các lớp có liên quan đến Keyphrase

Hình 4.22: Lưu đồ hiển thị các Keyphrase có mối quan hệ với Keyphrase và lớp chứa Keyphrase

Ghi chú: Các Keyphrase có liên quan đến Keyphrase đang xét tức là

Keyphrase có mối quan hệ ngữ nghĩa như đã đề cập trong IS-KPON,

KhôngCó

Không

Không

Bắt đầu

Kết thúc

Nhập vào một Keyphrase

Có Keyphrase khác có liên quan với nó

không ?

Hiển thị các Keyphrase có liên quan trong IS-KPON

Keyphrase có thuộc lớp nào không

Hiển thị các lớp có chứa Keyphrase

Keyphrase nhập vào có

thuộc lớp nào không ? Hiển thị các lớp có chứa

Keyphrase đang xét

Page 52: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 135Mô hình và giải pháp

còn lớp có liên quan đến Keyphrase đang xét nghĩa là lớp đó có chứa

Keyphrase đó

4.5.3 Danh sách các Keyphrase có liên quan với Property

Thuật toán hiển thị ra các keyphrase có liên quan đến Property được

chọn

Đầu vào: tên property muốn xem mối quan hệ

Đầu ra: danh sách các Keyphrase có mối quan hệ với property

Hình 4.23: Lưu đồ hiển thị các Keyphrase có liên quan với

Property

Các property mà ta đề cập là Object Property và Data Property với

– Object Property là các mối quan hệ giữa Keyphrase và

Keyphrase. Trong chương trình cài đặt các Object Property sẽ là

skos:broader, skos:narrower, skos:altLabel,

iskpon:extension, skos:related

không

Bắt đầu

Nhập vào property

Có Keyphrase liên quan đến

property không ?

Kết thúc

Hiển thị danh sách các Keyphrase có liên quan

Page 53: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 136Mô hình và giải pháp

– Data Property đó là các mối quan hệ giữa Keyphrase và giá trị dữ

liệu cụ thể. Trong chương trình cài đặt các Data Property là

skos:prefLabel

Page 54: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 137Mô hình và giải pháp

4.5.4 Lưu đồ thuật toán tìm kiếm theo ngữ nghĩa với Ontology

Đầu vào: chuỗi thông tin cần tìm

Đầu ra: danh sách các tập tin cần tìm

Lưu đồ:

Hình 4.24: Lưu đồ thuật toán tìm kiếm theo ngữ nghĩa với

Ontology

khôngcó

Bắt đầu

Nhập chuỗi thông tin cần tìm

keyphrase có trong IS-KPON

Áp dụng Fuzzy Search để tìm các tập tin có những từ

non-stopword

Dùng IS-KPON để hiển thị hết các mối

quan hệ của keyphrase

Kết thúc

Áp dụng Fuzzy Search để tìm ra các tập tin chứa keyphrase

Loại bỏ các Stopword để chỉ còn các từ non-stopword

Xếp hạng kết quả trả về và hiển thị kết quả liên quan nhất

Page 55: C4_Mo Hinh Va Giai Phap

CHƯƠNG 4 138Mô hình và giải pháp

Diễn giải về lưu đồ thuật toán tìm kiếm theo ngữ nghĩa.

Bước 1: nhập thông tin cần tìm là một chuỗi truy vấn

Bước 2: loại bỏ các stopword trong chuỗi để có được các từ là non-

stopword (Keyphrase)

Bước 3: tìm xem các từ non-stopword có thuộc các keyphrase có

trong Ontology IS-KPON hay không, nếu có thì suy diễn ra các

keyphrase có liên quan ngữ nghĩa.

Bước 4: tìm kiếm các tập tin chứa các keyphrase hoặc các

keyphrase có liên quan ngữ nghĩa, việc tìm kiếm sẽ kết hợp với sự hỗ

trợ tìm kiếm mờ (Fuzzy Search với ngưỡng 0.5) để cho ra các tài liệu

liên quan cần thiết.

Bước 5: Xếp hạng tập kết quả trả về và hiển thị kết quả liên quan với

truy vấn nhất.