言語において、論理と機械学習で「うまく扱える」範囲について

論理と機械学習が本質的にうまく扱える現象、より正確に言えば、その本質が論理的であるような現象、その本質が機械学習的であるような現象、というのが人間の言語活動を全体として形成している様々なコンポーネントの中にはあるのだと思いますが、そのようなコンポーネントが、我々がいわゆる「言語現象」として観測しているものの区切りと一致する保証はなく、実際に我々が何らかの「言語現象」を拾い上げて考えるならば、特にその「言語現象」が何らかの形で言語の意味に関わる場合には、ほとんど論理的原理と機械学習的原理が混ざり合ってその現象が現れているのだと思います。

機械学習だけでうまく扱えるように見える現象」というのは、おそらく言語の「意味」に関わらない現象、もしくは「意味」が一部関わっていたとしても、言語使用者がたくさん集まることによって文法の性質が統計的に無視できるような場合なのでしょう。とはいえそういう現象も存在してくれると、自然言語処理が取りあえず(深く考えなくても)成果を出せる、という意味では有り難いですが、「言語を通して人間を理解する」「言語の意味とは何か」というような、理学的・哲学的な意味での言語の深い理解には繋がりにくいように思います。

一方で「論理だけでうまく扱える言語現象」というのも、もし実テキストを相手にした自然言語処理を考える場合は、ほとんどないのではないでしょうか。統語解析にしても意味解析にしても、かならず膨大な解候補からの曖昧性解消のプロセスを経なければなりませんが、そこで人間がやっていることは機械学習にかなり近いように思います。しかし自然言語処理において機械学習によって曖昧性解消を行うときは、それはそもそもどういう空間にどういう事象があり、どういう判別を行うタスクとして設定するのか、ということが機械学習の問題であると同時に言語学の問題にもなります。個人的には、この辺りが自然言語処理における論理と機械学習の接点として興味深く感じる領域です。

ただし、こういう議論をする際には、そもそも「うまく扱える」というのはどういうことなのか、という点には注意を払わなければいけないと思います。自然言語処理の文脈では、1)精度はそれほど高くないが取りあえず動いていて結果がベースラインよりそこそこ良ければそこそこ世間の役に立つ、という場合や、2)精度はそこそこ高いが、その精度がそもそも何を意味するのか批判的検証がなされないまま、うまく扱えると信じこまれている場合、というのがあります。1)の代表例は文書分類などのタスクで(これは本当かどうか、ちょっと自信ないですが)、2)の代表例は形態素解析でしょうか(これについては「日本語文法の形式理論」の第一章で述べています)。

1)のような場合に、これが本当に論理(によって定式化される文法や意味計算)なしで「うまく扱える」現象なのかは、よく分かりません。こと言語の意味が関わる現象であれば何であれ、統語構造・意味合成を無視することによるボトルネックが暗黙に存在するようにも思えます。ともあれ1)も2)も、誰も論理との関わりを研究しなくなる(というか現にそうなってしばらく経っている)ことが問題だと思っています。

まとめると、僕は「意味」が関わる言語現象については、論理と機械学習が単独でうまく扱える現象はそれほどないだろうと思っています。一見機械学習だけでうまく扱えるように見える現象というのはあるかもしれませんが、それは言語処理研究者(特に学生)の一種の思考停止を誘発するので、却って危険ではないかと思っています。

しかし、問題の根本は、論理・文法の側が今日まで長い間、信頼できる理論・リソースを提示できずに来たことにあると思います。機械学習の研究者からすれば、言語学に立脚して研究するというのはどうも心許ない、というのはこれまでの理論言語学の状況に鑑みれば理解できます。したがって、僕としては論理に基づく文法・意味の理論の基礎を(これまでになされなかったレベルで)確立するのが急務であり、それが結果的には機械学習による自然言語処理を発展させることになるだろう、と考えているのです。

「父親と違う生き方」問題

「父親と違う生き方」をした人の息子が「父親と違う生き方」をしたとき、それは父親と違う生き方なのか、それとも父親と同じ生き方なのか、という問題。

注:中川裕志先生(@HiroshNakagawa3)による。
http://twitter.com/#!/hiroshnakagawa3/status/127780766112415745
http://twitter.com/#!/hiroshnakagawa3/status/127780967879417856

さて、

xがyの父親:x=F(y)
xがyの人生:x=L(y), y=A(x)
xとyが違う:xとyが同じプロパティを持っていない
¬∃P(Px∧Py)

と定義すると、「父親と違う生き方」をした人の息子が「父親と違う生き方」をしたことは、以下のように定式化される。

aがbの父親で、bがcの父親
a=F(b), b=F(c)
bは「父親と違う」生き方をした
¬∃P(P(LFF(c))∧P(LF(c))) --(1)
cは「父親と違う」生き方をした
¬∃P(P(LF(c))∧P(L(c))) --(2)

※厳密には、父親の生き方も息子の生き方も「生き方である」というプロパティは満たすはずで、上のような定義は不適切かもしれないが、そのことが以下のパラドックスの本質ではないと思われるので割愛。

ここで、cは「父親と違う」生き方をしていない、という命題は、
∃P(P(LF(c))∧P(L(c)))
となる。これは、LF(c)とL(c)の両方が満たすプロパティがあれば、存在導入律により成立する。

ところが、c=AL(c)より、LF(c)=LFAL(c) であるから、

(1)より、¬∃P(P(LFALF(c))∧P(LF(c)))
(2)より、¬∃P(P(LFAL(c))∧P(L(c)))

したがって、LF(c)とL(c)は、いずれも
{x| ¬∃P(P(LFA(x))∧P(x)) }
というプロパティを満たすので、
∃P(P(LF(c))∧P(L(c)))
である。しかしこれは(2)と矛盾する。