第15回産業日本語研究会講演・2024年・2月20日
オンラインwebinar会場

大規模言語モデルの持つ言語知識とコミュニケーション
青山学院大学名誉教授・近藤泰弘

内容

1. 生成AIの仕組み
2. 埋め込みベクトル
3. 単語ベクトル
4. 文ベクトル
5. 文ベクトルの応用

生成AIの仕組み
decoder のみの transformer
事前学習時

モデルの訓練生成時

CLM（次の単語を予測する）方法で学習する

テキストを「トークン」（単語）に分割し、これを位置などを配慮したベクトル（数値）に変換。

プロンプトが初期入力となり、次の単語を繰り返し予測生成する。

「吾輩は猫で」「ある」文脈を考慮（アテンション）しつつ、モデルに学習させる。結果はベクトル値としてネットワークの各層に保存される。

「吾輩は猫で」前の文脈だけを見て、次と合致するかで正解を決めて学習していく。

議題のページに戻る「あるは夏目漱石の作品として有名である。漱石は明治時代の文豪として、森鴎外などと並び称される。」

生成AIの仕組み

議題のページに戻る生成AIの仕組み

議題のページに戻る

生成AIの仕組み

議題のページに戻る

生成AIの仕組み

議題のページに戻る

生成AIの仕組み

In Context Learning( ICL) ゼロ・ショット

議題のページに戻る

生成AIの仕組み

議題のページに戻る

内容

1. 生成AIの仕組み
2. 埋め込みベクトル
3. 単語ベクトル
4. 文ベクトル
5. 文ベクトルの応用

埋め込みベクトルの考え方1
高い
山 [ 1
川 [ 0長い01

山 [101010]
川 [010101]（6次元の共起行列によるベクトル表現）

登る
10

流れる
01

頂上
10

橋0 ]
1 ]

丘 [101000 ]「川」より「山」に近い。
実質的に意味を示している。
議題のページに戻る

埋め込みベクトルの考え方２
Transformer による埋め込みベクトル

ニューラルネットワークの中に埋め込みベクトルを作成

BERT, GPT

Word2vec, FastText
100次元程度のベクトルで、前後に出現する他の単語との共起情報を用いて、それぞれの単語の意味を表現する。意味の加算、減算等が可能。

議題のページに戻る

数百から数千次元程度のベクトル。トランスフォーマアーキテクチャから、埋め込みベクトルを作成する。
それそれの単語ごとに与えられるベクトル値は、意味・統語情報・語用論など非常に多岐に渡る情報を持っている。

単語ベクトルと文ベクトル
単語ベクトル文ベクトル

各トークンそのものあるいは、その合成されたベクトル

文を構成するトークンのベクトルの平均値など

議題のページに戻る

ファインチューニングによる
文ベクトル
似たような文について同じ文ベクトルを返すように、ファインチューニングをする

OpenAIの提供する埋め込みベクトル

今回は、OpenAIの提供するtext-embedding-ada-002および最新のtext-embedding-3-largeというモデルを用いる。OpenAIのクラウドからAPIとしてアクセスできる。それぞれ1536次元及び3072次元のベクトルが得られる。GPT3あるいは3.5相当の数10～数100億パラメタモデルを利用しているものと思われる。実質的にChatGPTの意味辞書と等価であるとみなすことができる。30カ国語以上の言語で同時学習している。
議題のページに戻る

OpenAIの提供する埋め込みベクトル

OpenAIの埋め込みベクトル

