[論文紹介]
A Subsequence Matching with Gaps-Range-
         Tolerances Framework:
    A Query-By-Humming Application

         システム情報科学府 情報学専攻
            修士1年 池田研究室
         ルトフィアナ サリ アリスティン


            2012 年 12 月 18 日 (火)
                 情報演習発表

                     1
背景




音楽、画像、動画といった
                     データのタイトルよりも
様々なマルチメディアデータ
                    コンテンツの方を人が覚える
 が近年増大化している



                2
動機

昨日聞いた音楽を検索したい


でも、タイトル、歌詞、
 歌手が分からない




      音楽データの増大化で、
     このような難点が現れてきた


                            メタデータではなく
      検索の手段はメタデータ        音楽コンテンツを録音デバイス
         使用必須            の使用で新たな音楽検索の実現
                               の重要性

                     3
着眼点:ハミング検索




ユーザが歌ったクエリ
        ハミング検索は2つの部分列の
                    音高の時系列データ
           照合問題として扱える




  音楽データ
今回は MIDI に着目        音高の時系列データ

               4
目的

                       黒色:MIDI データ
                       その他の色:実際の歌声

                       同じ曲を指す MIDI データ
                       といくつかのユーザの歌声
                            の比較

問題点:ユーザが歌ったクエリは3つ種類のエラーあり
1. 縦軸のずれ(音高のエラー)
2. 横軸のずれ(音楽データのどの部分と一致するかが不明)
3. 伸縮のずれ(テンポが違う)

            上記の問題の解決

                   5
論文紹介
[タイトル]
   A Subsequence Matching with Gaps-Range-Tolerances
   Framework: A Query-By-Humming Application

[著者]
   Alexios Kotsifakos, Panagiotis Papapetrou, Jaakko Hollmén,
   Dimitrios Gunopulos

[書誌情報]
   Proceeding of the VLDB Endowment, Vol. 4, No. 11 2011

[概要]
   データ処理の観点からハミング検索の問題を解決する.ユーザが
   歌ったクエリと音楽データを完全一致させるのではなく、許容範
   囲内を設定することで一致条件をあげる.

                              6
論文の背景

部分列照合問題:クエリとデータベースが与えられた時、クエリと一番
       一致するデータベース内の部分列を識別する.


 様々な分野で適用可能         動的プログラミングで解く

  時系列の類似性
  マルチメディア検索            精度が低い

   パターン発見              後で示す先行実験で記述



       上記の問題の解決を改善する必要あり
    時系列の部分照合に着目し、音楽検索の視点から
              解決策を適用

                7
関連研究

                (+) クエリの不整合・伸縮対応
•動的時間伸縮 (DTW)   (−) クエリとの比較が列全体
•編集距離               箇所ごとの比較を行いたい場合、
                    窓スライドの作成が必要

•最長共通部分列の       (+) クエリにノイズ・ギャップ対応
アルゴリズム (LCSS)   (−) |Q| << (X) → 偽陽性結果
のアプローチ              ギャップの長さの制限がないため

                (+) クエリの特徴を考慮
•隠れマルコフモデル      (−) 学習が必要
ベースの手法              全ジャンルの音楽をモデル化必要
                    あり、高い計算コスト

                8
目的




 列全体ではなく、部分列照合へ対応したい


   クエリのエラーへの対応の他に、
    ギャップの制限を設けたい

コストの低い計算でのアルゴリズムを使用したい

           9
音楽データの表現

音高の表現:
1.絶対音高
2.相対音高(隣接する音高の差)

音の存続時間の表現:
1.隣接する音の開始時刻の差 (Inter-Onset Interval / IOI)
2.隣接する音の IOI の比 (IOI Ratio / IOIR)
3.対数をとった IOI の比 (Log IOI Ratio / LogIOIR)

今回論文で用いた表現の組は下記の2つ:
•<相対音高, IOIR>
•<相対音高, LogIOIR>

                            10
