実践 Pythonによるベイズ分析とトピックモデル - 先進的なデータ分析へのアプローチ -

実践 Pythonによるベイズ分析とトピックモデル - 先進的なデータ分析へのアプローチ -

文書データだけでなく画像データ,軌跡データの解析も,プログラムを作成しながら学べます

ジャンル
発行年月日
2024/04/25
判型
A5
ページ数
256ページ
ISBN
978-4-339-02943-7
実践 Pythonによるベイズ分析とトピックモデル - 先進的なデータ分析へのアプローチ -
在庫あり
2営業日以内に出荷致します。

定価

3,740(本体3,400円+税)

カートに入れる

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • 著者紹介
  • 広告掲載情報

【書籍の特徴】
本書は,理論と実践の両方から,ベイズ分析,ひいてはトピックモデルについて解説するものである。トピックモデルとは,自然言語処理(NLP)の手法として提案されたもので,大量な文書データから潜在的で深層的なトピックを発掘できる確率モデルである。近年,その威力は文書データにとどまらず,画像データや軌跡データの解析にも応用できるようになり,ディープラーニングと並んで人工知能(AI)を支える基本技術となっている。
本書では,理論的な基本事項をしっかりと押さえたうえで,できるだけプログラム作成しながら実践的に学習できるように心掛けている。また,読者が無理なく上れるような低めの階段を意識して章立てが用意されている。各章の内容を以下に簡単に紹介する。

【各章について】
1章:本書の学習に必要な確率と確率分布の知識およびそのプログラム実現を説明する。
2章:対比の位置づけとして,従来のデータ分析の基本手法を復習する。
3章:ベイズ分析の基本的な考え方を説明する。あわせてベイズ分析のプログラム実現に使われるPyMCライブラリの使い方を紹介する。
4章:対比の位置づけとして,従来の文書データ分析の基本手法を復習する。
5章:ユニグラムモデルを構成して,文書データの分析を行う。また,PyMCライブラリにより,そのプログラム実現を示す。
6章:トピックの考え方を取り入れて,混合ユニグラムモデルを構成する。また,混合ユニグラムモデルを用いた文書解析プログラム例を示す。
7章:混合ユニグラムモデルをさらに発展させて,トピックモデルを構成する。また,トピックモデルを用いた文書解析プログラム例を示す。
8章:Scikit-learnライブラリにあるトピックモデルのモジュールの使い方を説明する。それを利用して,20 News Groupsデータセットの英語文書データからトピックを抽出する。
9章:Gensimというトピックモデルに特化したライブラリの使い方を説明する。それを利用して,Wikipediaの日本語文書データからトピックを抽出する。
10章:トピックモデルを拡張して,著者トピックモデルを構成する。そのうえで,Gensimライブラリを利用して,Twitterから収集した日本語の投稿データからトピックを抽出する。
11章:トピックモデルを画像データセットに応用する。Gensimライブラリを利用して,Caltech101というデータセットから,小さく分割されたセルで表したトピックを抽出する。
12章:トピックモデルを軌跡データセットに応用する。Gensimライブラリを利用して,船舶のAISデータから,航路(コース)となるようなトピックを抽出する。

【著者からのメッセージ】
「実践」こそ技術習得の近道である。本書を読むにあたり,繰り返し実践するように心掛けてください。また,実務での応用場面を想定した問題を解決するよう取り組むことができれば,より効果的である。本書を読んでいただいた皆様は,先進的なデータ分析スキルが向上し,実務の場においてご活躍いただければ幸いである。

世の中にはデータがあふれかえっている。データと向き合うのは,もはや日常茶飯事である。データとは,現実社会の記録である。個々のデータを取り出してみることで,昔のことを具体的に正確に思い出すことができる。さらに,データをたくさん集めておけば,それらを分析することで,世の中の事柄のトレンド,事柄間の関連性のような価値のある情報が浮かび上がる。データ分析の手法として,以前から平均値,標準偏差,四分位数などの統計量が用いられている。ただしこれらの手法では,収集したデータをそのまま利用しているため,いわゆる潜在的な情報,深層的な情報を発見することができない。

