A Parallel Multimedia Information Retrieval System

Transkript

A Parallel Multimedia Information Retrieval System
1
T.C.
EGE ÜNĐVERSĐTESĐ
FEN BĐLĐMLERĐ ENSTĐTÜSÜ
BĐLGĐSAYAR MÜHENDĐSLĐĞĐ ANABĐLĐMDALI
12.2700.0000.011
KOŞUT ÇOKLU ORTAM BĐLGĐ GÖSTERĐM ve ERĐŞĐM DĐZGESĐ
DOKTORA TEZĐ
Hazırlayan
Adil ALPKOÇAK
Danışman
Prof. Dr. Sıtkı AYTAÇ
Bornova – ĐZMĐR
1997
2
3
KABUL ve ONAY SAYFASI
Adil Alpkoçak’ın DOKTORA TEZĐ olarak hazırladığı “Koşut Çoklu Ortam Bilgi
Gösterim ve Erişim Dizgesi” başlıklı bu çalışma, jürimizce Lisansüstü
Yönetmeliği’nin ilgili maddeleri uyarınca değerlendirilerek oy birliği ile kabul
edilmiştir.
10 / 12 / 1997
Başkan
: Prof. Dr. Sıtkı AYTAÇ
Üye
: Prof. Dr. Şaban EREN
Üye
: Prof. Dr. Esen ÖZKARAHAN
Fen Bilimleri Enstitüsü Yönetim Kurulu’nun …. / …. / 1997 gün ve …. / ….
sayılı kararıyla onaylanmıştır.
Prof. Dr. Đsmet ERTAŞ
Enstitü Müdürü
4
ÖZET
KOŞUT ÇOKLU ORTAM BĐLGĐ GÖSTERĐM ve ERĐŞĐM DĐZGESĐ
ALPKOÇAK, Adil
Doktora Tezi, Bilgisayar Mühendisliği Bölümü
Danışman: Prof. Dr. Sıtkı AYTAÇ
Eylül 1997, 183 sayfa.
Bu çalışmada Çoklu ortam Bilişim Dizgelerinin (ÇDB) Giriş/Çıkış ve işlem
güçü gibi iki önemli darboğazın üstesinden gelebilecek bir dizge modeli geliştirilmiştir.
Oldukça yeni bir kavram olan ÇBD problemlerini tanımlayabilmek amacıyla öncelikle,
ayrıntılı olarak çoklu ortam verilerinin özellikleri incelenmiştir. Ayrıca, çoklu ortam
bilişim dizgelerinin özellikleri ve çoklu ortam sorgulama yöntemleri detaylı olarak
incelenmiş ve bir sınıflama geliştirilmiştir. ÇBD alanındaki durum bilimini
anlatabilmek amacıyla özgün çalışmalar incelenerek mevcut teknolojinin karşı karşıya
kaldığı problemler ortaya konmuştur.
Çoklu ortam verilerine erişimi kolaylaştırarak geliştirilecek bir çoklu ortam
modelinin etkinliğini arttırmak için Konumsal Izgara Dosyası (KID) adı verilen ve
birden çok vektörel özniteliğe göre dizinleme yapabilen bir yöntem geliştirilmiştir. KID
organizasyonu çok kaba olarak geleneksel ızgara dosyalarının doğrusal ölçek
bileşenine, dizinleme yöntemi eklenerek sınıf nesnesi haline getirilmesi ilkesine
dayanır. KID, anahtar özniteliklere göre çoklu ortam verilerinin kümelenmesini de
sağlanmaktadır.
Hazırlanan çoklu ortam dizge modeli doğrudan KID organizasyonunu
kullanmaktadır. ÇBD'lerde karşılaşılan G/Ç ve işlem darboğazlarına çözüm olarak
koşut bilgisayarlardan yayarlanılabilmesi için Koşut Kümeleme Tabanlı Erişim (KKTE)
modeli geliştirilmiştir. Çoklu ortam veri uzayının parçalanması ve işlemcilere
dağıtılması konusunda da KID yapısından yararlanılmıştır. Önerilen dizge sentetik
veriler ile tek ve koşut bilgisayar ortamlarında denenmiş ve üstün bulgular elde
edilmiştir.
5
Anahtar kelimeler: Çoklu Ortam Bilgi Erişimi, Bilgi Erişimi, Đçerik Tabanlı
Erişim, Çoklu Ortam Veritabanları, Konumsal Erişim Yöntemleri, Çok-öznitelikli
Erişim Yöntemleri, Koşut Bilgi Erişimi, Koşut Bilgi Đşleme.
6
ABSTRACT
PARALLEL MULTIMEDIA INFORMATION REPRESENTATION and
RETRIEVAL SYSTEM
ALPKOÇAK, Adil
Doctor of Philosophy in Computer Science
Supervisor: Prof. Dr. Sıtkı AYTAÇ
September 1997, 183 pages.
In this study, a multimedia system has been designed aimed at solving the major
I/O and processor bottlenecks of multimedia retrieval. For this goal, firstly, the general
characteristics of multimedia data and requirements of multimedia information system
(MMIS) are discussed and defined. Taxonomy for multimedia attributes and query
types are also presented to help understanding of the requirements of MMIS and open
research problems of this domain. Some of the well-known models and methods are
surveyed in order to take a snapshot of the state of the art.
A new file structure called Spatial Grid File (SGF) is developed to index
multimedia objects by adding a method to the linear scale part of the traditional grid
file. The SGF file structure preserves the characteristics of grid files and it is efficiently
used to represent and retrieve multimedia data where multimedia data is defined as
having more than one spatial/multi-dimensional attribute. The SGF can be easily
tailored to requirements of different MMIS applications by changing the Spatial Access
Methods (SAM) embedded in SGF and the similarity measures. Another attractiveness
of SGF organisation is its performance in clustering multimedia data.
A complete multimedia system model including data model, indexing structure
and querying is developed and presented. The system is based on SGF usage on a
parallel computer environment. A Parallel Cluster Based Retrieval model used in the
system has been also introduced. Both models have been tested using synthetic data on
both a single machine and a parallel computer environment. The findings look
promising and are discussed in detail.
Keywords:
Multimedia
Information
Retrieval,
Information
Retrieval,
Content-based Retrieval, Spatial Access Methods, Multi-attribute Access methods,
Multimedia Databases, Parallel Information Retrieval, Parallel Processing,
7
TEŞEKKÜR
Problemlere akademik olarak nasıl yaklaşılacağını ve
akademik çalışmanın
nasıl sabır gerektiren titiz bir çalışma olduğunu öğreten, karşılaştığım her problemde ve
içine düştüğüm her çıkmazda beni dinleyip tartışarak sahip olduğu engin bilgi birikimini
düzlüğe çıkabilmem için cömertçe paylaşan, çalışmalarımı en küçük ayrıntısına kadar
inceleyen değerli hocam Prof. Dr. Esen ÖZKARAHAN’a tüm bu özverili katkılarından
dolayı en içten teşekkürlerimi sunarım.
Yüksek Lisans eğitiminden başlayarak uzun yıllar boyunca danışmanlığımı
üstlenen, olaylara değişik açılardan bakabilmeyi öğreten, hiç bir zaman desteğini ve
beğenilerini eksik etmeyen,
kişisel özgüveni ve kıvrak zekasıyla beni her zaman
etkileyen değerli hocam Prof. Dr. Sıtkı AYTAÇ'a sonsuz teşekkürler ederim.
Tüm lisanüstü eğitimim boyunca her türlü bürokratik sorunun ivedilikle
çözümünde yol gösterici ve destekleyici katkılarını hiç bir zaman esirgemeyen
Bilgisayar Mühendisliği Bölüm Başkanı Sayın
Prof. Dr. Şaban EREN’e teşekkür
ederim.
Bu tez çalışmasının birçok aşamasını sevgili eşim Tülay ve canım oğlum Mert’le
paylaşmam gereken zamanlarda gerçekleştirmek zorunda kaldığım için onlardan
öncelikle özür diliyor, göstermiş oldukları anlayış ve hiçbir zaman eksik etmedikleri
desteğe sonsuz teşekkür ediyorum.
8
ĐÇĐNDEKĐLER
1. GĐRĐŞ
1
1.1 Çoklu-Ortam Verilerinin Yönetimi
2
1.2 Çoklu Ortam Veri Patlaması
3
1.3 Pasif Katılım
4
1.4 Aktif Katılım
5
1.5 Geleneksel Veri Tabanlarının Yetersizlikleri
6
1.6 Problem
7
1.7 Amaç
8
1.8 Tez Organizasyonu
9
2. ÇOKLU ORTAM NESNELERĐ
10
2.1 Çoklu Ortam Nesnelerinin (ÇON) Genel Özellikleri
10
2.2 Çoklu Ortam Veri Tipleri
12
2.3 Çoklu Ortam Öznitelikleri
15
2.3.1 Nesnel Öznitelikler
16
2.3.1.1 Dışsal Öznitelikler
16
2.3.1.2 Đçsel Öznitelikler
17
2.3.2 Öznel Öznitelikler
19
2.3.2.1 Yorumlama Öznitelikleri
19
2.3.2.2 Kavramsal Öznitelikler
20
3. ÇOKLU ORTAM BĐLĐŞĐM DĐZGELERĐ (ÇBD)
22
3.1 ÇBD’lerin Genel Özellikleri
22
3.2. Çoklu Ortam Sorguları
26
3.2.1 Hazırlanma Şekline Göre Çoklu Ortam Sorguları
27
3.2.1.1 Belirtmeli Sorgular
27
3.2.1.2 Örnekle Sorgu
29
3.2.1.3 Gezinti ile Sorgu
30
3.2.2 Uyum Kriterlerine Göre
3.2.2.1 Tam Uyum Sorguları
31
31
9
3.2.2.2 Yaklaşık Sorgular
32
3.2.2.3 En-Yakın Komşu (EYK) Sorguları
32
3.2.2.4 Tüm-Eşler (All-pairs) Sorgular
33
3.2.2.5 Örnekleme Sorguları
33
3.2.2.6 Sınıflama Sorguları
34
3.2.3 Tamlıklarına Göre Çoklu Ortam Sorguları
3.2.3.1 Tam Sorgular
35
3.2.3.2 Eksik Sorgular
35
3.2.3.2.1 Muğlak (vague) Sorgular
35
3.2.3.2.2 Sisli Sorgular
36
3.3 Geçmiş Çalışmalar
3.3.1 Özkarahan Modeli
3.3.2 QBIC
34
36
36
3.3.1.1 Kavramsal Model
37
3.3.1.2 Erişim Modeli
39
3.3.1.3 Dizinleme
39
3.3.1.4 Associative Arama
39
3.3.1.5 Anlamsal Arama
40
3.3.1.6 Ortama-özgü Arama
40
41
3.3.2.1 QBIC Genel Dizge Yapısı
41
3.3.2.2 Veri Modeli
42
3.3.2.3 Filtreleme
43
3.3.2.4 Dizinleme
43
3.3.2.5 Durağan Resimlerin Eklenmesi
45
3.3.2.6 Video Verilerinin Eklenmesi
45
3.3.2.7 Şotların Yakalanması
45
3.3.2.8 Temsilci Çerçevelerin Yaratılması
46
3.3.2.9 Katmanlı Gösterim
46
3.3.3 CORE 47
3.3.3.1 ÇON modeli
47
3.3.3.2 CORE'un Mimarisi
48
3.3.3.3 ÇON'ların gösterimi
49
10
3.3.3.4 ÇON Analizi
51
3.3.3.5 Dizinleme Yapısı
51
3.3.3.5 CORE'un Erişim Yapısı
52
3.3.3.6 Bulanık Erişim
53
3.3.3.7 Birleşik Erişim
54
3.3.4 InfoScope
54
3.3.4.1 Veri Tabanı
57
3.3.4.2 Ekleme Modülü
57
3.3.4.3 Arayüz
58
3.3.4.4 Bilgi Tabanı
58
3.3.4.5 Bilgi Organizasyonu
59
3.3.4.6 Özellik Tipleri
60
4. ÖNERĐLEN ÇOKLU ORTAM DĐZGE MODELĐ
63
4.1 Temel Kavramlar
63
4.2 Veri Modeli
64
4.2.1 Veri Katmanı
65
4.2.2 Đçerik Katmanı
68
4.3 Kavramsal Model
70
4.3.1 Kavramsal Model Đçin Kullanıcı Arayüzü
71
4.3.2 Benzerlik Değerlerinin Hesaplanması
73
4.3.2.1 Benzerlik Fonksiyonları
73
4.3.2.2 Nesne Benzerlikleri
75
4.3.2.3 Konumsal Olmayan Đlişkilerin Benzerlikleri
77
4.3.2.4 Konumsal Benzerlik Fonksiyonları
78
4.4 Çoklu Ortam Sorgu Modeli
79
4.4.1 Çok Parçalı ve Katmanlı Sorgulama Dili
80
4.4.2 Çok-Parçalı Tanımlama
82
4.4.4 Zamansal Tanımlamalar
83
4.4.5 Konumsal Tanımlama
85
4.4.6 Đçerik Tanımlama
87
4.4.6.1 Metin Đçeriklerinin Tanımlanması
88
11
4.4.6.2 Resim Đçeriklerinin Tanımı
88
4.4.6.3 Video Đçeriklerinin Tanımlanması
89
4.4.6.4 Ses Sorguları
90
4.4.7 Sorgulama Dilinin BNF Gösterimi
5. ÇOKLU ORTAM DĐZĐNLEME YÖNTEMLERĐ
5.1 Çoklu Ortam Gösterim Şekilleri
91
94
94
5.1.1 Doku (Texture) Özellikleri
95
5.1.2 Renk Özellikleri
96
5.1.3 Şekil Özellikleri
97
5.1.4 Konumsal Özellikler
98
5.2 Özellik Gösterim Şekilleri
99
5.3 Benzerlik Ölçütleri
101
5.4 Konumsal Erişim Yöntemleri
103
5.5 Yüksek-boyutlu Verilerin Dizinlenmesi
105
5.6 Izgara Dosyaları
106
5.6.1 Izgara Dosyalarının Dinamizmi
5.7 R-ağaç
107
109
6. KONUMSAL IZGARA DOSYALARI (KID)
115
6.1 Çoklu Ortam Dizinleme Gereksinimi
115
6.2 KID'lerin Genel Özellikleri
116
6.3 KID'lerin Oluşturulması
122
6.4 KID Erişim Örneği
127
6.5 Eksik Tanımlı Sorgular
129
7. KOŞUT ÇOKLU ORTAM ERĐŞĐM MODELĐ
131
7.1 Küme Tabanlı Erişim (KTE)
131
7.2 Koşut Küme Tabanlı Erişim (KKTE)
132
7.3 Kümeleme133
7.4 Dağıtım
134
12
7.4.1 Disk Modulo (DM)
134
7.4.2 Fieldwise XOR (FX)
135
7.4.3 Uzay Doldurma Eğrileri (UDE, Space Filling Curves)
135
7.4.3.1 Peano-Eğrileri
136
7.4.3.2 Reflected Binary Gray Codes (RBC)
136
7.4.3.3 Hilbert Eğrisi
137
7.4.4 Dağıtımda UDE Kullanılması1
138
7.5 Problem Tanımı
140
7.6 Önerilen KKTE Dizgesi
142
7.6.1 Mimari
7.6.2 Kümeleme
143
144
7.6.3 Dağıtım
145
7.6.4 Formal Tanımlamalar
147
7.6.5 Koşut Erişim
150
7.6.6 Zaman Analizi
151
8. BAŞARIM ANALĐZĐ
156
8.1 Veri Kümesi
156
8.2 Çoklu Ortam Benzeşim Ortamı
158
8.3 Tek Bilgisayar Sonuçları
158
8.3.1 Başarım Parametreleri
159
8.3.2 Kontrol Yöntemi
160
8.4 Koşut Erişim Başarım Sonuçları
163
9. SONUÇ
166
KAYNAKÇA
169
13
ŞEKĐLLER DĐZĐNĐ
Şekil-2.1
Çoklu ortam öznitelikleri .......................................................................... 16
Şekil-3.1
Çoklu-ortam sorgulama tipleri. ................................................................. 28
Şekil-3.2
Özkarahan modelinde bileşenler arasındaki iletişim ................................ 38
Şekil-3.3
Özkarahan modelinin erişim katmanları ................................................... 38
Şekil-3.4
QBIC'in mimarisi ...................................................................................... 44
Şekil-3.5
CORE'da üç katmanlı veri modeli ............................................................ 49
Şekil-3.6
CORE'un resim gösterim şeması ............................................................. 50
Şekil-3.7
CORE'da gerçekleştirilen Đçerik Tabanlı Erişim Yöntemleri .................. 52
Şekil-3.8
InfoScope dizgesinin genel mimarisi........................................................ 58
Şekil-3.9
InfoScope'da farklı seviyelerdeki soyutlamaları içeren dört
seviyeli veri modeli................................................................................... 56
Şekil-4.1
Veri modelinin iki katmanı ....................................................................... 65
Şekil-4.2
Çok-parçalı tanımlama.............................................................................. 81
Şekil-4.3
Zamansal operatörlerin şekilsel gösterimi ................................................ 84
Şekil-4.4
Zamansal tanımlama örneğinin zaman düzleminde gösterimi.................. 85
Şekil-4.5
Nesnelerin konumsal tanımlama operatörleri ........................................... 86
Şekil-4.6
Nesnelerin resim üzerinde yerleşimi......................................................... 86
Şekil-5.1
(a) örnek şekil, (b) örnek şeklin gösterimi, (c) temel alfabe ..................... 100
Şekil-5.2
(a) Nesne alanlarının düzlemsel gösterimi (b) alt-nesne alanlarının
ağaç yapısı ile temsil edilmesi. ................................................................. 100
Şekil-5.3
Minkowski metrikleri................................................................................ 102
Şekil-5.4
Izgara dosyasının yapısı ............................................................................ 107
Şekil-5.5
Tek bloklu ızgara dosyası ......................................................................... 108
Şekil-5.6
Örnek ızgara dosyasında ilk bölünme....................................................... 108
Şekil-5.7
Örnek ızgara dosyasında ikinci bölünme.................................................. 109
Şekil-5.8
Örnek ızgara dosyasında üçüncü bölünme ............................................... 110
Şekil-5.9
R-ağacının gösterimleri............................................................................. 112
Şekil-6.1
Örnek bir KID organizasyonu................................................................... 118
Şeki-6.2
KID dizin rehberinin oluşturulma adımları............................................... 123
14
Şekil-6.3
KID organizasonunda ızgara sayfaları...................................................... 125
Şekil-6.4
Bir KID organizasyonunda blok numaraları ve Peano Eğrisi................... 127
Şekil-6.5
Aralık numaralarından sayfa numaralarının elde edilmesi. ...................... 128
Şekil-6.6
Eksik sorgularda sayfa numaralarının elde edilmesi. ............................... 130
Şekil-7.1
1, 2 ve 3 düzeyleri için Z (Peano) eğrileri ................................................ 136
Şekil-7.2
1,2 ve 3 düzeyleri için Reflected Binary Code eğrileri............................. 137
Şekil-7.3
Düzey 1, 2 ve 3 için Hilbert eğrileri ......................................................... 137
Şekil-7.4
Farklı UDE’lerin 2 düzeyi için değerleri .................................................. 138
Şekil-7.5
Peano ve Hilbert eğrileriyle kümelemenin aralık sorgularına etkileri ...... 139
Şekil-7.6
Veri erişiminde kullanılan koşut mimarinin şematik gösterimi................ 143
Şekil-7.7
ÇON'ların kümelenme süreçleri................................................................ 145
Şekil-7.8
Sabit ızgara ve ızgara dosya yapıları arasındaki ilişki .............................. 146
Şekil-7.9
Kümelerin ve içerisindeki nesnelerin işlemcilere dağıtılması .................. 150
Şekil-8.1
Sorgu setlerinin yanıt kümelerindeki eleman sayıları............................... 157
Şekil-8.2
KID organizasyonundaki kayıt ve dizin düğümleri sayıları ..................... 159
Şekil-8.3
KID sayfa doluluk oranları ....................................................................... 160
Şekil-8.4
S1 sorgu seti için sorgulama sürecinde R-ağaç ve KID kullanımıyla
...................................................................................................................
...................................................................................................................
................................................................................................................... oku
nan disk sayfa sayıları ............................................................................... 161
Şekil-8.5
Sorgu setleri için KID ve R-ağacı yanıt süreleri ....................................... 162
Şekil-8.6
Koşut erişim yanıt süreleri ........................................................................ 163
Şekil-8.7
Tam ve Parça Dağıtım sonucu sorgu yanıt süreleri süreleri ..................... 164
15
16
TABLOLAR DĐZĐNĐ
Tablo-4.1 Farklı veri türlerinin içerdikleri bilgi tipleri.............................................. 83
Tablo-7.1 Problem tanımında kullanılan parametreler.............................................. 140
Tablo-7.2 Koşut erişim zaman analizinde kullanılan parametreler ........................... 152
Tablo-8.1 Veri Kümeleri ........................................................................................... 156
17
KISALTMALAR DĐZĐNĐ
API
: Application Program Interface
BLOB
: Binary Large Objects
BNF
: Backus Naur Form
C3M
: Cover Co-efficient based Clustering Methodology
CASE
: Computer Aided Software Engineering
CBD
: Coğrafi Bilişim Dizgeleri
CORE
: Content-based Retrieval Engine
CPU
: Central Processing Unit
ÇBD
: Çoklu ortam Bilişim Dizgesi
ÇOD
: Çoklu Ortam Durumları
ÇON
: Çoklu Ortam Dizgesi
ÇOO
: Çoklu Ortam Olayı
ÇOS
: Çoklu ortam Sorgusu
ÇOSU
: Çoklu Ortam Sunumu
ÇVTYD
: Çoklu ortam Veri Tabanı Yönetim Dizgeleri
DCT
: Discrete Cosine Transform
DDL
: Data Definition Language
DFT
: Discrete Fourier Transforms
DM
: Disk Modulo
DÖN
: Doğrusal Ölçek Nesnesi
E/R
: Entity/Relationship
EYK
: En Yakın Komşu (Nearest Neighbor)
FX
: Fieldwise Xor
G/Ç
: Giriş/Çıkış
HTML
: Hyper Text Markup Language
I/O
: Input/Output
IBM
: International Bussiness Machines
ĐTE
: Đçerik Tabanlı Erişim (Content Based Retrieval)
KED
: Kapsayan En-küçük Dörtgen
KEY
: Konumsal Erişim Yöntemleri
18
KID
: Konumsal Izgara Dosyaları
KKTE
: Koşut Kümeleme Tabanlı erişim
KL
: Karhunen-Loeve
KTE
: Kümeleme Tabanlı Erişim
LUT
: Look Up Table
MIT
: Massachuset Institue of Technology
MĐB
: Merkezi Đşlem Birimi
PVM
: Parallel Virtual Machines
QBIC
: Query By Image Content
RBC
: Reflected Binary gray Codes
SAM
: Spatial Access Methods
SQL
: Structured Query Language
UDE
: Uzay Doldurma Eğrileri (Space Filling Curves)
UKE
: Uzaklık Koruyan Eşleme (Distance Preserving Mapping)
UPA
: Uygulama Programı Arayüzü
VTD
: Veri Tanımlama Dili
VTYD
: Veri Tabanı Yönetim Dizgeleri
19
1. GĐRĐ Ş
Đnsan beyni binlerce farklı şekli, resmi, rengi, sesi, muzik eserlerini, dokuyu ve gerçek
dünyanın sayısız bileşenini ayırt edebilme, saklayabilme ve gerektiğinde tekrar geri
getirebilme gibi akıl almaz bir yeteneğe sahiptir. Beynimizde sakladığımız bu veriler
çok farklı şekillerde olabilir. Bir arkadaşımızın ismi, yüzü, sesi, telefon numarası,
binlerce şarkının sözleri ve melodileri gibi uzayıp giden bu liste insan beyninin başarı
ile algılayıp işlediği farklı veri şekillerine örnek olarak verilebilir. Đnsan beyninin bu
muhteşem yapısı henüz tam olarak çözülememiştir. Tüm bu farklı şekillerdeki bilgiler
insan beyninde nasıl saklanır veya güncellenir? Gözlerimiz nasıl binlerce farklı tondaki
rengi ayırt edebilir? Nasıl bir arkadaşımızı saçının rengini değiştirdiğinde, gözlük
taktığında veya bıyık bıraktığında tanımakta zorluk çekmeden hatırlarız? Nasıl yıllardır
görmediğimiz bir arkadaşımızın sesini telefonda duyduğumuzda, anlık zaman dilimi
içerisinde ismini veya yüzünü hatırlayabiliriz? Bütün bu soruların yanıtları henüz tam
olarak bilinmemektedir. Đnsan beyni ve diğer organların birçok özelliği bizler için henüz
açılmamış bir kapalı kutu gibidir. Bilişim dizgelerinin amacı insanlara yardımcı olmak
olduğuna göre, bilgisayara dayalı bir bilişim dizgesi, tamamını gerçekleştiremese bile,
insan beyninin başarıyla yerine getirdiği bu işlemleri her türlü veri üzerinde
yapabilmelidir.
Modern bilişim dizge tasarımcıları, bilişim dizgelerinin işlemesi gereken
verilerin sadece sayı ve metinlerden oluşmadığını, gerçek dünyada çok daha farklı
şekillerde veri türünün bulunduğunun farkına vardılar. Gerçek dünyadaki bu veriler sayı
ve metinler dışında, ses, renk, resim, müzik, konuşma veya video olarak da karşımıza
çıkar. Đşte bu çeşitli şekillerde görülebilen veriler çoklu ortam verileri olarak
isimlendirilirler. Bilişim dizgeleri gerçek hayattan soyutlanamayacağına göre,
mükemmel bir bilişim sistemi tüm bu farklı şekillerdeki veriler üzerinde işlem
yapabilme yeteneğine sahip olmalıdır. Đşte her türlü veriyi işleyebilen bu dizgelere
Çoklu ortam Bilişim Dizgeleri (ÇBD) adı verilir. Bir başka ifade ile ÇBD’ler heterojen
veri tipleri üzerinde işlem yapabilen bilişim dizgeleridir [Yoshikata et al., 1994].
20
Geleneksel bilişim dizgelerinde, bilgisayar ortamlarında saklanan verilerin bir çoğu
alfasayısaldır. Fakat günümüzde, bilgisayar girdi birimlerinin artmasıyla birlikte, hemen
hemen her şekildeki verilerde bir patlama yaşanmaktadır. Đşte bu çeşitli şekillerdeki
verilerin hızlı artışı, çoklu ortam verilerinin nasıl saklanacakları ve işlenecekleri
konusunun önemini ortaya koymaktadır. Çoklu ortam Veri Tabanı Yönetim Dizgeleri
(ÇVTYD) henüz çok yeni uygulamalar olmasına karşın bir çok çalışmanın temel
konusunu oluşturmaktadır [Subrahmanian et al, 1996].
1.1 Çoklu-Ortam Verilerinin Yönetimi
Çoklu ortam verilerinin belirli ilişkiler ile organize edilerek, istendiğinde kolaylıkla
ulaşılabilmesini sağlayacak düzenlemelerin yapılması çözüm bekleyen en önemli
problemlerin başında yer alır. Benzer bir durum geçmişte, alfasayısal veriler için de
yaşanmıştır ve bilgisayara dayalı Veri Tabanı Yönetim Dizgelerinin (VTYD)
yaratılmasını sağlamıştır. Veri tabanlarında çok büyük boyutlardaki veri grupları ilişkili
sahaların oluşturduğu tablolar olarak organize edilmiş, hızlı erişim gerektiren
durumlarda anahtar sahalar arama işlemlerini kolaylaştıran dizinlerin oluşturulması için
kullanılmışlardır. Bu veritabanı dizgeleri modern toplumda bir devrim yapmıştır. Fakat
bu
dizgeler
sadece
alfasayısal
veriler
üzerindeki
işlemleri
başarıyla
gerçekleştirmektedirler. Günümüzde birçok araştırmacı gerçek dünyadaki verilerin bir
çoğu alfasayısal olmadıkları için, Çoklu ortam Bilişim Dizgelerinin (ÇBD) tasarımı ve
gerçekleştirilmesi üzerinde çalışmaktadır. ÇBD'ler çoklu ortamın doğasında bulunan
heterojen veri tipleri nedeniyle geleneksel bilişim dizgelerinden daha çok işleve ve
yeteneğe sahip olmalıdırlar. Bir çoklu ortam verisi metin, sayı, ses, görüntü veya diğer
bir şekilde olabilir. Her şeyden önce bir ÇBD, bu tür verileri saklama, arama ve
üzerlerinde işlem yapabilme yeteneğine sahip olmalıdır. Daha genel bir ifade ile,
ÇBD’ler geleneksel veritabanlarına ek olarak günümüzde mevcut bulunan her türlü
veriyi yönetebilme yeteneğine sahip olmalıdırlar. Çoklu ortamın en temel özelliği olan,
verilerin farklı şekillerde olması, çoklu ortam içerisinde yer alan her türlü verinin birden
aynı anda ele alınmasını zorlaştırmaktadır. Birçok araştırmacı tarafından çok sayıda
araştırmalar yapılmış ve hatta bazıları ticari ürün haline gelmiş olmalarına rağmen,
21
henüz tüm gereksinimleri karşılayabilecek bir model geliştirilememiştir. Bu nedenle,
araştırmacıların konuya olan ilgisi her geçen gün artan bir şekilde devam etmektedir.
Bir ÇBD, farklı organizasyon, dizinleme ve sorgulama tekniklerinin kullanımını
zorunlu kılar. Bu zorunluluk, çoklu ortam verilerini bir veritabanın ilavesi olarak
görmek yerine, onu bilginin merkezi olarak gören yöntemlere olan gereksinimi ortaya
koyar. ÇBD alanında bu problemin çözümündeki genel yaklaşım, geleneksel
VTYD’lere ekler yapmak yerine köklü çözümler içeren öneriler olmalıdır.
1.2 Çoklu Ortam Veri Patlaması
Çoklu ortam teknolojilerinin geliştirilmelerinden yarar bekleyen geniş bir yelpazeye
yayılmış alanlar mevcuttur. Artan bilgisayar girdi ortamlarıyla birlikte, bilgisayarlar
farklı şekillere sahip çok daha fazla veriyi işlemekle karşı karşıyadırlar. Video
kameralar, tarayıcılar, sayısallaştırıcılar her geçen gün daha fazla veri üretmekte ve bu
verilerin bilgisayarlarda işlenmesi beklenmektedir. Kütüphaneler, bilgisayar görme ve
algılama uygulamaları, tıbbi resim arşivleri, video veritabanları sadece birkaç örnektir.
Bu farklı uygulama alanlarındaki ÇBD gereksinimlerinin artmasıyla birlikte, bu tür
verilerin işlenmesi veritabanı araştırmacılarının temel araştırma konularından
bir
tanesini oluşturmaktadır. Bu ise, çoklu ortamı yönetme, anlama, geliştirme ve
kullanımıyla ilgili alanlardaki araştırma patlamasını kısmen açıklamaktadır [Ghafoor,
1995].
Çoklu ortam verileri çok büyük hacimli verilerdir. Örneğin, NASA günde 1
terrabaytlık (=1012) veri almaktadır. Bu ise yılda 1016 baytlık bir veri hacmine karşılık
gelir. Coğrafi Bilişim Dizgelerinin (CBD) verileri de çok büyük hacimlere sahiptir.
Örneğin, Amerika Bureau of Census veritabanı, 19 Gigabayt boyutundadır [Thomasi
and Guibas, 1994][Koudas et al., 1996].
Đnternet günümüz bilgi işleme ve iletişimi alanındaki gelişmelerin gözle görülür
en güzel örneğidir. Çok değil, sadece beş-on yıl öncesinde, internet uygulamalarının bu
22
kadar yaygınlaşacağı ve masamızın önünde oturduğumuz yerden dünya üzerindeki bir
çok merkezdeki bilgilere ulaşabileceğimizi hayal etmek bile oldukça güçtü. Fakat
hemen hemen herkesin internette kaybolmakla ile ilgili bir deneyimi vardır. Birçok kişi
var olduğunu bilmesine rağmen istediği bilgiye kolaylıkla ulaşamamakta veya çok
kolay bir şekilde internette kaybolabilmektedir. Đnternetin sağladığı bu veri yığınları
arasında kaybolma veya kolaylıkla ulaşılamama sorunu, insanların ya isteğinin azalması
ya da kolaylıkla kafalarının karışmasıyla sonuçlanmaktadır. Birçok kişi bu karşılaşılan
durumu bilgi patlaması olarak değerlendirebilirler. Aslında bu yaşanan bir veri
patlamasıdır. Eğer veri hacmi çok büyük ise insanın algılama yeteneği ve verimliliği
düşer. Çoklu ortam verilerini istediğimiz zamanda tekrar geri getirebilecek
düzenlemeler yapamadığımız takdirde, bu veri patlamasının üstesinden gelebilmemiz
mümkün değildir [Jain, 1995].
1.3 Pasif Katılım
Son yıllarda, resimler üzerinde işlem yapan çok çeşitli veri tabanı yönetim sistemleri
geliştirilmiştir. Geleneksel veri tabanı yönetim sistemleri üç temel veri modeline
dayanırlar (sıradüzensel, ağ, ve ilişkisel). Aslında bu veri tabanları genel olarak iş
uygulamalarını çözümlemek üzere geliştirilmişlerdir ve işledikleri veriler genellikle
biçimli (formated) veriler olarak anılırlar. Biçimsiz (unformated veya free format)
veriler ise, genellikle bir dizi (string) olarak temsil edilir ve yapıları bu geleneksel
veritabanları tarafından anlaşılamazlar. Bu biçimsiz veriler aynı zamanda, bayt, string,
BLOB (BLOB=Binary Large Objects) olarak bilinirler. Veri tabanlarındaki bu
sahalarda genellikle resimler ve diğer çoklu ortam verileri saklanır. Bunlar üzerinde
yapılacak olan sorgular ise söz konusu sahalar ile ilişkilendirilmiş anahtar sözcükler
veya diğer sahalar üzerinden gerçekleştirilmektedirler. Bu tür dizgeler gerçek bir çoklu
ortam dizgesi olarak tanımlanamazlar [Ghafoor, 1995]. Çünkü, bu tür dizgelerde çoklu
ortam verileri veritabanının pasif bir üyesidirler. Sorgulama ve erişim gibi temel
veritabanı işlemlerine aktif katılım hakları yoktur. Ne erişim, ne dizinleme ve ne de
arama işlemlerinde doğrudan kullanılamazlar. Bu dizgelerin tek katkısı çoklu ortam
verilerinin BLOB olarak veri tabanınında saklanmasını sağlamaktan başka birşey
23
değildir. Gerçek bir ÇBD’de her türlü verinin yönetime doğrudan veya dolaylı katılma
hakları olmalıdır.
Resimler üzerinde işlem yaptığını belirten bir çok ticari dizge aslında sorguları
doğrudan resimler üzerinden değil de, resim sahaları ile ilişkilendirilmiş olan anahtar
sözcükler ve metin sahaları üzerinden gerçekleştirmektedir [Niblack et al.,1993].
Örneğin, Kodak Picture Exchange projesi, 17 fotoğraf evine ait yüzbinlerce resmin
bulunduğu online bir veri tabanıdır [Benson, 1994]. Her bir resim veya resmin
içerisindeki nesneler bir metin sahası ile ilişkilendirilmiştir. Bir kullanıcı sorgusu ise,
mantıksal olarak birleştirilmiş anahtar sözcükler sorgusu olarak gerçekleştirilmektedir.
Maalesef,
resim sorgulamalarında metinsel sorguların kullanılmasının sayısız
problemleri vardır [Flickner et al., 1995]. Herşeyden önce bir resme metinsel
tanımlamaların iliştirilmesi elle yapıldığı için son derece zaman alıcı ve emek yoğun bir
çalışmadır. Dolayısı ile, yapılan işlemler bu işi gerçekleştiren kişiye sıkı sıkıya
bağımlıdır. Çoğu kere bazı özelliklerin metinsel olarak tanımlanmaları olanaksızdır
[Flickner et al., 1995]. Örneğin, şekillerin ve dokuların metinlerle tanımlanması hemen
hemen imkansızdır. Bu tür yöntemlerin daha birçok birçok zayıf tarafı vardır.
1.4 Aktif Katılım
Bir ÇBD’de temel amaç bütün nesnelerin her türlü veri tabanı işlemine aktif olarak
katılımı sağlamaktır. Araştırmacılar bunu sağlamak için Đçerik-Tabanlı-Erişim (ĐTEContent Based Retrieval) kavramını ortaya atmışlardır. ĐTE, herhangi bir sorgulama
sürecinde, sorgu ile veritabanındaki nesnelerin karşılaştırılmalarında nesnelerle
ilişkilendirilmiş sahalarının kullanılması yerine, doğrudan nesnenin kendi özelliklerinin
kullanılmasına dayanan bir yöntemdir. ĐTE çok farklı anlamlarda kullanılmaktadır.
Hernekadar ĐTE kavramı bilgisayar görme (computer vision) araştırıcıları tarafından
ortaya atılan yeni bir kavram gibi gösterilmiş olsa da, aslında çok yeni bir kavram
değildir. Çünkü ĐTE, 20-30 yıldan daha fazla süreden beri veri tabanı araştırmacıları
tarafından kullanılan Özellik Tabanlı Erişiminden ( feature based retrieval) çok farklı
bir şey değildir [Narasimhalu, 1995].
24
Son yıllarda, ĐTE birçok araştırmacı için güncel bir araştırma konusudur. Konu
ile ilgili bir çok dergi özel sayılar yayınlamışlardır. Birçok üniversite ve ticari
kurumların araştırma bölümleri konu ile ilgili araştırma grupları kurmuşlardır. Örneğin
IBM QBIC (Query By Image Content) adı verilen bir proje yürütmekte [Niblack et al.,
1993] ürünler vermektedirler.
Đçerik tabanlı erişim araştırmaları iki farklı yönde ilerlemektedir. Birinci grup
çalışmaların ana felsefesi, resim içeriğinin otomatik/yarı otomatik veya elle çıkartılarak
geleneksel veritabanlarında modellenmesine dayanır. Sorgular da bu çıkartılan
özellikler kullanılarak belirtilir. Çoklu ortam nesnelerinin bu özellik-tabanlı gösterimleri
üst düzeyli bir soyutlamaya karşılık gelir. Bu yaklaşım veritabanı araştırmacıları
tarafından önerilmiştir. Đkinci yaklaşım ise, özellik-tabanlı yaklaşımın eksikliklerini
gidermek amacıyla tümleşik bir özellik çıkarımı ve nesne-tanıma altdizgelerinin
kullanımına dayalı yöntemler bütünüdür. Bu altdizgeler, veritabanının oluşturulması
aşamasında özellik-çıkarımı ve nesne-tanıma işlemlerini otomatikleştirir. Nevar ki,
nesne-tanıma süreci hesaplanma açısından son derece pahalı, zor ve alana bağımlıdır.
Bu yaklaşım öncelikle resim-algılama araştırıcıları tarafından önerilmiştir [Gudivada
and Raghavan, 1995].
1.5 Geleneksel Veri Tabanlarının Yetersizlikleri
Çoklu ortam veritabanı dizgeleri, geniş bir çeşitliliğe dağılan verilerin tümleşik bir
çerçeve içerisinde birleştirilmesini sağlamaya çalışır. Bu tür veriler saklanmasında farklı
yöntemlere gereksinim duyulur. Verilerin gösterimlerinin farklı standartlara sahip
olması ise bu bütünleştirme işlemini güçleştirir. Bu bağlamda, geleneksel veri tabanı
yönetim dizgelerinin heterojen çoklu-ortam veritabanlarındaki çoklu ortam verilerini
modellemekte yetersiz kaldıkları söylenebilir. Çeşitli veri tiplerinin anlam tabanlı
birleşimleri çok sayıda çoklu ortam uygulamasının kullanımını gerektirir. Đlişkisel
model çoklu ortam verilerinin hatalı yorumlanmasına ve anlamlarını yitirilmesine neden
olabilir. Şema birleştirimi ile metinsel bütünleştirmenin problemleri
giderip
25
gideremeyeceği konusunda bir tartışma sürmektedir. Tüm bu çözüm ailesi, içsel ve
dışsal şema tümleştirilmesi önerilerini içerir. Herbir çözümün ayrı ayrı güçlü ve eksik
oldukları yönler mevcuttur. Her nekadar, bazı ilişkisel veri tabanı ürünleri çoklu ortam
verilerini BLOB’lar olarak saklayabiliyor olsalar da, her bir nesnenin belirli bir kısmına
erişime izin vermemekte ve belirli bir BLOB’u kendi içerisinde bir bütün olarak
değerlendirmektedir [Gudivada and Raghavan, 1995].
Đlişkisel modelin aynı zamanda video ve ses gibi zaman bağımlı verilerin
modellenmesinde de eksiklikleri mevcuttur [Gudivada and Raghavan, 1995]. Bu tür
verilerin
temel
özellikleri
bünyelerinde
konumsal/zamansal
anlamların
ilişkilendirilmesidir. Bu özellik metin ve resim gibi zamana bağımlı olmayan
(non-temporal) verilerden farklılıklarını göstermektedir. Bir kullanıcı hem konumsal
hem de zamansal kavramlar ile sorgu oluşturabilir. Bu önemli anlam çeşitliliği
kullanıcının hem veriyi hem de bilginin kullanımı
ile ilgilidir. Anlam çeşitliliği
geleneksel veritabanları için de önemli bir problemdir ve bugün bile açıklıkla ortaya
konulamamıştır.
Nesne yönelimli veri modeli teknolojisi ise, çoklu ortam verilerinin
gereksinimlerini karşılama ve anlam modellemesi için güçlü yeteneklere sahiptir. Nesne
yönelimli modelin veri ve hesaplama kapsülleştirilme özelliği çoklu ortam veri
tabanlarında farklı seviyelerde bilgi soyutlaması bakımından şık yeteneklere sahiptir.
Bir çok araştırmacı nesne yönelimli veri tabanlarının çoklu ortam veri tabanı olarak
kullanılmasını önermişlerdir. [Löhr and Rakow, 1995][Chen et al., 1995][Özsu et al.,
1995].
1.6 Problem
Her geçen gün çoklu ortam alanında çalışan araştırmacı sayısı artmakta ve çeşitli
yöntemler önerilmekteyse de, her duruma uyabilen ve tüm gereksinimleri karşılayabilen
bir model henüz geliştirilememiştir. Şimdiye kadar gerçekleştirilen çoklu ortam bilişim
dizgeleri, gerçek dünyada karşılaştığımız veri tiplerinin sadece belirli bir kesimi
26
üzerinde yoğunlaşan dizgelerdir. Bir başka deyişle, mevcut dizgeler gerçek dünyayı
modellemekten uzaktır. Bu nedenle bilişim endüstrisi çok acil olarak içerisinde her tür
verinin işlendiği çoklu ortam bilişim dizgelerine gereksinim duymaktadır. Bazı
çalışmalar ise, teorik boyutta kalmış olup uygulamaları son derece zor görünmektedir.
Sonuç olarak, her duruma uyabilen jenerik bir model ortaya atılamamıştır. Çoklu
ortam verilerinin modellenmesi çözüm bekleyen en temel problemlerden bir tanesidir.
Çoklu ortam alanındaki bir diğer önemli problem ise verilerin özellikleri nedeni
ile özel dizinleme yöntemlerine olan gereksinimdir. Dizinleme yöntemleri verilere hızlı
ve doğrudan erişim sağlaması açısından son derece önemlidir. Fakat, geleneksel
veritabanlarında kullanılan dizinleme yöntemlerinin bir çoğu çoklu ortam erişimi için
uygun değildir. Bugüne kadar çoklu ortam verilerinin dizinlenmesi için birçok değişik
yöntemler geliştirilmiş olmasına rağmen, yöntemler birbirlerinden farklı heterojen
türdeki verilerin dizinlenebilmesi için uygun değildir. Bu nedenle çoklu ortam alanında
çözüm bekleyen bir diğer önemli problem ise çoklu ortam verilerinin dizinlenmesine
uygun dizinleme yöntemlerinin geliştirilmesidir.
ÇBD'lerin başarımlarını etkileyen iki temel donanım darboğazı bulunmaktadır.
Bunlar, Giriş/Çıkış (G/Ç, I/O=Input/Output) ve Merkezi Đşlem Birimi (MĐB,
CPU=Central Processing Unit) darboğazlarıdır. Genel olarak çoklu ortam işleme
alanında ortaya atılacak tüm önerilerin öncelikle bu tür darboğazları aşabilecek
yeteneklere sahip olmaları beklenir. Bu iki darboğaza ilişkin olarak akla ilk gelen
çözüm yolu, çoklu ortam veri işlemede koşut bilgisayar mimarilerinden yararlanmaktır.
1.7 Amaç
Bu çalışmanın amacı, ÇBD’lerinin karşılaştığı iki temel darboğazı ortadan kaldırmaya
da yardımcı olabilecek jenerik bir yöntemin geliştirilmesidir. Bu amaçla, bu tez
çalışmasında farklı veri türlerinini dizinlenmesine olanak veren ve Konumsal Izgara
Dosyası (KID) olarak adlandırılan bir dizinleme yöntemi geliştirilmiştir. KID yapısının
en genel özelliği farklı şekillerdeki verilerin dizinlenmesindeki yeteneğidir. Bir diğer
27
özelliği ise KID yapısının koşut bilgisayarlar üzerindeki uygulamaya olan
uygunluğudur. Koşut bilgisayarlar üzerindeki uygulama ile G/Ç ve MĐB gibi çoklu
ortam veri işleme sürecinin iki temel darboğazını giderilmesi amaçlanmaktadır.
1.8 Tez Organizasyonu
Tezin bundan sonraki bölümleri şu şekilde düzenlenmiştir; Đkinci bölümde, çoklu ortam
verilerinin genel özelliklerini tanıtılarak şimdiye kadar yapılan çalışmaların ışığında
çoklu ortam verilerinin özellikleri için bu tez kapsamında geliştirilen sınıflama
tanıtılmıştır. Üçüncü bölüm de ise, ÇBD’lerin genel özellikleri incelenerek ayrıntıları
ile anlatılarak ve bugüne kadar geliştirilen dizgelerden örnekler verilerek mevcut
teknolojinin fotoğrafı çekilmeye çalışılmaktadır. Ayrıca, ÇBD'lerin desteklemeleri
gereken sorgulama yöntemlerine ait bu çalışma içersinde geliştirilen sınıflama
sunulmuştur. Dördüncü bölümde, ÇBD için önermiş olduğumuz genel bir çoklu ortam
dizge modeli tanıtılmaktadır. Model iki seviyeli bir veri ve sorgulama modeline sahip
olup, mümkün olduğunca alan bağımsız olarak tasarlanmaya çalışılmıştır. Yapı, formal
olarak tanımlanmış ve örnek senaryolar ile açıklanmıştır. Beşinci bölümde, çoklu ortam
veri temsil şekilleri ve çoklu ortam dizinlemesi için önerilmiş olan mevcut yapıların
incelemesinden elde edilen bulgular tartışılmıştır. Altıncı bölümde ise, bu tez
kapsamında geliştirilen ve çoklu ortam verilerinin dizinlenmelerine büyük katkılar
sağlayan Konumsal Izgara Dosyaları (KID) tanıtılarak tartışılmış ve formal tanımlaması
sunulmuştur. Yedinci bölümde, koşut erişim konusunda şimdiye kadar yapılan
çalışmalar incelenip mevcut proplemler kısaca tanıtıldıktansonra, bu problemlere ait
çözüm önerilerimiz tanıtılmıştır. Sekizinci bölüm de ise, önerilen dizgenin sentetik
veriler ile denenmesi amacıyla tek ve koşut bilgisayar mimarileri üzerinde
gerçekleştirdiğimiz deneylerin sonuçları sunulmuştur. Dokuzuncu bölümde yapılan
çalışmalarda elde edilen sonuçlar özetlenmekte ve gelecekte yapılabilecek çalışmalar
tartışılmaktadır.
28
2. ÇOKLU ORTAM NESNELERĐ
Bir bilişim dizgesini anlamak için öncelikle, o dizgenin işleyeceği temel veri tiplerinin
anlaşılmış olması gerekmektedir. Bu nedenle bu bölümde, bir Çoklu ortam Bilişim
Dizgesinde
(ÇBD) karşılaşılabilecek farklı veri tipleri ve bu veri tiplerinin genel
özelliklerinin açıklıkla ortaya koyulabilmesi amacıyla, şimdiye kadar bu alanda yapılan
araştırmalar üzerinde yapılan inceleme sonuçları yer almaktadır. Ayrıca, bu ayrıntılı
inceleme sonunda elde edilen bulgular sentezlenerek, çoklu ortam verilerinin
tanımlanması ve dizinlemesinde temel olan öznitelikler için bu çalışma kapsamında
geliştirilen sınıflama yöntemi de tanıtılmıştır.
Bir önceki bölümde de değinildiği gibi, çoklu-ortam verilerinin genel özellikleri
heterojen bir yapıda olmaları ve her bir türün farklı şekillerde temsil edilmesidir. Bir
ÇBD içerisinde karşılaşılabilecek bir çoklu ortam verisi tezin bu noktasından itibaren
Çoklu Ortam Nesnesi (ÇON) olarak adlandırılacaktır.
2.1 Çoklu Ortam Nesnelerinin (ÇON) Genel Özellikleri
ÇON'ların genel özellikleri modellemeden dizinlemeye kadar yapılacak her türlü
çalışmayı yakından ilgilendirmektedir. Bu özellikler ÇON'ların doğasından kaynaklanan
genel özelliklerdir ve aşağıda açıklanmıştır
•
ÇON’lar karmaşık nesnelerdir ve tanımlanmaları güçtür. Bu nedenle, gerek
veritabanlarına eklenmeleri ve gerekse sorguların hazırlanması aşamasında,
büyük bir olasıkla, tam olarak temsil edilemezler [Wu et al., 1995].
•
ÇON’lar mevcut bilgisayar teknolojisi ile, sınırları çok iyi belirlenmiş
alanlar
dışında,
otomatik
olarak
sınıflanamaz,
algılanamaz
veya
tanınlanamazlar. Bu nedenle, bu tür işlemlerin yapılmasında, insan aracılığı
29
kaçınılmazdır ve genellikle ya elle ya da yarı otomatik olarak bilgisayar
yardımı ile yapılabilirler [Wu et al., 1995].
•
ÇON’lar doğaları gereği görsel ve işitseldirler. Bu nedenle birden çok
tanımlamaları olabilir. Aynı veriden farklı, bazen çakışan bilgiler çıkartılmış
olabilir [Wu et al., 1995]. Bir ÇON’dan çıkartılan bilgi, doğrudan verinin
içeriğine bağlı olduğu kadar aynı zamanda o bilginin çıkartılmasına aracılık
eden kişiye de sıkı sıkıya bağlıdır.
•
ÇON’lar durum-duyarlıdırlar (context-sensitive) ve çoğu kere öznel ve
bulanık tanımlamalar içerirler. Farklı durumlarda, aynı nesne bile farklı
ifadelerle tanımlanabilir.
•
ÇON’lar çok-boyutludurlar. Sıradüzensel olarak yapılandırılabilirler ve
iç-içe geçmiş ilişkileri de olabilir. Bir ÇON içerisinde birden çok alt-nesneler
bulunabilir ve bunlar birden çok ve farklı özellikler barındırabilirler.
Örneğin, bir resimdeki renk, doku, şekil ve benzeri niteliklerin hepsi resmi
tanımlamada
kullanılabilecek
özelliklerdir.
Tanımlanabilmeleri
için
genellikle insan beyninin yapısına benzeyen yapay us mekanizmalarına
gereksinim duyarlar. ÇON’lar belirli bir ölçek üzerinde sıralanamazlar. Bu
nedenle özel dizinleme yapılarına ve modellere gereksinim duyarlar.
•
ÇON’ların hacimleri çok büyüktür. Örnek olarak 1024x1024 pixel
boyutunda ve 24 bit/pixel duyarlılığında bir resim 3 MB depolama alanını
gerektirir. 10:1’lik sıkıştırma oranına sahip sıkıştırma algoritmalarının
kullanılmasıyla aynı resim 300 KB’lık bir alanda saklanabilir. Saniyede 30
çerçeve içeren 5 dakikalık bir video kaydı, sıkıştırılmamış halde bir saniye
için 90 MB, bir dakika için 5400 MB ve beş dakika için 27000 MB (27
GB)’lık bir depolama alanı gerektirir. Daha iyi bir sıkıştırma oranına (100:1)
sahip algoritmaların kullanılmasıyla yüksek çözünürlükteki bir video verisi
ancak 270 MBlık bir alanda saklanabilir .
30
•
ÇON’lar gecikme-duyarlı (delay-sensitive) nesnelerdir. Özellikle ses ve
video gibi zaman boyutuna sahip temel ÇON türleri, sunumda belirli bir
zaman dilimi içerisinde belirli sayıdaki birim nesneyi işlemek zorundadır.
Bir birim işlem herbir bileşenin bir işlemden geçirilmesi, ağ üzerinde bir
noktadan diğerine iletimi veya kullanıcıya sunulması anlamına gelebilir.
2.2 Çoklu-Ortam Veri Tipleri
Önceki bölümde belirtilen özellikler ÇON’ların genel özellikleridir ve genel olarak
ÇBD’lerin niçin geleneksel bilişim dizgelerinden farklılıklar içerdiğini açıklanmasına
yardımcı olur. Bir ÇBD içerisinde karşılaşılabilecek temel veri tipleri şunlardır:
• Metin: Metin belgeleri kitap, bölüm veya paragraf halinde şekillendirilmemiş
metin blokları halinde olabilirler. Her bir belge, o belgeyi veritabanı
içerisinde en iyi temsil edilebilecek olan anahtar sözcüklerle temsil edilir.
Anahtar sözcüklerin seçimi elle yapılabileceği gibi otomatik olarak da
yapılabilir. Otomatik olarak anahtar sözcüklerin oluşturulması kabaca şu
aşamaları içerir: Öncelikle belgelerde geçen ve dizinleme değeri bulunmayan
boş sözcükler (noise words) ayıklanır. Daha sonra veri tabanındaki belgelerde
geçen sözcükler ön ve son eklerinden arındırılarak, köklerine ayrıştırılır.
Daha sonra, herbir kökün veritabanındaki belgelerde kullanılma frekanslarına
bakılır. Düşük ve yüksek frekanslara sahip kökler normalize edilerek
dizinlemede esas alınacak anahtar sözcük listesi hazırlanır. Metin üzerinde
yapılacak işlemler diğer çoklu ortam veri tiplerinde görünmeyen bir özelliğe
sahiptir. Diğer veri tipleri ulusal karakterde değil iken, metin üzerinde
yapılacak olan işlemler yoğun olarak ulus-bağımlı bir süreçtir ve doğal-dil
işleme (natural language processing) alanı ile yoğun ilişki halindedir.
• Grafikler: Grafikler çeşitli formatlarda yapılmış olan çizimlere karşılık gelir.
Grafikler DWG, PICT, PDF, PostScript ve benzeri formatlarda olabilir. Bu
tür veriler belirli bir yapı halinde veri tabanında saklanabilir ve çizgi, daire,
31
kare gibi meta-verilerle kolaylıkla sorgulanabilir. Kuşkusuz, şekiller basit bir
tip olarak ele alınamazlar ve özel sorgulama kriterlerine gereksinim duyarlar.
Örneğin, birçok bileşenden oluşan sandelye çizimi, kolaylıkla sorgulanamaz
ve çeşitli soyutlama seviyelerinde üst düzey gösterim şekillerine gereksinim
duyar.
• Görüntü: Bu başlık altında sayısallaştırılmış resim veya fotoğraflar ifade
edilmek istenmektedir. Bir görüntü, farklı şekillerde kodlanmış olabilir.
JPEG, TIFF, BMP ve GIF çok bilinen resim kodlama tekniklerine örnek
olarak verilebilir. Her nekadar bazı kodlama teknikleri resmin bilgisayarda
saklanan boyutunu küçültebilmek için özel sıkıştırma yöntemleri kullanıyor
olsalar da, bir resim pixel-pixel bir matris olarak temsil edilir ve içerisinde
çizgi, şekil, çerçeve, doku gibi bileşenler içermezler. Görüntü işleme
araştırıcılarının temel araştırma konuları ÇBD'ler için de son derece
önemlidir ve ÇBD içerisinde yer alan bir çok araç görüntü işleme alanındaki
bu teknikleri kullanır.
• Animasyon: Bir animasyon, grafik veya görüntülerin belirli bir zaman dilimi
içerisinde ardarda sıralanmış şeklidir. Görüntü ve grafikler bağımsız olarak
inşa ve organize edilebilirler. Basit görüntülerin tersine, animasyonların
belirli bir zaman dilimi içerisinde belirli bir sayıdaki resmi arayıp getirmesi
ve sunumda aktif resmi bir sonraki resim ile belirli bir süre içerisinde
değiştirmesi gerekmektedir. Çeşitli animasyon kodlama tekniklerinde bu süre
farklı olmakla birlikte, genellikle saniyede 2 resimden 30 resime kadar
değişebilmektedir.
• Video: Video belirli bir zaman dilimi içerisinde sıralanmış fotoğraf
verileridir. Video verisi genellikle sayısal-video-kaydedici adı verilen
cihazlar tarafından kaydedilen gerçek yaşam kayıtlarıdır. Veri, çerçeve adı
verilen birimlere bölünmüştür. Her bir çerçeve, tek bir fotoğraf verisini içerir
ve bir video verisinde genellikle saniyede gösterilmesi gereken 24 ile 30
çerçeve bulunur.
• Yapısal Ses: Animasyonlardaki yapıya benzer olarak, bu veriler de belirli bir
zaman dilimi içerisinde herbiri bağımsız ses bileşenlerini içerir. Bu
32
bileşenlerin herbiri kendi başlarına da kullanılabilen nota, ton veya es
verileridir. Bu verilerdeki seslerin dinlenmesi ise genellikle yaratılma
zamanında belirlenmiş olan hızlarına göre belirlenen zaman içerisinde ses
bileşenlerinin icra edilmesiyle sağlanır (örneğin; 1/8’lik nota gibi) [Pazandak,
1996].
• Ses (Audio): Ses, gerçek hayattan kaydedilmiş bir dizi sıralanmış veriyi ifade
eder. Ses verisi de bir zaman dilimi içerisinde örnek (sample) adı verilen
sıralı birimlere ayrılmıştır [Pazandak, 1996] ve kayıt sırasında belirlenen ve
tekrar dinlenebilmesi için insan kulağının ayırt edemeyeceği bir hızda
sunulması gereken verilerdir.
• Karma Tipler: Karma veri tipleri, diğer temel çoklu ortam veri tiplerinin
veya karma tiplerin birleşiminden oluşur. Herbir veri yeni bir tip elde etmek
için fiziksel veya mantıksal olarak karıştırılmış olabilir. Fiziksel karışım yeni
bir saklama ve işleme şeklini beraberinde getirebilir. Örneğin ses ve video
iç-içe karıştırılmış olabilir. Artık, bu, verinin işlenmesi için yeni tip özgü
yöntemlerin kullanılması gerekir. Mantıksal karışım ise, karışımı oluşturan
herbir bağımsız verinin formatında değişim meydana getirmeden yeni bir tip
elde edilmesidir. Örneğin, yeni bir tip olan AV (Audio-Video), herbirisi
birbirinden ayrık iki veri tipinin karışımıdır. Burada bağımsız verilerin
yapısında değişim meydana getirilmemiştir. Verinin yeniden gösterilmesinde
ise bu iki veri tipi ayrı ayrı olmak üzere senkronize bir biçimde kullanıcıya
sunulur veya iletilirler. Bunun yanında, karma veriler aynı zamanda
kullanıcıya verinin nasıl sunulacağı konusunda bazı ilave bilgiler de
içerebilirler.
• Sunum: Sunumlar da karma veri tipleridir ve aynı zamanda yapısında sunum
için gerekli orkestrasyon bilgileri içerirler. Orkestrasyon basit olarak
zamanlama sırası olabilir. Örneğin; video1’i oynat, sonra video2’yi ve benzeri
gibi. Bazen sunum bilgileri kullanıcıyla etkileşimi de içerecek şekilde daha
karmaşık bilgileri de barındırabilir. Sunum verilerini hazırlamak için çok özel
uygulamalar (MS Power Point, vb) kullanılabileceği gibi, özel bir dil de
kullanılabilir. Internet’de yaygın olarak kullanılan Hyper Text Markup
33
Language (HTML) bu yapıya uygun bir sunum diline örnek olarak verilebilir.
[Pazandak et al., 1995].
2.3 Çoklu Ortam Öznitelikleri
Bir ÇON’u tanımlamak için birden çok ve birbirinden oldukça farklı özelliklerin olması
ÇON’ların en belirgin ve en önemli genel özellikleri arasındadır. Çünkü, bu özellikler
verilerin veri tabanına eklenmesi ve tekrar geri getirilmesi süreçlerinde kullanılan
özniteliklerdir. Bu öznitelikler üzerinde bir oydaşma sağlanamamış, benzer kavramlar
farklı deyimlerle tanımlanmış
ve bazen de farklı çalışmalarda aynı terimler farklı
anlamlarda kullanılmıştır. Bu nedenle, hem kullanılacak olan terminolojiyi açıklıkla
ortaya koymak hem de anlaşılırlığı kolaylaştırmak için bu bölümde çoklu ortam
öznitelikleri konusunda bir sınıflama yapılmaya çalışılmıştır. Çoklu verilerinin
özniteliklerine ait sınıflama Şekil-2.1’de gösterilmiştir. Buna göre, çoklu ortam verileri
genel olarak öznel ve nesnel olmak üzere iki temel grupta incelenmiş ve detayları
aşağıdaki bölümlerde açıklanmıştır.
2.3.1 Nesnel Öznitelikler
Nesnel öznitelikler alandan alana değişim göstermeyen ve uygulamaya bağımlı olmayan
özniteliklerdir. Bu tür öznitelikler [Gudivada et al., 1995] tarafından, küçük
farklılıklarla, meta-öznitelikler olarak tanımlanmışlardır. Nesnel öznitelikler insan
algılamasına veya yardımına gerek olmadan çıkartılabilen, ya çoklu ortam verisinin
kendi dışından gelen ya da insanın aracılığına gerek kalmaksızın otomatik olarak
ÇON’un içerisinden ayıklanabilen özellikleri temsil ederler. Bu tür öznitelikler, nereden
çıkartıldıklarına göre içsel ve dışsal öznitelikler olarak iki alt gruba ayrılmıştır.
34
Çokluortam
öznitelikleri
Nesnel
öznitelikler
Dışsal
öznitelikler
Đçsel
öznitelikler
Öznel
öznitelikler
Kavramsal
öznitelikler
Yorumsal
öznitelikler
Şekil-2.1: Çoklu ortam öznitelikleri
2.3.1.1Dışsal Öznitelikler
Bu tür öznitelikler ÇON dışından ve verinin içeriğine bakılmadan elde edildikleri için
dışsal öznitelikler olarak adlandırılmışlardır. Bu tür öznitelikler, örnek olarak, bir resim
nesnesinin elde ediliş tarihi, numarası, resmi çeken kişinin adı, resmin boyutları ve
saklama formatları gibi bilgileri içerir. Bir ÇBD bu tür öznitelik değerlerinin elde
edilmesi için insanın algılama aracılığına genellikle geresinim duymaz.
Bu tür öznitelikler, genellikle alfasayısal veri türündedir ve geleneksel veri
tabanı yönetim sistemlerinde kullanılan tekniklerle başarıyla işlenebilirler. Bunlar tek
boyutlu uzayda bir nokta olarak temsil edilirler ve erişim yöntemleri genellikle öznitelik
değerlerinin tam uyumuna göre yapılır. Tam uyum sorguları, mevcut veri tabanı
yönetim teknikleriyle başarıyla yerine getirildiklerinden, bu tür öznitelikler çoklu ortam
sorgulama sürecinde son derece önemli bir yere sahiptirler. Örneğin, bir resim veri
tabanında, yukarıda örnek olarak verilen dışsal özniteliklerin kullanıldığını varsayalım.
Uygun nesnelerin ayıklanması için bu tür öznitelikler daha ileri arama işlemlerinin
gerçekleştirilmesinden önce, arama alanını daraltmak için kullanılabilirler. Örneğin,
doğal dilde kullanıcı şöyle bir sorgu vermiş olabilir: “Ara Güler tarafından çekilen ve
35
GIF formatındaki Đstanbul’un günbatımı resimlerini bul”. Bu sorguda, kullanıcı
tarafından belirtilmiş olan üç tane dışsal öznitelik değeri vardır. (1) resmin çekildiği
yerin adı: Đstanbul, (2) resmi çeken kişi: Ara Güler, (3) resmin saklanma formatı: GIF.
Đstenen nesnelerin bulunması için bu öznitelik değerleri iki açıdan son derece önemlidir.
Birincisi, bu tür verilerin nasıl saklanacakları, nasıl dizinlenecekleri son derece iyi
bilinen işlemlerdir ve mevcut veritabanı yönetimi teknolojisi ile başarıyla yerine
getirilmektedir. Đkincisi, bu özniteliklere göre yapılacak sorgular, aşağıda anlatılacak
olan ve ÇON’ların içeriğini kontrol eden diğer grup özniteliklere göre son derece kısa
zamanda sonuçlandırılabilmektedir.
Bu nedenlerle, bu öznitelikler diğer grup
öznitelikler üzerinde yapılacak olan sorgulardan önce arama alanını daraltmak için
başarıyla kullanılabilirler.
2.3.1.2 Đçsel Öznitelikler
Bu tür öznitelikler de nesnel özniteliklerdir fakat, insan algılamasına mümkün
olduğunca az gereksinim duyularak veya hiç gereksinim duyulmadan elde edilen ve
doğrudan ÇON içeriğini temsil eden özniteliklerdir. Bu tür öznitelikler özellik vektörü
(feature vector) adı verilen vektörlerle temsil edilirler. Bütün ÇBD’ler bu tür verileri
ÇON’lar içerisinden çıkartabilecek araçlara ve bu öznitelikler üzerinde temel işlemleri
gerçekleştirebilme yeteneğine sahip olmalıdırlar. Bu tür öznitelik verilerine örnek
olarak, bir resimin genel veya kısmi renk histogramları, doku matrisleri, şekil bilgileri,
bir sesdeki ardışık diziler veya bir dokümanı temsil eden dizinleme terimleri vektörü
verilebilir.
Bu tür özniteliklerin iki temel özelliği vardır: (1) nesnellikleri ve (2) ÇON
içeriğini temsil etme yetenekleri. Birinci özellik bu özniteliklerin ÇBD’nin bir bileşeni
tarafından doğrudan ÇON kullanılarak, insan aracılığı olmadan elde edilmesidir. Bu tür
özniteliklerin otomatik olarak elde edilmeleri bir zorunluluktur. Çünkü, eğer insan
aracılığı ile edilir ise, aynı insan bile aynı nesneye farklı zamanlarda farklı değerler
verebileceğinden nesnellik özellikleri bozulabilir. Örneğin, bir resim için renk
histogramının bir program tarafından otomatik olarak hazırlandığını varsayalım.
36
Programın aynı ÇON’dan daima aynı histogramı çıkartacağı açıktır. Aynı prensip metin
belgeleri için otomatik anahtar sözcük hazırlama süreci için de geçerlidir. Bu içsel
özniteliklerin nesnelliğini oluşturur.
Đkinci temel özellik bu özniteliklerin içerik tabanlı erişim için son derce önemli
olan doğrudan ÇON üzerinden elde edilmiş bilgileri barındırıyor olmalarıdır. Bu tür
verilerin elle elde edilmeleri hemen hemen olanaksızdır ve bilgisayarlar için bile
oldukça yoğun zaman harcatan uygulamalardır. Genellikle, içsel öznitelikler ÇON’ların
veritabanına eklenmesinden önce bilgisayar tarafından şeçilirler. Sorgu sırasında ise
uygun arayüzlerin kullanımı ile bu öznitelik değerleri kullanıcı tarafından verilirler.
Hernekadar farklı teknikler aynı tipteki içsel öznitelikler için farklı değerler
üretebiliyor olsalar da, ÇON veritabanına eklenirken ve sorgulanırken aynı teknik
kullanıldığı için, nesnellik özelliği bozulmaz. Fakat insan aracılığı devreye girdiğinde
problem başlar. ÇON’ların genel özelliklerinde anlatıldığı gibi, farklı kişiler, hatta
bazen aynı kişi bile, farklı zamanlarda aynı nesneyi tanımlamak için farklı veya çakışan
yorumlar yapabilmektedir. Aynı resme bakan bir kişi, eğer moda tasarımcısı ise,
resimlerdeki insanların giysileri ile, eğer bir dekoratör ise, podyumun dekorasyonu ile
ilgilenmesi gayet doğaldır.
Eğer içerik tabanlı bilginin elde edilmesi insan yorumuna bağımlı ise, bu eylem
normalde veritabanına eklenmesi ve sorguların hazırlanması aşaması olmak üzere en az
iki kez yapılacaktır. Bu iki yorumun farklı olma olasılığı oldukça yüksektir. Bu
varsayım belki sınırları ve kapsamı son derece iyi belirlenmiş uygulamalar için geçerli
olamamakla birlikte insanların hata yapma olasılıkları makinalarınkine göre çok daha
fazla olacağı için, geçerli varsayılabilir. Şurası kesindir ki, alan-bağımsız bir ÇBD
uygulaması ancak her içerik tabanlı özelliğin nesnel öznitelikler sınıfında yer alması ile
mümkündür. Maalesef, günümüz bilgisayar tanıma teknolojisi, iyi tanımlanmış ve dar
kapsamlı alanlar dışında, son derece kısıtlı olanaklara sahiptir. Đnsan aracılığına bağımlı
öznitelikler dikkatli kullanılmalıdırlar.
37
Đçsel öznitelikleri dışsal özniteliklerden ayıran bir diğer önemli özellik ise,
çok-boyutlu olmaları ve genellikle bir vektör ile temsil edilmeleri nedeniyle, geleneksel
dizinleme yöntemlerinin kullanılamamalarıdır. Bu tür öznitelik değerleri, Konumsal
Erişim Yöntemleri (KEY) adı verilen özel dizinleme yöntemlerine gereksinim duyarlar.
KEY’ler üzerine ayrıntılı bilgiler beşinci bölümde verilecektir.
2.3.2 Öznel Öznitelikler
Bu tür öznitelikler, elde edilmelerinde insan algılama gücünden yararlanılması gereken
özniteliklerdir. ÇON’ların genel özelliklerinde de belirtildiği gibi, ÇON’ların farklı
tanımlamaları olabilir. Bu tanımlamalarda kullanılan yöntemlere göre öznel öznitelikler
iki alt grupta incelenmişlerdir.
2.3.2.1 Yorumlama Öznitelikleri
Bu tür öznitelik değerleri doğrudan insan yorumuna bağlıdır. Çoklu ortam verilerini
dizinlemenin en yaygın yolu, herbir ÇON'a metinsel açıklamaların verilmesidir. Bazı
araştırmacılar bu tür öznitelikler için metinsel meta-veri deyimini kullanmışlardır.
Kolaylıkla farkedilebilecği gibi, metinsel tanımlamalar insan yorumuna doğrudan
gereksinim duyarlar ve farklı insanlar farklı yorumlar yapabileceği için, özneldirler. Bu
yorumlar herhangi bir formda olabilirler ve metin bulma (text retrieval) teknikleri
kolaylıkla bu tür öznitelikler için kullanılabilir. Fakat, sorgulama süreci sonunda elde
edilen ÇON’ların kullanıcı sorgusuna mutlak benzerlik göstereceği kesin değildir. Bu
nedenle, değişik sorgu sınıfları içeren karmaşık bir sorguda, bu tür özniteliklerin
ağırlıkları yüksek olmamalıdır. Diğer önemli bir konu ise metinsel tanımlamaların, içsel
öznitelikler gibi özniteliklerle desteklenmediği sürece önemli olmadığıdır. Fakat,
uygulanmaları son derece kolaydır ve mevcut veri tabanı teknolojilerinde yaygınlıkla
kullanılmaktadırlar.
38
Yorum
öznitelikleri
serbest
form
metin
olabileceği
gibi,
geleneksel
veritabanlarının başarıyla yerine getirdikleri nokta veriler de olabilir. Eğer durum böyle
ise, nesnel öznitelikler içerisinde yer alan dışsal özniteliklere çok benzerlik
gösterebilirler ve tam uyum sorguları yapılabilir. Fakat, bu tür öznitelik değerleri,
yorumsal oldukları için arama alanını daraltmak amacıyla kullanılmazlar. Örneğin, bir
yüz tanıma dizgesinde, her bir yüz için kaş şekillerinin yay, normal ve düz olarak
önceden tanımlanmış olduğunu varsayalım. Bir kullanıcı, önüne gelen herhangi bir
portrenin kaş şeklini yorumlarken, başka bir kullanıcının yay şeklinde işaretlediğini çok
kolaylıkla normal olarak yorumlayabilir. Eğer kaş şekilleri arama alanını daraltmak için
kullanılırsa, sonuçların ıskalama (fall-out) oranı yüksek olacaktır. Bir başka deyişle, bu
tür öznitelik değerleri üzerinde, tam uyum sorgu işleme yapılabilirken sonuçlar mutlak
doğru değildir.
2.3.2.2 Kavramsal Öznitelikler
Buraya kadar anlatılan öznitelikler bir ÇON’u tanımlamak için yeterli değildir ve
ÇON’un içeriğindeki anlamların kavramsal modeline gereksinim vardır. Kavramsal
öznitelikler de ÇON’un içeriğinden çıkartılmışlardır ve alt-nesneleri ve diğer nesneler
arasındaki ilişkisel bilgileri barındırırlar. Bu ilişkiler konumsal ilişkiler olduğu kadar
aynı zamanda zamansal ilişkiler de olabilir. Kavramsal öznitelikler Veri Tanımlama
Dilleri (VTD) veya simgesel (iconic) CASE (Computer Aided Software Engineering)
araçları yardımıyla tanımlanır.
Bir ÇON için kavramsal anlamların tanımlanması, günümüz teknoljisi ile
maalesef hala emek yoğun bir süreçtir ve sınırlanmış alanlarda işlem yapılabilmektedir.
Bu nedenle, bu öznitelikler özneldirler ve bu anlam içerisinde ele alınmalıdırlar. Bu
arada bu öznitelikler aslında kavramsal modelde tanımlanmış öznitelik değerleridir ve
modeldeki veriler yorumsal özniteliklerdir. Eğer bilgisayar nesne algılama teknolojileri
insanın yerine getirdiği işlemleri yerine getirebilecek seviyeye gelirse, bu tür
özniteliklerde içsel öznitelikler olarak algılanabileceklerdir.
39
Bu konuda önerilen kavramsal bir model dördüncü bölümde ayrıntılı olarak
tartışılmıştır.
40
3. ÇOKLU ORTAM BĐLĐŞ ĐM DĐZGELERĐ (ÇBD)
Bir ÇBD, çoklu-ortam nesnelerinin yaratılması, saklanması, yönetilmesi, geri
getirilmesi, sunulması ve kullanılması ile ilgili işlemleri sağlayan işlevlere sahip
olmalıdır. Bir çoklu ortam nesnesi (ÇON) yaratmak için veri setinin işlenmesi ve özellik
değerlerinin çıkartılmış olması gerekmektedir. Çoklu ortam bilişim dizgesi bir
veritabanı yönetim dizgesinin sunduğu yeteneklere ilave işlevler gerektirir. Bu
nedenlerle, bir ÇBD geleneksel bilişim dizgelerine göre çok daha karmaşık bir
organizasyondur. Bu alanda yapılacak bir çalışmanın başarılı olabilmesi büyük bir
oranda bu karmaşık yapının ve temel gereksinimlerin ayrıntıları ile ortaya konulmuş
olmasına bağlıdır.
Bu bölümde öncelikle, çoklu ortam bilişim dizgelerinin genel özellikleri ve
sahip olmaları gereken temel işlevler incelenerek, elde edilen bulgular sunulmuştur.
Daha sonra bu bulgular sentezlenmiş ve bir ÇBD'deki sorgu biçimlerine ait bir sınıflama
geliştiriltirilerek ayrıntılı olarak tartışılmıştır. Ayrıca, bu alanda yapılan çalışmalardan
önemli ve özgün görülen dört taneside incelenerek mevcut durum bilimin fotoğrafı
çekilmeye çalışılmıştır.
3.1 ÇBD’lerin Genel Özellikleri
ÇBD’ler genellikle ÇON’ların özelliklerinden kaynaklanan bazı özel niteliklere sahiptir.
Bu özellikler aşağıdaki gibi özetlenebilir:
• Bir ÇBD yüksek başarımlı depolama yönetimine sahip olmalıdır, çünkü
ÇON’ların boyutları çok büyük olabilmekte ve bazen birkaç gigabayta kadar
çıkabilmektedir. Görüntü, video ve ses verileri çok büyük hacimlere sahiptir
41
ve depolanmalarında özel tekniklerin kullanılması gerekebilir. Bu tür büyük
hacimli verilere hızlı ulaşım sağlanması başlı başına bir araştırma konusudur.
• Bir ÇON’un içeriği veri, özellik, yorumlama veya kavramsal modeller ile
temsil edilir. Đçerik Tabanlı Erişim (ĐTE, Content-Based Retrieval), veri
tabanındaki nesnelere bu temsillerin kullanılarak erişilmesi temel ilkesine
dayanır. Đçerik tabanlı sorguların işlenmesini gerçekleştiren bir dizgenin etkin
olarak özellik çıkartma ve yorumlama yeteneklerine sahip olması gerekir. Bu,
bir resmin anlaşılması veya konuşmanın metine dönüştürülmesi anlamına
gelebilir ve tahmin edilenden daha zor ve kaynak tüketen işlemdir.
• ÇBD’lerde kullanılacak dizinleme yöntemlerinin içerik-tabanlı olması ise bir
diğer önemli konudur ve çözümlenmesi gereken temel problemlerin
başındadır. Herşeyden önce, ÇON’ların özellik ölçütleri son derece
karmaşıktır. Đkincisi ise, önerilecek dizinleme yöntemi özellik kategorileri
arasında tutarlı olmalıdır. Bu, alana özel bilgi, eğitim veri setleri ve
yordamları gerektirir. Üçüncü olarak, görsel listelemeyi kolaylaştırmak
amacıyla herbir düğüm için ikonik resimlerin yaratılması gerekmektedir.
Eğer, veri görsel değil ise, dizin ağacının düğümleri için ikonik resimlerin
yaratılmasına
özel
dikkat
gösterilmelidir.
Bazı
durumlarda,
sadece
görüntüleme amacıyla, düğümler konumsal olarak düzenlenebilir, yatay veya
dikey çok-çözünürlüklü görsel listelemeler tercih edilebilir.
• ÇON’ların bulunduğu veri tabanları hızlı sorgu işleme ve görsel listeleme için
çok büyük olabilir. Đçerik tabanlı özellikler üzerinde sofistike dizinleme
teknikleri gereklidir. Bu özellik ölçütleri farklı modlarda (sayısal vektör veya
sembol) ve boyutlarda olabilir. Bu ölçütlerin karması ile kavramsal olarak
geçerli indislerin yaratılmaları çok güçtür.
42
• ÇON’ları tanımlamak çok zor olduğu için, SQL benzeri bir sorgu dili ile
tanımlamak çoğu kere oldukça zordur. Öncelikle, daha kullanıcı merkezli bir
yaklaşımla, daha user-friendly sorgu dilleri geliştirilmesi gerekmektedir.
Ayrıca, önerilecek olan sorgu işleme modelleri bulanık ve eksik sorguları da
desteklemelidir.
• Herhangi bir bilişim dizgesinde çoklu ortam nesnelerininin kullanılması asıl
amaçtır. Fakat, ÇON’ların kullanımının planlama ve karar alma organlarına
nasıl katkılar sağlayacağı konusunda çok az çalışma yapılmıştır.
• Böylesi karmaşık bir dizgenin arama mekanizmasının tekrar kullanılabilir ve
genişleyebilir özelliklere sahip olması ise bir diğer arzu edilen niteliktir.
• Bilgisayar endüstrisindeki gelişmeler çoklu ortam çalışmalarını bilişim
dizgelerinin merkezine itmiştir. Bu tür sistemlerde, veri ve bilgi kavramları
birbirinden olabildiğince ayrılmalıdır. Genellikle veri ve bilgi kavramlarında
hata yapılır. Verinin şekli veya tipinin gözlemi veya gerçeği elde edildiği
kaynağa dayanır. Bilgi, işlem-bağımlıdır ve belirli bir bilgi birikimi
kullanılarak veriden çıkartılır. Geleneksel veri tiplerinin tersine, görüntü ve
video verileri kullanıcıların yönelttikleri sorgulardan çok daha farklı bir
soyutlama seviyesine sahiptirler. Bilgi kaynak veya gösteriminden bağımsız
olarak işin odağını oluşturmalıdır. Sorgular genellikle verilere iliştirilen
anlamlar üzerinden gerçekleştirilir. Metin bulma dizgeleri de bu tür
problemlerle karşı karşıya kalmışlardır, fakat ÇBD’lerde bu olay ÇON’ların
heterojen doğası nedeniyle daha karmaşıktır.
• ÇBD, ne bir veri tabanı yönetimi sistemi ne de bilgisayar görme dizgesidir.
Hernekadar kullanılacak olan yöntem ve algoritmalar birçok disiplinin temel
konuları ise de, ÇBD bu farklı ortamlardan gelen tekniklerin yoğun ve
uyumlu bir şekilde kullanıldığı bir kompozisyondur.
43
Birleşik bir dizgeye olan gereksinimden ötürü, ÇBD alanında çalışma yapacak
olan araştırmacılar öncelikle şu sorulara yanıt aramalıdırlar: Tipik bir ÇBD’din temel
gereksinimleri nelerdir? Bu aslında problemin tanımıdır. Aslında birçok araştırmacı
tarafından ortaya atılmış birçok problem mevcuttur. ÇBD alanındaki problemler
donanım ve yazılım olmak üzere iki temel başlık altında incelenebilir [Kunii et.al.,
1995].
Hızla gelişen bu konuda her geçen gün yeni çözümlerin kazandırılmasına
rağmen çok temel olarak aşağıda donanıma ait mevcut problemler açıklanmaya
çalışılmıştır.
•
Bilgisayarlarda çevrim içi olarak kullanılan depolama ünitelerinin kapasiteleri
yeteri kadar büyük değildir.
•
Depolama ünitelerinden bilgi aktarım hızı, çoklu ortam gereksinimlerini
karşılayacak düzeyde değildir. Aynı zamanda ÇON’ların saklanma süresi de
kısadır. Aktarım hızında iyileştirmelere gereksinim vardır.
•
Đçerik adreslenebilir bellekler (Content addressable Memories)
yararlı
araçlardır, ancak çoklu ortam gereksinimlerini karşılayabilecek kadar büyük
değillerdir.
•
Đletişim bant genişliği ise çoklu ortam uygulamaları için bir diğer donanım
problemidir. Sadece bir nesnesin belirli bir zaman diliminde iletimi bile çok
büyük
bant
genişliklerini
gerektirir.
Đletişim
problemi,
ÇON’ların
gecikme-duyarlı veriler olması nedeniyle son derece önemlidir.
Donanım problemleri yanında, çözüm bekleyen bir dizi yazılım problemi vardır.
•
Senkron olarak farklı biçimlerdeki verileri modelleyebilecek yapılara gereksinim
vardır. Bu modelleri tanımlayan veritabanı şemalarının
entegrasyonuna
gereksinim vardır. Geri getirme aşamasında, senkronizasyon gereksinimlerini
belirleyebilmek için zamana bağımlı meta-şemalara gereksinim vardır. Üst
düzey bilgi soyutlamalarıyla nesne bulma algoritmalarının tasarlanması için,
hypermedia veya nesne yönelimli modellere gereksinim vardır.
44
•
Özellikle video, ses ve görüntü verileri için kavramsal modellere gereksinim
vardır. Bu modeller anlamsal yoğunluğa sahip olmalı, ÇON’ların konumsal ve
zamansal özelliklerini ifade edebilecek yeteneğe sahip olmalıdır.
•
Çoklu-ortam veritabanlarında arama işlemi özellikle sıkıştırılmış olarak saklanan
görüntü, video ve ses verileri için hesaplama ve G/Ç açısından yoğun olabilir.
Arama işlemi zaman zaman bulanık veya eksik sorgulara dayanabilir. Arama
işlemini kolaylaştırmak için bazı sınıflama/kümeleme süreçlerine gereksinim
vardır.
•
Çoklu ortama özel sorgulama dilleri/araçlarının geliştirilmelidir. Bu sorgulama
araçları karmaşık konumsal ve zamansal sorguları ifade edebilmeli, benzerlik
bulmaya izin vermeli ve ÇON’lar üzerinde bazı işlemleri yapabilecek özel
fonksiyonlara sahip olmalıdır.
•
Gerçek zamanlı çoklu ortam uygulamaları için merkezi veya koşut disk
ortamları için etkin kümeleme algoritmalarına gereksinim vardır.
•
Çoklu ortam veri tabanlarını destekleyecek özel işletim sistemlerine gereksinim
vardır.
•
Bilgisayar ağları üzerinde dağıtık çoklu ortam yönetimi ile ilgili yazılımlara
gereksinim vardır.
3.2. Çoklu Ortam Sorguları
Çoklu Ortam Sorguları (ÇOS) alışılagelmiş diğer sorgu tiplerinden farklı birçok özelliğe
sahiptir. Herşeyden önce kabul edilmesi gereken genel özellikleri vardır. Bu genel
özellikler aşağıda anlatılmıştır.
•
ÇOS birden çok, küçük alt sorguları içeren içeren tümleşik bir sorgudur. Herbir
sorgu aslında birbirinden farklı sorgu şekillerini bünyesinde barındırabilir.
•
ÇOS etkileşimlidir. Elde edilen sonuçlar mutlak doğru değildir ve sorgu
iyileştirmeye gereksinim duyulur.
45
•
ÇON'ların
tanımlanmalarındaki
güçlükler
nedeni
ile
ÇOS’ların
tanımlanabilmeleri için yardımcı araçlara gereksinim duyulur. Geleneksel veri
tabanlarında kullanılan SQL yeterli değildir.
Diğer birçok bileşende olduğu gibi, çoklu ortam sorgulaması alanında da birçok
tanımlama ve görüşler ileri sürülmüş, fakat bir çoğunun tanımlanması veya içeriğinde
görüş birliği sağlanamamıştır. Bu bölümde çoklu ortam sorguları hakkında bilgiler
verilmiş ve çeşitli kriterler gözönünde bulundurularak sorguların sınıflanması
konusunda bir sentez yapılmıştır. Genel olarak önerilen sınıflama Şekil-3.1’de
gösterilmiştir.
3.2.1 Hazırlanma Şekline Göre Çoklu Ortam Sorguları
Tanımlanmalarındaki güçlükler nedeni ile, çoklu-ortam sorgularının hazırlanması için
çeşitli yollar önerilmiştir. Bir ÇBD sorgulama süreci, bu özellikleri gözönünde
bulundurarak aşağıdaki anlatılan sorgu yöntemlerini bünyesinde barındırmalıdır.
3.2.1.1 Belirtmeli Sorgular
Belirtmeli sorgular kullanıcının ne aradığının tariflerini belirterek yapmış olduğu sorgu
tipleridir. Günümüz veritabanı yönetim dizgelerinde SQL ve benzeri diller yaygın
olarak ve başarı ile kullanılmaktadırlar. Bu tür sorgulama dilleri bu sınıfa girerler. Ne
varki, bu tür diller genellikle tek boyutlu uzayda nokta olarak temsil edilen verilerin
sorgulanmasında kullanılır. Hernekadar, ÇON'ları tanımlamak güç olsa da, ÇON'ların
bazı öznitelikleri bu tür sorguların yapılmasına izin verirler. Örnek olarak, bir resmin
açıklama sahası, bir müzik eserinin bestecisi, bir kişiye ait fotoğraf ile ilişkilendirilmiş
doğum yeri, tarihi, isim, soyisim gibi kimlik bilgileri gösterilebilir. Bu tür veriler SQL
benzeri araçlarla kolaylıkla sorgulanabilir. Bu yöntem günümüz veri tabanlarında ve
bazı çoklu ortam verilerinin sorgulanmalarında başarıyla kullanılmaktadır.
46
Çoklu-Ortam
Sorguları
Tamlıklarına
Göre
Hazırlanma
Şekillerine Göre
Uyum
Kriterine Göre
Belirtmeli sorgular
Tam Uyum sorguları
Tam sorgular
Örnekle Sorgu
Benzerlik Sorguları
Eksik sorgular
Gezinti ile sorgu
En yakın-komşu sorgular
Muğlak sorgular
Bütün eşler sorguları
Sisli sorgular
Örnekleme Sorguları
Bulanık Sorgular
Sınıflama Sorguları
Şekil-3.1: Çoklu-ortam sorgulama tipleri.
SQL benzeri yöntemlerle ÇON'ların tüm özelliklerinin belirtilebilmesi
olanaksızdır. Bu nedenle bir ÇBD'de renk, doku, şekil ve benzeri özelliklerin
belirtilebilmesine yardımcı olacak ilave yöntem ve araçlara gereksinim duyulur.
Literatürde, renk dağılımı için renk seçim arayüzleri, şekil için serbest formda şekil
çizim programları ve veri tabanında yer alan mevcut dokuları listeyen listeler
(thesaurus) önerilmiştir. Çoklu ortam verilerinin tanımlama güçlüğü, araştırmacıları
tanımlamalara yardımcı olacak araçlar geliştirmeye zorlamaktadır.
Örnek olarak, bir doktorun tibbi resim arşivinden, belirli bir dokuya sahip olan
röntgen filmlerini bulmak istediğini varsayalım. Aranan bir dokunun tanımı nasıl en iyi
şekilde belirtilebilir? Kuşkusuz, kullanıcının serbest formdaki bir çizim programı ile
dokuyu tanımlamasını beklemek doğru değildir. Röntgen filmleri veri tabanına ilave
edildikleri zaman, özellik listeleri hazırlanabilir. Sorgulama sırasında, kullanıcının
aramış olduğu dokuyu verilen kavramlar dizininden seçmesi istenir. Hernekadar
kavramlar dizini kullanımı yaygın olarak metin arama dizgelerinde dizinlemeye temel
47
olan sözcüklerin listesi olarak kullanılıyor ise de, renk, ses, metin, gibi ÇON'ları
tanımlamakta kullanılan herhangi bir özellik için de kavramlar dizini hazırlanabilir. Bu
sorgunun hazırlama sürecine büyük katkılar sağlayabilir.
Belirtmeli sorgular tek başlarına bir ÇBD'nin sorgulama süreci için yeterli
değildirler ve ilave araçlara gereksinim vardır. Fakat, belirtmeli sorgular çoklu ortam
sorgularının önemli bir parçasıdırlar ve ÇBD'ler tarafından desteklenmeleri zorunludur.
3.2.1.2 Örnekle Sorgu
Bu yöntem geçmişte geleneksel veri tabanları tarafından da kullanımış eski bir
yöntemdir. Bu yöntemde kullanıcı, aradığı nesnelerin özelliklerini belirtmek yerine
aradığı nesneye benzeyen bir örneği verir. Sorgulamaya esas teşkil edecek olan sorgu
parametreleri yardımcı araçlar tarafından bu örnekten otomatik olarak çıkartılır. Bu
sorgu tipi, bir önceki grupta yer alan tüm durumları kapsar. Fakat göz önüne alınması
gereken başka problemlerle karşı karşıya kalınabilir. Öncelikle, sorgu işlemede ele
alınacak kıyaslama kriteri ne olacaktır? Tek başına doku uyumu yeterli olacak mıdır
veya doku uyum analizini rastgelelik (randomness), yönelim (orientation), tekrarlılık
(periodicity) gibi bağımsız ölçeklere ayırmalı mıdır?
Đkinci problem ise; herhangi bir sorgunun tüm arama kriterleri eşit ağırlığa mı
sahip olacaktır? Yoksa, ağırlıkların belirlenmesi alana ve nesneye özel olarak mı
belirlenecektir? Eğer bir resimdeki şekiller koyu kenarlı, buna karşılık dokular zorlukla
ayırt edilebiliyor ise, dizge, ilgili resim için otomatik olarak şekillere ait uyum
sonuçlarının dokulara göre daha yüksek bir ağırlığa sahip olmasını sağlayacak mıdır?
Üçüncüsü; herbir kıyaslama boyutu farklı benzerlik veya uzaklık ölçütleri
gerektirecektir. Elde edilen herbiri bağımsız ve farklı sonuçlardan, genel değerlendirme
listesi (ranked list) nasıl oluşturulacaktır? Örneğin, renk uzayı için Euclidian ölçütü mü
yoksa, ağırlıklı Euclidean ölçütü mü kullanılmalıdır?
48
Dördüncüsü ise; eğer kullanıcı bir resmin tamamını değil de, sadece bir
bölümünü örnek olarak vermek istiyor ise, benzerlik nasıl tanımlanacaktır? Eğer sorgu
örneği resimde bir sandalye varsa ve kullanıcı böyle bir resmi içeren bütün oturma
odası resimlerini bulmak istiyorsa, benzerlik hesaplaması nasıl yapılmalıdır?
Örnekle sorgu hazırlanması her ne kadar ÇON’ların tanımlanma zorluğunun
sorgu hazırlamada doğurduğu güçlükleri ortadan kaldırabilecek sihirli bir yöntem gibi
düşünülebilse de kullanımında altı çizilen konulardaki problemlere dikkat edilmesi
gerekir. Bu arada, konuların çözümü için nasıl bir modele gereksinim olduğu, nasıl bir
veri yapısının uygun olduğu konusunda da ayrıntılı çalışmalar yapılmamıştır ve bunlar
halen açık olan bir çalışma konusudur.
3.2.1.3 Gezinti ile Sorgu
Gezinti ile sorgu, sorgunun veri tabanı üzerinde gezinme yöntemi ile yapılması şeklidir
ve bir sonraki sorgu bir önceki sorgunun sonuçları üzerinde yapılır. Gezinme için
kullanılacak yardımcı araçlara gezgin (navigator, browser) adı verilir ve kullanıcıdan
aldığı mümkün olduğunca az bilgi ile işe başlar. Gezgin, kullanıcının ifade edemediği
bilgileri keşfetmeye, ortaya çıkartmaya yardımcı olur. Örneğin, bir reklamcının bir
resim arşivinden, “bir reklam için ilgili temaya en uygun resimler” aradığını varsayalım.
Görüldüğü gibi sorgu yüzbinlerce resmin yer aldığı bir resim arşivi için son derece
kötü-belirtilmiştir (ill-defined). Eğer dizge, kullanıcının ilgilenebileceği belirli sayıda
resmi içeren altuzayı sunamaz ise kullanıcı çok kolaylıkla sıkılacak veya veriler
arasında istediğine ulaşamadan kaybolacaktır. Gezinme aracı
örnekler sunarak işe başlayabilir ve
kullanıcıya rastgele
kullanıcıya çok kesin kararlar verdirmeden
etkileşim halinde potansiyel arama uzayını tespit etmeye çalışır. Gezinme işi, kullanıcı
artık ne istediğini belirtebilecek konuma gelinceye kadar devam eder. Bir diğer ifade ile
gezgin, katlamalı (incremental) olarak kullanıcı gereksinimlerinin modellenmesini
sağlar. Kullanıcı ilgilendiği resimlerin kümesini bir kere tanımlayabildiğinde sorgularını
daha kesin olarak belirtebilecektir.
49
Gezinme ile sorgu, benzer olarak sorgu iyileştirme (query refinement)
aşamasında da kullanılabilir. Bu durumda, gezgin bir sorgu sonucuyla işe başlar ve
kullanıcı sorgu kriterleri ekler, siler veya herbir kriterin katkılarını değiştirir. Dizge, her
defasında bir önceki sonuçları kullanarak ve sorguyu kısmen yeniden işleterek
kullanıcının gereksinimi olan nesneleri bulmasına yardımcı olur. Sorgu iyileştirme,
ÇBD’lerin desteklemesi gereken ve özellikle örnekle sorgu modelinde sıklıkla
başvurulacak bir yöntemdir.
3.2.2 Uyum Kriterlerine Göre
Bu gruplama, çoklu ortam sorgularının kendi özelliklerinden çok, verilen bir sorgunun
nasıl işlendiğini göz önüne alınarak yapılmış sınıflamaları içerir. Tam uyum (exact
match) ve kısmi/yaklaşık uyum (partial/aproximate match) olmak üzere iki alt grupta
incelenmiştir.
3.2.2.1 Tam Uyum Sorguları
Her ne kadar birçok çoklu ortam sorgusu yaklaşık sorgular grubunda olsa da, ÇBD’ler
bünyelerinde tam uyum sorgularını da işleyebilecek yöntemler barındırmalıdırlar. Tam
uyum sorguları, geleneksek veritabanlarında başarıyla işlenir ve sonuçları mutlaktır.
SQL ve benzeri diller ile yapılan sorgular bu grup içerisinde yer alırlar. Bu sorguların
işlenmesi süreci deterministik olup, uyum için kullanılan ölçütlerin sonucu kesindir.
Tam uyum sorguları çoklu ortam veritabanlarında arama alanını daraltmak için
kullanılırlar.
3.2.2.2 Yaklaşık Sorgular
Bu tür sorgular aynı zamanda benzerlik sorguları olarak da bilinir. Arama sürecinde
mutlak benzerlikler yerine nesnelerin veri uzayında birbirlerine olan uzaklıkları veya
benzerliklerinin esas alınması ilkesine dayanır. Bu tür sorguların işlenmesinde yaygın
olarak, Manhattan distance, Euclidian veya ağırlıklı Euclidean distance ölçütleri
50
kullanılır. Bu ölçütler ve ÇBD’lerdeki kullanımları beşinci bölümde, ayrıntılı olarak
anlatılmıştır.
3.2.2.2.1 En-Yakın Komşu (EYK) Sorguları
Bu tip sorgular yaygın olarak Coğrafi Bilişim Dizgeleri (CBD)’nde, belirli bir coğrafi
noktaya en yakın komşu noktaların bulunması için kullanılırlar ve etkin işleme süreçleri
kendi başlarına bir araştırma konusudur. Örnek olarak, bulunulan bir noktaya en yakın
benzin istasyonunun bulunması CBD’ler için tipik bir EYK sorgusudur. EYK
sorgularının çoklu ortam veritabanlarındaki karşılığı ise verilen bir nesneye en-benzer
olanının bulunması olarak tanımlanabilir.
Bu tür sorgular, geleneksel veritabanlarındaki seçim işlemine (selection
operation) benzediği için, aynı zamanda benzerlik seçimi (similarity selection) sorgusu
olarak da adlandırılabilirler. Fakat, EYK sorguları iki veya daha çok boyutlu uzayda
gerçekleştirildikleri için farklı özellikleri vardır. Bir EYK sorgusunun, referans verilen
nesne dışında iki temel parametresi vardır. Birinci parametre, t, verilen referans
noktasının ne kadar uzaklığına kadar arama yapılacağını, yani arama sınırlarını belirtir.
Örnek olarak iki boyutlu uzayda t; verilen referans noktası merkez olan dairenin
yarıçapıdır. Bir başka değişle t, uyum işleminde tolere edilebilen eşik değeridir. Đkinci
parametre, k, ise sorgu sonunda istenen en fazla nesne sayısını gösterir. Eğer k=1 ise, bu
sorgu gerçek anlamda bir EYK sorgusudur. Uygulamada k sayısının 1’den büyük olarak
kullanılması da son derece yaygındır. Bu durumda, sorgu k-EYK sorgusu haline gelir.
3.2.2.2.2 Tüm-Eşler (All-pairs) Sorguları
Tüm-eşler sorgusu bir önceki grupda anlatılan k-EYK sorgularına çok benzer. Eğer k
değeri çok büyük verilirse, verilen arama alanı içerindeki tüm nesneler sonuç listesinde
yer alır ve geleneksel veri tabanlarındaki aralık sorgu (range query)’ya benzer bir hal
alır. Genel olarak tüm-eşler sorgularında k parametresi kullanılmaz.
Dolayısı ile,
verilen referans nesnesine t eşik değeri uzaklıktaki tüm nesneler sonuç kümesi
içerisinde yer alır.
51
Bu sorgu grubunun ÇBD’lerinde kullanımına ait tipik bir örnek olarak, “verilen
referans resminin renk dağılımına t eşik seviyesinde benzeyen tüm resimleri getir”
verilebilir.
3.2.2.2.3 Örnekleme Sorguları
Bazı araştırmacılar bu tür sorgulara, benzerlik/örnek işlemi (similarity selection
operation) adı vermişlerdir. Bu tür sorgular verilen bir küme nesneyi temsil edebilecek
örneklerin bulunmasını amaçlayan sorgulardır. Bu tür sorguların ilişkisel modelde bir
karşılığı yoktur, fakat çoklu ortam sorgularının tanımlanmasındaki güçlükler nedeniyle
önemli bir parçasını oluşturur. Hernekadar gezginler rastgele örnekleme ile işe başlıyor
olsalar da, birçok uygulama için büyük veri tabanlarının örneklemelerinin çıkartılmaları
kendi başlarına önemli bir sorgudur. Örnekleme sorgular, gezginlere sağladıkları
yararlar yanında, bir sorgunun sonuç kümesi çok büyük olduğu zamanlarda da önemli
yararlar sağlayacaktır. Bir sorguya uyan sonuçların tamamı yerine n örneğinin
listelenmesi daha yararlı olabilir.
Kuşkusuz bir grup nesnenin bütün özellikleriyle uyuşan temsilci örneğinin
bulunması son derece zordur. Benzer problem geçmişte metin bulma konusunda
kümeleme alanında da yaşanmıştır. Veritabanının belirli bir kesiminin örneklerinin
belirlenmesinde çok sayıda farklı yöntem vardır. Örnekler veritabanındaki nesnelerin
temsilcileridir, bu nedenle örnekler arasındaki mesafe o kesimdeki örneklerin
yoğunluğu ile yaklaşık olarak ters orantılıdır. Kümeleme ÇON’ların özellikleri üzerinde
gerçekleştirilebilir. Bu durumda küme merkezleri örnek olarak alınabilir. Sonuç olarak,
belki de en kolay yol, ilgili kümeler içerisinden rastgele seçilen nesnelerin örnek olarak
alınmasıdır.
3.2.2.2.4 Sınıflama Sorguları
52
Bazı durumlarda birçok bilimsel ve kültürel uygulamalar için verilerin hangi sınıfa
düştükleri gerçek verilere ulaşmaktan daha önemli olabilir. Bu tür uygulamalar
genellikle her geçen gün ilginin arttığı veri kazısı (data mining) uygulamalarının temel
konusudur. Bu sorgular arama etkinliğine tümleşik olarak sınıflama yeteneklerine
gereksinim duyarlar. Çoklu ortam alanında sınıflama sorguları birkaç şekilde karşımıza
çıkabilir. Verilen bir resim kümesinde hangi özellikler onları benzer kılmaktadır?
Örneğin, eğer bu resim kümesi bir tıbbi resim arşivine ait ise, bu resimler aynı hastalığa
sahip hastalara ait olabilir mi ? Đkinci olarak, bir arkeolojik kazının belirli bir katmanına
ait verilen resimler, ülke çapındaki kazılardan toplanan tüm resimlerin toplandığı ve
mevcut bir sınıflaması olan veritabanındaki hangi sınıflamalara uymaktadır? Belirli
ressamların resimlerinde ışık, gölge, insan figürleri vb yorumlar açısından benzerlikler
var mıdır? Benzer sorgular müzik eserleri veya edebiyat alanları gibi çoklu ortam
verilerinin sıklıkla karşılaşıldığı alanlar için de kolaylıkla türetilebilir.
3.2.3 Tamlıklarına Göre Çoklu Ortam Sorguları
Bu grup içerisinde yer alan sorgular, sorguların belirtme anında tam olup olmadıklarına,
eğer tam değil iseler, niçin eksik belirtilmiş olabileceklerine göre tam sorgular ve eksik
sorgular olmak üzere iki grupta incelenmiştir.
3.2.3.1 Tam Sorgular
Bu tür sorgular çoğunlukla geleneksel veritabanlarında karşılaşılan sorgulama tipleridir.
Tam sorgular, genellikle sorgu ile aranan nesnelerin bütün özelliklerinin en ince
ayrıntısına kadar belirtildiği sorgulardır. Bu nedenle, sorgu anında her özellik
belirtildiği için tam sorgular olarak adlandırılmışlardır. Bu tür sorgular etkileşimli
değildir, çünkü bu sorguların sonuçları mutlaktır ve sorgu iyileştirmesine gereksininim
duymazlar. Bu sorguların SQL ve benzeri dillerle yapılmasında bir istisna olarak like
deyimi gösterilebilir. Çoklu ortam sorguları bir bütün olarak ele alındığında bütün
olarak bu gruba girmezler fakat, çoklu ortam sorgularının birden çok boyutu olduğu
için, bir veya birkaç boyutu bağımsız olarak bu gruba girebilir.
53
3.2.3.2 Eksik Sorgular
Çoklu ortam sorguları, ÇON'ların genel karakterleri gereği bu gruba daha yakındır. Bir
bütün olarak, ÇOS'ların sonuçları genellikle mutlak değildir. Eksik sorgular ise, tam
olarak ifade edememe nedenlerine göre iki alt grupta incelenmiştir.
3.2.3.2.1 Muğlak (vague) Sorgular
Bu tür sorguların genel özelliği sorgunun eksik olarak tanımlanmasıdır. Bu sorgularda
aslında kullanıcı ne aradığını biliyordur, fakat kullanıcı sorguyu şekillendirmede zorluk
çekiyordur. Bu zorluk, ÇON'ların genel özelliklerinden kaynaklanıyor olabileceği gibi,
ÇBD'nin sunduğu olanakların yetersizliğinden de kaynaklanmış olabilir, veya
sorgulamada kullanılan
benzerliklerin nasıl
yorumlanması
gerektiği hakkında
kullanıcının bilgisi olmayabilir. Bu gibi nedenlerle eksik olarak hazırlanan sorgular
muğlak sorgular olarak adlandırılmıştır.
3.2.3.2.2 Sisli Sorgular
Bu tür sorgularda, aslında dizge, her ne kadar gerekli olanakları sunmuş olsa da,
kullanıcı aramış olduğu nesneler hakkında sisli fikirlere sahip veya veri tabanı üzerinde
sadece şöyle bir gezinti yapmak istiyor olabilir. Bu durum ise, kullanıcının sorguyu
şekillendirmesini zorlaştıracaktır. Bu tür sorguların neden olduğu eksiklikler genellikle,
gezinme ile sorgu başlığında anlatılan yöntemler ile çözüme ulaştırılırlar.
3.3 Geçmiş Çalışmalar
Yapılan bazı çalışmalar çoklu ortam
verilerinin erişiminde hypertext belgelerini
kullanmayı önermiş [Agosti et.al., 1995], bazıları ise alana bağımlı resim arşivi
uygulamalarını ele almıştır [Berrut and Chiaramella, 1995]. Bir diğer grup ise ilişkisel
54
modeli geliştirerek çoklu ortam verilerini desteklemeyi amaçlamıştır [Davis et.al.,
1996]. Bir grup çalışma ise çoklu ortam erişimleri ile beraber sunumu ve iletimine ait
problemlere çözüm önermişlerdir.[Fritzsche, 1995] [Furth et. al., 1995] [Gemmel, 1994]
[Khalfallah and Karmouch] [Narhstedt and Steinmetz, 1995]. Yakın geçmişte çoklu
ortam alanında birçok çalışmalar yapılmış olup bu bölümde örnek olarak dört dizge
tanıtılarak mevcut teknolojininin fotoğrafı çekilmeye çalışılmıştır.
3.3.1 Özkarahan Modeli
Bu model, nesne-yönelimli veritabanlarının ÇON'ları kapsayacak şekilde tümleşik
kavramsal gösterim şemalarının geliştirilmesi esasına dayanır. Arama yapısının temelini
oluşturan RM/T modelinde kavramsal model için gerekli soyutlamalar ve ilaveler
gerçekleştirilmiştir. Üç seviyeli bir arama mekanizması önerilmiştir: Sorgu terimi
uyumlu (associative) arama, anlamsal (semantic) arama ve ortama-özgü (mediaspecific) arama.
Aynı zamanda modelde, önerilen kavramsal modeli kapsayacak
şekilde geleneksel SQL sorgu diline eklentiler yapılmış ve elde edilen yeni sorgu diline
SQLX adı verilmiştir.
3.3.1.1 Kavramsal Model
Bu çalışmanın en önemli katkılarından birisi ilişkisel veri tabanlarının ilavelerle çoklu
ortam kavramsal modelini destekler hale getirilmesidir. Kullanılan kavramsal model,
E2/R olarak adlandırılan Entity/Relationship modelinin genişletilmiş bir uyarlamasıdır.
Bu model, soyutlama yeteneğini arttıran generalization ve aggregation sıradüzenleri ile
total ilişkileri ve nesne yönelimli veritabanları kavramlarının temel yeteneklerini
içermektedir.
Model öncelikle ÇON'ların veri ve yöntemden oluşan sınıflar olarak temsil
edilmeleriyle bir soyutlama sağlamaktadır. Sınıfların yöntem parçasında, o alt ÇON ile
ilgili karakteristik bilgiler ve yordamlar bulunur. Model, soyutlama yanında, konumsal
ilişkilerin de tutulmasına izin verebilmektedir.
55
Deneysel dizgede, E2/R kavramsal modelinin girdisi Veri Tanımlama Dili
(VTD, DDL=Data Definitin Language)'dir. Fakat kullanıcıya sağladığı kolaylıklar
nedeniyle OMDIS adı verilen nesne yönelimli bir CASE aracı kullanılması önerilmiştir.
CASE aracı, grafiksel bir kullanıcı arayüzüdür ve çıktısı VTD'dir. VTD'ler çok seviyeli
nesne yönelimli veritabanı dizgesine E2/R modelini ilişkisel veritabanına gönderirler.
Çok seviyeli nesne yönelimli veritabanı yönetim dizgesi olarak GDBMS ve ilişkisel
veritabanı dizgesi olarak da SERAP olarak adlandırılan dizgeler kullanılmıştır. Şekil-3.2
OMDIS, GDBMS ve SERAP arasındaki iletişimi göstermektedir.
Kullanıcı E2/R kavramsal modelini OMDIS arayüzü kullanarak hazırlar. OMDIS
E2/R grafiksel şemasını GDBMS VTD'ne çevirir. OMDIS aynı zamanda E2/R
şemasında yer alan nesnelerinin yöntemlerini de SERAP'a gönderir. E2/R şemasının
VTD'ye dönüştürülmesi işi GDBMS tarafından yapılır ve SERAP'a gönderilir. Bu
dönüştürme işi RM/T modeline göre gerçekleştirilir. RM/T modelinin seçilmesindeki
temel neden, RM/T'nin E2/R'de belirtilen soyutlamaları destekliyor olmasıdır.
Yordamların saklanması, bağlantı özniteliklerin tanımlanması, soyut veri tipi ve küme
değerli öznitelikleri (set valued attributes) kapsayabilmesi için RM/T'nin özgün
yapısında da değişiklikler yapılmıştır.
E2/R şeması
OMDIS
GDBMS
2
E /R şeması
Kullanıcı
Arayüzü
Şema tanımlaması
SERAP
E2/R şeması
Şekil-3.2: Özkarahan modelinde bileşenler arasındaki iletişim
3.3.1.2 Erişim Modeli
56
Modelde kısmen sıralı dört aşamalı bir yapı önerilmektedir. {I, AS, SS, MS}, I
dizinlemeyi, AS associative aramayı, SS anlamsal aramayı, MS ise ortama-özgü aramayı
ifade etmektedir. Erişim modelinin üç aşamalı yapısı Şekil-3.3’de gösterilmiştir.
3.3.1.3 Dizinleme
Erişim modelinde I olarak temsil edilmiştir. Çoklu ortam dizinleme elemanlarının
tamamen metin üzerinden gerçekleştirilmesi önerilmiştir. tt metin belgelerinden, ta ses
belgelerinden, ti ise resimlerden çıkartılmış olan anahtar sözcüklerin eklenmesi ile
herbir ÇON'a ait birleşik bir dizin tanımlayıcısının geliştirilmesi önerilmiştir.
Kullanıcı sorgusu
Associative Arama
Anlamsal Arama
Ortama-özgü arama
Sorgu Sonuçları
Şekil-3.3: Özkarahan modelinin erişim katmanları
Genel olarak herbir ÇON veri tipinin çeşitli aşamalardan geçirilerek metin
haline dönüştürülmesi ve elde edilecek birleşik tanımlayıcıların metin bulma yöntemleri
uygulanarak dizinlenmesini önermektedir. Model, sadece ÇON'lardaki alt nesnelere
anahtar sözcüklerin ilişkilendirilmesini değil, kurulan kavramsal modelin de metinsel
olarak ifade edilmesini önermektedir.
57
3.3.1.4 Associative Arama
Hazırlanan çoklu ortam dizinleri kullanılarak toplam arama alanının daraltılmasını
temel alan aşamadır. Bu aşamanın gerçekleştirilmesinde hızlı erişim yolu yapısı
hazırlanır. Associative aramanın arkasından anlamsal arama gerçekleştirilir.
Bu hızlı erişim yapısı devrik dizin, imza dosyası [Aktuğ and Can,1993] veya
belge küme vektörleri olabilir. Örnek olarak, devrik dizin yapısı ikili bir ilişki olarak şu
şekilde tanımlanabilir: (TmmR, DocId). Herbir ilişki örneğinin bir elemanı, Tmmi, bir grup
belgeyi tanımlar, örneğin; Tmmi→{Doc1, …,Dock}. Kullanıcı sorgusundan çıkartılmış
bir grup Tmmi, bu ilişkinin benzer belgelerini (ve nesnelerini), associative arama yolu ile
belirler. Benzer işleyiş imza veya belge küme vektörleri dosyası için de kullanılabilir.
Çalışmada kümelerin kullanılması tercih edilmiştir.
3.3.1.6 Anlamsal Arama
Anlamsal arama, associative aramanın ardından, associative arama tarafından belirlenen
veri tabanının alt kümesi üzerinde gerçekleştirilir. Büyük veritabanlarında kullanıcılar
hypertext sayfaları
arasında çok kolay kaybolabilecekleri için, associative arama
kullanıcının arama alanını daraltılmasını sağlamaktadır. Çalışmada, hypertext
dizgelerinde genel bir arama yapısının mantıksal bir tanımlamasının olmadığı
belirtilmiştir. Bir başka deyişle, kullanıcının gezindiği bağlaçlar arama yapısının
anlamsal değil mantıksal bir gösterimidir. Bu çalışmada, kavramsal model ile çoklu
ortam belgelerinin anlamsal gösterimi su yüzüne çıkartılmıştır.
Anlamsal aramanın geçekleştirilebilmesi için yaygın olarak kullanılan ilişkisel
veri tabanı sorgulama dili olan SQL genişletilerek SQLX adı verilen yeni bir yapı
tanıtılmıştır. SQLX’teki eklentiler konumsal ilişki operatörleri, soyut veri tipleri ve
yöntemleri kapsayacak ilaveler içerir.
58
3.3.1.6 Ortama-özgü Arama
Ortama-özgü arama, sorguya bağlı olmak üzere, anlamsal sorgunun bir parçası
olabileceği gibi anlamsal aramadan önce veya sonra da yapılabilir. Fakat her iki
durumda da associative aramadan sonra gelir. Ortama-özgü arama SQLX ve benzeri
diller ile desteklenebilir.
3.3.2 QBIC
QBIC (Query By Image Content), IBM tarafından Almaden araştırma merkezinde
geliştirilmiş bir projedir ve ürün haline getirilerek IBM Ultimedia Manager adı ile
pazarlanmaya başlanmıştır. Projede elde edilen bulgular IBM Digital Libraries and DB2
serisi yazılımları ile de entegre edilerek DB2 Extender adı ile kullanıma sunulmuştur.
QBIC, büyük resim ve video veritabanlarında içerik tabanlı erişim yöntemlerini
kullanan bir dizgedir. Dizgede, örnek resim, kullanıcı tarafından verilen çizim, anahtar
sözcük, renk ve doku eşlerine göre sorguların yapılması sağlanmaktadır.
QBIC şu temel ilkeye dayanır: Görüntü algılama ve görüntülere anlamlar
atama alanında insanlar bilgisayarlardan daha iyidir. Buna karşılık, birtakım renk,
doku, şekil gibi kısmen veya tamamen sayılabilen ölçütlerin bulunması açısından ise
bilgisayarlar insanlara göre daha üstündür. Bu gerçeklerden yola çıkılarak, QBIC
insanların iyi olduğu alanlarda insanlardan, bilgisayarların iyi olduğu alanlarda ise
bilgisayarlardan yararlanarak çoklu ortam dizgesini oluşturmayı amaçlamıştır.
QBIC'in temel özellikleri; (1) renk, doku, şekil ve resimlerin hareketi gibi
hesaplanabilen
ve
resimlerin
içeriğini
temsil
eden
özelliklerin
sorgularda
kullanılabilmesi, (2) sorguların grafik bir sorgulama dili ile çizilerek, boyanarak veya
seçilerek yapılmasıdır.
59
3.3.2.1 QBIC Genel Dizge Yapısı
Dizge temel olarak iki ana bölümden oluşmaktadır: veritabanı üretimi (database
population), ve veritabanı sorgusu. Veritabanı üretimi sırasında, resimler ve videoların
içeriklerini tanımlayan renk, doku, şekil gibi özellikler işlenerek ayıklanmakta ve
veritabanında saklanmaktadır. Sorgu sırasında ise, kullanıcı sorgusunu grafik bir arayüz
yardımı ile hazırlar. Grafiksel sorgudan özellik vektörleri üretilir ve sonra uyum
makinasına girdi olarak verilir. Uyum makinası benzer özellik vektörlerine sahip resim
veya videoları bulur. QBIC'in temel dizge mimarisi Şekil-3.4'de gösterilmiştir.
3.3.2.2 Veri Modeli
QBIC veri modeli hem üretim hem de sorgulama aşaması için iki ana bileşen üzerine
kurulmuştur.
•
Durağan resimler veya nesneleri içeren sahneler.
•
Bir grup ardışık çerçeveden oluşan ve nesne hareketini içeren video şot
(shot).
QBIC veri modelinde durağan resimler için sahne ve nesnelerin farkı vardır. Bir
sahne, bir resim veya bir videoyu temsil eden tek bir çerçevedir. Bir nesne ise, bir
sahnenin parçasıdır veya videoda hareket eden bir şeydir. Veritabanına eklenmeden
önce durağan resimlerin ve nesnelerin özellikleri çıkartılır ve Şekil-3.4'ün sol üst
tarafında gösterildiği gibi veri tabanında saklanır.
Videolar şot adı verilen kliplere ayrılmıştır. Herbir şot R-çerçeve adı verilen
çerçevelerle temsil edilmektedir. R-çerçeveler durağan resim olarak temsil edilir ve
durağan resimler için yapılan işlemlerin benzerleri gerçekleştirilir. Ayrıca, şotlar
üzerinde hareket eden nesnelerin belirlenmesi gibi işlemler de yapılmaktadır.
Nesneler üzerinde "içinde kırmızı yuvarlak nesnelerin olduğu resimleri bul",
sahneler için "ortalama %30 kırmızı ve %15 beyaz içeren resimleri getir", şotlar için
60
"soldan sağa doğru kayan bütün şotları bul" tarzında sorgular yapılabilmektedir. Aynı
zamanda bu sorguların herhangi bir birleşimi de mümkündür. Örneğin: "%30'u kırmızı
olan ve içinde mavi dokulu nesnelerin bulunduğu bütün resimleri bul".
QBIC benzerlik sorguları uyum makinası adı verilen modül tarafından, ekleme
öncesinde elde edilerek veritabanında saklanan özellik vektörleri kullanılarak,
aralarındaki mesafelerin ölçüm yordamlarına göre sonuçlandırılır. Bu yordamlar, insan
algılama yöntemini taklit etmeye çalışarak, veritabanının insan algılamasına göre
sıralanmasını sağlar. Uyum makinası, Şekil-3.4'de görüldüğü gibi filtreleme/dizinleme
modülü ile etkileşim halinde çalışır.
3.2.2.3 Filtreleme
Veritabanında yer alan her türlü veriye ait filtreleme çalışmasının yapıldığı ve sadece bu
filtreleri geçen verilerin daha detaylı ve pahalı benzerlik algoritmalarıyle test edildiği
belirtilmektedir. Örneğin, QBIC renk uyumu 256 boyutlu renk histogramlarıyla test
edilmektedir. Veri tabanının öncelikle 3 boyutlu uzayda renk uyumları test edilerek, bu
filtreleri geçenler arasında detaylı 256-boyut hesaplamalar yapılmaktadır. QBIC'e ait
yapılan yayınlarda filtreleme işleminin nasıl yapıldığı hakkında detaylı bir açıklamaya
rastlanamamıştır.
3.3.2.4 Dizinleme
Düşük boyutlu özellik vektörleri, örneğin ortalama renk dağılımı veya üç boyutlu doku
vektörleri ve benzerleri için R*-ağaçları kullanılmıştır. Daha yüksek boyutlu
özelliklerin dizinlenmesinde ise öncelikle özellik vektörlerinin boyutları KarhunenLowe (K-L) transformu ile duyarlılığından bir şey kaybetmeden iki veya üçe
düşürülmüş, daha sonra R*-ağaç yöntemi ile dizinlenmiştir. Altıncı Bölümde,
transformasyon yöntemleri ve dizinleme yöntemleri hakkında ayrıntılı açıklamalar
yapılmıştır.
61
62
Video
Resim
R-Çerçeveleri
Çerçeve çıkarımı
1.temsilci çerçeveler
2.Hareket tabanlı
nesneler
3.Şotlar
Kullanıcı
Nesne Tanımlama
Nesneler
Sahne
Hareket nesneleri
Sahne
Kroki
Konumsal Kullanıcı Tanımlı
renk/doku
Renk/doku
Nesne
Pozisyo
n
Şekil
Sahne
Kamera
Nesne
hareketi hareketi
Filtreleme/Dizinleme
Veri Tabanı
Sorgulama Arayüzü
Kullanıcı
Renk - doku - şekil - ÇokluNesne - Kroki - Lokasyon - Metin
Konumsal renk/metin – örnek resim - nesne hareketi - kamera hareketi
Uyum Makinası
Renk - doku - şekil - ÇokluNesne - Kroki - Lokasyon - Metin
Konumsal renk/metin - örnek resim - nesne hareketi - kamera hareketi
Kullanıcı
Uyan nesneler benzerlik
sırasında geri döner
Şekil-3.4: QBIC'in mimarisi
63
3.3.2.5 Durağan Resimlerin Eklenmesi
Durağan resimlerin veri tabanına eklenmesi sırasında, resimler ikon boyutlarında
küçültülmekte ve resimlere uygun metinsel açıklamalar girilmektedir. Nesne
tanımlaması yapılması, zorunlu değil ise de, bu aşamada yapılması gereken en önemli
işlemdir. QBIC, kullanıcıların elle, yarı otomatik veya otomatik olarak nesnelerin
tanımlanmasına izin veren araçlara sahiptir. Herbir resim içerisinde değişik sayıda
nesnenin saklanabilmesine olanak verecek düzenlemeler yapılmıştır. Nesneler çakışık,
veya birbirinden ayrık birden çok nesneyi barındıran birleşik nesneler olabilirler.
3.3.2.6 Video Verilerinin Eklenmesi
Video verilerinin eklenmesi için, üç temel bileşen vardır:
•
Şotların yakalanması,
•
Herbir şot için temsilci çerçevelerin yaratılması,
•
Hareket halindeki nesne/yapılarının katmanlar olarak belirlenmesi.
3.3.2.7 Şotların Yakalanması
Genel olarak, aşağıdaki durumlarda bir grup ardışık çerçeve bir şot olarak gruplanabilir:
•
Aynı sahneye kenetlenmiş ise,
•
Tek bir kamera işlemini gösteriyorlar ise,
•
Önemli bir nesnenin varlığı veya yokluğu gibi çok belirgin bir olay veya vakayı
içeriyor ise,
•
Kullanıcı tarafından özel olarak ayrıştırılmış ise.
64
Literatürde sahnedeki büyük değişimler (gross scene changes) veya sahne
kesimleri (scene cut) şotların sınırlarını belirleyen önemli kriterlerdir. Bu yöntemlerin
birbirlerine göre avantaj ve dezavantajları bulunmakla birlikte, herbirisi şotların
yakalanması için kullanılmıştır.
3.3.2.8 Temsilci Çerçevelerin Yaratılması
Bir önceki aşamadaki yöntemlerle şot sınırları belirlendikten sonra, bu sınırlar arasında
kalan çerçeveleri temsil eden R-çerçeveler sentetik olarak yaratılır. R-çerçeveler iki
amaçla kullanılırlar:
1. R-çerçeveler veri tabanına ekleme aşamasında durağan resim olarak kabul
edilirler ve daha önce anlatılan yöntemlerle nesneleri tanımlanır.
2. Herhangi bir sorgu sonucunda, video sorgusunun temel birimi olarak kabul
edilerek kullanıcıya sunumda kullanılırlar. Eğer kullanıcı video kaydını
oynatmak isterse, ilgili çerçeveye tıklayarak başlatır.
Temsilcilerin yaratılmasının en kolay yöntemi baştaki, ortadaki ve sondaki
çerçevenin seçilmesidir. Fakat, çok uzun kaydırmaların olduğu veya kamera zumlarının
yoğun olduğu şotlar için bu uygun olmayabilir.
Bu durumda, birden çok çerçeve
mozaik halinde birleştirilerek de temsilci çerçeve üretilebilir. Bu gibi durumlar için
geliştirilen bir diğer yöntem ise aday çerçevelerin farklı gri tonlarında üst-üste
bindirilerek sentetik çerçeve yaratılmasıdır.
3.3.2.9 Katmanlı Gösterim
Bağımsız
olarak
hareket
eden
nesnelerin
ve
önemli
yapıların
otomatik
segmentasyonunu kolaylaştırmak için, katmanlı gösterim olarak nitelendirilen, video
verisinin zaman değişimli yapısının avantajı kullanılmıştır. Bir sahnede sorgulama ve
özelliklerin hesaplanması için farklı katmanlar önemli nesneleri tanımlamak için
kullanılmıştır.
3.3.3 CORE
65
CORE (Content-based Retrieval Engine), Singapur ulusal üniversitesi, sistem bilimleri
enstitüsü tarafından geliştirilen bir çoklu ortam erişim dizgesidir. Modelinden
mimarisine kadar bir bütünlük arzeder. Proje sonunda geliştirilmiş olan Uygulama
Programı Arayüzü (UPA, API=Application Program Interface) ile iki uygulama
geliştirilmiştir. Đlki, bilgisayar destekli yüz tanıma ve diğeri ise ticari marka tanıma
dizgesidir.
3.3.3.1 ÇON modeli
Bir çoklu ortam bilişim dizgesi geliştirmeden önce, ÇON modelinin oturtulması
amacıyla bir model önerilmiştir. Bir ÇON, ilişkisel modeldeki altı öznitelikli bir ilişki
olarak tanımlanmıştır.
Oçon = { U, F, M, A, Op, S}
•
U, çoklu ortam nesnesinin veri bileşenidir. NULL olabileceği gibi resim ve video
gibi bir veya daha çok çoklu-ortam bileşeninden oluşabilir.
•
F={F1, F2, …}, veriden çıkarılmış bir grup özellik vektörünü temsil eder. Bir
özellik, Fi, özellik uzayında sayısal olarak gösterilebilen özellik ölçütleri veya
yorumlamalarıyla kavramsal olarak da tanımlanabilir.
•
Mi = {Mi1, Mi2,…}, Fi özelliğinin yorumlarını temsil eder. Örneğin, bir yüz
resminde, saç, göz, kaş, burun, ağız gibi görsel özellikler vardır. Gözleri temsil
etmek için alanı, boyutları gibi bazı ölçütlerin çıkartılması gerekmektedir. Bu
özellik ölçümleri vektöreldir ve özellik uzayında nokta olarak temsil edilirler.
Gözler aynı zamanda bir takım küçük, büyük, orta gibi kavramlarla da temsil
edilebilirler. Đşte bu kavramlar özelliklerin yorumlarıdır.
66
•
A, belirli bir ÇON’a ait, geleneksel özniteliklerdir. Bunlar, eğer bu ÇON bir logo
resmi ise, numarası, sahibi, kayıt tarihi vb niteliklerdir.
•
Op ise bir grup göstergeçtir. Op = {Osub, Osup, Oother) alt-nesnelerine, üst-nesnelerine
veya diğer nesneleri gösteren göstergeçlerdir. Bu bağlaçlar nesne sıradüzenlerinin
kurulmasını ve kullanıcının veritabanını kavramsal olarak dolaşabilmesini
sağlamaktadır.
•
S ise nesnenin durumlarını listeler ve dört değişik değer alabilir. Sp kararlı, Snp
kararlı olmayan Sc tamamiyle tanımlanmış ve Suc tamamıyle tanımlanmamış.
CORE, temel olarak veri, özellik ve yorum olmak üzere üç katmanlı bir veri
modeline sahiptir. Özelliklerin ayıklanması veri setinden özellik ölçeklerine geçişi
sağlar. Bir veriden birkaç özellik ölçümleri çıkartılabilir. Farklı uygulamalar aynı
veriden çıkartılmış farklı özelliklere gereksinim duyabilir. Bu ise veri ile özellik
arasında 1-e-çok ilişki ile gösterilir. Bunun yanında, farklı veri setleri aynı özelliği
paylaşabilirler. Burada veri setleri ile özellik vektörleri arasında çok-a-1 ilişki ile
CORE'un geliştirilmesinde altı çizilen üç ana unsur göze çarpar. (1) özellik ayıklama,
(2) benzerlik erişimi ve görsel listeleme için gerekli olan karmaşık nesnelerin
dizinlenmesi, (3) bulanık (fuzzy) erişim gösterimi.
3.3.3.2 CORE'un Mimarisi
CORE mimarisi üç ana bileşenden oluşur: çoklu ortam analiz modülü, sorgu modülü
(erişim ve dizinlemeyi de içerir) ve düzenleme (öğrenme) modülü. Yeni bir uygulama
geliştirilirken, ÇON'lar hem VTD hem de programlama dili ile tanımlanır. Özellik
ölçümlerinin kavramlara eşleştirilmesi alana özel bilgi birikimi gerektirir. Bu bilgi
birikimi genellikle düzenleme veya (öğrenme) veri seti olarak temsil edilir. Öğrenme
yordamlarının çalıştırılması ile eşleme parametreleri üretilir ve dizinleme ve sorgularda
kullanılmak üzere saklanır. CORE'da erişim makinası tarafından gezinme ile erişim,
benzerlik erişimi, örnekle erişim ve anahtar sözcük ile bulanık erişim gibi çoklu erişim
yöntemleri desteklenmektedir.
67
3.3.3.3 ÇON'ların gösterimi
Temel olarak bir ÇON'un gösterimi nesne-sınıf tanımlaması için yordamların
gerçekleştirilmesini gerektirir. Bütün ÇON'lar temsil edilirken daha önceki bölümde
anlatılan modeli kullanırlar. Örnek olarak incelenen yapıda, bir resmin gösterimi dört
katmanlı olarak gerçekleştirilmiştir. Şekil-3.6 katmanları göstermektedir.
Kavram-1
Kavram-1
Kavram-2
Kavram-2
Yorum - 2
Yorum - 1
Ölçüm-1
Ölçüm-1
Ölçüm-2
Ölçüm-2
Özellik - 2
Özellik - 1
veri-1
veri-n
veri-2
Şekil-3.5: CORE'da üç katmanlı veri modeli
Burada segmente edilmiş resim, resim ile özellik ölçümleri araşındaki ilişkinin
sağlanması amacıyla kullanılır. Bu gösterim Şekil-3.5'da gösterilen ÇON modelini
açıklamaktadır.
Bu
model
CORE'da
bir
resmin
gerçekleştirilme
adımlarını
göstermektedir. Bu gösterim modeli ile ÇON modeli arasındaki ilişki, ÇON modelinin
M, F ve U bileşenleri tarafından gerçekleştirilir.
68
Yorumlama katmanı
Tanımlamalar &
ölçütler katmanı
Öznitelikler ve yorumlar bütünü
Tanımlamalar
& ölçütler
Tanımlamalar
& ölçütler
Tanımlamalar
& ölçütler
Segmente edilmiş
resim katmanı
Resim katmanı
Şekil-3.6: CORE'un resim gösterim şeması
Gösterim modelinin en alt seviyesi, sayısallaştırılmış özgün resimdir. Genellikle
resimler önplan ve arkaplanlara sahiptirler. Resim içerisinde ilgilenilen alanların
tanımlanmaları, ayıklanmaları ve analiz edilmeleri için segmente edilmeleri gerekir.
Đkinci katman segmente edilmiş resmi içerir ve segmente edilmiş olan bölümlerin
konumsal bilgilerini kodlamayı amaçlar. Üçüncü aşama ise resim analiz yordamı
tarafından üretilen tanımlama/ölçüt bilgilerini içerir. Resimler, segment edilmiş parçalar
ve tanımlamalar arasında ikiyönlü bağlaçlar burada tanımlanırlar. Gösterimin herhangi
bir aşamasına bu bağlaçlar kullanılarak erişilir.
Segmente edilen her parça konumsal, yersel ve sınırsal bilgileri kapsayacak
şekilde etiketlenir. Bu etiketler bağlaçların gerçekleştirilmesinde kullanılır. Özellik
ölçütleri doğrudan özellik yordamlarının çağrılmasıyla elde edilirler. Tanımlamalar
metinde olabilir. Örneğin bir tomografi görüntüsünde, doktor kanserli tümör alanını
69
işaretleyerek, "kanserin ilk aşamalarını gösteren küçük bir tümör" açıklamasını
verebilir. Bu aşamada, büyüklüklerin ölçülmesi, konumsal bilgilerin girilmesi ve diğer
ölçütler için yardımcı araçlar kullanılmaktadır.
Yorumlama katmanı, en üst seviyedir ve genel ve alana özgü yorumlamaları
içerir. Ayrıca, herbir resmin farklı doktorlar tarafından modelinin çıkarılacağı
düşünülerek erişim makinası tarafından çoklu başlaçlar kurulur ve bakımı yapılır.
3.3.3.4 ÇON Analizi
Çoklu
ortam
Analiz
modülü,
ÇON'ların
özellik
ölçütlerinin
ayıklanması,
yorumlamaların eklenmesi, ve özniteliklerin doldurulması gibi işlemlere kolaylık
sağlamayı amaçlayan bir modüldür. Modül, veri alımı, veri ön-işleme, segmentasyon,
özelliklerin ayıklanması ve metin editörü gibi yardımcı araçları içermektedir.
3.3.3.5 Dizinleme Yapısı
Đçerik tabanlı erişimin sağlanabilmesi için, önerilen veri modeline uygun bir içerik
tabanlı dizinleme yapısı hazırlanmıştır. Dizinleme, veri modelindeki özellik ve yorum
katmanları arasında yer almaktadır. Dizinleme mekanizması temel olarak, benzer
özelliklerin yapay sinir ağları ve bilgi tabanı kullanılarak düğümlerde kümelendiği bir
çeşit genelleştirme veya sınıflama ağacı olarak tanımlanabilir. Örneğin, eğer bir tıbbi
bilişim dizgesinde, aynı semptomlara sahip hastalardan aynı tedaviyi görmüş birden çok
hasta var ise, bu tür hastalar kümelerek düğümde toplanırlar. Bu ağaç yapısı “bu
tedavinin ilgili hastalığı tedavi edebildiği” olarak ifade edilebilen bir deneyimi
belirtmektedir. Bu bağlamda içerik tabanlı dizinleme, verileri anlam seviyesinde
organize eden ve veritabanı ile bilgitabanı arasında bir köprü kuran bir yapıya sahiptir.
Fakat bu dizinleme yapısı, tamamen otomatik olmayıp, öğrenme veri setlerinin
verilmesi ve kuralların girilmesi gibi aşamalarda insan bilgisine geresinim duymaktadır.
70
Geleneksel
Öznitelik
erişimi
Đçerik-tabanlı erişim
Benzerlik
Erişimi
Görsel
listeleme
Bulanık
Erişim
Metin
Erişimi
Bulanık
dizin
Metin
dizini
Geri
iletim
Öznitelik
dizini
Đkonik
dizin
Veri Tabanı
Şekil-3.7: CORE'da gerçekleştirilen Đçerik Tabanlı Erişim Yöntemleri
3.3.3.5 CORE'un Erişim Yapısı
ÇOS ve ÇON'ların genel özellikleri gereği olarak, CORE'da değişik formlarda
sorgulama ve erişim yöntemleri kullanılmıştır. Gerçekleştirilen geleneksel ve içerik
tabanlı erişim yöntemleri Şekil-3.7'de gösterilmiştir. CORE'da geleneksel, benzerlik ve
metin erişimi yöntemleri diğer çalışmalardaki yöntemlere benzer yollar kullanılarak
gerçekleştirilmiştir. Bu konudaki ayrıntılı bilgiler altıncı bölümde verilmiştir. CORE
erişim mekanızması diğer çalışmalara göre iki farklı yönteme sahiptir. Bunlar bulanık
erişim ve birleşik erişim olmak üzere iki başlık altında toplanabilir.
71
3.3.3.6 Bulanık Erişim
Bulanık erişim, geliştirilen bulanık uzayda temel benzerlik ölçütlerine göre
yapılmaktadır. Çıkartılan özellik ölçütleri nesnelerin bulanıklaştırılması (fuzzification)
ile bulanık uzaya eşleştirilmektedir. Kullanıcının bulanık sorguları girmesi ve sorguların
ön işlemeden geçirilmesinin ardından, bulanık sorgu nesnelerini temsil eden Q vektörü
ile veri tabanındaki nesneleri temsil eden B vektörü arasındaki benzerlikleri bulunur.
Sıradan korrelasyon ve mesafe ölçütleri doğrudan kullanılamayacağından, çok boyutlu
bulanık uzaydaki Q ve B bulanık vektörleri arasındaki mesafelerinin ölçülmesi için
aşağıda açıklanan yöntem önerilmiştir.
dis (Q, B) =∑ mQj ( x) − (mBj ( x)
eğer Qj boş değil ise;
j
∑m
k
Qj
( x) − (mBj ( x)
cor(Aj, Ak) bulanık uzayın j’ninci ve k’nıncı koordinatları olarak tanımlanan Aj ve Ak
bulanık altkümeleri arasındaki korrelasyondur ve şöyle tanımlanmıştır:
cor(Aj, Ak) = -card(Aj ∩ Ak) / card(Aj ∪ Ak)
card(A) bulanık kümesinin kardinalitesi ise aşağıdaki şekilde tanımlıdır
card ( A) = ∫ mA( x)dx
veya
card ( A) = ∑ mA( x)
x
3.3.3.7 Birleşik Erişim
72
Çoklu ortam dizgelerinde bir ÇON birden çok bileşen tarafından tanımlandığı ve
sorguların da bu tanımlama bileşenleri kullanılarak yapıldığı için birleşik sorguların
gerçekleştirilmeleri
oldukça önemlidir. CORE, birleşik sorguların işlenmesi için
yöntemler önermektedir. Veri modeline göre, bir ÇON genellikle A, F ve M bileşenleri
ile tanımlanır. Bu nedenle, birleşik sorgu için aşağıdaki formül önerilmiştir.
sim ( Oq ,O )
∏ sim
exact
i
(aiq , ai )(∑ sim Aj (a qj , aj )w Aj
j
i
+ ∑ sim ( Fq , F ) w
F
j
j
j
F
j
j
+ ∑ sim Mj ( M qj , M j ) w Mj )
j
3.3.4 InfoScope
Infoscope,
veri tabanı, görüntü anlama dizgeleri ve bilgi-tabanı dizgelerinin
özelliklerini birleştirmeyi amaçlayan bir dizgedir. Hernekadar, bir çoklu ortam dizgesi
olarak gösterilmiş olsa da, yapılan çalışmalar sadece resim ve video verilerini
kapsamaktadır. Bir çok durumda, birbirinden farklı kaynaklardan gelen bilgiler cevabın
hazırlanması için birleştirilmek zorundadır. Aynı zamanda cevabın sunumu için yeterli
görselleştirme yöntemlerinin kullanılması gerekir.
InfoScope iyi tanımlanmış dört modülden oluşur. Dizgenin temel fonksiyonları
ve mimarisi Şekil-3.8'de gösterilmiştir.
Bu mimari farklı uygulamaların tutarlı bir
şekilde geliştirilmesi ve gerçekleştirilmelerini sağlar.
73
Etkileşimli
Sorgu Mödülü
Sorgu
hazırlama
Resim Veritabanı
Özellik Veritabanı
Yeni Resim
Ekleme
Mödülü
Veri (resim)
Đşleme Modülü
Bilgi-tabanı
Modülü
Şekil-3.8: InfoScope dizgesinin genel mimarisi
Bu mimari ve bir sonraki bölümde tartışılan işlemler, InfoScope’un farklı
seviyelerinin etkileşimine izin veren veri modeline yoğun olarak bağlıdır. Veri modeli
InfoScope’un gereksinimlerine uyan sıradüzensel bir gösterime sahiptir. Veri modeli
Şekil-3.9’da gösterilmiştir. Resim gösterim (IR=Image Representation) katmanında
gerçek resim verisi saklanır. Resim nesneleri (IO=Image Object) katmanında çizgi ve
bölgeler gibi resim nesneleri ayıklanır ve alan yorumlaması olmaksızın saklanır.
Bunların herbiri, alan nesnesi (DO=Domain Object) katmanında alan nesneleri ile
ilişkilendirilir. Bu nesnelerin anlamsal
yorumlamaları
yapılır. Alan Olayları
(DE=Domain Event) katmanı DO katmanındaki herbir nesne ile konumsal ve zamansal
ilişkileri sağlayacak şekilde ilişkilendirilir. Bu sıradüzen, ilgili resmi kullanarak üst
74
seviyeli anlamsal kavramların içerik tabanlı sorgulara dönüştürülmesini sağlar. Bu ise,
nesne benzerliklerine dayalı sorguların kullanıcı tarafından resmin alt seviyeli yapılarına
ve nesnelerin özniteliklerine bakılmadan üretilmesini sağlar. Bu gösterimin iki önemli
bakış açısı ise, IR ve IO katmanlarının alan-bağımlı, DO ve DS katmanlarının ise alanbağımsız olmasıdır. InfoScope'un, bu açıdan yapılan çalışmasının diğerlerinden farklı
olduğu belirtilmiş ve alan-bağımlı ve alan-bağımsız işlemlerin net olarak ayrılmış
olmasını önemli bir katkı olarak gösterilmiştir.
DO
DE
Alan Nesneleri
Alan Olayları
Resim Nesneleri
Resim
IO
IR
Şekil-3.9: InfoScope'da farklı seviyelerdeki soyutlamaları içeren dört seviyeli veri modeli
Mimari dört işlevsel bileşene ayrılmıştır: Veritabanı, ekleme modülü, arayüz ve
bilgi tabanı. Đlk üç bileşen herbirinin uygulamasında gereksinim duyulan alan-bağımlı
bilgileri içeren bilgi tabanı modülü ile etkileşir. Bu sistem işlemlerin her seviyesinde
alana özel bilgiler kullanır. Bu bilgi, kullanıcı tarafından istenen etkilerin etkin bir
şekilde yerine getirilmesine ve yorumlanmasına izin verir. Bilgi modülünün önemi
75
genel mimarinin alana-özel bilgilerden ayırt edilmesini sağlamasıdır. Bu yapı ise bu
mimarinin genel amaçlı kullanılabileceği anlamına gelir.
3.3.4.1 Veri Tabanı
Bu bileşen verinin kendisi yanında, aynı zamanda veriden ayıklanmış olan özelliklerin
de saklanmasını sağlar. Ekleme anında, verilerin değerleri ile birlikte bu özelliklerin
resimlerle olan bağlantıları da saklanır. Benzer şekilde herbir resimde sahip olunan
özellikleri gösteren referanslar da saklanır. Veriler, veri tabanında farklı sıradüzen
seviyelerinde gösterilirler. Bu ise resim, resim nesneleri ve temsil ettikleri gerçek dünya
alan objeleri arasında iyi tanımlanmış ilişkileri gösterir. Gerçek resmin saklanmasına
ilave olarak, alan nesnelerini gösteren resmin segmente edilmiş bölümleri de tanımlanır
ve saklanırlar. Bu ise alan nesnelerinin ilave özelliklerinin hesaplanmasında etkin bir
yol sağlar.
Bu modül, InfoScope’un en önemli bileşenlerinden birisidir ve diğer modüllerin
yokluğunda çalışabilmektedir. Çoklu ortam verilerini saklamak için ilişkisel veri
tabanlarının yetersiz olduğu ve nesne-yönelimli bir veritabanının kullanılması
zorunluluğu yaygın bir kanıdır. Fakat nesneye-yönelik bir veri tabanının gereksinim
duyulan tüm kolaylıkları sağlayıp sağlamayacağı çok açık değildir. Hernekadar, veri
modelindeki her bir düzlem bir grup nesne ile temsil edilebilecek gibi görünüyor ise de,
düzlemler arası ilişkilerin etkin olarak nasıl tanımlanacağı konusu çok açık değildir.
3.3.4.2 Ekleme Modülü
Bu bileşen, resimlerin değerlendirilmesi ve veri tabanına eklenmesini gerçekleştirir.
InfoScope’da da diğer modellerde olduğu gibi, verinin, girilmesinden önce ön-işlemden
geçirilerek özelliklerin ayıklanması gerekmektedir. Elde edilen özelliklerin hangi alannesnesi ile ilişkilendirileceğine karar verilmelidir. Alan nesneleri tanımlandığında,
değerleri hesaplanır ve veri tabanında saklanır. InfoScope’da da ekleme modülü tam
otomatik değildir ve kullanıcının yardımına gereksinim duyulur.
76
3.3.4.3 Arayüz
Bu modül, kullanıcı tarafından veritabanındaki verilere erişmek için etkileşimli olarak
kullanılır. Kullanıcı isteklerini sembolik ve görsel araçlar yardımıyla hazırlar. Sistem
ayrıca, gerekli olan en iyi sunum yöntemini de belirler. Bu sistemlerin ana görevi sadece
uygun verilere ulaşmayı sağlamak değil, aynı zamanda verileri en uygun biçimde
sunmaktır.
Erişim işlemi boyunca, sorguya uyan benzerlik değerleri verilir. Daha sonra bu
benzerlik değerleri sıralanarak kullanıcıya sunulur. Sorgunun sonuçları kullanıcıya
gösterildikten sonra, katlamalı (incremental) olarak kullanıcı ya sonuç listesi üzerinde,
ya da yeni bir sorgu hazırlayarak, etkileşimli olarak sorgusunu derinleştirir. Arayüz
modülünde, birleşik sorguların işlenmesinde kullanıcının herbir özelliğe göreceli
ağırlıklar verebildiği belirtilmiş olsa da, detayları sunulmamıştır.
3.3.4.4 Bilgi Tabanı
Bu modül, herbir özel uygulama için alana-özel bilgilerin bakımının yapıldığı yerdir. Bu
bilgi dizgedeki işlemlerin herbir aşamasında kullanılır. Alan nesne tanımlamaları,
resimdeki önemli özelliklerin bulunması ve değerlendirilmesi için kullanılır. Bu
özellikler belirtilen gösterim şeması kullanılarak veri tabanında saklanır. Sorgu işleme
süresince, kullanıcı tarafından belirtilen özellikler uygun özellik veya özellik
aralıklarıyla eşleştirilmelidir.
3.3.4.5 Bilgi Organizasyonu
Özel işlemler ve bilgiler farklı alanlarda büyük farklılıklar gösteriyor ise de,
InfoScope’da bilgi tipleri ve gerekli işler birçok uygulamada benzerlik gösterir. Bu
modülün gerçekleştirilmesi ile, farklı alanlarda kullanılabilecek bir mimaride işlemler
77
gerçekleştirilmiştir. Bir başka deyişle, bu modüldeki bilgi organizasyonu alana özel
sınırlamalara sahip değildir.
Herhangi bir uygulamada, alan nesneleri gerçek dünyadaki eşsiz (unique)
nesneyi temsil eden nesnelerdir. Bu nesnelerin herbiri diğer nesnelerden oluşan bileşik
nesne (composite object) olabileceği gibi, kendisi de bir başka nesnenin parçası olabilir.
Bunlar ise bir resimde dizgenin ve kullanıcının tanımlaması gereken temel parçaları
gösterir. Örneğin, bir yüz-tanıma uygulamasında, en önemli nesne birkaç alt nesneden
oluşan yüz nesnesidir. Yüz nesnesi göz, burun, ağız gibi alt nesnelerden oluşabilir.
Nesnelerin bu ilişkisi veri modelinde DO katmanına karşılık gelir. Alanı temsil eden
nesnelerin nasıl işleneceği ve bakımılarının yapılacağı belirtilmelidir. Alan nesneleri ve
olaylar resim nesnelerine ilişkilendirilmelidirler. Resim nesneleri verilen bir uygulama
için neyin gerekli olduğu ve resimden nelerin hesaplanması gerektiği göz önünde
bulundurularak belirlenir. Bu resim nesneleri sistem tarafından kullanılacak olan işin
alfabesini oluşturur.
Bu bilginin kullanılabilir olmasını sağlayacak fonksiyonlar
aşağıda anlatılan üç kategoriye ayrılmıştır.
•
Segmentasyon ve ekleme bilgisi: Bu herbir resimdeki nesnenin bulunması için
gerekli olan işlem tiplerini içerir. Herbir alan nesnesi için, gerekli fonksiyonlar ve
özniteliklerin bir resmin segmente edilmesi ve tanımlanabilmesine izin veren
bakımları yapılacaktır. Bir resmin segmentasyonu sadece temel resim nesneleri ve
alan nesnelerinin bilgisi kullanılarak gerçekleştirilebilir. Resim nesnelerinin
tanımlanmasındaki bir diğer etmen ise bir grup resim nesnesinin nesneleri ve
aralarındaki ilişkiyi sağlayan dilin alfabesi olduğu gerçeğidir. Dolayısı ile bu alfabe
çok dikkatli seçilmelidir. Her ne kadar bu dilin mümkün olduğunca alan bağımsız
olarak seçilmesi önerilse de, zaman zaman alana özel bilgilerin kullanılması
kaçınılmaz olabilir.
•
Gösterim bilgisi: Bu, herbir alan nesnesinin veri tabanında nasıl temsil edildiğini
belirler. Alan nesnesinin gösteriminin nesnelerin birbirinden kolaylıkla ayırt
edilebileceği bilgileri içermesi gerekir. Herbir nesnenin gösterim şeması, veri
modelinin farklı katmanları arasında bir eşleştirme sağlar. Gösterim hangi tipte
resim nesnelerinin hangi alan nesnesi ile ilişkilendirildiğini belirler. Bu eşleştirme
78
daha sonra hangi resimlerin hangi alan nesnelerini barındırdığı veya hangi alan
nesnelerinin hangi resimlerde bulunduğunun elde edilmesinde kullanılır. Ayrıca,
seçilen gösterim yöntemi, nesnelere erişim sırasında,
nesneler arasındaki
benzerliklerin belirlenmesinde de kullanılır. Eğer sadece gerçek resim bilgisi
mevcut ise, bu hesaplama çok güç olabilir.
•
Sorgu Bilgisi: Sorgu bilgisi, sorguların hazırlanması ve işlenmesi aşamasında
kullanılır. Herbir özellik için kabul edilebilecek başlangıç değerleri belirlenmelidir.
Ayrıca, bu değerlerin ayırt edici özelliklerinin belirlenebilmesi için gerekli
istatistiksel bilgiler de girilmiş olmalıdır. Bu bilgiler aynı zamanda, sorgu
sonuçlarının belirlenmesi aşamasında da kullanılır.
3.3.4.6 Özellik Tipleri
Özellikler girdi resminden ayıklanarak veri tabanında saklanmalıdır. Gayet iyi bilindiği
üzere, farklı uygulamalar farklı özelliklere gereksinim duyabilirler. Özellikler veri
ekleme aşaması başında saklandıkları için, dikkatli seçilmelidirler. InfoScope bütün
özellikleri başlıca üç grupda değerlendirmektedir.
•
Fu : Yaygın olarak meta-özellik olarak bilinen özellikleri içerir. Đkinci bölümde
tanımlanan dışsal-özniteliklere karşılık gelmektedir.
•
Fd : Bu grup öznitelikler, resimlerin veri tabanına eklenmesi öncesinde, doğrudan
resimden ayıklanan nitelikler olup, daha önce anlatılan içsel özniteliklere karşılık
gelmektedirler.
•
Fc: Bu tür özellikler ise gerekmedikçe hesaplanmayan özellikleri temsil ederler ve
veri tabanında saklanmazlar. Bu özelliklerin hesaplanması için gerekli olan
yordamlar dizge tarafından sağlanmalıdır. Bu özellikler sorgu sırasında veriden
hesaplanabilir ve sadece-sorgu özellikleri veya hesaplanan sorgular olarak
adlandırılırlar.
Đlk iki grup özellikler, verilerin eklenmesi aşaması öncesinde hazırlanarak veri
tabanında saklanırlar. InfoScope, kullanıcıları mümkün olduğunca bu özellikleri
79
kullanarak sorguları hazırlamaları için zorlar. Fakat, eğer gerekli ise kullanıcılar Fc tipi
özellikleri de sorgularında kullanabilirler. Đlk iki grup özellik, sorgu işlemenin ilk
aşamasında veri tabanında arama alanının daraltılması aşamasında kullanılır, ve elde
edilen bu sonuçlar üzerinde Fc tipi özellikler hesaplanır.
Arayüzler
Kullanıcıların çoklu ortam sorgulamasında kullanacakları arayüzler, doğal olarak çoklu
ortamda olmak zorundadır. Bu amaçla, aşağıda belirtilen bir dizi arayüzün hazırlanması
önerilmiştir:
•
Sembolik sorgular
•
Örnekle resim sorguları
•
Sorgu Canvas
•
Resim parçası sorguları
•
Anlamsal Sorgular
•
Nesne ile ilgili sorgular
•
Konumsal/zamansal sorgular
80
4. ÖNERĐLEN ÇOKLU ORTAM DĐZGE MODELĐ
Günümüzde çoklu-ortam bilişim dizgeleri konusunda yapılan akademik ve ticari
çalışmalarda büyük bir artış vardır. Fakat yapılan çalışmalar ve üretilen ürünlerin bir
çoğu sadece belirli bir alanın gereksinimlerini karşılamak üzere tasarlanmış alan
bağımlı uygulamalardır [Gudivada et.al., 1996] [Ogle and Stonebraker, 1995]. Geniş
ölçekli bir ÇBD geliştirilmesi belirli bir uygulama alanından bağımsız olarak
karakteristiklerinin belirlenmesini gerektirir. Bu temel özellikler ise birleşik bir
sorgulama formu, dizinleme ve kavramsal modeller gibi özellikleri gerektirir.
Bu nedenle, bu bölümde geçmişte yapılan çalışmalardan da esinlenerek genel ve
birleşik bir ÇBD modeli sentezlenmeye çalışılmıştır. Bu sentez ile mümkün
olabildiğince alan bağımsız olarak ÇBD’lerinin kavramsal modelleme, dizinleme,
sorgulama ve sunu yapılarını formal olarak tanımlamaya yönelinmiş ve bu konulardaki
sorulara yanıt olabilecek teorik bir çerçeve çizilmeye çalışılmıştır. Geliştirilen model,
çoklu ortam verilerinin saklanması ve yorumlanması gibi konular yanında sorgu
modelini de içeren bir bütünlük içerisinde ayrıntılı olarak tanıtılmıştır.
4.1 Temel Kavramlar
Bir ÇBD’deki temel kavramlardan en önemlisi Çoklu Ortam Nesnesidir (ÇON).
ÇON’lar değişik örneklerle (instance) karşımıza çıkabilir. Bir ÇON, ses
veya bir
video-klip olarak karşımıza çıkabileceği gibi geleneksel veritabanlarında işlenen
alfasayısal bilgi formunda da olabilir. ÇON’lar GIF, bitmap veya WAV gibi değişik
şekillerde depolama mekanizmalarıyla temsil edilebilir ve video-tape, Compact-Disk
(CD) veya disket gibi manyetik ortamlarda saklanabilirler. Her ÇON ayrıca kendisine
özel bir dizi işlev ve özellikleri de içerebilir. ÇON’lar çok geniş bir yelpazedeki verileri
temsil etmek için kullanılabilirler. Bu veri formları belgeler, fotoğraflar, ses gibi kısmen
az karmaşık veriler olabileceği gibi video gibi ses ve görüntünün tümleşimden meydana
gelen ve zamana bağımlı olan karma veriler de olabilir.
81
ÇON’lar temel alındığında, bir ÇBD ÇON’lardan meydana gelmiş bir küme
olarak tanımlanabilir. Fakat ÇON’ların kendi içlerinde birden çok formda veri
bulundurması ve zaman boyutunda da temsil edilme özelliği ÇON’ların daha alt
seviyelerde incelenmesini gerektirir. Bu alt seviye ÇON’ların verilen bir t zamanındaki
bir görüntüsüdür ve Çoklu Ortam Durumu (ÇOD, Multimedia Object States) olarak
tanımlanmıştır. Birbirinden farklı ÇOD’lar, sabit bir zaman aralığında birleşerek bir
Çoklu Ortam Olayı (ÇOO, Multimedia Event) meydana getirirler. Örneğin verilen bir t
zamanında, ekranda Süleyman Demirel’in X konusunda konuşma yaparken bir
görüntüsü olduğunu varsayalım. t zamanında video ortamındaki Süleyman Demirel’in
görüntüsü video ile ilgili bir ÇOO, ses ortamındaki X konusundaki konuşması ise ses ile
ilgili bir ÇOO’dur. ÇBD’lerde açıklıkla tanımlanması gereken bir diğer önemli konu ise
Çoklu Ortam Sunumu (ÇOSU, Multimedia presentation)’dur. Buraya kadar anlatılan
ÇOD ve ÇOO kavramları ile ÇOSU bir dizi sıralı ÇOO olarak tanımlanabilir. ÇOSU ise
belirli bir zaman dilimi içerisinde ÇOO’ların nasıl değiştiklerini ve varsa aralarındaki
ilişkileri belirler. Özetle, ÇOSU isteği bir dizi ardışık sorgunun belirtilmesi olarak
görülebilir. Bir başka deyişle, ÇOO’ların üretimi sorgu işleme süreci olarak görülebilir.
ÇOO’lar belirli bir zaman içerisindeki mutlak yerlerinde olmak zorundadırlar. Önceki
örneğe dönersek, Süleyman Demirel’in X konusundaki konuşması sırasındaki video
görüntüsü ile sesi aynı anda bir araya getirilmelidir. Bu problem ise senkronizasyon
problemi olarak bilinir ve oldukça karmaşık yöntemleri içeren ayrı bir çalışma
konusudur.
4.2 Veri Modeli
Her şeyden önce bir ÇBD’nin temel bileşeni ÇON’dur ve bir ÇBD ÇON’ların
oluşturduğu bir küme olarak tanımlanabildiğine göre ve şu şekilde gösterilebilir:
ÇBD={ÇON1, ÇON2,…,ÇONn}
82
Temel birim ÇON olduğuna göre, bir ÇBD’nin modellenebilmesi için her şeyden önce
ÇON’ların tanımlanması ve modellenmesi gerekir. Daha önceki bölümlerde de
anlatıldığı gibi aslında ÇON'ların tanımlama özelliklerini içsel ve dışsal olmak üzere iki
ana grup içerisinde toplamak mümkündür.
Bu iki ana grup, ÇON'ları tanımlayan
bilgilerin verilerin neresinden çıkarıldıkları temel ilkesine dayanır.
Önerilen veri
modelinin iki katmanlı yapısı Şekil-4.1'de gösterilmiştir.
•
ÇON'lar içsel özellikleriyle vektörel olarak
veya kavramsal modellerle temsil edilirler
• ÇON'lar aktif olarak erişim sürecine
katılırlar.
• Erişim ve dizinleme yöntemleri karmaşık ve
pahalıdır.
Đçerik Katmanı
•
Veri katmanı
ÇON'lar BLOB halinde dışsal özellikleriyle
birlikte bütün halinde saklanırlar.
• ÇON'lar pasif nesnelerdir, doğrudan
sorgulama işlemine katılamazlar.
• Erişim ve sorgulama işlemleri kolay ve
ucuzdur.
Şekil-4.1: Veri modelinin iki katmanı
4.2.1 Veri Katmanı
Şekil-4.1'de önerilen veri modelinin iki temel katmanı ve temel özellikleri
gösterilmektedir. Birinci katmanda veriler BLOB olarak bir bütün halinde ele alınırlar
ve çok bilinen GIF, AVI, TIFF, BMP biçimlerinde saklanırlar. Bu seviye aslında
ÇON'ların pasif olarak bulundukları, içerikleri hakkında bilgilerin ayıklanmadığı bir
bölümdür. Sorgulama süreci bu bölümde, doğrudan ÇON'lar üzerinden değil, ÇON'lara
ilişkilendirilmiş diğer nitelikler üzerinden gerçekleştirilir. Bu nitelikler genellikle dışsal
nitelikler olarak adlandırılan öznitelik gruplarıdır. Bu seviyenin veri modelinde
83
tutulmasının temel amacı, bu seviyede yer alan niteliklerin mevcut teknoloji ile
başarıyla işlenebilmesidir. Ayrıca diğer önemli bir unsur da bu niteliklerin sorgulama ve
dizinleme işlemlerinin içerik katmanındaki özniteliklere göre çok daha kolay, ucuz ve
çok bilinen yöntemlerle yerine getirilebiliyor olmasıdır. Bu nedenle bu ilk katman
genel sorgu işleme sürecinde filtreleme görevini yerine getirir. Đlk katman daha formal
olarak aşağıdaki gibi tanımlanabilir:
ÇON = {D, E, S}
Veri (D): Burada D ÇON’un kendisini, yani bir bütün çoklu ortam verisini temsil eder.
Veri bir resim olabileceği gibi, bir video veya serbest formda yazılmış bir metin de
olabilir. ÇON genellikle birçok veritabanı tarafından desteklenen ikili büyük nesneler
(BLOB=Binary Large Objects) olarak saklanır. ÇON’lar genellikle çok büyük
depolama alanlarına gereksinim duydukları için, yer kazanmak için sıkıştırılmış olarak
da saklanabilirler. Veya kendine özel biçimleri olabilir. Örneğin, eğer bu veri resim ise
GIF, bitmap, PCX veya TIFF olarak, veya eğer bir video ise VHS, PAL, SECAM
biçiminde olabilir. Aslında verilerin nasıl saklanacakları veya saklama biçimleri
alanında da tam bir curcuna yaşanmakta olup, bu ayrı bir araştırma konusudur. Bu
çalışma içerisinde ÇON’ların herhangi bir biçimde manyetik ortamlarda saklandıkları
varsayılmış ve tanımlamalarda D ile gösterilmişlerdir.
Dışsal Öznitelikler (E): Daha önceki bölümlerde anlatıldığı gibi, dışsal özellikler her
hangi bir ÇON’a ilişkilendirilmiş, ÇON’un dışından gelen bilgilerdir. Eğer ilgili ÇON
bir kişiye ait fotoğraf ise, E, o kişinin adı, numarası, adresi ve benzeri
bilgileri
içerebilir. Hernekadar burada tek saha olarak gösterilmiş olsa da, E, belirtilen
özelliklerdeki bir dizi özniteliği veya ilişkiyi temsil eder. Bu niteliklerin işlenmesi
konusunda mevcut teknoloji son derece başarılı teknik ve yöntemlere sahip olduğu için,
E özellikle sorgulama ve erişim konusunda önemlidir.
Dışsal özellikler genellikle ÇON’un tamamını ilgilendirir. Örneğin bir
video-film ses ve görüntü gibi oldukça büyük hacimlerdeki verilerin bir araya gelmesi
olarak temsil edilir. Video görüntüleri, ÇOD olarak adlandırılan birçok alt parçaya
84
bölünebilir. Fakat bu filmin adı, yönetmeni, oyuncuların listesi, yapım yılı gibi bilgiler
hep bütünü tanımlayan özelliklerdir. Genellikle bu tür bilgiler ÇOD’ları tanımlamak
için kullanılmazlar. Bu nedenle dışsal özellikler ilk seviyede tanımlanmıştır.
Durum (S): Bir ÇON birden çok durumla temsil edilir. Bu nedenle, S, ilgili ÇON’a ait
bir dizi durumu temsil eder.
S = {s1,s2,…,sn}
S aslında modelin ilk seviyesi ile ikinci seviyesi arasındaki ilişkiyi sağlayan bir
bileşendir. Örneğin, bir videodaki görüntüler modelleme kolaylığı olması nedeniyle,
içerisindeki çerçeve sayıları özetlenerek küçültülebilirler. Bu herbir özet parçası bir
ÇOD olarak değerlendirilebilir ve si olarak temsil edilir. Veya bir resim zaman boyutu
olmamasına rağmen, daha küçük alt bölümlere ayrılabilir. Bu herbir alt kesim de yine
ÇOD olarak değerlendirilebilir. Fakat, bazı durumlarda ÇON’lar sadece bir tek durum
içerebilirler. Örneğin kullanıcı bir video verisini, model izin vermesine rağmen, ikinci
seviye modele gerek duymadan veri tabanına ekleyebilir veya bir resim verisi bütün
olarak modellenmek istenebilir. Bu gibi durumlarda ÇON birtek ÇOD ile temsil edilir.
Ne şekilde modellenmiş olursa olsun, bir ÇON’a ait en az bir tane ÇOD yer alır.
Modelin bu aşaması, ilişkisel modelde bir ilişki olarak temsil edilebilir. Aslında
ÇBD’lerin ilk uygulamaları modelin bu kısmının gerçekleştirilmesinden başka bir şey
değildir. Yakın zamana kadar yapılan ve adına çoklu ortam erişimi denilen birçok
uygulamada bu seviye gerçekleştirmiştir. Bu aşamaya kadar yapılan tek şey ÇON’larla
diğer verilerin ilişkilendirilmesini sağlayan BLOB desteğidir. Fakat bir ÇBD sadece
ÇON’ların saklandıkları bir ambar değildir. Bir başka deyişle, ÇBD’de ÇON’lar
sorgulama ve erişimde kullanılmayan pasif veriler olmamalıdırlar. Bunun tersine
ÇON’ların bizzat kendileri de sorgu işleme ve erişim sürecine doğrudan katılan aktif
nesneler olmak zorundadırlar. Herşeye rağmen bu ilk aşamayı üstün ve kaçınılmaz kılan
(en azından şimdilik) şey mevcut bilişim teknolojisinin ikinci aşamada tanımlanan
niteliklere göre, dışsal öznitelikteleri işlemedeki tartışılmaz başarısıdır. Đlk aşama, ikinci
85
aşamada yapılacak hesaplamalara göre çok daha az kaynak gerektirmesi nedeniyle,
sorgulama sürecinde filtreleme işlevini yerine getirmek için kullanılır.
4.2.2 Đçerik Katmanı
ÇBD içerisinde ÇON’ların pasiflikten kurtarılarak, aktif olarak erişim ve sorgu sürecine
katılmalarının sağlanması ancak bu ikinci aşamanın gerçekleştirilmesine bağlıdır.
Modelin bu seviyesinde, ÇON’ların iç yapıları ve dinamizmine ait tanımlamalar yer
almaktadır. Bir ÇON en az bir veya daha çok sayıda ÇOD’dan meydana geldiğine göre,
ikinci seviye ÇOD’ları esas alır ve onları formal olarak şu şekilde tanımlar:
ÇON = {D, R, F, C, K}
Veri (D): Birinci seviyede olduğu gibi bu seviyede de D verinin kendisini temsil eder.
Fakat buradaki veri, ÇON’a değil ÇOD’lara ait veridir. Depolama ve temsil edilmeleri
açısından birinci aşamada belirtilen veri biçimine yakın özelliklere sahiptir. Buradaki
tek fark, ÇOD verilerinin kullanıcıya sorgu sonuçlarının sunumunda kullanılmasıdır. Bir
video veri tabanı için yönlendirilen bir sorgu sonucunda kullanıcıya, birinci seviyedeki
ÇON’un tüm verisi yerine, ÇOD verisi sunulur. Kullanıcı eğer ilgilenir ise, ilgili karenin
üzerini fare ile tıklar ve ancak bu durumda tüm olarak ÇON verisi kullanıcıya sunulur,
oynatılır (video verisi ise) veya çalınır.
Durum(S): Bir ÇON’un birden çok ÇOD’u olabilirse S ile temsil edilen bir dizi durum
içinde olabirler. S={s1,s2,…,s3}. Örneğin video verisindeki herbir özet parçası sj, ilgili
ÇON’un bir durumuna karşılık gelmektedir ve veri erişiminde kullanılmak üzere veri
setinde ayrı olarak saklanır. Kavramsal modelde tartışılacak olan ÇOD’lardaki alt
nesneler de dahil olmak üzere, modellemede temel alınacak en küçük parça ÇOD’dur.
Durumlar arası ilişkiler (R): R, bir ÇON’un veya diğer ÇON’ların ÇOD’ları
arasındaki ilişkileri tutar. Bu ilişkiler konumsal veya zamansal ilişkiler olabileceği gibi,
bir ÇOD’a en çok benzeyen diğer ÇOD’ları gösteren anlamsal ve mantıksal bağları da
86
içerebilir. R hem ÇOSU’ların üretimininde hem de gezinme ile sorgu yönteminde
gezginlere yardımcı olarak kullanılır.
Birinci seviyenin S bileşeni ÇOD'ların zamansal boyutunun modellenmesi için
de kullanılır. Örneğin videolar, herbiri zaman boyutunda değişmek üzere binlerce
çerçeve içerebilir. Videolar çeşitli yöntemlerle özetlenebilir ve her bir özet parçasının
içerisinden bir veya birkaç temsilci çerçeve seçilebilir. Bu çerçeveler de aslında birer
durağan resimdirler ve ikinci katmanın veri öğesini oluştururlar. Bir çerçeve ile durağan
resim arasındaki en belirgin fark, video çerçevelerinin hareket bilgisi de içermesidir.
Bu hareket videonun zamansal bilgisinin temelini oluşturur. Video için zamansal
bilgiler kamera kesimleri, kamera operasyonları, kameranın hızı, nesnelerin uzunluğu
ve benzeri bilgiler olabilir.
Kamera kesimleri, bir kamera çekiminin bitirilerek, diğer bir kamera çekimine
atlama işlemidir. Bu atlama keskin veya değişik efektlere (dissolve, fade-in, rain vb)
sahip olabilir. Kamera operasyonları ise, zoom-in, zoom-out, pan-left, pan-right, tilt-up,
tilt-down olarak sayılabilir. Bu tür veriler video verilerinin modellenmesinde R olarak
temsil edilirler.
Đçsel Öznitelikler (F): Đçşel öznitelikler ilgili ÇOD’dan otomatik olarak bilgisayar
tarafından çıkartılan bir grup veriyi temsil eder: F={f1,f2,…,fn}. Herhangi bir fi vektörel
olarak temsil edilir: fi=<fi1,fi2,…, fim>. Bu vektörler, daha önceki bölümlerde anlatılan
şekil ve içerikteki verileri saklarlar ve özellik vektörü olarak anılırlar. m değeri farklı
fi’ler için farklı olabileceği gibi, herbir özellik vektörü de farklı değerler içerebilir.
Örneğin bir metin verisini tanımlayan özellik için değerler ikili olabilirken, bir resim
verisinin renk özelliklerini temsil etmek için kullanılan histogram vektörleri belirli bir
rengin resim içerisindeki ağırlığını temsil eden gerçek değerler olabilirler.
Yorumsal Öznitelikler (C): Yorumsal özellikler bilgisayarın gerçek dünya nesnelerini
algılama konusundaki yetersizliklerinin bir sonucu olarak, insan katkısı ile elde edilen
verileri temsil eder. Örneğin, bir insan yüzü veri tabanında, ilgili yüze ait hilal kaşlı,
87
uzun saçlı, büyük burunlu ve benzeri yorumları içeren bilgiler verilebilir. Bu veriler
yorumsal öznitelikler olarak ele alınır.
Kavramsal Öznitelikler (K): Kavramsal özellikler ise bir ÇON’daki konumsal ve
diğer tipdeki ilişkilerin belirtilmesi için kullanılır. Bu ilişkilerin tanımı genellikle uygun
arayüzler ile yapılan ve yoğun insan emeği gerektiren işlemleri içerir. Kavramsal
özelliklere ait ayrıntılı açıklamalar aşağıda yapılmıştır.
4.3 Kavramsal Model
Kavramsal model bir ÇOD içerisinde bulunan alt-nesneler arasındaki konumsal ve diğer
türdeki ilişkilerin belirlenmesi amacıyla kullanılır. Hernekadar modelde K ile temsil
ediliyor olsalar da, ilişkisel modelde olduğu gibi basit bir öznitelik değildirler.
Bünyesinde birden çok farklı yapılandırmalara gerek duyar. ÇON verileri sadece resim
demek değilse de, açıklama kolaylıkları açısından burada sabit resim üzerinde örnekler
verilecektir. Örneğin bir resmin içeriği birbirleri ile ilişkilendirilmiş nesneler toplamı
olarak tanımlanabilir. Bu nesneler nesne-tabanlı veri modeli ile temsil edilebileceği gibi
ilişkisel veri modelinde kullanılan E/R (Entity/Relationship) diyagramları ile de
gösterilebilirler. Sorgu işleme süreci ise veritanındaki diyagramlar ile sorgu
diyagramları arasındaki benzerlik ilişkisine dayalıdır. Bu konudaki daha ayrıntılı
çalışmalar [Sistla and Yu, 1997]'de bulunabilir. Bir resmin kavramsal modellenmesinde
E/R modeli kullanıldığında temel bileşenler aşağıdaki gibidir:
•
Varlık: Resim içerisinde tanımlanabilen nesnelerdir.
•
Öznitelikler: Renk, doku, uzunluk gibi nesnelerin niteliklerini belirleyen
özelliklerdir.
•
Đlişki: Tanımlanan nesneler arasında kurulan ilişkilerdir.
Bu durumda, E/R diyagramları bir resmin içeriğini temsil etmek için
kullanılabilirler. Standart E/R diyagramlarında her dörtgen kutu, bir nesne tipini, aynı
88
özelliklere sahip nesneler kümesini veya varlık setini temsil eder. Resimlerin
gösteriminde ise bir dörtgen kutu belirli bir nesneyi, baklava dilimi ise ilişki seti yerine
nesneler arasındaki tek bir ilişkiyi temsil eder.
Örneğin bir resimde bir adamın bir kadının sağında durmakta ve el sıkışmakta
olduklarını varsayalım. Bu resimdeki varlıklar adam ve kadındır. Öznitelikler ise
varlıkların niteliklerini gösteren özelliklerdir. Örneğin, kişilerin boyları, giysileri,
saçlarının rengi, belki adları ve benzeri özellik değerleridir. Bu örnekte, hareket durumu
da bir özniteliktir ve değeri ise “ayakta duruyorlar” olabilir. Farklı resimler
incelendiğinde ilişkiler eylem ve konum olmak üzere iki ana gruba ayrılabilir.
•
Eylem: Bu grup bir eylemi tanımlayan ilişkileri belirtir. Örnekteki adam ve
kadın nesneleri arasındaki eylem ilişkişi “el sıkışmak”tır.
•
Konum: Eğer bir ilişki varlıklar arasındaki mekan bakımından göreceli
konumu belirliyor ise bu tür ilişkilere konum ilişkisi adı verilir. Üstünde,
önünde, sağında, altında bu grupdaki ilişkilere verilebilecek örneklerdir.
Örneğimizdeki solunda bir konum ilişkisidir.
Bir hastanın röntgen filmi ise bir başka güzel örnektir. Resim sol akciğer
içerisinde büyük bir tümör gösteriyor olsun. Bu resimdeki varlıklar sağ ve sol akciğer
ile tümördür. Tümör varlığının boyut özniteliğinin değeri ise büyük, konum ilişkisi ise
içinde olacaktır.
4.3.1 Kavramsal Model Đçin Kullanıcı Arayüzü
Kavramsal modellemedeki kullanıcı arayüzü son derece önemlidir. Çünkü kavramsal
modelleme arayüzü hem verilerin veritabanına eklenmesi sırasında, hem de sorguların
hazırlanmasında kullanılan, ve emek yoğun işlemlerin gerçekleştirileceği bir araçtır.
Ayrıca arayüz, kullanılan kavramsal model ile yakından ilişkilidir. Bir ÇBD’nin
kullanıcı arayüzü sıradan insanların kullanabileceği kolaylıklara sahip olmalıdır ve
89
temel olarak üç kavramsal yapı taşı vardır: nesneler (entities), nesnelerin özellikleri
(öznitelik değerleri) ve association’lar (ilişkileri).
Kullanıcı arayüzü ekranı birkaç alt ekran olarak düzenlenebilir. Đlk ekran
modellenen resmi gösteren ekran alanı olabilir. Bu alanda resimler sembolik olarak
ikonlar ve metin etiketleri ile temsil edilirler. Ekranın ikinci kısmı ise resmi temsil
etmek için kullanılacak ikonların bulunduğu ikon kutusu olarak düzenlenebilir. Arayüz
gerçek dünyadaki nesneleri temsil eden bir grup ikon kutusu ile işe başlar. Bu ikonlara
örnek, adam, kadın, çocuk, bebek, bina, araba, bitki ve hayvan grupları olabilir. Đkon
kutusu sıradüzensel olarak gösterilebileceği gibi, aynı zamanda uygulamanın
gereksinimlerine göre zaman içerisinde kullanıcının yeni ikon veya ikon grupları
yaratmasına izin verecek esnekliğe sahip olmalıdır. Kullanıcı, ikon kutusundan bir
ikonu seçerek resim gösterim alanına taşıdığında, ardından hemen önceden tanımlanmış
olan öznitelik değerlerini girmesi istenir. Bu değerler belirli bir takım değerlerin
arasından bir tanesinin seçimi ile olabileceği gibi, değerler doğrudan klavye aracılığı ile
de girilebilir. Bazı öznitelik değerleri otomatik olarak belirtilebilir. Örneğin bir
resimdeki nesnenin, resim içindeki pozisyonu, eğer resim sabit dilimlere bölünmüş ise
otomatik olarak tespit edilebilir.
Resimdeki nesnelerin belirlenmesinin ardından sıra ilişkilerin girilmesine
gelmiştir. Kullanıcı her defasında bir ilişkiyi tanımlamak üzere, ilişkiye katılan
nesneleri belirler. Daha sonra uygun bir tuş yardımı ile, ilişki tanımını başlatır. Đlişkinin
tanımlanması sırasında belirlenmesi gereken ilk şey, ilişkinin eylem mi yoksa konum
ilişkisi mi olduğuna karar vermektir. Aynı zamanda ilişki tipi hakkında karar
verebilmek için, ilişkinin tek-yönlü mü yoksa iki-yönlü mü olduğunun belirlenmesi
gerekir. Örneğin el sıkışma eylem ilişkisinin iki taraflı olduğu açıktır. Fakat eğer bir
resimde bir çoçuk bir köpeği kovalıyor ise, köpek ve çocuk nesneleri arasında değeri
kovalamak olan bir eylem ilişkisi vardır. Kolaylıkla görüldüğü gibi buradaki eylem
ilişkisi iki yönlü değil, tek yönlüdür. Konum ilişkisinde ise kullanıcıya konum
ilişkilerini belirleyen sabit bir liste verilir ve seçmesi istenir. Konum ilişkileri otomatik
olarak iki yönlüdür.
90
Kavramsal model ile ilgili son aşama ise ilişkiye dahil olan varlık veya
varlıkların belirlenmesidir. Örneğin bakıyor adındaki bir ilişki, başlangıç olarak şu
Eğer grup_1 tek elemanlı bir küme ise,
formda olabilir: grup_1 bakıyor grup_2.
{adam}, tanımlama adam bakıyor grup_2 olarak değişecektir. Daha sonra, grup_2 iki
elemanlı bir küme ise {kedi, köpek}, tanımlama şu hale gelir: adam bakıyor {kedi,
köpek}.
4.3.2 Benzerlik Değerlerinin Hesaplanması
Bir önceki bölümde anlatıldığı gibi hem veri tabanındaki bir resim ve hem de kullanıcı
sorgusu, kavramsal olarak bir E/R diyagramı ile temsil edilir. Bu durumda eğer ÇOD'lar
sadece kavramsal öznitelikler K ile temsil ediliyorlar ise, veritabanını E/R diyagramları
kümesi olarak düşünmek yanlış olmaz. Şu andaki mevcut teknoloji ile resimlerin E/R
diyagramları aracılığı ile temsil edilmesi yoğun insan emeği gerektiren bir işlemdir.
Bilgisayar görme ve algılama teknikleri kullanılarak nesnelerin tanımlanması ve
ilişkilerin
belirtilmesi konusunda yeni çalışmaların büyük katkılar sağlayacağı
umulmaktadır.
Kavramsal özniteliklerin kullanılması ile bir kullanıcı sorgusuna uygun
resimlerin getirilmesi, veri tabanındaki nesneler ile sorguyu tanımlayan E/R
diyagramları
arasındaki
benzerliklerin
hesaplanmasını
gerektirir.
Bir
ÇON'u
tanımlamakta kullanılan ve vektörel olarak temsil edilen öznitelikler için kullanılan
benzerlik hesaplamaları beşinci bölümde anlatılmıştır. Bu benzerlik hesaplamaları
genellikle n-boyutlu vektör uzayında vektörler arasındaki uzaklığın değişik şekillerde
matematiksel
olarak
hesaplanmasına
dayanır.
Fakat
E/R
diyagramlarının
benzerliklerinin hesaplanmasında çok farklı tekniklere gereksinim duyulur. Bu
benzerlikler aşağıdaki bölümlerde anlatılmıştır.
4.3.2.1 Benzerlik Fonksiyonları
Verilen bir Q sorgusu için, veri tabanındaki herbir P resminin Q sorgusuna nekadar
benzediğini bulmak için benzerlik değerleri hesaplanır. Benzerlik değerinin parametre
91
olarak Q ve P'yi alan ve geriye bir gerçek sayı döndüren bir f fonksiyonu tarafından
üretildiği varsayılır ve aşağıdaki şekilde ifade edilir:
f(P,Q)
Bu fonksiyonun değerinin yüksek olması, Q ile P arasında yüksek benzerliğin
olduğunu gösterir. Q ve P resimlerinin birbirlerine ne kadar benzediklerinin bulunması
için öncelikle P içerisindeki nesnelerin, Q içerisindeki uygun nesneler ile
ilişkilendirilmesi gerekir. Daha sonra ise Q'daki bu nesneler arasındaki ilişkilerin P'deki
ilgili ilişkiler ile nasıl uyum sağladıklarının tesbit edilmesi gerekir. Genel olarak Q
içindeki bir nesnenin, P'deki birden çok nesne ile uyumu kontrol edilebilir. Eğer Q'da
birden çok nesne var ise bu benzerlik kontrolü bir dizi kombinasyona karşılık gelecektir.
Şu örneği dikkate alarak mevcut işlem akışını açıklamaya çalışalım. Q sorgu resminde
bir adam ve bir kadın, P resminde ise üç adam ve iki kadın bulunuyor olsun. Q
sorgusundaki adam P'deki üç adamdan herhangi birisi ile, kadın ise Q'daki iki kadından
birisi ile eşleştirilebilir. Bu durumda uyum için altı kombinasyon sözkonusudur. Her
kombinasyon değeri için benzerlik hesaplaması yapılır ve en yüksek değerli olanı
alınır. Sonuç olarak Q ve P resimleri arasındaki kavramsal model benzerliği fonksiyonu
şu şekilde tanımlanabilir:
f(Q,P) = maxρ { g(Q,P,ρ) }
Bu tanımlamada ρ, adına eşleştirme denilen ve Q'daki her nesne ile P'deki bir nesnenin
eşleştirilmesini temsil eder. g ise Q ile P resimleri arasındaki ρ ile gösterilen eşleşmenin
benzerlik değerini veren fonksiyondur.
g(Q,P,ρ)'nin değeri üç gerçek sayının toplamıdır. Đlk sayı Q resmindeki nesneler
ile P resmindeki nesneler arasındaki benzerliklerin toplamıdır. Bir önceki örnekten
hatırlanacağı gibi toplam altı tane kombinasyon vardır. Đşte bu ilk rakam altı
eşleştirmenin toplamıdır. Đkinci rakam ise, konumsal olmayan ilişkilerin uyumuna
dayalıdır. Q'daki r ilişkilerinin P'deki r ilişkileriyle, ρ eşleştirmeleri çerçevesindeki
92
benzerliklerinin toplamına eşittir. Üçüncü rakam ise konumsal ilişkilerin uyumuna
dayanır. Genel benzerliğin oluşturulmasında kullanılan bu üç bileşen sırası ile aşağıda
anlatılmıştır.
Bir önceki örneği biraz daha genişleterek devam edelim. Q sorgusundaki iki
nesneden adam ve kadın için öznitelik değerlerinin adam için genç, kadın için ise güzel
değerlerine sahip olduğunu düşünelim. Ayrıca Q, adamın kadının solunda olduğunu
gösteriyor olsun. P resmindeki üç adamın sırasıyla çok genç,
genç ve orta yaşlı,
kadınlardan birinin güzel, diğerinin ise orta güzel öznitelik değerlerine sahip olduğunu
varsayalım. Ayrıca genç adamın, güzel kadının solunda olduğunu varsayalım. ρ
değerleri arasından sadece bir adamla bir kadının eşleştirildiği eşler ilgili bulunacaktır.
F(Q,P) benzerlik hesaplamasında dikkate alınması gereken altı ayrı kombinasyona
karşılık gelen eşlemelerdir. i=1,2,3 olmak üzere, ai'nin Q'daki adamın P'deki adamla
yaşa göre benzerliklerini belirliyor olsun. Benzer olarak, j=1,2 olmak üzere, bj güzellik
değerlerine göre Q'daki kadın ile P'deki j'ninci kadın arasındaki benzerliği gösteriyor
olsun. Ayrıca cij değerinin de i'ninci adam ile j'ninci kadın arasındaki solunda ilişkisinin
olup olmadığını test ediyor olsun. Bu durumda benzerlik fonksiyonu aşağıdaki şekilde
ifade edilir:
f(Q,P) = maxi=1,2,3;j=1,2 {ai + bj + cij}
Genel olarak nesneler arasındaki eşleştirmelerin sayısı, ρ, dikkate alındığında,
F(Q,P)'nin hesaplanması, P ve Q'daki nesnelerin sayısı ile üssel olarak artmaktadır.
4.3.2.2 Nesne Benzerlikleri
Eğer şu koşullar yerine getiriliyor ise iki nesne birbirlerine benzerdir:
•
Eğer iki varlığın tipleri aynı ise, veya aralarında IS_A türünden bir ilişki var
ise,
93
•
Bu iki varlığın öznitelik değerleri aynı veya aşağıda anlatıldıkları gibi
birbirlerine yakın ise.
Şimdi e'nin kullanıcı tarafından belirtilmiş, E'nin ise veri tabanında saklanan bir
varlık olduğunu varsayalım. Ayrıca, n ne N'ninde e ve E varlıklarının tipleri olduğunu
varsayalım. ai ve Ai'nin de ilgili varlığın i'ninci öznitelik değerleri olduğunu varsayalım.
Bu durumda e ve E varlıkları arasındaki benzerlik şu şekilde tanımlanabilir:

 Sim ( n , N ) +
Sim ( e , E ) = 
 0
k
∑ Sim ( a , A )
i
i =1
i
if Sim(n, N) > 0
if Sim(n, N) = 0
Yukarıdaki tanımlamada Sim(n,N) iki varlık tipinin benzerliği ve Sim(ai,Ai) ise
iki öznitelik arasındaki benzerliği göstermektedir. Sim(n,N)'nin hesaplanması aşağıdaki
şu durumlar göz önünde bulundurularak yapılır.
1. Eğer iki varlık tipi aynı ise: Bu durumda, Sim(n,N) = w'dir. Burada w
ağırlığı temsil eder ve ayırtedilme özelliği yüksek olan varlıklara daha
yüksek değerler atar. Bir başka ifade ile, frekansları yüksek olan varlık
tipleri için düşük, düşük olanlar için ise yüksek değerler verilir.
2. Eğer varlık tipleri bir IS-A ilişkisine sahip ise:
Kısmi uyum IS-A
ilişkisinin bir sonucu olduğunda benzerliğin derecesi, her varlığın farklı bir
IS-A ilişkisini temsil eden iki varlığı arasındaki varlıkların sayısıyla ters
orantılıdır.
3. Hiçbirisi: Yukarıdakilerden hiçbiri geçerli değil ise, bu durumda
Sim(n,N)=0'dır.
Şimdi, aynı tipteki iki varlığın öznitelik değerlerinin benzerliklerinin
hesaplanmasını açıklamaya çalışalım. Bir öznitelik iki öznitelik değerinin birbirine
uzaklığını
gösteren
bir
fonksiyon
olarak
tanımlanabiliyor
ise,
komşuluklar
94
tanımlanabilir. Örneğin yaş özniteliğinin değerleri çok genç, genç, orta yaşlı, yaşlı ve
çok yaşlı değerlerini alıyor ise, iki değerin birbirlerine olan uzaklığı, bu iki öznitelik
değerinin benzerliğini verecektir. Şimdi, a ve A gibi iki değerin benzerliği aşağıdaki
şekilde gösterilir:
 w Eğer a = A

Sim (a, A) =  cw Eğer a veya A benzer ise
− ∞ Eğer a ve A benzer değil ise

Eğer öznitelikler komşuluk ile temsil edilemiyorlar ise, a ve A değerleri arasında
aşağıdaki şekilde ifade edilir.
w Eğer a = A ise
Sim(a, A) = 
 0 Eğer a ≠ A ise
Yukarıdaki tanımlamalarda, w belge frekansının tersini ve c'de 1'den küçük
pozitif bir sabiti temsil etmektedir.
4.3.2.3 Konumsal Olmayan Đlişkilerin Benzerlikleri
Bu bölümde kullanıcı tarafından verilen bir r ilişkisi ile veritabanındaki resimlerdeki
varlıklar arasındaki ilişkilerin benzerliklerinin hesaplanması işlemi açıklanmıştır.
Enformal olarak, eğer r ve R ilişkileri aşağıdaki kurallara uyuyorsa benzer veya aynıdır
denir.
1. Her iki ilişkinin de isimleri benzer veya eşanlamlı ise,
2. r'ın varlıkları ile R'ın varlıkları 1-e-1 eşleştirilebilir ve r'daki varlıklar R'daki
varlıklara benzer ise.
95
Đkinci maddedeki kuralın geçerli olabilmesi için 1-e-1 eşleştirilme zorunluluğunun bazı
durumlar için esnetilmesi gerekebilir. Bu konunun daha iyi anlaşılması için şu örneği
dikkatle inceleyelim. Dört kişilik bir ailenin basketbol oynarken çekilmiş bir resmini ele
alalım. Đlişki olarak “oynamak” alınabilir ve özne varlıkları ise {baba, anne, çocuk1,
çocuk2}’dir. Alternatif olarak ilişki “basket oynamak” olarak da verilebilir. Dolayısı ile
bir ilişkideki varlıklar arasındaki 1-e-1 eşleştirme zorunluluğunun biraz gevşetilmesi
gerekir. Eğer bir ilişkiye katılan varlıklar bir başka ilişkinin alt veya üst-kümesi ise, ve
ortak alt-küme en azından iki varlık içeriyorsa bir uyum varsayılabilir.
4.3.2.4 Konumsal Benzerlik Fonksiyonları
Bu bölümde, ÇBD’de kullanılan kavramsal modeldeki konumsal benzerliklerin
özellikleri tartışılacaktır. Konumsal benzerlik, konumsal ilişkilerde söz konusudur. Đlk
olarak bu bölümde kullanılacak tanımlamalar gösterilecektir. Örneğin, F sınırlı bir
konumsal ilişki kümesi olsun. Eğer her resim F’deki ve aynı zamanda r’deki ilişkilere
uyuyor ise, r ilişkisi F tarafından ifade edilir denir. Örnek olarak {A solunda B, B
solunda C} ilişki kümesinden yola çıkılarak A solunda C olarak ifade edilebilir.
Konumsal ilişkilerden sonuç çıkarılması için bir dizi kurallar hazırlanmıştır. Her
kural r:: r1,r2,…,rk olarak ifade edilir. Bu kurallarda r kuralın başı olarak adlandırılır ve
r1,r2,…,rk ise kuralın gövdesini oluşturur. Örnek olarak biraz önce verilmiş olan kural şu
şekilde gösterilir:
A solunda B :: {A solunda B, B solunda C}
ve solunda konumsal ilişkisinin geçişgenliğini gösterir. Bu kural ışığında, bir r
ilişkisinin kuralının kullanımı ile F ilişkileri kümesinden bir adımda sonuca
ulaşılabiliniyor denir. Burada dikkat edilmesi gereken nokta, r’nin kuralın başı olması
ve kuralın gövdesindeki tüm ilişkilerin F tarafından içeriliyor olması zorunluluğudur.
Şimdi, R kurallar kümesi, ve F’de ilişkiler kümesini gösteriyor olsun. Bu durumda, r
ilişkisi R’deki kurallar kullanılarak F’den çıkarılabilmektedir. Buna benzer kurallar
96
bütünü [Sistla et al., 1994]’de verilmiştir. Burada sunulan kurallar 3-boyutlu resimler
için kullanılmış ve başarılı sonuçlar elde edilmiştir.
4.4 Çoklu Ortam Sorgu Modeli
Her ne kadar ÇBD’lerde gezinme (browsing) önemli bir işleve sahip olsa da, büyük
çoklu ortam veri tabanlarında tek başına gezinme son derece yetersiz kalır. Günümüzde
çoklu ortam sorguları hala çözüm bekleyen problemlerin başında yer almaktadır.
ÇON’ların
genel
özelliklerinden
gelen
tanımlama
zorlukları,
Çoklu
Ortam
Sorgularınının (ÇOS) tanımlanmasında zorluklar olarak karşımıza çıkar. Bu konuda,
çeşitli araştırmacılar görsel araçlarla zenginleştirilmiş sorgulama yöntemleri önermişler
fakat, bunların çok azı çoklu ortam dizgelerine genel olarak yaklaşmış ve kapsamlı
çözümler getirebilmişlerdir. Bu bölümde bir önceki alt bölümde belirlenen çerçeve
içerisinde mümkün olabildiğince genel bir sorgulama tanıtılmaya çalışılacaktır.
Çoklu ortam veritabanlarını desteklemeyi amaçlayan ve [Kau and Tseng, 1994]
tarafından ortaya atılan MQL sorgulama dilinde, sorgulama temel olarak iki ana parçaya
bölünmüştür. Bunlar tanımlama dili ve işleme dilleridir. Tanımlama dili, C++
programlama diline benzeyen ve veritabanının nesne tabanlı özelliğini destekleyen bir
yapıya sahiptir. Đşleme kısmı ise ÇON’lara veritabanından SQL benzeri birkaç yolla
erişilmesine izin verir. MQL’in genel yapısı BNF (Backus Naur Form)’da aşağıdaki
şekilde gösterilmiştir.
<S>::=SELECT <A><V> FROM <R> WHERE <C>
Sözdizimi (syntax) genel olarak SELECT ifadesi üzerinde gerçekleştirilir.
Yukarıdaki gramerde <A> erişilmek istenen bir dizi özniteliği, <V> tarihsel uyarlamayı
içeren sonuç uyarlamasını, <R> alan sınıfını, <C> ise (condition) kontrol deyimini ifade
eder. [Kau and Tseng, 1994] tarafından bir çoklu ortam sorgulama dilinde desteklemesi
gereken temel özellikler aşağıda özetlenmiştir:
97
•
Karmaşık Nesne Sorgusu: Çoklu ortam sorgusu <A> ile en üst düzeyde
temsil edilen nesne bileşenlerin uyumu sonucunda elde edilir.
•
Örüntü Uyum Sorgusu: Örüntü uyumu CONTAINS anahtar sözcüğü ile
belirtilir. Sorgulama süreci, muhtemel nesneleri bulabilmek için nesnenin
önceden hazırlanmış öznitelikleri üzerinde karşılaştırma yapar. Bu uyum
çalışması resim, ses veya metin üzerinde yapılabilir.
•
Uyarlama Kontrolü: Kullanıcının sorguda belirttiği <V> tanımlaması ile
sağlanır.
•
Đç-içe sorgu: Kullanıcı sorguları IN anahtar sözcüğünü kullanarak birden çok
SELECT ifadesini iç-içe kullanabilir.
4.4.1 Çok Parçalı ve Katmanlı Sorgulama Dili
Yukarıda anlatılan temel özellikler ışığında ve bir önceki veri modelini destekleyecek
bir sorgulama [Hirzalla and Karmouch, 1996] tarafından yapısı geliştirilmiştir. Bu
çalışma küçük değişikliklerle, bu bölüm başında anlatılan çoklu ortam dizge modeline
uyarlanmıştır. Önerilen sorgu modeli veri modeli ile birebir çakışacak şekilde iki
katmanlı olarak tasarlanmıştır. Đlk aşama içerik tabanlı sorgunun gerçekleştirilmesini
oluşturacak ÇON listesinin hazırlanmasına yöneliktir. Birbaşka değişle içerik-tabanlı
arama işlemleri birinci katmanın sonuçları üzerinde yapılmakta, birinci aşama ikinci
aşama için filtreleme görevini yerine getirmektedir. Sorgulama dilinin genel yapısı
aşağıda gösterilmiştir:
RETRIEVE ÇON-türü
FROM ÇON-Listesi
WHERE çok-parçalı tanımlama
Bu tanımlamada ÇON-türü erişimi istenen veri türlerini, Çon
listesi ise
sorgulamanın birinci katmanını oluşturmaktadır. Birinci katman SQL sorgulama dili
veya benzeri bir dille yazılmış olan geleneksel sorgulardır. Çünkü veri modelinin birinci
katmanında sadece ÇON'a ilişkilendirilmiş olan geleneksel biçimdeki dışsal öznitelikler
98
üzerinde işlem yapılmaktadır. Bir ÇON sorgusu mümkün olabildiğince, bu tür verileri
almaya çalışmalıdır. Örneğin bir kullanıcı söyle bir sorgu yönlendirmiş olabilir: "gif
biçiminde ve 1995 yılından daha önce çekilmiş
renk dağılımları verilen yapıdaki
fotoğrafları getir". Bu sorguda içeriğe ilişkin sorgu, verilen renk dağılımına benzer
resimlerin getirilmesidir. Dısşal nitelikler ise, resimlerin GIF biçiminde ve 1995
yılından önce çekilmiş olmasıdır.
Dolayısı ile, dışsal niteliklerin işlenmesi içseş
niteliklerin işlenmesinden daha kolay olduğuna göre, içsel niteliklerin bütün
veritabanındaki resimler üzerinde hesaplanması son derece gereksizdir. Bu nedenle her
hangi bir ÇON sorgusunda yanıt süresinin kısaltılabilmesi için mümkün olduğunca ilk
aşamaya ait sorgulama parametreleri elde edilmeye çalışılmalıdır.
Sorgulama dilinin bir diğer özelliği ise, aranan ÇON’ların özelliklerinin verildiği
kısmın çok parçalı olmasıdır. ÇON’ların genel özelliklerinden hatırlanacağı gibi, en
önemli özellik ÇON’ların tanımlanabilmesi için birden çok özelliğin olduğudur. Bu
nedenle bir çoklu ortam sorgusununda, sorgunun ve sorgu işleme sürecinin çok-parçalı
olmasıdır. Bir sorgu işleme sonucundaki genel yanıt kümesi herbir parçanın ayrı ayrı
işlenerek genel benzerliklerin hesaplanması sonucunda elde edilir. Aşağıda çok parçalı
erişimin genel özellikleri anlatılmıştır.
Çok-parçalı
Tanımlama
Đçsel
Tanımlama
Zamansal
Tanımlama
Konumsal
Tanımlama
Şekil-4.2: Çok-parçalı tanımlama
Dışsal
Tanımlama
99
4.4.2 Çok-Parçalı Tanımlama
Bir çoklu ortam sorgusunun en önemli kısmı, aranan nesnelerin özelliklerinin veya
içeriklerinin belirtildiği kısımdır. Bu aşamada, daha önce verilmiş olan bilgiler ışığında,
içeriği belirleyen özellikler başlıca dört kısımda toplanabilir. Şekil-4.2 çok-parçalı
tanımlamayı göstermektedir.
Đçsel Tanımlamalar: Bir çoklu ortamın, içsel öznitelikler ile tanımlanabilen
özelliklerini ifade etmektedir. Bir resimdeki dokular veya renk dağılımları, bir metinin
sözcükleri, bir sesteki enerji spektrumları ve benzeri özellikler örnek olarak verilebilir.
Bu tür tanımlamaların yapılabilmesi için uygun arayüzlerin kullanımı zorunludur.
Dışsal Tanımlamalar: Bu tür tanımlamalar için kullanılacak değerler veritabanındaki
resim, video, ses ve benzeri verilerle, verilerinin dışından elde edilen verilerin 1-e-1
ilişkilerdirildikleri verilerdir. Bu veriler çoklu ortam özniteliklerinde anlatılan dışsal
özniteliklere karşılık gelirler. Bu dışsal özniteliklerin kullanılacağı arama kriterleri
çok-parçalı sorgunun bu kısmında belirlenir.
Kavramsal Tanımlamalar: Her hangi bir ortamın içerisindeki nesnelerin göreceli
pozisyonları konumsal tanımlamalarla belirtilebilir. Bir resimdeki bir kişinin bir
masanın önünde olması, bir adamın bir kadının solunda yer alması örnek olarak
verilebilir. Bu tür özellikler, veri modelinde belirtilen kavramsal özniteliklerle temsil
edilebilirler.
Zamansal Tanımlamalar: Zaman içerisinde nesneler arasında meydana gelen her
hangi bir değişimin belirtildiği kısımdır. Bu tür değişimler genellikle bir videodaki
kamera değişimleri veya bir ses verisinin zaman içerisindeki ortalama güç değişimleri
olarak karşımıza çıkarlar [Scholoss and Wynblatt, 1995]. Fakat bu tanımlamaların her
türlü veri için kullanılması zorunlu değildir. Örneğin durağan resimlerin zamansal
tanımlamaları
göstermektedir.
yoktur.
Tablo-4.1
değişik
veri
türlerinin
içerdikleri
bilgileri
100
Tablo-4.1: Farklı veri türlerinin içerdikleri bilgi tipleri
Đçsel
Dışsal
X
X
Grafik
X
X
X
Animasyon
X
X
X
Resim
X
X
X
Video
X
X
X
Ses
X
X
Metin
Kavramsal
Zamansal
X
X
X
Bu tanımlamalar ışığında, çok-parçalı bir sorgu aşağıdaki şekilde tanımlanabilir.
RETRIEVE X
FROM ÇON-listesi
WHERE
BEGIN
[Đçerik Tanımlamaları]
[Kavramsal Tanımlamalar]
[Zamansal Tanımlamalar]
END
4.4.4 Zamansal Tanımlamalar
Zamansal tanımlama için [Halpern and Shoham, 1991] ve [Allen, 1993]'de ayrıntılı bir
çalışma yapılmış ve Şekil-4.3’de gösterilen operatörler önerilmiştir. Her ne kadar farklı
operatörler geliştirilebilecek olsa da, benzer yapının kullanılması kendi içerisinde bir
bütünlük sergilemelidir. Bu operatörler nesneler arasında zaman içerisinde göreceli
değişimleri gösteren BEFORE, MEETS, OVERLAPS, STARTS, DURING, FINISHES
ve EQUALS operatörleridir.
101
P
Q
<
p BEFORE q
<
p MEETS q
#
p OVERLAPS q
|-
p STARTS q
∂
p DURING q
-|
p FINISHES q
=
p EQUALS q
Şekil-4.3: Zamansal operatörlerin şekilsel gösterimi
T zamansal formulü, zaman aralıkları arasındaki nesnelerin ilişkilerini belirler ve şu
şekilde ifade edilir:
T := p; | p < Opt > q;
Burada, q sorguyu, p ise bir veri tabanı nesnesini temsil eder. Opt ise, zaman içerisinde p
ve q nesnelerini ilişkilendiren zamansal operatörü temsil eder. Opt' ise Opt’nin tersi
olarak kullanılmıştır. Dolayısı ile,
( p < Opt > q ) = ( q < Opt' > p )
Aşağıda örnek bir zamansal tanımlama bloğu verilmiştir:
102
zamansal tanımlama
BEGIN
video2
-|'
video1;
video2
|-'
resim1;
video2
#
ses1;
video2
#
metin1;
video1
#'
resim1;
video1
∂
ses1;
video1
#
metin1;
resim1
#
ses1
resim1
#
metin1
metin1
-|
ses1
Çoklu Ortam Nesneleri
END
Metin1
Ses1
Resim1
Video1
Video2
Zaman
Şekil-4.4: Zamansal tanımlama örneğinin zaman düzleminde gösterimi
4.4.5 Konumsal Tanımlama
Konumsal tanımlama ile iki nesne arasındaki konumsal ilişkiler her boyut için bir eksen
üzerine projeksiyonları kullanılarak aralarındaki ilişkiler belirlenir. Şekil-4.5 nesneler
arasındaki konumsal ilişkileri göstermek için kullanılan operatörleri göstermektedir.
103
P
Q
<
<
p Before q
p before with adjacency q
#
p Overlaps q
|-
p In with left adjeceny q
∂
p In q
-|
p In with right adjaceny q
=
p Coincidence q
Şekil-4.5: Nesnelerin konumsal tanımlama operatörleri
Nesne1
Nesne3
Nesne2
Nesne4
Şekil-4.6: Nesnelerin resim üzerinde yerleşimi
Şekil-4.6’da bir resmin içerisindeki nesnelerin birbirleri arasındaki konumsal ilişkileri
gösterilmektedir. Burada kullanılan operatörler de hemen hemen zamansal ilişkilerle
aynıdır. Fakat konumsal ilişkiler x ve y boyutu için belirlendiklerinden yorumlama
104
farklılıkları mevcuttur. x veya y aksisi için verilen bir konumsal ilişki şu şekilde ifade
edilebilir:
S := p; | p < Opx, Opy > q;
Burada q sorgu ve p ise veritabanındaki bir nesneyi, Opx ve Opy nesnelerin konumsal
özelliklerinin x ve y koordinatları üzerine izdüşümleri arasındaki ilişkiyi tanımlayan
konumsal operatörleri belirler. Zamansal operatörlerde olduğu gibi, burada da O' ilgili
operatörün tersini ifade eder.
Konumsal ilişkilerin belirlenmesinde z (derinlik)
boyutuna gereksinim duyulabilir. x ve y aksisleri sağında, solunda, altında, üstünde gibi
konumsal ilişkilerin belirtilmesi için kullanılırken, z boyutu ise nesnelerin düzlem
olarak birbirlerinin önünde veya arkasında tarzındaki ilişkilerin belirtilmesinde
kullanılır. Şekil-4.6’da verilen bir resmin içerisindeki nesnelerin konumsal ilişkileri
aşağıdaki şekilde ifade edilir:
Konumsal-tanımlama
BEGIN
nesne4 (<', <)
nesne1;
nesne4 (-|', <| ) nesne3;
nesne4 (<', -|)
nesne2;
nesne2 (∂, <)
nesne1;
nesne2 (<, <|)
nesne3;
nesne1 (<, #')
nesne3;
END
4.4.6 Đçerik Tanımlama
Đçerik tanımlama bir çoklu ortam sorgusunun en önemli parçalarından birisidir. Herbir
çoklu ortam türünün içerik tanımlaması ve kullanılan öznitelikleri birbirinden farklı
olabileceği için, bu konunun başlıca dört alt grup altında incelenmesi uygun
görülmüştür. Bu alt bölümler şunlardır: Metin, Resim, Video ve Ses.
105
4.4.6.1 Metin Đçeriklerinin Tanımlanması
Metinlerin ÇBD’lerde kullanımı, hem serbest formdaki belgeler hem de ÇON’lara
ilişkilendirilmiş anahtar sözcükler olarak karşımıza çıkar.
Sorgularda içeriklerin
metinler ile tanımlanması son derece önemlidir. Metin içerikleri genellikle anahtar
sözcükler ile tanımlanırlar. Bu sözcükler gerekirse mantıksal operatörlerle birbirlerine
bağlanabilirler. Aşağıda metin içeriğinin tanımlamasına bir örnek verilmiştir:
...
(metin1 TEXT
INCLUDE
(“çevre” and “kirlilik” and
(“marmara” or “ege”))
END
...
4.4.6.2 Resim Đçeriklerinin Tanımı
Resimler üzerinde sorguların yapılması yöntemlerinin başlıca üç grupta incelenmesinde
yarar vardır. Đçsel tanımlamalar genellikle resimlerin renkleri veya içerdikleri doku ve
şekil bilgileri olabilmektedir. Genel olarak içsel özniteliklere ait tanımlamalar
şekilde gösterilebilirler:
Resim-içerik tanımı
begin
özellik-1 = özellik-değeri;
özellik-2 = özellik-değeri;
avg-red > 50;
keyword = "çicek" and "arı";
nesne-1 (<, ∂) nesne2;
nesne-1 (-|,<) nesne3;
nesne-2 (>, #) nesne3;
doku MATCH
end
nesne-1;
şu
106
Yukarıdaki örnek sorguda özellik-1 ve özellik-2'nin verilen değerlere eşit olması
ve resme çiçek ve arı anahtar sözcüklerinini eşleştirilmiş olması istenmektedir. Ayrıca,
sorguda üç tane nesne tanımlanmış ve nesnelerin konumsal ilişkileri operatör kullanımı
ile belirlenmiştir. Sorguda istenen bir diğer unsur ise, resmin ortalama kırmızı oranının
yüzde 50'den daha fazla olması ve nesne-1'in belirtilen örnek şekle sahip olmasıdır
Kuşkusuz tüm özellik değerlerinin ve sorgulama parametrelerinin kullanıcı
tarafından doğrudan girebilmesini beklemek yanlış olur. Çünkü bu değerler yüksek
boyutlu vektör veya matris olarak temsil edilirler. Bu nedenle özellik-değerleri uygun
arayüzlerin kullanımı ile otomatik olarak hazırlanır. Buradaki örnekte nesne-x olarak
temsil edilen şey, aslında kullanıcının bir editör ile tanımladığı bir nesnelere karşılık
gelmektedir [Bimbo et.al., 1995].
Resimlerin sorgulanmalarındaki bir başka yöntem ise resimlerin içerisindeki
nesnelerin birbirleri ile arasındaki konumsal ilişkilerin belirlenmesidir. Önceki model
bölümünde açıklanan yönteme göre, kullanıcı resim içerisinde istediği nesneleri ve
nesneler arasındaki konumsal ilişkileri ikonik bir editör aracılığı ile verir. Daha sonra
belirtilen nesnelerin özelliklerine göre otomatik olarak konumsal-tanımlama kısmında
anlatılan yapıya uygun sorgular hazırlanır.
4.4.6.3 Video Đçeriklerinin Tanımlanması
Videolar, daha öncede anlatıldıkları gibi,
genellikle şotlara ayrılır. Sorgular ise
genellikle şotlara dayanır. Aşağıda örnek bir video sorgusu verilmiştir:
(vide1 VIDEO
SEQ (ZOOM-IN, ZOOM-OUT)
hareket-1
LENGTH > 4;
DISSOLVE;
hareket-2
107
LENGTH > 20;
FADE;
Şot-1
LENGTH > 50;
SPEED = 30;
IMAGE
Avg-White > 60;
MATCH nesne-1;
INCLUDE (“bayram” or “tören”)
END
END)
Bu video sorgusunda, temel olarak iki sıralı kamera hareketi istenmektedir: zoom-in,
zoom-out. Herbir hareket hareket1 ve hareket2 olarak tanımlanmıştır. Birinci kamera
hareketinin uzunluğu 4 birim (örneğin saniye) zaman ikincisinin uzunluğu ise 20 birim
zaman olacaktır. Birinci hareket dissolve efekti ile sonlanırken, diğerinin fade efektine
sahip olması istenmektedir. Birinci hareketteki şotun kamera hızı 30 ve şotta nesne-1’in
olması istenmekte, ayrıca renk dağılımı %60’dan daha fazla beyaz içermelidir. Ayrıca
ilgili şota bayram veya tören sözcükleri atanmış olmalıdır.
4.4.6.4 Ses Sorguları
Ses verileri muzik, insan sesi ve ses olarak üç grup altında incelenebilir. Ses, özellikle
video içeriğinin anlaşılabilmesi için son derece önemli katkılar sağlar.
Muzik
aletlerinin sesleri spektrum örüntüsü veya power envelop paterni ile temsil edilebilirler.
Bu örüntüler ses verileri veritabanında saklanmadan önce otomatik olarak
belirlenebilirler. Kullanıcı ise sorgusunu doğrudan mırıldanarak, kasetçalar veya
doğrudan bir muzik aleti kullanarak verebilir. Konuşma tanıma sistemleri ise ses
verilerinin metine dönüştürülmesidir. Fakat mevcut teknoloji ile bu işlem etkili bir
şekilde yapılamamaktadır [Glavitsch, 1992] [Glavitsch, 1994]. Aşağıda bir ses içeriği
sorgusu örneği sunulmuştur:
108
[Ses-içerik tanımı]
BEGIN
Specturum-index = S1;
Power-index = P1;
Sözcükler("cumhurbaşkanı" or "başbakan"
and ("terör" and "laiklik"))
END
Bu sorgu, ses verilerini tanımlanmasında kullanılan iki temel dizinleme aracı baz
alınarak hazırlanmıştır. Specturum dizininin S1, power dizininin ise P1 değerine sahip
olması istenmektedir. Ayrıca, ses verisinin içerisinde belirtilen mantıksal birleşimde
sözcükler geçmelidir. Bu sözcükler verilerin veritabanına atanması sırasında otomatik
olarak metne çevrilebileceği gibi, kullanıcı tarafından elle de yapılabilir.
4.4.7 Sorgulama Dilinin BNF Gösterimi
Önerilen sorgulama dili BNF (Backus Naur Form) kullanılarak gösterilmiştir. Burada,
sonsuzlar (non-terminals) açılı parentez (<…>), isteğe bağlı alanlar köşeli parantez
([…]), tekrarlar küme parantezi içerisinde {…} ve alternatifler de normal parantezler
içerisinde düz çubuklar ile ayrılarak (…|…|…) gösterilmiştir.
<Sorgu-ifadesi> ::= RETRIEVE <ÇON-Türü>
FROM <Filtre-Đfadesi>
WHERE <çok-parçalı tanım>
<ÇON-Türü> ::= ALL [EXCEPT <ÇON-Türü>)
<Filtre-Đfadesi> ::= <SQL-Đfadesi>
<Çok-parçalı tanım> ::= [NOT] <tek-parçalı-tanım>
| (<karmaşık-tanım>)
<Karmaşık tanım> ::= <Çok-parçalı-tanım> <mantık-ops>
<çok-parçalı tanım>
<Tek-Parçalı-tanım> ::= (ZBEGIN <zamansal-tanım> ZEND)
109
| (KBEGIN <konumsal-tanım> KEND)
| (ĐBEGIN <içerik-tanım> ĐEND)
<Zamansal-tanım> ::= [{<nesne-NO><zamansal-op><nesne-NO>}]
[{<nesne-No><zamansal-özellik>}]
<zamansal-özellik> ::= {<zamansal-öznitelik><numerik-op><değer>}
<zamansal-öznitelik>::= LENGTH | START-OFFSET
<zamansal-op> ::= [!] (<)| (<|) | (#) | (|-) | (∂) | (-|) | (=)
<konumsal-tanım> ::= [{<nesne-NO><konumsal-op><nesne-NO>}]
[{<nesne-No><konumsal-özellik>}]
<konumsal-özellik> ::= {<konumsal-öznitelik><numeric-op><değer>}
<konumsal-öznitelik>::= POSITION| WIDTH | LENGTH
<konumsal-op> ::= [!] (<) | (<|) | (#) | (|-) | (∂) | (-|) | (=)
<içerik-tanım> ::= [NOT] <karmaşık-içerik>
| (<tek-içerik>)
<karmaşık-içerik> ::= <içerik-özellik> <mantık-op> <içerik-özellik>
<tek-içerik> ::= <nesne-NO> (<metin-özellik> | <resim-özellik> |
<video-özellik> | <ses-özellik> )
<metin-özellik> ::= TEXT <metin-içerik> END
<metin-içerik> ::= INCLUDE {<karmaşık-sözcük>}
<karmaşık-sözcük> ::= (<sözcük> <mantık-op> <karmaşık-sözcük>)
| <sözcük>
<resim-özellik> ::= IMAGE [<özellik-adı> <nümerik-op> <value>]
[<metin-içerik>]
[MATCH <nesne-NO>] END
<video-özellik> ::= VIDEO [<zam-video-öz>] [<şot-tanımı>] END
<zam-video-öz> ::= SEQ <sıralı-kamera-har>
{[<hareket-tanımı>][<şot-tanımı>]}
<sıralı-kamera-har> ::= (<sıra> <mantık-op> <sıralı-kamera-har>) |
<sıra>
110
<sıra> ::= ANYOPERATION | (<kamera-hareketi> {,<sira>})
<kamera-hareketi> ::= [NOT] <tek-hareket> | (<karmaşık-hareket>)
<karmaşık-hareket> ::= <kamera-hareketi> <mantık-op> <kamera-hareketi>
<tek-hareket> ::= ZOOM_IN | ZOOM_OUT |
PAN_LEFT | PAN_RIGHT |
TILT_UP | TILT_DOWN | BREAK
<hareket-tanımı> ::= <hareket-sıra-no>
({<video-öznitelik> <nümerik-op> <değer>} |
<tip>)
<tip> ::=FADE | WIPE | DISSOLVE | SPECIAL-EFFECT | OTHERS
<şot-tanımı> ::= (<şot-sıra-no> | ANYONE )
[{<video-öznitelik> <nümerik-op> <değer>}]
[<resim-özellik>] [<metin-içerik>]
<video-öznitelik> ::= SPEED | LENGTH | START-OFFSET
<ses-özellik> ::= AUDIO [<ses-içerik-öz>][<ses-zamansal-öz>] END
<ses-içerik-öz> ::= [{<ses-öznitelik> <nümerik-op> <değer>}]
[<metin-içerik>]
<ses-öznitelik> ::= SPECTURUM-INDEX | POWER-INDEX
<ses-zamansal-öz> ::= {<değişim-tipi> <değişim-tanımı>}
<değişim-tipi> ::= [NOT] <tek-değişim> | (<karmaşık-değişim>)
<karmaşık-değişim> ::= <değişim-tipi> <mantık-op> <değişim-tipi>
<tek-değişim> ::= SPECTURUM-CHANGE | POWER-CHANGE
<değişim-tanımı> ::= {<değişim-öznitelik> <nümerik-op> <değer> }
<değişim-öznitelik> ::= OFFSET-POSITION | DURATION | <audio-att>
<mantık-op> ::= ( OR | AND | XOR )
<nümerik-op> ::= (=) | (<>) | (>) | (<) | (<=) | (>=)
111
5. ÇOKLU ORTAM DĐZĐNLEME YÖNTEMLERĐ
Çoklu ortam verilerinin erişiminde iki temel yaklaşım vardır: Đlk yaklaşım, sıralı erişim
olarak bilinir ve geri getirilecek verilerin sorgulardan çekilen özellikler ile veri
tabanında saklanan bütün verilerin teker teker benzerliklerinin karşılaştırılması ilkesine
dayanır. Karşılaştırmalar çok yoğun zaman alan işlemler olduğu için, erişim yetersiz
olacaktır. Küçük bir bir veri tabanı için sıralı erişim uygun olabilir. Fakat veritabanı
hacmi büyüdüğünde sıralı erişiminin maliyeti de büyüklükle, en azından, doğrusal
olarak artacağından, erişim süresi de artacaktır. Bu nedenle, önerilen ikinci yaklaşım
erişim sürecini kolaylaştıracak dizin veya dizinlerin kullanılmasına dayalıdır. Bir
dizinleme yapısı kullanımı ile bir sorgunun sonuç kümesi dizinleme yöntemi
kullanılarak çok daha hızlı bir şekilde tespit edilebilir.
Bu bölümde, çoklu ortam erişim dizgelerinin vazgeçilmez bir bileşeni olan
dizinleme yöntemleri konusunda yapılan inceleme çalışmalarının sonuçları yer
almaktadır. Đnceleme sonuçları iki temel aşamada sunulmuştur. Birinci aşama, çoklu
ortam verilerini tanımlamak için çıkartılan veya hazırlanan özellik vektörlerini temsil
etmek için kullanılan temel veri yapıları ve bu değerler üzerinde yapılan transformasyon
yöntemlerini içermektedir. Đkinci aşmada ise, literatürede yaygınlıkla kullanılan R-ağacı
ve Izgara dosyaları hakkında bilgiler yer almaktadır.
5.1 Çoklu Ortam Gösterim Şekilleri
Đçerik tabanlı çoklu ortam arama ve erişim yöntemlerinde kullanılan dizinleme
yöntemlerinin başarısı yoğun olarak seçilen gösterim biçimine ve benzerlik ölçütlerine
bağlıdır. Örneğin resimler için yaygınlıkla kullanılan özellikler doku, renk, şekil ve
resim içerisindeki alt-nesneler arasındaki konumsal ve diğer tipdeki ilişki özellikleridir.
Bu özelliklerden bir veya bir kaçının aynı anda kullanılması sıklıkla karşılaşılan bir
durumdur. Şimdiye kadar yapılan çalışmalarda genellikle özellik vektörlerinin
dizinlemeye uygunlukları araştırılmamıştır. Bir başka deyişle, elde edilen ve içeriği iyi
112
şekilde temsil ettiği belirtilen özellikler genellikle sıralı erişim için düşünülmüş,
dizinlemeye ne kadar uygun olduğu veya nasıl dizinlenebilecekleri konusunda
çalışmalar yapılmamıştır. Ayrıca bu özelliklerin benzerlik ölçümleri pahalı, karmaşık ve
aynı zamanda mevcut dizinleme yapıları içerisinde kullanımları da son derece zordur.
Resim arşivleri için özellik gösterim şekilleri ve dizinleme kriterleri [Niu et al, 1995]'de
bulunabilir. Aşağıdaki bölümlerde öncelikle içeriği temsil etmek üzere sıklıkla
kullanılan yöntemler ve ardından dizinleme yöntemleri anlatılmıştır.
5.1.1 Doku (Texture) Özellikleri
Doku, görüntü işleme ve örüntü algılama alanında derinlemesine incelenmiş ve farklı
resimleri ayırt etme ve tanımlama yeteneklerinin oldukça yüksek olduğu belirtilmiştir
[Hsiao and Sawchuck, 1989] [Picard and Minka, 1995]. Bu nedenle çoklu ortam
erişiminde kullanılan etkin özelliklerden birisidir [Manjunath and Ma, 1996]. Dokular
sadece resim yüzeyleri değil aynı zamanda hareketlerin algılanmasında da
kullanılmışlardır [Lillesand and Kiefer, 1994]. Hernekadar dokuyu tanımlamak için
formal bir yapı mevcut değilse de, tek düzelik (uniformity), kabalık (roughness),
düzenlilik (regularity), yön (direction), frekans (frequency) ve benzeri kavramlar doku
özelliğini yansıtan ölçekler olarak kullanılmışlardır.
Görüntü
işleme
alanında
herhangi
bir
resim
bölgesindeki
dokuların
tanımlanması sürecinde değişik yöntemler önerilmiştir. Doku özelliliğini çıkarmak için
en yaygın yöntem çeşitli masklar veya filtreler tasarlanarak doku resmini karakterize
edebilecek doku spektrumun elde edilmesi yöntemidir. [Shen and Wong, 1983]
tarafından çözünürlük bağımlı frekans ortalamaları diyagramı gösterim şeması
geliştirilmiştir. Bir resmin yüksek enerjilerinin tanımlanmasıyla bir resimdeki global
genel tekrarları (periodicity) yakalamak için Fourier güç spectrumundan özellikler
çıkartılmıştır [Eklundh, 1979]. Bazı araştırmacılar dokuyu temsil etmek için konumsal
gri ton bağımlılık matrisleri kullanmışlardır [Haralick et al., 1973] [Conners and
Harlow, 1980] [Unser, 1986]. Rastgele saha ve Markov modelleri dokuların
sınıflandırılması ve parçalanması için önerilmiştir [Mao and Jain, 1992]. Özellik frekans
113
matrislerinin kullanımı ile dokuların temsil edilmesi [Shen and Bie, 1992] tarafından
önerilmiştir. Bilgi ağaçları kullanımı ile doku algılama [Hougen and Omohundro,1988]
tarafından önerilmiştir. Doku analizi ile ilgili genel tekniklere ait bir araştırma [Haralick
et al., 1973] ve [Viltrotter et.al., 1986]’da bulunabilir.
Her ne kadar görüntü işleme de günümüze kadar çok sayıda yöntem önerilmiş
olsa da, bunların bir çoğunun çoklu ortam veri tabanlarında kullanımları gerek
hesaplama karmaşılıkları ve gerekse uçuk varsayımlarından dolayı uygun değildir.
Maalesef günümüzde genel görsel veri algılama alanında ve sınıflamada kullanılacak
tek bir doku tanıma modeli mevcut değildir. QBIC projesinde, resimlerin dokularını
yansıtabilmek için kabalık (coarseness), yön (directionality) ve zıtlık (contrast)
kullanılmıştır [Niblack, et al., 1993]. Fakat, çok-çözünürlüklü oto-regresif modelinin
daha iyi performance verdiği belirtilmiştir [Mao and Jain, 1992]. Çok-çözünürlüklü
modellerde, kaba özellikler üst seviyeli global karakteristiklerinin elde edilmesi
amacıyla kullanılmış, daha ince özellikler dokunun detaylarının incelenmesi ile
belirlenmişlerdir [Rubner and Tomasi, 1996].
5.1.2 Renk Özellikleri
Bir resmi tanımlamanın en yaygın özelliklerinden birisi renk histogramlarının
kullanılmasıdır [Faloutsos et.al., 1994] [Gray, 1995] [Holt and Hartwick, 1994]
[Shawney and Hafner, 1994] [Stricker and Swain, 1994] [Swets and Weng, 1993].
Renk, özellikle bir resmin genel özelliklerini yansıtması ve içerisindeki nesnelerin
tanımlanabilmesi için son derece güçlü bir özelliktir. Renk bilgilerinin kullanılmadan
resim içerisindeki renk sayısının düşürülmesi gerekir. Literatürde çeşitli renk düşürme
algoritmaları önerlimiştir [Orchard and Bouman, 1991]. Görüntü işleme alanında RGB,
YIQ ve HSI gibi bir kaçtane renk modeli vardır. RGB modelinde, bir renk herbiri üç
temel renk olan kırmızı, yeşil ve mavi olmak üzere birbirinden bağımsız üç aksis
üzerinde gösterilir. YIQ renk modeli standart televizyon yayınlarında kullanılan
modeldir. Bu modelde Y luminance (aydınlanma), I ve Q ise sırasıyla, iki kromatic
bileşen olan inphase and quadrature’u temsil ederler. HSI modeli ise modeller arasında
114
renkli resimleri manipule etmek için kullanılır. H (hue) saf rengi temsil eden renk
özelliğidir. S (saturation-doyum) ise beyaz ışık tarafından ne kadar sulandırıldığının
ölçüsüdür. I (intensity-güç) bileşeni ise resimdeki renk bilgisinin oranıdır.
HSI modelinde RGB modeline göreceli olarak normalize edilmiş r (red-kırmızı),
g (green-yeşil) ve b (blue-mavi) değerleri şöyle tanımlanırlar:
R
( R + G + B)
G
g=
( R + G + B)
B
b=
(R + G + B)
r=
HSI modelinin Intensity (güç) bileşeni ise şöyle tanımlanır
I =
1
(R + G + B)
3
Aynı zamanda R, G, B değerlerinden H ve S değerleri de elde edilebilir.
1

[( R − G ) + ( R − B ) ]

2
H = cos 
 ( R − G ) 2 + ( R − G )( G − B )


3
[min( R , G , B ) ]
S =1−
(R + G + B)
−1
[
]
1
2






5.1.3 Şekil Özellikleri
Örüntü algılama alanında nesnelerinin şekillerinin gösterimi önemli bir araştırma
konusudur. [He and Kundu, 1991] [Nalwa and Binford, 1986] Şekiller çoklu ortam
erişimde yaygınlıkla kullanılan bir diğer özelliktir [Jagadish, 1991] [Jain and Petland,
1995] [Metrotra and Gray, 1995a ve b] [Petkovic, 1996]. Örneğin tibbi resim
115
arşivlerinde şekil gösterimi, renk ve dokuları aynı olan resimlerin ayırt edilmesinde son
derece önemli bir özelliktir. Fakat, şekil benzerliklerine göre erişimde, belirli
uygulamalarda benzerliğin anlamı farklı olarak yorumlanabilmektedir. Şekil özellikleri
Chain kodlaması [Freeman and Davis, 1977], Fourier tanımlayıcısı [Person and Fu,
1977], değişken moment [Zakaria and et al., 1987], oto-regresif modeller [Dubois and
Glanz, 1986], polar signatures [Lie and Chen, 1986] ve syntactic yaklaşımlar [Chen and
Su, 1986] kullananılarak temsil edilebilirler. Chain kodları birbirine bağlı belirli
uzunluk ve yöndeki doğrular halinde şekillerin sınırlarının belirlenmesidir. Yüksek
frekanslı bileşenlerin katsayısı ihmal edildiğinde 2 boyutlu şekil sınırları birkaç Fourier
tanımlayıcısı ile gösterilebilirler. Momentler ise şekil özelliklerinin boyutlarının
düşürülmesi için kullanılan popüler bir yöntemdir. Örneğin iki boyutlu şekil sınırları
momentlerin kullanımı ile tek boyutlu fonksiyonlar olarak gösterilebilirler. Yaygınlıkla
kullanılan bir diğer yöntem ise çeşitli duyarlıklarda, şekilleri poligon olarak temsil
etmektir. Bu konudaki çalışmalar ile ilgili araştırmaların kısa özetleri [Wu and Leou,
1993]’de bulunabilir.
5.1.4 Konumsal Özellikler
Konumsal özellikler bir resim içerisindeki nesneler arasındaki yön ilişkisi, yapışıklık,
çakışma veya birden çok alt nesneyi içerme gibi konumsal ilişkileri gösterir. Konumsal
özellikler yaygın olarak kavramsal modeller ile de temsil edilirler. Dördüncü bölümde
konumsal ilişkilerin kavramsal model olarak temsil edilmesi konusunda açıklamalar
yapılmıştır. Fakat, konumsal özelliklerin vektörel, dizi ve ağaç veri yapıları ile de temsil
edilmesi mümkündür. Bu nedenle konumsal özellikler bu bölüme de alınmıştır.
Konumsal özellikler iki boyutlu sembolik diziler (string) olarak da temsil edililebilirler.
Bu durumda, içerik tabanlı resim erişimi iki boyutlu dizi sırası araması haline
dönüşecektir.
Konumsal özellikler sıklıkla coğrafik bilişim dizgelerinde (CBD) kullanılırlar ve
genellikle üç farklı kategoride incelenirler [Pullar and Egenhofer, 1988] [Egenhofer,
1989] [ Worboys, 1992].
116
•
Topolojik Đlişkiler: Bitişik, içerisinde, ayrıklık temel olarak karşılaşılabilecek
konumsal ilişkilere örnek olarak verilebilir.
•
Yön Đlişkileri: yukarıda, aşağıda, kuzeyinde, güneyinde, kuzey-batısında gibi
ilişkilerdir. Topolojik ilişkiler bir CBD uygulamasında, enlem ve boylam olarak
tanımlanırlar. ÇBD uygulamalarında ise farklı şekillerde temsil edilebilirler.
•
Metrik ilişkiler: Tipik bir CBD sorgusu şu şekilde ifade edilebilir: "verilen
referans noktasına 100 birim uzaklıktaki nesneleri bul". Bu örnekteki metrik
ilişkisi, nesneler arasındaki fiziksel uzaklıktır. Çoklu ortam uygulamalarında ise
metrik ilişkiler kabaca benzerlik ilişkisi olarak adlandırılabilirler. Örneğin,
verilen örnek resme benzerlikleri verilen bir eşik değerinden daha çok benzeyen
nesnelerin bulunması gibi.
5.2 Özellik Gösterim Şekilleri
Bir resim içerisinde aranan nesnelerin sayılabilir ve yapısal tanımlamaları genellikle
örüntü (pattern) olarak adlandırılır. Genel olarak bir örüntü renk, doku, şekil gibi bir
veya daha çok özellik ile tanımlanabilir. Pratikte, örüntüler vektör, dizi veya ağaç yapısı
ile temsil edilebilirler. Örnek olarak bir örüntü vektörü aşağıdaki gibi gösterilir:
X = (X0,…,Xn-1)
X'in her bir bileşeni, Xi, i+1'inci özelliği temsil eder ve n ise bunun gibi toplam özellik
sayısını gösterir. X örüntü vektörünün bileşenlerinin içerikleri ise, örüntünün fiziksel
tanımlanmasında kullanılan ölçüm yöntemine bağlıdır. Örneğin, bir resimde herbir
piksel için 24 bit ayrılmış olduğu varsayılırsa, RGB renk modelinde R, G ve B bileşeni
için 8 bit ayrılmış olacaktır. Dolayısı ile her renk bileşeni 0-255 aralığında değerler
alırlar. Böylelikle, X=(Ravg, Gavg, Bavg) bir resmin ortalama renk dağılımını temsil eder.
Burada Ravg, Gavg, Bavg değerleri n pikselinin ortalama değerlerini temsil etmektedir.
117
Dizi gösterimi ise yapıları basit bağlantılara dayanan bir resimdeki nesnelerin
örüntülerinin gösterimi için uygundur. Örneğin Şekil-5.1(a)'da gösterilen şekil temel
alfabe ile a,b,c,d olarak tanımlandığında, Şekil-5.1(b)'deki gibi tanımlanabilir. Buradan
Şekil-5.1(a)'daki şekil temel alfabe kullanılarak tek boyutlu dizi olarak
şu şekilde
gösterilebilir, w = aabccd.
a
b
c
d
(a)
(b)
(c)
Şekil-5.1: (a) örnek şekil, (b) örnek şeklin gösterimi, (c) temel alfabe
A
B
A
C
D
B
D
C
E
F
G
E
(a)
G
F
(b)
Şekil-5.2: (a) Nesne alanlarının düzlemsel gösterimi (b) alt-nesne alanlarının ağaç yapısı ile
temsil edilmesi.
Bir diğer güçlü yöntem ise ayrık yapıların da gösterimine izin veren ağaç
yapısıdır. Bu durumda bir ağacın düğümleri iki tipte bilgi içerir. Birincisi örüntünün
fiziksel formunu tanımlarken, ikincisi ise bu yapının diğer alt-yapılar ile olan ilişkilerini
118
gösterir. Örneğin Şekil-5.2(a)'daki şekil, içinde ilişkisi kullanılarak Şekil-17(b)'de
gösterilen ağaç ile temsil edilebilir.
5.3 Benzerlik Ölçütleri
ÇON'lar arasında benzerlik ölçümleri hem depolama hem de erişim sırasında kullanılır
ve dizgenin başarımını yakından ilgilendirir. ÇON özellikleri vektör olarak temsil
edildiklerinde, iki ÇON arasındaki uzaklık yaygın olarak benzerlik ölçütü olarak
kullanılır. Dizinleme bakış açısıyla, benzerlik ölçütleri iki aşamada kullanılır. Birinci
aşama sorguya uyuşmayan nesneleri atmak ve daha detaylı arama işlemleri için arama
alanını daraltmak amacına yöneliktir. Đkinci aşama ise, filtreleme fazını aşan az sayıda
nesne üzerinde sonuç kümesini oluşturmak için daha detaylı ve hassas ölçümler için
kullanılır. Bu nedenlerle bir ÇBD'de kullanılacak dizinleme yöntemi benzerlik
dizinleme (similarity indexing) yöntemi olmak zorundadır.
Dizinlemede mutlak
eşitlikler yerine benzerliklerin kullanılmasıyla ilgili çalışmalar [Santini and Jain, 1996]
[White and Jain,1996a ve 1996b] yayınlarda bulunabilir. Literatürde şimdiye kadar
önerilen bir çok benzerlik ölçütleri [Özkarahan, 1986] hesaplamalarının pahalı olması
veya dizinlemede kullanımlarının zor olması nedeniyle çok uygun değildirler.
Yaygınlıkla
kullanılan
benzerlik
ölçütleri
Euclidean
ve
ağırlıklı
Euclidean
fonksiyonları, L1 ve L2 metrikleri, ile bir ve iki boyutlu dizi uyum yordamlarıdır. Çok
boyutlu uzayda yaygın olarak Minkowski metrikleri kullanılır. Burada i'ninci örüntü bir
başka değişle örüntü matrisinin i'ninci satırı, xi, kolon vektörüne karşılık gelir:
xi = (xi1, xi2,…,xid)T, i=1,2,…,n
Burada, d özellik sayısını, n örüntü sayısını ve T, vektörün transpozisyonunu gösterir.
Genel olarak Minkowski [Jain and Dubes, 1988]
tanımlanmıştır:
 d
d ( i , k ) =  ∑ x ij − x kj
 j =1




1/ r
uzaklığı aşağıdaki şekilde
119
Euclidean:(42 + 22)½ = 4.472
X12
Manhattan: (4 + 2 ) = 6
Sup: Max{2,4} = 4
4
X22
2
2
X11
X21
Şekil-5.3: Minkowski metrikleri
En yaygın üç Minkowski metriği Şekil-5.3'de gösterilerek aşağıda anlatılmıştır.
•
r = 2 (Euclidean uzaklığı)
 d

d (i, k ) =  ∑ ( xij − x kj ) 2 
 j =1

•
r = 1 (Manhattan, taxicab veya city block uzaklığı)
d (i , k ) =
d
∑
j =1
•
1/ 2
x ij − x kj
r → ∞ ("sup" uzaklığı)
d ( i , k ) = max x ij − x kj
1≤ j ≤ d
Euclidean uzaklığı birçok uygulamada yaygınlıkla kullanılmıştır. Bütün özellik
değerleri ikili olduğunda Manhattan metriği Hamming Uzaklığı olarak bilinir. Çoklu
120
ortam uygulamalarında ençok kullanılan ağırlıklı Euclidean uzaklık ölçütüdür. Örneğin,
bir resme ait genel veya bölgesel renk histogramları özellik vektörleri olarak ele
alındığında, bu vektörlerin sadece matematiksel olarak birbirlerinden uzaklıklarının
hesaplanması yeterli olmayabilir. Kırmızı renk turuncuya, mor ise leylak rengine görsel
olarak daha benzerdir. Dolayısı ile, görsel sonuçlara yakın benzerliklerin üretilebilmesi
için uzaklık hesaplamalarında ağırlıkların kullanılması gerekir.
5.4 Konumsal Erişim Yöntemleri
Konumsal veri (spatial data), iki veya daha çok boyutlu uzaydaki nokta, çizgi, dörtgen
veya poligon olarak gösterilen verilerin genel adıdır. Hızlı bir şekilde konumsal verilere
ulaşabilmek uygun dizinleme yöntemlerinin kullanımını gerektirir. Đşte bu hızlı ulaşım
yolları genel olarak konumsal Erişim Yöntemleri (KEY, SAM=Spatial Access
Methods) olarak adlandırılır. Günümüzde KEY'lere her geçen gün artan bir gereksinim
vardır. Konumsal verileri bünyesinde barındıran uygulama alanlarından başlıcaları
şunlardır: Coğrafik bilgi sistemleri, bilgisayar destekli tasarım ve çizim, bilgisayar
görme (computer vision), bilimsel veritabanları, bilgi
keşfi ve veri madenciliği
(knowledge discovery and data mining) vb. Ayrıca, son yıllarda KEY yapılarına
gereksinim duyulan bir diğer alan ise araştırma konumuz olan çoklu ortam veritabanı
uygulamalarıdır.
Geçmişte yapılan çalışmalarda birçok özgün KEY yapısı önerilmiş veya eski
yapılar üzerinde iyileştirilmeler önerilmiştir. Sıklıkla kullanılan KEY yapıları şunlardır:
Grid Dosyaları[Nievergelt et al., 1984], KDB-ağaçları[Robinson, 1981], R-ağacı
[Gutman, 1984] R+-ağaçları [Sellis and Roussopoulos, 1987], R*-ağaçları [Beckman
and Kriegel, 1990], Hilbert R-ağaçları [Kamel et al., 1994], TV-ağaçları [Lin et al.,
1995], X-ağaçları [Berchtold, 1996], SS-ağaçları [White and Jain, 1995], Filtre-ağaçları
[Sevcik, and Koudas, 1996] vb. Tüm bu ve benzeri yöntemler farklı durumlarda değişik
başarım oranlarına sahiptirler. Hernekadar son çalışmaları içermiyorsa da, KEY yapıları
ile ilgili iyi bir inceleme [Samet, 1990]'da bulunabilir.
121
Bu tez çalışmasında ÇON'ların dizinlenebilmesi için kullanılmak üzere
Konumsal Izgara Dosyaları (KID, SGF=Spatial Grid File) adı verilen yeni bir dosya
yapısı geliştirilmiştir. KID'in yapısının anlaşılmasını kolaylaştırmak ve genel olarak
KEY yapıları hakkında bir fikir verebilmek amacıyla bu bölümde öncelikle Izgara
Dosyaları ve R-ağaç ailesi hakkında bilgi verilmiştir.
Hernekadar R-ağaç ailesi çokça kullanılan KEY yapılarının çok-boyutlu
vektörlerinin dizinlenmesi amacıyla kullanılıyor olsa da, birçok çoklu-ortam
uygulamasında özellik vektörleri yüksek-boyutludur. Bir kavram kargaşasına meydan
vermemek için öncelikle çok-boyutlu ve yüksek-boyutlu deyimlerinin açıklanması
gerekmektedir. Genel olarak eğer bir vektör 20 veya daha az boyutlu uzayda temsil
ediliyor ise çok boyutlu, 20'den daha fazla boyutlu uzayda temsil ediliyor ise
yüksek-boyutlu tanımlaması kullanılır.
Bir çoklu ortam özellik vektörü genellike 20 veya daha yüksek boyutlarda temsil
edilir. Bu nedenle aslında özgün olarak birçok çoklu ortam özellik vektörü
yüksek-boyutludur. Fakat literatürde önerilen KEY yapıları genellikle çok boyutlu
verilerin dizinlenmesi için önerilmişlerdir. Eğer yüksek-boyutlu veriler çok-boyutlu
veriler için önerilen KEY yapıları kullanılarak dizinlemeye kalkışılırsa, performansları
fazlasıyla düşmekte, beklenen iyileştirmelerden uzaklaşmaktadırlar. Bu nedenle
yüksek-boyutlu vektörlerin standart KEY yapıları ile dizinlenmesindeki incelikleri
açıklayan bilgiler aşağıdaki bölümde verilmiştir.
5.5 Yüksek-boyutlu Verilerin Dizinlenmesi
Birçok KEY yapısının erişim karmaşıklığı boyut sayısı ile üssel olarak artmaktadır. Bu
nedenle standart KEY yapıları çoğu durumda çoklu ortam verilerinin dizinlemesi için
uygun değildir. Çünkü çoklu ortam özelliklerinin boyutları birçok durumda 20’den daha
büyük
boyutlu
vektör
uzayında
temsil
edilirler.
Yüksek-boyutlu
vektörlerin
dizinlenmesi için geçmişte iki temel yöntem kullanılmıştır. Birinci yöntem, çok-boyutlu
veriler için önerilen KEY yapılarınının üzerinde yüksek-boyutlardaki başarım
122
düşmelerini engelleyecek değişiklikler yapılması temel ilkesine dayanır. Literatürde
TV-ağaçları ve X-ağaçları olarak önerilen yöntemler örnek olarak verilebilir. Aslında
her iki yöntem de R-ağaç ailesine çok benzeyen yapılara sahiptirler. Aralarındaki tek
fark, dizinlemede yüksek-boyutlu vektörlerin sadece baştan belirli bir kısım elemanının
kullanılması, gerçek verilerde ise vektörlerin tamamının saklanması ilkesine dayanır.
Đkinci yöntem ise,
çok-boyutlu vektörlerin çeşitli transformasyon yöntemleri
kullanılarak daha az boyutlu uzaya eşleştirilerek mevcut KEY yapılarının aynen
kullanılmasını esas alır.
Bu bölümde genel olarak bu transformasyon yöntemleri
tartışılacaktır.
Transformasyondan ana amaç, X özellik vektörünün dizinleme için daha uygun
bir uzaya indirgenmesi ile X' vektörüne erişmektir. X özgün özellik vektörünü, X' ise
transform edilerek boyut sayısı düşürülmüş vektörü temsil edildiğinde, transformasyon
X'=ƒ(X) olarak ifade edilebilir. Q sorgu vektörü ile, R veritabanındaki herhangi bir
dörtgeni temsil ettiği varsayımı ile aşağıdaki denkliğin doğru olduğu varsayılır:
D'(X',Q') ≤ D(X,Q)
Karhunen-Loeve (KL), Discrete Fourier Transform (DFT) veya Discrete Cosine
Transform (DCT) veya standart uzaklığı-koruyan (distance-preseving) transformasyon
yöntemlerinden her hangi birisi ƒ fonksiyonu olarak kullanılabilir. Transformasyonların
avantajı, transform edilmiş vektörlerin enerjilerini ilk birkaç terimde toplamalarıdır. Bu
ise dizinlemede boyut sayısını ve erişim maliyetini düşürürürken, dizinlemenin etkinlik
ve yeterliliğinde en az kayıp meydana gelmesini sağlar.
Tipik bir aralık sorgusunu inceleyelim: Q sorgu vektöründen ε
uzaklıktaki tüm X vektörlerini bul. Sorgu işleme öncelikle az-boyutlu uzayda
D'(X',Q')≤ ε
tolerans
123
koşulunu yerine getiren bütün X vektörlerini bulacaktır. Bu nedenle, elde edilen tüm
vektörler D'(X',Q') ≤ D(X,Q) ≤ ε koşulunu yerine getirecektir. Burada dikkat edilmesi
gereken önemli bir nokta, yanlış isabet (false hit) sayısı küçük bir artış gösterirken
ıskalama (dismissal) sayısında artışın beklenmediğidir. Yanlış isabet sonuçlarındaki bu
artış ise çok önemli değildir, çünkü yanlış isabet değerleri son-işleme (post-processing)
ile kolaylıkla ayıklanabilirler.
5.6 Izgara Dosyaları
Izgara dosyaları [Nievergelt et al., 1984] çok-öznitelikli bir erişim için önerilen bir yapı
olmasına rağmen, çok-boyutlu uzaydaki nokta verilerinin erişiminde de kullanılan en
yaygın yöntemlerden birisidir. Amacı en fazla iki disk erişimi ile verilere ulaşmak ve
aralık sorgularını etkin bir şekilde gerçekleştirmektir. Bu amaç, kayıt uzayındaki ızgara
bloklarından oluşan ızgara rehberi aracılığı ile gerçekleştirilir. Bir ızgara bloğu
içerisindeki bütün kayıtlar aynı disk sayfasını paylaşırlar. Bunun yanında, birden çok
ızgara bloğu da, birleşimleri kayıt uzayında k-boyutlu dörtgen oluşturduğu sürece, aynı
sayfayı paylaşabilirler. Sayfa alanlarının birbirlerinden ayrık olmasına rağmen,
sayfaların tamamı bir bütün olarak kayıt uzayını oluştururlar.
Izgara rehberinin amacı kayıt uzayındaki ızgara blokları ile veri sayfaları
arasında dinamik bir ilişki sağlamaktır. Izgara rehberi iki parçadan oluşur. Đlk parça,
herbir ızgara bloğu için bir eleman içeren k-boyutlu bir dizindir. Bu elemanların
değerleri veri sayfalarını gösteren göstergeçlerdir. Bir veri sayfası genellikle 10 ile 1000
arasında kayıt içerebilir. Bu nedenle, bir veri sayfasındaki kayıtların sayısı göreceli
olarak ızgara dosyasındaki toplam kayıt sayısına göre çok daha azdır. Kayıtlar veri
sayfaları içerisinde bağlaçlı liste veya ağaç yapıları kullanılarak saklanabilirler.
Dizin rehberi
Y4
Y3
Y2
124
Şekil-5.4: Izgara dosyasının yapısı
Izgara dosyalarının ikinci parçasına doğrusal ölçek adı verilir ve k tane tek
boyutlu dizi ile temsil edilir. Bu ölçekler herbir boyutun alanını parçalara ayırır.
Doğrusal ölçekler ilgili öznitelik değerlerine dayalı olarak adreslerinin hesaplanmasına
yardımcı olarak uygun ızgara bloklarına erişimi sağlarlar. Doğrusal ölçekler ana
bellekte saklanır. Burada doğrusal ölçeklerin aralık sorgularında çakışan ızgara
bloklarının bulunmalarını sağladığına dikkat edilmelidir.
5.6.1 Izgara Dosyalarının Dinamizmi
Izgara dosylarının dinamizmi en iyi olarak bir dosyaya tekrarlanan eklemelerin
yapılmasının anlatılması ile anlaşılabilir. Silme meydana geldiğinde birleştirme
işlemleri yerine getirilir. Đşlemi kolaylaştırmak için iki boyutlu bir ızgara dosyasını ele
alalım. Izgara rehberini doğrudan göstermek yerine, ızgara blokları ile birebir
eşleştirilen veri sayfaları için oklarla gösterilme yolu seçilmiştir.
Başlangıç olarak, ızgara dosyasının kapasitesi c=3 olan A veri sayfasına sahip
olduğu ve bütün kayıtların bu veri sayfasına atandığını varsayalım. Bu başlangıç
durumu Şekil-5.5'de gösterilmiştir.
125
A
Şekil-5.5:Tek bloklu Izgara Dosyası
Eğer veri sayfası alanında taşma meyda gelirse, kayıt uzayının bölünerek ikinci
bir veri sayfası, B, yaratılması gerekir. Bölünme sırasıyla dizinlemeye katılan bir eksen
boyunca yapılır. Bölünme sonrasında B alanında kalan kayıtların A sayfasında B
sayfasına taşınması gerekir. Şekil-5.6 ilk bölünmeyi göstermektedir.
A
B
Şekil-5.7: Örnek ızgara dosyasında ilk bölünme
Eğer eklemeler sonunda A bloğunda taşma meydana gelir ise, ızgara bloğu herhangi bir
bölünme mekanizmasına göre tekrar bölünür. En kolay bölünme stratejisi ise sırasıyla
ızgaranın eksenlerinin kullanılmasıdır. Şekil-5.7'de gölgeli alandaki kayıtlar bölünme ile
elde edilen yeni veri sayfasına, C, taşınacaktır. Fakat B'de bir taşma meydana gelmediği
için yerlerinde kalacaktır. Bu ise ızgara dosyalarının bellek kullanımını azaltmak için
önerdiği bir yöntemdir.
A
B
126
Örnek ızgara dosyasına yeni eklemelerin olduğunu ve bu yeni eklemelerin C veri
sayfasınında taşma meydana getirdiğini varsayalım. Bu durumda yeni bir bölünmeye
gereksinim vardır. Bu yeni bölünme ve ızgara dosyasındaki ızgara bloklarının ve hangi
blokların hangi veri sayfaları ile eşleştirildikleri Şekil-5.8'de gösterilmiştir. Izgara
dosyalarda eksenler boyunca yapılan bölünmeler ikili ağaç olarak gösterilebilir.
B
C
A
D
Şekil-5.8: Örnek ızgara dosyasında üçüncü bölünme
Özgün ızgara
yapısının bölünme yapısında farklı öneriler getirilerek
iyileştirilmeleri sağlanmıştır [Özkarahan, 1985] [Tamminen, 1981].
5.7 R-ağaç
Genel olarak R-ağaç yapısı [Gutman, 1984], B-ağacı yapısının n-boyutlu konumsal,
veya çok-boyutlu nesnelerin, dizinlenmesini sağlayan genişletilmiş bir uygulamasıdır.
127
R-ağacında, n-boyutlu bir nesne, o nesneyi kapsayan en küçük dikdörtgen (KED) ile
temsil edilir. Bir KED, iki veya daha çok boyutlu uzaydaki dikdörtgene karşılık gelir.
R-ağacı verileri yapraklarda olan, yüksekliği dengeli bir ağaçtır. Yapraklarda, verileri
veya veri sayfalarını gösteren bir göstergeç bilgisi ve ilgili sayfa içerisinde yer alan tüm
verileri kapsayan bir KED bilgisi vardır. Daha üst seviyeli düğümlerde daha alt
seviyeleri gösteren benzer bilgiler bulunur. Eğer yapı diske dayalı olarak
gerçekleştirilirse, düğümler sayfalara karşılık gelir. Dizinleme yapısı tümüyle dinamik
olup, periyodik olarak yeniden düzenlemelere gerek bırakmaz.
Ağaçtaki yaprak düğümler aşağıdaki formda dizin kayıtlarına sahiptir:
(KED, NesneNo)
Burada NesneNo veritabanındaki bir nesneyi, KED ise nesneyi temsil eden n-boyutlu
dörtgen bilgisidir. Yaprak olmayan düğümler işe aşağıdaki formdadır:
(KED, oğul-göstergeç)
Bu ifadede oğul-göstergeci bir diğer seviyeli düğümün adresini,
KED ise oğul-
göstergeç ile belirtilen tüm dörtgenleri kapsayan bir dörtgen bilgisidir. Bir başka değişle
KED, kökü oğul-göstergeç olan alt-ağaçtaki tüm nesneleri kapsayan bir dörtgen
bilgisidir. Şekil-5.9 iki boyutlu örnek bir R-ağacının
düzlemsel ve ağaç yapısını
göstermektedir.
M'in bir düğüme sığabilecek olan en fazla eleman sayısını ve m ≤ M/2 ise bir
düğüm içerisindeki en az eleman sayısını gösteren bir parametre olduğu varsayıldığında,
bir R-ağacı aşağıdaki özelliklere sahiptir:
•
Her yaprak düğümünde, kök olmadığı sürece, m ile M arasında dizin kaydı
bulunur.
128
•
Bir yaprak düğümündeki her dizin kaydı (KED, NesneNo) için, KED belirtilen
nesneyi konumsal olarak kapsayan en küçük n-boyutlu dörtgendir.
•
Her yaprak olmayan düğüm, kök olmadığı sürece, m ile M arasında oğula
sahiptir.
•
Yaprak olmayan her düğümdeki (KED, oğul-göstergeci) için, KED oğul
düğümdeki tüm dörtgenleri konumsal olarak kapsayan en küçük dörtgendir.
•
Kök düğümü yaprak olmadığı sürece en az iki oğula sahiptir.
•
Tüm yapraklar aynı seviyededir.
N dizin kaydı içeren R-ağacının yüksekliği, m dallanma faktörünü göstermek
üzere en fazla logmN olur. En fazla node sayısı ise aşağıdaki ifadeye eşit olacaktır:
N   N 
 m  +  m 2  + ... + 1
Kök dışındaki düğümlerin en kötü alan kullanımı ise m/N olacaktır. m'den daha
fazla sayıda eleman içerme eğiliminde olan düğümler ağacın yüksekliğinin artmasına
neden olarak, alan kullanımını iyileştirebilir. Eğer düğümlerde 3 veya 4'den fazla
eleman bulunursa, ağaç çok genişleyerek, alanın hemen hemen tamamı dizin kayıtları
içeren düğümlerle dolabilir. m parametresi farklı değerler denenerek başarım ayarlaması
için kullanılabilir.
129
R1
R2
R3 R4 R5
R8 R9 R10
R6
R11 R12
R13 R14
R15 R16
R7
R17 R18 R20
(a) R-ağacının ağaç gösterimi
R1
R4
R3
R9
R8
R11
R5
R13
R14
R10
R12
R12
R2
R7
R18
R17
R6
R16
R19
R15
(b) R-ağacının düzlemsel gösterimi
Şekil-5.9: R-ağacının gösterimleri
Diğer KEY’lerde olduğu gibi R-ağaçlarda temel olarak iki tip sorgu
yöneltilebilir.
•
Aralık sorguları: verilen bir Q penceresi için, kesişen veya içeren bütün R
dörtgenlerin bulunması, Q ∩ R ≠ ∅ veya Q∈ R.
•
Nokta sorgular: verilen bir Q noktasını içeren bütün R dörtgenlerinin
bulunması, Q∈R.
Nokta veya aralık sorgularının R-ağaçlarında aranması B-ağaçlarınkine benzer bir
yordam ile yapılır. Ağacın
üst
seviyelerinde
dörtgenler
arasında
çakışmalar
olabildiği için için, hedef dörtgenlerin birden fazla düğüm içerisinde yer alması
mümkündür. Bu nedenle, sonuçların elde edilmesi için çok sayıda dörtgenin test
edilmesi gerekebilir. Buna karşılık, hedef kayıtlar sadece yapraklarda bulunur.
Bunun anlamı arama sırasında bazı yolların yapraklara inmeden bitebileceğidir.
130
R-ağacına yapılacak bir ekleme her hangi bir düğümün bölünmesine neden olabilir.
Bölünmelerin amacı düğümler arasındaki benzerlikleri azaltarak aramalarda her iki
düğümün de ziyaret edilmesini sağlamak için kayıtları dağıtmaktır. Özgün R-ağaç
yapısında adları hesaplama karmaşıklıklarından gelen doğrusal bölünme, dörtlü
bölünme ve üssel bölünme olmak üzere üç tane farklı yöntem önerilmiştir. Bu üç
algoritmadan dörtlü bölünme, bölünme zamanı ve arama performansı arasındaki
dengeyi korur. Tüm algoritmalar bir bölünmenin ardından çakışan alanların en aza
indirgenmesini amaçlamaktadır.
R-ağaçda silme işlemi B-ağaçtakine benzer bir yöntemle yerine getirilir. Tek fark
her hangi bir dalda underflow (kayıt azalması) meydana geldiğinde yaşanır. Bu
durumda düğümdeki kayıtlar başkarıyla birleştirilmek yerine, silinerek tekrar
ekleme yordamları çağrılır. R-ağaçları yapraklar dışındaki düğümlerin KED’lerinin
çakışmasına izin verir. Böylelikle arama için sadece bir tek yola gereksinim
duyulmasını garanti eder. Fakat ekleme ve silmeler sonucunda bu özellik
bozulabilir. Bu temel problemlerden dolayı özgün R-ağaç yapısında çeşitli
değişiklikler önerilmiştir: R*-ağacı [Beckman and Kriegel, 1990], R+-ağacı [Sellis
and Roussopoulos, 1987], Hilbert R-ağacı [Kamel et al., 1994] [Gavrila, 1995] vb.
R+-ağacının temel katkısı, yaprak olmayan düğümlerdeki çakışmanın önlenmesidir.
Bu nedenle her dörtgen kesiştiği tüm dörtgenlerle ilişkilendirilmiştir. Bu ise arama
sırasında aynı dörtgen için birden çok arama yolunun takip edilmesi anlamına gelir.
Bu nedenle ağacın yüksekliği artacaktır. Deneysel sonuçlar R+-ağaçlarının daha iyi
sonuçlar verdiğini göstermektedir. Ancak veri dağılımı değiştiğinde bu katkının çok
güvenilir olmadığını gösterilmiştir. Ana problem ise B-ağacından gelen temel
özellik olan, düğümlerin en az yarısının dolu olması garantisini kaybetmiş
olmasıdır. Birbaşka konu ise çakışmanın her zaman kötü erişim sonuçları
vermeyebileceği, çakışmamanın herzaman iyi sonuçlar üretmeyebileceği veya
mümkün olamayacağıdır.
R*-ağaçları en iyi sonuçları üreten R-ağacı ailesinin en yeni uyarlamasıdır.
Başarımın eniyileştirilmesi amacıyla, yaprak olmayan düğümler tarafından
131
kapsanan alanlar, çakışmalar ve marjinler en aza indirgenerek alan kullanımı
iyileştirilmiştir.
R*-ağaç bölünme algoritması alan parametreleri yanında farklı kombinasyonlarda
margin ve çakışma parametrelerini de kullanır. Ana katkısı bazı dörtgenlerin
silinerek zorla-yeniden ekleme (forced reinsert)’dir. Bu katkının tabanındaki ana
felsefe, R-ağaca eklenen dörtgenlerin farklı sıralarda verilmesi farklı ağaçlar
oluşturmasına dayanır. Eğer önceden eklenen veriler iyi erişim başarımını garanti
etmiyorlarsa, silinerek tekrar eklenirler. Başarım karşılaştırmaları R*-ağacın
R-ağaçlara göre daha iyi sonuçlar verdiğini göstermektedir ve alan kullanımı ise
R-ağaçlardan %70 daha iyi sonuçlar vermiştir. Aynı zamanda ortalama ekleme
zamanı da daha düşüktür.
132
6 . KONUMSAL IZGARA DOSYALARI (KID)
Önceki bölümlerde anlatılan çoklu ortamın genel karakteristikleri göstermektedir ki, bir
ÇON herbiri farklı nitelik ve niceliklere sahip birden çok konumsal veya çok-boyutlu
vektörlerle temsil edilmektedir. Bu genel özellik, çoklu ortam dizinlemesinde çoklu
konumsal öznitelikleri dizinleme yeteneğine sahip bir dizinleme yöntemine olan
gereksinimi zorunlu kılar. Yapılan araştırmalarda bu özelliklere sahip bir dizinleme
yöntemi ile karşılaşılmamıştır. Đşte, KID bu eksikliği tamamlamak ve çoklu ortam
ÇON'ların erişimine yardımcı olmak için bir dizinleme yöntemi olarak bu çalışma
kapsamında geliştirilmiştir.
6.1 Çoklu Ortam Dizinleme Gereksinimi
Çoklu-ortam veri tabanı uygulamalarında çoklu konumsal-anahtarlı erişime olan
gerekesinimi açıklıkla ortaya koymak için bir dizi ÇON'u içeren bir çoklu ortam
dizgesini ele alalım: ÇBD = {M1,…,Mm}
M = {F1,…,Fn}
/* bir ÇON özellik vektörleri ile tanımlanmıştır */
F1 = <f11,…,f1p>
/* Bir özellik vektörel olarak tanımlıdır */
ve
F2 = <f21,…,f2q>
…
Fn = <fn1,…,fnr>
olarak
tanımlanır. Đlave olarak, F'ler arasında konumsal benzerliklerin/uzaklıkların
hesaplanması için bir grup fonksiyonun, {SIM1,…,SIMn} tanımlı olduğunu varsayalım.
Bazı fonksiyonlar aynı olabileceği gibi farklı yöntemlerin uygulandığı fonksiyonlar da
olabilir. Sorgular, Q={F1,…,Fn), bu özellik vektörleri cinsinden temsil edileceklerdir.
133
Böyle bir dizgede sorgu işleme birbirlerinden farklı nitelik ve niceliklere sahip özellik
vektörlerini
kullanarak,
benzer
nesneleri
veri
tabanından
bulup
getirmesini
kolaylaştıracak bir organizasyona gereksinim duyar.
6.2 KID'lerin Genel Özellikleri
Geleneksel ızgara dosyalar aslında bu türde bir veri uzayı için en uygun adaydır. Fakat,
ızgara dosyaları sadece doğrusal olarak sıralanmış öznitelik değer alanları için
kullanılabilirler. Izgara dosyalarında bir boyutun doğrusal ölçeği, tek boyutlu diziler ile
temsil edilir ve her ölçek öznitelik alanını aralıklara ayırır. Bu doğrusal ölçekler
öznitelik değerlerine bağlı olarak uygun ızgara bloklarına erişimde kullanılacak olan
adreslerin hesaplanmasında kullanılır. Çoklu-ortam gereksinimlerini karşılamak için,
özgün ızgara dosyalarındaki doğrusal ölçek yapısının değiştirilmesi gerekmektedir. Bu
değişiklik, doğrusal ölçeklerin konumsal öznitelik değerlerini destekleyebilmesini
sağlayabilmelidir. KID ile önerilen ilk değişiklik doğrusal ölçeklerin bir nesne sınıfı ile
temsil edilmesidir. Doğrusal Ölçek Nesnesi (DÖN)'nin veri parçası hemen hemen özgün
ızgara dosyalarındaki yapı ile aynıdır. Đlavesi ise nesnenin yöntemidir. Yöntem parçası
çok-boyutlu öznitelik vektörlerinin tek boyuta düşürülmesi işlemini gerçekleştirir.
Birbaşka ifade ile, DÖN'lerin yöntem parçaları doğrusal olarak sıralanamayan öznitelik
değer
alanlarının,
doğrusallaştırılması
veya
benzer
nesnelerin
kümelenerek
sıralanmasını gerçekleştirir. Yöntem olarak, literatürde önerilmiş bulunan veri
seviyesinde örtüşmeyen (non-overlapping) her hangi bir KEY yapısı veya kümeleme
yöntemleri kullanılabilir.
Örneğin renk histogramlarının temsil edildiği özellik vektörlerinin bulunduğu
boyut için DÖN yöntemi olarak R-ağaç, resimlere iliştirilen metinsel açıklamaların yer
aldığı bir boyut için ise Cover Cooeficient Based Clustering [Can and Özkarahan, 1990]
algoritmaları kullanılabilir. Eğer KID boyutlarından birisi için R-ağaç kullanılacak ise,
ağacın en alt seviyesindeki yaprak olmayan düğümler öznitelik aralıklarının
hazırlanmasında kullanılır. Eğer belge-kümeleme algoritması kullanılır ise bu durumda,
kümelerin merkezleri (centroid) DÖN'lerin doğrusallaştırılma işleminde temel alınır.
134
Buraya kadar anlatıldığı kadarıyla KID, özgün ızgara dosyalarının doğrusal
ölçek
yapısına
bir
yöntem
eklenmesi
yoluyla,
çoklu-konumsal
öznitelilerin
dizinlenmesini sağlar. Bu yapı ile veri nesnelerinin tanımlandıkları özniteliklerin toplam
benzerliklerine göre diskte yakın yerlerde saklanabilmeleri da sağlanmış olur. Bu
özellik KID yapıların koşut veya dağıtık veri tabanı uygulamalarında aktif bir araştırma
konusu olan kümeleme ve parçalama (declustering) problemlerinde kullanılabilir.
KID'lerin koşut veri tabanı uygulamalarındaki kullanımları ve etkileri bir sonraki
bölümde ayrıntıları ile tartışılmıştır.
KID'lerin bir başka çekici yönü ise, eksik tanımlanmış sorguları işleme
yeteneğindeki başarımdır. Bu ise başlangıç bölümlerinde anlatılan, ÇON'ların genel
karakteristikleri ile örtüşmektedir. Hatırlanacağı gibi ÇON'ların tanımlanmasındaki
zorluklar nedeni ile birçok ÇOS işlemeye gönderildikleri anda genellikle eksik olarak
tanımlanmışlardır. KID'lerin sorgu işlemesinde her boyutun bir aralığı veri uzayının bir
dilimini geri döndürdüğü için, eksik tanımlı sorgular başarı ile yerine getirilecektir.
KID üzerinde yapılan işlemlerin nasıl yapıldığını daha iyi açıklamak için, her
ÇON'un iki öznitelik ile tanımlandığı, iki boyutlu bir resim veri tabanını ele alalım.
Daha formal olarak, resim veritabanında bir grup resim bulunur, ÇBD={M1,…,M2}, ve
her bir resim iki özellik vektörü ile temsil edilmiştir.
M1={F1,F2},
burada;
F1={H1,T1}
F2={H2,T2}
Fi'nin ilk tanımlayıcısı, k-boyutlu vektör uzayında tanımlı bir renk histogram vektörüdür
Hi=(h1,…,hk). Burada her hj elemanı i resmi içerindeki j rengindeki piksellerin
normalize edilmiş değeridir. Resim nesnesinin ikinci tanımlayıcısı ise m boyutlu vektör
uzayında ilgili resim için belirlenmiş metinsel açıklamaları tanımlayan bir sözcük
vektörüdür Ti={t1,…,tm}. Burada, her tj, dizin sözlüğünde tanımlı olmak üzere b,r
135
sözcüğü, i resmini tanımlayan j sözcüğünün önemini göstermektedir. Eğer sözcük
dizinleme ikili ise, tj tanımlamada varlığını veya yokluğunu gösteren 0 ve 1 değerlerini
alır [Özkarahan and Can, 1986]. Değil ise, ilgili resmin metinsel tanımlamasında tj
sözcüğünün tekrar sayısını veya normalize edilmiş ağırlığını gösterir.
H boyutu için Doğrusal ölçek nesnesi
Yöntem(R-ağacı)
KED-5
Veri
H
SGF Veri uzayı
boyutu
5
4
KED-4
3
KED-3
KED-2
KED-1
2
1
1
2
3
C2
C3
4
5
6
C4
C5
C6
7
8
T boyutu
Veri
Yöntem
(C3M) C1
C7
C8
T Boyutu için doğrusal ölçek nesnesi
Şekil-6.1: Örnek bir KID organizasyonu
Bu örneğin basit bir KID organizasyonu Şekil-6.1'de gösterilmiştir. Bu örnekte
KID iki boyuta sahiptir. H renk histogramını, T ise metinsel açıklamaları gösterir.
Rastgele seçilmiş Hj ve Tj değerleri, sırasıyla, k ve m-boyutlu vektör uzayındaki
noktalara karşılık gelirler. KID'ın herbir boyutu (aksis) Doğrusal Ölçek Nesnesi (DÖN)
olarak adlandırılmış olup, veri ve yöntem parçalarına sahiptir. Bu örnekte, H boyutu için
R-ağaç, T boyutu için ise Cover Coefficient based Clustering Methodolojisi (C3M)
[Can and Özkarahan, 1990] kullanılmıştır. DÖN'lerin veri parçası KED veya kümeleri
eşleştiren look-up-table (LUT) olarak tasarlanmışlardır. Her DÖN için p ve q boyutlu
LUT'lar bulunur ve KED/küme bilgisinden ilgili aralık bilgisine ulaşmak için
136
kullanılacak adreslerin hesaplanmasında kullanılır. DÖN'lerin her aralığı içerdiği
nesnelerin benzerliklerine göre veri uzayını dilimlere ayırır.
Daha formal olarak bir KID, d kullanılan boyut sayısını göstermek üzere, bir
dizi DÖN'e sahiptir, KID={LS1,…,LSd}. Daha sonra, her doğrusal ölçek LS, bir dizi
aralık olarak tanımlanır;
LS1={v11,…,v1p}
LS2={v21,…,v2q}
…
LSd={vd1,…,vdr}
Burada p, q ve r ilgili boyuttaki aralık sayısını gösterir. Her vji, j'ninci boyutun öznitelik
değerleri alanınındaki bir aralığa karşılık gelir Bu nedenle benzer/yakın nesneler
çok-boyutlu tanımlayıcı özelliklerine göre aynı ızgara bloğu içerisinde yer alacaklardır.
N'in bir boyut numarasını i'yi
parametre olarak alan ve aralık sayısını, p'yi geri
gönderen bir fonksiyon olarak, N(i) tanımlandığını varsayılırsa, veri uzayı δ ızgara
bloğuna bölünecektir:
d
δ = ∏ N (i )
i =1
Fakat, şekilleri n-boyutlu dörtgen olduğu sürece birden çok ızgara bloğu aynı
veri sayfasını paylaşabiledikleri için δ 'den daha az ızgara sayfasına ihtiyaç olacaktır.
Izgara bloklarının paylaşımı Şekil-6.1’da gösterilmiştir. Buradan hareketle, KID aynı
zamanda grid blokları dizisi olarak da tanımlanabilir.
KID = {b1,…,bδ)
Şekil-6.1'da verilen örnekte, d ikiye eşittir ve KID aşağıdaki şekilde tanımlanmıştır:
KID = {LSH, LST}
137
ve
LSH = {vH1,…,VH5}
LST = {vT1,…,vT8}
ve veri uzayı N(H)→5 ve N(T)→8 olduğu için 40 parçaya bölünmüştür. Daha sonra,
KID = {b1,…,b40}
tanımlaması yapılabilir. Bu örnek için geçerli olmak üzere, belirli bir ızgara bloğunu
tanımlamak için, alt-indisler T ve H sırasıyla ilgili aralığın numarasını belirlemek üzere,
bTH notasyonu kullanılmıştır. Örneğin KID veri uzayı parçalarından sağ üst köşedeki
partisyon b85 olarak gösterilmiştir.
Çoklu ortamların d tane öznitelik ile tanımlandığı dizgelerde, bir sorgu uygun
kullanıcı arayüzlerinin kullanımı ile bir dizi vektör ile temsil edilir:
Q={q1,…,qd}
Đki boyutlu resim arşivimize geri dönersek, sorguların aşağıdaki şekilde sunulması
beklenir:
Q={qH,qT}
Sorgunun yönlendirilmesinden sonra sorgu işleme şu şekilde yerine getirilir. Öncelikle,
ilgili sorgu vektörleri kullanılarak, ilgili boyutun DÖN yöntemleri aracılığı ile uygun
verilerin bulunması muhtemel aralık veya aralıklarına karar verilir. Elde edilen bu aralık
numaralarının yardımı ile ilgili ızgara bloklarının veya veri sayfalarının adresleri
bulunur. Şekil-6.1’da ilgili aralıklar açık, aralık kesişim noktaları ise koyu gri olarak
gölgelendirilmişlerdir. H boyutunda tek ve T boyutunda ise iki aralık ilişkili
bulunmuştur. Kesişim noktasında bulunan nesneler ise daha detaylı incelemeye
tutulmak için ilk sonuçlar olarak kabul edilir. Daha formal olarak, parametre olarak
sorgu vektörü ve ilgili DÖN verildiğinde ilgili aralıkları geri döndüren bir R
138
fonksiyonunun tanımlandığını varsayalım. R fonksiyonu formal olarak aşağıdaki şekilde
tanımlanabilir:
R(qj,LSj) → (v1,…,vx)
Yukarıdaki tanımlama qj=Null ise, j boyutundaki tüm aralık tanımlamalarını geri
döndürür. B'nin ise verilen bir aralıktaki ızgara bloklarını geri dödürdüğünü varsayalım.
B(v1,…,vx) → (b1,…,by)
Tekrar Şekil-6.1’daki örneğe geri dönülürse, aşağıdaki ızgara blokları ilişkili
bulunacaktır:
B(R(qH,LSH))→{b14,b24,b34,b44,b54,b64,b74,b84}
B(R(qT,LST)) →{b31,b32,b33,b34,b35,b71,b72,b73,b74,b75}
Sonuç nesneler ise aşağıda tanımlanan küme içerisinde yer alacaklardır:
B(R(qH,LSH))∩ B(R(qT,LST)) →{b34,74}
d boyutlu bir KID için sonuç dizisi aşağıdaki formül ile hesaplanır
d
∩ B(R(q , LSi))
i
i =1
Bu ifade herbir arama boyutuna uyan nesnelerin kesişme kümesini gösterir.
Yanlış-isabetleri gidermek için daha detaylı benzerlik karşılaştırmaları bu küme
üzerinde gerçekleştirilir.
6.3 KID'lerin Oluşturulması
139
Bir KID organizasyonu bünyesinde en azından bir tane çok-boyutlu öznitelik
barındıracağı için, KID'lerin oluşturulması işleminin ilgili DÖN içerisine gömülmüş
olan KEY'e doğrudan bağımlı olduğu açıktır. Bir KID içerisinde konumsal veya
çok-boyutlu öznitelikleri dizinleme veya kümeleme yeteneğine sahip veri seviyesinde
örtüşmeyen sıradüzensel yöntemler kullanılabilir. KID'lerin oluşturulmasından önce her
boyuttaki
konumsal/çok-boyutlu
özniteliklerin
birbirlerinden
bağımsız
olarak
dizinlendikleri varsayılır.
Hernekadar bir KID organizasyonu n boyutu destekler ise de, gösterimin
anlaşılmasındaki kolaylık açısından oluşturma süreci iki boyut üzerinde anlatılmıştır.
Örneğimizde, bir resim arşivindeki resimlerin renk ve tanımlayıcı metinsel açıklamaları
olmak üzere iki boyutlu bir KID kullanılmıştır. Metin boyutunun DÖN yöntemi olarak
C3M ve renk histoğramları için ise R-ağacı kullanılmıştır. Her iki yöntem de, KID'lerde
kullanılacak olan KEY yöntemlerinin ön-şartına uymaktadır. Yani her iki yöntemde veri
seviyesinde örtüşmeyen yöntemlerdir. Şekil-6.2 her iki boyutun
ağaç yapısını,
seviyelerini ve herbir yaprağa erişim için kullanılan ulaşım yollarını göstermektedir.
Ulaşım yolları, verilerin ağacın yapraklarında olduğu varsayımı ile, herbir veri sayfasına
erişim sırasında ziyaret edilen dalların numaralarının sıralanması ile oluşturulmuştur.
KID’in en önemli bileşeni ızgara rehberidir. Izgara rehberi ise ağaç veri yapısı
ile temsil edilmektedir. Izgara rehber ağacı ise, KID’i oluşturan birbirinden bağımsız
olarak dizinlenmiş olan boyutlara ait KEY ağaçları kullanılarak oluşturulur.
140
D0
1
1
Access Paths
2
3
1
2
1
2
2
2
1
1
3
1
3
2
3
3
3
D1
1
2
1
Access Paths
2
11
12
1
2
21
22
Rehber
←D0
1
2
1
2
3
1
2
←D1
1
2
←D0
1
2
3
1
2
3
1
2
1
2
1
2
3
1
2
3
Şeki-6.2: KID dizin rehberinin oluşturulma adımları
3232
3222
3231
3212
3221
3112
3121
3121
3131
3132
3211
2222
3111
2221
2212
2211
2122
2121
2112
1112
1121
1122
1131
1132
1211
1212
1221
2111
21 21 21 21 21 2 1 2 1 2 1 2 1 21 21 21 2 1 21 21 2
1222
1231
1232
1
1111
←D1
Access
Paths
141
Örnek olarak iki boyutlu bir önceki örnektedi KID organizasyonunu ele alalım.
KID oluşturulması öncesinde, elimizde herbir boyut için Şekil-6.2’de gösterilen D0 ve
D1 olarak isimlendirilmiş iki ağaç olsun. KID ızgara rehberi oluşturulması en yüksek
ağacın seviye sayısı kadar tekrar edilen bir döngü içerisinde gerçekleştirilir. Döngünün
i’ninci adımında, sırasıyla herbir boyuta ait ağacın i’ninci seviyesindeki dalların, KID
veri uzayının bölünmesinde kullanılması ilkesine dayanır. Örneğin, döngünün birinci
turunda ilk olarak D0 ağacının birinci seviyesi kullanılarak KID veri uzayı, ilgili boyut
boyunca üç parçaya bölünür. Çünkü, D0 ağacının birinci aşamasında, ağaç üç ayrı dala
ayrılmaktadır. Daha sonra, diğer boyut için D1 ağacının ilk seviyesi kullanılarak, ilgili
boyut iki aralığa bölünür. Böylelikle döngünün birinci turu tamamlanmış olur.
Örneğimizde, döngünün birinci adımı tamamlandığında, KID rehber ağacının
yüksekliği 2, toplam yaprak düğüm sayısı ise, 2×3=6 olacaktır. Döngü benzer şekilde en
yüksek ağacın yapraklarına erişilene kadar devam eder. Algoritma-6.1'de KID ızgara
rehberinin oluşturulması algoritması verilmiştir.
Algoritma-6.1: KID Rehberi ağacı oluşturma algoritması
/*-----------------------------------------------------------------k : MAX(height(0),height(1),...,height(d-1))
d : KID’ın boyutu veya ağaç sayısı
height(x) : x’ninci ağacın yüksekliğini veren fonksiyon
KID_ekle(x,y) : x’inci ağacın, y’ninci seviyesindeki düğümleri
KID rehber ağacına ekleyen fonksiyon
-------------------------------------------------------------------*/
for i=0 to k
{
for j=0 to d
{
if ( height(j) >= i )
KID_ekle(Di,i);
}
}
142
10
4
6
3
2
1 1
1
1
0
2
1
0 10 0
1 0
0
1
4
1
2
1
1
0 01 01 0 1 10 10 1
(a) Ağaç yapısında gösterimi
Izgara sayfaları
11
φ
φ
1
1
φ
1
φ
1
10
φ
1
01
1
1
φ
φ
φ
1
φ
φ
1
1
00
00
01
10
11
(a) Düzlemsel gösterimi
Şekil-6.3: KID organizasonunda ızgara sayfaları
12
143
KID'de bölünme sayısı herbir boyut için kullanılan ağaçların seviye sayısının
toplamına eşittir. Daha formal olarak, height(i) i'ninci boyuta ait ağacın yüksekliğini
veren bir fonksiyon ve d KID'deki boyut sayısını göstermek üzere, bölünme sayısı
aşağıdaki şekilde ifade edilebilir:
d
∑ heigh ( i )
i =1
KID'de oluşacak ızgara bloklarının sayısı ise, leaf(i) i'ninci boyuta ait ağaçtaki yaprak
sayısını döndüren bir fonksiyon olarak tanımlı olmak üzere, ızgara sayısı, δ, aşağıdaki
şekilde ifade edilebilir:
δ =
d
∏ leaf
(i )
i=0
Buna karşılık, daha önce de belirtildiği gibi, birden çok ızgara bloğu içerisinde
barındırdıkları kayıt sayıları sayfa kapasitesine eşit veya daha küçük olmak ve
tamamının şekilleri d-boyutta dörtgen olmak üzere aynı sayfayı paylaşabilirler. Bu
nedenle, elde edilecek sayfa sayısı δ'den daha az olacaktır. Bir bölünme sırasında eğer
ızgara rehber ağacının ilgili düğümündeki kayıt sayısı, sayfa kapasitesine eşit veya daha
küçük ise bu tür bölünmeler zahiri bölünme (implicit split) olarak adlandırılırlar. Bir
zahiri bölünmedeki bütün veriler aynı sayfayı paylaşırlar. Eğer bölünme meydana
getirilmek istenen düğümdeki kayıt sayısı sayfa kapasitesinden büyük ise, bu
düğümlerdeki bölünmeler gerçek bölünme (explicit split) olarak adlandırılırlar. Gerçek
bölünme sonunda elde edilen herbir alt düğüm verileri ayrı veri sayfalarında saklanırlar.
KID'de herbir boyut için DÖN'de kullanılacak aralık numaraları, ilgili boyutun
temsil edildiği ağaçta verilen bir aralığa erişim için kullanılan ulaşım yolu ile temsil
edilirler. KID yapısı oluşturulduktan sonra elde edilecek olan grid bloklarının
numaraları ise herbir boyuttaki ilgili aralık numaralarının iç-içe geçirilmeleriyle
(inter-leave) elde edilir. Örnek olarak oluşturulan KID organizasyonunun düzlemsel
gösterimi Şekil-6.3'de verilmiştir. Şekildeki sayılar ilgili ızgara dosyasının numarasını
göstermektedir. Noktalı çizgiler ise, KID veri organizasyonunda ızgara bloklarının
144
numaralarının sıralı olarak dolaşıldığında, literatürde boşluk doldurma eğrileri (space
filling curves) olarak bilinen Z veya Peano curve'lerine karşılık geldiğini
göstermektedir. Bu curve'ler KID'in koşut bir ortamda ızgara bloklarının disk veya
işlemcilere dağıtılmasında kullanılacak olup konu ile ilgili çalışmalar ayrıntılı olarak
altıncı bölümde anlatılmıştır.
1212
1222
1232
2212
2222
3212
3222
1211
1221
1231
2211
2221
3211
3221
1112
1122
1132
2112
2122
3112
3122
2111
2121
3111
3121
21
22
31
32
3232
22
21
3231
3132
12
11
1111
11
1121
1131
12
13
3131
33
Şekil-6.4: Bir KID organizasyonunda blok numaraları ve Peano Eğrisi
6.4 KID Erişim Örneği
Çoklu ortam veritabanlarında olduğu gibi, çoklu-konumsal-öznitelikli verilerin
dizinlendiği veri tabanlarında, bir sorgu daha önce de belirtildiği gibi bir dizi vektörle
temsil edilir. Sorgunun iki boyutlu bir KID organizasyonu için yöneltildiğini
varsayalım. Q={q0,q1} Burada ilgili vektör, qi, i'ninci boyut için arama kriterlerini
belirlemektedir. Sorgu işlemede öncelikle, KID içerisindeki DÖN'lere ait KEY'ler
kullanılarak, aranan kayıtların hangi aralıklarda olduğu bulunur. Herbir boyuta ait
DÖN'lerin geri döndürmüş olduğu aralık değerleri ise, herbir boyutta belirtilen arama
kriterlerinin hepsine birden uyan kayıtların bulunduğu veri sayfalarının adreslerinin
145
hesaplanması için kullanılırlar. Örnek olarak herbir boyutun aday kayıtları barındıran
aralık numaralarının ilgili DÖN’ler tarafından bulunmuş olduğunu varsayalım:
LS0 → 31
LS1 → 21, 22
Sorgu sonuç kümesini barındıran veri sayfalarının numaraları ilgili boyutun aralık
numaraları iç-içe geçirilerek elde edilir. Bu örneğe ait aralık numaraları kullanılarak,
safya numaralarının nasıl elde edildikleri Şekil-6.4'da gösterilmiştir.
3 1
3
2
2 1
1
1
3 1
3 2
2 2
1
2
Şekil-6.5: Aralık numaralarından sayfa numaralarının elde edilmesi.
Elde edilen sayfa numaraları doğrudan veya belirli bir yöntem kullanılarak
sayfaların doğrudan erişilmesi amacıyla kullanılırlar. Algoritma-6.2 elde edilen sayfa
numaralarının ızgara rehberinden nasıl getirileceğini göstermektedir. Algoritma, çok
basit olarak, elde edilen sayfa numaralarının ızgara rehber ağacında gezinme rotasını
belirler. Bu rota, her hangi bir zahiri bölünme bulununcaya veya KID ızgara rehber
ağacının yapraklarına ulaşılıncaya kadar devam eder. Eğer rota üzerinde bir zahiri
bölünme ile karşılaşılır ise, bunun anlamı ilgili düğümün altındaki tüm düğümlerin aynı
sayfayı paylaşıyor olmasıdır. Bu nedenle ağaç üzerinde daha alt düğümlere inilmeden
ilgili verilerin saklandıkları sayfa numarasına erişilmiş olur.
Algoritma-6.2 : KID rehber ağacında erişim algoritması
146
Retrieve(ağaç KID, int rota[], int seviye)
{
if ( KID == yaprak OR KID->bölünme_tipi == zahiri )
return(KID->sayfano)
else
Retrieve(KID->oğul(rota[seviye]),rota, seviye+1);
}
6.5 Eksik Tanımlı Sorgular
Izgara ailesindeki dosya yapılarının bir diğer başarılı yönü ise, eksik tanımlı sorguları
başarı ile yerine getirebilmeleridir. Bu tip sorgular ÇOS'ların temel özellikleridir. KID
üzerinde eksik tanımlı sorguların nasıl yerine getirildiklerini, mevcut iki boyutlu örnek
üzerinde inceleyelim. Tipik bir eksik tanımlı sorgu Q={vo,Null} biçiminde olacaktır. Bu
durumda DÖN'ler aşağıdaki aralık değerlerini gönderecektir.
LS0 → 31
LS1 → ??
Verilen sorguda ikinci boyuta ait sorgulama kriteri verilmediği için, verilen
aralık numaraları yerine joker kartlar, ?, kullanılacaktır. Yukarıdaki aralık değerlerine
göre okunması gereken sayfa numaralarının ızgara rehberinden bulunması için
izlenecek rotanın elde edilmesi Şekil-6.6’da gösterilmiştir.
3 1
? ?
3 ?
1 ?
Şekil-6.6: Eksik sorgularda sayfa numaralarının elde edilmesi.
147
Elde edilen rota ile, KID dizin rehber ağacı üzerinde dolaşırken, eğer rota bilgisi
bir joker kartı ise, her dal ziyaret edilir. Bir önceki aşamada belirtildiği gibi ilgili
sayfalara ulaşmak için ağaç üzerindeki gezinti, herhangi bir zahiri bölünmeye veya
yapraklara ulaşılıncaya kadar devam eder. Algoritma-6.3 çalıştırıldığında, 3?1? rotası
için uygun sayfa numaraları 3111, 3112, 3211, 3212 olarak bulunur.
Algoritma-6.3 : KID rehber ağacında eksik sorgu erişim algoritması
RetrievePartial(ağaç KID, int rota[], int seviye)
{
if ( KID == yaprak OR KID->bölünme_tipi == zahiri )
return(KID->sayfano)
elseif ( rota[seviye] == “?” )
for i=0 to KID->oğul_sayısı
RetrievePartial(KID->oğul(i),rota, seviye+1);
else
RetrievePartial(KID->oğul(rota[seviye]),rota, seviye+1);
}
148
7. KOŞUT ÇOKLU ORTAM ERĐŞĐM MODELĐ
Bugün çoklu ortam veritabanlarının karşı karşıya kaldıkları en önemli iki darboğazdan
birincisinin Girdi/Çıktı (G/Ç) darboğazı, ikincisinin ise ÇON’ların işlenmesi için
gereken ilave işlemci gücünden kaynaklanan işlemci darboğazı olduğu birçok
araştırmacı tarafından kabul edilmektedir [DeWitt and Gray,1992] [Coyle et.al., 1994]
[Pirahesh et.al, 1990] [Valduriezi 1993]. Disklerin kapasiteleri olağanüstü bir şekilde
artarken veri iletim hızlarındaki artış göreceli olarak daha sınırlıdır. Öte yandan büyük
hacimli çoklu ortam verilerini incelemek ve işlemek için gerekli işlemci güçleri de
yetersiz kalmaktadır. Bu durum ise birden çok işlemcinin koşut olarak bir tek amaç için
çalıştırıldığı bir mimarinin çoklu ortam uygulamalarında kullanımını gerekli
kılmaktadır. Literatürde metin belgelerine erişim için önerilmiş [Efraimidis et.al., 1995]
[Hawking, 1995] çok sayıda koşut dizge modelleri bulunmasına rağmen, çoklu ortam
erişiminde koşut bilgisayarların kullanımı çok yaygın değildir. [O'Connel, 1996].
Bu bölümde, çoklu ortam erişiminde koşut bilgisayarlardan yararlanılması için
tez kapsamında geliştirilen model tanıtılmıştır. Modelin temelinde koşutluk ve
kümelemenin getirdiği katkıların birleştirilmesi yatmaktadır. Bu nedenle model, Koşut
Kümeleme Tabanlı Erişim (KKTE) olarak adlandırılmıştır. Dört aşamalı bir kümeleme
işlemi önerilmiş olup, KID kullanımı modelin uygulamasını kolaylaştırmaktadır. Bu
bölümde
ayrıca
koşut
erişim
konusunda
karşılaşılan
en
önemli
araştırma
problemlerinden dağıtım konusunda yapılan önceki çalışmalar da incelenerek
problemler tanımlanmış ve katkı niteliğinde çözüm önerileri yapılmıştır. KKTE modeli
formal olarak da tanımlanmış ve zaman analizi sunulmuştur.
7.1 Küme Tabanlı Erişim (KTE)
Her geçen gün artan veri yığınları altından kalkabilmek ve verilere daha hızlı
erişebilmek için birçok araştırmacı Küme Tabanlı Erişim (KTE) konusunda çalışmalar
yapmaktadır. KTE adından da anlaşılacağı gibi, erişimde kümelerin kullanılmasına
149
dayanır. Kümeleme benzer özellikler gösteren belgelerin gruplar veya sınıflar halinde
bir araya toplanmasıdır. Kümelemenin ana dayanağı, kümeleme hipotezi olarak bilinen,
“birbirlerine benzer olan belgelerin aynı sorguya yanıt olma eğilimi göstermeleri”dir
[Rijsbergen, 1979]. Kümeleme uygulamaları öncelikle metinsel belgelerin erişiminde
kullanılmıştır.
KTE’de sorguların işlenmesi iki aşamalı olarak önce küme temsilcileri daha
sonra da ön elemeyi geçen finalist kümelerin elemanları ile karşılaştırılması temel
ilkesine dayanır. KTE ile bilgi erişim alanında büyük adımlar atılmıştır. Aslında bu
katkıların tamamı yazılım çözümleridir. Dolayısı ile bu alanda yazılım çözümleri
yanında donanım çözümleri de eklenerek daha büyük katkılar sağlanabilir. Daha önce
de sözü edildiği gibi, bilgi erişiminde bugün veritabanlarının karşı karşıya kaldıkları ve
aşılması gereken G/Ç ve işlem gücü olmak üzere iki önemli darboğaz vardır. Bu
bağlamda akla ilk gelen yaklaşım, KTE’nin sağladığı yazılım çözümlerinin koşut
bilgisayarlar üzerinde gerçekleştirilmeleri ile sözü edilen darboğazların aşılabileceği
düşüncesidir.
7.2 Koşut Küme Tabanlı Erişim (KKTE)
Bu bölümde çoklu ortam verilerinin yönetimi ile ilgili olarak, KTE konusunda geçmişte
yapılan çalışmaların koşut bir mimaride gerçekleştirimesi olan Koşut Kümeleme
Tabanlı Erişim (KKTE) açıklanmaya çalışılmıştır.
Doğal olarak bir KKTE iki aşamada gerçekleştirilir. Birinci aşama dizgedeki
veri uzayının kümelenmesidir. Kümeleme kavramı genellikle bilgi erişimi alanı
araştırıcılarının kullandığı bir tanımlamadır. Koşut veritabanları araştırıcıları ise bu
kavrama parçalama adını vermektedirler. Aslında kümeleme ve parçalama işlemleri
birbirlerine çok benzer kavramlardır. Her iki işlem de veri uzayını alt uzaylara parçalar.
Fakat parçalama, veri uzayını verilerin benzerlikleri dikkate alınmadan da
yapılabilirken, kümeleme veri uzayındaki verilerin birbirlerine olan benzerliklerinin
150
dikkate alınarak yapılmasını sağlar. Aralarında bu farka rağmen bu çalışmanın ilerleyen
bölümlerinde iki deyim birbirleri yerine kullanılmaktadırlar.
KKTE’deki ikinci aşama ise elde edilen kümelerin işlemcilere nasıl dağıtılacağı
veya yerleştirilecekleridir. Bu aşama KKTE’de dağıtım problemi olarak bilinir.
KKTE’den temel amaç yöneltilen bir sorgunun en kısa zamanda yanıtlanabilmesi
olduğuna göre, bunu sağlamanın en akılcı yolu, bir sorgunun potansiyel yanıt kümesinin
mümkün olabildiğince çok işlemcilere dağıtılabilmesine bağlıdır. Birbaşka ifade ile
amaç, sorgu işlemede en fazla koşutluğun sağlanarak yanıt süresini enaz tutmaktır.
Koşutluğu en yüksek tutabilmenin yolu ise ancak bir sorgunun işlenme süresi boyunca
tüm işlemcilerin mümkün olduğunca işleme katılmalarını sağlamakla elde edilebilir.
Bu bölümün ilerleyen sayfalarında kümeleme ve dağıtım olarak tanımlanan iki
aşama baz alınarak önerilen dizgenin genel özellikleri anlatılacaktır. Bu nedenle bir
sonraki alt bölümde, günümüze kadar önerilen kümeleme ve dağıtım yöntemleri
açıklanmaya çalışılmıştır.
7.3 Kümeleme
Kümeleme verilerin nasıl kümelere ayrıştırılacağı veya veri uzayının genel olarak alt
uzaylara nasıl parçalanacağıyla ilgili yöntemlerdir. Bu yöntemler sadece verileri alt
uzaylara ayırmakla kalmayıp, herbir alt-uzaydaki verilerin birbirlerine benzer olmalarını
sağlamalıdırlar [Liu and Shekhar, 1996]. Bu konuda geçmişte yapılan çalışmalar
öncelikle verilerin birden çok kümede yer alıp almadıklarına göre sınıflandırılabilir.
Eğer veriler birden çok kümede yer alıyorlar ise örtüşen, aksi halde örtüşmeyen
kümeleme yöntemleri olarak adlandırılırlar. Kümeleme çalışmalarına bir diğer bakış
açısı ise kümelemenin bir veya çok özniteliğe göre yapılıp yapılmadığıdır. Teköznitelikli parçalama tekniği veri uzayını sadece bir, tercihen en çok sorgu yapılan,
öznitelik kullanılarak parçalara ayrılmasıdır. Bu konudaki çalışmalarla ilgili ayrıntılar
[DeWitt and Ghanderharizadeh, 1990] [DeWitt and Gray,1992]'de bulunabilir.
151
Bir diğer önemli sınıflama kategorisi ise kullanılan veri yapısına bağlıdır. Bu
çalışmalar genellikle ızgara [Dikenelli et.al., 1995] ve ağaç tabanlı parçalama
işlemleridir. Ağaç tabanlı yaklaşımda, parçalama işlemi sıradüzensel olduğundan, üst
sıralarda örtüşmeler görülebilirken, genellikle veri seviyesinde örtüşmeler olmaz. Diğer
grup ise parçalamada ızgara dosyalarının kullanılmasıyla yapılır. Geçmişte yapılan
parçalama çalışmalarının birçoğu ızgara dosyaları kullanımına dayalıdır. KID
organizasyonu bir çok özelliğinden dolayı bir ızgara dosyasıdır ve bu nedenle ızgara
tabanlı parçalama grubunda yer alır.
7.4 Dağıtım
Dağıtım yöntemleri, parçalara ayrılmış olan veri alanının koşut bir mimaride disk veya
işlemcilere nasıl yerleştirileceğini gösterir. Genel olarak bir işlemciye birden çok küme
yerleştirilebileceği gibi, bir küme de birden çok işlemciye dağıtılabilir. k-boyutlu bir
KID bloğu, yine k-boyutlu uzayda temsil edilir. Fakat bu blokların genellikle tek
boyutlu olan işlemcilere dağıtılması veya disklerde saklanması gerekmektedir. Bu
nedenle dağıtım öncesinde k-boyutlu uzaydaki blokların tek boyutta temsil edilmesi
veya bir başka ifade ile doğrusallaştırılmaları gerekmektedir. Bu boyut düşürme
işleminde dikkat edilmesi gereken nokta, k-boyutta birbirine yakın olan blokların
mümkün olabildiğince tek boyutta da yakın, uzak olanların ise yine mümkün
olabildiğince uzak olarak temsil edilmesidir. Fakat k-boyuttaki uzaklığı mükemmel bir
şekilde tek boyutta da koruyan bir yöntem yoktur. Bu konuda çeşitli yöntemler
önerilmiş olup, herbiri çeşitli sorgu formları için farklı başarım oranlarına sahiptir
Sıklıkla kullanılan yöntemler aşağıda kısaca açıklanmıştır.
7.4.1 Disk Modulo (DM)
Disk Modulo yöntemi alt-uzayları (veya veri sayfalarını), {i1,i2,…,id}, M disk sayısını
göstermek üzere aşağıdaki tanımlamaya göre yerleştirir.
152
(i1+i2+…+id) mod M
DM tekniği sadece tek bir özniteliğin belirtilmediği eksik sorgularda iyi sonuçlar
vermektedir [Du and Sobolewski, 1982].
7.4.2 Fieldwise XOR (FX)
Bu yöntem, DM yöntemindeki toplama işlemlerinin, ızgara bloklarının koordinat
değerlerinin ikili karşılıklarının exclusive-or işlemiyle değiştirilmesine dayanır. Disk
Modulo yöntemi alt-uzayları (veya veri sayfalarını), {i1,i2,…,id}, M disk sayısını
göstermek üzere aşağıdaki tanımlamaya göre yerleştirir.
(i1 ⊕ i2 ⊕ … ⊕ id) mod M
FX yöntemi, disk sayısı ve sahalar ikinin kuvveti olduklarında, eksik sorgular üzerinde
DM yöntemine göre daha iyi sonuçlar vermektedir [Kim and Pramanik, 1988].
7.4.3 Uzay Doldurma Eğrileri (UDE, Space Filling Curves)
Genel olarak UDE k-boyutlu uzayda iki boyut için temel bir rota ile başlar. Bu rota
ızagaradaki herbir noktadan sadece bir defa geçer. Her birim rotanın daha üst düzey
rotaları elde etmek için kullanılabileceği iki boş ucu vardır. Bu temel eğriler bir
düzeyindedir. i düzeyinde eğriler yaratabilmek için, uygun döndürmeler ve boş uçların
birleştirilmesi yapılır. UDE k-boyutlu uzaydaki noktaların tek boyuta düşürülerek
doğrusallaştırılması amacıyla kullanılır. Doğrusallaştırılan herbir ızgara bloğu daha
sonra Round-Robin yöntemiyle koşut ortamlardaki disk veya işlemcilere atanır.
Literatürde Peano eğrileri, Reflected Binary Gray Codes (RBC) ve Hilbert
eğrileri olmak üzere yaygınlıkla kullanılan üç UDE vardır. UDE'lerin veritabanı
153
parçalarının dağıtımı alanında kullanımı ile ilgili daha ayrıntılı bilgi [Faloutsos and
Roseman, 1989]'da bulunabilir.
7.4.3.1 Peano-Eğrileri
2*2 ızgara için birim Peano eğrisi Şekil-7.1’de gösterilmiştir. Daha üst düzeyli Peano
eğrileri elde etmek için birim eğrinin herbir son ucu bir sonraki ucu ile birleştirilir.
Şekil-7.1’de 1, 2 ve 3 düzeyi için Peano-eğrileri gösterilmiştir. Şekilde, bağlantı
noktaları daha kalın çizgiler ile gösterilmişlerdir.
1
3
0
2
Şekil-7.1: 1, 2 ve 3 düzeyleri için Z (Peano) eğrileri
7.4.3.2 Reflected Binary Gray Codes (RBC)
2*2 ızgara için birim RBC eğrisi Şekil-7.2’de gösterilmiştir. Daha üst düzey eğrilerin
elde edilebilmesi için birim eğrinin x aksisi ve sonra y aksisi üzerinde tekrar edilmesi
ilkesine dayanır. Şekil-7.2’de 1, 2 ve 3 düzeyi için RBC eğrileri gösterilmiştir.
154
1
2
0
3
R1
R2
R3
Şekil-7.2:1,2 ve 3 düzeyleri için Reflected Binary Code eğrileri
7.4.3.3 Hilbert Eğrisi
Şekil-7.3’de birim Hilbert eğrisi 2*2 boyutlu ızgara üzerinde gösterilmiştir. Daha üst
düzeyli Hilbert eğrilerinin elde edilmesi, birim eğrinin döndürülmesi ve eğrinin 0 ve
3’ncü köşelerinin birleştirilmesi ilkesine dayanır. Birim eğri recursive olarak daha üst
düzeylerde de aynı döndürme ve yansıtma örüntüsüne sahiptir. Hilbert eğrilerinin elde
edilmesinde kullanılacak olan algoritmalar [Griffiths, 1986] ve [Wirth, 1986]’da
bulunabilir.
1
2
0
3
H1
H2
H3
Şekil-7.3: Düzey 1, 2 ve 3 için Hilbert eğrileri
155
Her ızgara bloğunu tanımlamakta kullanılan koordinat değerleri kullanılarak,
bloklar için doğrusal sıralamalar çıkarılır. Elde edilen bu değerler blokların disklere
yerleştirilmelerinde kullanılır. Şekil-7.4 2 düzeyinde, Peano, RBG ve Hilbert
eğrilerinden elde edilen sıra değerlerini göstermektedir.
5
7
13
15
5
6
9
10
7
4
11
8
4
6
12
14
4
7
8
11
6
5
10
9
1
3
9
11
3
2
13
12
1
2
13
14
0
2
8
10
0
1
14
15
0
3
12
15
Z veya Peano Eğrisi
Hilbert Eğrisi
Reflected Binary Gray-Code
Şekil-7.4: Farklı UDE’lerin 2 düzeyi için değerleri
7.4.4 Dağıtımda UDE Kullanılması
Yukarıda anlatılan UDE yöntemlerinden herhangibiri kullanılarak, k-boyutta temsil
edilen ızgara bloklarına ait eğri değerleri hesaplanır. Şekil-7.4'de üç UDE için 2
düzeyinde değerler gösterilmiştir. UDE k-boyutta temsil edilen blokların tek boyuta
düşürülmesini sağlar. Bu tür işlemlere uzaklık koruyan eşleme (UKE, distance
preserving mapping) adı verilir. Elde edilen bu değerler artan şekilde sıralanarak
blokların diskler üzerine yerleştirilmesi amacıyla kullanılırlar. Bütün değerlerin mevcut
olması gerekmez, sadece mevcut değerler kullanılırlar. Örneğin bazı sayfalar boş
olabilir veya birden çok blok aynı sayfayı paylaşıyor olabilir. Bu düzenek içerisinde, bir
sorgunun en önemli başarım göstergesi yanıt süresi olduğuna göre, bir aralık
sorgusunun yanıt süresinin en iyi ölçeği sorgunun işlenmesi için gerekli olan disk
ulaşım sayısıdır.
Kuşkusuz disk ulaşım sayısı sadece UKE yöntemine bağlı değildir. Başarımı
etkileyen verilerin sayısı veya dağılımı gibi özellikler de disk sayısını arttırabilir.
156
Sadece UKE'ye bağlı olan ölçek ise ortalama bir sorgunun eriştiği küme sayısıdır. Küme
kavramı daha önce anlatılan küme kavramından farklılıklar göstermektedir. Aslında
ızgara blokları veri uzayını kümelere ayırır, benzer veya uzayda birbirlerine yakın olan
kayıtlar aynı veya yakın bloklarda saklanırlar. Blokların disklere yerleştirilmesi
sırasında önerilen kümeleme aşağıda tanımlanmıştır.
Dağıtımda küme tanımı: k-boyutlu ızgara dosyasının bloklarını 1-boyutta temsil
etmek üzere verilen bir UKE için küme, bir dizi ardışık x-değerine sahip bloklar olarak
tanımlanır.
Verilen bir UKE'nin kümelemedeki etkisini belirtmek için kullanılacak ölçeğin
belirlenmesi önemlidir. Eğer bir aralık sorgusu daha az kümeye erişme eğilimi gösterir
ise, doğal olarak gerçek dosya üzerinde daha az disk ulaşımı yapacaktır. Şekil-7.5
Hilbert eğrilerinin Peano eğrilerinden daha iyi olduğunu göstermektedir. Şekildeki
gölgeli alan aralık sorgusunu temsil etmektedir. Eğer küme olarak ardışık 8 x-değeri
alınırsa, Peano'da 4, Hilbert'da ise 2 kümeye erişimim gerekli olduğu görülür. Bunun
nedeni, eğrilerin rotası içerisinde
uzun sıçramaların olup olmadığıdır. Küme
tanımlaması gözönünde bulundurulduğunda, aralık sorguları üzerinde uzun sıçramaların
disk ulaşımını negatif yönde etkilediği açıktır. Eğriler izlendiğinde Hilbert'de uzun
atlamaların olmadığı görülebilir.
Şekil-7.5: Peano ve Hilbert eğrileriyle kümelemenin aralık sorgularına etkileri
157
Verilen bir UKE'nin bir diğer başarım ölçütü ise, enbüyük komşu uzaklığı
(maximum neighbor distance)'dır. k-boyutta birbirlerine yakın olan komşuların, tek
boyutlu doğrusal sıralamada da birbirlerine yakın olması beklenir. Verilen bir UKE ve
R yarıçapı için X noktasının bir komşusunun doğrusal sıralamada en uzak mesafesi,
noktaların k-boyuttaki Manhattan uzaklığına eşitttir.
7.5 Problem Tanımı
Parçalama tekniklerinin özelliklerinin karşılaştırılmasından önce, bu bölümde
kullanılacak olan terminolojiyi kısaca tanımlamakta yarar vardır. Burada kullanılan
tanımlamalar
[Himatsingka
and
Srivastava,
1993]’deki
tanımlamalara
benzer
tanımlamalardır. Tanımlamalarda kullanılan temel sembol ve değişkenler Tablo-7.1’de
özetlenmiştir.
Tablo-7.1: Problem tanımında kullanılan parametreler
Sembol
Açıklama
M
Disk Sayısı
k
Öznitelik sayısı ( KID boyutu)
Di
i’ninci özniteliğin alanı
di
i’ninci özniteliğin parça sayısı
diskOf()
sayfa nosunu diske atayan fonksiyon
Kartezyen Çarpım Dosyası: Formal olarak kartezyen çarpım dosyası şu şekilde ifade
edilebilir. Dik, k özniteliğinin i’ninci alanını (domain) gösteriyor olsun. Di’nin di tane
örtüşmeyen
altkümeye,
Di0,Di1,…,Did-1,
ayrıldığını
varsayalım.
Eğer
Dij∈{Dj0,Dj1,…,Djd-1} kuralı doğru ve aynı eşsiz (unique) sayfada yer alıyor ve bütün
kayıtlar Di1×Di2×…×Dik parçalara ayrılmış ise, bu dosya kartezyen çarpım dosyasıdır
denir.
158
Aralık sorgusu: (li,ui)’nin i’ninci özniteliğin bir aralığını gösterdiği ve li,ui ∈ Di olduğu
sürece, bir aralık sorgusu k boyut için aşağıdaki şekilde ifade edilebilir.
Q=(l1,u1)×(l2×u2) ×…×(lk,uk)
Bu sorguya uyan noktalar k boyutlu (l1,u1)×(l2,u2) ×…×(lk,uk) dörtgeninin içerisinde yer
alacaklardır.
Kısmi uyum sorgusu: Kısmi uyum sorgusu bir aralık sorgusudur ve şu şekilde ifade
edilebilir.
(∃i) (li,ui) ≡ Di) ∧ (∀j ∈ {1,2,…,k}) (j ≠ i) (lj = uj)
Nokta Sorgu: Nokta sorgusu aşağıdaki kuralı sağlayan bir çeşit aralık sorgusudur.
(∀i∈{1,2,…,k}) (li=ui)
Yanıt süresi: Bir sorgunun yanıt süresi Ni, (0 ≤ i ≤ M-1) olmak üzere aşağıdaki şekilde
tanımlanır:
max(N0,N1,…,NM-1)
Sorgu işlemede amaç, sorgu yanıt süresinin mümkün olduğunca düşürülmesini
sağlamaktır. Bu nedenle, sorgu işlemede en önemli darboğazı oluşturan G/Ç
işlemlerinin mümkün olabildiğince paralelleştirilmesi gerekir. En uygun parçalama ve
dağıtım yöntemleri geliştirilmelidir.
Sorgu Eniyiliği (Query Optimality): Eğer M diskli bir koşut mimaride Q sorgusunun
yanıt süresi, N sorguya uyan sayfa sayısını göstermek üzere, N/M ise, sorgu eniyi
(optimal)’dir denir.
Bu durumda bir sorgunun en iyi olmasını sağlamak, sadece
verilerin işlemcilere dengeli olarak dağıtılmasına değil, aynı zamanda herhangi bir
159
sorgunun potansiyel yanıt setinin de dengeli olarak işlemcilere dağıtılabilmesindeki
başarıya dayanır.
Verilen bir veritabanında bütün sorguların eniyi olması arzu edilir. Sorgular tam
veya eksik belirtilmiş, aralık sorgusu veya köşegen sorgulara kadar çeşitlilik gösterir.
Kuşkusuz tüm bu sorgu formları göz önünde tutulduğunda, hepsinin eniyi olmasını
sağlayacak mükemmel bir parçalama yöntemi mevcut değildir. Aralık ve kısmı uyum
sorguları veri tabanlarında sıklıkla karşılaşılan sorgu tipleri olduğu için, önerilen bir
yöntemin bu tip sorguları için eniyi olması beklenir.
Gerçek Eniyilik: Bir dağıtım yöntemi eğer bütün olası sorgu formları için eniyi ise, bu
yönteme gerçek eniyi denir. Eğer bütün eksik sorgu formları için en iyi ise, eksik
sorgular için gerçek eniyidir denir. Eğer bütün aralık sorgu formları için eniyi ise, aralık
sorgular için gerçek eniyidir denir.
7.6 Önerilen KKTE Dizgesi
Yukarıda anlatıldığı gibi KKTE konusunda çeşitli çalışmalar yapılmış ve değişik
öneriler yapılmıştır. Bu çalışma kapsamında önerilen KKTE’nin genel özellikleri
şunlardır:
•
Parçalama çoklu-vektörel öznitelikler kullanılarak yapılmıştır.
•
Verilerin
altkümelere
parçalanması
KID
yapısı
kullanılarak
gerçekleştirilmiştir.
•
Alt kümeler arasında veri tekrarlarına yer verilmemiştir. Örtüşmeyen
parçalama yöntemi kullanılmıştır.
•
Herbir alt küme mümkün olduğunca koşut mimarinin işlemcileri arasında
dağıtılmıştır.
7.6.1 Mimari
160
Koşut dizgenin kolaylıkla çeşitli ortamlara uyarlanabilmesi amacıyla mümkün
olabildiğince jenerik bir model kurulmaya çalışılmıştır. Önerilen mimari hiçbirşey
paylaşmayan (shared nothing) bir koşut modeldir. Ana hatları ile model Şekil-7.6'da
sunulmuştur. Bu çok-işlemcili mimari, kendi işlem gücü, G/Ç birimleri ve özel işletim
dizgesine sahip bir grup otonom bilgisayarın, {P1,P2,…,PN}, bağlantılararası ağ yapısı
(interconnection network) ile birbirlerine bağlanması sonucunda meydana gelmiştir.
Herbir işlemci, birbirleri ve ön-uç ile her türlü iletişimini ağ üzerinden mesaj
göndererek yapmaktadır. Model ayrıca kullanıcı ile etkileşimi ve işlemcilerin
orkestrasyonunu sağlamak üzere bir ön-uç bilgisayar içermektedir.
Kullanıcı Sorguları ve
Yanıtlar
Koşut Bilgisayar Dizgesi
Ön-Uç
Đşlemci
P5
Bağlantılar-arası Ağ
P1
P2
P3
P4
P6
P7
P8
Şekil-7.6: Veri erişiminde kullanılan koşut mimarinin şematik gösterimi.
Önerilen model laboratuvar uygulamalarında DEC Alpha iş istasyonlarının
PVM
(Parallel
Virtual
gerçekleştirilmiştir.
Machine)
aracılığı
ile
birbirlerine
bağlanması
ile
161
Transform
Aşaması
Birçok ÇON özniteliği yüksek-boyutlu
olduğu için, vektörlerdeki enerjilerin ilk
değerlere toparlanabilmeleri için KL, DCT,
FT gibi transformasyon teknikleri
uygulanır.
KEY
aşaması
ÇON öznitelikleri, karakteristiklerine
uygun KEY yapıları kullanılarak
gruplara/kümelere ayrılır.
KID
aşaması
KID rehber ağacında, herbir özniteliğine
göre ÇON'lar toplam benzerliklerine göre
veri sayfaları olarak kümelenirler
UKE
aşaması
k-boyutlu uzayda tanımlanan veri
sayfalarının 1-boyutlu disk/işlemcilere
atanabilmesi için UKE kullanılır. Bu
aşamada ardışık sıra değerlerine sahip
sayfalar bir küme altında toparlanabilirler
Şekil-7.7: ÇON'ların kümelenme süreçleri
7.6.2 Kümeleme
Bu çalışmada çoklu ortam nesnelerinin kümeleme/parçalama işlemleri toplam dört
aşamada gerçekleştirilmektedir. Bir ÇON birden çok özellik ile çok-boyutlu uzayda
vektörel olarak temsil edilir. Bu vektörler genellikle yüksek boyutludurlar (20 ve
yukarısı) ve mevcut KEY’ler ile dizinlenmeleri mümkün değildir. Enerjilerinin
vektörlerin ilk elemanlarında toplanmasını sağlayarak, ilk elemanların önemini arttıran
ve bu yolla vektörlerin daha düşük boyutlu uzayda temsil edilmelerini sağlayan
transformasyon tekniklerine gereksinim vardır. Bu transformasyonlar kümelemenin ilk
aşamasını oluştururlar. Daha sonra, herbir özniteliğe ait bu vektörler uygun KEY’lerin
kullanımı ile kümelere ayrılır. Bu kümeler bağımsız olarak ilgili özniteliğe göre
ÇON'ları kümelere ayırır. KID yapısı içerisinde, doğrusal ölçeklerde kullanılan bu
162
kümeler, ikinci aşama kümelemeyi oluşturur.
Daha sonra KID rehber ağacında,
ÇON'lar genel özelliklerine göre üçüncü bir aşama kümelemeye tabii tutulurlar. Bu
aşama sonunda elde edilen bu kümeler, KID'de veri sayfaları olarak temsil edilirler.
ÇON'ları dizinlemek için kullanılan bu veri sayfaları, k-boyutta temsil edildikleri için,
genellikle tek boyutta temsil edilen işlemcilere eşleştirilmeleri gerekir ve k-boyuttan
1-boyuta Uzaklık Koruyan Eşleştirme (UKE, Distance Preseving Mapping)'lere
gereksinim duyarlar. Veri sayfaları tek boyuta eşleştirildikten sonra tekrar
kümelenebilirler. Bu da sonuncu aşama kümelemeye karşılık gelir. ÇON'ların koşut
mimarilerdeki kümeleme tabanlı erişimi (KKTE) için öngörülen kümeleme yapısı
Şekil-7.7'de gösterilmiştir.
3
3
2
2
1
1
0
0
0
1
2
3
4
(a) Kartezyen çarpım dosyası
0
1
2
3
(b) Izgara dosyası
4
Şekil-7.8: Sabit ızgara ve ızgara dosya yapıları arasındaki ilişki
7.6.3 Dağıtım
Koşut veri tabanları alanında yapılan birçok parçalama ve dağıtım çalışması ızgara
dosyalarının kullanılmasına dayanır. Yapılan birçok çalışma Kartezyen Çarpım
Dosyalarını temel almaktadır. Kartezyen çarpım dosyalarında bloklar işlemcilere
dağıtılırken blokların indisleri bu işlem için doğrudan kullanılabilirler. Fakat, ızgara
dosyalarda birden çok blok aynı sayfayı paylaştığı için block indisleri doğrudan
kullanılamazlar. Örneğin Şekil-7.8(b)’de (0,3), (1,3) ve (2,3) blokları aynı sayfayı
paylaşmaktadırlar. Blokların koşut ortama dağıtılmasında, bir sayfayı paylaşan blokların
farklı işlemcilere atanmasını engelleyen yöntemlere gereksinim vardır. Aşağıda bu
duruma uyan dört yöntem önerilmiştir.
163
•
Rastgele Seçim: Eğer birden fazla çakışan alternatifler var ise, alternatiflerin
rastgele seçilmesi esasına dayanır.
•
Frekans: Rastgele seçimin birden fazla sayfanın hep aynı diske atılıyor olduğu
durumlar için geçerli bir uyarlaması olarak görülebilir. Eğer bu durumda birden
çok disk var ise, içlerinden en yüksek frekanslı olanının seçilmesi ilkesine
dayanır
•
Veri Yükü Dengesi: Verilere erişim sırasında, disklere erişim frekansının o
diskteki sayfa sayısına bağımlı olduğu varsayımına dayanır. Dağıtım işlemi
sırasında disklerin yük dengesini korur.
•
Alan Yükü Dengesi: Verilere erişim sırasında disklerin erişim frekansının, o
diskteki sayfaların toplam veri alanına veya hacim oranına bağlı olduğu
varsayımına dayanır. Dağıtımda her bir diskteki verilerin toplam veri alanının
eşit parçalara bölünmesini temin etmeye çalışır.
Algoritma-7.1 örnek olarak veri yükü dengesinin gerçekleştirilmesini göstermektedir.
Benzer algoritmalar kolaylıkla diğer yöntemlere uyarlanabilir.
Algoritma-7.1: Izgara bloklarının veri yükü dengesine göre disklere dağıtılması
Girdi
N sayfa sayısı ve C(bi) = {di1,…,dip}, bi sayfası için atama
alternatiflerini göstermek üzere, ızgara dosyasından
üretilen bir
dizi {C(bi) | 1≤ i ≤ N}
Çıktı
Disk atamaları {disk(bi),…,disk(bn)}
Adım 1.
M
disk
sayısını
ve
B(j)
ise
miktarını göstermek üzere,
Her
j değeri için ( 1 ≤ j ≤ M )
B(j) ← 0;
Adım 2.
Her bi için eğer C(bi)=1 ise,
j
diskine
atanan
sayfa
164
disk(bi) ←di1
b(di) ←B(di1)+1
Adım 3.
Her bi için eğer C(bi)> 1 ise,
B(dik) = minimum (1 ≤ k ≤ C(bi)) olmak üzere,
disk(bi) ← dik
B(di) ←B(di1)+1;
7.6.4 Formal Tanımlamalar
Veri nesnelerinin kümelenmesi, aslında büyük bir problemi üstesinden gelinebilecek
küçük parçalara ayırmaktan başka bir şey değildir. Eğer kümeleme işleminin başarılı bir
şekilde yerine getirildiği varsayılırsa, çözülmesi gereken en temel problem bu kümelerin
işlemcilere nasıl dağıtılacağıdır. Kümelerin bu şekilde dağıtılmasının herhangi bir
sorgunun muhtemel sonuçlarının münkün olduğunca koşut olarak aranması konusunda
avantajlı olduğu görülür. Bu durum yığın (batch) sorgulama süresince işlemcileri
meşgul tutabilecektir. Bir başka ifade ile bir sorgu işleme sırasında mümkün olduğunca
bütün işlemciler eşit olarak çalışacak, biri diğerinden çok veya az çalışmamış olacaktır.
Bu yolla sorgu işleme sürecinin koşutluğu en yüksek olacaktır.
Daha formal olarak bir dizi nesnenin, D={d1,d2,…,dn}, olduğu bir veritabanına
sahip olduğumuzu düşünelim. Kümeleme süreci, KÜME, doğrusal olarak bir dizi küme,
K={k1 ∪ k2 … ∪ kt}, üretecektir. Bu şu şekilde ifade edilebilir:
KÜME(di) → cj
Bu ifade ile anlatılmak istenen KÜME fonksiyonu dj nesnesini cj kümesine atamakta
olduğudur. m tane işlemcinin bulunduğu bir koşut bilgisayar mimarisinde,
P={p1,p2,…,pm} kümeleri dağıtma süreci, DAĞIT, kümelenmiş olan bu nesneleri
işlemcilere dağıtır. Birbaşka ifade ile, DAĞIT verilen bir j kümesi içerindeki i nesnesini,
(di|cj), m işlemci içerisinden k’nıncıya atar. Daha formal olarak dağıtım işlemi,
165
DAĞIT(di|cj) → pk
olarak tanımlanabilir. Dağıtım sürecinde kullanılacak olan en kestirme yöntem
Round-Robin yöntemidir. Round-Robin yöntemi ile dağıtım formal olarak aşağıda
gösterilmiştir.
ĐşlemciNo ← di MOD m
Fakat, eğer bir küme içerisindeki eleman sayısı, koşut işlemci sayısının katı değil ise
(çoğu zaman beklenmez), Round-Robin yöntemi sürekli olarak nesneleri aynı numaralı
işlemcilere atayabilir. Bu durumda, artık kalanların atanmasında yük dengelemesini
dikkate alan yöntemler kolaylıkla uygulanabilir.
Koşutluktan sağlanacak yararın enyüksek tutulabilmesi için, i’ninci kümenin, ki,
bütün işlemcilere dağıtılması en iyi yoldur. DAĞIT sürecinin amacı mümkün olduğunca
eşit olarak sonuç kümelerinin işlemcilere dağıtılmasıdır. Daha formal bir ifade ile bir
kümenin bir işlemciye getirmiş olduğu yük, (ki∩pj), j işlemcisindeki i kümesi
elemanlarının sayısını göstermek üzere aşağıdaki şekilde gösterilebilir.
∑ (k
m
j =1
i
)
k j 
∩ pj =  
m
Burada sunulan dağıtım işlemi, kolaylıkla görülebileceği gibi, kümeleme
hipotezine dayalıdır. Eğer verilen bir KID organizasyonu için kümeleme hipotezi
geçerli ise, dağıtım işlemi verileri genel benzerlik özelliklerine göre işlemcilere
dağıtmış olacaktır. Aynı zamanda bu dağıtım yöntemi ile işlemcilerin veri yüklerinin de
dengeli olması sağlanmış olmaktadır. Eğer bir dağıtım yöntemi bir kümeyi yükleri
dengeli olarak dağıtıyorsa, tüm kümelerin bileşiminden oluşan veritabanının da dengeli
olarak dağıtacağı açıktır. Daha formal olarak herbir işlemcinin yükü aşağıdaki ifadeye
eşit olacaktır.
166
t
m
∑ ∑ (k
i =1 j =1
k j 
∩
p
)
=
 
i
j
m
Dağıtım işleminin nasıl yapıldığını örneklerle açıklamaya çalışalım. Örnek
kümeleme yapısında 8 tane kümenin ve koşut mimaride de 4 tane işlemci olduğunu
varsayalım. Örnek, şematik olarak Şekil-7.9’da gösterilmiştir. Şekildeki sayılar
nesnelerin numaralarını temsil etmektedir.
Kümeler
k1
1,2,3,4
k2
5,6,7,8
Đşlemciler
9,10,11,12
k3
k4
13,14,15,16
k5
17,18,19,20
1,5,9,13,17,21,25,29
2,6,10,14,18,22,26,30
3,7,11,15,19,23,27,31
k6
21,22,23,24
k7
25,26,27,28
k8
29,30,31,32
4,8,12,16,20,24,28,32
p1
p2
p3
p4
Şekil-7.9: Kümelerin ve içerisindeki nesnelerin işlemcilere dağıtılması
7.6.5 Koşut Erişim
Mevcut mimarideki ön-uç hem kullanıcı ile sorgu ve sonuçların gösterilmesi sırasında
etkileşim yapılmasını, hem de işlemcilere işlerin dağıtılmasını ve işlemlerin geri
alınmasını sağlar. Ön-uç kümelemede temel alınan KID rehber dizinine sahiptir. Herbir
işlemcide ise, bir önceki bölümde anlatılan dağıtım işlemine göre dağıtımı yapılmış olan
kayıtlar bulunur. Kayıtlar aşağıda gösterilen yapıda bir ilişki olarak veri tabanında
saklanır.
167
KAYIT(KÜME_NO, ÇON_NO, ÇON,ÖZELLĐKLER)
KAYIT ilişkisinde KÜME_NO özniteliği birincil anahtardır. ÖZELLĐKLER
özniteliği ise ilgili ÇON’dan çıkartılmış olan her türlü özniteliği temsil etmekte olup,
aslında birden çok özniteliğe karşılık gelmektedir. ÇON ise günümüz veri tabanlarının
birçoğu tarafından desteklenen ve doğrudan ÇON'u içeren ve BLOB olarak temsil
edilen veridir. ÇON_NO ise veri tabanındaki bir ÇON'u ayırt etme yeteneğine sahip
numara bilgisidir.
Kullanıcıdan sorgunun alınması ve hazırlanması işlemlerini ön-uç yapar.
Sorgunun ilk incelemesi ön-ucun disklerinde saklanan KID rehber ağacı kullanılarak
yapılır. Bu ilk arama işleminde sadece hangi kümelerin sorguya uygun nesneleri
barındırabileceği işlemi yapılır. Daha sonra, ön-uç hem kullanıcı sorgusunu ve hem de
KID dizininden bulunan kümelerin numaralarını paketler ve mesaj olarak diğer
işlemcilere gönderir.
Herbir işlemci gelen sorgu paketinde sorgunun aramaya uygun hale getirilmiş
halini (örneğin vektörel temsilini) ve hangi kümelerin aranması gerektiğini bulur. Daha
sonra, KAYIT ilişkisinin KÜME_NO birincil anahtarı temel alınarak ilgili kümelerin
sadece kendilerinde bulunan kayıtları üzerinde detaylı benzerlik ve arama işlemlerini
yapar. Daha sonra herbir nesne için sorgu ile nesnenin benzerlik değerleri hesaplanır.
Elde edilen bu değerler sıralanarak belirli bir katsayıdan daha yüksek benzerlik
değerlerine sahip olanlar sıralı olarak paketlenir ve ön-uca geri gönderilir.
Ön-uç herbir işlemciden gelen benzerlik değerlerine göre sıralı sonuçları alır.. Daha
sonra işlemcilerin sonuçları sıralı-birleştirme (sort-merge) algoritmasını uygulanarak,
genel bir listede toplanır. Bu listeye göre nesneler, kullanıcıya sorgusuna ençokdan enaz
benzeyene doğru sıralı olarak sunulur.
7.6.6 Zaman Analizi
168
Dağıtım sırasında her küme içindeki kayıtlar mümkün olduğunca eşit olarak işlemcilere
dağıtıldığı için, işlemcilerde yapılan hesaplama süreside birbirlerine yakın çıkacaktır
Koşut erişimin zaman analizi, oldukça çok parametreye bağımlıdır. Bu nedenle hem
analizin yapılmasını ve hem de anlaşılırlığı kolaylaştırmak için bir takım tanımlamalar
kullanılmıştır. Tanımlamalarda kullanılan terim, sembol ve parametreler Tablo-7.2’de
gösterilmiştir.
Tablo-7.2: Koşut erişim zaman analizinde kullanılan parametreler
YS
Yanıt kümesi
YSS
Yanıt kümesindeki eleman sayısı
BH
Bir benzerlik hesaplaması için harcanan ortalama zaman.
KES
Đşlemcilerin veritabanındaki bir kayda KÜME_NO anahtarını
kullarak erişme zamanı
SAY(x)
x kümesindeki eleman sayısı
ĐSi
i işlemcisindeki nesnelerin kümesi
ÖS
Sorguda arama kriteri olarak belirtilen öznitelik (boyut) sayısı.
ÖHS
SS
BBZ
Bir öznitelik için gereken hazırlık süresi
O(N log n) karmaşıklığında bir sıralama algoritması kullanıldığı
varsayılsın
Birleştirme sırasında bir birimlik işlem zamanı
Bir sorgunun yanıt süresi, sorgunun yönlendirilmesinden sonuçların kullanıcıya
ulaşıncaya kadar geçen süredir. Bu süre çok kaba olarak dört bileşene sahiptir. Birinci
bileşen ön-uç ile işlemciler arasında ağ üzerinde yapılacak olan mesaj alış-verişi için
geçen zamandır ve Tiletişim olarak gösterilmiştir. Đkinci parça ise Tarama olarak gösterilen
ve ön-ucun KID rehberinden sorgu ile ilgili kümelerin aranmasında her işlemcinin koşut
olarak yapacağı arama işlemi için harcanan zamandır. Üçüncü parça ise, işlemcilerden
169
gelen kısmi sonuçlardan genel sonuçların oluşturulması için yapılan birleştirme işlemi
için harcanan zamandır ve Tbirleştirme olarak gösterilmiştir. Genel olarak bir sorgunun
toplam yanıt süresi Ttoplam, aşağıdaki ifadeye eşittir.
Ttoplam = Tön-hazırlık + Tiletişim + Tarama + Tbirleştirme
Đlk bileşen arayüzlerle alınan sorgunun uygun formlara dönüştürülmesi
işlemidir. Bu işlem, örnek olarak, renk veya şekiller için uygun vektörel temsillerin elde
edilmesi olabileceği gibi, doğal dilde alınan bir metinsel sorgu için boş kelimelerin
atılması, kalanların köklerine ayrıştırılması veya ilgili sözlükten karşılıklarının
bulunması gibi çeşitli işlemleri kapsayan bir süreçtir. Her ne kadar bu hazırlık süresi
sözkonusu özniteliğin yapısına göre farklılıklar gösterir ise de, bu analizde ortalama
birim bir zaman olarak ÖHS ile temsil edilmiştir. Bu hazırlıklar ön-uçta yapılmakta olup
bir koşutluk sözkonusu değildir. Bu durumda, Tön-hazırlık şu şekilde ifade edilebilir:
Tönhazırlık = ÖHS × ÖS
Bir sorgu süresince temel olarak iki grup iletişim gerçekleştirilir. Birincisi,
ön-uçtan işlemcilere sorgu ve küme numaralarının iletilmesi, ikincisi ise kısmi
sonuçların işlemcilerden ön-uca ulaştırılması için yapılan iletişimdir.
Dolayısı ile,
Tiletişim aşağıdaki ifadeye eşittir:
Tiletişim = Tsorgu + Tsonuç
Arama işleminde göze çarpan iki temel işlem vardır. Đlk aşama ön-uç tarafından
yapılan ve ilgili kümelerin tespit edilmesi için harcanan zamandır. Đkincisi ise herbir
işlemcinin bağımsız ve koşut olarak yapacağı arama süresidir. Daha detaylı olarak Tarama
aşağıdaki şekilde ifade edilebilir.
Tarama = Tön-uç + Tişlemci
170
Tön-uç olarak ifade edilen zamanda, sorguya uyan kümelerin bulunması işlemi
KID rehber ağacı üzerinden yapılır. KID rehber ağacının bellekte saklandığı varsayımı
ile, k tane kümenin bulunması için geçen süre aşağıdaki ifadeye eşittir.
Başlangıçta verilen tanımlamaya göre herbir işlemcide yapılacak arama için
harcanacak zamanı iki başlık halinde incelemekte yarar vardır.
Bunlar verilerin
aranması ve getirilmesi, benzerliklerin hesaplanması ve hesaplanan benzerliklerin
sıralanması için geçen süredir. Bu durumda Tişlemci aşağıdaki şekilde ifade edilebilir.
Tişlemci = Tişlemci-arama + Tbenzerlik-hesaplaması + Tbenzerlik-sıralaması
Tişlemci’nin hesaplanması için en-kötü ve en-iyi durum olmak üzere iki uç
durumun değerlendirilmesi gerekir. En iyi durum sorgu yanıt setinin bütün işlemcilere
eşit olarak dağıtıldığı durumdur. Başta verilen parametreler ışığında, en-iyi durum daha
formal olarak aşağıdaki şekilde ifade edilebilir:
(∃i) (SAY(ĐSi ∩ YS) ≅ (YS / m)
(1 ≤ i ≤ m)
En kötü durum ise, bir sorgunun yanıt setinin sadece bir işlemcide, j, yığılmış olması
durumudur ve matematiksel olarak şu şekilde
(j hariç ∃i) (SAY(ĐSi ∩ (YS - ĐSj)) = ∅ ) (1 ≤ i ≤ m, 1 ≤ i ≤ m)
veya sadece
YS – ĐSj = ∅
olarak gösterilebilir. Bu durumda Tişlemci en-iyi durum için aşağıdaki ifadeye eşit
olacaktır.
Tişlemci(en-iyi) = ( (YSS*KES) + (YSS*BH) ) / m + ( (YSS / m) log2(YSS / m) )
171
En-kötü durum için ise şu ifade,
Tişlemci(en-kötü) = (YSS*KES) + (YSS*BH) + (YSS*SS)
geçerli olacaktır. Ortamala olarak Tişlemci zamanı şu şekilde gösterilebilir:
Tişlemci = ( Tişlemci(en-kötü) + Tişlemci(en-iyi) ) / 2
Zaman analizinin en son bileşeni ise, işlemcilerden toplanan verilerin tek liste
haline getirilmesi amacıyla birleştirilmesidir. Birleştirme algoritmasının karmaşıklığı
birleştirilecek liste sayısı O(N)'dir. Birleştirme algoritmasına katılan eleman sayısı YSS
ile gösterildiğine göre, Tbirleştirme işleminin karmaşıklığı O(YSS) aşağıdaki şekilde ifade
edilir:
Tbirleştirme = YSS * BBZ
172
8. BAŞARIM ANALĐZĐ
Bu bölümde, bu tez çalışması kapsamında geliştirilen KID yapısının ve bu yapının koşut
bir mimaride çoklu ortam nesnelerinin gösterim ve erişiminde kullanılabilirliğini
göstermek için yapılan deneysel çalışmaların sonuçları sunulmuştur. Yapılan deneyler
sentetik veriler üzerinde gerçekleştirilmiştir. Sentetik veriler ile yapılan başarım
değerlendirmesi KID yapısı ve koşut uygulama olmak üzere, daha önceki bölümlerde
anlatıldığı gibi iki aşamada gerçekleştirilmiştir.
8.1 Veri Kümesi
Başarım değerlendirmesi için kullanılan veri ve sorgu kümelerinin genel özellikleri
Tablo-8.1’de verilmiştir. Buna göre değişik özelliklerde toplam yedi değişik veri
kümesi hazırlanmıştır.
Tablo-8.1: Veri Kümeleri
Sembol
Kayıt sayısı
Boyut Sayısı
Kaplama Oranı
V1
5000
2
0.04
V2
10000
2
0.04
V3
15000
2
0.04
V4
20000
2
0.04
V5
25000
2
0.04
V6
30000
2
0.04
S1
100
2
0.04
S2
100
2
0.10
S3
100
2
0.20
173
Veri ve sorgu kümeleri iki boyutlu uzaydaki dörtgen bilgilerini temsil etmektedir.
Kaplama oranı ise herbir kümedeki verilerin toplam veri alanının yüzde kaçını
kapladıklarını temsil etmektedir. Örneğin, 0.04 değeri, veri seti içerisindeki kayıtların
toplam veri alanının ortalama yüzde dördünü kapladığını göstermektedir. Veri tabanı
kayıtlarını temsil eden veri kümeleri Vx olarak, test için kullanılan sorgular ise Sx
olarak adlandırılmışlardır. Veri kümelerindeki kayıt sayıları 5000 ile 30000 arasında
değişen kayıt sayılarına sahiptir.
Hazırlanan sorgu setleri iki boyutlu düzlemdeki kayıtlar için pencere sorgularını
temsil etmekte olup, hepsinde değişik kaplama alanlarına sahip 100 sorgu
bulunmaktadır. Konumsal bir dizinleme yapısının başarımını etkileyen en önemli
parametrelerden bir tanesi, kullanılan sorgulardır. Daha önce de belirtildiği üzere, bu
çalışmada pencere sorgular kullanılmıştır. Pencere sorguları tek boyutlu dizinleme
yapılarındaki aralık sorgularına benzetilebilir. Tek boyutlu uzaydaki aralık değeri, veri
uzayı ölçeğindeki iki nokta arasındaki aralık olarak temsil edilebilirken, iki boyutlu
uzaydaki aralık sorguları ise, iki boyutlu uzayda iki nokta ile temsil edilen pencere veya
dörtgen ile gösterilirler. Başarım sonuçlarının ele alınmasında üç farklı kaplama alanına
sahip sorgu setleri hazırlanmıştır. Şekil-8.1 herbir sorgu kümesinin işlenmesi sonucunda
elde edilen yanıt kümesindeki eleman sayısını göstermektedir.
S1
S2
S3
Yanıt kümesi kayıt sayısı
7000
6000
5000
4000
3000
2000
1000
0
V1
V2
V3
V4
V5
V6
Veri Kümesi
Şekil-8.1: Sorgu kümelerinin yanıt kümelerindeki eleman sayıları
174
Şekil-8.1 sorgu kümelerinin kaplama oranlarının artmasıyla doğru orantılı olarak, yanıt
kümelerindeki kayıt sayılarının nasıl arttığını göstermektedir.
8.2 Çoklu Ortam Benzeşim Ortamı
Deneylerde kullanılan veri kümelerindeki kayıtların genel biçimleri aşağıdaki gibidir:
Nesne No, Konumsal Saha1, Konumsal Saha2
KID uygulamalarında herbir boyut için konumsal sahalar kullanılmıştır. Bu yolla, KID
organizasyonunun birden fazla konumsal öznitelik ile temsil edilebilen çoklu ortam
verilerini temsili benzeşimi (simulation) sağlanmış olmaktadır. Örneğin, bir resim
arşivindeki resimlerin renk histoğramı ve şekil vektörleri ile temsil edildiği düşünülür
ise, buradaki benzeşim ortamına doğrudan uyum sağlanmaktadır. Bu durumda, saha1'in
renk, saha2'nin ise şekil bilgilerini temsil ettiği, Nesne_No sahasının ise resim verisini
gösteren bir bağlaç bilgisi olduğu kabul edilebilir. Bu benzeşim modeli çerçevesinde
deneyler yapılmış ve elde edilen sonuçlar aşağıda rapor edilmiştir.
8.3 Tek Bilgisayar Sonuçları
KID’in değerlendirilmesi için yukarıda anlatılan benzeşim ortamına uygun olarak
programlar C programlama dilinde yazılmış ve Borland C++ 5.0 uyarlaması ile
derlenmiştir. Hazırlanan programlar, 133 MHz hızında, Intel Pentium kişisel
bilgisayarlarında MicroSoft NT 4.0 işletim sistemi altında çalıştırılmıştır. Özellikle
zaman bağımlı olan sonuçların alınması sırasında bilgisayar sisteminin disk ön-bellek
ve zahiri bellek yapısında programların yerleşiminden kaynaklanan farklılıkları
giderebilmek için, her deney beş kez tekrarlanarak ortanca değeri sonuç olarak
alınmıştır.
175
8.3.1 Başarım Parametreleri
Beşinci bölümde anlatıldığı gibi, bir KID organizasyonunundaki en temel veri yapısını
ızgara rehber ağacındaki düğüm sayısı oluşturur. Izgara rehber ağacının düğüm sayısı
ise organizasyona katılan herbir eksene ait bağımsız KEY yapılarındaki ağaçların
yüksekliği ve düğüm sayıları ile ilgilidir. KID yapısının ağaç yapısı bellekte
saklanabilir. Yaprak düğümlerin herbirisinin bir disk sayfasına karşılık geldiği
varsayımı ile, okunan her yaprak diskten bir sayfanın okunması anlamındadır. Bu
nedenle başarımı etkileyen en önemli parametrelerden bir tanesi sorgulama süreci
boyunca okunan sayfa sayısı, bir başka ifade ile sorgu işlemede okunan yaprak
düğümlerin sayısıdır. Bir KID organizasyonunda düğüm sayısı ızgara sayfalarının
kapasitesine yakından bağımlıdır. Yapılan deneylerde sayfa kapasitesi 200 olarak sabit
tutulmuştur. Şekil-8.2 veri kümeleri için hazırlanan KID rehber ağacındaki dizin
düğümlerinin sayılarını göstermektedir.
Kayıt Sayısı
35000
2000
1800
1600
1400
1200
1000
800
600
400
200
0
30000
25000
20000
15000
10000
Kayıt Sayıları
Düğüm Sayıları
Düğüm Sayısı
5000
0
V1
V2
V3
V4
Veri Kümesi
V5
V6
Şekil-8.2: KID organizasyonundaki kayıt ve dizin düğümleri sayıları
Şekil-8.2 KID organizasyonunda kayıt sayısının artmasıyla birlikte, elde edilen
dizin düğümleri sayısındaki değişimi göstermektedir. Düşük kayıt sayılarına sahip veri
kümelerinde dizin düğümlerinin sayılarının yüksek olması, global olarak benzerlikleri
veya uzaklıkları çakışan verilerin azlığını göstermektedir. Veri sayısındaki artış ile
176
beraber elde edilen dizin düğümü sayısı düşmektedir. Bir başka deyişle, veri sayısının
artması ile birlikte, veri uzayında özellikleri çakışan kayıtların sayıları da artmaktadır.
Şekil-8.3 ise kayıt sayısının değişmesi ile birlikte veri sayfalarının kapasite kullanım
oranlarındaki değişimi göstermektedir. Bu kapasite kullanım oranlarındaki değişimi
Şekil-8.2’de verilen dizin düğümlerindeki değişimlerle koşut olarak değişmekte, yani
kayıt sayısındaki artış ile beraber kapasite kullanım oranlarındaki değişimleri
göstermektedir.
25
Doluluk Oranı (%)
20
15
10
5
0
V1
V2
V3
V4
V5
V6
Veri Kümeleri
Şekil-8.3: KID sayfa doluluk oranları
8.3.2 Kontrol Yöntemi
KID yapısı çoklu vektörel özniteliklere sahip ilişkilerin dizinlenmesi için önerilmiş bir
yapıdır. KID yapısının başarım sonuçlarının karşılaştırmalı olarak elde edilebilmesi için
bir kontrol yöntemine gereksinim duyulmuştur. KID organizasyonun alternatifi ise,
herbir öznitelik için ilgili KEY yapılarının biribirlerinden bağımsız olarak dizinlenmesi
ve herhangi bir sorgulama sürecinin ayrı bir aşama olarak gerçekleştirilmesidir. Đlk
aşamada bağımsız KEY’ler kullanılarak kısmi sonuçlar elde edilir ve bu kısmi
sonuçların kesişim kümeleri ise ikinci bir aşamada elde edilir. Bu amaçla bu
karşılaştırmanın yapılabilmesi için, Tablo-8.1’de verilen veri kümeleri ayrı ayrı olarak
177
R-ağaç KEY yapısı kullanılarak dizinlenmiş ve elde edilen sonuçlar bir birleştirme
(join) işleminden geçirilerek yanıt kümesi elde edilmiştir. Şekil-8.4'de KID yapısı
kullanımı ve kullanılmaması durumunlarında okunan sayfa sayıları gösterilmektedir.
R-ağaç
KID
120000
Sayfa Sayısı
100000
80000
60000
40000
20000
0
V1
V2
V3
V4
V5
V6
Veri Kümesi
Şekil-8.4: S1 kümesi için sorgulama sürecinde R-ağaç veya KID kullanımıyla okunan disk
sayfa sayıları
Şekil-8.5 ise her iki yöntem için değişik veri kümeleri için ölçülen yanıt
sürelerinindeki değişimi göstermektedir. Veri sayısının artması ile birlikte, KID
kullamımının yanıt süresindeki fark açıkça görülmektedir. Elde edilen bu fark ise,
büyük ölçüde iki nedene bağlıdır. Birincisi, birden çok KEY yapısının kullanıldığı
kontrol modelinde her dokunulan veri sayfası sayısındaki büyük fark nedeni ile oldukça
karmaşık ve pahalı olan benzerlik hesaplamalarınn kullanılma zorunluluğudur. Đkinci
etmen ise, KEY yapısı
kullanılarak elde edilen her sonuçtan, yanıt setinini elde
edilmesi için birleştirme işlemine gerek duyulmasıdır. KID organizasyonunda ise, her
düğüm zaten kayıtların farklı özniteliklerine göre kesişim kümelerini içerdiği için,
birleşim işlemine gerek duyulmaz. Temel olarak bu iki nedenden dolayı yanıt süresi
kayıt sayısının artmasıyla birlikte azalma eyilimi göstermektedir.
178
450
400
Yanıt Süreleri
350
KID (S3)
300
KID (S2)
250
KID (S1)
200
R-ağaç (S1)
150
R-ağaç (S2)
R-ağaç (S3)
100
50
0
V1
V2
V3
V4
V5
V6
Veri Kümeleri
Şekil-8.5: Sorgu kümeleri için KID ve R-ağacı yanıt süreleri
Şekil-8.5'de aynı veri setleri üzerinde KID organizasyonu ve birden çok R-ağacı
kullanımı sonucunda ölçümlenen yanıt süreleri verilmiştir. R-ağacı deneylerinde her iki
boyut için ayrı R-ağaçları hazırlanmıştır. Sorgu kümesindeki her bir boyuta ait
göstergeler ilgili R-ağacı üzerinde ayrı ayrı olarak aranmış ve elde edilen iki bağımsız
yanıt kümesi daha sonra birleştirme (join) işlemine tabi tutularak sonuç yanıt kümesi
elde edilmiştir. Özellikle veri sayısındaki artış ile beraber, R-ağacı uygulamasında yanıt
süreleri doğrusala yakın bir artış gösterirken, KID uygulamamasının yanıt süresinindeki
farkı açıklıkla görülmektedir. Bu fark iki şekilde açıklanabilir. Birincisi sorgulama
süresi boyunca yapılan disk erişimi, ikincisi ise R-ağaç yapısındaki herbir boyut için
ayrı ayrı elde edilen kısmı sonuçların, final yanıt kümesinde elde etmek için birleştirme
işlemine olan gereksiniminden kaynaklanmaktadır. KID uygulamasında veriler zaten
her bir boyut için kümelendikleri için, (1) KID filtreleme işleminde etkindir (2) oldukça
karmaşık ve pahalı olan benzerlik hesaplamalarında, veri uzayının daraltılması işlemi
etkin olarak yapılabilmektedir. Bu nedenle bir sorgunun işlenmesindeki KID kullanımı
ile beraber yanıt sürelerinde dört katından daha iyi sonuçlar alınabilmektedir. Ayrıca
sorguların yanıt kümesindeki eleman sayısı arttıkça KID kullanımının birden çok
R-ağacı kullanımına göre farkı açık olarak ortaya çıkmaktadır.
179
8.4 Koşut Erişim Başarım Sonuçları
KID yapısının koşut mimarilerdeki uygulaması ağ üzerinde çalışan DEC Alpha
iş-istasyonlarının PVM (Parallel Virtual Machine) ile birbirlerine bağlanması ile
oluşturulan ortamda gerçekleştirilmiştir. Koşut uygulamada, tek işlemcili makinelerde
kullanılan veri ve sorgu kümeleri kullanılmıştır. Kaplama alanı başarımı yakından
ilgilendirmediği için, koşut erişim deneyleri sadece S1 veri kümesi kullanılarak
gerçekleştirilmiştir.
Koşut erişimin başarıma olan etkisininin test edilebilmesi için değişen işlemci
sayısının sorgulama sürelerine olan etkileri araştırılmıştır. Koşut erişimin başarım
sonuçlarını yakından ilgilendiren temel parametresi kullanılan dağıtım yöntemidir.
Altıncı bölümde önerilen yapıya alternatif olarak, kümeler içerisindeki verilerin ayrı
disklere paylaştırılması yerine, aynı küme içerisinde kalan veriler aynı işlemciye
atanmışlardır. Elde edilen sonuçlar Şekil-8.6'da gösterilmiştir.
V1
V2
V3
V4
V5
V6
90
80
Yanıt Süresi
70
60
50
40
30
20
10
0
1
2
4
Đşlemci Sayısı
Şekil-8.6: Koşut erişim yanıt süreleri
8
180
Tam
Küme
90
80
Yanıt Süresi
70
60
50
40
30
20
10
0
1
2
4
8
Đşlemci Sayısı
Şekil-8.7: Tam ve Parça Dağıtım sonucu sorgu yanıt süreleri
Daha önceki bölümlerde anlatılan Koşut Kümeleme Tabanlı Erişim (KKTE)
modelinin temeli kümeleme hipotezine dayanır. Buna göre bir sorgunun süresinin koşut
bir mimaride en aza indirgenebilmesi, birbirlerine benzeyen kayıtların bütün işlemcilere
dağıtılmasına
bağlıdır.
kümelenmesini sağlar.
KID
organizasyonu
birbirlerine
benzeyen
verilerin
Bu durumda iki alternatif yöntem söz konusudur. Birinci
yöntem, her bir kümenin elemalarının aynı işlemciye dağıtılmasıdır. Đkincisi ise,
kümeler içerisinde yer alan kayıtların tüm işlemcilere dengeli olarak dağıtılmasıdır.
Birinci yöntem parça dağıtım, ikinci yöntem ise tam dağıtım olarak adlandırılmıştır.
Şekil-8.7'de V6 veri seti için S1 sorgu kümesinin tam ve parça dağıtım
yöntemleri için ayrı ayrı yanıt süreleri sonuçlarını göstermektedir. Şekilden de açık
olarak anlaşılacağı gibi, sorgu zamanının en kısa zamana indirgenebilmesi için elde
edilen veri kümelerindeki nesnelerin mümkün olduğunca işlemcilere dağıtılması
gerektiğini göstermektedir. Bu da ileri sürülen savı doğrulamaktadır. Tam dağıtımın
uygulanmasıyla parça dağıtımına göre iki katına kadar daha iyi zamanlar elde edilmiştir.
Tam dağıtım işlemi sonucunda, herhangi bir sorgunun işlenmesi sırasında, sorguların
potansiyel yanıt kümeleri bütün işlemcilere dengeli olarak dağıtıldıkları için, herbir
işlemcinin çalışma süreleri birbirlerine yaklaşık çıkmaktadır. Bu deneyden elde edilen
sonuçlar bir önceki bölümde önerilen Koşut Kümeleme Tabanlı Erişim (KKTE)
181
modelini
desteklemektedir.
Bu nedenle, kümeleme tabanlı bir erişimde, sorgu
sürelerinin en aza indirgenebilmesinin en iyi yolu yanıt setinin mümkün olabildiğince
işlemcilere dağıtılmasıdır.
Sonuç olarak, yapılan deneyler KID kullanımının herbiri çok boyutlu vektörlerle
temsil edilebilen çok-öznitelikli verilerin erişiminde R-ağacı yöntemine göre çok daha
iyi sonuçlar verdiğini göstermektedir. Çünkü KID organizasyonunda birbirlerine benzer
nesneler aynı disk sayfalarında bulunmaktadır. Bu da çoklu vektörel özenitelikteki
erişimin başarımını iyi yönde etkilemektedir. Verilerin KID organizasyonuna katılan
bütün
özniteliklerinin
benzerliklerine
göre
gruplanması
ise,
çoklu
ortam
uygulamalarının koşut mimarilerde karşılaşılaşılan parçalama ve dağıtım problemlerine
etkin bir çözüm olarak kullanılabilmektedir.
182
9. SONUÇ
Bu çalışmada çoklu ortam dizgelerinde verilere erişimi daha etkin ve kolaylaştıracak
yol ve yöntemler üzerinde çalışılmıştır. Çoklu ortam erişimine her geçen gün artan bir
gereksinim bulunmaktadır. Bu gereksinim son yıllarda çoklu ortam verileri üreten
donanım ve iletişim olanaklarındaki gelişmenin doğal bir sonucudur. Bu gereksinimin
araştırmacılar tarafından anlaşılması üzerine çoklu ortam erişimi konusunda tam bir
araştırma patlaması bulunmaktadır. Aslında, içinde yaşadığımız şu günler çoklu ortam
erişim dizgelerinin emekleme dönemleridir. Bu nedenle bu alanda mevcut birçok
araştırma problemi bulunmakta, birçok araştırmacı farklı problemlere dikkat çekmekte,
farklı yöntemler önermektedir. Fakat, henüz bir çok probleme tatmin edici son noktayı
koyan, üzerinde anlaşmaya varılmış çözüm yolları yoktur. Çözüm yollarından önce
problemler bile tam olarak tanımlanamamıştır. Herşeyden önce, bu alandaki
problemlerin ve çoklu ortam bilişim dizgelerinin genel karakteristiklerinin ve
gereksinimlerinini
belirlenmesi,
problemlerin
açıklıkla
ortaya
konulması
ve
tanımlanması ve sınıflandırılması gerekmektedir. Bu nedenle bu tez çalışmasının ilk
bölümleri bu tür bir gereksinim analizlerine ayrılmıştır. Öncelikle, çoklu ortam
verilerinin genel özellikleri tartışılarak, çoklu ortam verilerinin tanımlanması için
kullanılan öznitelikler sınıflandırılmış, hem problemlerin daha iyi anlaşılmasına hem de
mevcut kavram kargaşalarını giderebilecek bir oydaşma sağlanmaya çalışılmıştır.
Çoklu ortam bilişim dizgelerinin gereksinim analizini kolaylaştırabilmek için,
ÇBD'lerin genel özellikleri incelenerek açıklıkla ortaya konulmuştur. Bu çalışma
içerisinde ayrıca, mevcut teknolojide yapılan en son araştırma ve geliştirilen ürün
çalışmalar incelenerek bilimin içerisinde bulunduğu son nokta ortaya konulmuştur. Bu
katkı en azından hem yeni araştırmacılara mevcut durumun özetlenmesi ve hem de bu
alanda araştırma yapmak isteyenlerin problemleri açıklıkla görebilmeleri ve
yönlendirilmeleri açısından önemlidir. Bu kapsamda, son derece önemli dört yaklaşım
ayrıntıları ile tartışılmıştır. Ayrıca çoklu ortam sorguları ayrıntılı olarak tartışılarak
sorgulama konusundaki temel yol ve yöntemler açıklıkla ortaya konulmuş ve bir
sınıflama yapılmıştır.
183
Yapılan bu ön analiz ve incelemeler ışığında bir çoklu ortam dizge modeli
geliştirilmiştir. Model son derece jenerik olarak hazırlanmıştır. Đki katmanlı bir veri
modelini bünyesinde barındıran model ile birlikte ayrıntılı olarak çoklu ortam
özniteliklerinin model ile ayrıntılı olarak nasıl bütünleştirileceği açıklanmıştır. Bu
kapsamda, birçok araştırmacı tarafından ihmal edilen kavramsal modellerdeki
benzerliklerin nasıl hesaplanabileceği üzerinde öneriler sunulmuştur. Modelde
bütünleşik çok parçalı bir sorgulama dili tasarlanmış ve dilin kullanımı ve
gerçekleştirilmesi konusunda ayrıntılı açıklamalar sunulmuştur.
Bir çoklu ortam dizgesindeki veri ve dizge modelinin önemi yadsınamaz. Fakat,
bu konuda yapılan birçok araştırmada önerilen çoklu ortam modellerinin tamamına
yakını çoklu ortam özelliklerini dikkate alan uygun dizinleme yöntemlerini ya hiç
incelememiş ya da gereken dikkat gösterilmemiştir. Eğer çoklu ortam dizge modelleri
sadece mevcut geleneksel dizinleme yöntemlerine dayandırılırlar ise, bu geleneksel veri
tabanlarını çoklu ortam verilerini de desteklemesi için zorlamaktan öteye gidemez.
Araştırmamızda da açıklıkla ortaya konulduğu gibi çoklu ortam verileri geleneksel veri
tiplerine göre oldukça farklı biçimlerdedirler. Bu bağlamda, dizinlemenin modellerin
ayrılmaz ve zorunlu bir bileşeni olduğu düşüncesi ile, çoklu ortam verilerinin gösterim
ve dizinlemesi üzerinde yapılan bir araştırma sonunda, gereksinimleri karşılayabilecek
bir dizinleme yöntemi geliştirilmiştir. Konumsal Izgara Dosyası (KID) olarak
adlandırılan dizinleme yöntemi çoklu ortam nesnelerinin heterojen özellikteki
özniteliklerinin dizinlenmesini sağlayan yegane organizasyon yapısıdır. Yapı ÇON'ların
herbiri farklı nitelik ve niceliklere sahip tanımlarının dizinlenebilmeleri için uygun
konumsal erişim yöntemlerinin bir ızgara dosyası çerçevesinde birleştirilmeleri
sağlayan bir yapıdır.
Bu tez kapsamında geliştirilen KID organizasyonu, geleneksel ızgara dosya
yapılarının doğrusal ölçek bileşenine, herbir eksen için gereğinde birbirinden farklı
konumsal/vektörel dizinleme yapılarının gömülmesi temel ilkesine dayanır. KID
yapısında, doğrusal ölçekler veri ve yöntemi bünyesinde barındıran tipik bir sınıf
nesnesi olarak temsil edilmişlerdir. KID iki disk erişimi ve eksik tanımlı sorguların
işlenmesi gibi birçok açıdan geleneksel ızgara dosyalarının genel özelliklerini
184
korumaktadır. Ayrıca, bir KID organizasyonu tüm veri uzayını dizinlemede kullanılan
özniteliklere göre birbirlerine benzer nesnelerin kümelenmesini de sağlamaktadır. Bu
ise çoklu ortam erişiminde kümeleme tabanlı erişimin ve bu erişimin koşut bilgisayar
mimarilerinde gerçekleştirilmelerini kolaylaştırmaktadır.
KID’in veri uzayını kümelemedeki bu yeteneği ise çoklu ortam verilerinin
erişimde karşılaşılan ve hala çözüme ulaştırılamamış olan G/Ç ve işlem gücü
darboğazlarının
aşılmasındaki
aşılmasında
en
yararlanılmasıdır.
etkin
Çoklu
büyük
katkılar
çözümlerden
ortam
bir
bilişim
sağlamaktadır.
tanesi
ise,
dizgelerinde
Bu
darboğazların
koşut
bilgisayarlardan
koşut
bilgisayarlardan
yararlanılması çok çalışılan bir konu olmayıp, oldukça yeni bir çözüm yoludur. Her ne
kadar değişik veri tabanı uygulamalarının koşut uygulamaları bulunuyor ise de, çoklu
ortam veri tabanlarının koşutluğu konusunda çok fazla çalışma da mevcut değildir. Bu
çalışma ile, çoklu ortam bilişim dizgelerinin koşut bilgisayarlara uyarlanmalarında
kullanılmak üzere geliştirilen Koşut Kümeleme Tabanlı Erişim (KKTE) modeli için
KID’lerin kullanımı önerilmiş ve yapılan deneylerden başarılı sonuçlar elde edilmiştir.
Hazırlanan çoklu ortam dizge modeli ve dizinleme yapısı sentetik veriler
üzerinde, tek ve koşut bilgisayarlar üzerinde test edilmiştir. Koşut bilgisayar deneyleri
sekiz iş istasyonunu içeren PVM ortamında gerçekleştirilmiştir. Elde edilen bulgular
KID organizasyonun R-ağaç modelli alternatif organizasyonuna göre sekiz kattan daha
iyi sonuçlar elde edebildikleri göstermiştir. Ayrıca, KID organizasyonu çoklu ortam
verilerinin genel benzerliklerine göre gruplama ve koşut bilgisayarlara dağıtımı
konusunda etkin bir araç olduğu yapılan deneyler sonucunda elde edilmiştir.
Bu tez çalışması kapsamında geliştirilen KID organizasyonu her ne kadar çoklu
ortam erişimi için önerilmiş olsa da, coğrafi bilişim sistemleri, konumsal/zamansal
veritabanları ile veri kazısı ve bilgi keşfi gibi alanlarda da potansiyel bir katkıya sahip
olacağı görünmektedir. Gelecekte KID organizasyonunun bu alanlardaki katkılarının
ortaya konulacağı çalışmalar yapılması düşünülmektedir.
185
KAYNAKLAR DĐZĐNĐ
Agosti, M., Melucci, M., Crestani, F., 1995, Automatic authoring and construction of
hypermedia for information retrieval, ACM Multimedia System, 3:15-24.
Aktuğ, D. and Can F., 1993, Signature Files:an integrated access method for formatted
and unformatted databases, Miami University, System Analysis Department,
Technical report, No:93-006.
Allen, J.F., 1993, Maintaining knowledge about temporal intervals, Communications of
ACM, 26:832-843.
Atkinson M. et al., 1990, The object-oriented database system manifesto, Proceedings
of First International Conference on Deductive and Object Oriented Databases,
Kyoto, Japan, pp.223-240.
Beckman, N., Kriegel, H.P., 1990, The R*-tree: an efficient and robust access method
for points and rectangles, Proceedings of ACM-SIGMOD, pp.332-331.
Benson, J., 1994, Searching for stock photos online, MACWORLD, pp.124-127.
Berchtold, S., Keim, D.A. and Kriegel, H.P., 1996, The X-tree: an index structure for
high-dimensional data, Proceedings of 22nd International Conference on Very
Large Databases, Mumbai (Bombay), India, pp.28-39.
Berrut, C., Chiaramella, Y., 1995, Modelling and indexing medical images: The RIME
approach, Proceedings of 12th International Conference on Research and
Development in Information Retrieval, Cambridge, Massachusetts, USA,
pp.25-28.
186
Bimbo, A.D., Vicario E. and Zingoni D., 1995, Symbolic description and visual query
of image sequences using spatio-temporal logic, IEEE Transaction on Knowledge
and Data Engineering, 7(4):12-24.
Can, F. and Özkarahan, E.A., 1990, Concept and effectiveness of the cover-coefficientbased clustering methodology for text databases, ACM Transactions on Database
Systems, 17(4):483-517.
Chang, H., Hou T., Hsu, A. and Chang, S., The management and applications of
teleaction objects, ACM Multimedia Systems, 3:204-216.
Chen, C.Y.R., Meliksetian, D.S., Chang, M.C., Liu, L., 1995, Design of a multimedia
object-oriented DBMS, ACM Multimedia Systems, 3:217-227.
Chen, H. H. and Su, J. S., 1986, A syntactic approach to shape recognition, Proceedings
of International Computing Symposium, pp:103-122.
Conners, R.W. and Harlow, C. A., 1980, A theorical compariton of texture algorithms,
IEEE Transactions on Pattern Analysis and Machine Intelligence, 3:204-222.
Coyle, M. , Shekhar, S. and Zhou, Y., 1994, Evaluation of Disk Allocation Methods for
Parallelizing Spatial Queries on Grid Files, Proceedings of International
Conference on Data Engineering (ICDE'94), Houston, Texas, pp.243-252.
Davis, R.S., Kent, A., Ramamohanarao, K., Thom J. and J. Zobel, 1996, Atlas: A nested
relational database system for text applications, IEEE Transactions on Knowledge
and Data Engineering, 7(3).
DeWitt, D. and Gray, J., 1992, Parallel database systems: The future of high
performance database systems, Communications of ACM, pp.85-98.
187
Dikenelli, O., Ünalir, M.O., Özerdim, A., and Özkarahan E.A., 1995, A load balancing
approach for parallel database machines, Proceedings of Third IEEE EuroMicro
Workshop on Parallel and Distributed Processing, San Remo, Italy, pp.51-58.
Dubois, S. R. and Glanz, F. H., 1986, An autoregressive model approach to
two-dimensional shape classification. IEEE Transaction on Pattern Analysis and
Machine Intelligence, 8, pp:55-66.
Du, C.H. and Sobolewski, J.S., 1982, Disk allocation for cartesian product files on
multiple disk systems, ACM Transactions on Database Systems, 7(1):82-101.
Efraimidis, P. et al, 1995, Parallel text retrieval on a high performance supercomputer
using the vector space model, Proceedings of ACM SIGIR Conference, Seattle
WA.
Egenhofer, M., 1989, A formal definition of binary topological relations, Proceedings of
3rd International Conference of Foundations of Data Organisations and
Algorithms, Paris, pp:457-472.
Eklunbh, J.O., 1979, On the use of Fourier phase features for texture discrimination,
Computer Graphics Image Processing, 9, pp.199-201.
Faloutsos, C. and Roseman, S., 1989, Fractals for secondary key retrieval, Proceedings
of the Eighth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of
Database Systems, March 29-31, Philadelphia, Pennsylvania.
Faloutsos., C et. al, 1993, Efficient and effective querying by image Content, IBM
Almaden Research Center, Research Report, RJ-9453(83074).
Faloutsos, C., Barber, R., Flickner, M., Hafner, J. et al., 1994, Efficient and effective
querying by image content, Journal of Intelligent Information Systems, 3:231-262.
188
Flickner M., et al., 1995, Query by image and video content: the QBIC system, IEEE
Computer, September.
Freeman, H. and Davis, L. S., 1977, A corner-finding algorithm for chain coded curves,
IEEE Transaction on Computer, 26, pp:297-303.
Fritzsche, J.C. 1995, Continuous media described by time-dependent data, ACM
Multimedia Systems, 3:278-285.
Furht, B. et al, 1995, Design issues for interactive television systems, IEEE Computer,
May.
Gavrila, D.M., 1994, R-Tree Index Optimization, University of Maryland, Center for
Automation Research, Technical Report, CS-TR-3292.
Gemmel, D.J., Vin H.M., Kandlur D.D., 1995, Rangan P.V. and Rowe L. A.,
Multimedia storage server: Tutorial, IEEE Computer, september:40-49.
Ghafoor, A., 1995, Special issue on multimedia database systems: Editor’s Introduction,
ACM Multimedia Systems, No:3.
Glavitsch, U., Schauble, P.,1992,
A system for retrieving speech documents,
Proceedings of ACM SIGIR Conference, pp.168-176.
Glavitsch, U., Schauble, P., Wechsler, M., 1994, Metadata for integrating speech
documents in a text retrieval systems, SIGMOD Records, 23(4):57-63.
Gray, R.S. 1995, Content-based image retrieval: color and edges, Technical Report,
Dartmouth College Department of Computer Science, Hanover, New Hampshire,
No: PCS-TR95-252.
189
Griffiths, J.G., 1986, An algorithm for displaying a class of space filling curves,
Software practice and experience, 16(5):403-411.
Gudivada, V.N. and Raghavan, V.V., 1995, Content-based image retrieval systems,
IEEE Computer, september:18-22.
Gudivada, V.N., Raghavan, V.V., and Vanapipat, K., 1996, A unified approach to data
modeling and retrieval for a class of image database applications, Multimedia
Database Systems, Edited by V.S. Subrahmanian.
Gutman, A., 1984, R-trees: a dynamic index structure for spatial searching, Proceedings
of ACM-SIGMOD, pp.44-57.
Halpern, J. and Shoham, Y., 1991, A propositional model logic of time intervals,
Journal of ACM, 38:935-962.
Haralick, R. M., Shanmugam, K. and Dinstein, I., 1973, Textural features for Image
classification,
IEEE
Transactions
on
System
Man
Sybernetics,
SMC-3(6):610-621.
Hawking, D., 1995, The design and implementation of a parallel document retrieval
engine, Technical Report, No:TR-CS-95-08, The Australian National University,
Joint Computer Science Technical Report Series.
He, Y. and Kundu A., 1991, 2-D shape classification using hidden markov model, IEEE
Transaction on Pattern Analysis and Machine Intelligence, 13(11).
Hirzalla, N.B and Karmouch, A., 1996, Multimedia database systems: design and
implementation
Strategies,
Edited
by
Knigsley
C.
Nwosu,
Thuraisingham, P. Bruce Berra, Klewer Academic Publishers, p.381.
Bhavani
190
Holt, B., and Hartwick L., 1994, Retrieving art images by image content: The UC Davis
QBIC Project, Aslib Proceedings, 46(10):243-248.
Hougen, D.R., Omohundro, S., 1988, Fast texture recognition using information trees,
University of Illinois, Center for Complex Systems Research, Technical Report,
No:CCSR-88-3.
Himatsingka, B. and
Srivastava, J., 1993, Performance evaluation of grid based
multi-attribute record declustering, University of Minnesota, Department od
Computer Science, Technical Report, TR-93-52.
Hirzalla, N.B and Karmouch A., 1996, Multimedia database systems:
design and
implementation Strategies, Edited by K.C. Nwosu, B. Thuraisingham, P.B, Berra,
Kluwer Academic Publisher, p.381.
Hsiao, J.Y. and A.A. Sawchuck, 1989, Supervised textured image segmentation using
feature smoothing and probablilistic relaxation techniques, IEEE Transactions on
Pattern Analysis and Machine Intelligence, 11(12).
Jain, A., Dubes, R, 1988, Algorithms For Clustering Data, Prentice-Hall, 1988.
Jagadish, H.V. 1991, A retrieval technique for similar shapes, Proceeding of ACMSIGMOD Conference, 1991, pp.208-217.
Jain, R., 1995, InfoScopes: Multimedia Information Systems, University of Claifornia,
San Diego, Visual Computing Lab., Technical Report, VCL-95-107.
Jain, R., Murthy, S.N.J., Chen P.L. and Chatterjee S., 1995, Similarity Measures for
Image Databases, FUZZ-IEEE'95 Conference.
Jain, R., Petland, A.P., 1995, Workshop report, NSF-ARPA Workshop on Visual
Information Management Systems.
191
Kamel I. and Faloutsos, C., 1992, Parallel R-Trees, Proceedings of SIGMOD
Conference, pp.195-204.
Kamel, I., Faloutsos and Hilbert, C., 1994, R-tree: an improved R-tree using fractals,
Proceedings of Conference on Very Large Data Bases (VLDB'94), pp.500-509.
Kau, S.C. and Tseng, J., 1994, MQL-A query language for multimedia databases,
Proceedings of 2nd Internetional Conference on Multimedia, pp.511-516.
Khalfallah, H., Karmouch, 1995, A., An architecture and data model for integrated
multimedia documents and presentational applications, ACM Multimedia
Systems, 3:238-250.
Kim, M.H. and Pramanik, S., 1988, Optimal file distribution for partial match retrieval,
Proceedings of the ACM SIGMOD Conference, pp.173-182.
Koudas, N. and Sevcik, K.C., 1995, Spatial Join Processing and Data Placement in
Parallel Spatial Databases, ADB.
Koudas, N., Faloutsos, C. and Kamel I., 1996, Declustering spatial databases on a multicomputer architecture, EDBT, pp.592-614.
Kukich, K. 1992, Techniques for automatically correcting words in text, ACM
Computing Survey, 24(4):208-217.
Kunii, T.L., Shinagawa, Y., Paul, R.M., Khan, M.F. and Khokhar, A.A., 1995, Issues in
storage and retrieval of multimedia data, ACM Multimedia Systems, 3:298-304.
Lie, W. N. and Chen, Y. C., 1986, Shape representation and matching using polar
signature, Proceedings of International Computer Symposium, 1986, pp:103-122.
192
Lillesand, T.W. and Kiefer, R.W., 1994, Remote Sensing and Image Interpretation,
John Willey & Sons. Inc., pp.526.
Lin, K., Jagadish, H.V. and Faloutsos, C., 1994, The TV-tree : an index structure for
high dimensional data, Journal of VLDB, 3(4):517-542.
Liu, D. and Shekhar, S., 1996, Partioning similarity graphs: a framework for
declustering problems, Information Systems, 21(1):475-496.
Lomet, D., 1992, A review of recent work on multi-attribute access methods, SIGMOD
Records, 21(3): 56-63.
Löhr, M., Rakow, T.C., 1995, Audio support for an object-oriented databasemanagement systems, ACM Multimedia Systems, 3:286-297.
Manjunath, B.S. and Ma, W.Y., 1996, Texture feature for browsing and retrieval of
image data, Multimedia Tools and Applications, 2(1):35-51.
Mao, J. and Jain, A. K., 1992, Texture classification and segmentation using
multi-resolution simultaneous aouto-regressive models, Pattern Recognition, 25,
pp.247-255.
Marcus, B.S. and Subrahmanian V.S., 1995, Heterogeneous multimedia reasoning,
IEEE Computer, September: 33-39.
Mechkour, M., 1995, EMIR2: An Extended Model for Image Representation an
Retrieval, Database and Expert System Applications (DEXA), London.
Mehrotra, R. and Gary, J.E., 1995, Similar-shape retrieval in shape data management,
IEEE Computer, september:57-62.
193
Mehrotra, R. and Gray, J.E., Feature-index-based similar shape retrieval, Proceedings
of Of 3rd Working Conference On Visual Database Systems, 1995, pp.46-65.
Nahrstedt, K. and Steinmetz R., 1995, Resource management in networked multimedia
systems, IEEE Computer, May.
Nalwa, V.S. and Binford T.O., 1986, On detecting edges, IEEE Transactions on Pattern
Analysis and Machine Intelligence, PAMI(8):6.
Narasimhalu, A.D. 1995, Special section on content-based retrieval:editor’s
introduction, ACM Multimedia System, 3:1-2.
Niblack, W. et al., 1993, The QBIC project: query images by content using color,
texture, and shape, Research Report,
IBM Research Division, No: RJ-9203
(81511).
Nievergelt, J., Hinterberger H. and Sevcik, K.C., 1984, The Grid file:an adaptable
symmetric multikey file structure,
ACM Transaction on Database System,
9(1):38-71.
Niu, Y., Özsu, M. T., Li, X., 1995, A study of image indexing techniques for
multimedia database systems, The University of Alberta, Department of
Computing Science, Technical Report, TR 95-19.
O’Connell, W. et al., 1996, A teradata content-based multimedia object manager for
massively parallel architectures, Proceedings of SIGMOD, Montreal-Canada.
Ogle, V.E. and Stonebraker M., 1995, Chabot:Retrieval from a relational database of
images, IEEE Computer, september: pp.40-48.
Orchard, M.T. and Bouman, C.A., 1991, Color quantazation of Images, IEEE
Transactions on Signal Processing, 39(12).
194
Özkarahan E.A. and Can F., 1986, An automatic and tunable document indexing
system, Proceedings of ACM Conference on Research and Development in
Information Retrieval.
Özkarahan E.A., 1986, Database Machines and Database Management, Prentice Hall
Inc., Englewood Cliffs, N.J., ISBN 0-13-196031-8, 636 pages.
Özkarahan E.A., and F. Can, 1984, An integrated fact/document information system for
office Automation, Information Technology, 3(3).
Özkarahan, E., F.Can, Multi-media
Document Represantaion and Retrieval, ACM
Multimedia Systems, 1991.
Özkarahan, E.A., 1995, Multimedia document retrieval, Journal of Information
Processing and Management, 31(1), pp.113-131.
Özkarahan, E.A., 1985, Dynamic and order preserving data partitioning for database
machines, Proceedings of Conference on Very Large Database, Stochholm.
Özsu, M.T., Szafron, D., El-Medani, G. and Vittal C., 1995, An object-oriented
multimedia database system for a news-on-demand application, ACM Multimedia
Systems, No:3.
Pazandak, P., Srivastava, J. and Carlis J., 1995, Temporal component of DAMSEL,
Second Workshop on Protocols for Multimedia Systems (PROMS'95), Salzburg,
Austruia.
Pazandak, P., Srivastava, J., 1996, Requirements for MMDBMS, Technical Report,
University of Minnesota.
195
Person, E. and Fu, K. S., 1977, Shape discrimination using Fourier descriptors, IEEE
transaction on System Man Cybernetics, 8, pp:170-179.
Petkovic, D., 1996, Recent application of IBM’s query by Image Content (QBIC), IBM
Research Report, RJ-10006 (890095).
Picard, R.W. and T.P. Minka, 1995, Vision texture for annotation, ACM Multimedia
System, 3:3-14.
Pullar, D., Egenhofer, M., Towards formal definition of topological relations among
spatial objects, Proceedings of 3rd International Symposium on Spatial Data
Handling, Sydney, pp:225-242.
Rijsbergen, C.J, 1979, Information Retrieval, Internet version, Second Edition, London.
Robinson, J.T., 1981, The KDB-tree: A search structure for large multidimensional
dynamic indexes, Proceedings of ACM-SIGMOD Conference, pp.10-18.
Roussopoulos N. and Kelley, S. and Vincent F., 1995, Nearest neighbor queries,
Proceedings of SIGMOD Conference, pp.71-79.
Rubner, Y. and
C. Tomasi, 1996, Coalescing texture descriptors, ARPA Image
Understanding Workshop.
Samet H., 1990, Design and Analysis of Spatial Data Structure, Addison-Wesley
Publishing Company, Inc, Newyork, pp.493.
Santini, S. and Jain, R., 1996, Similarity Queries in Image Database, Proceedings of
International Conference on Computer Vision and Pattern Recognition (IEEE,
CVPR'96), Sanfrancisco.
196
Schatz, B. and Chen, H., 1996, Building large-scale digital libraries, IEEE Computer,
May.
Schloss, G.A. and Wynblatt M.J., 1995, Providing definition and temporal structure for
multimedia data, ACM Multimedia Systems, 3:264-277.
Sellis, T. and Roussopoulos, N., 1987, The R+-tree : A Dynamic Index for
Multi-dimentional Data, Proc. of the VLDB Conference, pp.507-518.
Sevcik, K.C. and Koudas, N., 1996, Filter trees for managing spatial data over a range
of size granularities, Proceedings of International Conference on Very Large
Databases (VLDB'96), pp.16-27.
Shawney, H., and Hafner, J., 1994, Efficient color histogram indexing, Proceedings of
Int. Conference On Image Processing, 1994, pp.66-70.
Shen, H. C. and Wong A . K. C., 1983, Generalized texture representation and metrics,
Computer Graphics Image Processing, 23, pp.187-206.
Shen, H. C. and Bie, C. Y. C., 1992, Feature frequency matrices as texture
representation, Pattern Recognition, 13, pp:195-206.
Siew, L.H., Hodgson R.M. and Wood, E., 1988, Texture measure for carpet wear
assessment, IEEE Transaction on Pattern Analysis and Machine Intelligence,
10(1).
Silberschatz, A., Stonebraker, M. and Ullman, J., 1994, Databases systems:
achievements and opportunities, Communication of The ACM, 34(10).
Simon, R. et al, 1995, Multimedia mednet: a medical collaboration and consultation
System, IEEE Computer, May.
197
Sistla, P., Yu C. and Haddad R., 1994, Reasoning about spatial relationships in picture
retrieval systems, Conference Proceedings of VLDB.
Sistla P. and Yu C., 1997, Retrieval of pictures using approximate matching,
Multimedia Database Systems: Issues and Research Direction, Ed. V.S.
Subrahmanian, S. Jajodia, Springer.
Smith, J.R. and Chang, S. 1996, Automated binary texture feature sets for Image
retrieval, Proceeding of IEEE ICASSP, Atlanta GA.
Smith, J.R. and Chang, S., 1995, Tools and techniques for color image retrieval,
Proceedings of Storage & Retrieval for Image and Video Databases IV, Vol:2670.
Smith, J.R. and Chang, S., 1996, Local color and texture extraction and spatial query,
Proceedings of IEEE International Conference on Image Processing.
Srihari, R.K., 1995, Automatic indexing and content-based retrieval of captioned
images, IEEE Computer, september: 49-56.
Staehli, R., Walpole, J., and Maier, D., 1995, A quality-of-service specification for
multimedia presantations, ACM Multimedia Systems, 3:251-263.
Stricker, M., Swain, M., 1994, The capacity and the sensitivity of color histogram
indexing, The University of Chicago, Department of Computer Science, Technical
Report, No:94-05
Subrahmanian, V.S. and Jajodia S. (Eds.) 1996, Multimedia Database Systems,
Springer, Newyork, pp.314.
Swets, D.L. and Weng, J.J., 1993, Efficient content-based image retrieval using
automatic feature selection, Proceedings of International Conference on Computer
Vision, Berlin, Germany, pp.121-128.
198
Tamminen, M, 1981, The EXCELL method for efficient geometric access to data, Acta
Polytechnica Scandinavica, Mathematics and Computer Science Series, No:34,
Helsinki, Finland.
Tomasi, C. and L.J. Guibas, 1994, Image descriptions for browsing and retrieval, ARPA
Image Understanding Workshop, Monterey CA.
Unser, M., 1986, Sum and difference histograms for texture classification, IEEE
Transactions of Pattern Analysis and Machine Intelligence, (8)1, pp:118-125.
Valduriez, P., 1993, Parallel database systems: Open problems and new issues,
Distributed and Parallel Databases, No.1.
Vilnrotter, F.M., Nevatia, R. and Price, K.E., 1986, Structural analysis of natural
textures, IEEE Transactions on Pattern Analysis and Machine Intelligence,
PAMI-8(1).
White, D.A. and Jain, R., 1996, Algorithms and strategies for similarity Retrieval,
University of California, Visual Computing Lab., Technical Report, VCL-96-101.
White, D.A. and Jain, R., 19??, Similarity indexing: algorithm and performance,
Proceedings of Storage and Retrieval for Image and Video Databases - IV, pp.6275.
White, D.A. and Jain, R., 1995, Similarity indexing with the SS-tree, Proceedings of
International Conference on Data Engineering (ICDE'96), pp.516-523.
Wirth, N., 1986, Algorithms and data structures, Prentice-Hall Inc., Englewood Cliff,
NJ, 1986.
199
Worboy, M. F., 1992, A generic model for planar geographical objects, International
Journal of Geographical Information Systems, pp:353-372.
Wu, J. S., and Leou, J. J., New polygonal approximation schemes for object shape
representations, Patern Recognition, 26, pp:471-484.
Wu, J.K., Narasimhalu, A.D., Mehtre B.M., Lam, C.P. and Gao Y.J., 1995, CORE: A
content-based retrieval engine for multimedia information systems, ACM
Multimedia Systems, 3:25-41.
Yoshikata, A., Kishida, S., Hirakawa, M. and Ichikawa, T., 1994, Knowledge assisted
content-based retrieval for multimedia databases, IEEE Multimedia, winter,
pp.12-21.
Zakaria, M. F., Vroomen, L. J., Zsombor-Murray, P. J. A. and Kessel, J. M. H. M, 1987,
Fast algorithm for the computation of moment invariants, Pattern Recognition, 20,
pp:639-643.

Benzer belgeler

Linked Data Üzerinden Doğal Dil Sorgularını - CEUR

Linked Data Üzerinden Doğal Dil Sorgularını - CEUR inceleyen değerli hocam Prof. Dr. Esen ÖZKARAHAN’a tüm bu özverili katkılarından

Detaylı