SlideShare a Scribd company logo
1 of 33
Download to read offline
Confidence Weightedで
ランク学習を実装してみた


徳永拓之 <tkng@preferred.jp>

      2011/01/22 第4回 自然言語処理勉強会@東京
自己紹介:徳永 拓之
●
    twitter id:tkng
●
    (株) Preferred Infrastructure 勤務
    ●
        守備範囲:レコメンド・NLPなど
●
    カレーを食べるのが趣味
    ●
        上野デリーのコルマカレーが好きです
●
    早売りの週刊少年ジャンプを読むのも好き
宣伝:NLP2011で発表します
    C4-6 日本語かな漢字変換における識別モデル
    の適用とその考察
     ○徳永拓之, 岡野原大輔 (PFI)
     3月10日(木) 13:00-15:30 (A1-201教室)


●
    今日の発表でここが一番NLPっぽい
発表の概要
●
    ランク学習とは
●
    Confidence Weightedとは
●
    Confidence Weightedによるランク学習


中身の薄い発表なのでゆったりと
リラックスした気持ちで聞くのが
オススメ!
ランク学習とは?
ランク学習(Learning to Rank)
データの集合に対して順位付けを行う問題
●
    データの与え方によってBipartite, Pairwise,
    Listwiseなどに分類できる


検索結果の並べかえやインターネット広告の最
適化など、近年応用できる範囲が広がり、研究
として重要になっている
Learning to Rankの研究グループ
●
    Yahoo Research, MS Researchが強い
    ●
        要するにデータ持ってるところが強い
    ●
        Googleは調べた頃は論文あまり出してなかった


●
    今回のスライドもMS ResearchのHang Liや
    Tie-Yan Liuのスライドを参考に作りました
    ●
        日本語ではチュートリアルっぽい資料があまりない
自然言語処理     ランク学習
●
    高次元    ●   (比較的)低次元
●
    スパース   ●   デンス
今日簡単に紹介するいろいろ
●
    RankingSVM
    ●
        このあたりがLearning to Rankの始まり?
●
    RankBoost
    ●
        Bipartite Learningの高速な学習
●
    ListNet
    ●
        Listwise Learningを提案
●
    Sofia-ML
    ●
        サンプリングしても精度はほとんど落ちない
どんな素性を使うか?
●
    BM25
    ●
        クエリに対する文書の適合度を計算する指標
●
    PageRank
    ●
        文書の重要度を表すアレ
●
    文書長、タイトル文字列の長さなど
ランク学習の評価指標
●   NDCGとかMAPが使われる
    ●   NDCG (=Normalized Discounted Cumulative Gain)




        –   0〜1の値を取り、大きいほど良い
Bipartite Learning
●
    データはGood, Badの2つの集合で与えられる
    ●
        学習データを作るのが比較的簡単
    ●
        学習が高速なことが多い


            good

                   bad
Pairwise Learning
●
    データはペアの形で与えられる
    ●
        クエリQに対し、文書Aと文書Bはどっちが適切?
    ●
        データを作るのはそこそこ簡単
    ●
        気をつけないとおかしなデータができる
         A > B, B > C, C > A みたいな三すくみ状態
Listwise Learning
●
    データはリストの形で与えられる
    ●
        学習データを作る時点でまずちょっと難しい…
学習の簡単さで比較する
●
    Bipartite, Pairwise, Listwiseの順に簡単
●
    例えば、Listwiseを単純にPairwiseに直すと、
    n^2個のペアができちゃう
●
    n=50なら50x50=2500個のペアを見る事にな
    る
RankingSVM (Herbrich, 1998)
●
    Pairwise
●
    ランク学習の分野で最も基本的な学習器の一つ
●
    オリジナルのアルゴリズムは学習時間が超長い
    ●
        Bipartiteなデータの与え方をした場合、すべての
        サンプルの組みわせを使う
RankBoost (Freund, 2003)
●
    Boostingのランク学習への拡張
●
    基本的にPairwiseだが、Bipartiteだと高速に
    学習できる
●
    圧倒的に高速に学習できるようになったという
    点でエポックメーキング
ListNet (Cao, 2007)
●
    並べ替えるんだから、並べ替えた結果のリスト
    から学習すればいい
●
    ニューラルネットで学習する
●
    Listwiseアプローチはこの後もたくさん出てる
Large Scale Learning to Rank
    ●



●
    2009年のNIPSのワークショップでD. Sculley.
    が発表
    全部のペアを見なくても、ランダムにサンプリ
    ングして数%ぐらいの数を見ればいいよ
