SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
MPJoin を使った類似データ抽出



株式会社サイバーエージェント
アメーバ事業本部 Ameba Technology Laboratory
服部 司
株式会社サイバーエージェント
                                     2



今日紹介する話

・ データセットの中から類似したデータペアを素
  早く探し出す。
株式会社サイバーエージェント
                                                        3



データと類似性

・どんなデータもベクトルで表現できる。(大抵は)

例)   ソーシャルグラフ

                   user_01 : user_04 , user_10 , …
                   user_02 : user_33 , user_41 , …




                     …
                   user_nn : user_02 , user_05 , …


                * 1user 辺りそれぞれ double [] で書ける
株式会社サイバーエージェント
                                                                4




・ベクトルの類似性を図る尺度

 <類似性>
    - Cosin、Jaccard、Overlap、相関係数

 例 ) Jaccard
                              V1  V2
          Jaccard (V1, V2 ) 
                              V1  V2

  user A : 1、2、3、4、5            Jaccard(userA, userB)
  user B : 1、3、6、7                        =2/7
株式会社サイバーエージェント
                                                       5



普通に探す場合

 ・全ての組み合わせで類似性を計算する。

             1
       nC 2  n(n  1) 
             2           2
                          
                         1 2
                           n n   

   →    データ数 n が増えたら無理
        例 ) n = 10^6   → 約5000億
株式会社サイバーエージェント
                                                  6



Similarity Join
  ・ 閾値 t ( 0 < t < 1)以上の類似性を持つ
    データペアを高速に取得する。


  ・ 種類
        - MPJoin (2009)
        - PPJoin (2008)
        - SSJoin (2006)
株式会社サイバーエージェント
                                                       7



MPJoin
  ・ 明らかに似ているはずがないペアは計算しない。
         - Filter を使って計算対象を絞り込む。
         - Filter を潜り抜けたモノを実際に計算する。



  ・ Filterは以下の3種類
         -   Size Filtering
         -   Prefix Filtering
         -   Positional Filtering
株式会社サイバーエージェント
                                                      8



 Size Filtering

・ データ長(特徴数)に大きな差があるペアは、似ているはずがない。

    例)
         X : 1、2
         Y : 1、3、6、7、9、11、15、21、33、101、…


    正確な表現 )

                             |x|
              t |x|  |y | 
                              t
株式会社サイバーエージェント
                                                                                9



Prefix Filtering

・ 先頭部分に似ている特徴が一切なかったら、似ているはずがない。

  例)
       X : 2、4、5、6、9、11、15、21、33、101
       Y : 1、3、7、8、9、11、15、21、33、101


  正確な表現 )
       x の先頭から長さ   x 
                            t
                                  | x |  | y |  1
                         1  t 
       と、y の先頭から長さ       y 
                                   t
                                         | x |  | y |  1
                                1  t 
       の部分の中に、最低一個同じ素性が必要
株式会社サイバーエージェント
                                                                                 10



Positional Filtering

・ 先頭部分に同じ特徴が存在する場合、先頭以降を考慮して、
  閾値を超えるかどうか考える。

  例)
   X : 1、3、5、6、9、11、15、21、33、82
   Y : 1、3、7、8、9、11、15、21、33、99、101、103

  正確な表現 )

   x 
          t
                | x |  | y |   Over( x l , y l )  min  x r , y r   
       1  t 
株式会社サイバーエージェント
                                                      11



実際の使用例
 -   Spam Filteringのテンプレート抽出*
            (ms)
                                * 1万件のコメントから
                                   類似投稿を抽出



                                100倍以上速い




他にも使えそうな例
 -   一致・類似 テキストを 検索 Index に登録させない。
     ( * 世間的な利用例はこっち )
株式会社サイバーエージェント
                                                                  12



応用例 : なう のフォロワー推薦

・ ある人とソーシャルグラフが似ている人* を探す。
                              * 『ある人SGと閾値 t 以上の類似度のSGを持つ人』



・ データセット
    - 2011/4 時点での なう のフォロワー
       user : ??,???,???
       node : ??,???,??? ( ???? per 1 user)


・ 性能
    - query : ????
    - threshold : 0.3
       → 全計算の 1 / 7 程度
                                                              (ms)
株式会社サイバーエージェント
                                                  13



TIPS・感想
・ 向いているデータ
  → 疎なデータで、サイズフィルタリングが効きやすいデータ
    - 画像 ×
    - ソーシャルグラフ △
    - テキスト ◎


