Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Jubatusの紹介


2011/12/17 @さくさくテキストマイニング
    株式会社Preferred Infrastructure
       海野  裕也 (@unnonouno)
⾃自⼰己紹介

l    海野  裕也 (@unnonouno)
      l    unno/no/uno
      l    プリファードインフラストラクチャー (PFI)
      l    研究開発部
      l    検索索エンジンSedueの会社


l    専⾨門
      l    ⾃自然⾔言語処理理
      l    テキストマイニング


                        2
今⽇日の内容


  l  Jubatusの宣伝をしに来ました  :-)
   l  それ以上のはなしは有りません
    l  読み⽅方は「ゆばたす」です




              3
Big Data !

l    データはこれからも増加し続ける
      l    多いことより増えていくということが重要
      l    データ量量の変化に対応できるスケーラブルなシステムが求めら
            れる


l    データの種類は多様化
      l    定形データのみならず、⾮非定形データも増加
      l    テキスト、⾏行行動履履歴、⾳音声、映像、信号


l    ⽣生成される分野も多様化
      l    PC、モバイル、センサー、⾞車車、⼯工場、EC、病院


                           4
データを活⽤用する

STEP 1. ⼤大量量のデータを捨てずに蓄積できるようになってきた
STEP 2. データを分析することで、現状の把握、理理解ができる
STEP 3. 状況を理理解し、現状の改善、予測ができる

l 世の中的には、蓄積から把握、理理解に向かった段階

                この本が実際        この⼈人は30代
   本の購買情報       に売れている        男性なので、
   を全て記録で       のは意外にも        この本を買う
   きるように        30代のおっさ       のではない
   なった!         ん達だ!          か?


    蓄積           理理解          予測
               より深い解析へ
                  5
Jubatus
l    NTT  PF研とPreferred  Infrastructureによる共同開発
      10/27よりOSSで公開  http://jubat.us/




      リアルタイム  
       ストリーム         分散並列列          深い解析
                          6
開発の経緯(PFI側から⾒見見た)

l    もともと機械学習が得意だった
      l  @hillbig (フェロー)
      l  特にオンライン学習に関しては5年年前くらい(研究

          室に⼀一緒にいた時)からずっと調べてた
l    もともとHadoopが得意だった
      l    @kzk_mover (元CTO)
      l    ⽇日本Hadoopユーザー会


l    Hadoopではできない⼤大規模データ解析をやろ
      う!
                            7
Hadoopとは?


バッチ処理理の分散フレームワーク

l  中⾝身はGoogleのMap/Reduceの実装
l  コモディティマシンを並べて並列列化
l  Mahout/Hive/ZookeeperなどのHadoopファミ
    リーを構成




                  8
Hadoopの特徴

l    速い!
      l    ⼤大量量のデータを⼀一気に処理理
l    分散する!
      l    ⾜足りなかったら継ぎ⾜足そう
l    ロバスト!
      l    サーバーは壊れるもの


l    遅い
      l    結果が帰ってくるまでの時間は遅い

                          9
機械学習とは?

l    ⼤大量量のデータから規則や傾向を解析、分析や予
      測に活⽤用する

l    データがある分野、どこでも活⽤用
      l    ⾃自然⾔言語処理理、パターン認識識、画像、⾳音声、etc.
l    研究ベースのOSSが多い
      l    libsvm/liblinear/Mallet/crf++/R
l    すでに実⽤用化が進んでいる
      l    Gmailの重要ボタン(分類問題)、推薦システム(近傍探索索)、
            バグの有無も予想できるらしいよ
                                 10
オンライン学習は学習⼿手法の⽅方式の⼀一つ

l    バッチ学習
      l  データを全体を⾒見見て重みを調整する

      l  参考書を全部解いてから答え合わせ



                            学習器


l    オンライン学習
      l  1つずつデータを⾒見見て重みの更更新を繰り返す

      l  ⼀一問ずつ解いて答え合わせ


                               学習器


                     11
機械学習・オンライン学習の特徴

l    速い!
      l    データを受け取ったらすぐ学習
l    速い!
      l    5年年前:学習10時間、今:学習10分
l    便便利利!
      l    ルール書くの疲れた


l    分散させる技術がない


                        12
分散かつオンラインの機械学習

l    処理理が速い!
      l    処理理の完了了を待つ時間が少ない
      l    5分前のTV番組の影響を反映した広告推薦ができる
      l    5分前の交通量量から渋滞をさけた経路路を提案できる
l    ⼤大規模!
      l    処理理が間に合わなくなったらスケールアウト
      l    ⽇日本全国からデータが集まる状態でも動かしたい
