音楽検索はどのように機能しますか? Yandexでの講義

通常、音楽検索は、音楽のテキストリクエストに応答する機能として理解されます。 たとえば、検索では、「金曜日」が必ずしも曜日とは限らないことを理解するか、「甘いオレンジが欲しい」という言葉で歌を見つける必要があります。 しかし、音楽検索のタスクはこれに限定されません。 ユーザーが歌った曲、またはカフェで演奏する曲を認識する必要がある場合があります。 また、ユーザーの音楽を好みに合わせて推薦するために、作曲の共通点を見つけることもできます。 Elena KornilinaとYevgeny Croftoは、これを行う方法と、Small ShADの生徒にとってこれがどのような困難を伴うかについて語りました。













テキスト音楽検索はどのように機能しますか?



いくつかのレポートによると、現在世界には約3000万の異なる音楽トラックが蓄積されています。 これらのデータは、これらのトラックがリストおよびカタログされているさまざまなデータベースから取得されます。 音楽検索を使用すると、アーティスト、アルバム、トラックなどの身近なオブジェクトとやり取りできます。 まず、検索で音楽クエリと非音楽クエリを区別する方法を見つけます。 まず最初に、もちろん、リクエスト内のキーワードによって。 音楽性のマーカーは、音楽を探していることを明確に示す言葉(「聞く」、「歌を歌う人」など)、またはよりぼやけた「ダウンロード」、「オンライン」のいずれかです。 この場合、一見非常に単純なケースでは、リクエストにトラック、アーティスト、またはアルバムの名前の一部が含まれていると、あいまいさに関連する問題が発生する可能性があります。



たとえば、5人の国内パフォーマーの名前を見てみましょう。



ユーザーがそのようなリクエストを求めた場合、自分が正確に見つけたいものをすぐに理解するのはそれほど簡単ではありません。 したがって、これまたはそのユーザーの意図の確率が評価され、いくつかの垂直検索の結果が問題のページに表示されます。



一方、パフォーマーは、タイトル、トラック、アルバム名の単語を歪曲することを非常に好みます。 このため、検索で使用される多くの言語拡張機能は単純に失敗します。 例:



さらに、類似または同一の名前を持つ多くのアーティストがいます。 [aguilera]で検索が行われたとします。 一見、すべてが明確で、ユーザーはクリスティーナ・アギレラを探しています。 しかし、ユーザーがまったく別のアーティストであるPaco Aguileraを必要とする可能性がまだあります。







2人以上のパフォーマーが共同演奏する状況は非常に一般的です。 たとえば、「忘れるのを忘れない」という歌は、シャキーラとリアーナの2人のパフォーマーに一度に帰属することができます。 したがって、データベースは、共同出演者を追加する可能性を提供する必要があります。



別の機能は地域性です。 地域によっては、同じ名前のアーティストがいる場合があります。 したがって、リクエストがどの地域から来たのかを検討し、この地域で最も人気のあるアーティストの検索結果を発行する必要があります。 たとえば、ロシアとトルコの両方にザラという名前のパフォーマーがいます。 同時に、彼らの聴衆は事実上重複しません。



トラックの名前も、すべてがとてもシンプルです。 あるアーティストが別のアーティストの曲の解釈を録音する場合、カバーバージョンは非常に一般的です。 同時に、カバーバージョンはオリジナルよりも人気があるかもしれません。 たとえば、ほとんどの場合、[夜の夜]のリクエストに応じて、Zdob si Zdubグループのバージョンは、Kinoグループの元のトラックよりも関連性が高くなります。 リミックスの状況も同様です。



テキストからの引用によってトラックを見つけることができることは非常に重要です。 多くの場合、ユーザーはトラックの名前やアーティストの名前を覚えていないか、または知らないことがありますが、曲の一部の行だけです。 ただし、いくつかの一般的なフレーズは多くのトラックですぐに発生する可能性があることに留意してください。



この問題を解決するには、いくつかの方法を一度に使用します。 まず、ユーザーのクエリ履歴が考慮され、そのジャンルとパフォーマーには依存症があります。 次に、トラックとパフォーマーの人気が重要な役割を果たします。検索で特定のリンクをクリックする頻度、トラックを聴く時間です。



翻訳の難しさ



非常に多くの国で、演奏者と作曲家の名前のさまざまなスペルが修正されています。 したがって、ユーザーはこれらのオプションのいずれかを検索でき、異なるスペルがデータベースで見つかる可能性があることに留意する必要があります。 Pyotr Ilyich Tchaikovskyの名前には約140のスペルがあります。 それらのほんの一部を次に示します。



ところで、音楽検索で作業しなければならない主要なオブジェクトについて話したとき、作曲家については言及しませんでした。 ほとんどの場合、このオブジェクトは実際には重要な役割を果たしませんが、クラシック音楽の場合はそうではありません。 ここでは状況はほぼ逆であり、作品の作者に依存する必要があり、パフォーマーは二次オブジェクトですが、このオブジェクトを無視することも不可能です。 アルバムやトラックの名前にも独自の特徴があります。



オーディオ分析



音楽検索でのトラックと歌詞のメタデータに加えて、オーディオ信号を直接分析して取得したデータを使用できます。 これにより、いくつかの問題を一度に解決できます。



デジタルオーディオ信号は、音波の画像として表すことができます。







この画像の詳細を増やす場合、つまり タイムスケールでストレッチすると、遅かれ早かれ、等間隔のポイントが表示されます。 これらのポイントは、音波の振幅が測定される瞬間を表します。







ポイント間の間隔が狭いほど、信号のサンプリング周波数が高くなり、この方法でエンコードできる周波数範囲が広くなります。



振動の振幅は時間に依存し、音量と相関していることがわかります。 また、発振周波数は音のピッチに直接関係しています。 発振周波数に関する情報を取得する方法:信号を一時領域から周波数領域に変換しますか? ここで、 フーリエ変換が役立ちます。 異なる周波数の高調波の和の周期関数を分解できます。 用語の係数は、取得したい周波数を提供します。 ただし、時間成分を失わずに信号のスペクトルを取得する必要があります。 このために、 ウィンドウフーリエ変換が使用されます。 実際、オーディオ信号を短いセグメント(フレーム)に分割し、単一のスペクトルではなく、フレームごとにスペクトルのセットを取得します。 それらをまとめると、次のようになります。







時間は水平軸に表示され、周波​​数は垂直軸に表示されます。 振幅は色で強調表示されています。 特定の時間および特定の周波数層における信号電力の量。



標識の分類



このようなスペクトログラムは、音楽検索で使用されるほとんどの分析方法で使用されます。 先に進む前に、スペクトログラムのどの兆候が役に立つかを理解する必要があります。 症状を分類するには2つの方法があります。 まず、時間スケールで:



次に、機能はプレゼンテーションレベルで分類できます。 高レベルの抽象化と概念がこれらの属性をどのように説明するか。



最後まで講義を見て、これらの兆候が音楽検索の問題を解決するのにどのように役立つか、コンピュータービジョンと機械学習がそれとどう関係するかを正確に知ることができます。



All Articles