・ 正直使えるケースは限定的。
 - 現場で多い需要は、
   『 データA と 最も似ているデータを探し出す 』
   ・・・が、大体のデータは殆ど似ていない。( 類似度で0.1以下が大半 )
株式会社サイバーエージェント
                                                                      14




・ ソースの公開 ( Java )
  - similarity-join-tools
   ( https://code.google.com/p/similarity-join-tools/ )


・ ブログ
  - http://ameblo.jp/principia-ca/entry-10800180833.html
株式会社サイバーエージェント
                               15




ご清聴ありがとうございました!

Weitere ähnliche Inhalte

Was ist angesagt?

普通のプログラミング言語R
普通のプログラミング言語R普通のプログラミング言語R
普通のプログラミング言語RShuyo Nakatani
 
R による文書分類入門
R による文書分類入門R による文書分類入門
R による文書分類入門Takeshi Arabiki
 
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用Nobuaki Oshiro
 
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 110110分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101Nobuaki Oshiro
 
20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則koba cky
 
第1回R勉強会@東京
第1回R勉強会@東京第1回R勉強会@東京
第1回R勉強会@東京Yohei Sato
 
Vanishing Component Analysis
Vanishing Component AnalysisVanishing Component Analysis
Vanishing Component AnalysisKoji Matsuda
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツShuyo Nakatani
 
2016年6月版データマエショリスト入門
2016年6月版データマエショリスト入門2016年6月版データマエショリスト入門
2016年6月版データマエショリスト入門Yuya Matsumura
 
データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章Hirofumi Tsuruta
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類Shintaro Fukushima
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tatsuya Tojima
 
統計ソフトRの使い方_2015.04.17
統計ソフトRの使い方_2015.04.17統計ソフトRの使い方_2015.04.17
統計ソフトRの使い方_2015.04.17hicky1225
 
Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Yohei Sato
 
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッションYamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション考司 小杉
 
Infer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみたInfer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみた正志 坪坂
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905Nobuaki Oshiro
 

Was ist angesagt? (20)

普通のプログラミング言語R
普通のプログラミング言語R普通のプログラミング言語R
普通のプログラミング言語R
 
R による文書分類入門
R による文書分類入門R による文書分類入門
R による文書分類入門
 
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
 
10分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 110110分で分かるr言語入門ver2.10 14 1101
10分で分かるr言語入門ver2.10 14 1101
 
20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則20130716 はじパタ3章前半 ベイズの識別規則
20130716 はじパタ3章前半 ベイズの識別規則
 
第1回R勉強会@東京
第1回R勉強会@東京第1回R勉強会@東京
第1回R勉強会@東京
 
Vanishing Component Analysis
Vanishing Component AnalysisVanishing Component Analysis
Vanishing Component Analysis
 
Tokyo r28 1
Tokyo r28 1Tokyo r28 1
Tokyo r28 1
 
外れ値
外れ値外れ値
外れ値
 
数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ数式をnumpyに落としこむコツ
数式をnumpyに落としこむコツ
 
2016年6月版データマエショリスト入門
2016年6月版データマエショリスト入門2016年6月版データマエショリスト入門
2016年6月版データマエショリスト入門
 
データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章データ解析のための統計モデリング入門4章
データ解析のための統計モデリング入門4章
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
Tokyo.R 41 サポートベクターマシンで眼鏡っ娘分類システム構築
 
統計ソフトRの使い方_2015.04.17
統計ソフトRの使い方_2015.04.17統計ソフトRの使い方_2015.04.17
統計ソフトRの使い方_2015.04.17
 
GANの基本
GANの基本GANの基本
GANの基本
 
Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1
 
Yamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッションYamadai.R チュートリアルセッション
Yamadai.R チュートリアルセッション
 
Infer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみたInfer.NETを使ってLDAを実装してみた
Infer.NETを使ってLDAを実装してみた
 
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 090510分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
 

Andere mochten auch

WebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポートWebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポートKaoru Furuya
 
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)Yuuki Namikawa
 
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)Yuuki Namikawa
 
Velocity 2011: Production Begins in Development
Velocity 2011: Production Begins in DevelopmentVelocity 2011: Production Begins in Development
Velocity 2011: Production Begins in Developmentdev2ops
 
AmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用についてAmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用についてKohei Morino
 
