SlideShare a Scribd company logo
1 of 94
Download to read offline
NIPS 2016
Supervised Word Mover's Distance
NIPS・ICDM 2016 論文輪読会
2017/02/11
㈱リクルートライフスタイル

田村真一
はじめに
話をする人
田村真一
‣
‣
‣
㈱ リクルートライフスタイル
ネットビジネス本部(中略)データエンジニアリングチーム
→ 通称「CET チーム」と呼ばれている
たまに日曜 OSS
今までコントリビュートしたやつ: Ansible, PyGithub,
Terraform, ggplot2 など
はじめに
RLS CET チームとは
"Capture EveryThing" を掲げ、RLS 各サービスの

ログの収集から分析・活用までを一手に進める

エンジニア集団である!
自分の事例だと……
日々膨大な量が流れてくるログの可視化基盤の運用
サーバレスの準リアルタイムログ集計システムの構築
各種レコメンドのロジック・バッチ作成
など
はじめに
ちょこっとだけ宣伝
Qiita に NIPS 2016 参加報告を書きました
今日紹介する論文の他にもいろいろ触れています!
http://qiita.com/tmshn/items/3ccc5d84daa23a98d4be
紹介する論文
Supervied Word Mover's Distance

G. Huang, C. Guo, M.J. Kusner, Y. Sun, K.Q. Weinberger, F. Sha, In NIPS 2016.

‣ 論文
https://papers.nips.cc/paper/6139-supervised-word-movers-distance
‣ 発表ビデオ
https://channel9.msdn.com/Events/Neural-Information-Processing-Systems-
Conference/Neural-Information-Processing-Systems-Conference-NIPS-2016/
Supervised-Word-Movers-Distance
‣ ソースコード(Matlab のみ)
https://github.com/gaohuang/S-WMD
‣ スライド・ポスター
なし(そのうち Kusner さんのホームページで公開されるかも?)
紹介する論文
Supervied Word Mover's Distance

G. Huang, C. Guo, M.J. Kusner, Y. Sun, K.Q. Weinberger, F. Sha, In NIPS 2016.

‣ 論文
https://papers.nips.cc/paper/6139-supervised-word-movers-distance
‣ 発表ビデオ
https://channel9.msdn.com/Events/Neural-Information-Processing-Systems-
Conference/Neural-Information-Processing-Systems-Conference-NIPS-2016/
Supervised-Word-Movers-Distance
‣ ソースコード(Matlab のみ)
https://github.com/gaohuang/S-WMD
‣ スライド・ポスター
なし(そのうち Kusner さんのホームページで公開されるかも?)
以後 "S-WMD"

