42
Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved Apache Solr でででででででででででででで ででで ででででで ででででででで 、、 2012 で 12 で 5 で でででで でででででで で でで でで で

Apache Solrで実現する共創のエコ システム ‒検索、クロール、自然言語処理‒

Embed Size (px)

Citation preview

Page 1: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

Apache Solr で実現する共創のエコシステム

ー検索、クロール、自然言語処理ー

2012 年 12 月 5 日

株式会社 ロンウイット池 真之

   阿部 慎一朗

Page 2: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

+

Page 3: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

本日のアジェンダ

ロンウイットについてオープンソースについて検索クローラー自然言語処理ケーススタディ(事例)

Page 4: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

4

株式会社ロンウイット

• 設立: 2006 年 5 月 2 日

• 代表者: 関口宏司

• 業務内容:– OSS 検索エンジンのトレーニングサービスの提供– OSS 検索エンジンの技術コンサルティングサービスの提供– OSS 検索エンジンサブスクリプション・パッケージの提供– OSS 検索エンジンのサポートサービスの提供

• 社名の由来:– 江東区の丸八通り、仏語で「丸( Rond )」「八( Huit )」– 丸も八も、「縁起がよい}

Page 5: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

ロンウイットのミッションとは?

検索を変え

ヒトと情報をつなぎ

世の中を進化させる

検索エンジンクロー

ラー

自然言語処理機械学習

Page 6: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

オープンソースのコミッター・リストLucene/Solr Committers

1.Andrzej Bialecki (ab@...)

2.Bill Au (billa@...)

3.Michael Busch (buschmi@...)

4.Doron Cohen (doronc@...)

5.Doug Cutting (cutting@...)

6.James Dyer (jdyer@...)

7.Shai Erera (shaie@...)

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@...)

ManifoldCF Committers

1.Shinichiro Abe <shinichiro> 2.Ahmet Arslan <iorixxx> 3.Erlend Garåsen <ridder> 4.Piergiorgio Lucidi <piergiorgio> 5.Simon Willnauer <simonw> 6.Karl Wright <kwright> 7.Jukka Zitting <jukka>

Page 7: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

オープンソース

Page 8: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

なぜ、コミッターの存在が大事なのか

• 継続的な人材育成、成長の場

• お客様の課題に対する解決力の向上

• 日本のグローバル人材の育成のマイルストーン

• グローバルなコミュニティー、エコシステムへの貢献

Page 9: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

なぜ、オープンソースなのか?

• オープンなコミュニティーによる共創– 相互に強みを出し合い、弱みを無効化することで全体最適化– 信頼と性善説をベースとする– ユーザ、開発者とともに共創

• オープン・イノベーション– 技術:日々進化。共創による高い品質レベル– ビジネス:サービス型。潔く、安寧を求めず、進化し続ける– スピード:他者の強みに自分の強みを加え、加速

• コスト– 初期投資固定型でなく、従量・変動型の適切なコスト– 製品型ではなく、サービス型の適切なコスト– いつでも始められ、いつでもやめられる

Page 10: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

Apache Software FoundationWe 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.

Page 11: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

検索

Page 12: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

検索イノベーションのトレンド

AltaVista

Google

Yahoo!

Verity

Fast Search

Excite

Lycos

検索技術の確立

インターネット検索キーワード型検索連動型広告

インターネット検索ディレクトリ型

企業内検索

OSS 検索ブーム

Infoseek

ECOSYSTEM !

クラウド

横断検索リアルタイム検索インテリジェント化

商用検索 M&A ブーム

BIG DATA

広告型検索

Page 13: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

検索からはじまった ECOSYSTEM

Page 14: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

なぜ、検索が重要なのか?

• インターネットよりも、社内の身近な情報が見つからない– Google や Yahoo! のような使い勝手ではない– 特に非構造化データ( PDF や Office系の文書)が見つ

からない– ドキュメントの権限管理が複雑である– 隣のヒトがどんなドキュメントを残しているかわからな

• RDB や ERP のアーキテクチャーに限界がある– 検索に時間がかかる– 日本語の表記揺れに対応できない

• データは、 BIGDATA 化(エントロピー増大)する– 様々なデータソースがあり、クロールできていない– アクセスコントロールやセキュリティーが不安

Page 15: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

業務システムと検索システム

業務システム 検索システム

目的業務の改善、自動化トランザクションやプロセスの管理

情報共有、発見、気付き創造力を高める

特徴

リリースした時から、業務とシステムの乖離が発生する∴リリースした時が、 MAXIMUM

リリースした時から、継続的な学習がはじまる∴リリースした時が、 MINIMUM

データベース RDB や独自のデータベース Index

データ処理 トランザクション(インテリジェントな Read Write ・ACID )

Read : 検索クエリーWrite: Index登録

ROI 業務の生産性向上プロセスの自動化、工数削減

アイデアの創出、共創情報共有による重複作業の防止

モチベーション

迅速正確なオペレーション業務が中心

