SlideShare a Scribd company logo
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見
2017.8.27
クリエーションライン株式会社 シニアコンサルタント
木内 満歳
1
※前半資料は https://www.slideshare.net/yasushihara/elasticsearch-15-spias を参照ください
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
自己紹介
木内 満歳(きうち みつとし)
クリエーションライン株式会社 シニアコンサルタント
Slideshare: http://www.slideshare.net/mkiuchi4
各種寄稿
a. gihyo.jp: “Mesosphere DCOSでつくるクラウドアプリケーション”
b. 日経クラウドファースト2016年6月 “Azure IoT Suiteの評価”
c. Codezine: “機械学習をクラウドで手軽に体験! BluemixのApache Sparkで異常
なセンサーデータを洗い出す”
各種講演
a. 政策研究大学院大学 科学技術イノベーション政策研究センター
「科学技術イノベーション政策のための科学オープンフォーラム」
b. Developer Summit 2016 Summer
c. 日経BP社 “パブリッククラウド導入の企画提案力養成講座”
専門分野:Apache Mesos, Apache Spark, 分散コンピューティング, クラウドコンピューテ
ィング, NoSQL DB, グラフDB
O’reilley Certified Developer on Apache Spark
Docker Certified Technical Trainer
2
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
会社紹介
2006年1月設立
拠点: 東京都神田佐久間町(秋葉原)
社員数: 35(業務委託・BP含め 60人)
主な業務:
クラウド基盤コンサルティング・アプリケーション開発・運用
IoT/ビッグデータ基盤構築、データ分析サービス
アジャイル開発/DevOps開発/CI/CDに関するコンサルティング
クリエーションライン株式会社
3
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
取扱製品
クラウド基盤・アジャイル開発支援
データ分析基盤
4
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
アジェンダ
1. SPIASが解決すべき技術課題
2. 解決に向けた方策
3. 試作構成
4. 検証
a. データ移行
b. 統計的な傾向把握:組織毎の予算配分状況
c. 定性的な傾向把握:年代ごとに使用された主要な用語
d. 論文毎の関係性・カテゴリの発見
5.まとめ
6.今後の展開
5
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
1. SPIASが解決すべき技術的課題
• 量と質の向上(スケーラビリティ)
– データベース
• 量・速度のスケーラビリティ
• 論文データベースの特性に合わせた要素技術選択
– 統計処理環境
• 集計
• 各種機械学習
•認証(AD/LDAPベース)
6
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
1. SPIASが解決すべき技術的課題
•スケーラビリティ
– データベース
• 量・速度のスケーラビリティ
• 論文データベースの特性に合わせた要素技術選択
– 現状のDB収録:約100GB, 約15機関
• 課題
– 現状ではDBの制約から全てのデータを入れていない
– 民間のリポジトリに対応できていない
– 管理組織によってスキーマ構造が異なる
– 異なるスキーマを受け入れ、統合管理する必要性
7
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
現状のテーブル構造
● かなり複雑化
● RDB(正規化)のアプローチで
今後も続けることは厳しい
8
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
1. SPIASが解決すべき技術的課題
•スケーラビリティ
– データベース
• 論文データベースの特性に合わせた要素技術選択
[求められる要素技術]
• 全文検索(含む形態素解析)
• 各種集計処理
さらにアドバンスドな処理として
• 類似性探索・カテゴリの発見
• 論文間の参照訴求・原論文探索
• 組織毎の傾向性探索
9
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
1. SPIASが解決すべき技術的課題
• スケーラビリティ
– 統計処理環境
• 基本的にはドキュメント量が倍になると、
– 関連性探索の検索量は4倍以上になる
– 関連してコーパスが増えると、その増加量の4倍以上計算量が増える
• 従ってドキュメント量が増加するごとに、統計処理に要する計算量は指
数関数的に上昇する
スケーラブルDBの必要性
• 高度な統計処理のニーズ
– ドキュメント間類似探索
– 論文間リファレンス訴求 など
スケーラブル分析環境の必要性
10
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
2. 解決に向けた方策
• RDBから分散NoSQLへの移行
– 現状: MySQL+Mroonga
– 移行先: Elasticsearch
•Apache Sparkによる統計処理環境
[選択理由]
• 双方ともにスケーラビリティがある
• Elasticsearch:
– kuromojiによる形態素解析
– スキーマ定義不要(厳密には若干型指定などが必要だが)
– 全文検索機能がデフォルトで使用できる
• Apache Spark
– Elasticsearchとの接続サポート
– 統計処理, 機械学習, グラフ処理を含む統合パッケージ
11
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
3. 試作構成
Senkei
データ移行 データ分析
12
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4. 検証
A.データ移行
B.統計的な傾向把握:組織毎の予算配分状況
C.定性的な傾向把握:年代ごとに使用された主要な用語
D.論文毎の関係性・カテゴリの発見
13
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-A: データ移行
RDBからのDe-Normarize
複数のテーブルから子要素を
取り出し親要素につなげる
[テーブル名] [対応するオブジェクト構造]
projects =.
├ project_documents =.document
└ project_doc_links =.doclink
├ project_doc_texts =.doclink.doctext
└ project_members =.doclink.member
14
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-A: データ移行
RDBからのDe-Normarize
• LogstashにはJBDCによるRDBインプットに対応するコネクタがある
– ドキュメントに複数テーブルにJOINを行う場合の記法が書かれ
ていない
– 複数テーブルのJOINを行うとデータ爆発で移行用のインスタン
スのメモリをオーバーフローしてしまう
• Pythonで移行プログラムを作成
15
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-A: データ移行
移行後のデータ例
{ "id": 105271,
"title": "量子情報処理プロジェクト",
"enterprise_id_top": 500,
"enterprise_id_bottom": 501,
"doclink": [
{ "project_id": 105271,
"project_document_id": 100630,
"url": "http://first-quantum.net/",
"doctext": [
{ "title": "概要",
"body": "量子情報処理の分野で・・・",
"member": [
{ "researcher_id": 116116,
"name": "山本 喜久",
"institution_id": 4701,
"affiliation": "情報・システム研究機構(国立情報学研究所)", },]
} ] } ],
"document": [
{ "title": "量子情報処理プロジェクト", } ]
}
16
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-A: データ移行
移行後のデータ例
{ "id": 105271,
"title": "量子情報処理プロジェクト",
"enterprise_id_top": 500,
"enterprise_id_bottom": 501,
"doclink": [
{ "project_id": 105271,
"project_document_id": 100630,
"url": "http://first-quantum.net/",
"doctext": [
{ "title": "概要",
"body": "量子情報処理の分野で・・・",
"member": [
{ "researcher_id": 116116,
"name": "山本 喜久",
"institution_id": 4701,
"affiliation": "情報・システム研究機構(国立情報学研究所)", },]
} ] } ],
"document": [
{ "title": "量子情報処理プロジェクト", } ]
}
テーブル”projects”からのデータ
テーブル”project_doc_links”からのデータ
テーブル”project_doc_texts”からのデータ
テーブル”project_members”からのデータ
17
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-A: データ移行
データ移行量: 約850,000ドキュメント
移行時間: 約40時間(約4500ドキュメント/分)
移行後のフィールド数(≒カラム数)は約40,000個
主な原因はプロジェクト参加者が非常に多いプロジェクトがあったこと
(参加者1人につき9フィールドできるので、参加者が100人だと100x9=900
フィールド。プロジェクト内のドキュメントが10個あると900x10=9000フ
ィールドになってしまう)
18
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-A: データ移行
手こずった点
• mysql-restoreの時間
– dump 1.5h, restore: 40h(dump比25倍)
• Logstashの書式のわかりにくさ
• JOINによるデータ爆発
• インデックス(≒テーブル)作成時にフィールド定義やtokenizerの定義をし
ないと、作成後にダイナミックに変更することができないため、何回かや
りなおした
19
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-B:
• 統計的な傾向把握:組織毎の予算配分状況
– elasticsearchのaggregated queryを使用
– kibanaで可視化
20
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-B: 統計的な傾向把握
• 競争的資金活用プロジェクトにおける年次予算配分状況
21
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-B: 統計的な傾向把握
• 競争的資金活用プロジェクトにおける年次予算配分状況
● 資金の大部分はいくつかの組織
に偏っている(近年はそれでも
多様性が出てきた)
● 比較的マイナーな組織で多額の
予算配分が行われているのは、
看板研究者の移籍などによると
推測される
22
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-B: 統計的な傾向把握
• 競争的資金活用プロジェクトにおける年次予算配分状況
● elasticsearchによる集計は非常に簡便
23
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-C: 定性的な傾向把握:年代ごとに使用された主要な用語
• kibanaのtag cloudを使用
– タイトルで使用される用語をkuromojiで形態素解析
– プロジェクトの予算平均の多い順にソートして表示
24
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-C: 定性的な傾向把握:年代ごとに使用された主要な用語
elasticsearchでのkuromoji形態素解析
PUT _template/projects {
"settings": { "index": { "analysis": { "tokenizer": {
"kuromoji_user_dict": {
"type": "kuromoji_tokenizer",
"mode": "normal"
} } } } },
"template": "project*",
"mappings": { "project": { "dynamic_templates": [
{ "mk": { "match_mapping_type": "string",
"mapping": {
"type": "text",
"analyzer": "kuromoji",
"fielddata": true,
"fields": {
"title": {
"type": "keyword"
} } } } } ] } }
}
● トークナイザkuromojiはプラ
グイン利用可能
● 形態素解析するフィールドを
事前に定義することで自動的
に品詞を抜き出す
$ elasticsearch-plugin install analysis-kuromoji
25
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-C: 定性的な傾向把握:年代ごとに使用された主要な用語
1960年代 1970年代
1980年代 1990年代
2000年代 2010年代
26
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-C: 定性的な傾向把握:年代ごとに使用された主要な用語
技術トピックによる予算配分
世界の中の日本・相対的な視点
1960年代 1970年代
1980年代 1990年代
2000年代 2010年代
エネルギーの開発と利用
研究の実用化・大学発ベンチャー 次世代エネルギー・材料開発
27
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-C: 定性的な傾向把握:年代ごとに使用された主要な用語
技術トピックによる予算配分
世界の中の日本・相対的な視点
1960年代 1970年代
1980年代 1990年代
2000年代 2010年代
エネルギーの開発と利用
研究の実用化・大学発ベンチャー 次世代エネルギー・材料開発
大阪万博
(1970)
電子顕微鏡
(1965)
オイルショック
(1973)
プラザ合意
(1986)
カーボンナノチューブ
(1991)
京都議定書
(1999)
平沼プラン
(2001)
東日本大震災
(2011)
28
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-C: 定性的な傾向把握:年代ごとに使用された主要な用語
• 各年代における研究は当時の世相、政策を反映している
• 一般的な傾向としては「エネルギー開発」「材料開発」に多めの予算が割
り当てられる傾向がある
29
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間の類似度計算
– 研究プロジェクトタイトルを形態素解析
– Bag of Words(BoW)の作成、多次元ベクトル化
• ベクトル間計算
– コサイン類似度
– 他にも ベクトル間距離や集合の発見(クラスタリング)にも利
用可能
30
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算
– 研究プロジェクトタイトルを形態素解析
– Bag of Words(BoW)の作成、多次元ベクトル化
(例)
文書1: りんご バナナ ぶどう メロン
文書2: メロン りんご パイナップル なし
--
コーパス: [りんご: 2, バナナ: 1, ぶどう: 1, メロン: 2, パイナップル: 1, なし: 1]
--
文書1-BoW: [2, 1, 1, 2, 0, 0]
文書2-BoW: [2, 0, 0, 2, 1, 1]
2つの文書を同次元のベクトル空間上で
計算可能になる
31
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算
– 非常にデータ量が多い
• コーパス*: 約15万次元
• プロジェクト数: 約80万プロジェクト
⇒ 15万 x 80万^2 のマトリクス計算
⇒ 15万 x 80万^2 x 4byte(float) = 3.84e17 ≒ 約350PB
まともにやっても そもそもできない
※コーパス: ここでは「ドキュメント群全体で現れる単語の一覧と個々の単語の出現数」という意味で使用
32
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算
⇒ 15万 x 80万^2 のマトリクス計算
(例)
コサイン類似度計算:
a = [...], b=[...] とした場合:(a.*b)/norm(a)*norm(b)
⇒これを 80万x80万回=6400万回やればよい
1回の類似度計算に要する浮動小数点計算回数
=(15万^2)*((15万^2)+(15万^2))^2) = 45562500万回 = 4600億回
80万^2=6400万回の計算には 4600億 * 6400万 = 約3000京回必要
CPU 1core=2GHzの場合、50GFLOPS=500億FLOPS/秒
つまり理論上は3000京÷500億≒約7000日の計算・・・だがしかし!
33
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算
⇒ さらに悪いことに・・・
• 実際にはメモリ〜CPU間のデータ転送による遅延
• ディスクIO、ネットワークデータ転送が入る場合はさらに遅延
• データの用意に関する各種OSの処理
などが入るため、理論時間の100〜1000倍以上かかるかもしれない
⇒実際には数十年、へたしたら数百年かも・・・
さらにドキュメント、コーパスは今後さらに増える可能性
データ量と計算量の圧縮は必須要件
かつマルチコア・マルチノードにわたるスケーラブルな処理が必要
34
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
350PB ⇒ 10GBまで
データ圧縮
• 文書間のコサイン類似度計算
– BoWは基本的にゼロが非常に多いベクトル
– Sparse Vector(疎行列)の活用
(例)
array = [0.0, 0.0, 0.0, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.82, 0.0, 0.0]
4byte(float) x 15 = 60byte
↓
array = Vectors.sparse(15, [3,4,12], [0.2, 0.1, 0.82])
│ │ └ゼロ以外の実際の値
│ └─────ゼロ以外の値のインデックス
└─────────ベクトル長
4byte(int, float) x (1+3+3) = 28byte
35
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算
– ベクトル間計算
• Apache Sparkによる分散計算
• DIMSUMによるサンプリング計算
DIMSUM=“Dimension Independent Matrix Square using MapReduce,”
もともとのコサイン類似度で
発生するシャッフル量 =O(NL^2)
DIMSUMにおけるシャッフル量 =O(DL log(D)/γ) *γ=10*log(N)/threshold
N(dimension)に依存しない
(N=各ベクトルの次元数, D=コサイン類似度組合せ数, L=疎行列長)
36
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算
– ベクトル間計算: Apache Spark: DIMSUM
• Twitterによって開発(2014年)、SparkにOSSとして寄贈
https://blog.twitter.com/engineering/en_us/a/2014/all-pairs-similarity-via-dimsum.html
https://databricks.com/blog/2014/10/20/efficient-similarity-algorithm-now-in-spark-twitter.html
37
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算
– ベクトル間計算: Apache Spark: DIMSUM
• Twitterによって開発(2014年)、SparkにOSSとして寄贈
TwitterにおけるDIMSUM適用後のシャッフル量の変化
適用前 適用後
38
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算: DIMSUM
こんな風に読む
処理時間: 約6時間
(サンプリング1%, pre、post処理含む)
39
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算: DIMSUM
● そんなにドキュメント間の
類似性が偏る=グループ化で
きる要素があるようには見
受けられない
● 比較的どれにも似ていない、
(いい意味では)独自性のある
ドキュメントはそれなりに
ありそう
● 一般的すぎる単語の刈り込
みなどが必要だと思われる
40
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算: DIMSUM
DIMSUMとて万能ではない
Executor間の大幅な処理時間のば
らつき = Partition毎のデータ量に
大きな偏差がある->改善の余地あ
り?
41
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
4-D: 論文毎の関係性・カテゴリの発見
• 文書間のコサイン類似度計算
⇒ さらに悪いことに・・・
• 実際にはメモリ〜CPU間のデータ転送による遅延
• ディスクIO、ネットワークデータ転送が入る場合はさらに遅延
• データの用意に関する各種OSの処理
などが入るため、理論時間の100〜1000倍以上かかるかもしれない
⇒実際には数十年、へたしたら数百年かも・・・
さらにドキュメント、コーパスは今後さらに増える可能性
データ量と計算量の圧縮は必須要件
かつマルチコア・マルチノードにわたるスケーラブルな処理が必要
ともあれ当初目的は達成。
◯ データ量・計算量 = 大幅な圧縮に成功
◯ マルチコア・マルチノードにわたるスケーラブル処理 = 実装
⇒今後のデータ増加に対しても対応できる道筋を作った
42
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
まとめ
•量と質の向上(スケーラビリティ)
– データベース
• 量・速度のスケーラビリティ
• 論文データベースの特性に合わせた要素技術選択
⇒elasticsearchが有効なデータベースとして
機能することを確認した
– 統計処理環境
• 集計
• 各種機械学習
⇒Apache Sparkで現実的な時間での処理ができる可能性が
あることを確認した
43
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
今後の展開
• さらなるデータソースの取込み
– 海外英語論文
– 科研費
•高度な分析技術の投入
– 研究者プロファイリング
– 論文被引用関係のグラフデータ化、および分析
– 研究者コロニーの視覚化
– 組織間マッチング、研究アソシエーション探索
44
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
宣伝
“e19” と書いて「せんけい」と読みます
7/28リリース
マネージドApache Spark分析環境
データサイエンティストのためのサ
ービス
https://e19.io
45
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved
みなさまへのお願い
本プロジェクトは2019年4月の事業化を目標に開発を進めています。
ご興味を持たれた方はぜひお問い合わせください。
• 事業に協賛したい
• データを提供したい
• 開発に参加したい
• そのほか
46
Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 47

