Migdal

シラミィ
シラミィ

投稿

未来の人工言語は、圏論が作る。

ChatGPTと色々会話しているうちに、とんでもなく面白い話題に飛んで行った。私は普段から言語学や数学、その他個人的な話題をChatGPTとしているのだが、その時に紹介された世界最新鋭の言語学が凄まじすぎるので、ここにも記したい。ただし、以下の説明は厳密さを抑えるよう心掛けており、ChatGPTにも推敲をお願いしたが、明らかな誤りがあればご指摘いただきたい。


予備知識として、【圏論】が必須である。

圏論とは、数学の分野のひとつである。
「対象」の集まりを考えて、特定の条件を満たすように「射」を定義すると、『圏』となる。ここで、圏を2つ用意しよう。この時に、圏から圏への”便利な写像”が欲しくなる。これを「関手」という。この圏と関手についてを研究していく分野が【圏論】である。ちなみに、関手を対象として、関手の自然変換を射とする圏も構成可能で、こうなると抽象度がガンガン上がっていく。


本題に入ろう。今回紹介するのは、

DisCoCat (Categorical Compositional Distributional)

である。


言語には文法がある。単語どうしの連結規則があり、その結果として文が生成される。ここで、単語やその品詞に対してテンソルを割り当てると、単語の連結規則はテンソル積で表すことができる。したがって言語の構文は、テンソルを対象としてテンソル積を射とする圏である。ただし、テンソルの階数が爆発するのを防ぐため縮約などを適宜行う。

また、言語には意味がある。意味とは、有限次元ベクトル空間の中のベクトルである。単語のそれぞれが意味ベクトルを持ち、生成された文も意味ベクトルを持つ。ベクトル空間(すなわち意味)は、ベクトルを対象として線形変換を射とする圏である。

かくしてここに、構文の圏と意味の圏と、2つの圏を用意することができた。2つの圏が用意できたら考えることはひとつしかない。関手が構成できるか否か、ということである。そして実際に、構成できる。構文圏でのテンソル積の構造を意味圏での線形変換の構造に対応させる関手が構成できる。

構文と意味を圏論によって対応づけた、この理論こそがDisCoCatである。

DisCoCatがつまり何をしたのかというと、

統語論と、
意味論を、
圏論で、
束ねてしまった。

これは凄まじい。


DisCoCatは本当に世界最先端の言語学研究であり、英語ですら教科書が無い(っぽい)ので、ちゃんと見たければBob Coecke等の論文を漁ってネ☆ということになるのだが、それはそれとして、ここに言語学の確かな未来を感じずにはいられない。そして、言語学の発展は人工言語の発展に必ず影響する。この先、圏論を応用して文法を構築した人工言語が出現してもなんらおかしくはないのである。というわけで、

みんなで、圏論を、やろう!!

というのが今回の結論である。


ちなみに、圏論はどうやって勉強するのかという話なのだが、パソコンがあるならHaskellのプログラミングがいいだろう、という話がChatGPTからあった。というのも、Haskellの設計思想は全く圏論のプログラミング化なのである。一般のプログラミング言語とは発想が違いすぎるため敬遠されがちな言語であるが、パソコンで圏論が「動く」という体験は圏論学習を後押ししてくれるに違いない。早速『圏論入門---Haskellで計算する具体例から』という書籍をAmazonで購入した。これから勉強を進めていく。

Top comments (1)

たたむ
 
slaimsan profile image
スライムさん

ほう