[db tech showcase Tokyo 2016] A35: NVMe徹底検証 by 株式会社インサイトテクノロジー 平間 大輔
[data analytics showcase] B14: 文字情報の分析基盤 Mroonga by...
-
Upload
insight-technology-inc -
Category
Technology
-
view
281 -
download
2
Transcript of [data analytics showcase] B14: 文字情報の分析基盤 Mroonga by...
文字情報の分析基盤Mroonga
株式会社インサイトテクノロジー
2016年10月4日 data analytics showcase
1
今までの全文検索の課題
•リアルタイム性の壁
•性能問題
•検索ノイズや検索漏れの問題
•辞書を必要とする形態素解析
2
徹底検証、Mroonga!!
3
全文検索のしくみ ~転置インデックス作成~
4
全文検索のしくみ ~検索時の動作~
5
転置インデックス ~2種類の方式による違い~
6
検索ノイズの例
7
意図せずヒットする ヒットしない
検索漏れの例(ヒットして欲しい)
8
意図せずヒットしないヒットする
転置インデックスの方式の違いの例例:192.10.9.26: IF-MIB/ifHCInOctets_psec(1)=400...
Mecab(InnoDB)N-Gram(InnoDB)
9
実際のインデックスサイズ
10
検索性能
11
検索性能
12
N-Gramの検索ノイズの比較
13
InnoDB N-Gram:意図しない結果が返ってきた例 Mroonga(Bigram)の場合
形態素解析 Mecabの検索漏れの比較
14
Mroonga mecab:’tcpAttemptFails’でも’tcpAttemptFail’でもヒットInnoDB mecab:’tcpAttemptFails’ではヒット
InnoDB mecab:’tcpAttemptFail’ではヒットしない
Mroongaの優れている点(1)
安定して速いカラムストアであるため、I/Oが少ないN-Gram(TokenBigram)、Mecabでも速い
15
Mroongaの優れている点(2)
検索結果が安定している再現率/適合率のバランスが良く利用者にとって扱いやすい
16
Mroonga(Groonga)が解決したこと
•リアルタイム性の壁カラム型データストアを採用しリアルタイムに検索結果を反映
データを追加しながらでも検索の性能が落ちない
•性能問題N-gramでも形態素解析(Mecab)でも安定して速い
•検索ノイズや検索漏れの問題(再現率/適合率の問題)N-gramでもMecabでも安定した検索結果
•辞書を必要とする形態素解析デフォルトのN-Gram(TokenBigram)でも安定した速さ
17
結論
文字列分析基盤としてMroongaは使える!!
18
DemoMroonga使ってTweet感情分析アプリを作成!!
19
システム構成
20
Tweet Collector
StreamingAPI
insert
ネガポジ判定の仕組み
21
MeCabによる形態素解析
p = positive(+1) e = even(±0)n = negative(-1) o = 該当なし
0+1+1
(助詞を省いた分かち書きの例)
極性辞書を用いてネガポジ判定
= 0.666667辞書に登録されている単語の平均を計算 :3
StreamingAPIでとれるデータの中身
22
Demo
23
このデモを通して伝えたいこと
•データ分析には可視化が重要•活用形を検索対象に含めるには、きちんとした日本語形態素解析が重要
•リアルタイムで処理できてるのはMroongaのおかげ(たぶん)
24