機械学習には、画像認識や将来予測などの目的に応じた技術が多数存在しています。そしてその中でも、自然言語処理技術は他と比べて難しい分野とされており、複数の技術を組み合わせて対応する例が見られます。
例えば、Microsoftが開発した自然対話ボット「りんな」では、同社主催のイベント「de:code 2016」で下図のような対話環境が公開されました。
単語の多次元ベクトルを算出する「Word2Vec(文章版のDoc2Vecも併用したいところ)」、文書内の出現率から重要度を算出する「TF-IDF」等の技術が組み合わされています。
そしてこれらの技術は、Pythonで利用されることが多いのですが、PHPでの実装スキルを身につけたい時に参考になるのが、本書「PHPによる機械学習入門」です。
なかなか少ない、理論よりPHP実装を重視した良書
本書は、細かい理論よりもコードと挙動から機械学習の理解を深める事を目的としています。その為、サンプルコードやコーパスの量も多く、またコードの解説にも重点を置いています。
そもそも機械学習言語としてPHPを取り扱うものが少ないなかで、コードを追いながら理解できるというのは勉強法として優れている印象を受けます。前述のTF-IDF以外にも、形態素解析から、迷惑メールフィルタの元となるベイジアンフィルタまで実装して試すことができます。
プログラミング環境のセットアップについても冒頭で説明されており、サーバーに関する知識も簡単ながら身につけることはできます。特に難しい表現もなく、素直に実行して挙動の確認ができると思います。
単語のベクトル化というと、Word2Vec系が主流な印象もありますが、りんなで見られるようにTF-IDFも抑えておきたい理論ではあるため、これをPHPでコードから追えるというのはすごくありがたいです。
PHPで実装できるということは、現在のWebサービスへの適用もしやすくなるということです。「Dialogflow」のような自然言語処理サービスを利用することも1つの手段ですが、まずは理論から…という方と併せて、実際に動かしてみたいと思われる方はぜひ参考にされると良いと思います。
書籍情報
タイトル | PHPによる機械学習入門 |
出版社 | リックテレコム (2014/7/16) |
発売日 | 2014/7/16 |
単行本(ソフトカバー) | 568ページ |
ISBN-10 | 4897979595 |
ISBN-13 | 978-4897979595 |