More Related Content

PDF
[db tech showcase Tokyo 2017] D25: データの分析や解析の前に必要となる「データ準備」とは。データ・プレパレーション・プラ...
PPTX
(2017.6.9) Neo4jの可視化ライブラリまとめ
PPTX
Neo4jrbにおけるOGM
PPTX
(2017.4.27) IBM watson developer cloudのアプリケーションログを可視化する
PDF
異次元のグラフデータベースNeo4j
PDF
Dll講演資料 2017616
PDF
深層学習の導入で抱える課題とユースケース実例
PDF
Expectations and reality of hybrid cloud
[db tech showcase Tokyo 2017] D25: データの分析や解析の前に必要となる「データ準備」とは。データ・プレパレーション・プラ...
(2017.6.9) Neo4jの可視化ライブラリまとめ
Neo4jrbにおけるOGM
(2017.4.27) IBM watson developer cloudのアプリケーションログを可視化する
異次元のグラフデータベースNeo4j
Dll講演資料 2017616
深層学習の導入で抱える課題とユースケース実例
Expectations and reality of hybrid cloud

What's hot (20)

PDF
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
PDF
DIMoの操作実演とSCSKが提供する研修プログラム
PDF
Hccjp purpose andhistory
PDF
深層学習の導入で抱える課題とユースケース実例
PDF
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
PPTX
Deep Learning Lab コミュニティ 企画概要
PDF
【FOBAS】Data is money. ストレージ分散投資のススメ
PDF
[Livesence Tech Night] グリーにおけるHiveの運用
PPTX
新時代のエンタープライズデータマネジメント Drupal expo2017
PDF
Deep inspectionの特徴
PPTX
オープンデータ・プラットフォーム KYOTO OPEN DATA
PPTX
【Dll171201】深層学習利活用の紹介 掲載用
PDF
Py conjp2017ジョブフェア
PDF
大規模サイトを支えるビッグデータプラットフォーム技術
PDF
ハイブリッドガイドライン解説
PDF
グラフタイプデータの可視化ツールーTom Sawyer
PDF
ビックデータ分析基盤の成⻑の軌跡
PPTX
佐賀大学 - データ分析と向き合う
PDF
HDR映像のためのカラーデバンディング処理スライド
PPSX
【LTセッション】Brainwave 使ってみた_DEEP LEARNING LAB
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
DIMoの操作実演とSCSKが提供する研修プログラム
Hccjp purpose andhistory
深層学習の導入で抱える課題とユースケース実例
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
Deep Learning Lab コミュニティ 企画概要
【FOBAS】Data is money. ストレージ分散投資のススメ
[Livesence Tech Night] グリーにおけるHiveの運用
新時代のエンタープライズデータマネジメント Drupal expo2017
Deep inspectionの特徴
オープンデータ・プラットフォーム KYOTO OPEN DATA
【Dll171201】深層学習利活用の紹介 掲載用
Py conjp2017ジョブフェア
大規模サイトを支えるビッグデータプラットフォーム技術
ハイブリッドガイドライン解説
グラフタイプデータの可視化ツールーTom Sawyer
ビックデータ分析基盤の成⻑の軌跡
佐賀大学 - データ分析と向き合う
HDR映像のためのカラーデバンディング処理スライド
【LTセッション】Brainwave 使ってみた_DEEP LEARNING LAB
Ad

