本書は、自然言語処理について初歩から学べる書籍です。プログラミングについては、なんらかのプログラミング言語を使ったことのある開発者を対象に書いています。
自然言語とは、私たち人間が日常的に読み書きしたり、話したりするのに使っている言語のことです。そして、自然言語で書かれたテキストデータをコンピュータで処理するための技術を自然言語処理と呼びます。自然言語処理によって実行できるタスクの代表的な例としては、自動翻訳や質問応答、対話などがあります。
本書では、この自然言語処理について、今まで学習したことがない人でも学べるように、基礎から解説しています。自然言語をコンピュータで処理するために、事前にどのような処理をしておくのか、どのように単語や文章を解析するのか、自動翻訳などのタスクを実行させるためにどのような処理を行うのか、などについて、やさしく説明していきます。
基礎からはじめて、単語分散表現やテキスト分類、系列ラベリング、系列変換、アテンションといった、自然言語処理では欠かせない技術について、理論を解説した上で、Pythonを使って実装し、手を動かしながら理解できるようにしています。
また、現在の自然言語処理は、機械学習や深層学習とも切り離せません。ですので本書では、これらの技術についても基礎から説明し、Pythonを使って処理を実装していきます。基礎的な実装のみではなく、RNN、LSTM、CNNさまざまなモデルを使っての実装、特徴量エンジニアリングや正則化、ハイパーパラメータチューニングなど、実際の処理で必要になるところまで、詳しく解説しています。