Pairwiseについてさらに詳しく
A > Bの時、
(Ψ(A) - Ψ(B)) ・W > 0
となるように学習する
 W:パラメーターベクトル
 Ψ:素性関数


(Ψ(A) - Ψ(B)) を素性とみなせば普通の二値分類問
題!
Pairwiseでの文書の並べ替え
●
    未知の文書A, B, Cの並べ替え
●
    スコアで並べ替える
    ●
        Learning to Rank的にはスコアを出す必要はない
        のだが、ほぼ確実にスコアでソートする
●
    w・Ψ(A), w・Ψ(B) ...
Confidence Weighted
Confidence Weightedとは
●
    オンライン線形学習アルゴリズムの1つ
    ●
        サンプルを一つ読んでパラメーターを更新する
●
    それぞれの素性に対して分散を考慮しながら
    アップデートを行う
    ●
        分散が小さい=自信(Confidence)がある
更新式
Confidence Weightedの特徴
●
    学習が早い
    ●
        ループを1回回すとほぼ収束し、しかも精度は高い
●
    ノイズに弱い
    ●
        AROW, NAROWという対策が提案されている
というわけで、作ってみた
RankCW
●
    二値分類としての学習にはollを利用
●
    リストからランダムにサンプリングしてペアワ
    イズで学習
●
    2年ぐらい前の正月に作った
    ●
        雑誌記事からの締切り逃避パワー
早速実験してみよう
実験データ:LETOR
●
    MS Researchが作っているデータセット群
●
    Pairwise, Listwiseの2種類でデータが提供される
●
    文書からあらかじめ素性が抽出されている
    –   自分で素性を作らなくていい
    –   逆に新しく素性を作りたくても作れない
        ●
            データセットによっては元データが入手できる
●
    今回はOHSUMEDとMQ2007を使用
実験結果(NDCG)
●   OHSUMED
    ●   CW:   0.475   0.424   0.405   0.404   0.397
    ●   SVM: 0.544    0.461   0.442   0.431   0.423
●   MQ2007-list
    ●   CW:   0.221   0.228   0.226   0.230   0.235
    ●   SVM: 0.409    0.407   0.406   0.408   0.414
    ●   ※MQ-2007のSVMの結果はLETORより引用
実験結果をよく見る




ありえないぐらいにCWの性能が低い!
調査した結果と感想
●
    Confidence Weightedはノイズに弱い
    ●
        あまりの低性能さに最初はバグかと思った
    ●
        SVM(最適化にはFOBOSを利用)に変えると圧倒的に
        よくなった
本当は何がやりたかったか?
●
    Listwiseだとデータがリストでくるので、デー
    タに重み付けしてPairwise Trainingすれば実
    装は簡単でいい性能が出せるのでは?


→単純にやっただけではうまくいかなかった
まとめ
●
    Learning to Rankはデータの並べ替え
●
    手法を選べば実装は難しくない
    ●
        それでいて結構いい精度が出る
●
    Confidence Weightedは高速だがノイズに弱い
    ●
        適用するデータをよく考えよう!
    ●
        伝統的な手法もとりあえず試した方がいい

More Related Content

What's hot

Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative ModelsDeep Learning JP
 
勾配降下法の 最適化アルゴリズム
勾配降下法の最適化アルゴリズム勾配降下法の最適化アルゴリズム
勾配降下法の 最適化アルゴリズムnishio
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類Shintaro Fukushima
 
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性Ichigaku Takigawa
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence ModelingDeep Learning JP
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報Deep Learning JP
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有Naoaki Okazaki
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic DatasetsDeep Learning JP
 
識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データShohei Miyashita
 
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...Deep Learning JP
 
【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative Modeling【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative ModelingDeep Learning JP
 
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたいTakuji Tahara
 
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)Yoshitaka Ushiku
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習Hidekazu Tanaka
 
[DL輪読会]Estimating Predictive Uncertainty via Prior Networks
[DL輪読会]Estimating Predictive Uncertainty via Prior Networks[DL輪読会]Estimating Predictive Uncertainty via Prior Networks
[DL輪読会]Estimating Predictive Uncertainty via Prior NetworksDeep Learning JP
 
[DL輪読会]Deep Dynamics Models for Learning Dexterous Manipulation
[DL輪読会]Deep Dynamics Models for Learning Dexterous Manipulation[DL輪読会]Deep Dynamics Models for Learning Dexterous Manipulation
[DL輪読会]Deep Dynamics Models for Learning Dexterous ManipulationDeep Learning JP
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要Kenji Urai
 
