Upgrade to Pro — share decks privately, control downloads, hide ads and more …

特徴ベクトルを用いた全文検索について(2)

masaya82
February 14, 2018
120

 特徴ベクトルを用いた全文検索について(2)

masaya82

February 14, 2018
Tweet

More Decks by masaya82

Transcript

  1. 特徴ベクトルによる検索 例:key=“search AND algorithm” 1 =full text search 2 =inverted

    index file 3=sequential search algorithm 4=index search algorithm 5=information retrieval algorithm
  2. 特徴ベクトルによる検索 _ 1 =1 1 0 0 0 0 0

    1 _ 2 =0 1 0 1 1 0 0 0 _ 3 =1 1 0 0 0 0 1 0 _ 4 =1 0 0 1 0 0 1 0 _ 5 =0 0 0 1 0 1 1 0 “ℎ” =0 0 0 0 0 0 1 0 “ℎ” =1 0 0 0 0 0 0 0 =1 0 0 0 0 0 1 0 3 , 4 が一致 →逐次検索で3 , 4 が条件に当てはまることを確認
  3. 特徴ベクトルによる検索 例:key1=“search OR algorithm” key2=“NOT sequential”, 1 =full text search

    2 =inverted index file 3=sequential search algorithm 4=index search algorithm 5=information retrieval algorithm “ℎ” =0 0 0 0 0 0 1 0 “ℎ” =1 0 0 0 0 0 0 0 1 =1 0 0 0 0 0 1 0 "" =0 1 0 0 0 0 0 0
  4. 特徴ベクトルによる検索 _ 1 =1 1 0 0 0 0 0

    1 _ 2 =0 1 0 1 1 0 0 0 _ 3 =1 1 0 0 0 0 1 0 _ 4 =1 0 0 1 0 0 1 0 _ 5 =0 0 0 1 0 1 1 0 1 =1 0 0 0 0 0 1 0 ~ 1 =0 1 1 1 1 1 0 1 2 =0 1 0 0 0 0 0 0 key1では2 が一致(他の文書は不一致) → 2 以外を逐次検索し、1 , 2 , 3 , 4 が条件に当てはまることを確認 key2では4 , 5 が不一致(他の文祖は一致) → 4 , 5 以外を逐次検索し、1 , 2 が条件に当てはまることを確認
  5. 特徴ベクトルによる検索 例:key1=“NOT sequential(1 )” key2=“search(2) OR algorithm()” key3=key1 AND key2

    1 =full text search 2 =inverted index file 3=sequential search algorithm 4=index search algorithm 5=information retrieval algorithm 文書 NOT s1 s2 OR a D1 U U D2 U F D3 U U D4 T U D5 T U
  6. 特徴ベクトルによる検索 文書 NOT s1 s2 OR a D1 U U

    D2 U F D3 U U D4 T U D5 T U AND F U T F F F F U F U U T F U T 文書 (NOT s1) AND(s2 OR a) D1 U D2 F D3 U D4 U D5 U
  7. 分割管理による特徴ベクトルの構成法 文書中の索引語が多くなると文書シグネチャーのほとんどの ビットが1に →文書の特徴が分かりにくく、フォルスドロップが増加 例 1 =full text search 2

    =inverted index file 3=sequential search algorithm 4=index search algorithm 5=information retrieval algorithm =full text search inverted index file sequential search algorithm index search algorithm information retrieval algorithm _ = 1 1 0 1 1 1 1 1
  8. 分割管理による特徴ベクトルの構成法 例 1 =full text search 2 =inverted index file

    3=sequential search algorithm 4=index search algorithm 5=information retrieval algorithm _ 1 =1 1 0 0 0 0 0 1 _ 2 =0 1 0 1 1 0 0 0 _ 3 =1 1 0 0 0 0 1 0 _ 4 =1 0 0 1 0 0 1 0 _ 5 =0 0 0 1 0 1 1 0 =full text search inverted index file sequential search algorithm index search algorithm information retrieval algorithm ={1 1 0 0 0 0 0 1, 0 1 0 1 1 0 0 0, 1 1 0 0 0 0 1 0, 1 0 0 1 0 0 1 0, 0 0 0 1 0 1 1 0 }
  9. 分割管理による特徴ベクトルの構成法 (1)ビット・スライスト・シグネチャー・ファイル 各ブロック・シグネチャーのビット位置ごとにビットスライスと呼 ばれる単位でシグネチャーを格納 例 1 1 0 0 0

    0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 1 0 _1=1 0 1 1 0 _2=1 1 1 0 0 _3=0 0 0 0 0 _4=0 1 0 1 1 _5=0 1 0 0 0 _6=0 0 0 0 1 _7=0 0 1 1 1 _8=1 0 0 0 0 _ 1 _ 2 _ 3 _ 4 _ 5
  10. 分割管理による特徴ベクトルの構成法 検索例 key=“full” ( “” =0 0 0 0 0

    0 0 1) _8 に注目して検索単語シグネチャーと比較 左から1ビット目のみ一致 →1 のみを逐次検索すればOK →検索量を減らせる 検索単語シグネチャーの1となっている ビットが増えても同様のことができる _1=1 0 1 1 0 _2=1 1 1 0 0 _3=0 0 0 0 0 _4=0 1 0 1 1 _5=0 1 0 0 0 _6=0 0 0 0 1 _7=0 0 1 1 1 _8=1 0 0 0 0