関連サイト
本書の関連ページが用意されています。
内容紹介
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)
- 最終更新日: 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のマウント