と呼びます
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
?
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
?
?
S-WMD とは何か?
こんなことができるようになる!
旅行予約サイトの口コミをイメージしてください
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
S-WMD とは何か?
こんなことができるようになる!
旅行予約サイトの口コミをイメージしてください
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い ☜
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
立地基準で
S-WMD とは何か?
こんなことができるようになる!
旅行予約サイトの口コミをイメージしてください
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高! ☜
これに一番近いのは?
設備基準で
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
?
?
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
?
?
文書同士の近さを測る
どうやるか?
「文書」をどう表現するかが
文書同士の近さを測る
どうやるか?
「文書」をどう表現するかが
文書=「単語の分布」
単語=単なる「トークン ID」
→ 分布自体の近さを測る
文書同士の近さを測る
BoW 同士のコサイン距離 1/2
TL;DR 同じ単語がたくさん出てきたら高得点!
朝食バイキングは美味しかった
美味しい朝食が食べられます
バスタオルは部屋にありました
朝
食バ
イ
キ
ン
グ
美
味
し
い
食
べ
る
バ
ス
タ
オ
ル
部
屋
あ
る
文書同士の近さを測る
BoW 同士のコサイン距離 1/2
TL;DR 同じ単語がたくさん出てきたら高得点!
朝食バイキングは美味しかった
美味しい朝食が食べられます
バスタオルは部屋にありました
朝
食バ
イ
キ
ン
グ
美
味
し
い
食
べ
る
バ
ス
タ
オ
ル
部
屋
あ
る
文書同士の近さを測る
BoW 同士のコサイン距離 1/2
TL;DR 同じ単語がたくさん出てきたら高得点!
朝食バイキングは美味しかった
美味しい朝食が食べられます
バスタオルは部屋にありました
朝
食バ
イ
キ
ン
グ
美
味
し
い
食
べ
る
バ
ス
タ
オ
ル
部
屋
あ
る
文書同士の近さを測る
BoW 同士のコサイン距離 1/2
TL;DR 同じ単語がたくさん出てきたら高得点!
朝食バイキングは美味しかった
美味しい朝食が食べられます
バスタオルは部屋にありました
朝
食バ
イ
キ
ン
グ
美
味
し
い
食
べ
る
バ
ス
タ
オ
ル
部
屋
あ
る
文書同士の近さを測る
BoW 同士のコサイン距離 1/2
TL;DR 同じ単語がたくさん出てきたら高得点!
朝食バイキングは美味しかった
美味しい朝食が食べられます
バスタオルは部屋にありました
朝
食バ
イ
キ
ン
グ
美
味
し
い
食
べ
る
バ
ス
タ
オ
ル
部
屋
あ
る
文書同士の近さを測る
BoW 同士のコサイン距離 1/2
TL;DR 同じ単語がたくさん出てきたら高得点!
朝食バイキングは美味しかった
美味しい朝食が食べられます
バスタオルは部屋にありました
朝
食バ
イ
キ
ン
グ
美
味
し
い
食
べ
る
バ
ス
タ
オ
ル
部
屋
あ
る
文書同士の近さを測る
BoW 同士のコサイン距離 1/2
TL;DR 同じ単語がたくさん出てきたら高得点!
朝食バイキングは美味しかった
美味しい朝食が食べられます
バスタオルは部屋にありました
朝
食バ
イ
キ
ン
グ
美
味
し
い
食
べ
る
バ
ス
タ
オ
ル
部
屋
あ
る
文書同士の近さを測る
BoW 同士のコサイン距離 1/2
TL;DR 同じ単語がたくさん出てきたら高得点!
朝食バイキングは美味しかった
美味しい朝食が食べられます
バスタオルは部屋にありました
朝
食バ
イ
キ
ン
グ
美
味
し
い
食
べ
る
バ
ス
タ
オ
ル
部
屋
あ
る
文書同士の近さを測る
BoW 同士のコサイン距離 1/2
TL;DR 同じ単語がたくさん出てきたら高得点!
朝食バイキングは美味しかった
美味しい朝食が食べられます
バスタオルは部屋にありました
朝
食バ
イ
キ
ン
グ
美
味
し
い
食
べ
る
バ
ス
タ
オ
ル
部
屋
あ
る
似ている!
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
これに一番近いのは?
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
文書同士の近さを測る
BoW 同士のコサイン距離 2/2
これをさっきの例でやると?
スキー場目の前の温泉旅館です
古くて由緒のある旅籠です
古いホテルだがゲレンデが近い
大通りが目の前でうるさかった
源泉かけ流しの大浴場が最高!
これに一番近いのは?
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
これ!?
文書同士の近さを測る
どうやるか?
「文書」をどう表現するかが
文書=「単語の分布」
単語=単なる「トークン ID」
→ 分布自体の近さを測る
文書同士の近さを測る
どうやるか?
「文書」をどう表現するかが
文書=「単語の分布」
単語=単なる「トークン ID」
→ 分布自体の近さを測る
➡
文書=「単語の分布」
単語=意味を表現した「特徴量」
→ ベクトル同士の近さも考慮に入れる
単語の意味を捉える
Word2vec 1/2
単語の「意味」を数学的に扱う手法 [Mikolov et al., '13]
単語を密なベクトルで表現する
→ 共起を浅いニューラルネットで学習
足し算・引き算などの算術演算ができる
Paris - France + Italy = Rome.
Paris
France
Rome
Italy
とうぜん、単語と単語の近さもわかる
単語の意味を捉える
Word2vec 2/2
ホテル
旅館
旅籠
スキー場
ゲレンデ
温泉
大浴場
とうぜん、単語と単語の近さもわかる
単語の意味を捉える
Word2vec 2/2
ホテル
旅館
旅籠
スキー場
ゲレンデ
温泉
大浴場
近い
とうぜん、単語と単語の近さもわかる
単語の意味を捉える
Word2vec 2/2
ホテル
旅館
旅籠
スキー場
ゲレンデ
温泉
大浴場
やや遠い
近い
特徴点分布同士の近さを測る
Earth Mover's Distance 1/3
「特徴点の分布」同士の距離を測る手法 [Rubner et al., '98]
分布( ヒストグラム)だけでなく、特徴点間の距離も考慮する
→ 特徴点同士の距離が定まっていることが大事
応用例:画像を色ヒストグラムで表したときの類似度
→ やはりコサイン距離では不十分で、色同士の近さも考慮したい
違うけれど似ている色として扱いたい
特徴点分布同士の近さを測る
Earth Mover's Distance 2/3
ちなみに名前の "earth" は「地球」ではなく「土」
片方の分布を土の山、もう片方の分布を穴に喩え、「穴を埋める
のに必要な最小の輸送量」をその2分布間の距離とみなしている
Icon designed by Freepik from Flaticon
http://www.flaticon.com/free-icon/truck-cleaner-snow_96129
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?
0.2 0.30.5
0.15 0.10.30.45
?
?
?
各円が特徴量、

その大きさが頻度を表しています
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?→ 全部(完全2部グラフ)
0.2 0.30.5
0.15 0.10.30.45
各円が特徴量、

その大きさが頻度を表しています
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?→ 全部(完全2部グラフ)
出来るかぎり近い者同士がマッチするように(最小化問題)
0.2 0.30.5
0.15 0.10.30.45
各円が特徴量、

その大きさが頻度を表しています
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?→ 全部(完全2部グラフ)
出来るかぎり近い者同士がマッチするように(最小化問題)
0.2 0.30.5
0.15 0.10.30.45
各円が特徴量、

その大きさが頻度を表しています
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?→ 全部(完全2部グラフ)
出来るかぎり近い者同士がマッチするように(最小化問題)
0.2 0.30.5
0.15 0.10.30.45
各円が特徴量、

その大きさが頻度を表しています
輸送量
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?→ 全部(完全2部グラフ)
出来るかぎり近い者同士がマッチするように(最小化問題)
0.2 0.30.5
0.15 0.10.30.45
各円が特徴量、

その大きさが頻度を表しています
輸送量 輸送距離
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?→ 全部(完全2部グラフ)
出来るかぎり近い者同士がマッチするように(最小化問題)
0.2 0.30.5
0.15 0.10.30.45
各円が特徴量、

その大きさが頻度を表しています
輸送量 輸送距離 / 正規化
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?→ 全部(完全2部グラフ)
出来るかぎり近い者同士がマッチするように(最小化問題)
0.2 0.30.5
0.15 0.10.30.45
各円が特徴量、

その大きさが頻度を表しています
輸送量 輸送距離 / 正規化
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?→ 全部(完全2部グラフ)
出来るかぎり近い者同士がマッチするように(最小化問題)
0.2 0.30.5
0.15 0.10.30.45
各円が特徴量、

その大きさが頻度を表しています
輸送量 輸送距離 / 正規化
T
i
=
db
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?→ 全部(完全2部グラフ)
出来るかぎり近い者同士がマッチするように(最小化問題)
0.2 0.30.5
0.15 0.10.30.45
各円が特徴量、

その大きさが頻度を表しています
輸送量 輸送距離 / 正規化
T da
j
特徴点分布同士の近さを測る
Earth Mover's Distance 3/3
どの特徴量同士をマッチさせる?→ 全部(完全2部グラフ)
出来るかぎり近い者同士がマッチするように(最小化問題)
0.2 0.30.5
0.15 0.10.30.45
各円が特徴量、

その大きさが頻度を表しています
T da
j
i
=
db
輸送量 輸送距離 / 正規化
文書同士の近さを測る
Word Mover's Distance 1/3
文書=「word2vec の分布」と捉え、EMD を適用
[Kusner et al., '15]
単語のベクトル表現の一覧 X ∈ Rd×n
特徴量集合は文書間で共有(ないところは 0 になるスパース表現)
文書の正規化された BoW (nBoW) da, db
文書同士の近さを測る
Word Mover's Distance 1/3
文書=「word2vec の分布」と捉え、EMD を適用
[Kusner et al., '15]
単語のベクトル表現の一覧 X ∈ Rd×n
特徴量集合は文書間で共有(ないところは 0 になるスパース表現)
文書の正規化された BoW (nBoW) da, db 正規化項は不要
文書同士の近さを測る
Word Mover's Distance 1/3
文書=「word2vec の分布」と捉え、EMD を適用
[Kusner et al., '15]
単語のベクトル表現の一覧 X ∈ Rd×n
特徴量集合は文書間で共有(ないところは 0 になるスパース表現)
文書の正規化された BoW (nBoW) da, db 正規化項は不要
word2vec の

L2 ノルム
文書同士の近さを測る
Word Mover's Distance 1/3
文書=「word2vec の分布」と捉え、EMD を適用
[Kusner et al., '15]
単語のベクトル表現の一覧 X ∈ Rd×n
特徴量集合は文書間で共有(ないところは 0 になるスパース表現)
文書の正規化された BoW (nBoW) da, db 正規化項は不要
word2vec の

L2 ノルム
不等号ではなく等号
文書同士の近さを測る
Word Mover's Distance 1/3
文書=「word2vec の分布」と捉え、EMD を適用
[Kusner et al., '15]
単語のベクトル表現の一覧 X ∈ Rd×n
特徴量集合は文書間で共有(ないところは 0 になるスパース表現)
文書の正規化された BoW (nBoW) da, db 正規化項は不要
word2vec の

L2 ノルム
不等号ではなく等号
文書同士の近さを測る
Word Mover's Distance 2/3
もう一度さっきの例で
スキー場目の前の温泉旅館です
古いホテルだがゲレンデが近い
ス
キ
ー
場
目
の
前
温
泉
旅
館
古
い
由
緒
旅
籠
ホ
テ
ルゲ
レ
ン
デ
近
い
大
通
りう
る
さ
い
源
泉
か
け
流
し
大
浴
場
最
高
ホテル
旅館
スキー場
ゲレンデ
温泉
近い
目の前
文書同士の近さを測る
Word Mover's Distance 3/3
ダメなところ
距離計算自体にめちゃくちゃ時間かかる O(p3 log p)
たとえばコサイン距離は O(p) ……最適化問題を毎回解くのは辛い
※ p は対象文書中の単語数(=da, db 中の非ゼロ次元数)
↓
高速な距離計算のために
下記の Word Centroid Distance (WCD) が下限として使える
計算量は O(dp) (d は word2vec の次元数)
ただの L2 ノルムなので既存のインデックス手法が使える
※他に Relaxed-WMD というのも出て来るが今回は割愛
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
?
?
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
文書=「word2vec の分布」に EMD を使う距離指標!
?
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
文書=「word2vec の分布」に EMD を使う距離指標!
?
距離を学習する
距離学習とは
クラスラベルの付いたデータをもとに、
同クラス=近く/異クラス=遠くなるよう「距離」を学習
実際はデータを線形変換する行列 A を学習する
→ 学習された「距離」: dA(x, y) = d(Ax, Ay)
A は低ランクである(低次元への射影である)ことが多い
高次元データの可視化などのための次元削減でも使われる
A
距離を学習する
近傍成分分析 (NCA) 1/2
k-NN 分類エラーを最小化するよう変換行列を学習する手法
[Goldberger et al., '05]
主成分分析 (PCA) を教師ありにしたようなイメージ
変換後の距離基準での k-NN 分類の精度が高くなるよう学習
距離を学習する
近傍成分分析 (NCA) 2/2
「k-NN 分類エラー」は A について微分不可能
実際の誤差関数はそれを緩和して微分可能にしたものを使っている

P(i の最近傍が j)
A1 A2
A
連続にした pij
("soft" assign)
A1 A2
A
A2
A1
i
j
k
特徴点空間
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
文書=「word2vec の分布」に EMD を使う距離指標!
?
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
文書=「word2vec の分布」に EMD を使う距離指標!
k-NN 分類エラーを最小化するよう変換行列を学習する手法!
S-WMD とは何か?
ひとことで言うと……
文書間の距離である WMD を
NCA で距離学習する手法
文書=「word2vec の分布」に EMD を使う距離指標!
k-NN 分類エラーを最小化するよう変換行列を学習する手法!
S-WMD とは何か?
問題設定
WMD に対して距離学習を行う手法 [Huang et al., '16]
単語ベクトルの表現行列 A に加え、BoW の重み付け w も学習
NCA 同様、k-NN 分類エラーを最小化するよう学習
S-WMD とは何か?
問題設定
WMD に対して距離学習を行う手法 [Huang et al., '16]
単語ベクトルの表現行列 A に加え、BoW の重み付け w も学習
NCA 同様、k-NN 分類エラーを最小化するよう学習
S-WMD とは何か?
学習のしかた 1/3
1. 初期化
‣ w0 = 1 (最初はすべての単語が同じ重みと仮定)
S-WMD とは何か?
学習のしかた 1/3
1. 初期化
‣ w0 = 1 (最初はすべての単語が同じ重みと仮定)
‣ A0 = 「WCD に NCA を適用して得られた変換行列」
S-WMD とは何か?
学習のしかた 1/3
1. 初期化
‣ w0 = 1 (最初はすべての単語が同じ重みと仮定)
‣ A0 = 「WCD に NCA を適用して得られた変換行列」

WCD は単なるユークリッド距離
これに NCA をかけて A0 を学習
S-WMD とは何か?
学習のしかた 1/3
1. 初期化
‣ w0 = 1 (最初はすべての単語が同じ重みと仮定)
‣ A0 = 「WCD に NCA を適用して得られた変換行列」

WCD は単なるユークリッド距離
これに NCA をかけて A0 を学習
この距離指標を Supervised WCD (S-WCD) と呼ぶ
また、この A0, w0 を S-WMD に適用したものを S-WMD init. と呼ぶ
S-WMD とは何か?
学習のしかた 2/3
2. ロス関数の最小化(バッチ勾配降下法)
誤差関数は NCA 同様、k-NN 分類エラーの連続化版

(exp の中が L2 ノルムから S-WMD に変わっただけ)
S-WMD とは何か?
学習のしかた 2/3
2. ロス関数の最小化(バッチ勾配降下法)
誤差関数は NCA 同様、k-NN 分類エラーの連続化版

(exp の中が L2 ノルムから S-WMD に変わっただけ)
S-WMD とは何か?
学習のしかた 2/3
2. ロス関数の最小化(バッチ勾配降下法)
誤差関数は NCA 同様、k-NN 分類エラーの連続化版

(exp の中が L2 ノルムから S-WMD に変わっただけ)
高速化のための工夫 ①
P(a's NN is b) を全 b について計算せず、WCD で近傍候補を枝刈り
S-WMD とは何か?
学習のしかた 3/3
続 2. ロス関数の最小化(バッチ勾配降下法)
高速化のための工夫 ②
S-WMD の最適化問題は毎イテレーション解くには高コストすぎるので、
正則化項を入れて凸にした問題を解く
→ もとの問題が O(p3 log p) に対し、こちらは O(p2)
S-WMD とは何か?
学習のしかた 3/3
続 2. ロス関数の最小化(バッチ勾配降下法)
高速化のための工夫 ②
S-WMD の最適化問題は毎イテレーション解くには高コストすぎるので、
正則化項を入れて凸にした問題を解く
→ もとの問題が O(p3 log p) に対し、こちらは O(p2)
S-WMD とは何か?
実験結果
可視化
教師データの有無が効いている
k-NN 分類
全体的に高精度
文章が長い(密になる)と TF-IDF + NCA が勝つことも
重みベクトルの活用
クラス分類に効く単語( 各クラスに固有な単語。固有名詞など)
ほど重みづけられている
訓練時間
20NEWS で2時間ちょっと
論文を見ながら

どうぞ
S-WMD とは何か?
使えるの?
S-WMD は WMD の純粋な拡張なので、良いところも悪い
ところもそのまま引き継いでいる
性能は良好そう
ただしやはり処理時間がネック
WMD に比べ考察が甘い(学習の高速化は言及があったが、評価の高速化
については特に何もなし)
Word2vec 同士の距離がコサインではなく L2 なのが気になる
個人的な結論
このままでは使える場面は限られそう
実応用までは追加研究が求められる
原著論文 1/2
[Huang et al., '16] Supervised Word Mover's Distance
G. Huang, C. Guo, M.J. Kusner, Y. Sun, K.Q. Weinberger, F. Sha.
Supervised Word Mover's Distance. In NIPS 2016.
https://papers.nips.cc/paper/6139-supervised-word-movers-distance
[Mikolov et al., '13] word2vec
T. Mikolov, K. Chen, G. Corrado, J. Dean. Efficient Estimation of Word
Representations in Vector Space. In ICLR 2013 Workshop.
https://arxiv.org/abs/1301.3781
[Rubner et al., '98] Eearth Mover's Distance
Y. Rubner, C. Tomasi, L.J. Guibas. A Metric for Distributions with
Applications to Image Databases. In ICCV 1998.
http://ieeexplore.ieee.org/abstract/document/710701/
http://ai.stanford.edu/~rubner/papers/rubnerIccv98.pdf
原著論文 2/2
[Kusner et al., '15] Word Mover's Distance
M.J. Kusner, Y. Sun, N.I. Kolkin, K.Q. Weinberger. From Word
Embedding To Documents Distances. In ICML 2015.
http://www.jmlr.org/proceedings/papers/v37/kusnerb15.html
[Goldberger et al., '05] Neighborhood Component Analysis
J. Goldberger, S. Roweis, G. Hinton, R. Salakhutdinov. Neighborhood
Component Analysis. In NIPS 2005.
https://papers.nips.cc/paper/2566-neighbourhood-components-analysis
日本語の参考文献
Word Mover's Distance
Word Mover's Distance: word2vecの文書間距離への応用 -
yubessy.hatenablog.com
http://yubessy.hatenablog.com/entry/2017/01/10/122737
From Word Embeddings To Document Distances
http://www.slideshare.net/kentonozawa75/from-word-embeddings-
to-document-distances
Earth Mover's Distance
Earth Mover's Distance (EMD) - 人工知能に関する断創録
http://aidiary.hatenablog.com/entry/20120804/1344058475

More Related Content

More from Recruit Lifestyle Co., Ltd.

Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたものFlutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたものRecruit Lifestyle Co., Ltd.
 
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020Recruit Lifestyle Co., Ltd.
 
「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理Recruit Lifestyle Co., Ltd.
 
Air事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナーAir事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナーRecruit Lifestyle Co., Ltd.
 
リクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチリクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチRecruit Lifestyle Co., Ltd.
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割Recruit Lifestyle Co., Ltd.
 
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤Recruit Lifestyle Co., Ltd.
 
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embeddingReal-time personalized recommendation using embedding
Real-time personalized recommendation using embeddingRecruit Lifestyle Co., Ltd.
 
データプロダクト開発を成功に導くには
データプロダクト開発を成功に導くにはデータプロダクト開発を成功に導くには
データプロダクト開発を成功に導くにはRecruit Lifestyle Co., Ltd.
 
Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤Recruit Lifestyle Co., Ltd.
 
BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方Recruit Lifestyle Co., Ltd.
 
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のりThe Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のりRecruit Lifestyle Co., Ltd.
 
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法Recruit Lifestyle Co., Ltd.
 
ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡Recruit Lifestyle Co., Ltd.
 
データサイエンティストとエンジニア 両者が幸せになれる機械学習基盤を求めて
データサイエンティストとエンジニア 両者が幸せになれる機械学習基盤を求めてデータサイエンティストとエンジニア 両者が幸せになれる機械学習基盤を求めて
データサイエンティストとエンジニア 両者が幸せになれる機械学習基盤を求めてRecruit Lifestyle Co., Ltd.
 
データ分析基盤運⽤チームの 運⽤業務を改善してみた話
データ分析基盤運⽤チームの 運⽤業務を改善してみた話データ分析基盤運⽤チームの 運⽤業務を改善してみた話
データ分析基盤運⽤チームの 運⽤業務を改善してみた話Recruit Lifestyle Co., Ltd.
 
マルチクラウドで実演するカスタマーセントリックな分析基盤
マルチクラウドで実演するカスタマーセントリックな分析基盤マルチクラウドで実演するカスタマーセントリックな分析基盤
マルチクラウドで実演するカスタマーセントリックな分析基盤Recruit Lifestyle Co., Ltd.
 

More from Recruit Lifestyle Co., Ltd. (20)

Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたものFlutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
 
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
CTIサービスを支える裏側 〜物理デバイスとの戦い〜 | iOSDC Japan 2020
 
「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理「進化し続けるインフラ」のためのマルチアカウント管理
「進化し続けるインフラ」のためのマルチアカウント管理
 
Air事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナーAir事業のデザイン組織とデザイナー
Air事業のデザイン組織とデザイナー
 
リクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチリクルートライフスタイル AirシリーズでのUXリサーチ
リクルートライフスタイル AirシリーズでのUXリサーチ
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
 
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤データサイエンティストが力を発揮できるアジャイルデータ活用基盤
データサイエンティストが力を発揮できるアジャイルデータ活用基盤
 
Real-time personalized recommendation using embedding
Real-time personalized recommendation using embeddingReal-time personalized recommendation using embedding
Real-time personalized recommendation using embedding
 
データから価値を生み続けるには
データから価値を生み続けるにはデータから価値を生み続けるには
データから価値を生み続けるには
 
データプロダクト開発を成功に導くには
データプロダクト開発を成功に導くにはデータプロダクト開発を成功に導くには
データプロダクト開発を成功に導くには
 
Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤Jupyter だけで機械学習を実サービス展開できる基盤
Jupyter だけで機械学習を実サービス展開できる基盤
 
SQLを書くだけでAPIが作れる基盤
SQLを書くだけでAPIが作れる基盤SQLを書くだけでAPIが作れる基盤
SQLを書くだけでAPIが作れる基盤
 
BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方BtoBサービスならではの顧客目線の取り入れ方
BtoBサービスならではの顧客目線の取り入れ方
 
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のりThe Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
The Design for Serverless ETL Pipeline データ分析基盤のレガシーなデータロードをサーバレスでフルリプレースするまで道のり
 
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
リクルートライフスタイルにおける深層学習の活用とGCPでの実現方法
 
ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡ビックデータ分析基盤の成⻑の軌跡
ビックデータ分析基盤の成⻑の軌跡
 
Refactoring point of Kotlin application
Refactoring point of Kotlin applicationRefactoring point of Kotlin application
Refactoring point of Kotlin application
 
データサイエンティストとエンジニア 両者が幸せになれる機械学習基盤を求めて
データサイエンティストとエンジニア 両者が幸せになれる機械学習基盤を求めてデータサイエンティストとエンジニア 両者が幸せになれる機械学習基盤を求めて
データサイエンティストとエンジニア 両者が幸せになれる機械学習基盤を求めて
 
データ分析基盤運⽤チームの 運⽤業務を改善してみた話
データ分析基盤運⽤チームの 運⽤業務を改善してみた話データ分析基盤運⽤チームの 運⽤業務を改善してみた話
データ分析基盤運⽤チームの 運⽤業務を改善してみた話
 
マルチクラウドで実演するカスタマーセントリックな分析基盤
マルチクラウドで実演するカスタマーセントリックな分析基盤マルチクラウドで実演するカスタマーセントリックな分析基盤
マルチクラウドで実演するカスタマーセントリックな分析基盤
 

NIPS2016 Supervised Word Mover's Distance