Mais conteúdo relacionado Semelhante a Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒ (20) Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒1. Apache Solr で実現する共創のエコシステム
ー検索、クロール、自然言語処理ー
2012 年 12 月 5 日
株式会社 ロンウイット
池 真之
阿部 慎一朗
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
2. +
=
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
4. 株式会社ロンウイット
• 設立: 2006 年 5 月 2 日
• 代表者: 関口宏司
• 業務内容:
– OSS 検索エンジンのトレーニングサービスの提供
– OSS 検索エンジンの技術コンサルティングサービスの提供
– OSS 検索エンジンサブスクリプション・パッケージの提供
– OSS 検索エンジンのサポートサービスの提供
• 社名の由来:
– 江東区の丸八通り、仏語で「丸( Rond )」「八( Huit )」
– 丸も八も、「縁起がよい}
4
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
5. ロンウイットのミッションとは?
検索を変え
検索
クロー エンジン
ヒトと情報をつなぎ ラー
自然言語処理
世の中を進化させる 機械学習
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
6. オープンソースのコミッター・リスト
Lucene/Solr Committers ManifoldCF Committers
1.Andrzej Bialecki (ab@...)
1.Shinichiro Abe <shinichiro>
2.Bill Au (billa@...)
2.Ahmet Arslan <iorixxx>
3.Michael Busch (buschmi@...)
3.Erlend Garåsen <ridder>
4.Doron Cohen (doronc@...)
4.Piergiorgio Lucidi <piergiorgio>
5.Doug Cutting (cutting@...)
5.Simon Willnauer <simonw>
6.James Dyer (jdyer@...)
6.Karl Wright <kwright>
7.Shai Erera (shaie@...)
7.Jukka Zitting <jukka>
8.Erick Erickson (erick@...)
9.Otis Gospodnetic (otis@...)
10.Adrien Grand (jpountz@...)
11.Martijn van Groningen (mvg@...)
12.Erik Hatcher (ehatcher@...)
13.Mark Harwood (mharwood@...)
14.Chris Hostetter (hossman@...)
15.Jan Høydahl (janhoy@...)
16.Grant Ingersoll (gsingers@...)
17.Mike McCandless (mikemccand@...)
18.Ryan McKinley (ryan@...)
19.Chris Male (chrism@...)
20.Bernhard Messer (bmesser@...)
21.Mark Miller (markrmiller@...)
22.Christian Moen (cm@...)
23.Robert Muir (rmuir@...)
24.Stanislaw Osinski (stanislaw@...)
25.Noble Paul (noble@...)
26.Steven Rowe (sarowe@...)
27.Uwe Schindler (uschindler@...)
28.Shalin Shekhar Mangar (shalin@...)
29.Yonik Seeley (yonik@...)
30.Koji Sekiguchi (koji@...)
31.Sami Siren (siren@...)
32.David Smiley (dsmiley@...)
33.Tommaso Teofili (tommaso@...)
34.Andi Vajda (vajda@...)
35.Dawid Weiss (dweiss@...)
36.Simon Willnauer (simonw@...)
37.Alan Woodward (romseygeek@...)
38.Stefan Matheis (steffkes@...)
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
9. なぜ、オープンソースなのか?
• オープンなコミュニティーによる共創
– 相互に強みを出し合い、弱みを無効化することで全体最適化
– 信頼と性善説をベースとする
– ユーザ、開発者とともに共創
• オープン・イノベーション
– 技術:日々進化。共創による高い品質レベル
– ビジネス:サービス型。潔く、安寧を求めず、進化し続ける
– スピード:他者の強みに自分の強みを加え、加速
• コスト
– 初期投資固定型でなく、従量・変動型の適切なコスト
– 製品型ではなく、サービス型の適切なコスト
– いつでも始められ、いつでもやめられる
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
10. Apache Software Foundation
We consider ourselves not simply a group of
projects sharing a server, but rather a community of
developers and users.
The Apache Software Foundation provides support
for the Apache community of open-source software
projects, which provide software products for the
public good.
The Apache projects are defined by collaborative
consensus based processes, an open, pragmatic
software license and a desire to create high quality
software that leads the way in its field.
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
12. 検索イノベーションのトレンド
ECOSYSTEM !
OSS 検索ブーム
企業内検索 クラウド
Fast Search BIG DATA
インターネット検索
Verity 横断検索
キーワード型
検索連動型広告 リアルタイム検索
インテリジェント化
インターネット検索
ディレクトリ型
Google 商用検索 M&A ブーム
Lycos
検索技術の確立 AltaVista 広告型検索
Yahoo!
Infoseek
Excite
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
14. なぜ、検索が重要なのか?
• インターネットよりも、社内の身近な情報が見つからな
い
– Google や Yahoo! のような使い勝手ではない
– 特に非構造化データ( PDF や Office 系の文書)が見
つからない
– ドキュメントの権限管理が複雑である
– 隣のヒトがどんなドキュメントを残しているかわから
ない
• RDB や ERP のアーキテクチャーに限界がある
– 検索に時間がかかる
– 日本語の表記揺れに対応できない
• データは、 BIGDATA 化(エントロピー増大)する
– 様々なデータソースがあり、クロールできていない
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
15. 業務システムと検索システム
業務システム 検索システム
業務の改善、自動化
情報共有、発見、気付き
目的 トランザクションやプロセスの
創造力を高める
管理
リリースした時から、業務とシ リリースした時から、継続的な
ステムの乖離が発生する 学習がはじまる
特徴 ∴ リリースした時 ∴ リリースした時
が、 MAXIMUM が、 MINIMUM
データベース RDB や独自のデータベース Index
データ処理 トランザクション(インテリ Read : 検索クエリー
ジェントな Read Write ・ Write: Index 登録
ACID )
ROI 業務の生産性向上 アイデアの創出、共創
プロセスの自動化、工数削減 情報共有による重複作業の防止
モチベーショ 迅速正確なオペレーション 検索者の意志、ビジョン
ン 業務が中心 人間が中心
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
16. RDB と共存のアーキテクチャーへ
RDB のみのアーキテクチャー
リクエスト
フロント
AP サーバ
レスポンス
ブラウザ ( HTML )
トランザクション処理
RDBMS
RDB と INDEX による自由度の高いアーキテクチャー
リクエスト 検索リクエスト
フロント Solr
AP サーバ Server
レスポンス 検索結果一覧( XML )
( HTML )
ブラウザ
トランザクション処理
全文検索用
インデックスの作成
RDBMS INDEX
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
17. 検索プロジェクトを推進するために
• 検索システム投資についてのマネジメントの課題
– 検索システムは、 ROI を計測しにくい
– 検索システムは、短期的な効果が見えにくい
– 検索システムは、ユーザの意志との共創
• オープンソース検索エンジンによる解決
– 初期のライセンス費用が不要なので、回収が早い
– 継続的に、検索システムによる価値を向上させる
– バランスのよいエンタープライズ・アーキテクチャを実現
コ効
ス用
ト 検索システムの価値(≒ラーニングカーブ)
商用検索エンジンコスト(初期コスト大)
オープンソース検索エンジンコスト
時間軸(比較的フラット)
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
18. 検索と BIG DATA
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
19. Apache Solr と Apache Hadoop
Lucene/Solr Hadoop
目的 検索のため 大規模分散処理のため
目的志向 インフラ志向
技術 Index HDFS
データの登録 Map/Reduce
データの検索
適用 EC 、企業内検索、図書 Index 作成、 SNS 、インター
館、電子書籍などあらゆ ネット広告など BigData や膨大
る組織 な Log がある組織
SmallData で ビジネスモデルが明確な組織
も、 BigData でも有効
起源 オープンソースの検索エ インターネットでクロール
ンジンを作るた ( Nutch) した、巨大なデータ
め。 Google の分散検索 を Index 化するため。
などを参考に実装 Google 分散処理の論文を参考に
実装
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
21. Apache Lucene と Solr
• Apache Lucene
– 全文検索システムを構築するためのオープンソースの Java ライブ
ラリ
– 数百万件の文書を高速に検索。大規模システム向き
– 素のままのエンジンとして、インターネット企業が利用すること
が多い
• Apache Solr
– Lucene をベースに開発されたオープンソースの全文検索サーバ
– サーブレットサーバ上で稼動( Tomcat/JBoss/Jetty ・・・)
– ウェブアプリケーション化されており、多くの企業が利用しやす
い
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
22. 検索とクロールの全体像
セキュリティ連携
ActiveDirectory
Apache Solr ウェブ
ウェブ
WWW
WWW
Apache UIMA
Apache Tika
ファセット
ファイルサー
ファイルサー
Facet
バ
バ
アプリケーションサー 自然言語処理 File Server
File Server
バ サジェスチョン Apache
Suggest NLP ManifoldCF
App Server
クラスタリング データベース
データベース
Clustering RDBMS
RDBMS
メタデータ
Meta Data
連想検索
Association 社内 SNS/ ブ
社内 SNS/ ブ
共起分析
ログ
ログ
Collocation
パーソナライズ SNS / / blog
SNS blog
Personalize
パーソナライ
ズ
アクセスログ Personalize コンテンツ管
コンテンツ管
Access Log
index 理理
CMS
CMS
機械学習
Machine Learning
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
24. クロールについて
• クロールの役割
– データソースから、コンテンツ情報を取得する
– アクセスコントロール情報も取得する
– 取得したデータを検索エンジンの Index に登録する
• ManifoldCF
– 2009 年に ASF に寄贈
– 2012 年 5 月に Top Level Project に昇格
– 2012 年 10 月 ManifoldCF1.0.1 リリース
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
25. ManifoldCF によるデータ取得
Windows
Windows
Apache Solr 出力コネ shares
shares
クタ File System
File System Web
Web
RSS
RSS
Solr Cell
SharePoint
SharePoint
メタデー (Microsoft)
(Microsoft)
タ Documentum
リポジ Documentum
コンテン (EMC)
(EMC)
Apache トリ
ツ
ManifoldCF コネク JDBC
JDBC
アクセス
タ --Oracle
Oracle
トークン -- SQLServer Meridio
Meridio
SQLServer
index -- Postgresql
Postgresql (Autonomy)
(Autonomy)
LiveLink
LiveLink Alfresco
Alfresco
(OpenText)
(OpenText)
権限コネク
タ FileNet (IBM)
FileNet (IBM) CMIS
CMIS
Active
Active
Directory
Directory
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
26. MCF による、セキュリティーを考慮した検索
検索リクエスト MCF Security
SearchComponent
plugin
フィルタリングされた検索結果の返 index
却
メタデータ
コンテンツ
アクセストーク
アクセストーク アクセストーク
username@domain
username@domain ン
ン
ン
Apache Solr
Apache ManifoldCF
権限コネクタ
Active Directory
Active Directory
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
28. 自然言語処理について
• 自然言語処理
– NLP : Natural Language Processing
– 形態素解析、構文解析、意味解析、文脈解析
• 自然言語処理の用途
– 機械翻訳
– 情報検索
– クラスタリング
– 情報抽出
– テキスト要約
• 検索エンジンに自然言語処理を付加すること
で、 Solr を
– より便利に!
– よりかしこく!
– より楽に! Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
29. Solr の主要機能
表記揺れ対策 カスタムランキング
類義語検索
地理検索
ハイライト
キーワード検索 サジェスチョン
クラスタリング
言語判別
類似文書検索 インデクシング
形態素解析器
ファセット
グループ化検索
もしかして。。。
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
30. 検索は終わらない。更に、高みを目指す
機能 主な課題
表記揺れ対策 辞書整備
類義語検索 辞書整備
形態素解析器 新語辞書登録、検索漏れ
サジェスチョン データソース収集
ファセット 非構造化文書におけるカテゴリー分け
クラスタリング 精度問題
類義文書検索 精度問題
もしかして検索 再現率問題
キーワード検索 自然文検索
インデクシング 自動文書分類
ハイライト 文書要約
カスタムランキング 高評価のコンテンツを上位にする
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
31. (例)専門用語抽出
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
32. (例)固有表現抽出
民主党の前原外相は 6 日、
海江田経財相と茨城県で
会食した。
NE body _org _per _loc _date
民主党の前原
前原
あり 外相は 6 日、 民主党
海江田
茨城県 6日
…
民主党の前原
なし 外相は 6 日、 - - - -
…
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
33. 類義語辞書の自動作成
• 日本語 Wikipedia から Solr 用の類義語辞書を自動
作成
本システムにより、およそ 85 万項目の日本語 Wikipedia から約 1 万 1
千件の類義語知識が獲得できました。
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
34. 3つの技術の融合によるエコシステム
検索エンジン単体からプラットフォーム全体の最適化へ
より精度の高い検索結果を提供
し、ユーザーの検索体験を向上
解析データを含む情報を効率
させる
的に検索エンジンへ登録
登録
ウェブクロー 検索
クローリン 検索エンジ
グ ラー
ン
データコネク
ター グ
ロ
自然言語処理 検
索
統計処理
機械学習
経
営
資
料
検索ログなどの解析を行い、次
のアクションプランの材料と、
更なる検索精度改善のための
解析データのフィード データを集める
バック Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
36. 事例 - 公開されている事例の一部
White House Panasonic Europe
NASA Smithonian Institution
Instagram eBay
FCC Buy.com
Comcast eTrade
AT & T Goldman Sachs
AOL Disney
Sears Apple
Ticketmaster CISCO
Netflix MTV
CNET
Zappos
http://wiki.apache.org/solr/PublicServers
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
37. 事例 ライフサイエンス企業様
• 社内の技術サポート・コールログ検索システム
– 課題
• 営業が顧客訪問前に、状況を把握したい
• もともと商用の検索ツールを利用していたが、検索精度が悪かった
• ユーザにとっての使い勝手もよくなかった
– ソリューション
• RDB と Solr を合わせた検索システムを構築する
• RDB のデータを Solr の Index に渡す
– 結果
営業は、先手、先手のアクションが取れるようになった
検索が、「新しいシステムになって、ラクだ」という声
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
38. 事例 ライフサイエンス企業様
• 代理店向けポータル
– 課題
• コールセンターへの問合せが多い、在庫問合せを減らしたい
• コールセンター本来の業務のクオリティをあげたい
– ソリューション
• Web や携帯電話からアクセスするための代理店向け情報共有
サイトを作る
• SAP から在庫データを RDB にインポートし、更に Solr で
Index 化
– 結果
• コールセンターの生産性が向上した
• 代理店が、いつでもどこでも、コールセンターの時間外でも、
在庫情報や受注情報を検索し、共有することができるようにな
った
• 代理店から、「何でこんなに検索が早いのか」と言っていただ
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
39. 事例 慶應義塾大学様
• 電子学術書利用実験プロジェク
ト
– 大学図書館における、日本語の電
子学術書の全文検索プラットフォ
ーム
– 利用者は学習や研究等で使ってい
る資料の一部を 24 時間、自宅か
らも利用できる
– 資料が貸出中で利用できないとい
う状況も改善
– 日本の大学で初めての試み
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
40. 検索プロジェクトの成功への道
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved
Notas do Editor Apache Solr 3.x 基礎 Copyright (c) 2006-2012 RONDHUIT Co.,Ltd. Apache Solr, Apache Lucene and their logos are trademarks of the Apache Software Foundation.