SlideShare a Scribd company logo
1 of 32
Chapter.1 論理検索
第1回名古屋検索勉強会
2008年に出版されたウェブの情報検索を扱った教科書的な書籍
ウェブ検索や関連するテキスト分類、クラスタリング手法、クローラー
といった内容を網羅
スタンフォード大学、シュッツトガルト大学のコンピュータサイエンス
の大学院生向けの講義をまとめているスタンフォード大学にPDFやppt
が公開
YouTubeなどに(アンオフィシャルな)講義の動画あり
https://nlp.stanford.edu/IR-book/ppt/
https://www.kyoritsu-pub.co.jp/bookdetail/9784320123229
https://nlp.stanford.edu/IR-book/ppt/
http://web.stanford.edu/class/cs276/
# タイトル
1 論理検索
2 用語語彙とポスティングリスト
3 辞書と寛容な検索
4 インデックスの構築
5 インデックスの圧縮
6
スコア付け,用語重み付け,ベクトル空間
モデル
7 完全な検索システムでのスコア計算
8 情報検索の評価
9 適合フィードバックとクエリー拡張
10 XML検索
11 確率的情報検索
# タイトル
12 情報検索のための言語モデル
13 テキストの分類とナイーブベイズ
14 ベクトル空間分類
15
サポートベクターマシンと文書の機
械学習
16 トクラスタリング
17 階層的クラスタリング
18 行列の分解と潜在意味インデックス
19 ウェブ検索の基礎
20
ウェブのクローリングとインデック
ス付け
21 リンク解析
1. 情報検索問題の例
2. 逆インデックス構築の最初の試み
3. 論理クエリーの処理
4. 拡張された論理モデル対ランク付けされた検索
5. 引用文献と参考図書
 情報検索(Information retrieval)(IR)の定義
(通常、コンピューターに格納されている)大規模なコレクションから、必要な情報を含む
非構造的な(通常、テキスト)資料(通常、文章)をみつけることである
※サーチ(Search)は曖昧なため本書では情報検索として扱っている
種類 例
構造化データ 社員テーブル DataBase
非構造化データ Free text,動画 情報検索(Information
Retreival)
半構造化データ XML,HTML 情報検索(Information
Retreival)
 情報検索(Information retrieval)(IR)とは
(通常、コンピューターに格納されている)大規模なコレクションから、必要な情報を含む
非構造的な(通常、テキスト)資料(通常、文章)をみつけることである
※サーチ(Search)は曖昧なため本書では情報検索として扱っている
検索システムの主な区別 例
ウェブ検索 HTML,pdf
ドメイン特化型検索 論文検索、特許、社内ドキュメント
個人的情報検索 メール、
1. 線形探索(グレッピング)
2. 用語文書行列
3. 逆インデックス
 UNIXのGrepコマンドのように、ドキュメントから特定の文字列を上から順番に探
索するする手法をグレッピング(GREPPING)と呼ぶ
 例えば、シェークスピア全集から BRUTUS AND CAESAR, but not CALPURNIA
の線形探査
 grep BRUTUS XXX.txt | grep CAESAR | grep –v CALPURNIA
 100万行くらいまでの情報検索であればグレッピングで十分
 グレッピング(GREPPING)の問題
 遅い (for large collections)
 柔軟なマッチ文字の近さ(5文字の近い)
 検索対象の文字の近さや出現頻度考慮できない
 高速に処理するには、事前に文章をインデックス化処理が必要
 文章に出てくる用語を含むかを記憶する行列をつくっておく
 文章中に用語があれば1、なければ0の行列を作っておく
用語/文章 Anthony
and
Cleopatra
Julius
Caesar
The
Tempest
Hamlet Othello Macbeth .
. .
ANTHONY
BRUTUS
CAESAR
CALPURNIA
CLEOPATRA
MERCY
WORSER
. . .
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
12
12
Anthony
and
Cleopatra
Julius
Caesar
The
Tempest
Hamlet Othello Macbeth .
. .
ANTHONY
BRUTUS
CAESAR
CALPURNIA
CLEOPATRA
MERCY
WORSER
. . .
1
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
1
1
1
0
1
0
0
1
0
result: 1 0 0 1 0 0
 BRUTUS と CAESARが1の文章と、 CALPURNIAが0の文章を探す
 ビット操作でとれる 110100 AND 110111 AND 101111 = 100100
シェークスピア全集から BRUTUS AND CAESAR, but not CALPURNIA の用語文書行列
用語文章行列を本番データで構築すると
 100万文章
 1文章あたり 1000文字
 1用語あたり6byte
 100万 * 1000 * 6 = 6Gb
 用語数は一般に50万弱くらいになる
 用語文書行列だと100万 * 50万 * 500Peta行列
