著者:杉本 徹[すぎもと・とおる] 自然言語処理、人工知能。
著者:岩下 志乃[いわした・しの] 感性情報処理、自然言語処理、ユーザーインターフェース。
カバーデザイン:オガワヒロシ(V Ariant design)
NDC:007.636 情報科学 >> コンピュータ・システム.ソフトウェア >> 機械翻訳
【目次】
はじめに [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 サポートベクトルマシン[SVM:Support 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