functor category と意味
【 John Firthの意味理解をカテゴリー論的に解釈する 】
意味の世界にアプローチする手がかりは、どこかにないでしょうか? 特に、その意味の世界をカテゴリーとして捉えるヒントはどこかにないでしょうか?
このセミナーの中では、意味の世界をカテゴリーとして捉えようとする二つの理論 DisCoCatとQNLPを紹介してきました。そこでは意味の世界は、有限ベクトル空間あるいはヒルベルト空間のカテゴリーとしてモデル化されていました。
また、それらの理論では言語のカテゴリー Lは、pregroup文法に従うものとして、高度に構造化されたものだとされていました。
ただ、それらは、「構造を持たないテキスト」をその入力とするように見える大規模言語モデルの数学的モデルとしては、使いにくいものでした。
【 意味の理論の振り返り 】
改めて、 DisCoCatやQNLP以前の、まだカテゴリー論化されていない意味の理論を振り返ってみましょう。
ここでは、次の二つの意味の理論を、振り返ってみましょう。
⚫️ 意味の使用説:Wittgenstein
⚫️ 意味の文脈依存説:Firth
意味の使用説とは、意味はその使用から説明されるべきだ、という考え方です。 Wittgensteinに始まるものです。
“meaning of a word is its use in a language”
「ある語の意味は、ある言語におけるその使用である」
チューリングは、言葉の意味を知る事は、その用法を知る事だといったヴィトゲンシュタインらの見解に痛烈な皮肉をあぴせています。
すなわち、「機械」や「考える」という言葉の使い方をいくら調べた所で「機械は考える事ができるか」という問の意味も答えも明らかになるわけではない。それとも、「ギャラップの世論調査の様な 統計的研究」が必要という事になるのだろうかと。
Firthは「状況の文脈」という概念で意味の文脈依存的な性質に注目したことで知られ、連語的(collocational)意味に関する彼の研究は、分散意味論の分野で広く認められています。特に、彼は次の有名なことばで知られています。
“You shall know a word by the company it keeps”
「我々は、ある語を、それが引きつれている仲間たちによって知ることになる。」
【 Firthの解釈をベースに意味を考えてみよう】
このセッションでは、Firthの解釈をベースに意味を考えてみます。
例えば、語 red が与えられた時、red の「仲間たち」は、red という語を含んだ表現の全体だとしましょう。
言語には、部分文字列の包含関係で preorder ≦が定義できます。category化された言語 L は、このpreorder ≦ を、category Lの射 → とみなしたものです。
category L では、red の「仲間たち」とは、red を始点として、L の射 → でつながるすべての表現のことです。
【 表現の意味を、その表現の「仲間たち」の「全体」と考える 】
ここで、ある言語における「表現」(語の並びのことです)の「意味」を、その表現の「仲間たち」のなす「全体」の集まりと考えることにします。
言語のcategory L でこの考えを整理してみましょう。(カッコの中で、カテゴリー化される以前の解釈をしています。)
LのオブジェクトS,T(SもTも語の並びとしての表現です)で、TがSの「仲間」になるのは、S → T なる射が category L に存在する時、かつその時に限ります。(SがTの部分文字列だということです。)
この時、Sと「仲間である」という条件を満たすLの表現全体の集まりを、Sの「意味」と考えるということです。
もう少し例を挙げて説明してみましょう。
category Lのオブジェクトである red という表現をとり、Lの中の任意のオブジェクトy を考えます。Lの射で、red → y という射が存在すれば、そうしたオブジェクトy全体の集合を考え、その集合が、red の意味だと考えるのです。
先に見たredの意味を表す集合は次のように定義されます。
{ y ∈ L | ( red → y ) ∈ L }
すなわち、それは、red → y がL の射なら、そうしたLのオブジェクトy をすべて集めたものということです。
図から。redの意味を表す集合は、次のような要素を含んでいることはわかります。
{ red, red ruby, blood red, bright red lipstick, … … }
もっとも、図が、red の仲間たちをすべて列挙しているわけではないので、この要素の並びはまだまだ続くでしょう。
【 意味のcategory Mのオブジェクト】
これまで、意味のcategory M を構成するオブジェクトの集合を言語のcategory L のオブジェクトと同じオブジェクトから構成されると考えてきました。
それは、それでいいのですが、言語のcategory Lのオブジェクトxを一つとった時、それに対応する意味のcategory M のオブジェクトは、一つのオブジェクトxだけからなるわけではなく、xを含むcategory L の多数のオブジェクトからなる「集合」です。
集合は、その要素をオブジェクトとし、集合の要素間に定義される関数を射と考えると、容易に、それがcategoryの要件を満たすことを示すことができます。集合のcategory をSetで表すことにします。
【 意味のcategory M : L → Set 】
意味のcategory Mは、言語のcategory Lのすべてのオブジェクトxに対して、集合のcategory Set のある要素を割り当てることで構成されます。
これは、 category L からcategory Set へのfunctor とみなすことができます。
Lのオブジェクトxを、その意味を表すcategory Setのあるオブジェクトに割り当てる functor を L(x, − )で表すと、L(x, − ) : L → Set と表すことができます。
【 functor category 】
重要なことは、functor は、それ自身category とみなすことができるということです。
一般に category C から category D へのfunctor から構成されるcategory を、functor category といい、𝐷^𝐶で表します。( [C, D] という表記を使うこともあります。)
⚫️ category 𝐷^𝐶 のオブジェクトは、CからDへのfunctor
⚫️ category 𝐷^𝐶 の射は、CからDへのfunctor間のnatural transformation
で、functor category を定義できます。
意味のcategory は、functor category Set^Lで表現できます。
--------------------------------
ショートムービー「 functor category と意味 」を公開しました。
https://youtu.be/CYRYX9NgcVk?list=PLQIrJ0f9gMcPgnaymP8vC37oKdYa5pvDm
「 functor category と意味 」のpdf資料
https://drive.google.com/file/d/1oLadjFIZE30uxd3l3Q48K8VqPKXEHfOZ/view?usp=sharing
https://drive.google.com/file/d/1oLadjFIZE30uxd3l3Q48K8VqPKXEHfOZ/view?usp=sharing
blog 「 John Firthの意味理解をカテゴリー論的に解釈する」
https://maruyama097.blogspot.com/2023/12/functor-category.html
「大規模言語モデルの数学的構造」まとめページ
https://www.marulabo.net/docs/llm-math/
https://www.marulabo.net/docs/llm-math/
コメント
コメントを投稿