用語文章行列の問題点
用語文書行列が巨大でメモリに乗らない
本の例によると用語文書行列99.8%は0だった(疎:Sparse)
1 (用語が出現した)の位置だけを記憶するとよい → 逆インデックス
辞書
(語彙集)
ポスティング
(逆リスト)
辞書
(語彙集)
ポスティング
(DocIDの逆リスト)
Title Anthony
and
Cleopatra
Julius
Caesar
The
Tempest
Hamlet Othello Macbeth .
. .
docID 1 2 3 4 5 6
BRUTUS
CAESAR
CALPURNIA
1
1
0
1
1
1
0
0
0
1
1
0
0
1
0
0
1
0
1. 情報検索問題の例
2. 逆インデックス構築の最初の試み
3. 論理クエリーの処理
4. 拡張された論理モデル対ランク付けされた検
索
5. 引用文献と参考図書
逆インデッックスの手順
1. インデックス付される文書を収集
2. 文章をトークン化し、各文書をトークンリストに変換(Tokenizer)
3. 言語学的処理を施し、正規化されたリストを作る(Lingustic Model)
4. 辞書とポスティングから構成される逆インデックスを作り、各用語が現れる文書を
インデックス付けする(Indeer)
Friends
So let it be with CaesarFriends,Romans,countrymen.
…Romans countrymen So
friend …roman countryman so
※トークン:処理に有用な意味単位として、特定の文書内の文字列(Chapter2-2)
前提:文章には1から連番で文書識別
ID(docID)を付与している
Step1. 文章から正規化されたトークン
を取り出す
Step2.用語(正規化されたトークン)と
文章を紐付けする
Step3.用語(正規化されたトーク
ン)をアルファベット順にソート
する
その際に、同じ用語はマージされ
る。
※この章ではマージだけだが、後
の章で文書内の用語の出現回数を
利用する
Step4. 同じ用語がいくつの文章に現
れたかを集計し、文書頻度として記
憶する(必須ではない)
Step5.用語ごとに集計してポスティ
ングリスをと作る
用語を辞書としてポスティングリストと対応されたものを逆イ
ンデックスという
逆インデックス構造がAdhoc検索を効率よくする最高の方式
辞書はメモリ、ポスティングリストはディスクに配置されるこ
とが多い
1. 情報検索問題の例
2. 逆インデックス構築の最初の試み
3. 論理クエリーの処理
4. 拡張された論理モデル対ランク付けされた検索
5. 引用文献と参考図書
Brutus and Calpurnia を逆インデックス上で処理する手順
1. Brutusを辞書の中でみつける
2. Brutusのポスティングリストをみつける
3. Calpurniaを辞書の中でみつける
4. Calpurniaのポスティングリストをみつける
5. BrutusとCalpurniaのポスティングリストの共通集合を見つける
6. 結果を返す
このアルゴリズムは
BRUTUSのドキュメント数
+CALPURNIAのドキュメント数で
Intersection処理が可能
Operation = O(x +y )
 3つのAndの場合頻度が少ない用語から処理すると早い
 BRUTUS and CALPURNIA and CAESARを逆インデックス上で処理する例