Viewers also liked (13)

PPTX
標的型攻撃からどのように身を守るのか
PPTX
博士学生が語る、4K/8K/VR配信基盤の最先端とコンテンツ配信の未来
PDF
Ansible101
PPTX
コンテナのネットワークインターフェース その実装手法とその応用について
PDF
Light and shadow of microservices
PPTX
Prometheus入門から運用まで徹底解説
PDF
Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~
PDF
情シスのひみつ
PDF
「ITエンジニアリングの本質」を考える
PDF
Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見 前半(15分): SPIAS のご紹介と主な課題
PDF
強化学習による 「Montezuma's Revenge」への挑戦
PDF
170827 jtf garafana
PDF
Internetトラフィックエンジニアリングの現実
標的型攻撃からどのように身を守るのか
博士学生が語る、4K/8K/VR配信基盤の最先端とコンテンツ配信の未来
Ansible101
コンテナのネットワークインターフェース その実装手法とその応用について
Light and shadow of microservices
Prometheus入門から運用まで徹底解説
Rancherで作る お手軽コンテナ運用環境!! ~ Kubenetes & Mesos 牧場でコンテナ牛を飼おう!~
情シスのひみつ
「ITエンジニアリングの本質」を考える
Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見 前半(15分): SPIAS のご紹介と主な課題
強化学習による 「Montezuma's Revenge」への挑戦
170827 jtf garafana
Internetトラフィックエンジニアリングの現実
Ad

