IIR輪講復習 #1 Boolean retrieval

Slides:



Advertisements
Similar presentations
電子書籍の検索機能の改善 木下研究室 201002713 鴫原 善寿. 背景 スマートフォンなどの携帯端末の普及と ともに電子書籍に注目が浴びた。中でも amazon の kindle など電子書籍の専用端末も 現れた。 電子書籍はデータなので本棚もいらず、 持ち運びも容易になるなど様々な恩恵を もたらした。
Advertisements

プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
大規模コーパスから獲得した 名詞の出現パターンを用いた 事態名詞の項構造解析
IIR輪講復習 #2 The term vocabulary and postings lists
基本情報技術概論 I 演習(第5回) 埼玉大学 理工学研究科 堀山 貴史
知識情報演習Ⅲ(後半第5回) 辻 慶太
Webアプリケーション開発の 基本的なポイント
情報工学科 06A2055 平塚 翔太 Hiratsuka Shota
Java I 第2回 (4/18)
ファイルやフォルダを検索する ①「スタート」→「検索」→「ファイルとフォルダ」とクリックする。
知識情報演習Ⅲ(後半第1回) 辻 慶太(水)
JavaによるCAI学習ソフトウェアの開発
Shelf-Navigator ユーザ動作による書籍相関抽出機構
基本情報技術概論(第4回) 埼玉大学 理工学研究科 堀山 貴史
情報爆発A01支援班 マイサーチエンジン開発環境支援グループ 中村聡史, 大島裕明, 田中克己, 喜連川優
平成19年5月19日 第3版 東京大学理学部生物化学図書室 前田 朗
共同ローカリゼーション フレームワーク 井上 謙次.
情報検索演習 第2回 前から4列目までに着席すること 2005年10月05日 後期 水曜5限 江草由佳 国立教育政策研究所
情報検索演習の基礎 1.どういう検索をするのか コンピュータを用いた検索である
形態素解析および係り受け解析・主語を判別
テキストの類似度計算
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
EBSCOhost 詳細検索 チュートリアル support.ebsco.com.
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
ターム分布の確率モデル Zipfの法則:使用頻度の大きな語は語彙数が少なく,使用頻度の小さな語は語彙数が多い
CiNii Articlesトップページ クイックガイド <キーワードによる検索方法>
IIR輪講復習 #5 Index compression
データ構造と アルゴリズム 第四回 知能情報学部 新田直也.
PDF管理Webアプリケーションの制作 ~PDFファイル探索時間の短縮化~
Semi-Supervised QA with Generative Domain-Adaptive Nets
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
はてな流大規模データ処理.
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
プログラム実行履歴を用いたトランザクションファンクション抽出手法
IIR輪講復習 #4 Index construction
画像ピボットパラフレーズ抽出に向けて 大阪大学 NAIST Chenhui Chu,1 大谷 まゆ,2 中島 悠太1
データ構造とアルゴリズム 第4回 リスト ~ データ構造(1)~.
IIR輪講復習 #10 XML retrieval
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
東京工科大学 コンピュータサイエンス学部 亀田弘之
IIR輪講復習 #17 Hierarchical clustering
東京大学OPAC Plus “言選Web” -関連学術用語による日本語文献情報への 簡易ナビゲーションシステム-
IIR輪講復習 #3 Dictionaries and tolerant retrieval (前半)
プリムのアルゴリズム 重み付きグラフG=(V,E)の任意の点集合 U⊂Vに対して一方の端点がUの中にあり、他方の端点がV-Uの中にあるような枝の中で最小の重みを持つものをlとすれば、枝lを含むような最小木が存在する。
3-6.インデックスについて 3-7.関数と併用されることの 多いMySQLコマンド
知識情報演習Ⅲ(後半第3回) 辻 慶太
クイックガイド <キーワードによる検索方法>
Javaを対象としたソフトウェア部品 検索システムSPARS-Jの実験的評価
ソースコードの特徴量を用いた機械学習による メソッド抽出リファクタリング推薦手法
アルゴリズムとデータ構造1 2005年7月1日
アルゴリズムとデータ構造1 2009年6月29日
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
知識情報演習Ⅲ(後半第3回) 辻 慶太
Javaソフトウェア部品検索システムSPARS-Jの実験的評価
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
既存ソフトウェア中の 頻出コード片を用いた コード補完手法の提案
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
1. “Web of Science”とは 論文を検索する
コーディングパターンの あいまい検索の提案と実装
基礎技術ー3 : Webページの標準規格について
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
構造的類似性を持つ半構造化文書における頻度分析
コーパス コーパス(Corpus)はコンピュータの発達とともに、計算機可読なデータを容易に作成・収集することができるようになったことがその背景にある。現在ではコーパス言語学などの学問もある。
平面走査法を使った 一般線分の 交点列挙アルゴリズム
ソフトウェア理解支援を目的とした 辞書の作成法
コンパイラ 2012年10月11日
知識ベースの試作計画 ●●●研究所 ●●●技術部 稲本□□ 1997年1月.
「図書系職員のための アプリケーション開発講習会」
Presentation transcript:

