星の本棚

サイエンス、テクノロジー、エンジニア関連のノート(忘備録)です。

自然言語処理(NLP)

自然言語処理 [NLP : natural language processing]

自然言語処理NLP)に関してのマイノートです。
特に、ニューラルネットワークディープラーニングによる自然言語処理NLP)を重点的に取り扱っています。
今後も随時追加予定です。

default

尚、ニューラルネットワークに関しては、以下の記事に記載しています。

yagami12.hatenablog.com

又、より一般的な機械学習に関しては、以下の記事に記載しています。

yagami12.hatenablog.com

目次 [Contents]

  1. 自然言語処理(NLP)
    1. one-hot encode と one-hot ベクトル
    2. 埋め込みベクトル [embedding vector] と埋め込み行列 [embedding matrix]
    3. 言語モデル [LM : Language model]
      1. N グラム言語モデル
      2. ニューラル言語モデル [NLM : Neural Language Model]
        1. 順伝播型ニューラル言語モデル(FFNN-LM)
        2. 再帰ニューラル(RNN)言語モデル [RNN-LM]
      3. 言語モデルの評価
        1. パープレキシティ [PPL : Perplexity]
    4. 形態素解析 [Morphological Analysis]
    5. 分散表現 [distributional / distributed]
      1. 単語の分散表現、単語埋め込み [Word Embeddings]
      2. 単語の分散表現、単語埋め込み [Word Embeddings] の具体的な獲得方法
        1. ニューラル言語モデルを用いた分散表現の獲得方法
        2. 対数双線形モデルを用いた分散表現の獲得方法
      3. word2vec ツール
        1. CBOW [Countinuous Bag-of-Words] モデル
        2. skip-gram モデル
        3. 負例サンプリング [Negative Sampling] による skip-gram モデルの学習の高速化
        4. 階層的ソフトマックス [HSM : hierarchical softmax] による skip-gram モデルの学習の高速化
    6. 系列変換モデル [sequence-to-sequence / seq2seq]
      1. モデルの構造(アーキテクチャ)[model architecture]
        1. 符号化器 - 埋め込み層 [encoder embedding layer]
        2. 符号化器 - 再帰層 [encoder recurrent layer]
        3. 復号化器 - 埋め込み層 [decoder embedding layer]
        4. 復号化器 - 再帰層 [decoder recurrent layer]
        5. 復号化器 - 出力層 [decoder output layer]
        6. seq2seq モデルの処理負荷
      2. seq2seq モデルの学習方法
      3. seq2seq モデルにおける系列生成方法
        1. 貪欲法 [greedy algorithm]
        2. ビーム探索 [beam search]
    7. 注意機構 [attention mechanism] / seq2seq model
      1. ソフト注意機構 [soft attention mechanism]
        1. seq2seq モデルでのソフト注意機構 [soft attention mechanism]
        2. より一般的なモデルでのソフト注意機構 [soft attention mechanism]
      2. ハード注意機構 [hard attention mechanism]
    8. 記憶ネットワーク [MemN : memory networks]
      1. 記憶ネットワークのアーキテクチャ [architecture]
      2. 教師あり記憶ネットワーク [supervised memory networks / strongly supervised memory networks]
        1. I : 入力情報変換 [input feature map]
        2. G : 一般化 [genelarization]
        3. O : 出力情報変換 [output feature map]
      3. end-to-end 記憶ネットワーク [end-to-end memory networks]
        1. I : 入力情報変換 [input feature map]
        2. G : 一般化 [genelarization]
        3. O : 出力情報変換 [output feature map]
      4. 動的記憶ネットワーク [DMN : dynamic memory networks]
    9. ニューラル言語モデル、seq2seq モデルの出力層の高速化手法(クロス・エントロピー損失関数の勾配計算の効率化)
      1. 重点サンプリング [importance sampling]
      2. 雑音対照推定 [NCE : noise-contrastive estimation]
      3. 負例サンプリング [negative sampling]
      4. ブラックアウト [black-out]
      5. 階層的ソフトマックス [HSM : hierarchial softmax]
      6. 各種高速化手法の比較
    10. 自然言語処理の応用タスク [application]
      1. 機械翻訳 [MT : machine translation]
        1. ニューラル翻訳 [NMT : neural machine translation] / ニューラル翻訳モデル
        2. GroundHog / RNNSearch
        3. OpenNMT / seq2seq-attn
          1. 符号化器 [Encoder] / 2 層の Bidirectional-LSTM
          2. 復号化器 [Decoder] / 2 層の LSTM + attention 層
        4. 機械翻訳タスクで共通の課題とその対策、改良
          1. 語彙数、未知語と入出力単位
          2. 過剰生成 [over-generation]、不足生成 [under-generation] と被覆 [coverage]
      2. 文書要約 [text summarization]
        1. 見出し生成タスク [headline generation task] / 短文生成タスク
          1. 文書要約タスクでの Encoder-Decoder 方式 / attention 構造を用いるモデル
            1. 「A Neural Attention Model for Abstractive Sentence Summarization」/ Attention-Based Summarization (ABS)
          2. RNN による ABS モデルの拡張、改良
          3. その他の改良
      3. 対話システム [dialog system]
        1. 対話モデル
          1. 対話システムにおける seq2seq モデルの適用
          2. attention 構造を用いた、対話モデル
          3. 対話システムの特徴である話者交代と発話者を積極的にモデルに取り組んだ手法
        2. 対話モデルの発展
        3. 対話システムの自動評価
      4. 質問応答 [QA : question answering]
        1. 回答選択タスク
        2. 回答選択問題の評価方法
        3. end-to-end な質問応答
  2. 参考文献

