Successfully reported this slideshow.
Your SlideShare is downloading. ×

Encoder-decoder 翻訳 (TISハンズオン資料)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Active Learning 入門
Active Learning 入門
Loading in …3
×

Check these out next

1 of 16 Ad

More Related Content

Slideshows for you (20)

Similar to Encoder-decoder 翻訳 (TISハンズオン資料) (20)

Advertisement

More from Yusuke Oda (11)

Recently uploaded (20)

Advertisement

Encoder-decoder 翻訳 (TISハンズオン資料)

  1. 1. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 1 Encoder-decoder 翻訳 Yusuke Oda (NAIST) @odashi_t 2015/12/10 TIS Hands-On
  2. 2. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 2 機械翻訳 ● 機械翻訳 (Mahcine Translation: MT) – ある言語の文を、計算機で別の言語の文に変換 – 使用する情報やアルゴリズムによって色々な手法が存在 ● ルールベース翻訳 … 人間が書いた変換ルールを使用 ● 用例翻訳 … 登録された文の単語を置き換えて翻訳 ● 統計的機械翻訳 彼 は 望遠鏡 で 女の子 を 見た He saw a girl with a telescope
  3. 3. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 3 統計的機械翻訳 ● 統計的機械翻訳 (Statistical Machine Translation: SMT) – 大量の対訳文から翻訳に必要な情報を自動的に学習 原言語文原言語文原言語文目的言語文 原言語文原言語文原言語文原言語文 翻訳 アルゴリズム 学習 – フレーズ翻訳 … 原言語の単語列を使用 – 構文翻訳 … 原言語の構文木を使用 – Seq-to-seq 翻訳 … 原言語の意味表現を使用 直訳 意訳
  4. 4. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 4 フレーズ翻訳 ● 単語列をグループ化、変換、並べ替え – 現在主流の手法 彼 は 望遠鏡 で 女の子 を 見た He sawa girlwitha telescope He saw a girl with a telescope
  5. 5. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 6 Sequence-to-sequence 翻訳 ● 部分的な変換ルールは学習せず、文全体の情報を用いて翻訳 直訳手法 原言語 目的 言語 理解 原言語を解析 分解 細かいルールに分割 再構築 ルールを結合 原言語 目的 言語 理解 原言語の 意味を抽出 再構築 意味表現から 直接単語を生成 Sequence-to-sequence 意味表現
  6. 6. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 7 ニューラルネット翻訳 ● Sequence-to-sequence 翻訳の一種 ● 意味の解析・単語の生成にニューラルネットを使用 – 複雑さ: 従来の翻訳アルゴリズムよりも圧倒的に単純 – 翻訳精度: 設定次第で従来手法に匹敵・凌駕 原言語 目的 言語 ニューラル ネット (単語生成) ニューラル ネット (意味解析) 意 味 表 現 ● Encoder-decoder 翻訳モデル – 最も簡単な sequence-to-sequence 翻訳モデル – リカレントニューラルネットを使用
  7. 7. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 8 リカレントニューラルネット (1) ● リカレントニューラルネット (Recurrent Neural Network: RNN) – フィードバック付きのニューラルネット – 時系列データの解析によく用いられる
  8. 8. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 9 リカレントニューラルネット (2) ● 時間方向に伸展したRNN – 中間層には入力の種類と順序に関する情報が蓄積される データ1 データ2 データ3 データ1 データ1  →データ2 データ1  →データ2   →データ3
  9. 9. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 10 Encoder-decoder 翻訳モデル (1) ● 原言語側と目的言語側の2本のRNNを結合 – 原言語側 … 入力単語の情報を蓄積 – 目的言語側 … 蓄積された情報を取り出しながら単語を生成 END runs he 走る は 彼 Encoder Decoder
  10. 10. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 11 Encoder-decoder 翻訳モデル (2) END runs he 走る は 彼 ● 埋め込み層 (embedding layer) – 特定の単語の意味をベクトルで表現
  11. 11. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 12 Encoder-decoder 翻訳モデル (3) END runs he 走る は 彼 ● 隠れ層 (hidden layer) – 単語の意味の蓄積・放出
  12. 12. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 13 Encoder-decoder 翻訳モデル (4) END runs he 走る は 彼 ● 出力層 (softmax) – 次に生成する単語の確率を推定
  13. 13. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 14 HANDS ON
  14. 14. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 15 Chainer で Encoder-decoder 翻訳 ● Chainer - http://chainer.org/ – ニューラルネットのフレームワーク – ソースコードの計算式がそのままニューラルネットの構造になる ● 複雑な形状のニューラルネットを記述するのに最適 は (一例、他の定式化も可能)
  15. 15. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 16 Chainer で Encoder-decoder 翻訳 ● Chainer - http://chainer.org/ – ニューラルネットのフレームワーク – ソースコードの計算式がそのままニューラルネットの構造になる ● 複雑な形状のニューラルネットを記述するのに最適 import numpy as np import chainer.functions as F from chainer import Variable W_xi = F.EmbedID(VOCAB, EMBED) W_ip = F.Linear(VOCAB, HIDDEN) W_pp = F.Linear(HIDDEN, HIDDEN) ... x = Variable(np.array([[w]], dtype=np.float32)) i = F.tanh(W_xi(x)) p = F.tanh(W_ip(i) + W_pp(p)) は
  16. 16. 15/12/10 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 17 See Also ● ChainerとRNNと機械翻訳 - Qiita – http://qiita.com/odashi_t/items/a1be7c4964fbea6a116e ● スタンドアロンで動くニューラル翻訳 – https://github.com/odashi/chainer_examples – 現在Chainer1.4以前で対応 ● サンプルデータ – https://drive.google.com/open?id=0B3O7bgd3mym6VG9OVHRmRlBLbkk

×