試験公開中

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

PyTorch自然言語処理プログラミング word2vec/LSTM/seq2seq/BERTで日本語テキスト解析!

インプレス

3,080円 1,540円 (1,400円+税) 《特価》

ディープラーニング技術を使った自然言語処理においてword2vec、LSTM、seq2seq、BERTは、重要な技術です。本書ではPyTorchを利用することで、それらのディープラーニング技術を使ったプログラムをより容易に実装する方法を解説します。

【注意】本書のEPUB版は固定レイアウト型になっております。文字の大きさの変更や検索、引用などはお使いいただけません。画面の大きい端末でご利用ください。

関連サイト

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

内容紹介

日本語テキスト解析処理を快速プログラミング! 単語/文書の分類、機械翻訳などを実装。

自然言語処理は、検索エンジン、自動要約、機械翻訳、音声認識などで利用される技術です。PyTorchでは、特にTransformersというBERT系モデルを提供することで、より簡単にBERTを利用できるようになっています。本書では、自然言語処理で特に重要なディープラーニング技術であるword2vec、LSTM、seq2seq、そしてBERTを取り上げます。

まず第1章でPyTorchの基本を説明します。そのあと各技術の考え方を説明し、PyTorchを使ったそれぞれのプログラミング手法を解説します。それらのプログラミングでは、以下のことなどを目的にしています。

・単語や文書の類似度を測る
・文章内の単語の品詞を分類する
・日英の機械翻訳を実行する
・文書を分類する
・質問/回答タスクを実行する

書誌情報

  • 著者: 新納 浩幸
  • 発行日: (紙書籍版発行日: 2021-03-18)
  • 最終更新日: 2021-03-18
  • バージョン: 1.0.0
  • ページ数: 256ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: インプレス

対象読者

自然言語処理についての初心者。自然言語処理のシステムを作ってみたい人、あるいは作らなくてはならない人。

著者について

新納 浩幸

1961年生まれ。1985年 東京工業大学理学部情報科学科卒業。1987年 東京工業大学大学院理工学研究科情報科学専攻修士課程修了。現在、茨城大学工学部情報工学科教授、博士(工学)。専門分野は自然言語処理、機械学習、統計学など。2018年から言語処理学会 理事を務める。

目次

まえがき

第1章 PyTorchの基礎

  • 1.1 Tensorとは
  • 1.2 Tensorの演算と操作
  • 1.3 Tensorの自動微分
  • 1.4 PyTorchの学習プログラムの作成/1.4.1 プログラムのひな形
  • 1.4.2 ライブラリの読み込み/1.4.3 学習データの準備
  • 1.4.4 モデルの設定
  • 1.4.5 モデルの生成、最適化アルゴリズムと損失関数の設定
  • 1.4.6 学習
  • 1.4.7 テスト
  • 1.4.8 実行/1.4.9 ミニバッチ
  • 1.4.10 GPUの利用

第2章 word2vecによる分散表現 ~単語をベクトルで表現~

  • 2.1 分散表現とは何か
  • 2.2 word2vecによる分散表現の構築
  • 2.3 gensimによる分散表現の構築
  • 2.4 既存の分散表現とその読み込み
  • 2.5 分散表現の利用方法
  • 2.6 doc2vecによる文書間類似度
  • 2.7 Word Mover Distanceによる文間距離
  • 2.8 fastText

第3章 LSTMによる時系列データ解析 ~文を単語の系列として解析~

  • 3.1 LSTMとは何か
  • 3.2 LSTMの入出力
  • 3.3 LSTMの学習
  • 3.4 LSTMの推論
  • 3.5 LSTMのバッチ処理
  • 3.6 多層LSTM
  • 3.7 双方向LSTM

第4章 seq2seqモデルによる機械翻訳 ~ある系列を別の系列に変換~

  • 4.1 seq2seqモデルとは何か
  • 4.2 NMTの学習
  • 4.3 NMTのモデルによる翻訳
  • 4.4 BLEUによるNMTの評価
  • 4.5 Attentionの導入
  • 4.6 Attention付きNMTのモデルによる翻訳
  • 4.7 バッチ処理への改良
  • 4.8 SentencePieceによる単語分割

第5章 事前学習済みモデルBERTの活用 ~タスクに応じてモデルを調整~

  • 5.1 BERTとは
  • 5.2 Self-Attentionとは
  • 5.3 既存BERTモデルの利用
  • 5.4 BERTの入出力
  • 5.5 BERTの各層の情報の取り出し
  • 5.6 Tokenizer
  • 5.7 BertForMaskedLMの利用
  • 5.8 ローカルにあるモデルからの読み込み
  • 5.9 BERTを利用した文書分類の実装/5.9.1 訓練データとテストデータの作成
  • 5.9.2 文書分類モデルの設定
  • 5.9.3 最適化関数の設定
  • 5.9.4 モデルの学習
  • 5.9.5 モデルによる推論
  • 5.9.6 BERTのバッチ処理
  • 5.9.7 パラメータ凍結によるfeature basedの実装
  • 5.9.8 BertForSequenceClassificationの利用
  • 5.9.9 識別の層とBERTの上位層のみの学習
  • 5.10 BERTを利用した品詞タガーの実装/5.10.1 データの準備
  • 5.10.2 モデルの設定
  • 5.10.3 学習
  • 5.10.4 推論
  • 5.11 DistilBERT
  • 5.11.1 既存のDistilBERTモデルの利用
  • 5.11.2 DistilBERTを用いたMASK単語の推定
  • 5.11.3 DistilBERTを用いた文書分類
  • 5.11.4 Laboro版DistilBERTを用いた文書分類
  • 5.12 SentenceBERT
  • 5.12.1 既存のSentenceBERTモデルの利用
  • 5.12.2 バッチに対する平均ベクトルの算出
  • 5.12.3 SentenceBERTを用いた文書分類
  • 5.13 2文入力のタスクに対するBERTの利用
  • 5.13.1 2文入力タイプのBERTの入出力
  • 5.13.2 2文入力タイプのタスク
  • 5.13.3 HuggingFaceの登録モデルの利用
  • 5.13.4 BERTを利用した含意関係認識
  • 5.13.5 BERTを利用したQAタスク

付録A プログラミング環境の構築(Windows)

  • A.1 Anaconda/A.2 PyTorch
  • A.3 CUDA

付録B 本書で解説した主要プログラム集

  • B.1 iris0.py
  • B.2 lstm.py
  • B.3 nmt.py
  • B.4 att-nmt.py
  • B.5 doccls.py
  • B.6 doccls4.py
  • B.7 bert-tagger.py

参考文献

あとがき

索引

Home 書籍一覧 PyTorch自然言語処理プログラミング word2vec/LSTM/seq2seq/BERTで日本語テキスト解析! ▲ ページトップへ戻る