Python もくもく会だったけど風邪っぽいので欠席して、自宅ひとりもくもく会をしていた。近頃、急に涼しくなったりしたので体調崩し気味。
今日やったのは以下の2つ。
spaCy に入門
言語処理 100本ノックは3章の正規表現まで進めている。ただ、これまで書いてきたコードがPEP8を全力で無視している気がしたので、先に進める前にちょっと戻ってリファクタリング。案の定というべきか、誰にも突っ込まれずに書いてきたコードはPEP8違反だらけだったので修正。ついでに処理そのものが間違っていた箇所もあったのでそっちも修正した。
転職してからコードレビューを受けるようになって、変数・関数の命名規則や可読性を意識することができるようになってきてる。
spaCyはPyCon JP 2017のWhy you should do text analysis with Python (even if you don't want to)の中で触れられていた自然言語処理ライブラリ。
Why you should do text analysis with Python (Bhargav Srinivasa Desikan) - PyCon JP 2017
公式サイトを見ると、高速であること・深層学習との連携が容易であることが特徴とある。英語とドイツ語の統計モデルが用意されており、v1.9.0ではスペイン語モデルが追加、日本語とノルウェー語のα版サポートが始まったとある。
チュートリアルはここにまとまっており、異なる作者による様々なチュートリアル記事が掲載されている。今回はIntro to NLP with spaCyでspaCyに入門してみたい。 この記事を書いている段階では、単語のトークン化まで進めている(まだまだ序盤の模様)。トークンのプロパティが何を指すのかを理解するために自然言語処理の用語を知る必要がありそう。
英語が下手ながら、コメントなどを訳しながら進めている。ついでに変数・関数名がスネークケースになっていない箇所も直している。