問題定式化のための定義
 音楽データ: X = {x1 , ..., xn }
                                         クエリは音楽データと同様
 音楽データの長さ :|X|
             p                                       Q = {q1 , ..., qm }
 xj =<     x j , xr
                  j   >∈ X                               p r
                                             |Q|, qi =< qi , qi >∈ X
 DB = {X1 , ..., XN }
                                            Q[ts : te] = {qts , ..., qte }
 X[ts : te] = {xts , ..., xte }

 定義 1
                                                                             p
qi ≈f xj とは  = {f , f } という許容の条件下で
                 p r                                          f (i) = fp (qi )
                                                                p
qi ∈ Q と xj ∈ X が一致するとする                                 f (i, j) = fr (qi , xr )
                                                          p
                                                                          r
                                                                               j


定義 2
同じ長さの      Q[ts1 : te1 ] と X[ts2 : te2 ] に対し、 i ≈f xj
                                             q                     ∀πi ∈ GQ
SM BGT (Q, X) ⇔ te2 − ts2 ≤ r は下記を満たす:                             ∀γj ∈ GX
     f
qi ≈    xj ∧ πi+1 − πi − 1 ≤ β, γj+1 − γj − 1 ≤ α            i = 1, ..., |GQ |
                                    11
問題定式化のための定義(例)
        Q = {6, 3, 10, 5, 3, 2, 9}, X = {1, 1, 3, 4, 6, 9, 2, 3, 1}
                   Q[2 : 6] ∧ GQ = {2, 4, 5, 6} ⇔ {3, 5, 3, 2}
                   X[3 : 8] ∧ GX = {3, 4, 7, 8} ⇔ {3, 4, 2, 3}

    次のパラメータを設定する:  = 1, α = 2, β = 1, r = 6
                        {3, 5, 3, 2} vs {3, 4, 2, 3}
α = 2 → {3, , , 2}
                                   {Q[2 : 6], X[3 : 8]} は SM BGT (Q, X)
β = 1 → {3, , 2, }


                          問題の定式
          |SM BGT (Q, Xi [ts : te])| ≥ δ の条件下で
          トップ K の S = {Xi [ts : te]|Xi ∈ DB} 見つける

                                                δ は正の整数

                                      12
提案手法:SMBGT
input : Q, X, α, β,   f
                          , r, パラメータ K
                                                                 入力と出力
output: プライオリティキュー S
begin
   S=null
   for t ← 1 to |DB| do
      bestvalue = 0
                                                                 行列   |Xj | × |Q| として動的に比較される
      beststart = 0
      for j ← 1 to |Xt | do
            for i ← 1 to |Q| do
               if qi ≈f xj then                                   一致しない場合、伝搬という意味の関
                   curi .value = previ−1 .value + 1
                  curi .start = previ .start                      数を動かす
               end                                                ターゲットからの伝搬:  j − Aprev (i) ≤ α
                                                                                      start
               else                                                             prev
                                                                  クエリからの伝搬:i − Bstart (i − 1) ≤ β
                  curi = propagation(i, j, Astart , Bstart )
               end
            end                                                  1つ SMBGT を見つけた後、r の条件
            best = U pdate(j, cur)
                                                                 を違反しないかチェック
         cur = ResetB (j, cur, Astart , Bstart )
      end
                                                               qi = xj の場合、行列 |Xj | × |Q| をリセット
      U pdatequeue (S, best, K)
   end
end                                                        13
提案手法の計算例
簡単にするため、音の存続時間を考慮しない例:
                                    a                     X                    Astart                    X
                                    Q    0   0   -4   3       0   2   -3   1     Q      0   0   -4   3       0   2   -3   1
          Q = {0, −4, 1, 2, −2}     0    1   1   1    1       1   1              0      1   2   2    2       5   5
   X = {0, 0, −4, 3, 0, 2, −3, 1}   -4   1   1   2    2       2   1             -4      1   2   3    3       3   5
                                    1    0   0   2    2       2   0              1      0   0   3    3       3   0
