contents memorandum はてな

目次とメモを置いとく場

『Javaで学ぶ自然言語処理と機械学習』(杉本徹 岩下志乃 オーム社 2018)

著者:杉本 徹[すぎもと・とおる] 自然言語処理人工知能
著者:岩下 志乃[いわした・しの] 感性情報処理、自然言語処理ユーザーインターフェース
カバーデザイン:オガワヒロシ(V Ariant design)
NDC:007.636 情報科学 >> コンピュータ・システム.ソフトウェア >> 機械翻訳


Javaで学ぶ自然言語処理と機械学習 | Ohmsha


【目次】
はじめに [iii-iv] 
目次 [v-vii]


1章 自然言語処理の概要 
1.1 自然言語処理とは 001
  1.1.1 自然言語処理の目的
  1.1.2 自然言語処理の歴史
  1.1.3 自然言語処理の応用例

1.2 必要な文法の知識 004
  1.2.1 日本語の階層構造
  1.2.2 格文法
  1.2.3 単語と品詞

1.3 自然言語処理における統計的手法 012

1.4 コーパス 015

演習1.1 コーパスファイルの整形(青空文庫を例にして) 017
  リスト1-1 AozoraFilter.java [020-025]

演習問題 026
  問 .1
  問 .2


2章 機械学習の基礎 
2.1 機械学習[machine learning]とは 027
  2.1.1 教師あり学習[supervised learning]
  2.1.2 教師なし学習[unsupervised learning]
  2.1.3 強化学習reinforcement learning
  2.1.4 深層学習[deep learning

2.2 分類器とその使いかた 033
  2.2.1 分類器[classifier]
  2.2.2 分類器の使用手順
    手順1 データの用意
    手順2 学習
    手順3 適用,評価
  2.2.3 分類器の評価方法

2.3 ナイーブベイズ分類器[naive Bayes classifier] 039
  2.3.1 概要
  2.3.2 使用手順
    学習
    適用

演習2.1 ナイーブベイズ分類器の実装 042

2.4 サポートベクトルマシン[SVMSupport Vector Machine] 054
  2.4.1 概要
  2.4.2 使用手順
    学習
    適用
  2.4.3 カーネル法[kernel method]

演習2.2 サポートベクトルマシンの利用 060

2.5 ニューラルネットワーク[neural network] 065
  2.5.1 概要
  2.5.2 誤差逆伝播[backpropagation]学習
  2.5.3 使用手順
    学習
    適用

演習2.3 ニューラルネットワークによる分類 070

演習問題 078
  問 2.1
  問 2.2


3章 自然言語テキストの解析 
3.1 解析処理の概要 079
  3.1.1 形態素解析[morphological analysis]
  3.1.2 構文解析[syntactic analysis]
  3.1.3 意味解析[semantic analysis]
  3.1.4 文脈解析[context analysis]

3.2 形態素解析 090
  3.2.1 ラティス構造[lattice structures]とコスト最小法[minimum connective-cost method]
  3.2.2 単語N-gramとコスト推定
  3.2.3 隠れマルコフモデル[HMM:Hidden Markov Model]に基づくコスト推定
  3.2.4 ビタビアルゴリズム[viterbi algorithm]

演習3.1 MeCabによる形態素解析 097
  MeCab.java
  Word.java
  TestMeCab.java
演習3.2 MeCabを用いたN-gramの計算 107
  TestNgram.java
  Counter.java
  Word.java
  Bigram.java
3.3 係り受け解析 115

演習3.3 CaboChaによる係り受け解析 115
  CaboCha.java
  Chunk.java
  Word.java
  TestMeCab.java
演習問題 128
  問 3.1
  問 3.2
  参考


4章 自然言語の意味理解 
4.1 意味理解とは 129
  4.1.1 意味理解の必要性
  4.1.2 単語の意味
  4.1.3 文の意味
  4.1.4 文章の意味
  4.1.5 意味に対する操作
    ①フィルタリング
    ②推論
    ③類似性判定

4.2 概念体系とシソーラス 137
  4.2.1 単語と概念の関係
  4.2.2 概念の体系化とシソーラス[thesaurus]
  4.2.3 WordNet
  4.2.4 シソーラスに基づく単語の類似度の定義
  4.2.5 概念体系やシソーラスに基づく方法の問題点

演習4.1 日本語WordNetを使ってみる 144
  公式Webサイトでの検索方法
  使用例① WordNetの最上位層を確認する
  使用例② 2つの単語の類似度を求める

4.3 単語の共起関係と意味 148
  4.3.1 分布意味論[distributional semantics]
  4.3.2 共起語[co-occurred terms]と自己相互情報量[PMI:pointwise mutual information]
  4.3.3 分布類似度[distributional similarity]
  4.3.4 共起語ベクトルに基づく方法の問題点

演習4.2 共起語を求める 153

4.4 単語の分散表現[distributed representation] 160
  4.4.1 概要
  4.4.2 skip-gramとCBOW[Continuous Bag-Of-Words]
  4.4.3 単語分散表現の特徴

演習4.3 単語分散表現の利用 165
  ①単語分散表現データの用意
  ②単語分散表現データを利用するJavaプログラム

4.5 文の意味解析 179
  4.5.1 概要
  4.5.2 格フレーム辞書の利用
  4.5.3 機械学習の利用

演習問題 184
  問 4.1
  問 4.2
  問 4.3
  問 4.4
  問 4.5


5章 自然言語処理の応用 
5.1 応用技術の概要 185
  5.1.1 情報検索とその関連技術 186
    情報検索[information retrieval]
    情報推薦
    質問応答
  5.1.2 文書処理 188
    文書分類
    文書クラスタリング
    文書要約
  5.1.3 テキスト分析 189
    情報抽出
    評判分析
    テキストマイニング
  5.1.3 対話システム[dialogue system] 190
  5.1.4 機械翻訳[machine translation] 190

5.2 文書のモデル化と情報検索 191
  5.2.1 情報検索の概要
  5.2.2 文書のモデル化
  5.2.3 単語の重要度とTF-IDF[term frequency–inverse document frequency]法
  5.2.4 情報検索のモデル
    ブーリアンモデル
    ベクトル空間モデル
  5.2.5 情報検索システムの評価
  5.2.6 Web検索

演習5.1 文書中の重要語を求める 207

5.3 文書分類 212
  5.3.1 文書分類の概要
  5.3.2 文書分類の方法
    辞書に基づく方法
    機械学習を用いる方法
  5.3.3 評判分析
    
演習5.2 経験を述べた文のポジネガ分類 216

5.4 対話システム 220
  5.4.1 対話システムの概要
  5.4.2 対話システムの類型
    対話の目的
    対話の主導権
    入出力のモダリティ
  5.4.3 対話システムの実現方法
    状態遷移方式
    知識駆動方式
    プランに基づく方式
    雑談に適した方式
    機械学習の利用

演習5.3 簡単な雑談対話システム 230

演習問題 242
  問 5.1
  問 5.2
  問 5.3
  問 5.4
  問 5.5


付録 Javaについて 
a.1 Javaの概要 245
a.2 開発環境の準備と実行方法 246
  a.2.1 コマンドラインから実行する方法
  a.2.2 統合開発環境を利用する方法
a.3 Javaプログラムの構成 249
a.4 本書で使用する標準ライブラリ機能 251
  a.4.1 文字列(String)
  a.4.2 リスト(List,ArrayList
  a.4.3 マップ(Map,HashMap)
  a.4.4 ストリーム入出力(ファイル,プロセスなど)
a.5 トラブルシューティング 255


参考文献 [257]
索引 [258-262]





【メモランダム】

・誤植について。本書の第5章第1節の構成を示す数字に重複を発見したので、上記目次では変更してある(第1版第1刷で確認した)。

  [変更前
  5.1.3 テキスト分析 189
    情報抽出
    評判分析
    テキストマイニング
  5.1.3 対話システム 190
  5.1.4 機械翻訳 190

  ↓ 

  [変更後
  5.1.3 テキスト分析 189
    情報抽出
    評判分析
    テキストマイニング
  5.1.4 対話システム 190
  5.1.5 機械翻訳 190