自然言語処理NLP

埋め込みベクトル [embedding vector] と埋め込み行列 [embedding matrix]

image

言語モデル [LM : Language model]

image image image image image image

ニューラル言語モデル [NNLM : Neural network Language model ]

順伝播型ニューラル言語モデルFFNN-LM)

image image image image

再帰ニューラル言語モデル(RNN-LM)

image image image image

分散表現 [distributional / distributed]

image image image image

単語の分散表現 [disturibute representation]、単語埋め込み [Word Embeddings]

image image image

単語の分散表現、単語埋め込み [Word Embeddings] の具体的な獲得方法

image

ニューラル言語モデルを用いた分散表現の獲得方法

image image image

対数双線形モデルを用いた分散表現の獲得方法

image

word2vec ツール

image

CBOW [Countinuous Bag-of-Words] モデル

image image image image image image

skip-gram モデル

image image image image

負例サンプリング [Negative Sampling] による skip-gram モデルの学習の高速化

image image image image

系列変換モデル [sequence-to-sequence / seq2seq]

image image image image image image image image

モデルの構造(アーキテクチャ)[model architecture]

image image

符号化器 - 埋め込み層 [encoder - embedding layer]

image image image image

符号化器 - 再帰層 [encoder - recurrent layer]

image image image

復号化器 - 埋め込み層 [decoder - embedding layer]

image image image image image

復号化器 - 再帰層 [decoder - recurrent layer]

image image image

復号化器 - 出力層 [decoder - output layer]

image image image image image image

seq2seq モデルの処理負荷

image image image

seq2seq モデルの学習方法

image image image

seq2seq モデルにおける系列生成方法

image image image

貪欲法 [greedy algorithm]

image image image

ビーム探索 [beam search]

image image image image image image image image image image


注意機構 [attention mechanism] / seq2seq model

image

ソフト注意機構 [soft attention mechanism]

seq2seq モデルでのソフト注意機構 [soft attention mechanism]

image image image image image image image

より一般的なモデルでのソフト注意機構 [soft attention mechanism]

image image image image image

ハード注意機構 [hard attention mechanism]

image image image

記載中...


