機械学習・深層学習による自然言語処理入門 scikit-learnとTensorFlowを使った実践プログラミング

  • 著作者名:中山光樹
    • 書籍:3,168円
    • 電子版:3,168円
  • B5変:336ページ
  • ISBN:978-4-8399-6660-7
  • 発売日:2020年02月27日
  • 備考:初級
  • mixiチェック
  • このエントリーをはてなブックマークに追加

内容紹介

「日本語」のデータで、「今の自然言語処理」をイチから学ぶ!

本書は、自然言語処理について初歩から学べる書籍です。プログラミングについては、なんらかのプログラミング言語を使ったことのある開発者を対象に書いています。

自然言語とは、私たち人間が日常的に読み書きしたり、話したりするのに使っている言語のことです。そして、自然言語で書かれたテキストデータをコンピュータで処理するための技術を自然言語処理と呼びます。自然言語処理によって実行できるタスクの代表的な例としては、自動翻訳や質問応答、対話などがあります。

本書では、この自然言語処理について、今まで学習したことがない人でも学べるように、基礎から解説しています。自然言語をコンピュータで処理するために、事前にどのような処理をしておくのか、どのように単語や文章を解析するのか、自動翻訳などのタスクを実行させるためにどのような処理を行うのか、などについて、やさしく説明していきます。

基礎からはじめて、単語分散表現やテキスト分類、系列ラベリング、系列変換、アテンションといった、自然言語処理では欠かせない技術について、理論を解説した上で、Pythonを使って実装し、手を動かしながら理解できるようにしています。


また、現在の自然言語処理は、機械学習や深層学習とも切り離せません。ですので本書では、これらの技術についても基礎から説明し、Pythonを使って処理を実装していきます。基礎的な実装のみではなく、RNN、LSTM、CNNさまざまなモデルを使っての実装、特徴量エンジニアリングや正則化、ハイパーパラメータチューニングなど、実際の処理で必要になるところまで、詳しく解説しています。

本書の特徴として、ほとんどの実装で日本語のデータを使っている点があります。機械学習を用いた自然言語処理手法を日本語に対して適用しようとすると、途端にデータセットの壁に当たります。このような状況を踏まえ、本書では、日本語のデータセットで自然言語処理の様々なタスクを試せるようにしています。

これから、プログラムでの実装も合わせて自然言語処理をしっかり学習したいという方にとっては、最適の1冊です。

商品を選択する

フォーマット 価格 備考
書籍 3,168
PDF 3,168 ※ご購入後、「マイページ」からファイルをダウンロードしてください。
※ご購入された電子書籍には、購入者情報、および暗号化したコードが埋め込まれております。
※購入者の個人的な利用目的以外での電子書籍の複製を禁じております。無断で複製・掲載および販売を行った場合、法律により罰せられる可能性もございますので、ご遠慮ください。

電子書籍フォーマットについて

  

備考

中山 光樹(なかやま ひろき)

1991年生まれ。電気通信大学卒、電気通信大学情報理工学研究科修士課程修了。現在、企業にて、自然言語処理や機械学習に研究開発に従事。また、GitHub上でオープンソースソフトウェアの自然言語処理ライブラリ開発にも貢献している。

目次

Contents

Chapter 1 自然言語処理の基礎
1-1 本章の概要
1-2 自然言語処理とは?
 1-2-1 自然言語と人工言語
 1-2-2 自然言語処理
1-3 自然言語処理のタスク
 1-3-1 自然言語処理の基礎技術
 1-3-2 自然言語処理の応用技術
1-4 自然言語処理の難しさ
 1-4-1 おさらい

Chapter 2 機械学習
2-1 本章の概要
2-2 機械学習とは?
2-3 教師あり学習
 2-3-1 分類
 2-3-2 回帰
2-4 教師なし学習
 2-4-1 クラスタリング
 2-4-2 次元削減
2-5 強化学習
2-6 機械学習パイプライン
2-4 開発環境の構築
 2-7-1 Minicondaのインストール
 2-7-2 仮想環境の構築
 2-7-3 パッケージのインストール
 2-7-4 エディタのインストール
 2-7-5 おさらい


Chapter 3 コーパス
3-1 本章の概要
3-2 コーパスとは?
3-3 コーパスの読み込み
 3-3-1 ファイル読み書きの基礎
 3-3-2 CSVとTSVの読み込み
 3-3-3 JSONの読み込み
 3-3-4 ディレクトリの走査