本書は,大量なデータから潜在的で深層的な情報を発掘できるトピックモデルという確率的なデータ分析手法の理論と実践の両方を解説するものである。トピックモデルは,自然言語処理(NLP)の手法の一つとして知られているが,その威力は文書データにとどまらず,画像データや軌跡データの分析にも応用できるような汎用的な技術であり,ディープラーニングと並んで人工知能の基本として認識されるべき技術である。

本書では,簡単な準備学習を経てから,ベイズ分析とトピックモデル,そしてその応用事例の順に,プログラムを作成しながら実践的に学習できるように章立てが用意されている。各章の内容を以下に簡単に紹介する。

1章:本書の学習に必要な確率と確率分布の知識およびそのプログラム実現を説明する。
2章:対比の位置付けとして,従来のデータ分析の基本手法を復習する。
3章:ベイズ分析の基本的な考え方を説明する。併せてベイズ分析のプログラム実現に使われるPyMCライブラリの使い方を紹介する。
4章:対比の位置付けとして,従来の文書データ分析の基本手法を復習する。
5章:ユニグラムモデルを構成して,文書データの分析を行う。また,PyMCライブラリにより,そのプログラム実現を示す。
6章:トピックの考え方を取り入れて,混合ユニグラムモデルを構成する。また,混合ユニグラムモデルを用いた文書解析プログラム例を示す。
7章:混合ユニグラムモデルをさらに発展させて,トピックモデルを構成する。また,トピックモデルを用いた文書解析プログラム例を示す。
8章:Scikit-learnライブラリにあるトピックモデルのモジュールの使い方を説明する。それを利用して,20ニュースグループデータセットの英語文書データからトピックを抽出する。
9章:Gensimというトピックモデルに特化したライブラリの使い方を説明する。それを利用して,Wikipediaの日本語文書データからトピックを抽出する。
10章:トピックモデルを拡張して,著者トピックモデルを構成する。そのうえで,Gensimライブラリを利用して,Twitter(現,X)から収集した日本語の投稿データからトピックを抽出する。
11章:トピックモデルを画像データセットに応用する。Gensimライブラリを利用して,Caltech101というデータセットから,小さく分割されたセルで表したトピックを抽出する。
12章:トピックモデルを軌跡データセットに応用する。Gensimライブラリを利用して,船舶のAISデータから,航路(コース)となるようなトピックを抽出する。

読者の皆様におかれましては,本書を読むことで先進的なデータ分析スキルを身に付け,トピックモデルの技術を応用して実務の場で役立てて頂ければ幸いである。

最後に,本書の執筆にあたり,多方面から熱心に支えてくれた家族に感謝の意を表する。また,本書を出版する機会を与えてくださったコロナ社の皆さんに衷心より感謝申し上げる。

2024年2月
藤野 巖

1. 確率と確率分布
1.1 確率と確率分布
 1.1.1 確率
 1.1.2 確率分布
1.2 条件確率と同時確率
 1.2.1 条件確率
 1.2.2 同時確率
1.3 乗法定理とベイズの定理
 1.3.1 乗法定理
 1.3.2 ベイズの定理
1.4 各種確率分布
 1.4.1 ベルヌーイ分布
 1.4.2 二項分布
 1.4.3 カテゴリ分布
 1.4.4 正規分布(1次元ガウス分布)
 1.4.5 指数分布
 1.4.6 ベータ分布
 1.4.7 ガンマ分布
 1.4.8 ディリクレ分布
1.5 Scipyの確率統計モジュールstats
1.6 Pythonによる各種確率分布のプログラム
演習問題

2. データの統計分析の基本
2.1 統計分析
2.2 Pandasとは
 2.2.1 シリーズ
 2.2.2 データフレーム
2.3 Pandasの基本的な使い方
2.4 Pandasによる統計分析のプログラム例
演習問題

3. ベイズ分析の基本
3.1 ベイズ分析の基本的な考え方
3.2 PyMCの使い方(その1)
3.3 Arvizについて
3.4 PyMCによるサンプリングプログラム
 3.4.1 ベルヌーイ分布からのサンプリング
 3.4.2 正規分布からのサンプリング
3.5 PyMCによるパラメータ推定のプログラム
 3.5.1 ベルヌーイ分布のパラメータ推定
 3.5.2 正規分布のパラメータ推定
