BERTはGoogleが2018年末に発表した自然言語処理モデルです。「文脈」を考慮した処理が特徴的であり、言語理解を評価する11個のタスクについて最高精度を達成し、今や標準的なモデルとしての地位を確立しています。
本書は、自然言語処理の近年における発展に大きな役割を果たし、かつ応用上も有用であるBERTの入門書です。前半で自然言語処理や機械学習について概説したのち、BERTによって実際にさまざまなタスクを解いていきます。具体的には、文章分類・固有表現抽出・文章校正・類似文章検索・データの可視化を扱います。データセットの処理から、ファインチューニング(BERTを特定の言語タスクに特化させるための学習)、性能の評価までの一連の流れを体験することで、BERTを自分で使えるようになることを目標とします。
なお、BERTで処理を行うためのライブラリとして、深層学習の言語モデルを扱ううえでよく使用されるTransformersを、学習や性能評価を効率的に行うためのライブラリとしてPyTorch Lightningを用います。本書ではTransformersやPyTorch Lightningを用いたことがない読者を想定して、その使い方を一から体系的かつ丁寧に解説します。
▼本書の環境
言語:Python
深層学習フレームワーク:PyTorch
ライブラリ:Transformers, PyTorch Lightning
計算環境:Google Colaboratory
▼本書の特徴
・BERTで実際にさまざまなタスクを解くことができます。
・使用するデータセットを日本語で統一しています。
・ライブラリの使い方を一から体系的に説明します。
https://www.ohmsha.co.jp/book/9784274227264/
正誤表やDLデータ等がある場合はこちらに掲載しています
第1章 はじめに
第2章 ニューラルネットワークを用いた自然言語処理
第3章 BERT
第4章 Huggingface Transformers
第5章 文章の穴埋め
第6章 文章分類
第7章 マルチラベル文章分類
第8章 固有表現抽出
第9章 文章校正
第10章 文章ベクトルを用いたデータの可視化と類似文章検索
付録A ニューラルネットワークの学習の基礎
付録B Colaboratoryの使い方
はじめに/目次
第1章 はじめに
1-1 自然言語処理とは
1-2 機械学習とは
1-3 機械学習による自然言語処理
1-4 BERTとは
1-5 本書の流れ
第2章 ニューラルネットワークを用いた自然言語処理
2-1 トークン化と前処理
1 単語分割
2 文字分割
3 サブワード分割
2-2 ニューラル言語モデル
1 言語モデル
2 ニューラルネットワーク
3 ニューラル言語モデルの構築
4 表現学習手法としてのニューラル言語モデル
2-3 Word2Vec
1 CBOW
2 Skip-Gram
3 Word2Vecの問題点
2-4 ELMo
1 再帰型ニューラルネットワーク
2 Long-Short Term Memory (LSTM)
3 ELMoのモデル概要
第3章 BERT
3-1 BERTの構造
1 Scale Dot-Product Attention
2 Multi-Head Attention
3 Residual Connection
4 Layer Normalization
5 Feedforward Network
3-2 入力形式
1 トークン化
2 ベクトル化
3-3 学習
1 事前学習
2 ファインチューニング
第4章 Huggingface Transformers
4-1 計算環境:Google Colaboratory
4-2 配布コードの形式とURL
4-3 ライブラリのインストールと読み込み
4-4 Transformers
1 トークナイザ
2 BERTモデル
第5章 文章の穴埋め
5-1 コード・ライブラリ・パッケージの準備
5-2 BERTを用いた文章の穴埋め
第6章 文章分類
6-1 コード・ライブラリの準備
6-2 文章分類とは
6-3 BERTによる文章分類
6-4 データセット:livedoorニュースコーパス
6-5 BERTのファインチューニングと性能評価
1 データローダ
2 データの前処理
3 PyTorch Lightningによるファインチューニングとテスト
4 ファインチューニングしたモデルの保存と読み込み
第7章 マルチラベル文章分類
7-1 コード・ライブラリの準備
7-2 マルチラベル文章分類とは
7-3 マルチラベルのデータ表現
7-4 BERTによるマルチラベル分類
7-5 データセット:chABSA-dataset
7-6 ファインチューニングと性能評価
第8章 固有表現抽出
8-1 コード・ライブラリの準備
8-2 固有表現抽出とは
8-3 文字列の正規化
8-4 固有表現のデータ表現
8-5 固有表現抽出の実装:IO法
1 タグ付け法
2 トークナイザ
3 BERTによる固有表現抽出
8-6 データセット:Wikipediaを用いた日本語の固有表現抽出データセット
8-7 ファインチューニング
8-8 固有表現抽出の性能評価
8-9 固有表現抽出の実装:BIO法
第9章 文章校正
9-1 コード・ライブラリの準備
9-2 文章校正とは
9-3 BERTによる文書校正
1 トークナイザ
2 BERTでの実装
9-4 データセット:日本語Wikipedia入力誤りデータセット
9-5 ファインチューニング
9-6 文章校正の性能評価
第10章 文章ベクトルを用いたデータの可視化と類似文章検索
10-1 コード・ライブラリの準備
10-2 文章ベクトル
10-3 データセット:livedoorニュースコーパス
10-4 文章コーパスの可視化
1 主成分分析
2 t-SNE
10-5 類似文章検索
付録A ニューラルネットワークの学習の基礎
A-1 ミニバッチ学習
A-2 過学習
付録B Colaboratoryの使い方
B-1 Colaboratoryを開始する
B-2 GPUを使用できるようにする
B-3 コードを実行する
B-4 Google Driveのマウント
索引