まさに「日進月歩」と呼ぶにふさわしい進化を遂げる人工知能。そんな人工知能について、メルマガ『週刊 Life is beautiful』にこれまでもたびたび詳しい解説を掲載してきた世界的エンジニアの中島聡さんが、その最低限の用語・コンセプトを説明する新連載「人工知能入門」を、5月14日配信号よりスタートさせました。今回は「Text Embedding」を徹底解説した連載第1回の全文を掲載。中島さん曰く「魔法のような技術」を、初心者にも分かりやすくレクチャーしています。
※本記事のタイトルはMAG2NEWS編集部によるものです/原題:人工知能入門:Text Embedding、「似ている言葉」の話
プロフィール:中島聡(なかじま・さとし)
ブロガー/起業家/ソフトウェア・エンジニア、工学修士(早稲田大学)/MBA(ワシントン大学)。NTT通信研究所/マイクロソフト日本法人/マイクロソフト本社勤務後、ソフトウェアベンチャーUIEvolution Inc.を米国シアトルで起業。現在は neu.Pen LLCでiPhone/iPadアプリの開発。
人工知能入門:Text Embedding、「似ている言葉」の話
先週、思いついたのですが、ここで「人工知能入門」を連載することにしました。このメルマガには、最近人工知能に関する記事を書くことが増えましたが、時々、その場では説明しきれない用語やコンセプトが出てきてしまうので、一度、一通り、最低限の用語・コンセプトを説明しておこうと考えたのです。
今日のテーマは、ChatGPTで使われているLLM(大規模言語モデル)の基礎となる技術、Text Embeddingについて解説します。自然言語(人間の話す言葉)を扱う上で、「どの言葉がどの言葉に似ているか」を判断する際に使われる仕組みです。
私たちは、毎日のように「あの人は、芸能人の誰々さんに似ている」「このラーメンのスープって、中華三昧のスープに似ている」のように、何かと何かを比較して、「似ている」とか「似ていない」と評価しています。私たちの脳は、そんな判断を瞬時にする能力を持っていますが、実際に「どう似ているか」を説明するのは簡単ではありません。突き詰めれば、「目元が似ている」「雰囲気が似ている」、「出汁に鰹節を使っている」などの言葉が出てくることもありますが、実際のところは、とても曖昧で説明が付きにくい比較を私たちの脳はしています。
一方のコンピュータは、そんな曖昧な比較が不得意です。なんでも数値化し、数字を使ってしか評価が出来ません。
分かりやすい例が「色」です。私たちは、色を見ただけで、二つの色が似ているかどうかを瞬時に判断できます。しかし、コンピュータにはそんな器用なことが出来ません。数値化した上で、比較する必要があるのです。
色の数値化には二つの方法がありますが(「赤・緑・青」の色の三原色に分解する方法と、「色相・彩度・明度」の三つの色属性に分ける方法)、ここでは、分かりやすい「赤・緑・青」を使って説明します。
それぞれの色の強さを、0.00から1.00の間の数字で表すと、虹の7色は以下のように表現できます。
- 赤:(1.00, 0.00, 0.00)
- 橙:(1.00, 0.64, 0.00)
- 黄:(1.00, 1.00, 0.00)
- 緑:(0.00, 0.50, 0.00)
- 青:(0.00, 1.00, 1.00)
- 藍:(0.00, 0.00, 1.00)
- 紫:(0.50, 0.00, 0.50)
この例のように、複数の数字から作られたデータのことを「ベクトル」もしくは「ベクター」と呼びます(同義語で、ベクトルはドイツ語のVektor、ベクターは英語のVectorをローマ字にしたものです)。数字の数を「次数」と呼び、このケースでは、「色は『3次ベクトル』で表現可能である」のように言います。
この記事の著者・中島聡さんのメルマガ