3-4 コーパスの作成
 3-4-1 プロジェクト構成
 3-4-2 APIキーの取得
 3-4-3 コードの実装
 3-4-4 アノテーションツール
 3-4-5 おさらい

Chapter 4 テキストの前処理
4-1 本章の概要
4-2 前処理の種類と実装
 4-2-1 テキストのクリーニング
 4-2-2 単語分割
 4-2-3 単語の正規化
 4-2-4 ストップワードの除去
 4-2-5 単語の ID化
 4-2-6 パディング
4-3 前処理の実践
 4-3-1 プロジェクト構成
 4-3-2 データセットの準備
 4-3-3 モデルの学習・評価用関数の定義
 4-3-4 モデルの学習と評価
 4-3-5 おさらい

Chapter 5 特徴エンジニアリング

5-1 本章の概要
5-2 特徴エンジニアリングとは?
 5-2-1 質的変数の処理
 5-2-2 量的変数の処理
5-3 テキストのベクトル表現
 5-3-1 N-gramベクトル
5-4 ベクトル表現の実践
 5-4-1 プロジェクト構成
 5-4-2 データセットの準備
 5-4-3 モデルの学習・評価用関数の定義
 5-4-4 モデルの学習と評価
5-5 特徴量のスケーリング
 5-5-1 正規化
 5-5-2 標準化
 5-5-3 正規化と標準化の可視化
5-6 特徴選択
 5-6-1 特徴選択とは
5-7 特徴選択の実践
 5-7-1 プロジェクト構成
 5-7-2 モデルの学習と評価
 5-7-3 おさらい

Chapter 6 機械学習アルゴリズム
6-1 本章の概要
6-2 ロジスティック回帰
 6-2-1 分類問題の定式化
 6-2-2 分類確率の導入
 6-2-3 ロジスティック回帰の学習
6-3 ロジスティック回帰によるテキスト分類
 6-3-1 プロジェクト構成
 6-3-2 ロジスティック回帰によるテキスト分類の実践
6-4 交差検証
6-5 汎化性能
6-6 学習曲線
6-7 正則化
6-8 ハイパーパラメータチューニング
 6-8-1 おさらい


Chapter 7 ニューラルネットワーク
7-1 本章の概要
7-2 ニューラルネットワークとは?
7-3 バイアス
7-4 活性化関数
7-5  Kerasによるニューラルネットワークの実装
 7-5-1 プロジェクト構成
 7-5-2 データセットの準備
 7-5-3 モデルの定義
 7-5-4 損失関数と最適化関数
 7-5-5 コールバック
 7-5-6 モデルの学習
 7-5-7 モデルを使った予測
 7-5-8 モデルの保存と読み込み
 7-5-9 実践
 7-5-10 おさらい

Chapter 8 単語分散表現
8-1 本章の概要
8-2 単語の分散表現とは?
 8-2-1  one-hotエンコーディング
 8-2-2 分散表現
8-3 単語分散表現を学習するモデルの仕組み
 8-3-1 基礎的な考え方
 8-3-2  word2vec
 8-3-3  Skip-gram
 8-3-4 ネガティブサンプリングによる高速化
8-4 モデルの実装
 8-4-1 プロジェクト構成
 8-4-2 データセットの準備
 8-4-3 モデルの定義
 8-4-4 予測用クラスの実装
 8-4-5モデルの学習
8-5 gensimを使った単語分散表現の学習
 8-5-1 プロジェクト構成
 8-5-2 モデルの学習
 8-5-3 単語分散表現の使用
8-6 学習済み単語分散表現の利用
 8-6-1 学習済み単語分散表現のダウンロード
 8-6-2 単語分散表現の読み込み
8-7 単語分散表現の評価
 8-7-1 おさらい

Chapter 9 テキスト分類
9-1 本章の概要
9-2 テキスト分類とは?
9-3 リカレントニューラルネットワーク
9-4 RNNによるテキスト分類器の実装
 9-4-1 プロジェクト構成
 9-4-2 データセットの準備
 9-4-3 モデルの定義
 9-4-4 予測用クラスの実装
 9-4-5 テキスト分類の評価
 9-4-6 モデルの学習と評価
9-5 LSTM
9-6 LSTMによるテキスト分類器の構築
 9-6-1 モデルの定義
 9-6-2 モデルの学習
9-7 畳み込みニューラルネットワーク
9-8 CNNによるテキスト分類器の実装
 9-8-1 モデルの定義
 9-8-2 モデルの学習