Similar to (2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見 (20)

PDF
tut_pfi_2012
PDF
基調講演:「多様化する情報を支える技術」/西川徹
PDF
ビッグデータ革命 クラウドがコモデティ化する「奇跡」
PDF
図書館総合展ネクスト主催フォーラム「アカデミックとリアルの谷を埋める道」基調講演 2011年11月11日
PDF
MapReduceによる大規模データを利用した機械学習
PPT
Big data解析ビジネス
ODP
Web mining Tutorial: Entity search
PDF
20140918 センサ・アクチュエータ・マイクロナノ/ウィーク2014 次世代センサ総合シンポジウム
PDF
050830 openforum
PDF
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
PPTX
WebDB Forum 2012 基調講演資料
PDF
ソーシャルデザインパターン -評判と情報収集-
PPTX
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
PDF
mlabforum2012_okanohara
PPTX
ビッグデータ&データマネジメント展
PDF
オープンサイエンスから発想する未来の学術情報流通と大学図書館
PDF
企業における自然言語処理技術の活用の現場(情報処理学会東海支部主催講演会@名古屋大学)
PDF
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
PDF
図書館でAPIをスルメのように 味わうには
PPT
Web-Gakkai Symposium 2010
tut_pfi_2012
基調講演:「多様化する情報を支える技術」/西川徹
ビッグデータ革命 クラウドがコモデティ化する「奇跡」
図書館総合展ネクスト主催フォーラム「アカデミックとリアルの谷を埋める道」基調講演 2011年11月11日
MapReduceによる大規模データを利用した機械学習
Big data解析ビジネス
Web mining Tutorial: Entity search
20140918 センサ・アクチュエータ・マイクロナノ/ウィーク2014 次世代センサ総合シンポジウム
050830 openforum
【17-E-3】Hadoop:黄色い象使いへの道 ~「Hadoop徹底入門」より~
WebDB Forum 2012 基調講演資料
ソーシャルデザインパターン -評判と情報収集-
(2017.6.2) Azure HDInsightで実現するスケーラブル分析環境
mlabforum2012_okanohara
ビッグデータ&データマネジメント展
オープンサイエンスから発想する未来の学術情報流通と大学図書館
企業における自然言語処理技術の活用の現場(情報処理学会東海支部主催講演会@名古屋大学)
Open Cloud Innovation2016 day1(これからのデータ分析者とエンジニアに必要なdatascienceexperienceツールと...
図書館でAPIをスルメのように 味わうには
Web-Gakkai Symposium 2010

More from Mitsutoshi Kiuchi (9)

PPTX
(2017.9.7) Neo4jご紹介
PPTX
Spark summit 2016 recap
PPTX
Bluemixとapache sparkでできる io tデータの収集と分析
PPTX
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
PPTX
2015/12/9 Spark Meetup December講演資料
PPTX
Mesos consulで構築するマイクロサービスインフラ
PPTX
Dockerエンタープライズ利用について
PDF
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
PPTX
Docker活用ソリューション紹介
(2017.9.7) Neo4jご紹介
Spark summit 2016 recap
Bluemixとapache sparkでできる io tデータの収集と分析
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2015/12/9 Spark Meetup December講演資料
Mesos consulで構築するマイクロサービスインフラ
Dockerエンタープライズ利用について
9/16 Tokyo Apache Drill Meetup - drill vs sparksql
Docker活用ソリューション紹介

Recently uploaded (10)

PDF
細胞培養用バイオリアクターおよび発酵槽市場規模の成長見通し:2031年には2823百万米ドルに到達へ
PDF
【QYResearch】グローバル農業機械市場の動向分析と成長戦略に関する総合調査報告
PDF
商用ウェブカメラ市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
PDF
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
PDF
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
PDF
限外ろ過膜調査レポート:市場規模、シェア、産業分析データ、最新動向2025-2031 YH Research
PDF
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
PDF
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
PDF
【QYResearch】グローバルコネクタ市場の動向と将来展望に関する詳細な分析報告
PDF
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
細胞培養用バイオリアクターおよび発酵槽市場規模の成長見通し:2031年には2823百万米ドルに到達へ
【QYResearch】グローバル農業機械市場の動向分析と成長戦略に関する総合調査報告
商用ウェブカメラ市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
限外ろ過膜調査レポート:市場規模、シェア、産業分析データ、最新動向2025-2031 YH Research
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
【QYResearch】グローバルコネクタ市場の動向と将来展望に関する詳細な分析報告
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031

(2017.8.27) Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見

  • 1. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved Elasticsearchと科学技術ビッグデータが切り拓く日本の知の俯瞰と発見 2017.8.27 クリエーションライン株式会社 シニアコンサルタント 木内 満歳 1 ※前半資料は https://www.slideshare.net/yasushihara/elasticsearch-15-spias を参照ください
  • 2. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 自己紹介 木内 満歳(きうち みつとし) クリエーションライン株式会社 シニアコンサルタント Slideshare: http://www.slideshare.net/mkiuchi4 各種寄稿 a. gihyo.jp: “Mesosphere DCOSでつくるクラウドアプリケーション” b. 日経クラウドファースト2016年6月 “Azure IoT Suiteの評価” c. Codezine: “機械学習をクラウドで手軽に体験! BluemixのApache Sparkで異常 なセンサーデータを洗い出す” 各種講演 a. 政策研究大学院大学 科学技術イノベーション政策研究センター 「科学技術イノベーション政策のための科学オープンフォーラム」 b. Developer Summit 2016 Summer c. 日経BP社 “パブリッククラウド導入の企画提案力養成講座” 専門分野:Apache Mesos, Apache Spark, 分散コンピューティング, クラウドコンピューテ ィング, NoSQL DB, グラフDB O’reilley Certified Developer on Apache Spark Docker Certified Technical Trainer 2
  • 3. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 会社紹介 2006年1月設立 拠点: 東京都神田佐久間町(秋葉原) 社員数: 35(業務委託・BP含め 60人) 主な業務: クラウド基盤コンサルティング・アプリケーション開発・運用 IoT/ビッグデータ基盤構築、データ分析サービス アジャイル開発/DevOps開発/CI/CDに関するコンサルティング クリエーションライン株式会社 3
  • 4. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 取扱製品 クラウド基盤・アジャイル開発支援 データ分析基盤 4
  • 5. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved アジェンダ 1. SPIASが解決すべき技術課題 2. 解決に向けた方策 3. 試作構成 4. 検証 a. データ移行 b. 統計的な傾向把握:組織毎の予算配分状況 c. 定性的な傾向把握:年代ごとに使用された主要な用語 d. 論文毎の関係性・カテゴリの発見 5.まとめ 6.今後の展開 5
  • 6. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 1. SPIASが解決すべき技術的課題 • 量と質の向上(スケーラビリティ) – データベース • 量・速度のスケーラビリティ • 論文データベースの特性に合わせた要素技術選択 – 統計処理環境 • 集計 • 各種機械学習 •認証(AD/LDAPベース) 6
  • 7. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 1. SPIASが解決すべき技術的課題 •スケーラビリティ – データベース • 量・速度のスケーラビリティ • 論文データベースの特性に合わせた要素技術選択 – 現状のDB収録:約100GB, 約15機関 • 課題 – 現状ではDBの制約から全てのデータを入れていない – 民間のリポジトリに対応できていない – 管理組織によってスキーマ構造が異なる – 異なるスキーマを受け入れ、統合管理する必要性 7
  • 8. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 現状のテーブル構造 ● かなり複雑化 ● RDB(正規化)のアプローチで 今後も続けることは厳しい 8
  • 9. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 1. SPIASが解決すべき技術的課題 •スケーラビリティ – データベース • 論文データベースの特性に合わせた要素技術選択 [求められる要素技術] • 全文検索(含む形態素解析) • 各種集計処理 さらにアドバンスドな処理として • 類似性探索・カテゴリの発見 • 論文間の参照訴求・原論文探索 • 組織毎の傾向性探索 9
  • 10. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 1. SPIASが解決すべき技術的課題 • スケーラビリティ – 統計処理環境 • 基本的にはドキュメント量が倍になると、 – 関連性探索の検索量は4倍以上になる – 関連してコーパスが増えると、その増加量の4倍以上計算量が増える • 従ってドキュメント量が増加するごとに、統計処理に要する計算量は指 数関数的に上昇する スケーラブルDBの必要性 • 高度な統計処理のニーズ – ドキュメント間類似探索 – 論文間リファレンス訴求 など スケーラブル分析環境の必要性 10
  • 11. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 2. 解決に向けた方策 • RDBから分散NoSQLへの移行 – 現状: MySQL+Mroonga – 移行先: Elasticsearch •Apache Sparkによる統計処理環境 [選択理由] • 双方ともにスケーラビリティがある • Elasticsearch: – kuromojiによる形態素解析 – スキーマ定義不要(厳密には若干型指定などが必要だが) – 全文検索機能がデフォルトで使用できる • Apache Spark – Elasticsearchとの接続サポート – 統計処理, 機械学習, グラフ処理を含む統合パッケージ 11
  • 12. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 3. 試作構成 Senkei データ移行 データ分析 12
  • 13. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4. 検証 A.データ移行 B.統計的な傾向把握:組織毎の予算配分状況 C.定性的な傾向把握:年代ごとに使用された主要な用語 D.論文毎の関係性・カテゴリの発見 13
  • 14. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-A: データ移行 RDBからのDe-Normarize 複数のテーブルから子要素を 取り出し親要素につなげる [テーブル名] [対応するオブジェクト構造] projects =. ├ project_documents =.document └ project_doc_links =.doclink ├ project_doc_texts =.doclink.doctext └ project_members =.doclink.member 14
  • 15. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-A: データ移行 RDBからのDe-Normarize • LogstashにはJBDCによるRDBインプットに対応するコネクタがある – ドキュメントに複数テーブルにJOINを行う場合の記法が書かれ ていない – 複数テーブルのJOINを行うとデータ爆発で移行用のインスタン スのメモリをオーバーフローしてしまう • Pythonで移行プログラムを作成 15
  • 16. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-A: データ移行 移行後のデータ例 { "id": 105271, "title": "量子情報処理プロジェクト", "enterprise_id_top": 500, "enterprise_id_bottom": 501, "doclink": [ { "project_id": 105271, "project_document_id": 100630, "url": "http://first-quantum.net/", "doctext": [ { "title": "概要", "body": "量子情報処理の分野で・・・", "member": [ { "researcher_id": 116116, "name": "山本 喜久", "institution_id": 4701, "affiliation": "情報・システム研究機構(国立情報学研究所)", },] } ] } ], "document": [ { "title": "量子情報処理プロジェクト", } ] } 16
  • 17. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-A: データ移行 移行後のデータ例 { "id": 105271, "title": "量子情報処理プロジェクト", "enterprise_id_top": 500, "enterprise_id_bottom": 501, "doclink": [ { "project_id": 105271, "project_document_id": 100630, "url": "http://first-quantum.net/", "doctext": [ { "title": "概要", "body": "量子情報処理の分野で・・・", "member": [ { "researcher_id": 116116, "name": "山本 喜久", "institution_id": 4701, "affiliation": "情報・システム研究機構(国立情報学研究所)", },] } ] } ], "document": [ { "title": "量子情報処理プロジェクト", } ] } テーブル”projects”からのデータ テーブル”project_doc_links”からのデータ テーブル”project_doc_texts”からのデータ テーブル”project_members”からのデータ 17
  • 18. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-A: データ移行 データ移行量: 約850,000ドキュメント 移行時間: 約40時間(約4500ドキュメント/分) 移行後のフィールド数(≒カラム数)は約40,000個 主な原因はプロジェクト参加者が非常に多いプロジェクトがあったこと (参加者1人につき9フィールドできるので、参加者が100人だと100x9=900 フィールド。プロジェクト内のドキュメントが10個あると900x10=9000フ ィールドになってしまう) 18
  • 19. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-A: データ移行 手こずった点 • mysql-restoreの時間 – dump 1.5h, restore: 40h(dump比25倍) • Logstashの書式のわかりにくさ • JOINによるデータ爆発 • インデックス(≒テーブル)作成時にフィールド定義やtokenizerの定義をし ないと、作成後にダイナミックに変更することができないため、何回かや りなおした 19
  • 20. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-B: • 統計的な傾向把握:組織毎の予算配分状況 – elasticsearchのaggregated queryを使用 – kibanaで可視化 20
  • 21. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-B: 統計的な傾向把握 • 競争的資金活用プロジェクトにおける年次予算配分状況 21
  • 22. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-B: 統計的な傾向把握 • 競争的資金活用プロジェクトにおける年次予算配分状況 ● 資金の大部分はいくつかの組織 に偏っている(近年はそれでも 多様性が出てきた) ● 比較的マイナーな組織で多額の 予算配分が行われているのは、 看板研究者の移籍などによると 推測される 22
  • 23. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-B: 統計的な傾向把握 • 競争的資金活用プロジェクトにおける年次予算配分状況 ● elasticsearchによる集計は非常に簡便 23
  • 24. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-C: 定性的な傾向把握:年代ごとに使用された主要な用語 • kibanaのtag cloudを使用 – タイトルで使用される用語をkuromojiで形態素解析 – プロジェクトの予算平均の多い順にソートして表示 24
  • 25. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-C: 定性的な傾向把握:年代ごとに使用された主要な用語 elasticsearchでのkuromoji形態素解析 PUT _template/projects { "settings": { "index": { "analysis": { "tokenizer": { "kuromoji_user_dict": { "type": "kuromoji_tokenizer", "mode": "normal" } } } } }, "template": "project*", "mappings": { "project": { "dynamic_templates": [ { "mk": { "match_mapping_type": "string", "mapping": { "type": "text", "analyzer": "kuromoji", "fielddata": true, "fields": { "title": { "type": "keyword" } } } } } ] } } } ● トークナイザkuromojiはプラ グイン利用可能 ● 形態素解析するフィールドを 事前に定義することで自動的 に品詞を抜き出す $ elasticsearch-plugin install analysis-kuromoji 25
  • 26. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-C: 定性的な傾向把握:年代ごとに使用された主要な用語 1960年代 1970年代 1980年代 1990年代 2000年代 2010年代 26
  • 27. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-C: 定性的な傾向把握:年代ごとに使用された主要な用語 技術トピックによる予算配分 世界の中の日本・相対的な視点 1960年代 1970年代 1980年代 1990年代 2000年代 2010年代 エネルギーの開発と利用 研究の実用化・大学発ベンチャー 次世代エネルギー・材料開発 27
  • 28. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-C: 定性的な傾向把握:年代ごとに使用された主要な用語 技術トピックによる予算配分 世界の中の日本・相対的な視点 1960年代 1970年代 1980年代 1990年代 2000年代 2010年代 エネルギーの開発と利用 研究の実用化・大学発ベンチャー 次世代エネルギー・材料開発 大阪万博 (1970) 電子顕微鏡 (1965) オイルショック (1973) プラザ合意 (1986) カーボンナノチューブ (1991) 京都議定書 (1999) 平沼プラン (2001) 東日本大震災 (2011) 28
  • 29. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-C: 定性的な傾向把握:年代ごとに使用された主要な用語 • 各年代における研究は当時の世相、政策を反映している • 一般的な傾向としては「エネルギー開発」「材料開発」に多めの予算が割 り当てられる傾向がある 29
  • 30. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間の類似度計算 – 研究プロジェクトタイトルを形態素解析 – Bag of Words(BoW)の作成、多次元ベクトル化 • ベクトル間計算 – コサイン類似度 – 他にも ベクトル間距離や集合の発見(クラスタリング)にも利 用可能 30
  • 31. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算 – 研究プロジェクトタイトルを形態素解析 – Bag of Words(BoW)の作成、多次元ベクトル化 (例) 文書1: りんご バナナ ぶどう メロン 文書2: メロン りんご パイナップル なし -- コーパス: [りんご: 2, バナナ: 1, ぶどう: 1, メロン: 2, パイナップル: 1, なし: 1] -- 文書1-BoW: [2, 1, 1, 2, 0, 0] 文書2-BoW: [2, 0, 0, 2, 1, 1] 2つの文書を同次元のベクトル空間上で 計算可能になる 31
  • 32. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算 – 非常にデータ量が多い • コーパス*: 約15万次元 • プロジェクト数: 約80万プロジェクト ⇒ 15万 x 80万^2 のマトリクス計算 ⇒ 15万 x 80万^2 x 4byte(float) = 3.84e17 ≒ 約350PB まともにやっても そもそもできない ※コーパス: ここでは「ドキュメント群全体で現れる単語の一覧と個々の単語の出現数」という意味で使用 32
  • 33. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算 ⇒ 15万 x 80万^2 のマトリクス計算 (例) コサイン類似度計算: a = [...], b=[...] とした場合:(a.*b)/norm(a)*norm(b) ⇒これを 80万x80万回=6400万回やればよい 1回の類似度計算に要する浮動小数点計算回数 =(15万^2)*((15万^2)+(15万^2))^2) = 45562500万回 = 4600億回 80万^2=6400万回の計算には 4600億 * 6400万 = 約3000京回必要 CPU 1core=2GHzの場合、50GFLOPS=500億FLOPS/秒 つまり理論上は3000京÷500億≒約7000日の計算・・・だがしかし! 33
  • 34. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算 ⇒ さらに悪いことに・・・ • 実際にはメモリ〜CPU間のデータ転送による遅延 • ディスクIO、ネットワークデータ転送が入る場合はさらに遅延 • データの用意に関する各種OSの処理 などが入るため、理論時間の100〜1000倍以上かかるかもしれない ⇒実際には数十年、へたしたら数百年かも・・・ さらにドキュメント、コーパスは今後さらに増える可能性 データ量と計算量の圧縮は必須要件 かつマルチコア・マルチノードにわたるスケーラブルな処理が必要 34
  • 35. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 350PB ⇒ 10GBまで データ圧縮 • 文書間のコサイン類似度計算 – BoWは基本的にゼロが非常に多いベクトル – Sparse Vector(疎行列)の活用 (例) array = [0.0, 0.0, 0.0, 0.2, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.82, 0.0, 0.0] 4byte(float) x 15 = 60byte ↓ array = Vectors.sparse(15, [3,4,12], [0.2, 0.1, 0.82]) │ │ └ゼロ以外の実際の値 │ └─────ゼロ以外の値のインデックス └─────────ベクトル長 4byte(int, float) x (1+3+3) = 28byte 35
  • 36. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算 – ベクトル間計算 • Apache Sparkによる分散計算 • DIMSUMによるサンプリング計算 DIMSUM=“Dimension Independent Matrix Square using MapReduce,” もともとのコサイン類似度で 発生するシャッフル量 =O(NL^2) DIMSUMにおけるシャッフル量 =O(DL log(D)/γ) *γ=10*log(N)/threshold N(dimension)に依存しない (N=各ベクトルの次元数, D=コサイン類似度組合せ数, L=疎行列長) 36
  • 37. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算 – ベクトル間計算: Apache Spark: DIMSUM • Twitterによって開発(2014年)、SparkにOSSとして寄贈 https://blog.twitter.com/engineering/en_us/a/2014/all-pairs-similarity-via-dimsum.html https://databricks.com/blog/2014/10/20/efficient-similarity-algorithm-now-in-spark-twitter.html 37
  • 38. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算 – ベクトル間計算: Apache Spark: DIMSUM • Twitterによって開発(2014年)、SparkにOSSとして寄贈 TwitterにおけるDIMSUM適用後のシャッフル量の変化 適用前 適用後 38
  • 39. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算: DIMSUM こんな風に読む 処理時間: 約6時間 (サンプリング1%, pre、post処理含む) 39
  • 40. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算: DIMSUM ● そんなにドキュメント間の 類似性が偏る=グループ化で きる要素があるようには見 受けられない ● 比較的どれにも似ていない、 (いい意味では)独自性のある ドキュメントはそれなりに ありそう ● 一般的すぎる単語の刈り込 みなどが必要だと思われる 40
  • 41. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算: DIMSUM DIMSUMとて万能ではない Executor間の大幅な処理時間のば らつき = Partition毎のデータ量に 大きな偏差がある->改善の余地あ り? 41
  • 42. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 4-D: 論文毎の関係性・カテゴリの発見 • 文書間のコサイン類似度計算 ⇒ さらに悪いことに・・・ • 実際にはメモリ〜CPU間のデータ転送による遅延 • ディスクIO、ネットワークデータ転送が入る場合はさらに遅延 • データの用意に関する各種OSの処理 などが入るため、理論時間の100〜1000倍以上かかるかもしれない ⇒実際には数十年、へたしたら数百年かも・・・ さらにドキュメント、コーパスは今後さらに増える可能性 データ量と計算量の圧縮は必須要件 かつマルチコア・マルチノードにわたるスケーラブルな処理が必要 ともあれ当初目的は達成。 ◯ データ量・計算量 = 大幅な圧縮に成功 ◯ マルチコア・マルチノードにわたるスケーラブル処理 = 実装 ⇒今後のデータ増加に対しても対応できる道筋を作った 42
  • 43. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved まとめ •量と質の向上(スケーラビリティ) – データベース • 量・速度のスケーラビリティ • 論文データベースの特性に合わせた要素技術選択 ⇒elasticsearchが有効なデータベースとして 機能することを確認した – 統計処理環境 • 集計 • 各種機械学習 ⇒Apache Sparkで現実的な時間での処理ができる可能性が あることを確認した 43
  • 44. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 今後の展開 • さらなるデータソースの取込み – 海外英語論文 – 科研費 •高度な分析技術の投入 – 研究者プロファイリング – 論文被引用関係のグラフデータ化、および分析 – 研究者コロニーの視覚化 – 組織間マッチング、研究アソシエーション探索 44
  • 45. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 宣伝 “e19” と書いて「せんけい」と読みます 7/28リリース マネージドApache Spark分析環境 データサイエンティストのためのサ ービス https://e19.io 45
  • 46. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved みなさまへのお願い 本プロジェクトは2019年4月の事業化を目標に開発を進めています。 ご興味を持たれた方はぜひお問い合わせください。 • 事業に協賛したい • データを提供したい • 開発に参加したい • そのほか 46
  • 47. Copyright ⓒ2017 CREATIONLINE, INC. All Rights Reserved 47