【てんちいんでっくす】

転置インデックス とは?

最終更新:
💡 「APIはどこに書いてある?」に答える、文書の逆引き索引

単語から、その単語を含む文書のID一覧を引ける索引。検索のたびに全文書を読み直す代わりに、あらかじめ作った「単語→文書」の対応を使う。

📌 このページのポイント
転置インデックス:単語から文書へ元の文書単語の索引(抜粋)1:Python API 入門2:API 設計ガイド3:Python 機械学習Python → 1, 3API → 1, 2語ごとにIDを記録Python AND API共通する文書IDは「1」
図の索引は2語の抜粋。ANDは共通の文書、ORはいずれかを含む文書を選びます。
ひよこ ひよこ
何をひっくり返しているの?
ペンギン先生 ペンギン先生
「文書1にはPythonとAPIがある」という見方を、「Pythonは文書1と文書3にある」という見方に変えているんだ。本の巻末索引で、言葉から掲載ページを探すのと似ているよ
ひよこ ひよこ
検索するたびに全部の文章を読むの?
ペンギン先生 ペンギン先生
転置インデックスを使う検索では、先に索引を作っておくよ。検索時は単語に対応する文書IDの一覧を調べられる。ただし、文書が増えたり変わったりしたら、索引も更新する必要があるんだ
ひよこ ひよこ
PythonとAPIの両方がある文書はどう探すの?
ペンギン先生 ペンギン先生
図ではPythonがあるのは文書1と3、APIがあるのは文書1と2だね。ANDなら両方の一覧にある文書1を選ぶ。ORなら少なくとも片方にある文書1・2・3を選ぶよ
ひよこ ひよこ
日本語でも同じようにできる?
ペンギン先生 ペンギン先生
どこで語を区切るかを決める必要があるよ。日本語では形態素解析で区切ったり、一定の文字数ごとに分けたりする方法がある。英語も記号や表記の扱いを考えるので、空白だけで常に十分とは限らないんだ
ひよこ ひよこ
一覧の先頭が、一番よい検索結果なの?
ペンギン先生 ペンギン先生
文書IDの順番だけで、内容が一番合うとは言えないよ。検索語を含む文書を見つけたあと、関連度を計算して並べる仕組みを組み合わせることがある。文書を登録するときと検索するときで、語の区切り方や整え方を合わせるのも大切なんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「転置インデックス」って出てきたら「単語から文書を探す逆引き索引」と思えばだいたいOK!
📖 おまけ:英語の意味
「Inverted Index」 = 転置索引
💬 通常の「文書→単語」の関係をInvert(反転)して「単語→文書」にしたからこの名前だよ

参考資料

← 用語集にもどる