検索者の意志、ビジョン人間が中心

Page 16: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

RDB と共存のアーキテクチャーへ

フロントAP サーバ

RDBMS

リクエスト

レスポンス( HTML )ブラウザ

フロントAP サーバ

RDBMS

SolrServer

INDEX

検索リクエスト

検索結果一覧( XML )

全文検索用インデックスの作成

リクエスト

レスポンス( HTML )

ブラウザ

RDB のみのアーキテクチャー

RDB と INDEX による自由度の高いアーキテクチャー

トランザクション処理

トランザクション処理

Page 17: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

検索プロジェクトを推進するために

• 検索システム投資についてのマネジメントの課題– 検索システムは、 ROI を計測しにくい– 検索システムは、短期的な効果が見えにくい– 検索システムは、ユーザの意志との共創

• オープンソース検索エンジンによる解決– 初期のライセンス費用が不要なので、回収が早い– 継続的に、検索システムによる価値を向上させる– バランスのよいエンタープライズ・アーキテクチャを実現

検索システムの価値(≒ラーニングカーブ)

商用検索エンジンコスト(初期コスト大)

オープンソース検索エンジンコスト(比較的フラット)時間軸

効用コス

Page 18: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

検索と BIG DATA

Page 19: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

Apache Solr と Apache Hadoop

Lucene/Solr Hadoop

目的 検索のため目的志向

大規模分散処理のためインフラ志向

技術 Indexデータの登録データの検索

HDFSMap/Reduce

適用 EC 、企業内検索、図書館、電子書籍などあらゆる組織SmallData でも、 BigData でも有効

Index作成、 SNS 、インターネット広告など BigData や膨大な Log がある組織ビジネスモデルが明確な組織

起源 オープンソースの検索エンジンを作るため。 Google の分散検索などを参考に実装

インターネットでクロール( Nutch) した、巨大なデータを Index 化するため。Google 分散処理の論文を参考に実装

Page 20: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

Apache Solr

Page 21: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

Apache Lucene と Solr

• Apache Lucene– 全文検索システムを構築するためのオープンソースの Java ライブ

ラリ– 数百万件の文書を高速に検索。大規模システム向き– 素のままのエンジンとして、インターネット企業が利用することが多い

• Apache Solr– Lucene をベースに開発されたオープンソースの全文検索サーバ– サーブレットサーバ上で稼動( Tomcat/JBoss/Jetty ・・・)– ウェブアプリケーション化されており、多くの企業が利用しやすい

Page 22: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

検索とクロールの全体像

Apache Solr

パーソナライズPersonalize

サジェスチョンSuggest

ファセットFacet

クラスタリングClustering

Apache UIMAApache Tika

自然言語処理NLP

連想検索Association

index

共起分析Collocation

メタデータMeta Data

パーソナライズ

Personalize

機械学習Machine Learning

アプリケーションサーバ

App Server

アクセスログAccess Log

ApacheManifoldCF

ウェブWWWウェブWWW

ファイルサーバ

File Server

ファイルサーバ

File Server

データベースRDBMS

データベースRDBMS

コンテンツ管理

CMS

コンテンツ管理

CMS

社内 SNS/ ブログ

SNS / blog

社内 SNS/ ブログ

SNS / blog

セキュリティ連携ActiveDirectory

Page 23: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

クロール

Page 24: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

クロールについて• クロールの役割

– データソースから、コンテンツ情報を取得する– アクセスコントロール情報も取得する– 取得したデータを検索エンジンの Index に登録する

• ManifoldCF

– 2009 年に ASF に寄贈– 2012 年 5 月に Top Level Project に昇格– 2012 年 10 月  ManifoldCF1.0.1 リリース

Page 25: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

ManifoldCF によるデータ取得

Apache Solr

Solr Cell

index

ApacheManifoldCF

Web RSSWeb RSS

Windows shares

File System

Windows shares

File System

JDBC -Oracle

- SQLServer- Postgresql

JDBC -Oracle

- SQLServer- Postgresql

CMISCMIS

AlfrescoAlfrescoLiveLink (OpenText)

LiveLink (OpenText)

Documentum (EMC)

Documentum (EMC)

Meridio (Autonomy)

Meridio (Autonomy)

SharePoint (Microsoft)SharePoint (Microsoft)

FileNet (IBM)FileNet (IBM)Active

DirectoryActive

Directory

出力コネクタ

リポジトリ

コネクタ

権限コネクタ

メタデータ

コンテンツ

アクセストークン

Page 26: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

MCF による、セキュリティーを考慮した検索

MCF Security SearchComponent

plugin

Apache Solr

index

メタデータコンテンツ

アクセストークン

Apache ManifoldCF

権限コネクタ

Active DirectoryActive Directory

検索リクエスト

フィルタリングされた検索結果の返却

username@domainusername@domain アクセストークン

アクセストークン

Page 27: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

自然言語処理

Page 28: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

自然言語処理について• 自然言語処理

