
読書ノート:ことばの意味を計算するしくみ (著:谷中 瞳)、その1:3章 形式統語論の考え方(前半)
はじめに
計算機言語学と自然言語学との橋渡しをすると謳う、気鋭の計算機を活用した言語学者である谷中先生の新刊。大規模言語モデルと伴走しながら、読んでいくシリーズである。「Ⅱ計算機言語学からみたことばの意味を計算するしくみ」からスタートする。
まずは、「3章形式統語論の考え方」からスタート。範疇文法と記号論理学を導入し、双方が、ランベック計算を通じて、言語学における統語構造のどしゅつ過程と、記号論理学における論理式の証明過程が、同じ数学的な構造をもつ対応関係として紹介される。
追記(10/23):【不明な点】をChatGPTに聞いて明確化したよ。
絵は、Flux.1: Tree of words in linguistic vs neural network model (decoder-encoder)
3章 形式統語論の考え方
3.1 範疇文法
範疇文法(categorical grammar)は、
・語彙項目(lexical item):語と文法的な性質を表す統語的範疇(category)を対応付ける
・統語規則(syntax rules)
で構成される。
category(統語範疇):
basic category
$${\frac{X}{Y}}$$ : functional category
John swims
$$
NP \centerdot \frac{S}{NP}=S
$$
自動詞(swim)のcategoryは $${\frac{S}{NP}}$$である。
他動詞は、$${\frac{(\frac{S}{NP})}{NP}}$$
John loves Mary
$$
NP \centerdot \frac{(\frac{S}{NP})}{NP}\centerdot NP = S
$$
AB文法(古典的範疇文法)
自然言語の語順や方向性を考慮した範疇文法
$${Y/X}$$ : Y over X
$${Y\setminus X}$$ : Y under X
関数適用規則(functional application rules): 範疇文法の統語規則
$${\frac{X/Y\enspace Y}{X} >}$$ : 右にYが来た時に結合してXになる
$${\frac{Y \enspace X\setminus Y }{X} <}$$ : 左にYが来た時に結合してXになる
自動詞: $${NP \setminus S}$$
他動詞:$${(NP \setminus S)/ NP}$$
John loves Mary
$$
\frac{\frac{John}{NP}\enspace \frac{\frac{loves}{(NP \setminus S) / NP}\enspace \frac{Mary}{NP}}{NP \setminus S} > }{S} <
$$
うむ、"love Mary"が$${NP \setminus S}$$ みたいになっているということ?
3.2 範疇文法と論理の関係
記号論理学の概要を導入
「AならばB」を論理式で表すと、$${A \supset B}$$となる
原子命題とか、複合命題の導入
条件命題に関する記号論理学の最も基本的な規則が、
前件肯定式(Modus Ponens)
$$
\frac{A\enspace A \supset B }{B}
$$
線の上が前提(premise)、下が結論(conclusion)、この証明図の記法はゲンツェン(Gentzen)の自然演繹(natural deduction)と呼ばれる証明体系の記法。
含意除去則: 3.1の範疇文法の関数適用法則("<規則"と">規則")と対応
$$
\frac{X/Y \enspace Y}{X} / E \\
\\
\frac{Y \enspace X \setminus Y }{X}\setminus E
$$
$${X/Y}$$を$${X \subset Y}$$、$${X\setminus Y}$$を$${X \supset Y}$$とすると、関数適用規則と含意除去則との対応関係がよくわかる。
ランベックは、ランベック計算(Lambek Calculus)を通じて導出木(言語学における統語構造の導出過程)と証明図(記号論理学における論理式の照明過程)が同じ数学的な構造を持つことを主張。

