PyTorch自然言語処理プログラミング word2vec/LSTM/seq2seq/BERTで日本語テキスト解析!
インプレス
- 新納 浩幸(著者)
PyTorchで日本語テキスト解析をより容易に実装!
日本語テキスト解析処理を快速プログラミング!
単語/文書の分類、機械翻訳などを実装。
自然言語処理は、検索エンジン、自動要約、機械翻訳、音声認識などで利用される技術です。
PyTorchでは、特にTransformersというBERT系モデルを提供することで、
より簡単にBERTを利用できるようになっています。
本書では、自然言語処理で特に重要なディープラーニング技術である
word2vec、LSTM、seq2seq、そしてBERTを取り上げます。
まず第1章でPyTorchの基本を説明します。そのあと各技術の考え方を説明し、
PyTorchを使ったそれぞれのプログラミング手法を解説します。
それらのプログラミングでは、以下のことなどを目的にしています。
・単語や文書の類似度を測る
・文章内の単語の品詞を分類する
・日英の機械翻訳を実行する
・文書を分類する
・質問/回答タスクを実行する
【本書の構成】
第1章 PyTorchの基礎
第2章 word2vecによる分散表現 ~単語をベクトルで表現~
第3章 LSTMによる時系列データ解析 ~文を単語の系列として解析~
第4章 seq2seqモデルによる機械翻訳 ~ある系列を別の系列に変換~
第5章 事前学習済みモデルBERTの活用 ~タスクに応じてモデルを調整~
付録A プログラミング環境の構築(Windows)
付録B 本書で解説した主要プログラム集
※本書の内容はPython/PyTorch/機械学習の基本事項を
理解されていることを前提としています。
発売日:2021-03-18
ページ数:256ページ
目次
表紙
サンプルコード・商標・免責
まえがき
第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
参考文献
あとがき
索引
著者プロフィール・STAFF LIST
奥付
著者プロフィール
-
新納 浩幸(著者)
◎新納 浩幸(しんのう ひろゆき)
1961年生まれ。1985年 東京工業大学理学部情報科学科卒業。
1987年 東京工業大学大学院理工学研究科情報科学専攻修士課程修了。
現在、茨城大学工学部情報工学科教授、博士(工学)。
専門分野は自然言語処理、機械学習、統計学など。
2018年から言語処理学会 理事を務める。
絶賛!発売中!
-
- るるぶ信州'25
-
- JTBパブリッシング(編集)
- 旅行・観光
-
- ゲーム開発で学ぶC言語入門 プロのクリエイターが教える基本文法と開発技法
-
- 廣瀬豪(著者)
- 開発技法
- ゲーム業界の登竜門C言語を完全マスター
-
- 徹底攻略ITパスポート教科書+模擬問題 令和6年度
-
- 間久保 恭子(著者)
- IT資格・IT試験
- 新シラバス6.2&6.3に完全対応!シラバス網羅型テキストの決定版!
-
- 人気インフルエンサーのテクニック満載! スマホでバズるショート動画のつくり方
-
- リンクアップ(著者)
- グラフィックス・デザイン
- 手元のスマホだけで人気投稿者を目指そう!
Copyright © Mynavi Publishing Corporation