IIR輪講復習 #1 Boolean retrieval

お知らせ たつをさんによる補足情報 http://chalow.net/clsearch.cgi?cat=IIR わかりやすい。今後もお願いします。

参考 http://www-csli.stanford.edu/~hinrich/information-retrieval-book.html 本資料は書籍の輪読会に向けたサマリ 資料内で一部上記ドキュメントからの引用あり

Information Retrieval とは Large collections (≒ コンピュータに保存されたデータ) から 欲しい情報の Unstructured nature (≒ テキスト) を含む Material (≒ドキュメント) を探す

Unstructured data コンピュータで扱いやすいようにはなってない → 検索しやすいように

情報検索のスケール システム構成はスケールに依存する 大: Web検索 中: ドメイン特定の検索、業務検索 小: 個人検索 (デスクトップ検索)

テキスト走査とインデックス

テキスト走査 O(N) grep Pros Cons 実装が容易 正規表現 大量のドキュメントに向かない 「複数のドキュメントから、一番欲しいドキュメントを検索する」(ranked retrieval) に向かない

インデックス Pros 大規模データを高速に検索 Ranked retrieval Cons 設計/実装が大変 ← これの勉強をしましょう

行列インデックス

Boolean Retrieval “渋谷” AND “ラーメン” AND NOT “とんこつ”

行列インデックス → 転置インデックス “Naive way” 大量にドキュメントがあるとメモリに載らない。インデックスが大きすぎる。 ほとんど 0 → 1 だけを記録するインデクスへ = 転置インデックス

転置インデックス 索引語 (term) => @docID (postings list)

転置インデックス dictionary をメモリに postings をディスク上 (外部ファイル化)

転置インデックスの簡単な作り方 インデックス化する文を取得 トークナイズ 言語上の (linguastic) 前処理 Friends, Romans, Countrymen So let it be with Caesar トークナイズ Friends|Romans | Countrymen |So | ... 言語上の (linguastic) 前処理 friend | roman | countryman | so | ... term => (docID) のデータ構造に friend => 1, roman => 1, countryman => 1

転置インデックス完成一歩手前

merge してソート → 完成

転置インデックスのソート dictionary はアルファベット順 posting list は docID 順 dictionary から term を探しやすいように posting list は docID 順 Boolean retrieval での Intersection 時のアルゴリズムに有利なように

posting list に向いているデータ構造 単方向リスト 可変長配列

転置インデックスと Boolean 検索 Brutus AND Calpurnia Brutus を dictionary から探す Brutus の posting list を取得 Calpurnia を dictionary から探す Calpurnia の posting list を取得 共通部分の抽出 (Intersect)

Intersect

より複雑な Boolean Retrieval (A or B) and (C or B) and (D or E) term の出現頻度を使って Intersection の演算回数を極力少なくするよう、クエリを再構成する × 各箇所の intersection を個別に行って 中間データを最後に merge ○ intersect されたデータに次の posting list を intersect メモリに結果を残したまま演算できる

出現頻度を使う / 逐次処理

Web検索と Boolean retrieval 自然言語での検索 (free text queries) より Boolean model 基本的な Boolean で十分 (AND, OR, NOT)

更に考慮すべきこと よりリッチなクエリモデル より効率のよいインデックスの構造 クエリのスペルミス対策 (もしかして) フレーズ検索 (“Operating System”) DF (document frequency)に加えて TF (term frequency) の保存 Ranked retrieval ... Rank, score 次章以降で

適合率と再現率 Precision (適合率) Recall (再現率) 「全検索結果」に対して「検索要求を満たす結果」の割合 “MacBook Air 重さ” で 100件 ヒット、うち 85 件が重さがわかるドキュメント = 85/100 = 0.85 Recall (再現率) 「検索要求を満たす全ドキュメント」に対しての「検索要求を満たす検索結果」の割合 Web上に 90件あると仮定して、ウェブ検索して 85 件が得られた → 85/90 = 0.94

まとめ 大規模データには転置インデックス 最適化していくべきもの 適合率と再現率の両方が高くなるように 転置インデックスの作成手順、データ構造 何を保存するか それをどのように前処理して保存するか どういう形で保存するか どのように走査するか 検索クエリの最適化 Boolean Retrieval のアルゴリズム 適合率と再現率の両方が高くなるように