AI用語集・ディープラーニングの応用例

ワンホットベクトルとは

わんほっとべくとるone-hot vector

別名:one-hotベクトル、ワンホット表現、one-hot表現

  • シラバス 技術27
  • ◯×チェック3問
  • 練習問題3問

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

1行定義

ワンホットベクトルとは、語彙やカテゴリの数だけ次元をもち、該当する1つの要素だけが1で、残りの要素がすべて0のベクトルのことです。

くわしく

ワンホットベクトルは、ものの種類を数値で表すときの最も素朴な方法です。「ワンホット(one-hot)」は、1か所だけが「点灯している」という意味です。

作り方

自然言語処理では、まず扱う単語の一覧(語彙)を決め、各単語に番号を振ります。語彙が「犬・猫・車」の3語なら、犬は(1, 0, 0)、猫は(0, 1, 0)、車は(0, 0, 1)と表します。次元数は語彙の数と同じで、各ベクトルで1になる要素は1つだけです。

自然言語処理以外でも使います。表形式のデータで「都道府県」のようなカテゴリの列を数値に変えるときや、分類問題の正解ラベルを表すときです。分類では、正解ラベルのワンホットベクトルと、ソフトマックス関数の出力から交差エントロピーを計算します。

弱点

  • 高次元で疎:語彙が数万語あれば、数万次元のベクトルになります。要素のほとんどが0で、記憶や計算の効率がよくありません。
  • 意味の近さを表せない:異なる単語のベクトルは互いに直交します。そのため、「犬」と「猫」の近さも、「犬」と「車」の近さも同じになります。

分散表現との関係

これらの弱点を補うのが、単語を数百次元ほどの密なベクトルで表す分散表現(単語埋め込み)です。word2vecなどは、意味の似た単語が近いベクトルになるように学習します。

ただし、ワンホットベクトルが不要になったわけではありません。ニューラルネットワークでは、ワンホットベクトルに埋め込みの重み行列を掛けると、その単語に対応する行が取り出されます。つまり、分散表現へ変換する入口の役割をもちます。また、文書に含まれる単語のワンホットベクトルを足し合わせると、出現回数を数えたBoWの表現になります。

覚え方

「1か所だけ点灯、残りは消灯」と覚えます。

G検定での出題

出題のされ方

語彙の数と次元数の関係、疎で高次元になる点、どの2語も直交して意味の近さを表せない点、分散表現(単語埋め込み)との違いや変換の関係が問われます。

混同しやすい用語

用語意味
ワンホットベクトルこのページの用語語彙やカテゴリの数だけ次元をもち、該当する1つの要素だけが1で、残りの要素がすべて0のベクトル
分散表現単語などの意味を、多数の要素に情報を分散させた数百次元程度の実数ベクトルで表す表現方法

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. 語彙が5万語のとき、各単語のワンホットベクトルは5万次元になり、0でない要素は1つだけになる。

    答えを見る

    答え ◯ 正しい

    次元数は語彙の数と同じです。ほとんどの要素が0の疎なベクトルになり、語彙が増えるほど次元も増えます。

  2. ワンホットベクトルでは、文書中での単語の出現回数を各要素に入れるため、よく使われる単語ほど大きな値をもつ。

    答えを見る

    答え × 誤り

    ワンホットベクトルの要素は0か1だけで、頻度は反映しません。文書中の単語のワンホットベクトルを足し合わせて出現回数を数えると、BoWの表現になります。

  3. 単語のワンホットベクトルに単語埋め込みの重み行列を掛けると、その単語に対応する埋め込みベクトルだけが取り出される。

    答えを見る

    答え ◯ 正しい

    1の位置に対応する行(行列の向きによっては列)だけが残るためです。実際の実装では、掛け算をせずにその行を直接取り出して計算を省きます。

この用語の練習問題

3問
  1. #0356正解以外の確率と損失の関係難易度 標準・単一選択未回答
  2. #0068単語の分散表現の手法難易度 標準・単一選択未回答
  3. #0407埋め込み行列による単語の変換難易度 基礎・単一選択未回答

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術27

誤りを報告

表示設定

テーマ
文字の大きさ
問題演習