Recommended
PDF
PDF
PDF
MapReduceによる大規模データ処理 at Yahoo! JAPAN
PDF
PDF
PPTX
Optimizing Search Engines using Clickthrough Data
PDF
PDF
PPT
PDF
PPTX
Technology k 12 in the classroom
PPTX
Technology K-12 in the Classroom
PDF
PPTX
Technology K - 12 in the classroom
PPTX
Technology K-12 in the classroom
PDF
PDF
PFI Christmas seminar 2009
PDF
PDF
PDF
PDF
PPTX
Approximate Scalable Bounded Space Sketch for Large Data NLP
PDF
PPTX
PPTX
PPTX
周波数双方向再帰に基づく深層パーミュテーション解決法
PDF
PPTX
Information retrieval model
PPTX
DTMでの音色検索を対象とした機械学習アルゴリズムの提案(for FIT2016)
PDF
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
More Related Content
PDF
PDF
PDF
MapReduceによる大規模データ処理 at Yahoo! JAPAN
PDF
PDF
PPTX
Optimizing Search Engines using Clickthrough Data
PDF
PDF
Viewers also liked
PPT
PDF
PPTX
Technology k 12 in the classroom
PPTX
Technology K-12 in the Classroom
PDF
PPTX
Technology K - 12 in the classroom
PPTX
Technology K-12 in the classroom
Similar to 演習発表 Sari v.1.0
PDF
PDF
PFI Christmas seminar 2009
PDF
PDF
PDF
PDF
PPTX
Approximate Scalable Bounded Space Sketch for Large Data NLP
PDF
PPTX
PPTX
PPTX
周波数双方向再帰に基づく深層パーミュテーション解決法
PDF
PPTX
Information retrieval model
PPTX
DTMでの音色検索を対象とした機械学習アルゴリズムの提案(for FIT2016)
PDF
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
PDF
PDF
PDF
WSDM2012読み会: Learning to Rank with Multi-Aspect Relevance for Vertical Search
PDF
Cvpr2011 reading-tsubosaka
PDF
演習発表 Sari v.1.0 1. [論文紹介]
A Subsequence Matching with Gaps-Range-
Tolerances Framework:
A Query-By-Humming Application
システム情報科学府 情報学専攻
修士1年 池田研究室
ルトフィアナ サリ アリスティン
2012 年 12 月 18 日 (火)
情報演習発表
1
2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 目的
黒色:MIDI データ
その他の色:実際の歌声
同じ曲を指す MIDI データ
といくつかのユーザの歌声
の比較
5
23. 目的
黒色:MIDI データ
その他の色:実際の歌声
同じ曲を指す MIDI データ
といくつかのユーザの歌声
の比較
問題点:ユーザが歌ったクエリは3つ種類のエラーあり
1. 縦軸のずれ(音高のエラー)
2. 横軸のずれ(音楽データのどの部分と一致するかが不明)
3. 伸縮のずれ(テンポが違う)
5
24. 目的
黒色:MIDI データ
その他の色:実際の歌声
同じ曲を指す MIDI データ
といくつかのユーザの歌声
の比較
問題点:ユーザが歌ったクエリは3つ種類のエラーあり
1. 縦軸のずれ(音高のエラー)
2. 横軸のずれ(音楽データのどの部分と一致するかが不明)
3. 伸縮のずれ(テンポが違う)
上記の問題の解決
5
25. 26. 論文紹介
[タイトル]
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
27. 28. 29. 30. 31. 32. 33. 関連研究
(+) クエリの不整合・伸縮対応
•動的時間伸縮 (DTW) (−) クエリとの比較が列全体
•編集距離 箇所ごとの比較を行いたい場合、
窓スライドの作成が必要
8
34. 関連研究
(+) クエリの不整合・伸縮対応
•動的時間伸縮 (DTW) (−) クエリとの比較が列全体
•編集距離 箇所ごとの比較を行いたい場合、
窓スライドの作成が必要
•最長共通部分列の (+) クエリにノイズ・ギャップ対応
アルゴリズム (LCSS) (−) |Q| << (X) → 偽陽性結果
のアプローチ ギャップの長さの制限がないため
8
35. 関連研究
(+) クエリの不整合・伸縮対応
•動的時間伸縮 (DTW) (−) クエリとの比較が列全体
•編集距離 箇所ごとの比較を行いたい場合、
窓スライドの作成が必要
•最長共通部分列の (+) クエリにノイズ・ギャップ対応
アルゴリズム (LCSS) (−) |Q| << (X) → 偽陽性結果
のアプローチ ギャップの長さの制限がないため
(+) クエリの特徴を考慮
•隠れマルコフモデル (−) 学習が必要
ベースの手法 全ジャンルの音楽をモデル化必要
あり、高い計算コスト
8
36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 問題定式化のための定義
定義 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
11
46. 問題定式化のための定義
音楽データ: X = {x1 , ..., xn }
音楽データの長さ :|X|
p
xj = x j , xr
j ∈ X
DB = {X1 , ..., XN }
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
11
47. 問題定式化のための定義
音楽データ: 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
11
48. 問題定式化のための定義
音楽データ: 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
49. 50. 問題定式化のための定義(例)
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}
12
51. 問題定式化のための定義(例)
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}
次のパラメータを設定する:
12
52. 問題定式化のための定義(例)
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
12
53. 問題定式化のための定義(例)
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}
12
54. 問題定式化のための定義(例)
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, }
12
55. 問題定式化のための定義(例)
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
56. 57. 提案手法: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
else
curi = propagation(i, j, Astart , Bstart )
end
end r
best = U pdate(j, cur)
cur = ResetB (j, cur, Astart , Bstart )
end
U pdatequeue (S, best, K)
end
end 13
58. 提案手法: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
else
curi = propagation(i, j, Astart , Bstart )
end
end r
best = U pdate(j, cur)
cur = ResetB (j, cur, Astart , Bstart )
end
U pdatequeue (S, best, K)
end
end 13
59. 提案手法: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
else
curi = propagation(i, j, Astart , Bstart )
end
end r
best = U pdate(j, cur)
cur = ResetB (j, cur, Astart , Bstart )
end
U pdatequeue (S, best, K)
end
end 13
60. 提案手法: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
else
curi = propagation(i, j, Astart , Bstart )
end
end r
best = U pdate(j, cur)
cur = ResetB (j, cur, Astart , Bstart )
end
U pdatequeue (S, best, K)
end
end 13
61. 提案手法: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 r
best = U pdate(j, cur)
cur = ResetB (j, cur, Astart , Bstart )
end
U pdatequeue (S, best, K)
end
end 13
62. 提案手法: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
U pdatequeue (S, best, K)
end
end 13
63. 提案手法: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
64. 65. 66. 提案手法の計算例
簡単にするため、音の存続時間を考慮しない例:
Q = {0, −4, 1, 2, −2}
X = {0, 0, −4, 3, 0, 2, −3, 1}
α = 2, β = 1, δ = 1, r = |Q| = 5
14
67. 提案手法の計算例
簡単にするため、音の存続時間を考慮しない例:
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
14
68. 提案手法の計算例
簡単にするため、音の存続時間を考慮しない例:
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
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
-4 1 1 2 2 2 1 1 0 -4 1 2 3 3 3 5 5 0
1 0 0 2 2 2 0 0 2 1 0 0 3 3 3 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
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
69. 提案手法の計算例
簡単にするため、音の存続時間を考慮しない例:
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
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
-4 1 1 2 2 2 1 1 0 -4 1 2 3 3 3 5 5 0
1 0 0 2 2 2 0 0 2 1 0 0 3 3 3 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
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
70. 提案手法の計算例
簡単にするため、音の存続時間を考慮しない例:
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
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
-4 1 1 2 2 2 1 1 0 -4 1 2 3 3 3 5 5 0
1 0 0 2 2 2 0 0 2 1 0 0 3 3 3 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
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
71. 提案手法の計算例
簡単にするため、音の存続時間を考慮しない例:
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
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
72. 提案手法の計算例
簡単にするため、音の存続時間を考慮しない例:
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
73. 74. 75. 76. 論文の実験
音楽データ: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
77. 78. 音高の表現
周波数 (frequency) は音高を表すが
人間が聞いた2倍高い音高 ≠ 周波数が2倍
人間が聞いた2倍高い音高 = 周波数の対数が2倍
16
79. 音高の表現
周波数 (frequency) は音高を表すが
人間が聞いた2倍高い音高 ≠ 周波数が2倍
人間が聞いた2倍高い音高 = 周波数の対数が2倍
MIDI データにおいて、音高 → semitone
16
80. 音高の表現
周波数 (frequency) は音高を表すが
人間が聞いた2倍高い音高 ≠ 周波数が2倍
人間が聞いた2倍高い音高 = 周波数の対数が2倍
MIDI データにおいて、音高 → semitone
f requency
semitone = 12 × log2 + 69
440
16
81. 音高の表現
周波数 (frequency) は音高を表すが
人間が聞いた2倍高い音高 ≠ 周波数が2倍
人間が聞いた2倍高い音高 = 周波数の対数が2倍
MIDI データにおいて、音高 → semitone
f requency
semitone = 12 × log2 + 69
440
人間が聞いた2倍の音高 = 2倍の semitone
16
82. 音高の表現
周波数 (frequency) は音高を表すが
人間が聞いた2倍高い音高 ≠ 周波数が2倍
人間が聞いた2倍高い音高 = 周波数の対数が2倍
MIDI データにおいて、音高 → semitone
f requency
semitone = 12 × log2 + 69
440
人間が聞いた2倍の音高 = 2倍の semitone
実験では音高を semitone に変換
16
83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 音楽・クエリの性質を考える
平均値との差 元々の時系列の要素をその
列の平均値や中央値と差を
とり、一致させたもの
グレイ:対応する音楽
データの列
中央値との差 その他:対応する音楽
データと同じも
のを歌ったいく
つかの歌声
21
98. 99. 100. 101. 102. 103. 104. 105. 発表者の実験
評価方法
再現率:何%のクエリの正解結果がトップ 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 の再現率
23
106. 発表者の実験
評価方法
再現率:何%のクエリの正解結果がトップ 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
107. 108. 109. 110. 発表者の実験
同じ音楽データの部分の歌声はどの程度違うか?
クエリのデータセット→ 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
111. 112.