情報システム講義:内容と担当者dl.kuis.kyoto-u.ac.jp/lecture/doc/infosystem00.pdf(z値,領域名)をb+木...

78
情報システム講義:内容と担当者 [配当学年]3年後期 [担当者] 田中克己 [email protected] 内線5969,10号館331 角谷和俊 [email protected] 内線5979,10号館332 [内容] 情報システムを構築するための基礎となる理論お よび構築技術について講述.特に,Web 情報など に代表される半構造データ処理,情報アクセス・情 報検索技法,情報システムに用いられるデータ形 式や データ通信・配信方式の諸技術,基盤となる 理論・応用について講述.

Upload: tranhuong

Post on 17-Apr-2018

217 views

Category:

Documents


4 download

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)

履修にあたっての注意

[予備知識]

データ構造, データベース,コンピュータネットワークに関する予備知識を有するのが望ましい。

[評価]

試験およびレポートを予定.

情報学科CSコース情報システム(3年後期)

講義ノート

田中克己

角谷和俊

概要

主な応用

伝統的な索引法副次索引(転置ファイル,グリッドファイル,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)

QBIC (Query By Image Content)形の類似検索

色の配分

類似パターン

QBIC http://wwwqbic.almaden.ibm.com/

スケッチ類似検索

オブジェクトの形と配置

QBIC:全体一致

デジタルライブラリ (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 Library の構築

Informedia の機能

画像認識技術の使用ビデオ中の字幕の抽出

顔の輪郭などエッジの抽出

カメラや対象の動作の抽出

音声認識技術の使用ビデオ中の音声の文章化、インデキシング

音声入力による検索

自然言語処理キーワードのマッチングを用いた検索

質問要求に対する処理

Edge Detection

入力画像からエッジを検出する

Face Detection

画像内の人物の顔を検出する

伝統的な索引法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”,ディスクページ

番号)

属性A2(eg. Name)

Z

M

A0 25 37.5 50 100属性 A1

(eg. age)

2つの属性を持つレコードのGrid File

副次索引: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

空間充填曲線(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-order curves for 2 x 2, 4 x 4, and 8 x 8 grids

空間充填曲線(Z-ordering)

0 1

00

10

01 1100

01

11

10

Why Z-ordering?

右に90度回転

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の範囲

Z-orderingによる質問処理(3)

空間結合

「湖を横切るすべての鉄道を求める」

湖→対応するZ値の集合→ソート鉄道→対応するZ値の集合→ソート2つのソートされたZ値集合をマージ

R木

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)以上の計算量必要

iterative method

サンプルから適当なクラスタ(seeds)作成.ある文書をそれに最も近いクラスタに追加.クラスタのセントロイドを修正,これを繰り返す.高速.

クラスタ生成

qクラスタ探索(cluster search)

ランク付き出力と適合フィードバック

質問・文書のベクトル表現がもたらすもの

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) は含んでも可。

小さなスペース。

動的:オブジェクトの追加・削除・更新が容易なこと。

全体一致質問のためのGEMINIquick-and-dirty test答えでないオブジェクトを排除

空間アクセス法の利用

全体一致質問のための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 )

任意の正規直交変換(離散コサイン変換(DCT),ウエーブレット変換など)

ユークリッド距離を保存する変換

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

長い質問