芸能人推薦のしくみ
芸能人推薦のしくみ芸能人推薦のしくみ
芸能人推薦のしくみJAVA DM
 
2011-07-15 チューニングが楽になる JavaScript 道具箱
2011-07-15 チューニングが楽になる JavaScript 道具箱2011-07-15 チューニングが楽になる JavaScript 道具箱
2011-07-15 チューニングが楽になる JavaScript 道具箱Takuya Yokono
 
memcachedからKyotoTycoonへ
memcachedからKyotoTycoonへmemcachedからKyotoTycoonへ
memcachedからKyotoTycoonへTatsuhiko Kubo
 
カップリング検索プレゼン2
カップリング検索プレゼン2カップリング検索プレゼン2
カップリング検索プレゼン2sakana1123
 
20110715 enterprise wiki search
20110715 enterprise wiki search20110715 enterprise wiki search
20110715 enterprise wiki searchShigeki Yamato
 
pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記Takahiro Matsumiya
 
アメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのかアメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのかTanaka Hiromi
 
Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Adrian Cockcroft
 
Matrix Factorizationを使った評価予測
Matrix Factorizationを使った評価予測Matrix Factorizationを使った評価予測
Matrix Factorizationを使った評価予測JAVA DM
 
Vagrant intro
Vagrant introVagrant intro
Vagrant introt9md
 
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)maginemu Mishimagi
 

Andere mochten auch (18)

WebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポートWebGLによる3Dアプリケーションに関するレポート
WebGLによる3Dアプリケーションに関するレポート
 
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
中国のクラウドサービスについて (サイバーエージェント×クックパッド合同勉強会LT資料)
 
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
 
Velocity 2011: Production Begins in Development
Velocity 2011: Production Begins in DevelopmentVelocity 2011: Production Begins in Development
Velocity 2011: Production Begins in Development
 
Amepad lt(tmpfs)
Amepad lt(tmpfs)Amepad lt(tmpfs)
Amepad lt(tmpfs)
 
AmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用についてAmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用について
 
芸能人推薦のしくみ
芸能人推薦のしくみ芸能人推薦のしくみ
芸能人推薦のしくみ
 
2011-07-15 チューニングが楽になる JavaScript 道具箱
2011-07-15 チューニングが楽になる JavaScript 道具箱2011-07-15 チューニングが楽になる JavaScript 道具箱
2011-07-15 チューニングが楽になる JavaScript 道具箱
 
memcachedからKyotoTycoonへ
memcachedからKyotoTycoonへmemcachedからKyotoTycoonへ
memcachedからKyotoTycoonへ
 
カップリング検索プレゼン2
カップリング検索プレゼン2カップリング検索プレゼン2
カップリング検索プレゼン2
 
20110715 enterprise wiki search
20110715 enterprise wiki search20110715 enterprise wiki search
20110715 enterprise wiki search
 
pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記pixiv サイバーエージェント共同勉強会 solr導入記
pixiv サイバーエージェント共同勉強会 solr導入記
 
アメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのかアメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのか
 
Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Netflix Velocity Conference 2011
Netflix Velocity Conference 2011
 
OpenStack Report
OpenStack ReportOpenStack Report
OpenStack Report
 
Matrix Factorizationを使った評価予測
Matrix Factorizationを使った評価予測Matrix Factorizationを使った評価予測
Matrix Factorizationを使った評価予測
 
Vagrant intro
Vagrant introVagrant intro
Vagrant intro
 
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
 

Ähnlich wie MP Joinを使った類似データ抽出

ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~Kensuke Otsuki
 
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Yuya Unno
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Yuya Unno
 
パターン認識モデル初歩の初歩
パターン認識モデル初歩の初歩パターン認識モデル初歩の初歩
パターン認識モデル初歩の初歩t_ichioka_sg
 
公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論Kazuto Fukuchi
 
ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-Koichi Hamada
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” Hajime Sasaki
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPKoji Matsuda
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7Shunsuke Nakamura
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 JubatusハンズオンYuya Unno
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 JubatusハンズオンJubatusOfficial
 
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみようPythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう洋資 堅田
 
20130109 検索cross yasuda
20130109 検索cross yasuda20130109 検索cross yasuda
20130109 検索cross yasudaMasahiro Yasuda
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Hiroko Onari
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)Morpho, Inc.
 