機械学習の未解決課題
機械学習の未解決課題機械学習の未解決課題
機械学習の未解決課題Hiroyuki Masuda
 

What's hot (20)

Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
 
勾配降下法の 最適化アルゴリズム
勾配降下法の最適化アルゴリズム勾配降下法の最適化アルゴリズム
勾配降下法の 最適化アルゴリズム
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
 
[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報[DL輪読会]ICLR2020の分布外検知速報
[DL輪読会]ICLR2020の分布外検知速報
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
 
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
[DL輪読会]Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets
 
識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ識別モデルと生成モデルと損失データ
識別モデルと生成モデルと損失データ
 
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...
【DL輪読会】Data-Efficient Reinforcement Learning with Self-Predictive Representat...
 
【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative Modeling【DL輪読会】Flow Matching for Generative Modeling
【DL輪読会】Flow Matching for Generative Modeling
 
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
【LT資料】 Neural Network 素人なんだけど何とかご機嫌取りをしたい
 
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
Self-Critical Sequence Training for Image Captioning (関東CV勉強会 CVPR 2017 読み会)
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習
 
[DL輪読会]Estimating Predictive Uncertainty via Prior Networks
[DL輪読会]Estimating Predictive Uncertainty via Prior Networks[DL輪読会]Estimating Predictive Uncertainty via Prior Networks
[DL輪読会]Estimating Predictive Uncertainty via Prior Networks
 
[DL輪読会]Deep Dynamics Models for Learning Dexterous Manipulation
[DL輪読会]Deep Dynamics Models for Learning Dexterous Manipulation[DL輪読会]Deep Dynamics Models for Learning Dexterous Manipulation
[DL輪読会]Deep Dynamics Models for Learning Dexterous Manipulation
 
LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要LSTM (Long short-term memory) 概要
LSTM (Long short-term memory) 概要
 
BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装
 
機械学習の未解決課題
機械学習の未解決課題機械学習の未解決課題
機械学習の未解決課題
 

Recently uploaded

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
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
 
論文紹介: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
 
論文紹介: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
 
論文紹介: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
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Recently uploaded (9)

[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
 
論文紹介: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
 
論文紹介: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...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
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
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

Confidence Weightedで ランク学習を実装してみた

  • 2. 自己紹介:徳永 拓之 ● twitter id:tkng ● (株) Preferred Infrastructure 勤務 ● 守備範囲:レコメンド・NLPなど ● カレーを食べるのが趣味 ● 上野デリーのコルマカレーが好きです ● 早売りの週刊少年ジャンプを読むのも好き
  • 3. 宣伝:NLP2011で発表します C4-6 日本語かな漢字変換における識別モデル の適用とその考察 ○徳永拓之, 岡野原大輔 (PFI) 3月10日(木) 13:00-15:30 (A1-201教室) ● 今日の発表でここが一番NLPっぽい
  • 4. 発表の概要 ● ランク学習とは ● Confidence Weightedとは ● Confidence Weightedによるランク学習 中身の薄い発表なのでゆったりと リラックスした気持ちで聞くのが オススメ!
  • 6. ランク学習(Learning to Rank) データの集合に対して順位付けを行う問題 ● データの与え方によってBipartite, Pairwise, Listwiseなどに分類できる 検索結果の並べかえやインターネット広告の最 適化など、近年応用できる範囲が広がり、研究 として重要になっている
  • 7. Learning to Rankの研究グループ ● Yahoo Research, MS Researchが強い ● 要するにデータ持ってるところが強い ● Googleは調べた頃は論文あまり出してなかった ● 今回のスライドもMS ResearchのHang Liや Tie-Yan Liuのスライドを参考に作りました ● 日本語ではチュートリアルっぽい資料があまりない
  • 8. 自然言語処理 ランク学習 ● 高次元 ● (比較的)低次元 ● スパース ● デンス
  • 9. 今日簡単に紹介するいろいろ ● RankingSVM ● このあたりがLearning to Rankの始まり? ● RankBoost ● Bipartite Learningの高速な学習 ● ListNet ● Listwise Learningを提案 ● Sofia-ML ● サンプリングしても精度はほとんど落ちない
  • 10. どんな素性を使うか? ● BM25 ● クエリに対する文書の適合度を計算する指標 ● PageRank ● 文書の重要度を表すアレ ● 文書長、タイトル文字列の長さなど
  • 11. ランク学習の評価指標 ● NDCGとかMAPが使われる ● NDCG (=Normalized Discounted Cumulative Gain) – 0〜1の値を取り、大きいほど良い
  • 12. Bipartite Learning ● データはGood, Badの2つの集合で与えられる ● 学習データを作るのが比較的簡単 ● 学習が高速なことが多い good bad
  • 13. Pairwise Learning ● データはペアの形で与えられる ● クエリQに対し、文書Aと文書Bはどっちが適切? ● データを作るのはそこそこ簡単 ● 気をつけないとおかしなデータができる A > B, B > C, C > A みたいな三すくみ状態
  • 14. Listwise Learning ● データはリストの形で与えられる ● 学習データを作る時点でまずちょっと難しい…
  • 15. 学習の簡単さで比較する ● Bipartite, Pairwise, Listwiseの順に簡単 ● 例えば、Listwiseを単純にPairwiseに直すと、 n^2個のペアができちゃう ● n=50なら50x50=2500個のペアを見る事にな る
  • 16. RankingSVM (Herbrich, 1998) ● Pairwise ● ランク学習の分野で最も基本的な学習器の一つ ● オリジナルのアルゴリズムは学習時間が超長い ● Bipartiteなデータの与え方をした場合、すべての サンプルの組みわせを使う
  • 17. RankBoost (Freund, 2003) ● Boostingのランク学習への拡張 ● 基本的にPairwiseだが、Bipartiteだと高速に 学習できる ● 圧倒的に高速に学習できるようになったという 点でエポックメーキング
  • 18. ListNet (Cao, 2007) ● 並べ替えるんだから、並べ替えた結果のリスト から学習すればいい ● ニューラルネットで学習する ● Listwiseアプローチはこの後もたくさん出てる
  • 19. Large Scale Learning to Rank ● ● 2009年のNIPSのワークショップでD. Sculley. が発表 全部のペアを見なくても、ランダムにサンプリ ングして数%ぐらいの数を見ればいいよ
  • 20. Pairwiseについてさらに詳しく A > Bの時、 (Ψ(A) - Ψ(B)) ・W > 0 となるように学習する  W:パラメーターベクトル  Ψ:素性関数 (Ψ(A) - Ψ(B)) を素性とみなせば普通の二値分類問 題!
  • 21. Pairwiseでの文書の並べ替え ● 未知の文書A, B, Cの並べ替え ● スコアで並べ替える ● Learning to Rank的にはスコアを出す必要はない のだが、ほぼ確実にスコアでソートする ● w・Ψ(A), w・Ψ(B) ...
  • 23. Confidence Weightedとは ● オンライン線形学習アルゴリズムの1つ ● サンプルを一つ読んでパラメーターを更新する ● それぞれの素性に対して分散を考慮しながら アップデートを行う ● 分散が小さい=自信(Confidence)がある
  • 25. Confidence Weightedの特徴 ● 学習が早い ● ループを1回回すとほぼ収束し、しかも精度は高い ● ノイズに弱い ● AROW, NAROWという対策が提案されている
  • 27. RankCW ● 二値分類としての学習にはollを利用 ● リストからランダムにサンプリングしてペアワ イズで学習 ● 2年ぐらい前の正月に作った ● 雑誌記事からの締切り逃避パワー
  • 28. 早速実験してみよう 実験データ:LETOR ● MS Researchが作っているデータセット群 ● Pairwise, Listwiseの2種類でデータが提供される ● 文書からあらかじめ素性が抽出されている – 自分で素性を作らなくていい – 逆に新しく素性を作りたくても作れない ● データセットによっては元データが入手できる ● 今回はOHSUMEDとMQ2007を使用
  • 29. 実験結果(NDCG) ● OHSUMED ● CW: 0.475 0.424 0.405 0.404 0.397 ● SVM: 0.544 0.461 0.442 0.431 0.423 ● MQ2007-list ● CW: 0.221 0.228 0.226 0.230 0.235 ● SVM: 0.409 0.407 0.406 0.408 0.414 ● ※MQ-2007のSVMの結果はLETORより引用
  • 31. 調査した結果と感想 ● Confidence Weightedはノイズに弱い ● あまりの低性能さに最初はバグかと思った ● SVM(最適化にはFOBOSを利用)に変えると圧倒的に よくなった
  • 32. 本当は何がやりたかったか? ● Listwiseだとデータがリストでくるので、デー タに重み付けしてPairwise Trainingすれば実 装は簡単でいい性能が出せるのでは? →単純にやっただけではうまくいかなかった
  • 33. まとめ ● Learning to Rankはデータの並べ替え ● 手法を選べば実装は難しくない ● それでいて結構いい精度が出る ● Confidence Weightedは高速だがノイズに弱い ● 適用するデータをよく考えよう! ● 伝統的な手法もとりあえず試した方がいい