embedding": [-0.0017322878120467067, -0.01955992728471756,
0.01636701636016369, 0.007083430420607328,
0.005423251539468765, 0.012832009233534336, -0.011832548305392265,-0.01664874516427517, -0.018594004213809967, -0.013361925259232521,
0.014354678802192211, 0.005547345615923405, -0.009840333834290504,
0.009766547940671444, -0.0065032062120735645, -0.01993556320667267,0.024657849222421646, -0.01984165422618389,, 0.011309340596199036, -0.0325193852186203, 0.017292693257331848,(以下略）
議題のページに戻る

OpenAIの提供する埋め込みベクトル

単語やセンテンス

OpenAIのクラウド(API)

text-embedding-ada-001
text-embedding-3-large

埋め込みベクトル

議題のページに戻る

OpenAIのAPI呼び出し
url = "https://api.openai.com/v1/embeddings"
headers = {"Content-Type": "application/json","Authorization": f"Bearer {openai.api_key}"}model_name = "text-embedding-3-large"
data = {"input" : sample_text,"model" : model_name,"dimensions" : 3072}
response = requests.post(url, headers=headers, json=data)
response_data = response.json()
議題のページに戻る

OpenAIの提供する埋め込みベクトル

OpenAIの埋め込みベクトル

embedding": [-0.0017322878120467067, -0.01955992728471756,
0.01636701636016369, 0.007083430420607328,
0.005423251539468765, 0.012832009233534336, -0.011832548305392265,-0.01664874516427517, -0.018594004213809967, -0.013361925259232521,
0.014354678802192211, 0.005547345615923405, -0.009840333834290504,
0.009766547940671444, -0.0065032062120735645, -0.01993556320667267,
0.024657849222421646, -0.01984165422618389,, 0.011309340596199036, -0.0325193852186203, 0.017292693257331848,(以下略）
議題のページに戻る

内容

1. 生成AIの仕組み
2. 埋め込みベクトル
3. 単語ベクトル
4. 文ベクトル
5. 文ベクトルの応用

単語ベクトルの状態・多言語対応
PCA（主成分分析）によって、高次元のベクトルを次元削減して、２次元にすることで、単語ベクトルのうち、もっとも重要な特徴が抽出可能。
この単語埋め込みベクトルでは、まずX軸（第１次元・横軸）に「言語の差」が出てくる。当然、AIによる生成で、もっとも重要な点は、言語が統一されていることなので、当然である。
Y軸（第２次元・縦軸）には、「動詞か、それ以外か」が出てくる。これは、確かに、言語にとって非常に重要な差異であり、生成AIにとっても重要なポイントとなる。

単語ベクトルの状態・日英語

単語ベクトルの状態・日本語品詞
日本語だけに限定して主成分分析を行うと、品詞がかなりきれいに分離する。
X軸は、「動詞か、そうでないか」であるが、具体的には動詞ー形容詞ー名詞ー接辞の形で品詞が分離する。

単語ベクトルの状態・日本語品詞

単語ベクトルの状態・動詞

単語ベクトルの状態・形容詞

単語ベクトルの状態・名詞

単語ベクトルの状態・接辞

英語の単語ベクトルの状態

内容

1. 生成AIの仕組み
2. 埋め込みベクトル
3. 単語ベクトル
4. 文ベクトル
5. 文ベクトルの応用

文ベクトルの利用以上のように、埋め込みベクトルを次元圧縮をして単語ベクトルの遠近関係を見てきたが、文ベクトルにも同じようなことが可能である。文と文との近さを測り、マッピングすることもできる。

文ベクトルの利用
1,私はとても猫が大好きです。
2,私はとても犬が大好きです。
3,吾輩は猫である。
4,我輩は犬である。
5,あなたはバナナを食べています。
6,バナナは熱帯地方で栽培されています。

文ベクトルの利用

文ベクトルの利用
1,私はとても猫が大好きです。
2,私はとても犬が大好きです。
3,吾輩は猫である。
4,我輩は犬である。
5,あなたはバナナを食べています。
6,バナナは熱帯地方で栽培されています。
7,I love cats very much.
8,I love dogs very much.
9,I am a cat.
10,I am a dog.
11,You are eating a banana.
12,Bananas are cultivated in tropical regions.

文ベクトルの利用

文ベクトルの利用・英語で古語
このように、文ベクトルは、文全体の特徴を反映するので、言語が異なっても、そのベクトル（数値）の比較で、類似を判定可能。
次の例は、英語と、日本古典語（古今集）をそれぞれベクトル化して、比較して、ベクトルのコサイン類似度のみで、もっとも適切な和歌を検出した。

文ベクトルの利用・英語と古語
質問文: I lament how quickly the seasons change
順位: 本文(コサイン類似度)
1: 秋風にあふ田の実こそ悲しけれわが身むなしくなりぬと思へば(0.8152505644733212)

物ごとに秋ぞ悲しきもみぢつつ移ろひゆくを限りと思へば (0.8101851226217894)
3: 秋来ぬと目にはさやかに見えねども風の音にぞおどろかれぬる
2:(0.8078393920033705)
4:

おほかたの秋くるからにわが身こそ悲しきものと思ひ知りぬれ(0.8075361576183776)
5:

夕さればいとど干がたきわが袖に秋の露さへ置き添はりつつ(0.8066052282284499)

文ベクトルの利用・要約
質問文: 天皇の仕事はなんですか？
順位:番号・本文（コサイン類似度）
1: 11 第一章 天皇第一条 天皇は、日本国の象徴であり日本国民統合の象徴であつて、この地位は、主権の存する日本国民の総意に基く(0.5512648920323997)
2: 20 第七条 天皇は、内閣の助言と承認により、国民のために、左の国事に関する行為を行ふ (0.5440142478820604)
3: 14 第四条 天皇は、この憲法の定める国事に関する行為のみを行ひ、国政に関する権能を有しない (0.5401211034076915)
4: 15 (2)天皇は、法律の定めるところにより、その国事に関する行為を委任することができる (0.5299827335152074)
5: 13 第三条 天皇の国事に関するすべての行為には、内閣の助言と承認を必要とし、内閣が、その責任を負ふ (0.5141027807756001)

文ベクトルの利用・外部知識
先のように、本文を文ベクトルにしておくことで、類似・関連「検索」がベクトルの一致度を計測するだけの作業に単純化できる。
ChatGPTで応答システムを作る場合でも、このように手元のデータをベクトルDBとして整備しておけば、この外部知識をChatGPTに与えることで、より有益な回答を得ることができる。
このようなシステムをRAG（Retrieval Augmented Generative) と呼ぶ。
もちろん、外部知識を文字列一致や従来のSQL文だけでキー検索することも可能だが、このようなベクトル検索を組み込むことでより柔軟なシステムが可能になる。前記のICL(In Context Learning)と並んで有効な方法

文ベクトルの状態・絵文字

文ベクトルの状態・絵文字検索

内容

1. 生成AIの仕組み
2. 埋め込みベクトル
3. 単語ベクトル
4. 文ベクトル
5. 文ベクトルの応用

文ベクトルによる文章の解析
単語ベクトルと同じように、文ベクトルもその意味を反映するので、ひとつの文章内の文ベクトルを主成分分析することで、その文章の中で、どのような文が、中核的な構造を持っているかを調べることができる。
この、夏目漱石の「坊っちゃん」の例だと、X軸は、「１人称かかそうでないか」で区別されている。

文ベクトルによる文章の解析

文ベクトルによる文章の解析
X-axis Max (Rank 1): 本当に人間ほどあてにならないものはない
X-axis Max (Rank 2): 議論のいい人が善人とはきまらない
X-axis Max (Rank 3): いくら人間が卑怯だって、こんなに卑怯に出来るものじゃない
X-axis Max (Rank 4): あんまり喜んでもいないでしょういえ、お世辞じゃない
X-axis Max (Rank 5): 面白くもないーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
X-axis Min (Rank 1): 山嵐の踵を踏んであとからすぐ現場へ けつけた
X-axis Min (Rank 2): その晩母が山城屋に詫びに行ったついでに袷の片袖も取り返して来た
X-axis Min (Rank 3): 控所へ帰って来たら、山嵐がどうだいと聞いた
X-axis Min (Rank 4): お婆さん、東京へ行って奥さんを連れてくるんだと答えて勘定を済まして、すぐ汽車へ乗って浜へ来て港屋へ着くと、山嵐は二階で寝ていた
X-axis Min (Rank 5): 山嵐はおい君どこに宿ってるか、山城屋か、うん、今に行って相談すると云い残して白墨を持って教場へ出て行った馳

文ベクトルによる文章の解析
X-axis Max (Rank 1): メロスは腕に唸りをつけてセリヌンティウスの頬を殴った
X-axis Max (Rank 2): メロスは激怒した
X-axis Max (Rank 3): メロスは、王の前に引き出された
X-axis Max (Rank 4): メロスは、ざんぶと流れに飛び込み、百匹の大蛇のようにのた打ち荒れ狂う浪を相手に、必死の闘争を開始した
X-axis Max (Rank 5): メロスは口惜しく、地団駄踏んだーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
X-axis Min (Rank 1): 私は、信じられている
X-axis Min (Rank 2): 君だけは私を信じてくれるにちがい無い
X-axis Min (Rank 3): どうでも、いいのだ
X-axis Min (Rank 4): ああ、待っているだろう
X-axis Min (Rank 5): おまえに言いたいのは、それだけだ文ベクトルによる文章の解析『走れメロス』（太宰治）の場合も、同様な分析をすることで、X軸は、「１人称者か、三人称者か」という区別を反映していることがわかる。
この区別は、日本の現代小説の基本構造となっている。（文学作品がすべてそうではない。）

文ベクトルによる文章の解析
X-axis Max (Rank 1): 但し、これがため、訴追の権利は、害されない
X-axis Max (Rank 2): 第一九条 思想及び良心の自由は、これを侵してはならない
X-axis Max (Rank 3): (3)何人も、自己に不利益な唯一の証拠が本人の自白である場合には、有罪とされ、又は刑罰を科せられない
X-axis Max (Rank 4): 又、犯罪に因る処罰の場合を除いては、その意に反する苦役に服させられない
X-axis Max (Rank 5): 但し、人種、信条、性別、社会的身分、門地、教育、財産又は収入によつて差別してはならないーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
X-axis Min (Rank 1): 第五三条 内閣は、国会の臨時会の召集を決定することができる
X-axis Min (Rank 2): (2)衆議院と参議院とが異なつた指名の議決をした場合に、法律の定めるところにより、両議院の協議会を開いても意見が一致しないとき、又は衆議院が指名の議決をした後、国会休会中の期間を除いて十日以内に、参議院が、指名の議決をしないときは、衆議院の議決を国会の議決とする
X-axis Min (Rank 3): 第六七条 内閣総理大臣は、国会議員の中から国会の議決で、これを指名する
X-axis Min (Rank 4): (2)予算について、参議院で衆議院と異なつた議決をした場合に、法律の定めるところにより、両議院の協議会を開いても意見が一致しないとき、又は参議院が、衆議院の可決した予算を受け取つた後、国会休会中の期間を除いて三十日以内に、議決しないときは、衆議院の議決を国会の議決とする
X-axis Min (Rank 5): 第五四条 衆議院が解散されたときは、解散の日から四十日以内に、衆議院議員の総選挙を行ひ、その選挙の日から三十日以内に、国会を召集しなければならない

文ベクトルによる文章の解析

文ベクトルによる文章の解析「日本国憲法」全文を各条ごとにベクトル化して、それを主成分分析で、重要な文の意味の構造を調べてみると、「個人の権利」と「国の組織」というのが、もっとも重要な軸（X軸・第１次元）になっているのがわかる。これは、一般的常識とも合致する。
このように、文ベクトルは、単に文の類似や分類だけに役立つのではなく、ある文章がどのようなことを主題としているかを見分けるための非常に有力なツールとなることがわかる。コミュニケーション上、何が重要になるかなども見ることができる。

ベクトルによる古今和歌集の解析

文ベクトルによる古文の解析
第1次元・上位・人間の感情(Rank 1): 人を思ふ心は我にあらねばや身のまどふだに知られざるらむ(Rank 2): 思ひけむ人をぞともに思はましまさしやむくいなかりけりやは(Rank 3): 身を捨ててゆきやしにけむ思ふよりほかなるものは心なりけり
第1次元・下位・自然の風景(Rank 1): 秋ちかう野はなりにけり白露の置ける草葉も色かはりゆく(Rank 2): 秋の月山辺さやかに照らせるは落つる紅葉のかずを見よとか(Rank 3): 秋風の吹きと吹きぬる武蔵野はなべて草葉の色かはりけり文ベクトルによる古文の解析
第2次元・上位・聴覚の美＝鳥(Rank 1): まかねふく吉備の中山帯にせる細谷川の音のさやけさ(Rank 2): 郭公声もきこえず山彦は外に鳴く音をこたへやはせぬ(Rank 3): しほの山さしでの磯にすむ千鳥君が御代をば八千代とぞ鳴く
第2次元・下位・視覚の美＝花(Rank 1): 春ごとに花のさかりはありなめどあひ見むことは命なりけり(Rank 2): 色見えで移ろふものは世の中の人の心の花にぞありける(Rank 3): 花見れば心さへにぞ移りける色にはいでじ人もこそ知れ文ベクトルによる古文の解析

鳥||景物 --------+--------- 人事||
花「人事」と「景物」、そして「鳥」と「花」が『古今集』の主要な意味構造の軸となっていることが、LLMの埋め込みベクトルで実証できる。これ自体は古典研究の常識だが、AIがそれを「読めている」ことは驚嘆に値する。
「花鳥風月」というが、「花・月」が視覚、「鳥・風」が聴覚であることもここからわかる。また、これは実は漢詩の影響であることも実証できる。

埋め込みベクトルの有用性
高性能多言語埋め込みベクトルを提供するOpenAIの埋め込みベクトルを利用するのがユーザーとしてはメリットがある。AIの知識を知る第一の手段。

結論

単語ベクトルの利用
各言語の意味の体系を探求することが可能。また、言語による単語の性格の差などを新しい角度から研究できる。

文ベクトルの利用
文ベクトルはRAGなどのビジネス用途にまず第一に便利。言語学的には、多言語に渡る文の意味の解析や、文章の構造分析やコミュニケーション研究に応用可能。

議題のページに戻る

現状、AIの能力の全部を引き出せていない
生成AIは、これらの内部表現を用いて文を生成しているが、自覚的に利用できるわけではない。

その先へ

高次元ベクトルの不思議
言語ごとの意味・文法・語用論など、多くの情報が含まれているが、大半は不明のまま。

AIとの協業による解明
AIによってAIの内部の研究を行うことで、さらに高度な応用が可能になると思われる。
議題のページに戻る