Suche senden
Hochladen
全文検索入門
•
15 gefällt mir
•
3,915 views
A
antibayesian 俺がS式だ
Folgen
Melden
Teilen
Melden
Teilen
1 von 38
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
言語処理学会へ遊びに行ったよ
言語処理学会へ遊びに行ったよ
antibayesian 俺がS式だ
第2.1回 ツイッターAPI勉強会 @ts_3156 発表資料
第2.1回 ツイッターAPI勉強会 @ts_3156 発表資料
Teruki Shinohara
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Hisao Soyama
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門
Atsushi Hayakawa
WWW2018 論文読み会 Web Search and Mining
WWW2018 論文読み会 Web Search and Mining
cyberagent
すぐ始めれるクラウド
すぐ始めれるクラウド
Soudai Sone
🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)
🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)
Toshinori Sato
データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016
Akinori Kohno
Empfohlen
言語処理学会へ遊びに行ったよ
言語処理学会へ遊びに行ったよ
antibayesian 俺がS式だ
第2.1回 ツイッターAPI勉強会 @ts_3156 発表資料
第2.1回 ツイッターAPI勉強会 @ts_3156 発表資料
Teruki Shinohara
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Pythonによるソーシャルデータ分析―わたしはこうやって修士号を取得しました―
Hisao Soyama
RとPythonによるデータ解析入門
RとPythonによるデータ解析入門
Atsushi Hayakawa
WWW2018 論文読み会 Web Search and Mining
WWW2018 論文読み会 Web Search and Mining
cyberagent
すぐ始めれるクラウド
すぐ始めれるクラウド
Soudai Sone
🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)
🍻(Beer Mug)の読み方を考える(mecab-ipadic-NEologdのUnicode 絵文字対応)
Toshinori Sato
データ分析スクリプトのツール化入門 - PyConJP 2016
データ分析スクリプトのツール化入門 - PyConJP 2016
Akinori Kohno
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
Toshinori Sato
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
Big Data入門に見せかけたFluentd入門
Big Data入門に見せかけたFluentd入門
Keisuke Takahashi
Web エンジニアが postgre sql を選ぶ 3 つの理由
Web エンジニアが postgre sql を選ぶ 3 つの理由
Soudai Sone
Rとpythonとjuliaで機械学習レベル4を目指す
Rとpythonとjuliaで機械学習レベル4を目指す
yuta july
PHPで全文検索エンジンをつくるまで
PHPで全文検索エンジンをつくるまで
優之 田中
Japan.r ver1.2 20171202_ota
Japan.r ver1.2 20171202_ota
博三 太田
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
Satoshi Yamada
正規表現で楽しよう
正規表現で楽しよう
笹川 純一
Jubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCT
Yuya Unno
mecab-ipadic-NEologd の効果的な使い方
mecab-ipadic-NEologd の効果的な使い方
Toshinori Sato
_gaTracker 第4回ミーティング『not providedをどうとらえるか』 いちしま泰樹
_gaTracker 第4回ミーティング『not providedをどうとらえるか』 いちしま泰樹
Yasuki Ichishima
bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩
Satoshi Yamada
Credential twittorebiew v1.3
Credential twittorebiew v1.3
Social Media Live!
第1回茶ッカソン in Tokyo プレゼンシート「チームNifty」
第1回茶ッカソン in Tokyo プレゼンシート「チームNifty」
kakusan40
テキストマイニングのイメージと実際
テキストマイニングのイメージと実際
antibayesian 俺がS式だ
ガチャとは心の所作
ガチャとは心の所作
antibayesian 俺がS式だ
さくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッション
antibayesian 俺がS式だ
Credential social media_live_v1_3
Credential social media_live_v1_3
Social Media Live!
神の言語による自然言語処理
神の言語による自然言語処理
antibayesian 俺がS式だ
第1回茶ッカソン in Tokyo プレゼンシート「FULLER」
第1回茶ッカソン in Tokyo プレゼンシート「FULLER」
kakusan40
チームラボ忘年会
チームラボ忘年会
antibayesian 俺がS式だ
Weitere ähnliche Inhalte
Was ist angesagt?
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
Toshinori Sato
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
Big Data入門に見せかけたFluentd入門
Big Data入門に見せかけたFluentd入門
Keisuke Takahashi
Web エンジニアが postgre sql を選ぶ 3 つの理由
Web エンジニアが postgre sql を選ぶ 3 つの理由
Soudai Sone
Rとpythonとjuliaで機械学習レベル4を目指す
Rとpythonとjuliaで機械学習レベル4を目指す
yuta july
PHPで全文検索エンジンをつくるまで
PHPで全文検索エンジンをつくるまで
優之 田中
Japan.r ver1.2 20171202_ota
Japan.r ver1.2 20171202_ota
博三 太田
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
Satoshi Yamada
正規表現で楽しよう
正規表現で楽しよう
笹川 純一
Jubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCT
Yuya Unno
mecab-ipadic-NEologd の効果的な使い方
mecab-ipadic-NEologd の効果的な使い方
Toshinori Sato
_gaTracker 第4回ミーティング『not providedをどうとらえるか』 いちしま泰樹
_gaTracker 第4回ミーティング『not providedをどうとらえるか』 いちしま泰樹
Yasuki Ichishima
bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩
Satoshi Yamada
Was ist angesagt?
(13)
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
形態素解析器 MeCab の新語・固有表現辞書 mecab-ipadic-NEologd のご紹介
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Big Data入門に見せかけたFluentd入門
Big Data入門に見せかけたFluentd入門
Web エンジニアが postgre sql を選ぶ 3 つの理由
Web エンジニアが postgre sql を選ぶ 3 つの理由
Rとpythonとjuliaで機械学習レベル4を目指す
Rとpythonとjuliaで機械学習レベル4を目指す
PHPで全文検索エンジンをつくるまで
PHPで全文検索エンジンをつくるまで
Japan.r ver1.2 20171202_ota
Japan.r ver1.2 20171202_ota
DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
正規表現で楽しよう
正規表現で楽しよう
Jubatusにおける機械学習のテスト@MLCT
Jubatusにおける機械学習のテスト@MLCT
mecab-ipadic-NEologd の効果的な使い方
mecab-ipadic-NEologd の効果的な使い方
_gaTracker 第4回ミーティング『not providedをどうとらえるか』 いちしま泰樹
_gaTracker 第4回ミーティング『not providedをどうとらえるか』 いちしま泰樹
bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩
Andere mochten auch
Credential twittorebiew v1.3
Credential twittorebiew v1.3
Social Media Live!
第1回茶ッカソン in Tokyo プレゼンシート「チームNifty」
第1回茶ッカソン in Tokyo プレゼンシート「チームNifty」
kakusan40
テキストマイニングのイメージと実際
テキストマイニングのイメージと実際
antibayesian 俺がS式だ
ガチャとは心の所作
ガチャとは心の所作
antibayesian 俺がS式だ
さくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッション
antibayesian 俺がS式だ
Credential social media_live_v1_3
Credential social media_live_v1_3
Social Media Live!
神の言語による自然言語処理
神の言語による自然言語処理
antibayesian 俺がS式だ
第1回茶ッカソン in Tokyo プレゼンシート「FULLER」
第1回茶ッカソン in Tokyo プレゼンシート「FULLER」
kakusan40
チームラボ忘年会
チームラボ忘年会
antibayesian 俺がS式だ
SPSSで簡単テキストマイニング
SPSSで簡単テキストマイニング
antibayesian 俺がS式だ
Sakusaku svm
Sakusaku svm
antibayesian 俺がS式だ
企業における統計学入門
企業における統計学入門
antibayesian 俺がS式だ
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
Hiroshi Funai
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
antibayesian 俺がS式だ
Andere mochten auch
(14)
Credential twittorebiew v1.3
Credential twittorebiew v1.3
第1回茶ッカソン in Tokyo プレゼンシート「チームNifty」
第1回茶ッカソン in Tokyo プレゼンシート「チームNifty」
テキストマイニングのイメージと実際
テキストマイニングのイメージと実際
ガチャとは心の所作
ガチャとは心の所作
さくさくテキストマイニング入門セッション
さくさくテキストマイニング入門セッション
Credential social media_live_v1_3
Credential social media_live_v1_3
神の言語による自然言語処理
神の言語による自然言語処理
第1回茶ッカソン in Tokyo プレゼンシート「FULLER」
第1回茶ッカソン in Tokyo プレゼンシート「FULLER」
チームラボ忘年会
チームラボ忘年会
SPSSで簡単テキストマイニング
SPSSで簡単テキストマイニング
Sakusaku svm
Sakusaku svm
企業における統計学入門
企業における統計学入門
Python東海Vol.5 IPythonをマスターしよう
Python東海Vol.5 IPythonをマスターしよう
Pythonで簡単ネットワーク分析
Pythonで簡単ネットワーク分析
Ähnlich wie 全文検索入門
図書館でのSolrの使い方
図書館でのSolrの使い方
Kosuke Tanabe
おとなのテキストマイニング
おとなのテキストマイニング
Munenori Sugimura
Big data解析ビジネス
Big data解析ビジネス
Mie Mori
図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうには
Takanori Hayashi
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤
Takumi Sakamoto
愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集
Hidekazu Ishikawa
self made Fulltext search first_step
self made Fulltext search first_step
Ryou Katou
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
S. T.
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
Recruit Technologies
Elastic ML Introduction
Elastic ML Introduction
Hiroshi Yoshioka
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
Kosuke Tanabe
最近作ったもの
最近作ったもの
onozaty
協調フィルタリング with Mahout
協調フィルタリング with Mahout
Katsuhiro Takata
Elasticsearch 変わり種プラグインの作り方
Elasticsearch 変わり種プラグインの作り方
Ryoji Kurosawa
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
Shinsuke Sugaya
UNICORNの機械学習ワークロードにおけるSpot&AWS Batchの活用
UNICORNの機械学習ワークロードにおけるSpot&AWS Batchの活用
Inoue Seki
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
Code4Lib JAPAN
GoogleAnalytics Tools クックブック
GoogleAnalytics Tools クックブック
Takashi Sudou
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
健一 辰濱
Ähnlich wie 全文検索入門
(20)
図書館でのSolrの使い方
図書館でのSolrの使い方
おとなのテキストマイニング
おとなのテキストマイニング
Big data解析ビジネス
Big data解析ビジネス
図書館でAPIをスルメのように 味わうには
図書館でAPIをスルメのように 味わうには
スマートニュースの世界展開を支えるログ解析基盤
スマートニュースの世界展開を支えるログ解析基盤
愛と涙のWordPress無理やりカスタマイズ事例集
愛と涙のWordPress無理やりカスタマイズ事例集
self made Fulltext search first_step
self made Fulltext search first_step
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
実践!Elasticsearch + Sudachi を用いた全文検索エンジン
ビッグデータ&データマネジメント展
ビッグデータ&データマネジメント展
Elastic ML Introduction
Elastic ML Introduction
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
RubyKaigi2011講演資料「日本の図書館はどのようにRubyを使っているか」
最近作ったもの
最近作ったもの
協調フィルタリング with Mahout
協調フィルタリング with Mahout
Elasticsearch 変わり種プラグインの作り方
Elasticsearch 変わり種プラグインの作り方
Elasticsearchで作る形態素解析サーバ
Elasticsearchで作る形態素解析サーバ
UNICORNの機械学習ワークロードにおけるSpot&AWS Batchの活用
UNICORNの機械学習ワークロードにおけるSpot&AWS Batchの活用
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
20110305_Code4Lib2011参加報告会:田辺浩介参加報告
GoogleAnalytics Tools クックブック
GoogleAnalytics Tools クックブック
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
全文検索入門
1.
© 宋 美玄
2.
iPad2欲しい!!!
RIP. jobs
3.
4.
オークションで安く買いたい! Wassyoi!
Wassyoi! Wassyoi! ※Wassyoi!は架空のオークションサイトです。 この事例は全検索システムが抱える問題であり、 Wasshoi!オークションは例として参照しているだけです
5.
安い順で並べたら、アクセサリばっか
© 板垣恵介
6.
安いiPad2見つからないし、 これ買っちゃった!
7.
購入一週間後
8.
©宮崎駿
9.
もしも… 本当に求めるモノを
見つけてくれる そんな検索エンジンが もしもあったならば… こんな悲劇は…
10.
こんな悲劇を二度と起こさないために
11.
そうだ! 最強の 検索エンジン
を作ろう!
12.
自己紹介 ●
ID:AntiBayesian ● あんちべ! ● 専門:テキストマイニング、自然言語処理 ● 職業:カジュアルにATM停止させちゃう銀行で金融 工学研究員とかいう胡散臭い素敵なことしてた記憶が ● math.empress@gmail.com
13.
なぜ検索が必要か ●
検索はGoogleやMSなど、超大企業だけのもの? ● 先程のケースのように、ショッピングサイトでも重要 ● モノが溢れ、ニーズが多様化する時代。良いものを 作るだけではなく、簡単に商品を見つけられるよう にしないと、お客様には届かない ● 共有情報を有効活用するにも検索が有効 ● 社内事務手続集DB、肝心な情報が見つからない! ● SEO対策するにも検索エンジンの中身を知らねば
14.
Web検索エンジンの歴史 ●
熾烈な検索エンジン戦争 ● 2000年以前 AltaVista:最大ページ数を誇る ● どれだけ多くのページを検索できるか ● 2000年以後 Google:ページランク ● どれだけ上手くランキングできているか ● 「より多くのデータ」から「よりデータを便利に」へ
15.
時は情報大航海時代 ●
どれだけ沢山のデータを持っているかではなく、 どれだけユーザーが求める情報を抽出出来るか ● データは活用出来る状態でないと何の意味も無い ● 検索とは、大規模データを有効活用するための 必要不可欠な要素
16.
アジェンダ ●
検索概論編 ● 検索方式 ● 転置インデックス ● 検索モデル ● 検索エンジンの評価 ● 索引語のスコアリング ● 検索実践編 ● Lucene/Solr入門 ● tweet検索
17.
検索方式 ●
順次検索:文書集合の先頭から、クエリが含まれて いる文書を検索し、文字列が一致しているものを見 つける(grep、Ctrl + F検索をイメージ) ● 簡単にシステム構築できる ● 文書量多いと遅くなる ● 索引検索:事前に文書から作成した索引を用いる ● 文書量多くても高速(分厚い本でも、索引があれば目的 のページがすぐ引ける) ● 索引を作る手間がかかる ● 現在の主流
18.
転置インデックス ●
索引方式の主流。大抵の全文検索エンジンが対応 ● 各索引語が文書に出現する位置を格納した表構 造の索引 ● 元の文書の2,3倍のサイズになるため、実装する 場合は高度な圧縮技法が必要 ● 索引の頻繁な更新に弱い
19.
転置インデックスの作り方 1.各文書に番号を振る 2.各文書に含まれる単語と文書番号を紐付ける 3.単語毎に並べる
20.
検索モデル:ブーリアンモデル ●
クエリと転置インデックスとの論理演算で検索 ● 例:クエリが「犬」 ● 番号1,2を返す ● 例:クエリ が 「散歩道」 ● クエリを単語に分割{散歩 & 道} ● {散歩 & 道}を満たす番号3を返す
21.
検索エンジンの評価
適合率と再現率 ● 適合率(precision)-精度。検索結果にどれだけ求 める情報が含まれているか ● 検索結果の適合文書数/検索された文書の数 ● 検索結果100件の内、求めるデータが70件→ 70% ● 再現率(recall)-網羅性。もれなく抽出できるか ● 検索結果の適合文書数/全文書中の適合文書数 ● 求めるデータが検索結果に100件、文書集合に200件 → 50%
22.
検索エンジンの評価 F値 ●
適合率と再現率にはトレードオフの関係がある ● 極端な話、全文書を検索結果として出せば、再現 率は100%になり、適合率は非常に低くなる ● F値で両方のバランスを考慮する ● 調和平均F = 2 / (1/再現率 + 1/適合率)が大きい 程良い (参考)「F値に調和平均を使う理由」 http://d.hatena.ne.jp/a_bicky/20101120/129026 6655
23.
索引語の重み付け TF-IDF ●
クエリが「ボール」では、サッカーと野球のどちらが 求められているのか解らない。「キーパー」ならサッ カーと判断出来る→ボールよりキーパーの方が、 文書の特定にとって重要 ● 各索引語の重要度を測り、重み付けしよう ● 局所的重み(TF:Term Frequency):頻度。再現率 向上に利く ● 大域的重み(IDF:inverse document frequency): 特定文書に集中して出現する索引語を重くする。 文書による索引語の偏りを表す。適合率向上に利 く。IDF = log全文書数 / 索引語を含む文書数
24.
Lucene/Solr入門 ●
Lucene:オープンソースの全文検索エンジン ● Solr:Luceneを利用した検索アプリケーション ● Wikipedia、twitterなど利用実績多数 ● 転置インデックス方式 ● Java製。RubyやPHPなどでの利用も可能 ● 検索結果はxmlやjsonなど様々な形式で出力可能 ● 今回はtweetを登録・検索してみます
25.
Solr ダウンロード ●
http://www.apache.org/dyn/closer.cgi/lucene/solr/ ● 2011/10/15 最新版 apache-solr-3.4.0 をDL
26.
Schema設定 ●
インストールしたフォルダapache-solr- 3.4.0examplesolrconf の schema.xml ● 最低限必要な設定 ● types - データの型定義 ● fields – データのプロパティ定義 ● schema.xmlのtypes, fieldsブロックに次ページの定義を 任意の場所に挿入する
27.
Schema - <types> <types> <fieldType
name="text_ja" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="false"> <analyzer> <tokenizer class="solr.JapaneseTokenizerFactory"/> </analyzer> </fieldType> </types>
28.
Schema - <fields> <fields>
<field name="screen_name" type="text_ja" indexed="true" stored="true"/> <field name="tweet" type="text_ja" indexed="true" stored="true"/> <field name="tweetDate" type="pdate" indexed="true" stored="true"/> </fields>
29.
Solr 起動 ●
>cd example ● >java -jar start.jar ● http://localhost:8983/solr/admin/
30.
gosen インストール ●
Lucene/Solr向け形態素解析エンジン ● http://code.google.com/p/lucene-gosen/downloads/list ● インストールしたフォルダapache-solr- 3.4.0exampleexamplesolrlibにDLしたjarを置く ● http://localhost:8983/solr/admin/analysis.jspで形態素解析を試す
31.
gosen 形態素解析
32.
登録用tweet形式 id,screen_name,tweet,tweetDate 1,testID,こんにちは!テスト内容だよ!,2011-10-15T15:00:00Z 2,AntiBayesian,まだスライド出来てない、やばい、眠い,2011-10- 15T4:32:14Z 3,gepuro,眠いです眠いです、もう無理です,2011-10-15T3:18:42Z 4,toilet_lunch,シャワー浴びて寝るか~,2011-10-15T5:11:22Z
33.
tweet登録 ●
>cd exampledocs ● > java -Durl=http://localhost:8983/solr/update/csv -jar post.jar tweet.csv
34.
SakuSakuTweetMining ●
Streaming APIからtweetを自動収集するツール ● http://d.hatena.ne.jp/AntiBayesian/20110702 ● screen_name, tweet, dateを取得。適宜加工要
35.
Solr 検索 ●
http://localhost:8983/solr/admin/form.jsp
36.
検索結果-XML形式
37.
まとめ ●
検索は大規模データ時代には必須 ● 全文検索、転置インデックス方式が主流 ● Lucene/Solrは利用実績豊富な検索エンジン ● 重要なことは、検索エンジンを利用してどのように 業務改善、売り上げ向上などに繋げられるか考え ること
38.
参考文献
(難易度順) ● 検索エンジンはなぜ見つけるのか ● Apache Solr入門 ● 情報検索アルゴリズム ● 情報検索と言語処理 ● Introduction to Information Retrieval ● Information Retrieval: Implementing and Evaluating Search Engines
Jetzt herunterladen