9-9学習済み単語分散表現の使い方
 9-9-1 単語分散表現の準備
 9-9-2 モデルの定義
 9-9-3 モデルの学習
 9-9-4 おさらい

Chapter 10 系列ラベリング
10-1本章の概要
10-2系列ラベリングとは?
10-3固有表現認識
10-4 LSTMによる固有表現認識器の実装
 10-4-1 プロジェクト構成
 10-4-2 データセットの準備
 10-4-3 モデルの定義
 10-4-4 予測用クラスの実装
 10-4-5 固有表現認識の評価
 10-4-6 モデルの学習と評価
10-5 双方向 LSTM
10-6 双方向 LSTMによる固有表現認識器の実装
 10-6-1 モデルの定義
 10-6-2 モデルの学習と評価
10-7 BERT
10-8 BERTによる固有表現認識器の実装
 10-8-1 プロジェクト構成
 10-8-2 パッケージのインストール
 10-8-3 データセットの準備
 10-8-4 モデルの定義
 10-8-5 評価用コードの実装
 10-8-6 モデルの学習と評価
 10-8-7 おさらい

Chapter 11 系列変換
11-1 本章の概要
11-2 系列変換とは?
11-3 系列変換モデルの定式化
 11-3-1 エンコーダの埋め込み層
 11-3-2 エンコーダの RNN層
 11-3-3 デコーダの埋め込み層
 11-3-4 デコーダの RNN層
 11-3-5 デコーダの出力層
11-4 系列変換モデルの実装
 11-4-1 プロジェクト構成
 11-4-2 データセットの準備
 11-4-3 モデルの定義
 11-4-4 予測用クラスの実装
 11-4-5 評価
 11-4-6 モデルの学習と評価
11-5 アテンション
11-6 アテンションの実装
 11-6-1 予測用クラスの実装
 11-6-2 モデルの学習と評価
 11-6-3 おさらい


Chapter 12 機械学習とクラウド
12-1本章の概要
12-2 Colaboratoryを使った環境構築
 12-2-1 基本的な使い方
 12-2-2 GPUの使い方
 12-2-3 パッケージのインストール方法
12-3機械学習の自動化 ~AutoML~
 12-3-1 モデル選択
 12-3-2 ニューラルアーキテクチャサーチ
12-4 Cloud AutoML
 12-4-1 APIの有効化
 12-4-2 データセットのアップロード
 12-4-3 モデルの学習
 12-4-4 クリーンアップ
12-5自然言語処理 API
 12-5-1 APIキーの取得
 12-5-2 コードの実装
 12-5-3 API呼び出し
 12-5-4 おさらい



 

この商品を買った人はこんな商品も買っています


最近チェックした商品

Tポイント利用手続き

         Tポイント利用手続きに関する同意事項

                                株式会社マイナビ出版

株式会社マイナビ出版が提供するマイナビBOOKSにおいてTポイントご利用続きをされる方は、以下に掲げるお客様の個人情報の取り扱いについてご確認の上、ご同意下さい。

マイナビBOOKSにおいてTポイントサービスをご利用いただいた場合に、当社から、次に掲げる<提供情報>を、<提供目的>のためにカルチュア・コンビニエンス・クラブ株式会社(以下「CCC」といいます)へ提供します。

  <提供目的>:CCCの定める個人情報保護方針及びマイナビBOOKSにおけるT会員規約第4条に定める利用目的で利用するためTポイントサービスを利用するため
  <提供情報>:
   1)お客様が【マイナビBOOKS】の正当な利用者であるという情報
   2)ポイント数・利用日
   3)その他、Tポイントサービスを利用するにあたり必要な情報

  <提供方法>: 電磁的記録媒体の送付またはデータ通信による。ただし、提供するデータについては暗号化を施すものとする。

なお、CCCに提供された、以下の情報の利用については、CCCの定める個人情報保護方針及びT会員規約 に沿って取り扱われます。
上記の情報提供の停止をご希望される場合には、【マイナビBOOKS】におけるTポイント利用手続きの解除を実施していただく必要があります。
Tポイント利用手続きの解除、およびTポイントサービスにおける個人情報に関するお問い合わせ先は、以下のとおりです。
お客様お問い合わせ先:Tサイト(http://qa.tsite.jp/faq/show/22612)

 なお、Tポイント利用手続きの解除が完了しますと、マイナビBOOKSにおけるTポイントサービスをご利用いただけなくなりますので、予めご了承ください。

Tポイント利用手続きを行いますか?