2021年8月24日火曜日

AUGUST

 

ずっと英語ライティングの自動添削に興味があって、以前にも自然言語処理(NLP)の勉強をしているという記事を書いたけど、その続き。

自然言語というのは、要は自分たち人間が普段使っている言語のことで、日本語も英語も自然言語。これをコンピュータに処理してもらうのがNLP技術なんだけど、この勉強を始めると必然的に数学や機械学習(→WikipediaではAIの一種であるとみなされていると説明している)の知識が必要になってくる。

それで、生徒の子からすると「なんでこの人は数学とかの勉強ばっかりしているんだ」ということになるんだけど、気づけば机の上にはそれ関連の本が積まれている。



高校生のとき自分はいわゆる"文系"だったので、数3の知識がない。これがものすごくネックになってくる。自分が高校生の頃は、数3に「行列」という分野が含まれていて(今は違う)、理系の教室にいくと、黒板にこんな数字の並びが書かれていたりした。


当時は「なんじゃこれ」としか思っていなかったが、今となっては「理系だった人いいなー」という状態だ。

NLPの勉強過程で通らざるをえないのが、偏微分、ベクトル、行列、確率…といった範囲。正直、微分といっても「接線の傾きでしょ」とか「xの2乗を微分したら2xだよね」ぐらいの知識の人間にとって、急に「ここでx1, x2をそれぞれ偏微分すれば…」とか言われても、「いやいや、偏微分って何だよ。たしか大学で数学の授業とって、偏微分とか言ってたけど、教授がテンション高い人だったってことしか覚えてないぞ」という反応しかできず、何度も挫折しかけた。

それでも何とか独学で勉強して(インターネットがある時代に生まれて幸運だ)、やっと「ラグランジュの未定乗数法」とかいう、名前を見ただけで本を閉じたくなるような技法も理解できるようになった。(偉そうに書いてるけど、卒業生で大学1年生の工学部の子の数学ノートを見せてもらったら、だいぶ序盤に登場していたので、理系の人にとってはたぶん初歩的な知識なのかもしれない。でも自分にとってはともかく快挙だ。)


何がすごいって、たとえば f(x,y) = xy みたいな手動で書くのは難しいグラフも、GeoGebraといったウェブサイトでは一瞬で表示してくれる。このグラフはこんな形状。


ちなみに「ラグランジュの未定乗数法」は、たとえばx+y=4みたいな制約があるときに、このf(x,y) = xy がとりうる最大値は何でしょう? みたいな問題を解くのに使える。(もちろん、この問題なら y=4-x を xy に代入すればすぐ答えは出るんだけど…。)

この「ラグランジュの~」では、λ っていう記号が出てくるんだけど、最初はこの文字の読み方すら分からなくて(ちなみにラムダ)、もうその時点でパワーが削がれる。「aとかkとかでいいじゃん、なんでλなんだよ…」という気持ち。たぶんラグランジュ(Lagrange)の頭文字エルのギリシア文字ってことなんだけど(ラグランジュは人名)。


興味のない人には全然おもしろくない話で恐縮なんだけど、もう少しだけ書いてみる。