TOPNetwork > ベクトル類似性検索とは(前)

Network

ベクトル類似性検索とは(前)

2021/10/19

Martin Heller InfoWorld

 potifyなどのような音楽サービスには、自分の好きな曲と似た曲をレコメンドしてくれる機能がある。同じような機能を自分で実装するには、どうすればよいだろうか。方法の1つは、個々の楽曲が持つ特徴をいくつかの切り口で数値化し、それぞれの特徴値を組み合わせた「ベクトル」を作成して、データベースにインデックス化して保存しておくというものだ。そのデータベースを検索すれば、目的の曲を表すベクトルと「類似度」が高い曲を見つけ出すことができる。こうして、ベクトル類似性検索を実現できる。

ベクトル類似性検索の主な構成要素

Credit: kohb / Getty Images
Credit: kohb / Getty Images

 一般に、ベクトル類似性検索の主な構成要素は4つある。対象のオブジェクト(テキスト、画像、音楽など)から重要な特徴を抽出してベクトル化する「ベクトル埋め込み」、ベクトル同士の近さを測る「距離測定」、ベクトルを探索する「アルゴリズム」、ベクトルをインデックス化して保存しておく「データベース」である。

ベクトル埋め込み

 ベクトル埋め込みとは、機械学習やディープラーニングの分野で言う特徴ベクトルを作成することである。それには、特徴量エンジニアリングを自分の手で行うか、またはモデルの出力を使用する。

 対象がテキストの場合、単語埋め込み(特徴ベクトル)で用いられる手法には、ニューラルネットワーク、単語共起行列の次元削減、確率モデルなどがある。単語埋め込みのトレーニングや使用に関連する主なモデルには、word2vec(Google)、GloVe(スタンフォード大学)、ELMo(アレン研究所/ワシントン大学)、BERT(Google)、fastText(Facebook)などがある。

↑ページ先頭へ