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

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

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for masaya82 masaya82
February 14, 2018
140

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

Avatar for masaya82

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