ランベック計算は、通常、ゲンツェン流シーケント計算の形式で記述するが、ここでは、範疇文法との対応をわかりやすくするために、自然演繹の形で記述している。
シーケント計算は、前提も結論も論理式の列(シーケント)として扱い、証明図の上下には推論規則の適用前後の前提から結論を導く推論をそれぞれ記述する形式。論理式の集合とはちがい、論理式の順序が意味がある。
ランベック計算は、直観主義論理から構造規則をすべて取り除いた部分構造論理に相当。
「ランベック計算では、順序の異なるシーケントは異なるシーケントとして扱われる。言語表現は単語の列のことであり単語の集合ではない、という、自然言語の統語論と形式言語の統語論の本質的な差異を表している」
【不明点】シーケント計算では、論理式の順序に意味があるっていってたならば、言語表現は単語の列である(順序に意味がある)というのと同じなのでは??
LLMでやってみた
範疇文法にて "John loves Mary"はどのように分析できるか、統語規則である、関数適用規則(functional application rules)を活用してみて。
ChatGPTの回答
範疇文法(Categorial Grammar)を用いて、"John loves Mary" を分析する際、各語句に範疇を割り当て、それらを関数適用規則(functional application rules)に従って解析します。
範疇の割り当て
まず、それぞれの語に範疇を割り当てます。一般的な範疇の割り当ては以下の通りです:
"John" : ( NP ) (名詞句、Noun Phrase)
"loves" : ( $${(S/NP)\backslash NP}$$ ) (動詞、述語。左に名詞句(主語)を取り、右に名詞句(目的語)を取って文 ( S ) を作る)
"Mary" : ( NP ) (名詞句、Noun Phrase)
ここで、"loves" は ( NP )(目的語)を右側に取り、( NP )(主語)を左側に取り、文 ( S ) を作るという形になっています。
関数適用規則を使った解析
範疇文法の関数適用規則は、以下の形式で記述されます:
Forward Application (左から適用):
形 ( X/Y ) の項が ( Y ) の項に続くと、これが ( X ) となる:
$$
\frac{X/Y \quad Y}{X}
$$
Backward Application (右から適用):
形 ( $${X\backslash Y}$$ ) の項が ( Y ) の項に続くと、これが ( X ) となる:
$$
\frac{Y \quad X\backslash Y}{X}
$$
手順
"loves Mary" の解析
"loves" の範疇は ($${ (S/NP)\backslash NP}$$ ) で、"Mary" の範疇は ( NP ) です。
( NP ) が右側にあるので、関数適用規則の Backward Application を適用します:
$$
\frac{NP \quad (S/NP)\backslash NP}{S/NP}
$$
これにより、"loves Mary" は ( S/NP ) の範疇になります。つまり、「主語を取れば文 ( S ) になる句」と解釈されます。
"John loves Mary" の解析
"John" の範疇は ( NP ) で、先ほど解析した "loves Mary" の範疇は ( S/NP ) です。
( NP ) が左側にあるので、関数適用規則の Forward Application を適用します:
$$
\frac{NP \quad S/NP}{S}
$$
これにより、"John loves Mary" 全体が ( S )(文)という範疇になります。
結論
"John loves Mary" の範疇文法による解析では、最終的に文全体が ( S )(文)となり、関数適用規則に基づいて「主語 + 動詞 + 目的語」の構造が正しく組み立てられることが確認できます。
感想
ChaGPTさすがに、範疇文法はよくご存じな感じ、$${/}$$と$${\backslash}$$がなぜか逆なのはなぜ?それと、関数適用規則の"<規則"と">規則"は、それぞれ、Forward Application、Backward Applicationとして区別しているようであるが、記号"<,>"が出てこない感じなのか。
本文では、「自然言語の統語論と形式言語の統語論の本質的な差異」というところが、よく理解できなかった。。。
追記:【不明点】についてもChatGPTに聞いてみたよ。
最初に、ランベック計算について、知っているかを尋ねた後に、
以下の、文章において、自然言語の統語論と形式言語の統語論の本質的な差異とは、何をいみしているのか?
###文章
ランベック計算は、直観主義論理から構造規則をすべて取り除いた部分構造論理に相当。 「ランベック計算では、順序の異なるシーケントは異なるシーケントとして扱われる。言語表現は単語の列のことであり単語の集合ではない、という、自然言語の統語論と形式言語の統語論の本質的な差異を表している」
ChatGPTの回答
この文章で言及されている「自然言語の統語論と形式言語の統語論の本質的な差異」は、語順(word order)の重要性に関するものです。
1. 自然言語の統語論
自然言語(英語や日本語など)において、語順は意味にとって非常に重要です。例えば、"John loves Mary" と "Mary loves John" では語順が異なるだけで、意味が大きく変わります。自然言語では単語の列が、文の意味を決定する中心的な要素になります。
順序のあるシーケンス: 自然言語は単語が特定の順序で並ぶことで意味が決まります。つまり、文は単語の**列(シーケンス)**として捉えられ、その順序が異なると文の意味も変わります。
統語規則: この順序は統語論のルールによって支配され、例えば主語が先、動詞が続く、などのパターンが各言語に固有の規則として存在します。
2. 形式言語の統語論
一方、形式言語(数学や論理学の記号言語、プログラミング言語など)においては、順序が必ずしも意味に直結しない場合があります。形式言語では、シンボルの集合(無順序)の場合があり、特定の順序に依存しないシンボルの意味論的解釈も存在します。
順序の影響が少ない: 形式言語では、あるシーケンスの順序が異なる場合でも、必ずしもその構造や意味が変わらないことがあります。例えば、論理式や集合論では、順序に依存しない操作が多く存在します。
シーケント計算: 形式言語の統語論は通常、シーケント計算や論理規則に基づき、演繹規則によって構造を構築しますが、順序が意味に強く影響しない場合もあります。
3. ランベック計算と語順の関係
ランベック計算が「直観主義論理から構造規則をすべて取り除いた部分構造論理に相当」するというのは、言語表現における順序の重要性を強調していることを意味します。ランベック計算では、シーケント(式の列)が順序を持つことが不可欠です。この点で、自然言語の特性を反映しており、単語が集合ではなく列(順序付きのシーケンス)として扱われます。
文章にある「ランベック計算では、順序の異なるシーケントは異なるシーケントとして扱われる」という部分は、まさにこの点を指しており、自然言語の統語論が、形式言語の統語論に比べて、単語の順序に依存するという重要な差異を表しています。
まとめ
自然言語の統語論: 語順が重要であり、文は単語の列である。順序が変われば意味も変わる。
形式言語の統語論: 必ずしも語順が意味に影響しない場合があり、シンボルの集合として扱うことが多い。
ランベック計算: 自然言語の特徴を捉えて、語順に敏感な部分構造論理をモデル化し、順序の異なるシーケントを区別する。
これが「自然言語の統語論と形式言語の統語論の本質的な差異」の意味するところです。
感想2
さすが、ChatGPT、よくわかった!