クエリログとスニペットの単語連接頻度に基づくWeb検索クエリのセグメンテーション
クエリログとスニペットの単語連接頻度に基づくWeb検索クエリのセグメンテーションクエリログとスニペットの単語連接頻度に基づくWeb検索クエリのセグメンテーション
クエリログとスニペットの単語連接頻度に基づくWeb検索クエリのセグメンテーションYahoo!デベロッパーネットワーク
 

Ähnlich wie MP Joinを使った類似データ抽出 (20)

ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~ディープラーニング入門 ~ 画像処理・自然言語処理について ~
ディープラーニング入門 ~ 画像処理・自然言語処理について ~
 
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
 
パターン認識モデル初歩の初歩
パターン認識モデル初歩の初歩パターン認識モデル初歩の初歩
パターン認識モデル初歩の初歩
 
公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論公平性を保証したAI/機械学習
アルゴリズムの最新理論
公平性を保証したAI/機械学習
アルゴリズムの最新理論
 
ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-ソーシャルデザインパターン -評判と情報収集-
ソーシャルデザインパターン -評判と情報収集-
 
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処” WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
WI2研究会(公開用) “データ分析でよく使う前処理の整理と対処”
 
Approximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLPApproximate Scalable Bounded Space Sketch for Large Data NLP
Approximate Scalable Bounded Space Sketch for Large Data NLP
 
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7
 
PFI Christmas seminar 2009
PFI Christmas seminar 2009PFI Christmas seminar 2009
PFI Christmas seminar 2009
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
 
第1回 Jubatusハンズオン
第1回 Jubatusハンズオン第1回 Jubatusハンズオン
第1回 Jubatusハンズオン
 
Thinking in Cats
Thinking in CatsThinking in Cats
Thinking in Cats
 
Nips20180127
Nips20180127Nips20180127
Nips20180127
 
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみようPythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
Pythonで動かして学ぶ機械学習入門_予測モデルを作ってみよう
 
20130109 検索cross yasuda
20130109 検索cross yasuda20130109 検索cross yasuda
20130109 検索cross yasuda
 
Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析Rでソーシャルネットワーク分析
Rでソーシャルネットワーク分析
 
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
(文献紹介)Deep Unrolling: Learned ISTA (LISTA)
 
4thNLPDL
4thNLPDL4thNLPDL
4thNLPDL
 
クエリログとスニペットの単語連接頻度に基づくWeb検索クエリのセグメンテーション
クエリログとスニペットの単語連接頻度に基づくWeb検索クエリのセグメンテーションクエリログとスニペットの単語連接頻度に基づくWeb検索クエリのセグメンテーション
クエリログとスニペットの単語連接頻度に基づくWeb検索クエリのセグメンテーション
 

Mehr von JAVA DM

20100930sig startups learn
20100930sig startups learn20100930sig startups learn
20100930sig startups learnJAVA DM
 
お披露目会05/2010
お披露目会05/2010お披露目会05/2010
お披露目会05/2010JAVA DM
 
双対定理
双対定理双対定理
双対定理JAVA DM
 
整数列圧縮
整数列圧縮整数列圧縮
整数列圧縮JAVA DM
 
NewPFD PForDelta
NewPFD PForDeltaNewPFD PForDelta
NewPFD PForDeltaJAVA DM
 
NaiveBayes+DAEM
NaiveBayes+DAEMNaiveBayes+DAEM
NaiveBayes+DAEMJAVA DM
 
lsh p-stable
lsh p-stablelsh p-stable
lsh p-stableJAVA DM
 

Mehr von JAVA DM (7)

20100930sig startups learn
20100930sig startups learn20100930sig startups learn
20100930sig startups learn
 
お披露目会05/2010
お披露目会05/2010お披露目会05/2010
お披露目会05/2010
 
双対定理
双対定理双対定理
双対定理
 
整数列圧縮
整数列圧縮整数列圧縮
整数列圧縮
 
NewPFD PForDelta
NewPFD PForDeltaNewPFD PForDelta
NewPFD PForDelta
 
NaiveBayes+DAEM
NaiveBayes+DAEMNaiveBayes+DAEM
NaiveBayes+DAEM
 
lsh p-stable
lsh p-stablelsh p-stable
lsh p-stable
 

Kürzlich hochgeladen

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Kürzlich hochgeladen (9)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

