Transcript
Page 1: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 1

Unicode を用いた N-gram 索引の一実現方式とその評価

原田昌紀・風間一洋・佐藤進也日本電信電話 ( 株 )未来ねっと研究所

Page 2: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 2

発表内容

研究の背景と目的 N-gram 方式の選定理由 Unicode ベースの N-gram 索引実現方式

– Unicode 文字シーケンスの正規化– N-gram 長を可変とする分割アルゴリズム

WWW サーチエンジンへの適用例 言語に依存した検索処理 まとめ

Page 3: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 3

研究の背景

Unicode– 世界中の文字を 16bit 単位の Unicode 文字で表

現するマルチスクリプト文字集合

Unicode ベースの全文検索実現方式の検討– HTML , XML などの規格に対応するため– 多言語対応の情報検索システムへの第一歩

Page 4: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 4

全文検索モジュール Jerkyの開発方針 言語に依存した処理の分離

– Unicode ベースの索引– 辞書を必要としない索引づけ方式の採用

スケーラビリティの確保– 分散情報探索システムのノードでの利用から,

大規模なロボット型サーチエンジンまで マルチプラットフォーム

– Java による実装

Page 5: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 5

索引づけ方式の検討(1) 転置索引(単語単位・形態素単位)

○ 検索精度が高い× 辞書のメンテナンスが必要× 言語ごとに形態素解析システムが必要

Suffix Array (文字単位)○ 高速な文字列検索を実現できる× 索引サイズが大きい× 検索時に検索対象テキストにアクセスする必要

がある

Page 6: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 6

索引づけ方式の検討(2) 転置索引( N-gram 単位)

○ 言語に依存した辞書が不要○ 日本語・中国語・韓国語などでの実績○ 単語・形態素単位とのハイブリッド方

式も可能△ 検索速度・索引サイズは中程度

大規模システムではチューニングが必要

× 検索ノイズの発生 京都→東京都,ルパン→ダブルパンチ N-gram 単位では不可避の問題,言語ごとに対応

Page 7: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 7

N-gram 転置索引の構成

...

imode

検索

報検

アルゴリ

……

検索シス

報検索 検索エン

語彙ファイル 参照ファイル

文書

生起位置情報

Page 8: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 8

N-gram 方式の Unicode ベースでの実現 課題1:同じ文字が異なる Unicode 文字

シーケンスで表されることがある→ 1.分割前に文字シーケンスの正規化

課題2:性質の異なる多様な文字の存在→ 2.文字プロパティに基づいて記号類を判定→ 3.文字ブロックごとに異なる単位で分割

Page 9: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 9

文字シーケンスの正規化(1) “Canonical Decomposition / Composition”

– 文字をそれと本質的に同一な文字シーケンスに分解する/合成する

“Compatibility Decomposition”– ( Canonical Decomposition に加えて)     

互換性のために定義されている文字を標準的な文字 シーケンスに分解する

ö ⇔ o +¨

ヤ⇒ヤ G⇒ G ℃⇒ °+ C

Page 10: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 10

文字シーケンスの正規化(2)

N-gram で索引づけする場合→ Compatibility Decomposition で分解した 後に, Canonical Composition で合成する

文字プロパティによる不要文字の判別– 例:文字プロパティが Letterあるいは Digit以外

の文字は空白に置換

コード⇒コート゛ ⇒コード

Page 11: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 11

Basic Latin U+0000 ~ U+007FLatin1 Supplement U+0080 ~ U+00FF

:Cyrillic U+0400 ~ U+04FFThai U+0E00 ~ U+0E7F

:Arrows U+2190 ~ U+21FF

:Hiragana U+3040 ~ U+309FKatakana U+30A0 ~ U+30FFCJK Unified Ideographs U+4E00 ~ U+9FFF Hangul Syllables U+AC00 ~ U+D7A3

:

Unicode 文字ブロックごとに分割単位を設定

表: Unicode2.1 の文字ブロック(抜粋)

単語(空白区切り )単語(空白区切り)

単語(空白区切り)4-gram

無視(索引づけしない)

3-gram4-gram2-gram3-gram

Page 12: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 12

N-gram への分割アルゴリズム 文字ブロックごとに N-gram 長を設定 異なる文字ブロックが隣接する部分は 2-

gramD502iを買いました↓ 文字ブロックごとに分割

D502i,を,買,いました↓ Basic Latinは単語単位に,

Hiraganaは 3-gram単位に分割

D502i,を,買,いまし,ました,した,た↓ 1-gramは 2-gramに展開

D502i, i を,を買,買い,いまし,ました,した,た

Page 13: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 13

N-gram 長パラメータの設定

トレードオフの存在→目的に応じて決める1. N-gram 長と検索速度

– N-gram 長が大きいほど,位置情報の I/O が減少– N-gram 長より短い文字列の検索には時間がかかる

2. N-gram 長と転置索引のサイズ– 語彙ファイルの大きさは指数関数的に増大– 参照ファイルの大きさは一定

Page 14: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 14

N-gram 転置索引の構成(再掲)

...

imode

検索

報検

アルゴリ

……

検索シス

報検索 検索エン

語彙ファイル 参照ファイル

文書

生起位置情報

Page 15: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 15

実データに基づく N-gram 長の推定

サーチエンジンODINへの適用結果– 約597万URLのHTMLファイルを索引づけ

– 1999年10月1日~10月31日に使用された検索語85,697語における字種の分布– N-gramの頻度と索引ファイルにおける占有率

– Hiragana, Katakana, CJK Unified Ideographsに適したパラメータ

Page 16: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 16

検索語における漢字連続長

字種が多いため, 3-gram 以上は非現実的→CJK Unified Ideographs は 2-gram 単位

02000400060008000100001200014000160001800020000

1 2 3 4 5 6 7 8 9 10 11 12

全体字種混在

Page 17: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 17

検索語におけるひらがな連続長 漢字やカタカナと混在することが多い

→Hiragana は 3-gram 単位

0

1000

2000

3000

4000

5000

6000

1 2 3 4 5 6 7 8 9 10 11 12

全体字種混在

Page 18: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 18

検索語におけるカタカナ連続長 カタカナは 3 文字以上連続することが多い

→平均的には Katakana は 4-gram 程度が高速

0

1000

2000

3000

4000

5000

6000

7000

1 2 3 4 5 6 7 8 9 10 11 12

全体字種混在

Page 19: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 19

転置索引(参照ファイル)の占有率

漢1

漢2

‐漢 平

‐平 漢平1平2

‐平 片片1片2片3

‐片 漢

‐平 3

片4 対象テキストにおける字種の頻度を反映

漢 -平 ,平 -漢がなければ,ひらがな1文字を含んだ語の検索は困難

Page 20: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 20

言語に依存した検索処理の追加

文書と検索語の言語情報が一致する場合には検索処理を拡張可能– ステミング,正規化,辞書の利用など– 同じ文字シーケンスでも,特定の言語にのみ

マッチ 言語情報を付加した索引づけ

– 可変長 N-gram による分割+転置索引という構成をベースに実現可能

語彙ファイルに N-gram と言語情報と格納

Page 21: Unicode を用いた N-gram 索引の 一実現方式とその評価

2000/Mar/22 136第 回自然言語処理研究会 21

おわりに

まとめ– 字種によって N-gram の長さを可変とする

索引づけ方式を Unicode ベースで実現した– 日本語 WWW サーチエンジンを例に,その

適用方法を示した 課題・今後の予定

– 日本語以外、CJK以外への適用と評価– N-gram と形態素解析を併用した分割


Top Related