全てまたはほとんどの成分が0以外の数値を持つベクトルを「密ベクトル」と呼び、その代表例にはテキストなどのEmbedding(埋め込み表現)がある。また、大部分の成分が0で、一部のみが0以外の数値を持つベクトルを「疎ベクトル」と呼び、その代表例にはテキスト文書のtf-idf値がある。
AI/データサイエンス/機械学習/自然言語処理の分野では、テキストや画像、ユーザー評価などのさまざまなデータを数値ベクトルで表現することがある。数値ベクトルとは、例えば[0.47, 0.10, 0.26, 0.89, -0.71, ...]や[0, 0, 1, 0, 0, ...]のように実数値が並べられた配列のことだ。
この表現方法には、主に「密(みつ)ベクトル」と「疎(そ)ベクトル」の2つの形式がある(図1)。本稿では、それぞれの特徴と違いについて解説する。
密なベクトル(Dense Vector)とは、全てまたはほとんどの要素(=成分)が0以外の実数値を持つ数値ベクトルを指す。例えば[0.47, 0.10, 0.26, 0.89, -0.71, ...]は密ベクトルである。自然言語処理の埋め込み表現(Embedding)も密ベクトルの一例だ。
以下に特徴と用例を箇条書きで示す。
特徴
用例
疎なベクトル(Sparse Vector)とは、大部分の要素(=成分)が0であり、少数の要素のみが0以外の実数値を持つ数値ベクトルを指す。例えば[0, 0, 1, 0, 0, ...]は疎ベクトルである。テキスト文書のtf-idf値やBM25スコア(後日解説予定)などが疎ベクトルの一例だ。
以下に特徴と用例を箇条書きで示す。
特徴
*1 現在(2024年2月執筆時点)では、「ベクトル検索」と言えば、一般的に密ベクトルである埋め込み表現を使った検索を指す。疎ベクトルも数値ベクトルなので、疎ベクトルを使った検索は「ベクトル検索」とも呼べるが、ここでは「基本的に従来のキーワード検索と同等の仕組み」という意味で「キーワード検索」の一種として表記した。
用例
Copyright© Digital Advantage Corp. All Rights Reserved.
Deep Insider 鬯ッ�ョ�ス�ォ�ス�ス�ス�ェ鬮ッ蛹コ�サ繧托スス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�コ鬮」蛹�スス�オ髫エ竏オ�コ�キ�ス�ク�ス�キ�ス�ス�ス�ケ髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�ウ鬯ゥ蟷「�ス�「�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ュ鬯ゥ蟷「�ス�「髫エ雜」�ス�「�ス�ス�ス�ス�ス�ス�ス�ウ鬯ゥ蟷「�ス�「�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ー