本文へスキップします。

【参】モーダルJS:読み込み
書籍DB:詳細

BERTによる自然言語処理入門 Transformersを使った実践プログラミング

BERTによる自然言語処理入門 Transformersを使った実践プログラミング

自然言語処理の標準モデル、BERTを使いこなせるようになる!

 BERTはGoogleが2018年末に発表した自然言語処理モデルです。「文脈」を考慮した処理が特徴的であり、言語理解を評価する11個のタスクについて最高精度を達成し、今や標準的なモデルとしての地位を確立しています。

 本書は、自然言語処理の近年における発展に大きな役割を果たし、かつ応用上も有用であるBERTの入門書です。前半で自然言語処理や機械学習について概説したのち、BERTによって実際にさまざまなタスクを解いていきます。具体的には、文章分類・固有表現抽出・文章校正・類似文章検索・データの可視化を扱います。データセットの処理から、ファインチューニング(BERTを特定の言語タスクに特化させるための学習)、性能の評価までの一連の流れを体験することで、BERTを自分で使えるようになることを目標とします。

なお、BERTで処理を行うためのライブラリとして、深層学習の言語モデルを扱ううえでよく使用されるTransformersを、学習や性能評価を効率的に行うためのライブラリとしてPyTorch Lightningを用います。本書ではTransformersやPyTorch Lightningを用いたことがない読者を想定して、その使い方を一から体系的かつ丁寧に解説します。

▼本書の環境
言語:Python
深層学習フレームワーク:PyTorch
ライブラリ:Transformers, PyTorch Lightning
計算環境:Google Colaboratory

▼本書の特徴
・BERTで実際にさまざまなタスクを解くことができます。
・使用するデータセットを日本語で統一しています。
・ライブラリの使い方を一から体系的に説明します。

試し読みをする
はじめに/目次

第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のマウント

索引