α = 2, β = 1, δ = 1, r = |Q| = 5    2    0   0   0    0       0   3              2      0   0   0    0       0   6
                                    -2   0   0   0    0       0   3             -2      0   0   0    0       0   6


                                    s                     X                    Bstart                    X
                                    Q    0   0   -4   3       0   2   -3   1     Q      0   0   -4   3       0   2   -3   1
                                    0    1   2   2    2       5   5              0      1   1   1    1       1   1
                                    -4   1   2   2    2       2   5              -4     1   1   2    2       2   1
                                    1    0   0   2    2       2   0              1      0   0   2    2       2   0
                                    2    0   0   0    0       0   2              2      0   0   0    0       0   4
                                    -2   0   0   0    0       0   2              -2     0   0   0    0       0   4


                                    a                     X                    Astart                    X
r の条件をチェック                          Q    0   0   -4   3       0   2   -3   1     Q      0   0   -4   3       0   2   -3   1
                                    0    1   1   1    1       1   1   1    0     0      1   2   2    2       5   5   5    0

→ Update 関数                         -4
                                    1
                                         1
                                         0
                                             1
                                             0
                                                 2
                                                 2
                                                      2
                                                      2
                                                              2
                                                              2
                                                                  1
                                                                  0
                                                                      1
                                                                      0
                                                                           0
                                                                           2
                                                                                -4
                                                                                 1
                                                                                        1
                                                                                        0
                                                                                            2
                                                                                            0
                                                                                                3
                                                                                                3
                                                                                                     3
                                                                                                     3
                                                                                                             3
                                                                                                             3
                                                                                                                 5
                                                                                                                 0
                                                                                                                     5
                                                                                                                     0
                                                                                                                          0
                                                                                                                          8
                                    2    0   0   0    0       0   1   1    2     2      0   0   0    0       0   6   6    8
                                    -2   0   0   0    0       0   1   1    1    -2      0   0   0    0       0   6   6    6

ResetB 関数の実行                        s                     X                    Bstart                    X
                                    Q    0   0   -4   3       0   2   -3   1     Q      0   0   -4   3       0   2   -3   1
                                    0    1   2   2    2       5   5              0      1   1   1    1       1   1   1    0
                                    -4   1   2   2    2       2   5              -4     1   1   2    2       2   1   1    0
                                    1    0   0   2    2       2   0              1      0   0   2    2       2   0   0    3
                                    2    0   0   0    0       0   6              2      0   0   0    0       0   4   4    3
                                    -2   0   0   0    0       0   6              -2     0   0   0    0       0   4   4    4

                                                      14
論文の実験
音楽データ:5643 MIDI ファイル(様々なジャンル)
人工クエリ:音楽データの一部をとったもの 6 セット
            (1セット = 100 個)、任意の長さ
歌声のクエリ:100個の歌声、任意の長さ

              Q0 , Q.10 , Q.20 , Q.30 , Q.40 , Q.50
              Qx ⇔ x × noise
              |Q|min = 13, |Q|max = 137

              |Qhum |min = 14, |Qhum |max = 76