l    機械学習の深い分析!
      l    単純なカウント以上の精度度を


                       13
こんなことができる?:リアルタイムレコメンド

⾖豆腐が健康にイイ
                      小売	
    ヨー      影響の予測	




        変化の検知	
 ユーザーの購買行動	



                      広告配信	
               14
テキストマイニングとの関係

l    Jubatus⾃自体は基盤よりの技術
      l    分散フレームワーク
      l    機械学習
      l    Hadoop + Mahoutくらいのレイヤー


l    具体的な解析⾃自体はその上に構築

l    ⼤大規模リアルタイムにテキスト分析する⽤用途に
      使えるかも

                          15
技術の視点で⾒見見るとテキストマイニングは複合技術
アプリ	
                                             理論	

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

テキスト           マイニング              ⽂文字列列処理理
マイニング
                       Jubatus
                       はこの辺                  分散

        検索索
                   ストリーム                 乱択
                     処理理               アルゴリズム
                         16
機械学習のような⾼高度度な分析は必要なのか?


l  数を数える以上の処理理はいらないんじゃ
 ない?

l  すでに使われている
 l  レコメンド(近傍探索索)

 l  スパム分類(分類)

l  応⽤用範囲は広い
 l  ⾔言語、画像、⾳音声、センサー、etc.

                 17
研究業界に⾒見見る機械学習と⾃自然⾔言語を振り返る


  90年代 規則を人手でたくさん書く
    正規表現、文法、コスト、重み	

  2000年前後 自然言語処理に機械学習登場
    SVM, ME, CRF

  00年代 機械学習を使わないほうがマイナー
    Chasen、MeCabの成功
    OSSにも深く浸透	

    研究者だけに使わせるのはもったいない
             18
機械学習ライブラリの敷居はまだ⾼高い

l    libsvmフォーマット
      l    +1 1:1 3:1 8:1
      l    何よこれ?  ←普通の⼈人の反応


l    ハイパーパラメータ
      l    「Cはいくつにしましたか?」
      l    Cってなんだよ・・・  ←普通の⼈人の反応

l    研究者向き、エンジニアが広く使えない

                        19
RDBやHadoopから学ぶべきこと

l    わからない
      l    リレーショナル理理論論
      l    クエリオプティマイザ
      l    トランザクション処理理
      l    分散計算モデル


l    わかる
      l    SQL
      l    Map/Reduce
      l    「あとは裏裏でよろしくやってくれるんでしょ?」
                          20
Jubatus裏裏の⽬目標



               全ての⼈人に機械学習を!

l    わからない
      l    オンライン凸最適化
      l    事後確率率率最⼤大化
      l    MCMC、変分ベイズ
      l    特徴抽出、カーネルトリック
l    わかる
      l    ⾃自動分類、推薦
      l    「あとはよろしくやってくれるんでしょ?」
                        21
⽣生データを突っ込めば動くようにしたい

l    Jubatusの⼊入⼒力力はキー・バリュー
      l    最初は任意のJSONだった
      l    twitter APIの⽣生出⼒力力を⼊入⼒力力できるようにしたかった


l    あとは勝⼿手に適当に処理理してくれる
      l    ⾔言語判定して
      l    各キーが何を表すのか⾃自動で推定して
      l    勝⼿手に適切切な特徴抽出を選ばせる
      l    (予定、まだできない)


                            22
雰囲気だけ

l    典型的な特徴抽出は⽤用意しておく
      l    MeCabで分割して単語を特徴に
      l    ⽂文字Nグラムを特徴に
      l    正規表現で部分⽂文字列列の切切り出し


l    弄弄るのは設定だけ
      l    お客さん先でコンパイルし直しとか⾟辛い・・・
      l    パッチを当ててもらうのはリスクが⾼高い



                        23
使い⽅方のイメージ(分類)



key    value
年年齢    28
ID     unnonouno
                                    男性!
コメント   Jubatus動い
       たー
プロ     PFIで働いて
フィール   ます

                      裏裏にある規則
                   PFI à 男性?
                   Jubatus à 男性?

                     24
インストールは⾯面倒くさいよ!

l    Macなら
      l  port install jubatus
      l  でインストールできるようにしてくれた⽅方がいらっ

          しゃいました


l    Linuxなら
      l    ./waf configure & ./waf
      l    sudo ./waf install
      l    だいたいどこかでコンパイルエラー


                           25
今後どうなる?

l    分類以外の機能追加
      l    統計情報
      l    回帰
      l    レコメンド


l    複数のプログラミング⾔言語から使える
      l    今は、C++, Python, Ruby, PHP(外部の⽅方が作って
            くれた)


