Upload
vinh-nguyen-huu
View
76
Download
0
Embed Size (px)
DESCRIPTION
Mo hinh va giai phap
Citation preview
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
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.
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
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:
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
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
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
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
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.
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
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ó
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
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”
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)
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.
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
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
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.
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ẽ
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ư
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.
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
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
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 đồ:
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
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
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
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
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 đồ:
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
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
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
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
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
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
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
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.
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
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
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 đồ:
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
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
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
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
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 đồ:
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)
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++
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
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.
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
có
có
Có
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
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,
có
KhôngCó
Có
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
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
có
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
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
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
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.