手法 :SMBGT (Subsequence Matching with Bounded Gaps and
       Tolerances


                                       15
音高の表現

     周波数 (frequency) は音高を表すが
人間が聞いた2倍高い音高 ≠ 周波数が2倍
人間が聞いた2倍高い音高 = 周波数の対数が2倍

MIDI データにおいて、音高 → semitone

                       f requency
  semitone = 12 × log2            + 69
                           440


人間が聞いた2倍の音高 = 2倍の semitone

    実験では音高を semitone に変換



                   16
論文の実験結果(1/2)

人工クエリを用いた実験            歌声クエリを用いた実験




              K = 20
                17
論文の実験結果(2/2)

歌声クエリを用いた実験結果(様々な K)




         18
音楽・クエリの性質を考える
実際に、音楽データと歌声を比較すると.




        周波数の時系列




       semitone の時系列
            19
音楽・クエリの性質を考える
が、実験で用いた相対音高の時系列は、




         相対音高の時系列

落とされた情報が多い.これは、良くないのでは?




               20
音楽・クエリの性質を考える
平均値との差         元々の時系列の要素をその
               列の平均値や中央値と差を
               とり、一致させたもの


               グレイ:対応する音楽
                   データの列
中央値との差         その他:対応する音楽
                   データと同じも
                   のを歌ったいく
                   つかの歌声




          21
発表者の実験
平均値との差・中央値との差で一致させたものを
•編集距離
•動的時間伸縮法 (DTW)
で比較

データセット:
→MIREX (the Music Information Retrieval Evaluation eXchange) - 年に一回
 の音楽情報検索に関する評価のための会 - からのMIR-QBSH-Corpus
音楽データ:48個、クエリ:2003年のデータセット(655個)
処理:音楽データ・クエリに下記の前処理を加えた
•平均値との差をとった •vocaloid にかけたもの
•中央値との差をとった •最低の音高との差
存続時間は音高ごとに 0.01 秒とした

                                 22
発表者の実験
評価方法
再現率:何%のクエリの正解結果がトップ K 個に入ったか

MRR (Mean Reciprocal Rank):ランクの平均逆数
                           N
                           1
                        1
                 M RR =
                        N n=1 rankn
                                                           様々な前処理で行った結果
1.000
0.875
0.750
0.625
0.500
0.375
0.250
0.125
   0
        最低音との差 [ED] 最低音との差 [DTW]   Vocaloid [ED]   Vocaloid [DTW]   平均値との差 [ED] 平均値との差 [DTW] 中央値との差 [ED] 中央値との差 [DTW]



                                                           MRR               K=10 の再現率

平均値との差で、編集距離も DTW も K=10 で 0.9098 の再現率
→前処理が重要なのではないか
                                                                     23
発表者の実験

同じ音楽データの部分の歌声はどの程度違うか?
クエリのデータセット→ 50% ターゲットとし、50% 検索クエリとした

                               様々な前処理で行った歌声-歌声の結果
 1.000

 0.875

 0.750

 0.625

 0.500

 0.375

 0.250

 0.125

    0
         最低音との差 [ED]   最低音との差 [DTW]   平均値との差 [ED]    平均値との差 [DTW]   中央値との差 [ED]   中央値との差 [DTW]



                                      MRR           K=10 の再現率

平均値との差、K=10 で、編集距離は 0.9874 の再現率
→ 同じ音楽データの部分の歌声はそれほど違わないのではないか


                                            24
結論


•SMBGT はクエリがデータベースにある音楽データのどの部分と類似
するかを見つけることに有効性が表れた

•その場合、編集距離や DTW よりも高い評価値が得られた

•予め音楽データのどの部分をクエリが歌っているかが分かっている
場合、発表者の実験よりクエリの前処理が必要である




                 25
発表者の今後の研究方針


紹介した論文の提案手法と発表者が行った実験より、
•論文の提案手法は歌声の横軸のずれと伸縮のずれに対応
•発表者の実験は歌声縦軸のずれに対応

上記の知見より、
•SMBGT の考え方でクエリのエラーに対応したい
•が、その前にクエリの前処理を加える
これの実装をする価値があると考えている




                26

More Related Content

PDF
演習発表 Sari v.1.2
PPTX
yyoshida thesis
PDF
A summary on “On choosing and bounding probability metrics”
PDF
「統計的学習理論」第1章
PDF
Recent Advances on Transfer Learning and Related Topics Ver.2
PDF
Topic model
PDF
演習発表 Sari v.1.0
PDF
Deep learning _linear_algebra___probablity___information
演習発表 Sari v.1.2
yyoshida thesis
A summary on “On choosing and bounding probability metrics”
「統計的学習理論」第1章
Recent Advances on Transfer Learning and Related Topics Ver.2
Topic model
演習発表 Sari v.1.0
Deep learning _linear_algebra___probablity___information

What's hot (20)

PDF
ウェーブレット木の世界
PDF
Aishima140714
PDF
4thNLPDL
PPT
Information extraction 1
PDF
Sparse estimation tutorial 2014
PDF
Jokyonokai
PDF
若手研究者のための招待講演会
PDF
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
PDF
SGD+α: 確率的勾配降下法の現在と未来
PDF
情報検索の基礎(11章)
PPTX
Information retrieval model
PDF
パターン認識第9章 学習ベクトル量子化
PDF
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
PDF
Icml2011 reading-sage
PDF
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
PDF
第8章 ガウス過程回帰による異常検知
PDF
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
PDF
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)
PDF
Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)
PDF
Shunsuke Horii
ウェーブレット木の世界
Aishima140714
4thNLPDL
Information extraction 1
Sparse estimation tutorial 2014
Jokyonokai
若手研究者のための招待講演会
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
SGD+α: 確率的勾配降下法の現在と未来
情報検索の基礎(11章)
Information retrieval model
パターン認識第9章 学習ベクトル量子化
[DL輪読会]Convolutional Conditional Neural Processesと Neural Processes Familyの紹介
Icml2011 reading-sage
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
第8章 ガウス過程回帰による異常検知
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
統計的学習理論チュートリアル: 基礎から応用まで (Ibis2012)
Word Sense Induction & Disambiguaon Using Hierarchical Random Graphs (EMNLP2010)
Shunsuke Horii
Ad

