【AI入門その8】単語をベクトル化するとはどういうことか

この記事では、AIが言葉を処理する基礎技術である単語のベクトル化(Word Embedding)を解説します。
LLMがなぜ言葉の意味を扱えるのかの土台が理解できます。

目次

コンピュータはなぜそのまま言葉を扱えないか

テキストを数値に変換する工程が言語AIの出発点です。

テキストを数値に変換する必要性

コンピュータは本質的に数値計算しか行えません。画像はピクセルの数値配列、音声は波形の数値データとして表現できますが、テキストは「文字」という記号であるため、そのままではコンピュータが処理できません。

そのため、言語AI・NLPの最初の工程は必ず「テキストを数値に変換する」ことになります。この変換をどう行うかが、AIが言葉の意味をどれほど深く理解できるかを大きく左右します。変換方法の進化の歴史が、そのままNLPの発展の歴史といえます。

One-hotエンコーディングの限界

最もシンプルな変換方法がOne-hotエンコーディングです。語彙(単語の全集合)の総数を次元数とするベクトルを用意し、対象の単語の位置だけを1、それ以外をすべて0にする方法です。語彙数が10,000語なら10,000次元のベクトルになります。

この方法の根本的な問題は、単語間の意味的な関係が一切表現できない点です。「犬」と「猫」はどちらも動物であるにもかかわらず、One-hotベクトルで見ると「犬」と「岩石」と同じだけ離れています。また、語彙数が増えると次元数が膨大になり、ほとんどの値がゼロになる「スパース(疎)な」表現になるため、計算効率も悪くなります。

Word Embeddingとは何か

意味が近い単語を空間上でも近くに配置するのがEmbeddingです。

意味を空間上の位置で表現する

こうした限界を克服したのがWord Embedding(単語埋め込み)です。代表的な手法は2013年にGoogleが発表したWord2Vecで、各単語を100〜300次元程度の連続値ベクトルで表現します。「意味が似た単語はベクトル空間上でも近くに位置する」という性質を持つのが特徴です。

Word2Vecの学習原理は「周辺語の類似性」です。大量のテキストデータを読み込み、「似た文脈で使われる単語は似た意味を持つ」という仮定のもと、周辺に出現しやすい単語同士が近いベクトルを持つように重みを学習します。その結果、「犬」と「猫」は近く、「犬」と「自動車」は遠い位置に配置されます。

ベクトルで「意味の演算」ができる

Word Embeddingの最も驚くべき性質は、意味的な演算が可能なことです。有名な例として「王のベクトル」から「男のベクトル」を引き、「女のベクトル」を加えると、結果が「女王のベクトル」に近くなることが知られています。

この「王 − 男 + 女 ≒ 女王」という演算は、ベクトル空間に「性別」や「地位」といった概念が幾何学的な方向として埋め込まれていることを示しています。単語を数値化するだけでなく、その数値の中に意味的な構造が保存されるという点が、Word Embeddingを革新的にした特性です。

現代のLLMへの発展 ― 文脈によって変わるEmbedding

Word2Vecでは1つの単語に1つの固定ベクトルが割り当てられます。しかし「銀行」という単語は「川の銀行(土手)」と「金融機関の銀行」で異なる意味を持ちます。固定ベクトルではこの多義性を表現できません。

この課題を解決したのが文脈埋め込み(Contextual Embedding)です。BERTやGPTなどの大規模言語モデルは、同じ単語でも文章の文脈に応じて異なるベクトルを動的に生成します。Transformerの仕組みにより、単語の周囲の文脈全体を考慮したEmbeddingが計算されるため、多義的な単語も正確に表現できます。これが現代のLLMが高い言語理解性能を発揮できる技術的な根拠のひとつです。

Embeddingの実用的な応用

Embeddingはビジネスの幅広い課題に応用されています。

ベクトル検索と意味的な情報検索

従来のキーワード検索は、入力された単語と完全一致する文書だけを返します。「コスト削減の方法」と検索しても、「費用を抑えるアプローチ」という表現を使った文書はヒットしません。ベクトル検索では文書と検索クエリの両方をEmbeddingに変換し、ベクトル空間上の距離(コサイン類似度)で意味的な近さを計算するため、表現が異なっても関連文書を発見できます。

社内文書検索・FAQ検索・製品検索などで大きな改善効果が期待できます。生成されたEmbeddingはPinecone・Weaviate・Chromaといったベクトルデータベースに格納し、大量文書からでもミリ秒単位で類似文書を高速検索する仕組みが実現できます。

このベクトル検索は、RAG(検索拡張生成)の中核技術でもあります。ユーザーの質問をベクトル化して関連文書を検索し、その内容をLLMへの入力(コンテキスト)として渡すことで、LLMが学習していない最新情報や社内情報に基づく回答生成が可能になります。

レコメンドエンジンへの応用

ECサイト・動画配信・音楽サービスのレコメンドエンジンでも、Embeddingは中心的な役割を担っています。商品の説明文・タグ・ユーザーレビューをEmbeddingに変換し、ユーザーの過去の購入・閲覧履歴もベクトル化することで、「このユーザーが好みそうな商品」を数学的に計算できます。

コサイン類似度でユーザーベクトルと商品ベクトルの距離を測り、最も近い商品を推薦します。新着商品も説明文からすぐにEmbeddingを生成できるため、購入履歴データが存在しない新商品でも推薦対象にできる(コールドスタート問題の緩和)メリットがあります。

従来の協調フィルタリング(「あなたと似た嗜好の人はこれも買いました」という手法)と組み合わせることで、精度と多様性のバランスが取れたレコメンドシステムを構築できます。

異常検知とテキスト分類

問い合わせや社内メールのテキストをEmbeddingに変換してベクトル空間上にプロットすると、似た内容のものはクラスター(集まり)を形成します。この性質を利用して、自動的な文書分類が可能です。ラベル付きデータがなくてもクラスタリングでカテゴリを自動発見し、問い合わせの自動振り分けに活用できます。

また、通常パターンのEmbeddingから大きく離れたベクトルを持つ文書を異常として検出する手法も有効です。契約書の中で標準条項から逸脱した異常条項を自動検出したり、取引記録の中に不正な取引パターンを発見したりする用途に応用されています。

この手法の強みは半教師あり学習への応用です。「正常」なデータだけを学習させ、そこから外れるものを異常と判定するため、不正事例のような「異常データが少なく集めにくい」課題に特に有効です。

まとめ

この記事では、単語のベクトル化(Word Embedding)の仕組みと実用的な応用例を解説しました。

  • コンピュータはテキストを直接扱えないため、単語を数値ベクトルに変換する必要がある
  • Word Embeddingは意味が近い単語を空間上でも近くに配置し、意味の演算が可能にする
  • 現代のLLMでは文脈によって動的に変わる文脈埋め込みが使われ、多義的な言葉も正確に表現できる
  • ベクトル検索・レコメンド・異常検知など、ビジネスの幅広い課題に応用されている

これらを理解することで、ベクトル検索やRAGといった技術の提案を受けた際に、仕組みと効果を正確に評価できるようになります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次