NLPの深い学習
このチュートリアルは、自然言語処理のドメインで深い学習アルゴリズムを使用することの紹介です。
また、次のソースからコンテンツ(理論とコード)を使用して準備されています。
- Pythonを使用したディープラーニング、FrançoisCholletの本
- 自然言語処理におけるニューラルネットワーク方法、Yoav Goldbergの本
- CS224D:自然言語処理のための深い学習
Kaggleの有毒コメント分類チャレンジデータセットの練習コード
目次
ユースケース
- シーケンス分類
- 言語検出
- カテゴリ分類(感情、トピックなど)
- キーワード分類(名前の性別、場所/個人名)
- シーケンスへのシーケンス(seq2seq)
- 翻訳
- Gmailスマート返信
- 会話AI:チャットボット
- その他
- 名前、ストーリー、詩、ダイアログジェネレーター
- 画像キャプション
- 音声タグ付けの一部
- 名前エンティティ認識
システムのセットアップ
- Python 3.6
- ピップ
- Virtualenv
- 図書館:
- ケラス
- Tensorflow
- jupyter
- matplotlib
プレイするデータセット
- IMDBレビューデータセット
- Kaggle(Toxic Comment Classification Challenge)Wikipediaコメントデータセット
- Ubuntuダイアログコーパス
- 翻訳データセット
- その他のデータセット
データ分析
- 一般分析
シーケンス表現
- 表現
- 1つのホットエンコーディング
- 単語埋め込み
モデル
- クラスモデル1への埋め込み
- 1層に接続された埋め込みRNN(再発ニューラルネットワーク)モデル2とモデル2拡張
- 双方向RNNモデル3とモデル3が拡張されました
現代のRNNアーキテクチャ
- 長期記憶(LSTM)
- ゲーターリカレントユニット(GRU)
- seq2seq
- 注意
- ビーム検索
ケラス
- APIおよびキーワード
- オプティマイザー
- 損失
- 活性化
- メトリック
- モデルを生産と推論に展開します
モデル最適化手法
- ドロップアウト
- 時間による切り捨てられたバックプロパゲーション(TBPTT)
- 勾配の問題を消滅させます