試験公開中

このエントリーをはてなブックマークに追加

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

オーム社

2,970円 (2,700円+税)

本書は、自然言語処理の近年における発展に大きな役割を果たし、かつ応用上も有用であるBERTの入門書です。TransformersやPyTorch Lightningを用いたことがない読者を想定して、その使い方を一から体系的かつ丁寧に解説します。

関連サイト

本書の関連ページが用意されています。

内容紹介

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

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

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

▼本書の環境

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

▼本書の特徴

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

書誌情報

  • 著者: ストックマーク株式会社(編), 近江 崇宏, 金田 健太郎, 森長 誠, 江間見 亜利(著)
  • 発行日: (紙書籍版発行日: 2021-06-28)
  • 最終更新日: 2021-06-28
  • バージョン: 1.0.0
  • ページ数: 200ページ(PDF版換算)
  • 対応フォーマット: PDF
  • 出版社: オーム社

対象読者

自然言語処理を行うエンジニア、自然言語処理に興味のある情報系学部などの学生

著者について

ストックマーク株式会社

2016 年に東大発スタートアップとして林達と有馬幸介により設立。自然言語処理を活用した企業文化変革の支援を行うSaaS サービスの開発・運営をおもな事業としている。組織内のコラボレーションを促進し、チームを活性化させるプラットフォーム「Anews」、国内外約3 万メディアの膨大なビジネスニュースをAI が分類・可視化し、事業機会と活動事例の分析をサポートする「Astrategy」などのサービスを提供している。

近江 崇宏

金田 健太郎

森長 誠

江間見 亜利

目次

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

Index

Home 書籍一覧 BERTによる自然言語処理入門 ―Transformersを使った実践プログラミング― ▲ ページトップへ戻る