演習問題

4. 文書データ分析の基本
4.1 形態素解析とMeCab
4.2 Bag of Words
4.3 文書データの数値化
 4.3.1 単語の出現回数
 4.3.2 TFIDF
 4.3.3 Scikit-learnライブラリによるTFIDF単語文書行列の実現法
 4.3.4 TFIDF単語文書行列を計算するプログラム例
4.4 コサイン類似度
 4.4.1 コサイン類似度の計算式
 4.4.2 Scikit-learnライブラリによるコサイン類似度の実現法
 4.4.3 コサイン類似度を計算するプログラム例
演習問題

5. ユニグラムモデル
5.1 文書生成の確率モデル
5.2 グラフィカルモデル表現
5.3 ユニグラムモデル
 5.3.1 ユニグラムモデルとは
 5.3.2 文書集合を生成するプログラム
 5.3.3 文書集合の単語出現頻度のプログラム
5.4 ユニグラムモデルのパラメータ推定
 5.4.1 データ分析とモデル
 5.4.2 PyMCによるユニグラムモデルのパラメータ推定
 5.4.3 ユニグラムモデルにおけるカテゴリ分布の発生確率推定
演習問題

6. 混合ユニグラムモデル
6.1 混合ユニグラムモデル
6.2 文書集合(複数の文書)の生成
6.3 PyMCの使い方(その2)
6.4 混合ユニグラムモデルにおけるトピック別単語分布の推定
演習問題

7. トピックモデル
7.1 トピックモデル
7.2 文書集合(複数の文書)の生成
7.3 トピックモデルにおけるカテゴリ分布のパラメータ推定
7.4 保存済み推定結果の利用
 7.4.1 トピック別の単語の出現確率順表示
 7.4.2 文書別トピック割合の表示
演習問題

8. Scikit-learnライブラリによるトピックモデル
8.1 20ニュースグループデータセット
8.2 英語文書の形態素解析
8.3 Scikit-learnのトピックモデルライブラリ
8.4 20ニュースグループデータセットから単語集合を用意する
8.5 20ニュースグループの単語集合からトピックを抽出する
8.6 トピック別の上位単語を取り出す
演習問題

9. Gensimライブラリによるトピックモデル
9.1 Wikipedia記事の単語集合の作成
9.2 Gensimを用いたトピック解析
9.3 Wikipediaデータセットへのトピックモデルの適用
9.4 トピック別の上位単語と文書別のトピックの取り出し
演習問題

10. 著者トピックモデル
10.1 著者トピックモデル
10.2 PyMCによる著者トピックモデルの実現
 10.2.1 著者トピックモデルに基づいたデータセットの作成
 10.2.2 PyMCによる著者トピックモデルの実現
10.3 Gensimによる著者トピックモデル
 10.3.1 Gensimの著者トピックモデルクラス
 10.3.2 Twitterデータからのデータセットの準備
 10.3.3 Twitterデータセットへの著者トピックモデルの適用
演習問題

11. 画像データセットからのトピック抽出
11.1 画像データにトピックモデルを適用するための予備知識
 11.1.1 画像データの仕組み
 11.1.2 Matplotlibによる画像の読込みと表示
 11.1.3 ベクトル量子化とコードの作成
11.2 画像データセットを用いた画像の文書集合の作成
11.3 画像の文書集合へのトピックモデルの適用
11.4 トピックモデルによる処理結果の可視化
演習問題

12. 船舶の航跡データからのトピック抽出
12.1 AISデータにトピックモデルを適用するための予備知識
 12.1.1 AISデータ
 12.1.2 Basemapによる地図情報の表示
 12.1.3 Basemapによる航跡の表示
12.2 AISデータセットを用いた航跡の文書集合の作成
12.3 航跡のコード文書集合へのトピックモデルの適用
12.4 トピックをコードから航跡に復元
演習問題

付録
参考文献
索引

藤野 巖(フジノ イワオ)

掲載日:2024/04/01

電子情報通信学会誌2024年4月号

掲載日:2024/03/29

日刊工業新聞広告掲載(2024年3月29日)

関連資料(一般)

関連資料一覧