Slide 1

Slide 1 text

ベクトル変換とはどういうことか テキストをベクトルに変換するとはどういうことか? どのようにしてテキストの意味を数学的に表現するのか? 1

Slide 2

Slide 2 text

テキストを数値にする?最初の疑問 テキストは単なる文字列なのに、なぜベクトルにできるのか? 「犬」と「猫」が似ていると機械はどうやって理解するのか? 2

Slide 3

Slide 3 text

ベクトルの基本概念 ベクトルは方向と大きさを持つ数値の集合 数値の並び(ベクトル)で単語や文章を表現できる 意味が近いものは近い位置に配置される(埋め込み空間) 3

Slide 4

Slide 4 text

埋め込みモデル(Embedding Model) とは? 大量のテキストデータを学習して単語の関係性を学ぶ 「犬」と「猫」は近いベクトルに、「犬」と「車」は遠いベクトル に 機械学習のモデルを使ってこの関係性を数値化 モデルは学習時にベクトルの調整を行い、意味の近さを最適化する 4

Slide 5

Slide 5 text

ベクトル化のプロセス ベクトル化の3つのステップ テキストの前処理(クリーニング) 単語や文章をベクトルに変換 モデルによるベクトルの調整 5

Slide 6

Slide 6 text

テキストの前処理(クリーニング) 例:「私は犬が好きです!」 → 「犬 好き」 不要な記号やストップワード(「私は」「です」など)を削除 単語を解析して意味のある単語を抽出 クリーニングにも様々な手法が存在する 6

Slide 7

Slide 7 text

単語や文章をベクトルに変換 例:「犬」は [0.12, -0.43, 0.76, ...]、「猫」は [0.11, -0.40, 0.78, ...] 事前学習された埋め込みモデルを利用してベクトルに変換 文章全体をまとめる場合は、単語ベクトルの平均を取る 7

Slide 8

Slide 8 text

モデルによるベクトルの調整 埋め込みモデルは、学習時に単語の意味的な近さを調整する 例えば、「犬」と「猫」は同じ文脈で使われることが多いため、類 似度が高くなるように調整される ベクトルの方向と長さを変えることで、適切な位置に配置 8

Slide 9

Slide 9 text

ベクトル空間の可視化 埋め込み空間のイメージ(2次元) (犬)● (猫)● (車)● 犬と猫は近く、車は遠い位置にプロットされる 高次元ではこれが数百〜数千の軸で表現される 次元圧縮(PCA, t-SNE など)で2D/3Dに変換可能 9

Slide 10

Slide 10 text

ベクトルの次元数の影響 次元が多いと細かいニュアンスを表現可能 次元が少ないと計算が高速で、ストレージの負担が軽い 一般的な埋め込みモデル:1536次元(OpenAI text-embedding-ada-002 ) 10

Slide 11

Slide 11 text

実際にベクトル化してみる(Python) import openai openai.api_key = "your_api_key" text = "犬はペットとして人気です。" embedding = openai.Embedding.create(input=text, model="text-embedding-ada-002") print(embedding['data'][0]['embedding']) この出力が「犬はペットとして人気です。」のベクトル表現 11

Slide 12

Slide 12 text

ベクトル検索とは? クエリをベクトル化して類似ベクトルを検索 コサイン類似度を使って近いものを見つける Google検索のように、意味ベースの検索が可能 12

Slide 13

Slide 13 text

RAG(Retrieval-Augmented Generation)の関係 検索部分でベクトル化したドキュメントを活用 ユーザーのクエリをベクトル化し、類似文書を検索 検索結果をLLMに渡して回答を生成 13

Slide 14

Slide 14 text

まとめ ベクトル変換はテキストを数値で表す手法 埋め込みモデルを使って意味の近さを学習し、ベクトルを調整 ベクトル化により、検索やRAGのような技術が可能になる 14