ネット時代の情報セン ス
基礎情報科学のトピックス
2
はじめに
計算理論概説
情報検索技術
データ圧縮技術
喜田のこれまでの研究
さいごに
コンピュータができること
きれいに整形した文書をプリ ンタを使って印字できる
3D CG
をグリグリ動かして動
画を作ることができる
美しい音楽を奏でることがで きる
本を読むことができる
メールを遠くの友人に送るこ とができる
ある決まった手順にしたがっ
て,計算ができる
4
計算とは?
A. M. Turing
万能 Turing 機械と 計算可能な関数族 A. Church and S. C. Kleene
λ 定義可能
K. Godel 帰納的関数
Church
の提唱
(1936)「アルゴリズムをもつ関数と
帰納的関数とを同一視しよう」
5
計算可能性
コンピュータには(原理的に)計算できない問題がある
(プログラムの)停止問題 (1936, Turing)
「あるプログラムがきちんと計算を終了して停止するかどうか を決定するようなプログラムは存在しない」
Post の対応問題 (1946, Post)
「任意に与えた = x1, x2, ・・・ , xk, = y1, y2, ・・・ , yk, に対 して, xi1 xi2・・・ xi k = yi1 y2・・・ yi k
となる添え字の列が存在するかどうかを決定する問題は非可解 である」
ENIAC(1946) > 世界最初のコンピュータ ABC(1942) > 計算可能性
6
アルゴリズムと計算量
計算可能 ⇔ アルゴリズムが存在する
入力長の多項式程度の時間で計算できる → P 問題
答えが与えられたら,入力長の多項式程度の時間で答えが正 しいかどうかを検算できる → NP 問題
P NP ?
問題
まだ未解決
真にむずかしい問題 → NP 完全問題
NP 完全問題が P に含まれるかどうかが鍵
現実的には
NP完全問題は効率よく解くことができな い
実用的なアルゴリズム
入力長に比例した時間で問題を解けることが望ましい
77
情報検索技術 情報検索技術
氾濫する情報の渦から必要な情報をすばや
氾濫する情報の渦から必要な情報をすばや
く取り出すには情報検索の技術が不可欠で
く取り出すには情報検索の技術が不可欠で
ある ある
8
索引構造 vs 文字列照合
テキ スト デー タ
索 引 構 造 作 成 エン ジン 索 引 構 造 作 成 エン ジン
索引
項目検索用DB
索引
全文検索用DB
項 目 検 索 用 エン ジン
項 目 検 索 用 エン ジン
全 文 検 索 用 エン ジン
全 文 検 索 用 エン ジン
検 索 アプ リ 検 索ア プリ
索引構造を用いた検索
テキ スト デー タ
全文検索用DB
項 目 検 索 用 エン ジン 全 文 検 索 用 エン
ジン 項目検索用 エン ジン 全 文 検 索 用 エン ジン
検 索 アプ リ 検 索ア プリ
文字列照合を用いた検索
namazu とか
9
文字列照合アルゴリズム
文字列照合問題とは
文字列照合問題を解決するアルゴリズム
Knuth-Morris-Pratt 法 (1974)
Boyer-Moore 法 (1977)
Bit-parallel 手法 (1987)
テキスト
:オモイコンダラシレンノミチヲイクガオトコノ パターン
:オトコ
O( テキストの長さ + パターンの長さ )
O( テキストの長さ + パターンの長さ )
10
特殊な文字列照合問題
一般化文字列照合問題
(Generalized Pattern Matchin g) 092-627-72XX ( X
は
0~
9の数字
)
**えもん
(*は任意の文字
)
ミスマッチを許した文字列照合問題
パターン:ムーミン,誤りは一つまで許す 正:「ユーミン」「ノーミン」「ムーラン」
誤:「ラーメン」「ローソン」「ノーシン」
近似文字列照合問題
NATO NATTO
KATO GTO
例
: 1NAGOYA
1
2
3
文字列照合の応用
キーワード検索
テキスト・データベース 処理
データ整形
データ・マイニング
スペル・チェッカー
ゲノム情報処理
etc…
12
余談:文字コード
文字コード
コンピュータは内部で文字を数値として認識している
例:「 Kyushu 」 は 「 4B 79 75 73 68 75 」のバイト (byte) 列
ASCII コードと ISO646
ASCII は文字コードの基本. 1963 年に誕生.アメリカの文字コード
ISO646 は国際規格. ASCII を基本に各国独自で 12 文字を変更可能.
日本の文字コード
符号化文字集合: JIS X 0208 ( 94×94 文字の表.2バイトで一文 字)
符号化方法: JIS(ISO-2022-JP), Shift-JIS, EUC
Unicode と ISO10646
世界中の文字を一つの文字コードで表現しよう!
Unicode :16ビットで一文字 ISO10646 :31ビットで一文字
UTF-8 : 無理やり ASCII の上位互換にしたコード
参考文献:「文字コードの世界」安岡孝一,安岡素子, ISBN4-501-53060-X
:「パソコンにおける日本語処理/文字コードハンドブック」川俣晶
1313
データ圧縮技術 データ圧縮技術
大量のデータを効率よく保存するため,ある
大量のデータを効率よく保存するため,ある
いはネットワーク上での転送時間を短縮する
いはネットワーク上での転送時間を短縮する
ためには,データ圧縮技術が不可欠である
ためには,データ圧縮技術が不可欠である
14
符号化とデータ圧縮
符号化
情報(記号列)をデジタル化すること
データ圧縮
データ中の冗長な情報を取り除くことで,データのサイズ を小さくすること
データ圧縮=モデル化+符号化
「 abacabad 」を符号化すると何ビット必要?
情報量と効率のよい符号化
情報量
ビット数
= log2(出現確率)
「 abacabad 」を符号化すると何ビット必要?
a: 1/2, b: 1/4, c: 1/8, d: 1/8 だから,
必要なビット数 = 1×4 + 2×2 + 3×1 + 3×1 = 14 ビット a: 0, b: 10, c: 110, d: 111
abacabad:= 0 10 0 110 0 10 0 111
効率のよい符号化
ベル研の
C. Shannonと
MITの
R. M. Fanoによる符号化
よりよい手法:
Huffman符号化(最小冗長符号)
16
データ圧縮法あれこれ
データ圧縮法
適応的 Huffman 符号化
算術符号化
LZ77, LZ78, LZW (辞書ベース圧縮)
Burrows Wheeler 変換を用いた圧縮
データ圧縮プログラム
compress
gzip
LHArc
bzip2
1717
喜田のこれまでの研究 喜田のこれまでの研究
データ圧縮技術と文字列照合技術の融合
データ圧縮技術と文字列照合技術の融合
18
研究の目的
起動実験「やります。 僕が乗ります」「起動確率は0.00 00000001%」 セントラルドグマ「初号機、完全に沈 黙」せめて、人間らしく「僕はもうエヴァには乗りませ ん」覚醒 強迫観念「ダメなのね・・・もう」シンクロ率 400%「逃げちゃだめだ、逃げちゃだめだ・・・」アン ビリカルケーブル断線「活動限界まで4分53秒」「私に は他に何もないもの・・・」ヤシマ作戦 決戦、第3新東 京市「あんたバカァ」セカンドインパクト「私達は選ぶ 余裕なんてないのよ。生き残るための手段をね」強羅絶 対防衛線 完璧なユニゾン「命令があればそうするわ」自 己修復中 ジェリコの壁 人類補完計画「とれないや。血 の匂い」
起動実験「やります。 僕が乗ります」「起動確率は0.00 00000001%」 セントラルドグマ「初号機、完全に沈 黙」せめて、人間らしく「僕はもうエヴァには乗りませ ん」覚醒 強迫観念「ダメなのね・・・もう」シンクロ率 400%「逃げちゃだめだ、逃げちゃだめだ・・・」アン ビリカルケーブル断線「活動限界まで4分53秒」「私に は他に何もないもの・・・」ヤシマ作戦 決戦、第3新東 京市「あんたバカァ」セカンドインパクト「私達は選ぶ 余裕なんてないのよ。生き残るための手段をね」強羅絶 対防衛線 完璧なユニゾン「命令があればそうするわ」自 己修復中 ジェリコの壁 人類補完計画「とれないや。血 の匂い」
文書ファイル群
’
’
圧縮文書ファイル群
圧縮されたデータに対する 文字列照合
圧縮テキスト
圧縮テキスト
原テキス
ト
原テキス ト
文字列照合機械普通の
圧縮テキストに対する 文字列照合機械
展開
圧縮テキスト 圧縮テキスト
20
研究の成果
0 0.2 0.4 0.6 0.8 1.0 1.2 1.4
5 10 15 20 25 30
パタンの長さ
CPU
時 間
(秒)compress(LZW) に KMP を組込み AlphaStation XP1000
(Alpha21264: 667MHz) Tru64 UNIX V4.0F
Genbank ( DNA 塩基配 列) 17.1Mbyte
AlphaStation XP1000 (Alpha21264: 667MHz) Tru64 UNIX V4.0F
Genbank ( DNA 塩基配 列) 17.1Mbyte
提案アルゴリズム (1998)
gunzip(LZ77) に KMP を組込み
ビットパラレルによる高速化 (1999) 非圧縮テキストを KMP で照合
* compress はUNIX のLZW 圧縮の圧縮ツール
* gunzip はUNIXのLZ圧縮の復号ツール
21
新たな目標
文字列照合 アルゴリズム文字列照合 アルゴリズム
主記憶装置上
文字列照合 アルゴリズム文字列照合 アルゴリズム
圧縮文字列照合 アルゴリズム 圧縮文字列照合
アルゴリズム
主記憶装置上
復号
二次記憶装置上
テキストデータ
主記憶装置上
主記憶装置上
転送 転送
転送
新 目 標新 目 標
二次記憶装置上
圧縮テキスト
目 標目 標
二次記憶装置上
圧縮テキスト
22
最終的な成果
AlphaStation XP1000 (Alpha21264: 667MHz) Tru64 UNIX V4.0F
Medline (英文テキスト)
60.3Mbyte
AlphaStation XP1000 (Alpha21264: 667MHz) Tru64 UNIX V4.0F
Medline (英文テキスト)
60.3Mbyte
5 10 15 20 25 30
パタンの長さ 0.0
0.3 0.4 0.5 0.8
0.1 0.2 0.6 0.7
CPU
時 間
(秒)非圧縮テキストを KMP で照合
非圧縮テキストを Agrep で照合 BPE 圧縮テキストに対する照合
* Agrep はWu&Manberが開発した検索ツール
* KMPは Knuth-Morris-Pratt 法
* BPEは Byte Pair Encoding 圧縮法
BPE 圧縮テキストに対する Boyer-Moore 型のアルゴリズム を用いた照合( Shibata ら [2000] )
23
余談:論文の衝突
第一次ショック (at CPM’99)
T. Kida, et al., Shift-And Approach to Pattern Matching in LZW Compressed Text
G. Navarro and M. Raffinot, A General Practical Approach to Pat tern Matching over Ziv-Liempel Compressed Text
第二次ショック (at CPM2000)
Y. Shibata, et al., A Boyer-Moore type algorithm for compressed pattern matching
G. Navarro and J. Tarhio, Boyer-Moore string matching over Ziv -Lempel compressed text
G. Navarro とその家族
2424
さいごに さいごに
現在取り組んでいること
半構造化データに対する文字列照合に関する研究
大量の XML データに対し,タグ構造を見ながら検索できる.
これまでの研究から,データ圧縮を用いて高速化できないか?
半構造化データを高速に照合できるデータ圧縮法の開発.
<RDF:RDF>
<RDF:Description RDF:HREF=“ 基礎情報科学のトピックス.pp t”>
<DC:Creator> 喜田 拓也</DC:Creator>
</RDF:Description>
</RDF:RDF>
<RDF:RDF>
<RDF:Description RDF:HREF=“ 基礎情報科学のトピックス .pp t”>
<DC:Creator> 喜田 拓也 </DC:Creator>
</RDF:Description>
</RDF:RDF>
26
最近気になる言葉
パターン言語
ヒューメイン・インタフェース
ユビキタス・コンピューティング