動作するコードがあって素晴らしい

本日は在宅勤務。

午前中から午後にかけてオンラインミーティングで6時間半。金曜日はほとんどこれで終わり。若干喉が痛い気がするのだが、気のせいだろうか……(気のせいではなかったことが、この翌週に分かるのだが)。

「BERTによる自然言語処理入門: Transformers を使った実践プログラミング」を読んだ(正確には、だいぶ前に献本してもらって手元にあったのだが、下に書くように感想にネガティブな部分もあるので、落ち着くまでコメントを書くのを少し控えていた)。

内容としては旬の内容で、深層学習時代の自然言語処理はこのあたりがベースラインになるのかなぁ、というような感じだし、少なくとも2021年現在ちゃんと日本語テキストを対象として動作するコードがある、というのは良いことだと思う(Transformers による BERT、と割り切って書いているのが功を奏している)。

難点は章によってクオリティにばらつきがあることで、特に昔から自然言語処理をやっている人だとこうは書かない(記述が不正確)だな、と思うところがちらほらあるのだが、BERT 以降に隣接分野から自然言語処理に参入する人を対象とする、と思ったらまあそこまで目くじらを立てるほどではない、という気もする。Amazonのリビューでも、「文章が過大で断定的」とか「説明が雑」とか「文章が厳密性を欠いている」だとか、恐らく自分と同じ趣旨のことを指摘している人が数人いて、まあ気になるよね、と同感である(タイムリーに出そうと思うと、仕方ない気がするが)。まあ、冒頭に書いたように旬の内容(類書がない)であることに一番の価値があり、2022年の半ばくらいはこれを読む価値があると思う(それ以降はコードが動かなくなったりする可能性がある)。

理論はさておき実践的な(動く)コードがある、という意味では「深層学習・機械学習による自然言語処理入門 -- scikit-learn と TensorFlow を使った実践プログラミング」の方が(そちらも説明はかなりタンパクで、これだけで自然言語処理ができるとは思わないが、記述が不正確だとか分かりにくいだとか感じたところは特にない)クオリティ高いと思うが、やはりそちらは TensorFlow であるのが学びにくいと感じるところだろうか(ちなみに「ゼロからつくる〜」は自分で作って理解することを目的としているので、本の趣旨がそもそも違う)。あと、これも2020年の出版で、もうすでに本の通りにやってもできない章があったりするようで、なかなか書籍という形で(更新せずに)出版するのは難しいなと思ったりしている。

個人的には「Python 機械学習プログラミング」が一番バランスが取れていると思うので、今年から授業の教科書はこれを指定している。自然言語処理に直接関係するのは3-4章くらいしかないが、自然言語処理に関係する色々な概念が理論も含めて前半でちゃんとコード付きで説明されており、このような本はこの本以外にないのである。(内容が古びてしまう問題については、この本は1-2年に1回新しい版を出すことで対応している)