Similar to 演習発表 Sari v.1.1 (20)

PPTX
Ym20121122
PDF
Ibisml2011 06-20
KEY
Algebraic DP: 動的計画法を書きやすく
PDF
パターン認識と機械学習 13章 系列データ
ODP
卒業論文発表スライド 分割統治法の拡張
PDF
Icp3.2 takmin
PDF
SMO徹底入門 - SVMをちゃんと実装する
PDF
Sec15 dynamic programming
PDF
DDPC 2016 予選 解説
PDF
2011建築研究賞_最適化手法を用いた建物の同定問題_08N1002青山仁美/08N1038小祝碧_吉田研
PDF
PFI Christmas seminar 2009
PPTX
Coreset+SVM (論文紹介)
PDF
Unified Expectation Maximization
PDF
R language definition3.1_3.2
PDF
生物統計特論3資料 2006 ギブス MCMC isseing333
PDF
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
PDF
SIGIR2012勉強会 23 Learning to Rank
PDF
Datamining 4th adaboost
PDF
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
PDF
NLP2012
Ym20121122
Ibisml2011 06-20
Algebraic DP: 動的計画法を書きやすく
パターン認識と機械学習 13章 系列データ
卒業論文発表スライド 分割統治法の拡張
Icp3.2 takmin
SMO徹底入門 - SVMをちゃんと実装する
Sec15 dynamic programming
DDPC 2016 予選 解説
2011建築研究賞_最適化手法を用いた建物の同定問題_08N1002青山仁美/08N1038小祝碧_吉田研
PFI Christmas seminar 2009
Coreset+SVM (論文紹介)
Unified Expectation Maximization
R language definition3.1_3.2
生物統計特論3資料 2006 ギブス MCMC isseing333
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
SIGIR2012勉強会 23 Learning to Rank
Datamining 4th adaboost
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
NLP2012
Ad

More from Lutfiana Ariestien (6)

PDF
PPT
PDF
PPT
論文の紹介A comparative evaluation for qbh
PPT
論文の紹介A comparative evaluation for qb h
論文の紹介A comparative evaluation for qbh
論文の紹介A comparative evaluation for qb h

演習発表 Sari v.1.1