記憶ネットワーク [MemN : memory networks]

image

記憶ネットワークのアーキテクチャ [architecture]

image image image image

教師あり記憶ネットワーク [supervised memory networks / strongly supervised memory networks]

image image

I : 入力情報変換 [input feature map]

image

G : 一般化 [genelarization]

image

O : 出力情報変換 [output feature map]

image image image image image image image

end-to-end 記憶ネットワーク [end-to-end memory networks]

image image image

I : 入力情報変換 [input feature map]

image

G : 一般化 [genelarization]

image

O : 出力情報変換 [output feature map]

image image

動的記憶ネットワーク [DMN : dynamic memory networks]

image image image image image


ニューラル言語モデル、seq2seq モデルの出力層の高速化手法
(クロス・エントロピー損失関数の勾配計算の効率化)

image

image image image image image

重点サンプリング [importance sampling]

image image image image image image image image

雑音対照推定 [NCE : noise-contrastive estimation]

image image

image image image

負例サンプリング [negative sampling]

image image image

ブラックアウト [black-out]

image image image image image image

階層的ソフトマックス [HSM : hierarchial softmax]

image image image image


自然言語処理の応用タスク [application]

機械翻訳 [MT : machine translation]

GroundHog / RNNSearch

モントリオール大学からリリースされているニューラル翻訳(NMT)のツール。
GroundHog ツールのモデルの実装は、注意機構 [attention] 有りとなし両方の場合を含む。

OpenNMT / seq2seq-attn

ツールの使い方は、上記の参考サイトにて。
以下は、OpenNMT ツールで採用されているモデルのアーキテクチャの説明。

image

符号化器 [Encoder] / 2 層の Bidirectional-LSTM

image image

符号化器 - 埋め込み層 [encoder - embedding layer]

image

符号化器 - 再帰層 [encoder - recurrent layer]

image image

復号化器 [Decoder] / 2 層の LSTM + attention 層

image image image

image

復号化器 - 埋め込み層 [decoder - recurrent layer]

image image

復号化器 - 再帰層 [decoder - recurrent layer]

image image image

復号化器 - 注意層 [decoder - attention layer]

image image image

復号化器 - 出力層 [decoder - output layer] / モデルの学習時の処理

image image

復号化器 - 出力層 [decoder - output layer] / モデルの評価時の処理

image image


機械翻訳タスクで共通の課題とその対策、改良

image

語彙数、未知語と入出力単位

image image image image image

過剰生成 [over-generation]、不足生成 [under-generation] と被覆 [coverage]

image image


文書要約 [text summarization]

image

見出し生成タスク [headline generation task] / 短文生成タスク

image

文書要約タスクでの Encoder-Decoder 方式 / attention 構造を用いるモデル

image

論文「A Neural Attention Model for Abstractive Sentence Summarization」/ Attention-Based Summarization (ABS)

image image image

順伝播ニューラル言語モデル側のアーキテクチャ

image image image

attention 構造付き Encoder 側のアーキテクチャ

image image image


RNN による ABS モデルの拡張、改良

image


対話システム [dialog system]

image

対話モデル

image image

対話システムにおける seq2seq モデルの適用

image image image

attention 構造を用いた、対話モデル

image

対話システムの特徴である話者交代と発話者を積極的にモデルに取り組んだ手法

image

論文「Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network Models」

image image

論文「A Persona-Based Neural Conversation Model」

image image image

論文「Addressee and Response Selection for Multi-Party Conversation」

image image image

対話システムの自動評価

image image

論文「The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems」

image image image image


質問応答 [QA : question answering]

image image

回答選択タスク

image image image image image image image

回答選択問題の評価方法

image image image

end-to-end な質問応答

image


参考文献

深層学習 Deep Learning (監修:人工知能学会)

深層学習 Deep Learning (監修:人工知能学会)

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ)

深層学習による自然言語処理 (機械学習プロフェッショナルシリーズ)