情報システム講義:内容と担当者dl.kuis.kyoto-u.ac.jp/lecture/doc/infosystem00.pdf(z値,領域名)をb+木...
TRANSCRIPT
情報システム講義:内容と担当者[配当学年]3年後期
[担当者]田中克己 [email protected] 内線5969,10号館331
角谷和俊[email protected] 内線5979,10号館332
[内容]情報システムを構築するための基礎となる理論および構築技術について講述.特に,Web 情報などに代表される半構造データ処理,情報アクセス・情報検索技法,情報システムに用いられるデータ形式や データ通信・配信方式の諸技術,基盤となる理論・応用について講述.
教材・参考書など[教材(配付資料)]
教材は講義ノート(Powerpoint)およびプリント配布
[参考書](1) C.Zaniolo, S.Ceri,C.Faloutsos,R.T.Snodgrass, V.S.Subrahmanian, R.Zicari, “Advanced Database Systems” Morgan Kaufmann Pub.Part IV -Spatial, Text and Multimedia Databases-(2) 鈴木,中川,福岡,森,細谷著,「情報データベース技術」,電気通信協会(3) David A. Grossman and Ophir Frieder, “Information Retrieval –Algorithms and Heuristics-”, Kluwer Academic Publishers (1998)
概要
主な応用
伝統的な索引法副次索引(転置ファイル,グリッドファイル,k-D木)
空間アクセス法(空間充填曲線,R木)
テキスト検索(全文検索,転置,シグニチャファイル,ベクトル空間モデル,クラスタリング)
マルチメディアの索引法基本概念,GEMINI,1次元時系列データ(距離関数,特徴抽出,離散フーリエ変換),2次元画像など
空間,テキスト,マルチメディアDB
空間・文字・マルチメディアデータの高速な探索
多次元データ
1次元データ(文書,株価・音声等の時系列データ)
2次元データ(画像,地図等)
完全一致,近似的一致
内容検索 (Query By Content)
日没のカラー写真と色分布が類似した写真を検索
この1週間と類似した過去の株価の動きを検索
各種応用(1)画像データベース(Image DB)
色・形状・テクスチャによる検索
時系列データ (Time Series Data)
株価変動パターンの類似検索
科学データベース(Scientific DB),遺伝子DB時空間データ <x,y,z,t,気圧,気温,…>
地球環境データベースSequoia2000 (UCB) http://s2k-ftp.CS.Berkeley.EDU:8000/
大規模文字列データ ATTACGG….の文字列一致
医用データベース(Medical DB)症状(時系列)データ,2D/3D画像データ(X線画像,MRI画像)
テキスト・写真DBデジタル図書館(ASCIIテキスト,ビットマップ,グレイスケール・カラー画像)
半構造データベースLore (Lightweight Object Repository) (Stanford U.)http://www-db.stanford.edu/lore/
各種応用(2)
デジタルライブラリ (1)UCB Digital Library Project (UC Berkeley)
http://elib.cs.berkeley.edu/
http://elib.cs.berkeley.edu/photos/demos.html(画像内容検索)
IBM Digital Library
http://www.ibm.com/Features/library/
Stanford Digital Library Project (Stanford Univ.)
http://www-diglib.stanford.edu/diglib/pub/(種々のprojects)
デジタルライブラリ (2)Informedia (Carnegie Mellon Univ., CMU)
http://www.informedia.cs.cmu.edu/
Digital Libraries Initiative (DLI) (U. of Illinois at Urbana-Champaign)
http://dli.grainger.uiuc.edu/
ALEXANDRIA Digital Library (UCSD)http://alexandria.sdc.ucsb.edu/ (空間データ)
Informedia とは
Carnegie Mellon Universityが研究して
いる
Digital Video Library
音声認識技術、画像認識技術、自然言語
処理技術を用いて情報検索を行う
Informedia の機能
画像認識技術の使用ビデオ中の字幕の抽出
顔の輪郭などエッジの抽出
カメラや対象の動作の抽出
音声認識技術の使用ビデオ中の音声の文章化、インデキシング
音声入力による検索
自然言語処理キーワードのマッチングを用いた検索
伝統的な索引法Traditional Indexing Methods
副次キー(Secondary Keys,副次索引)主キー(Primary Key)による検索→B木やハッシュ
レコードの任意の属性値(の組合わせ)による検索
Rivestの分類・完全一致質問:すべての属性値の指定・部分一致質問:一部の属性の値の指定・範囲質問:ある属性に関して値の範囲を指定・ブール質問:AND/OR/NOTの組み合わせ
近傍質問(nearest neighbor/best match query)salary≒45000 and age≒55
副次索引:転置ファイル(Inverted Files)
EMPLOYEE (name, salary, age)のsalary属性に関する転置ファイル
転置ファイルのレコードの論理的構造(salary属性値,この属性値を持つEMPLOYEEレコードへのポインター)
B木やハッシュ表による実装
ブール質問の処理:ポインターの集合操作salary=10K & age=24(salary, age転置ファイル)
転置ファイルの生成:RDBMS SQLの“CREATE INDEX”命令
...
...10K
38K
55K
Salary Index
EMPLOYEEName Salary
Jones
Smith
55K
38K
...B木
Postingslists
Salary属性に関するB木副次索引
副次索引:グリッドファイルGrid File
k個の属性を持つレコードをk次元空間の点として表現
k次元空間をグリッドに分割.各グリッドに点を均等配分
各グリッドは1つのディスクページに対応
ディレクトリのレコード:(0≦age<25,”A”≦name<“M”,ディスクページ
番号)
副次索引:k-D木元来,主記憶ベースのアクセス法
アドレス空間を重なりの無い領域に分割
構造は2分木(binary tree)節点は(左ポインタ,データレコード,右ポインタ)2分木の各レベルにdiscriminator属性(Round robin法で決定)が対応
完全一致・範囲・近傍質問の処理に適する
属性A2(eg. salary)
(eg. age)
属性A1
20
40
60
20 40 60
(40, 50)
(20, 30)
(10, 10)
discriminator
A1
A2
A1
(40, 50)
(20, 30)
(10, 10)
A1 < 10
A2 < 30
A1 < 40 A1 >= 40
A2 >= 30
A1 >= 10
k-D木の例
Point Access Method (PAM)点データを扱うアクセス法
Grid File, k-D木
ディスクベースのPAM
k-D B木2分木からm分木への拡張各節点が,discriminator属性の値をm個の領域に分割
hB木各節点やディスクページの内容をk-D木で構成
空間アクセス法(Spatial Access Methods: SAMs)
多次元の点,線,多角形などの幾何学的なものを扱う
空間充填曲線(space-filling curve, z-ordering, 線形quadtrees)
R木およびその変形
伝統的な関係DB(k個の属性からなるレコードはk次元空間の点)
地理情報システム(GIS)
医療用画像DB(3次元MRI脳スキャン画像)
マルチメディアDB(多次元オブジェクトは特徴ベクトル空間での点)
空間アクセス法の応用(1)
時系列データ解析(k個の連続した点列はk次元空間の点)
テンポラルDB(1つのイベントは時間区間や2次元長方形)
エキスパートDBのルールのindex(空間のある領域が概念に相当)
空間アクセス法の応用(2)
空間オブジェクトの検索(1)
点や領域を指定→該当する空間オブジェクトを求める.範囲質問,近傍質問,空間結合
範囲質問
指定した領域とintersect (contain)する空間オブジェクトを求める.「神戸市から100km以内にあるすべての市」「兵庫県にあるすべての河川」
近傍(nearest neighbor)質問指定した点・領域に最も近い空間オブジェクトを求める.「神戸大学に最も近い郵便局を3つ求めよ」
空間結合(spatial join)・オーバーレイ指定した領域と空間オブジェクトで関連あるものを結合「この湖から10km以内のすべての市を求めよ」
空間オブジェクトの検索(2)
空間充填曲線(z-ordering)正方形の空間(イメージ)
イメージは2K×2K個の小正方形(ピクセル)に分割.Kはビット数.
イメージ内の小正方形(ピクセル)に全順序
X座標 00, 01, 10, 11,Y座標 00, 01, 10, 11
Shuffle関数:X座標の2桁目,Y座標の2桁目, X座標の1桁目,Y座標の1桁目
ピクセル(00,11)→0101→5(10進法)ピクセル(00,01)→0001→1(10進法)
0 4 8 12 16
00 01 10 11
00
01
10
11
AB
C
X
イメージ
ピクセル
空間充填曲線(Z-ordering)2次元空間でK=2の場合
領域C z値(01,00)→0010→2(10,00)→1000→8領域B(10,10)→1100→12(10,11)→1101→13(11,10)→1110→14(11,11)→1111→15索引(z値,領域名)をB+木で表現.Z値がキー
質問(10,11) →1101→13
Z-orderingによる質問処理(1)
範囲質問
指定された領域→対応するピクセルのZ値の集合
00 01 10 11
00
01
10
11
AB
C
X
質問領域BのZ値11(10,10)→1100→12(10,11)→1101→13(11,10)→1110→14(11,11)→1111→15該当する空間オブジェクト(10,11)→1101→13(11,10)→1110→14
Z-orderingによる質問処理(2)
近傍質問
指定された点P→対応するピクセルのZ値→最も近いZ値をもつ空間オブジェクトを探索→質問点との距離 rを計算→点Pを中心とする半径rの範囲質問を実行
00 01 10 11
00
01
10
11A
B
C
X
指定された点P
半径1の範囲
R木(R-Trees)Guttman提唱.B木を多次元オブジェクトに拡張.
空間オブジェクト(2次元領域など)は,それを含む最小の長方形(MBR, Minimum Bounding Rectangle)で表現.
R木の節点→ディスクページ葉節点:最大m個のレコード(オブジェクトid,オブジェクトのMBR)
非葉節点:最大m個のレコード(子節点へのポインタ,子節点内のすべてのMBRを含むMBR)
テキスト検索(Text Retrieval)が何をもたらすか?
マルチメディアオブジェクト検索
フリーテキスト(図のキャプションなど)による検索
有用なアイデア
適合フィードバック(Relevance Feedback)
ベクトル空間モデル(Vector Space Model)
種々の応用
図書館自動化,WWW上の情報検索,法律・法令検索,特許情報検索,電子百科事典,電子辞書,情報フィルタリング,...
シグニチャファイル(Signature Files)
アイデア:“quick and dirty”フィルタ
答えにならない文書群のほとんどを早く排除する.
フィルタの結果
答えになる文書はすべて含む
答えにならない文書(false drops)も若干含む
全文テクストスキャニングなどで除く
signaturefile text file
… JoSm ... … John Smith ...
…. ….
シグニチャファイルの例
各文書中の各単語の先頭2文字を記憶
実際にはあまり用いられない
シグニチャシグニチャシグニチャシグニチャ長長長長: F = 12 各単語各単語各単語各単語でででで1111となるとなるとなるとなるビットビットビットビット数数数数::::m = 4
Word Signature
data
base
document signature
001 000 110 010
000 101 101 001
001 010 111 011
Superimposed Codingによるシグニチャファイル
ベクトル空間モデル(Vector Space Model)
indexing各文書をV次元ベクトルで表現.ベクトルの各要素は{1,0}または正実数(語の重み)(Vは,文書群から抽出された索引語の総数)(ストップワードリストやシソーラスの利用)
cluster generation類似ベクトル群をグループ化
cluster search質問(ベクトル)にもっとも類似のクラスタを検索
‘zoo’
… data...
Document
indexing‘Aaron’ ‘data’
... ...
ベクトル空間モデルのindexing
*出現:1,非出現:0*語の出現頻度(正規化)* tf/idf法(term frequency/inverse document frequency)
similarity関数
文書間のsimilarity関数cosine similarity functioncos(xxxx,yyyy) = xxxx 〇 yyyy / (||xxxx|| ||yyyy||)
文書-クラスタ間のsimilarity関数
文書とクラスタの中央値(centroid)間のcosine similarity function
クラスタ内の文書との距離のうち最小のもの
クラスタ内の文書との距離のうち最大のもの
クラスタ生成(cluster generation)
sound method
グラフ理論的アプローチ
文書間の類似度がある閾値を超えたものを枝(edge)で結ぶ → 無向グラフ
無向グラフ中の連結成分(connected component)または極大クリーク(clique,部分完全グラフ)を1つのクラスタとする.文書数Nに対してO(N×N)以上の計算量必要
ランク付き出力と適合フィードバック
質問・文書のベクトル表現がもたらすもの
ranked output, relevance feedback
ランク付き出力
質問に対し類似度の高い文書順に出力
適合フィードバック
検索された文書群の中からユーザが文書を選択
質問ベクトルの修正= 質問ベクトル+選択された文書のベクトル ー選択されなかった文書のベクトル
マルチメディア・インデキシング
内容(コンテンツ)によるマルチメディアデータの探索
予測・診断・教育・仮説検証・データ発掘などに有用
GEMINI(Generic Multimedia Object Indexing)
時系列データとイメージデータを対象
基本的アイデア(1)
マルチメディアオブジェクト間の距離
マルチメディアオブジェクト OA, OB
距離(非類似度)関数 D(OA, OB)
例:等長の時系列データ((x1-y1)2+….+(xn-yn)2) 1/2 ユークリッド距離
基本的アイデア(2)
問合せ(Queries)
問合せもマルチメディアオブジェクト Q
全体一致 (Whole Match)Qからある距離 ε 内にあるオブジェクトを探索
部分(パターン)一致 (Subpattern Match)Qにマッチする部分をもつオブジェクトを探索
検索に関する要件
高速性逐次スキャンに基づく距離計算は遅すぎる
正当性正しい答えはすべて返す。(false dismissals がない!)
正しくない答 (false alarms) は含んでも可。
小さなスペース。
動的:オブジェクトの追加・削除・更新が容易なこと。
全体一致質問のためのGEMINI例:株価の時系列データ S, 質問 Q 距離関数 D( ) オブジェクトの特徴 (Feature):k個の数字 F( ) :オブジェクトをk次元空間の点に写像 F(Q)から距離ε内にある点を検索 実際のオブジェクトとQの距離を計算し false alarmsを排除
D(S, Q) ≡ ( ∑ (S[i]-Q[i])2 ) 1/2l
i = 1
全体一致質問のためのGEMINIF-index (Feature Index)
k次元空間の点集合の空間索引(R木やR*木を利用)
F-indexの探索(1) 質問オブジェクトQを特徴空間の点F(Q)に変換
(2) 空間アクセス法をもちいて,F(Q)から距離ε内にある点を検索
(3) 本当の距離を計算しfalse alarmsを排除
データベースデータベースデータベースデータベース::::時系列時系列時系列時系列データデータデータデータ S1, …Sn; 各時系列各時系列各時系列各時系列データデータデータデータはははは特徴空間上特徴空間上特徴空間上特徴空間上のののの点点点点許容度許容度許容度許容度εの質問は,半径εの球
S1
Sn1
1
365
365
.
.
Feature2
F(S1)
F(Sn)e
Feature1
全体一致質問のためのGEMINI
特徴空間上の距離 Dfeature
GEMINIが,全体一致質問に対してfalse dismissalsを起こさないためには,特徴関数 F( )は次式を満たす: Dfeature(F(O1),F(O2))≦D(O1,O2)
十分条件:Dfeature(F(O1),F(O2))≦D(O1,O2)
質問オブジェクト:Q,答えとなるオブジェクト:O
近傍質問の許容距離: ε「OがQの答えならば,特徴空間でOはQの答えとなる」ことを証明
すなわち,「D (Q,O) ≦ ε ならばDfeature(F(Q),F(O))≦ ε」を証明すればよい.
D (Q,O) ≦ ε と 条件Dfeature(F(Q),F(O))≦D(Q,O)から,明らかにDfeature(F(Q),F(O))≦ ε が成立
GEMINIオブジェクト間の距離関数D( )を決定
1つ(又はそれ以上の)特徴抽出関数 F( )を見つける
特徴空間での距離Dfeature(F(O1),F(O2)) ≦オブジェクト間距離 D(O1,O2)となることを証明
空間アクセス法によってk次元特徴ベクトルを扱う
1次元時系列データのためのGEMINI
データベース:等長の時系列データの集合
質問:1つの時系列データ
答え:質問に類似する時系列データの集合
時系列データS, Q
Len(S): Sの長さ
S[I:J]: Sの I番目からJ番目までの部分系列
S[I] : Sの I 番目の要素
D(S,Q) : SとQの距離
1次元時系列データのためのGEMINI距離関数
ユークリッド距離
多くの場合に有用
多の類似度は,適当な変換の後,特徴ベクトルのユークリッド距離に帰着可能
他の距離関数(Time-Warpingなど)
ユークリッド距離をlower-boundする特徴ベクトル
条件
元の距離関数をlower-boundする
false alarmsができるだけ少ない
特徴抽出関数
平均全体平均,前半平均,後半平均,最初の1/4の平均,...(アダマール変換の係数に類似)
離散フーリエ変換 (Discrete Fourier Transform)
離散フーリエ変換(DFT)
信号 xxxx = x0,x1,x2,…..,xn-1
xxxxのn点離散フーリエ変換 X X X X = X0,X1,X2,……,Xn-1 (Xfは複素数)
X0 = 1/√(x0・exp(0) + x1・exp(0)+ …+xn-1・exp(0))
X1 = 1/√(x0・exp(0) + x1・exp(-j2π/n)+ …+xn-1・exp(-j2π(n-1) /n))
逆変換 x1 = 1/√(X0・exp(0) + X1・exp(j2π/n)+ …+Xn-1・exp(j2π(n-1) /n))
n
n
n
Parsevalの定理|x0|
2 + |x1|2 + ……+ |xn-1|
2 = |X0|
2 + |X1|2 + ……+ |Xn-1|
2
DFTは線形変換なので,D(x, y x, y x, y x, y ) = D(X, Y X, Y X, Y X, Y ).すなわち,DFTはユークリッド距離を保存する.
DFTの最初のk個の係数を特徴とすると Dfeature(F(xxxx),F(yyyy)) = |X0|
2 + |X1|2 + ……+ |Xk-1|
2 ≦ |X0|
2 + |X1|2 + ……+ |Xn-1|
2 = |x0|
2 + |x1|2 + ……+ |xn-1|
2 = D(x, yx, yx, yx, y )
DFTパッケージ(Mathematicaパッケージ,Cパッケージなどあり)
DFTの性能の良さ
最悪のケース:白色雑音の場合.つまり各xiがxi-1, xi+1に対して完全に独立な場合.
実際の信号:random walks (brown noise)など前の値に依存.
実験結果:k=2または3で十分な結果を示す.
DFT
サブパターン・マッチング(1D時系列の場合)
N個の時系列データ集合 {S1, S2, …, SN}
長さは可変
質問:部分系列Q(長さ Len(Q)≧w≧1),許容度ε
答え:(Si, k)D(Q, Si[k: k+Len(Q)-1] )≦εD:ユークリッド距離
逐次スキャン法よりもスペースの少ない方法
ST Index (Subtrail Index)I-naive法(Index naive法)
時系列Siを長さwの部分系列に(重複を許して)分割
長さwの各部分系列を,w点DFT変換.
W点DFTの係数k個を特徴関数値として利用
時系列Siは,特徴空間上で,trail(小径)として表現される,
trailの各点をすべて記憶(R*木などを利用)
S1
1 200offset t = 1
t = 2t = 3
w
Feature 1(first coefficient of
|w|-point DFT)
Feature 2(2nd DFT
coefficient)
t = 2
t = 1
t = 3
I-naive法
ウインドウ幅 w時系列データ S1を,最初から,k個ずつに区切る.長さ kの部分系列を特徴空間に写像(DFTの利用)特徴空間で,S1は,点列(小径)であらわされる.
Trailををををsubtrailにににに分割分割分割分割....各各各各subtrailからからからからMBRをををを形成形成形成形成....MBRをををを階層的階層的階層的階層的ににににグループグループグループグループ化化化化ししししR*木木木木にににに格納格納格納格納....
F2
F1
F2
F1
C1
C2
MBR1MBR2
ST Index
質問質問質問質問::::長長長長ささささwのののの時系列時系列時系列時系列データデータデータデータ....特徴空間特徴空間特徴空間特徴空間ではではではでは点点点点Q....Qからからからから半径半径半径半径εεεεのののの円円円円とととと重重重重なるなるなるなるMBRをををを検索検索検索検索....False alarmsをををを取取取取りりりり除除除除くくくく....
F2
F1
C1
C2
Qvalue
timew
ST Index:short queryの場合
質問
長長長長いいいい質問質問質問質問Q::::長長長長ささささwののののp個個個個のののの質問質問質問質問Q1,Q2 (p=2)にににに分割分割分割分割....Q1, Q2からからからから半径半径半径半径εεεε/sqrt(p) のののの円円円円とととと重重重重なるなるなるなるMBRをををを検索検索検索検索....検索検索検索検索されたされたされたされたMBRのののの和集合和集合和集合和集合をとるをとるをとるをとる....False alarmsをををを除除除除くくくく....
ST Index: long queryの場合
F2
F1
C1
C2
Q2Q1 εεεε/sqrt(p)
value
timew w
Part 1 Part 2
長い質問