MP Joinを使った類似データ抽出

  • 2. 株式会社サイバーエージェント 2 今日紹介する話 ・ データセットの中から類似したデータペアを素 早く探し出す。
  • 3. 株式会社サイバーエージェント 3 データと類似性 ・どんなデータもベクトルで表現できる。(大抵は) 例) ソーシャルグラフ user_01 : user_04 , user_10 , … user_02 : user_33 , user_41 , … … user_nn : user_02 , user_05 , … * 1user 辺りそれぞれ double [] で書ける
  • 4. 株式会社サイバーエージェント 4 ・ベクトルの類似性を図る尺度 <類似性> - Cosin、Jaccard、Overlap、相関係数 例 ) Jaccard V1  V2 Jaccard (V1, V2 )  V1  V2 user A : 1、2、3、4、5 Jaccard(userA, userB) user B : 1、3、6、7 =2/7
  • 5. 株式会社サイバーエージェント 5 普通に探す場合 ・全ての組み合わせで類似性を計算する。 1 nC 2  n(n  1)  2 2  1 2 n n  → データ数 n が増えたら無理 例 ) n = 10^6 → 約5000億
  • 6. 株式会社サイバーエージェント 6 Similarity Join ・ 閾値 t ( 0 < t < 1)以上の類似性を持つ データペアを高速に取得する。 ・ 種類 - MPJoin (2009) - PPJoin (2008) - SSJoin (2006)
  • 7. 株式会社サイバーエージェント 7 MPJoin ・ 明らかに似ているはずがないペアは計算しない。 - Filter を使って計算対象を絞り込む。 - Filter を潜り抜けたモノを実際に計算する。 ・ Filterは以下の3種類 - Size Filtering - Prefix Filtering - Positional Filtering
  • 8. 株式会社サイバーエージェント 8 Size Filtering ・ データ長(特徴数)に大きな差があるペアは、似ているはずがない。 例) X : 1、2 Y : 1、3、6、7、9、11、15、21、33、101、… 正確な表現 ) |x| t |x|  |y |  t
  • 9. 株式会社サイバーエージェント 9 Prefix Filtering ・ 先頭部分に似ている特徴が一切なかったら、似ているはずがない。 例) X : 2、4、5、6、9、11、15、21、33、101 Y : 1、3、7、8、9、11、15、21、33、101 正確な表現 ) x の先頭から長さ x  t | x |  | y |  1 1  t  と、y の先頭から長さ y  t | x |  | y |  1 1  t  の部分の中に、最低一個同じ素性が必要
  • 10. 株式会社サイバーエージェント 10 Positional Filtering ・ 先頭部分に同じ特徴が存在する場合、先頭以降を考慮して、 閾値を超えるかどうか考える。 例) X : 1、3、5、6、9、11、15、21、33、82 Y : 1、3、7、8、9、11、15、21、33、99、101、103 正確な表現 ) x  t | x |  | y |   Over( x l , y l )  min  x r , y r  1  t 
  • 11. 株式会社サイバーエージェント 11 実際の使用例 - Spam Filteringのテンプレート抽出* (ms) * 1万件のコメントから 類似投稿を抽出 100倍以上速い 他にも使えそうな例 - 一致・類似 テキストを 検索 Index に登録させない。 ( * 世間的な利用例はこっち )
  • 12. 株式会社サイバーエージェント 12 応用例 : なう のフォロワー推薦 ・ ある人とソーシャルグラフが似ている人* を探す。 * 『ある人SGと閾値 t 以上の類似度のSGを持つ人』 ・ データセット - 2011/4 時点での なう のフォロワー user : ??,???,??? node : ??,???,??? ( ???? per 1 user) ・ 性能 - query : ???? - threshold : 0.3 → 全計算の 1 / 7 程度 (ms)
  • 13. 株式会社サイバーエージェント 13 TIPS・感想 ・ 向いているデータ → 疎なデータで、サイズフィルタリングが効きやすいデータ - 画像 × - ソーシャルグラフ △ - テキスト ◎ ・ 正直使えるケースは限定的。 - 現場で多い需要は、 『 データA と 最も似ているデータを探し出す 』 ・・・が、大体のデータは殆ど似ていない。( 類似度で0.1以下が大半 )
  • 14. 株式会社サイバーエージェント 14 ・ ソースの公開 ( Java ) - similarity-join-tools ( https://code.google.com/p/similarity-join-tools/ ) ・ ブログ - http://ameblo.jp/principia-ca/entry-10800180833.html
  • 15. 株式会社サイバーエージェント 15 ご清聴ありがとうございました!