– NLP : Natural Language Processing– 形態素解析、構文解析、意味解析、文脈解析

• 自然言語処理の用途– 機械翻訳– 情報検索– クラスタリング– 情報抽出– テキスト要約

• 検索エンジンに自然言語処理を付加することで、 Solrを– より便利に!– よりかしこく!– より楽に!

Page 29: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

Solr の主要機能

キーワード検索

インデクシング

ハイライト

カスタムランキング

地理検索

もしかして。。。

ファセットグループ化検索

類似文書検索

クラスタリング

形態素解析器

表記揺れ対策

類義語検索

サジェスチョン

言語判別

Page 30: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

検索は終わらない。更に、高みを目指す

機能 主な課題

表記揺れ対策 辞書整備

類義語検索 辞書整備

形態素解析器 新語辞書登録、検索漏れ

サジェスチョン データソース収集

ファセット 非構造化文書におけるカテゴリー分け

クラスタリング 精度問題

類義文書検索 精度問題

もしかして検索 再現率問題

キーワード検索 自然文検索

インデクシング 自動文書分類

ハイライト 文書要約

カスタムランキング 高評価のコンテンツを上位にする

Page 31: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

(例)専門用語抽出

Page 32: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

(例)固有表現抽出

民主党の前原外相は 6 日、海江田経財相と茨城県で会食した。

NE body _org _per _loc _date

あり民主党の前原外相は 6 日、…

民主党 前原海江田 茨城県 6 日

なし民主党の前原外相は 6 日、…

- - - -

Page 33: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

類義語辞書の自動作成• 日本語 Wikipedia から Solr 用の類義語辞書を自動作成

本システムにより、およそ 85万項目の日本語 Wikipedia から約1 万 1千件の類義語知識が獲得できました。

Page 34: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

3つの技術の融合によるエコシステム

検索エンジン単体からプラットフォーム全体の最適化へ

検索エンジン

ウェブクローラー

データコネクター

自然言語処理統計処理機械学習

検索

検索ログ

登録

経営資料

解析データのフィードバック

クローリング

解析データを含む情報を効率的に検索エンジンへ登録

検索ログなどの解析を行い、次のアクションプランの材料と、更なる検索精度改善のための

データを集める

より精度の高い検索結果を提供し、ユーザーの検索体験を向上

させる

Page 35: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

ケーススタディー

Page 36: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

事例 - 公開されている事例の一部

White HouseNASAInstagramFCCComcastAT& TAOLSearsTicketmasterNetflixCNETZappos

Panasonic EuropeSmithonian InstitutioneBayBuy.comeTradeGoldman SachsDisneyAppleCISCOMTV

http://wiki.apache.org/solr/PublicServers

Page 37: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

事例 ライフサイエンス企業様• 社内の技術サポート・コールログ検索システム

– 課題• 営業が顧客訪問前に、状況を把握したい• もともと商用の検索ツールを利用していたが、検索精度が悪かっ

た• ユーザにとっての使い勝手もよくなかった

– ソリューション• RDB と Solr を合わせた検索システムを構築する• RDB のデータを Solr の Index に渡す

– 結果営業は、先手、先手のアクションが取れるようになった検索が、「新しいシステムになって、ラクだ」という声

Page 38: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

事例 ライフサイエンス企業様• 代理店向けポータル

– 課題• コールセンターへの問合せが多い、在庫問合せを減らしたい• コールセンター本来の業務のクオリティをあげたい

– ソリューション• Web や携帯電話からアクセスするための代理店向け情報共有サイ

トを作る• SAP から在庫データを RDB にインポートし、更に Solr で Index

– 結果• コールセンターの生産性が向上した• 代理店が、いつでもどこでも、コールセンターの時間外でも、在庫情報や受注情報を検索し、共有することができるようになった

• 代理店から、「何でこんなに検索が早いのか」と言っていただいた

Page 39: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

事例 慶應義塾大学様• 電子学術書利用実験プロジェク

– 大学図書館における、日本語の電子学術書の全文検索プラットフォーム

– 利用者は学習や研究等で使っている資料の一部を 24 時間、自宅からも利用できる

– 資料が貸出中で利用できないという状況も改善

– 日本の大学で初めての試み

出典 : http://project.lib.keio.ac.jp/ebookp/

Page 40: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

検索プロジェクトの成功への道

Page 41: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

次回のトレーニングの予定

詳細は、 http://www.rondhuit.com/training.html

Page 42: Apache Solrで実現する共創のエコ システム  ‒検索、クロール、自然言語処理‒

Copyright © 2006-2012 RONDHUIT Co., Ltd. All Rights Reserved

検索は、ヒトと組織を活かす、最も基礎的な技術です。

検索技術が貢献できる可能性や将来性は、大変大きいと考えています。

是非、みなさまと、 IBM 様、 EXA 様とともに、ヒトと情報をつなぐ、エコシステムを作っていきたいと思っています。

有難うございます。お問合せは、お気軽に!

[email protected]