1. 文書頻度少ない順に辞書をソートする(CAESAR(2) -> Calpurnia(4) -> BRUTUS(8)
2. CAESARのポスティングリストをみつける
3. CALPURNIAのポスティングリストをみつける
4. CAESARとCALPURNIAのポスティングリストの共通集合を見つける (31)
5. BRUTUSのポスティングリストをみつける
6. CAESARとCALPURNIAの共通集合とBRUTUSポスティングリストの共通集合を見つける
1. 情報検索問題の例
2. 逆インデックス構築の最初の試み
3. 論理クエリーの処理
4. 拡張された論理モデル対ランク付けされた検索
5. 引用文献と参考図書
29
Does Google use the Boolean model?
On Google, the default interpretation of a query [w1 w2 . . .wn] is w1 AND w2
AND . . .AND wn
Cases where you get hits that do not contain one of the wi :
anchor text
page contains variant of wi (morphology, spelling
correction, synonym)
long queries (n large)
boolean expression generates very few hits
Simple Boolean vs. Ranking of result set
Simple Boolean retrieval returns matching documents in
no particular order.
Google (and most well designed Boolean engines) rank the
result set – they rank good hits (according to some
estimator of relevance) higher than bad hits.
29
論理検索モデルを利用されている検索サービスはおおい
1. スペルミス
2. フレーズ検索(“Stanford University”)や近接検索(“Gates /s
Microsoft”)
1. インデックスの拡張
3. 単語 出現頻度によるおもみづけ
4. ランキング
1. 論理検索でAnd,Or,Notを用いた複雑なクエリをサポート
2. 30年以上まえから使われている
3. 専門検索エンジンでは現役

More Related Content

Similar to 情報検索の基礎 第1章 論理検索

蔵書選定のための学位論文タイトルマイニング
蔵書選定のための学位論文タイトルマイニング蔵書選定のための学位論文タイトルマイニング
蔵書選定のための学位論文タイトルマイニングgenroku
 
Information retrieval no1
Information retrieval no1Information retrieval no1
Information retrieval no1nishioka1
 
卒論執筆・スライド作成のポイント
卒論執筆・スライド作成のポイント卒論執筆・スライド作成のポイント
卒論執筆・スライド作成のポイントTsubasa Hirakawa
 
Keyword and Keyphrase Extraction Techniques: A Literature Review
Keyword and Keyphrase Extraction Techniques: A Literature ReviewKeyword and Keyphrase Extraction Techniques: A Literature Review
Keyword and Keyphrase Extraction Techniques: A Literature ReviewE-musu
 
論文に関する基礎知識2016
 論文に関する基礎知識2016 論文に関する基礎知識2016
論文に関する基礎知識2016Mai Otsuki
 
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...Koji Matsuda
 
とある制作会社の目次索引作成技法
とある制作会社の目次索引作成技法とある制作会社の目次索引作成技法
とある制作会社の目次索引作成技法Kenshi Muto
 
Lab-ゼミ資料-5-20150512
Lab-ゼミ資料-5-20150512Lab-ゼミ資料-5-20150512
Lab-ゼミ資料-5-20150512Yuki Ogasawara
 
ICDE2012勉強会:Social Media
ICDE2012勉強会:Social MediaICDE2012勉強会:Social Media
ICDE2012勉強会:Social MediaYuto Yamaguchi
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Hironori Washizaki
 
言語資源と付き合う
言語資源と付き合う言語資源と付き合う
言語資源と付き合うYuya Unno
 
トピックモデルの基礎と応用
トピックモデルの基礎と応用トピックモデルの基礎と応用
トピックモデルの基礎と応用Tomonari Masada
 
さくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッションさくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッションantibayesian 俺がS式だ
 
科学技術英語の考え方と学習ツール Mindset and Learning Tools for Scientific English Proficiency
科学技術英語の考え方と学習ツール Mindset and Learning Tools for Scientific English Proficiency科学技術英語の考え方と学習ツール Mindset and Learning Tools for Scientific English Proficiency
科学技術英語の考え方と学習ツール Mindset and Learning Tools for Scientific English ProficiencyAsahiko Matsuda
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニングMunenori Sugimura
 
Infosta実習 発表ver
Infosta実習 発表verInfosta実習 発表ver
Infosta実習 発表verskdmai
 
[DL輪読会]Abstractive Summarization of Reddit Posts with Multi-level Memory Netw...
[DL輪読会]Abstractive Summarization of Reddit Posts with Multi-level Memory Netw...[DL輪読会]Abstractive Summarization of Reddit Posts with Multi-level Memory Netw...
[DL輪読会]Abstractive Summarization of Reddit Posts with Multi-level Memory Netw...Deep Learning JP
 

Similar to 情報検索の基礎 第1章 論理検索 (20)

蔵書選定のための学位論文タイトルマイニング
蔵書選定のための学位論文タイトルマイニング蔵書選定のための学位論文タイトルマイニング
蔵書選定のための学位論文タイトルマイニング
 
Information retrieval no1
Information retrieval no1Information retrieval no1
Information retrieval no1
 
卒論執筆・スライド作成のポイント
卒論執筆・スライド作成のポイント卒論執筆・スライド作成のポイント
卒論執筆・スライド作成のポイント
 
Mori b
Mori bMori b
Mori b
 
Keyword and Keyphrase Extraction Techniques: A Literature Review
Keyword and Keyphrase Extraction Techniques: A Literature ReviewKeyword and Keyphrase Extraction Techniques: A Literature Review
Keyword and Keyphrase Extraction Techniques: A Literature Review
 
論文に関する基礎知識2016
 論文に関する基礎知識2016 論文に関する基礎知識2016
論文に関する基礎知識2016
 
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
Reading Wikipedia to Answer Open-Domain Questions (ACL2017) and more...
 
とある制作会社の目次索引作成技法
とある制作会社の目次索引作成技法とある制作会社の目次索引作成技法
とある制作会社の目次索引作成技法
 
Lab-ゼミ資料-5-20150512
Lab-ゼミ資料-5-20150512Lab-ゼミ資料-5-20150512
Lab-ゼミ資料-5-20150512
 
ICDE2012勉強会:Social Media
ICDE2012勉強会:Social MediaICDE2012勉強会:Social Media
ICDE2012勉強会:Social Media
 
Bioinformatics Resources and Tools
Bioinformatics Resources and ToolsBioinformatics Resources and Tools
Bioinformatics Resources and Tools
 
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
Pythonを含む多くのプログラミング言語を扱う処理フレームワークとパターン、鷲崎弘宜、PyConJP 2016 招待講演
 
識別子とスキーマ
識別子とスキーマ識別子とスキーマ
識別子とスキーマ
 
言語資源と付き合う
言語資源と付き合う言語資源と付き合う
言語資源と付き合う
 
トピックモデルの基礎と応用
トピックモデルの基礎と応用トピックモデルの基礎と応用
トピックモデルの基礎と応用
 
さくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッションさくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッション
 
科学技術英語の考え方と学習ツール Mindset and Learning Tools for Scientific English Proficiency
科学技術英語の考え方と学習ツール Mindset and Learning Tools for Scientific English Proficiency科学技術英語の考え方と学習ツール Mindset and Learning Tools for Scientific English Proficiency
科学技術英語の考え方と学習ツール Mindset and Learning Tools for Scientific English Proficiency
 
おとなのテキストマイニング
おとなのテキストマイニングおとなのテキストマイニング
おとなのテキストマイニング
 
Infosta実習 発表ver
Infosta実習 発表verInfosta実習 発表ver
Infosta実習 発表ver
 
[DL輪読会]Abstractive Summarization of Reddit Posts with Multi-level Memory Netw...
[DL輪読会]Abstractive Summarization of Reddit Posts with Multi-level Memory Netw...[DL輪読会]Abstractive Summarization of Reddit Posts with Multi-level Memory Netw...
[DL輪読会]Abstractive Summarization of Reddit Posts with Multi-level Memory Netw...
 

More from nishioka1

情報検索の基礎 #9適合フィードバックとクエリ拡張
情報検索の基礎 #9適合フィードバックとクエリ拡張情報検索の基礎 #9適合フィードバックとクエリ拡張
情報検索の基礎 #9適合フィードバックとクエリ拡張nishioka1
 
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料nishioka1
 
NagoyaStat #5 データ解析のための
統計モデリング入門 第10章
NagoyaStat #5 データ解析のための
統計モデリング入門 第10章NagoyaStat #5 データ解析のための
統計モデリング入門 第10章
NagoyaStat #5 データ解析のための
統計モデリング入門 第10章nishioka1
 
Azure MLによるWeb Serviceの作り方
Azure MLによるWeb Serviceの作り方Azure MLによるWeb Serviceの作り方
Azure MLによるWeb Serviceの作り方nishioka1
 
Azure SQLデータベース最新動向&TIPS
Azure SQLデータベース最新動向&TIPSAzure SQLデータベース最新動向&TIPS
Azure SQLデータベース最新動向&TIPSnishioka1
 
小学校学区検索の説明
小学校学区検索の説明小学校学区検索の説明
小学校学区検索の説明nishioka1
 
コマンドラインで使うAzure
コマンドラインで使うAzureコマンドラインで使うAzure
コマンドラインで使うAzurenishioka1
 

More from nishioka1 (7)

情報検索の基礎 #9適合フィードバックとクエリ拡張
情報検索の基礎 #9適合フィードバックとクエリ拡張情報検索の基礎 #9適合フィードバックとクエリ拡張
情報検索の基礎 #9適合フィードバックとクエリ拡張
 
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
NagoyaStat#7 StanとRでベイズ統計モデリング(アヒル本)4章の発表資料
 
NagoyaStat #5 データ解析のための
統計モデリング入門 第10章
NagoyaStat #5 データ解析のための
統計モデリング入門 第10章NagoyaStat #5 データ解析のための
統計モデリング入門 第10章
NagoyaStat #5 データ解析のための
統計モデリング入門 第10章
 
Azure MLによるWeb Serviceの作り方
Azure MLによるWeb Serviceの作り方Azure MLによるWeb Serviceの作り方
Azure MLによるWeb Serviceの作り方
 
Azure SQLデータベース最新動向&TIPS
Azure SQLデータベース最新動向&TIPSAzure SQLデータベース最新動向&TIPS
Azure SQLデータベース最新動向&TIPS
 
小学校学区検索の説明
小学校学区検索の説明小学校学区検索の説明
小学校学区検索の説明
 
コマンドラインで使うAzure
コマンドラインで使うAzureコマンドラインで使うAzure
コマンドラインで使うAzure
 

情報検索の基礎 第1章 論理検索