l    さらに、可視化?管理理画⾯面?
                           26
まとめ

l    Jubatusとは何か?
      l    分散基盤
      l    オンライン学習


l    すべての⼈人に機械学習を
      l    典型的な例例は設定だけで
      l    SQLより簡単に使えるといいね!


l    使いやすさはこれからです

                       27

More Related Content

Jubatusの紹介@第6回さくさくテキストマイニング

  • 1. Jubatusの紹介 2011/12/17 @さくさくテキストマイニング 株式会社Preferred Infrastructure 海野  裕也 (@unnonouno)
  • 2. ⾃自⼰己紹介 l  海野  裕也 (@unnonouno) l  unno/no/uno l  プリファードインフラストラクチャー (PFI) l  研究開発部 l  検索索エンジンSedueの会社 l  専⾨門 l  ⾃自然⾔言語処理理 l  テキストマイニング 2
  • 3. 今⽇日の内容 l  Jubatusの宣伝をしに来ました  :-) l  それ以上のはなしは有りません l  読み⽅方は「ゆばたす」です 3
  • 4. Big Data ! l  データはこれからも増加し続ける l  多いことより増えていくということが重要 l  データ量量の変化に対応できるスケーラブルなシステムが求めら れる l  データの種類は多様化 l  定形データのみならず、⾮非定形データも増加 l  テキスト、⾏行行動履履歴、⾳音声、映像、信号 l  ⽣生成される分野も多様化 l  PC、モバイル、センサー、⾞車車、⼯工場、EC、病院 4
  • 5. データを活⽤用する STEP 1. ⼤大量量のデータを捨てずに蓄積できるようになってきた STEP 2. データを分析することで、現状の把握、理理解ができる STEP 3. 状況を理理解し、現状の改善、予測ができる l 世の中的には、蓄積から把握、理理解に向かった段階 この本が実際 この⼈人は30代 本の購買情報 に売れている 男性なので、 を全て記録で のは意外にも この本を買う きるように 30代のおっさ のではない なった! ん達だ! か? 蓄積 理理解 予測 より深い解析へ 5
  • 6. Jubatus l  NTT  PF研とPreferred  Infrastructureによる共同開発 10/27よりOSSで公開  http://jubat.us/ リアルタイム   ストリーム 分散並列列 深い解析 6
  • 7. 開発の経緯(PFI側から⾒見見た) l  もともと機械学習が得意だった l  @hillbig (フェロー) l  特にオンライン学習に関しては5年年前くらい(研究 室に⼀一緒にいた時)からずっと調べてた l  もともとHadoopが得意だった l  @kzk_mover (元CTO) l  ⽇日本Hadoopユーザー会 l  Hadoopではできない⼤大規模データ解析をやろ う! 7
  • 9. Hadoopの特徴 l  速い! l  ⼤大量量のデータを⼀一気に処理理 l  分散する! l  ⾜足りなかったら継ぎ⾜足そう l  ロバスト! l  サーバーは壊れるもの l  遅い l  結果が帰ってくるまでの時間は遅い 9
  • 10. 機械学習とは? l  ⼤大量量のデータから規則や傾向を解析、分析や予 測に活⽤用する l  データがある分野、どこでも活⽤用 l  ⾃自然⾔言語処理理、パターン認識識、画像、⾳音声、etc. l  研究ベースのOSSが多い l  libsvm/liblinear/Mallet/crf++/R l  すでに実⽤用化が進んでいる l  Gmailの重要ボタン(分類問題)、推薦システム(近傍探索索)、 バグの有無も予想できるらしいよ 10
  • 11. オンライン学習は学習⼿手法の⽅方式の⼀一つ l  バッチ学習 l  データを全体を⾒見見て重みを調整する l  参考書を全部解いてから答え合わせ 学習器 l  オンライン学習 l  1つずつデータを⾒見見て重みの更更新を繰り返す l  ⼀一問ずつ解いて答え合わせ 学習器 11
  • 12. 機械学習・オンライン学習の特徴 l  速い! l  データを受け取ったらすぐ学習 l  速い! l  5年年前:学習10時間、今:学習10分 l  便便利利! l  ルール書くの疲れた l  分散させる技術がない 12
  • 13. 分散かつオンラインの機械学習 l  処理理が速い! l  処理理の完了了を待つ時間が少ない l  5分前のTV番組の影響を反映した広告推薦ができる l  5分前の交通量量から渋滞をさけた経路路を提案できる l  ⼤大規模! l  処理理が間に合わなくなったらスケールアウト l  ⽇日本全国からデータが集まる状態でも動かしたい l  機械学習の深い分析! l  単純なカウント以上の精度度を 13
  • 14. こんなことができる?:リアルタイムレコメンド ⾖豆腐が健康にイイ 小売 ヨー 影響の予測 変化の検知 ユーザーの購買行動 広告配信 14
  • 15. テキストマイニングとの関係 l  Jubatus⾃自体は基盤よりの技術 l  分散フレームワーク l  機械学習 l  Hadoop + Mahoutくらいのレイヤー l  具体的な解析⾃自体はその上に構築 l  ⼤大規模リアルタイムにテキスト分析する⽤用途に 使えるかも 15
  • 16. 技術の視点で⾒見見るとテキストマイニングは複合技術 アプリ 理論 ⾃自然⾔言語 統計 処理理 機械学習 テキスト マイニング ⽂文字列列処理理 マイニング Jubatus はこの辺 分散 検索索 ストリーム 乱択 処理理 アルゴリズム 16
  • 17. 機械学習のような⾼高度度な分析は必要なのか? l  数を数える以上の処理理はいらないんじゃ ない? l  すでに使われている l  レコメンド(近傍探索索) l  スパム分類(分類) l  応⽤用範囲は広い l  ⾔言語、画像、⾳音声、センサー、etc. 17
  • 18. 研究業界に⾒見見る機械学習と⾃自然⾔言語を振り返る 90年代 規則を人手でたくさん書く   正規表現、文法、コスト、重み 2000年前後 自然言語処理に機械学習登場   SVM, ME, CRF 00年代 機械学習を使わないほうがマイナー   Chasen、MeCabの成功   OSSにも深く浸透 研究者だけに使わせるのはもったいない 18
  • 19. 機械学習ライブラリの敷居はまだ⾼高い l  libsvmフォーマット l  +1 1:1 3:1 8:1 l  何よこれ?  ←普通の⼈人の反応 l  ハイパーパラメータ l  「Cはいくつにしましたか?」 l  Cってなんだよ・・・  ←普通の⼈人の反応 l  研究者向き、エンジニアが広く使えない 19
  • 20. RDBやHadoopから学ぶべきこと l  わからない l  リレーショナル理理論論 l  クエリオプティマイザ l  トランザクション処理理 l  分散計算モデル l  わかる l  SQL l  Map/Reduce l  「あとは裏裏でよろしくやってくれるんでしょ?」 20
  • 21. Jubatus裏裏の⽬目標 全ての⼈人に機械学習を! l  わからない l  オンライン凸最適化 l  事後確率率率最⼤大化 l  MCMC、変分ベイズ l  特徴抽出、カーネルトリック l  わかる l  ⾃自動分類、推薦 l  「あとはよろしくやってくれるんでしょ?」 21
  • 22. ⽣生データを突っ込めば動くようにしたい l  Jubatusの⼊入⼒力力はキー・バリュー l  最初は任意のJSONだった l  twitter APIの⽣生出⼒力力を⼊入⼒力力できるようにしたかった l  あとは勝⼿手に適当に処理理してくれる l  ⾔言語判定して l  各キーが何を表すのか⾃自動で推定して l  勝⼿手に適切切な特徴抽出を選ばせる l  (予定、まだできない) 22
  • 23. 雰囲気だけ l  典型的な特徴抽出は⽤用意しておく l  MeCabで分割して単語を特徴に l  ⽂文字Nグラムを特徴に l  正規表現で部分⽂文字列列の切切り出し l  弄弄るのは設定だけ l  お客さん先でコンパイルし直しとか⾟辛い・・・ l  パッチを当ててもらうのはリスクが⾼高い 23
  • 24. 使い⽅方のイメージ(分類) key value 年年齢 28 ID unnonouno 男性! コメント Jubatus動い たー プロ PFIで働いて フィール ます 裏裏にある規則 PFI à 男性? Jubatus à 男性? 24
  • 25. インストールは⾯面倒くさいよ! l  Macなら l  port install jubatus l  でインストールできるようにしてくれた⽅方がいらっ しゃいました l  Linuxなら l  ./waf configure & ./waf l  sudo ./waf install l  だいたいどこかでコンパイルエラー 25
  • 26. 今後どうなる? l  分類以外の機能追加 l  統計情報 l  回帰 l  レコメンド l  複数のプログラミング⾔言語から使える l  今は、C++, Python, Ruby, PHP(外部の⽅方が作って くれた) l  さらに、可視化?管理理画⾯面? 26
  • 27. まとめ l  Jubatusとは何か? l  分散基盤 l  オンライン学習 l  すべての⼈人に機械学習を l  典型的な例例は設定だけで l  SQLより簡単に使えるといいね! l  使いやすさはこれからです 27