Submit Search
Upload
Enriching Word Vectors with Subword Information
•
1 like
•
933 views
Sho Takase
Follow
第9回最先端NLP勉強会発表スライド(coming soon)
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 18
Download now
Download to read offline
Recommended
思いついたアルゴリズムを TensorFlow で実装してみた話
思いついたアルゴリズムを TensorFlow で実装してみた話
Shuhei Fujiwara
Tensorflowで言語識別をやってみた
Tensorflowで言語識別をやってみた
Kyota Yasuda
TensorFlowをざっくりLTしてみた
TensorFlowをざっくりLTしてみた
Mitsuki Ogasahara
研究室内統計勉強会20160526
研究室内統計勉強会20160526
敬之 中島
TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!
Kei Hirata
内省するTensorFlow
内省するTensorFlow
Yoshiyuki Kakihara
「深層学習による自然言語処理」読書会 4.2記憶ネットワーク@レトリバ
「深層学習による自然言語処理」読書会 4.2記憶ネットワーク@レトリバ
scapegoat06
TensorFlow 入門
TensorFlow 入門
Takenori Nakagawa
Recommended
思いついたアルゴリズムを TensorFlow で実装してみた話
思いついたアルゴリズムを TensorFlow で実装してみた話
Shuhei Fujiwara
Tensorflowで言語識別をやってみた
Tensorflowで言語識別をやってみた
Kyota Yasuda
TensorFlowをざっくりLTしてみた
TensorFlowをざっくりLTしてみた
Mitsuki Ogasahara
研究室内統計勉強会20160526
研究室内統計勉強会20160526
敬之 中島
TensorFlowで遊んでみよう!
TensorFlowで遊んでみよう!
Kei Hirata
内省するTensorFlow
内省するTensorFlow
Yoshiyuki Kakihara
「深層学習による自然言語処理」読書会 4.2記憶ネットワーク@レトリバ
「深層学習による自然言語処理」読書会 4.2記憶ネットワーク@レトリバ
scapegoat06
TensorFlow 入門
TensorFlow 入門
Takenori Nakagawa
TensorFlowで逆強化学習
TensorFlowで逆強化学習
Mitsuhisa Ohta
ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】
Yuki Arase
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
Yuya Unno
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
Yuya Unno
ピーFIの研究開発現場
ピーFIの研究開発現場
Yuya Unno
Emnlp読み会資料
Emnlp読み会資料
Jiro Nishitoba
子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得
Yuya Unno
NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」
Yuya Unno
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
Yuki Arase
Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用
Yuya Unno
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
Yahoo!デベロッパーネットワーク
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション
Yuya Unno
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
Toshihiko Yamasaki
全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131
Hangyo Masatsugu
ニューラルチューリングマシン入門
ニューラルチューリングマシン入門
naoto moriyama
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase
ニューラルネットワークを用いた自然言語処理
ニューラルネットワークを用いた自然言語処理
Sho Takase
NeurIPS2020参加報告
NeurIPS2020参加報告
Sho Takase
STAIR Lab Seminar 202105
STAIR Lab Seminar 202105
Sho Takase
Rethinking Perturbations in Encoder-Decoders for Fast Training
Rethinking Perturbations in Encoder-Decoders for Fast Training
Sho Takase
Robust Neural Machine Translation with Doubly Adversarial Inputs
Robust Neural Machine Translation with Doubly Adversarial Inputs
Sho Takase
More Related Content
What's hot
TensorFlowで逆強化学習
TensorFlowで逆強化学習
Mitsuhisa Ohta
ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】
Yuki Arase
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
Yuya Unno
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
Yuya Unno
ピーFIの研究開発現場
ピーFIの研究開発現場
Yuya Unno
Emnlp読み会資料
Emnlp読み会資料
Jiro Nishitoba
子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得
Yuya Unno
NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」
Yuya Unno
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
Yuki Arase
Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用
Yuya Unno
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
Yahoo!デベロッパーネットワーク
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション
Yuya Unno
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
Toshihiko Yamasaki
全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131
Hangyo Masatsugu
ニューラルチューリングマシン入門
ニューラルチューリングマシン入門
naoto moriyama
What's hot
(16)
TensorFlowで逆強化学習
TensorFlowで逆強化学習
ゼロから始める自然言語処理 【FIT2016チュートリアル】
ゼロから始める自然言語処理 【FIT2016チュートリアル】
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
ピーFIの研究開発現場
ピーFIの研究開発現場
Emnlp読み会資料
Emnlp読み会資料
子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得
NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
[最新版] JSAI2018 チュートリアル「"深層学習時代の" ゼロから始める自然言語処理」
Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
「ヤフー音声検索アプリにおけるキーワードスポッティングの実装」#yjdsw4
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
【FIT2016チュートリアル】ここから始める情報処理 ~音声編~ by 東工大・篠崎先生
全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131
ニューラルチューリングマシン入門
ニューラルチューリングマシン入門
More from Sho Takase
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
Sho Takase
ニューラルネットワークを用いた自然言語処理
ニューラルネットワークを用いた自然言語処理
Sho Takase
NeurIPS2020参加報告
NeurIPS2020参加報告
Sho Takase
STAIR Lab Seminar 202105
STAIR Lab Seminar 202105
Sho Takase
Rethinking Perturbations in Encoder-Decoders for Fast Training
Rethinking Perturbations in Encoder-Decoders for Fast Training
Sho Takase
Robust Neural Machine Translation with Doubly Adversarial Inputs
Robust Neural Machine Translation with Doubly Adversarial Inputs
Sho Takase
Breaking the Softmax Bottleneck via Learnable Monotonic Pointwise Non-lineari...
Breaking the Softmax Bottleneck via Learnable Monotonic Pointwise Non-lineari...
Sho Takase
Harnessing Deep Neural Networks with Logic Rules
Harnessing Deep Neural Networks with Logic Rules
Sho Takase
4thNLPDL
4thNLPDL
Sho Takase
Learning Composition Models for Phrase Embeddings
Learning Composition Models for Phrase Embeddings
Sho Takase
Retrofitting Word Vectors to Semantic Lexicons
Retrofitting Word Vectors to Semantic Lexicons
Sho Takase
NLP2015 構成性に基づく関係パタンの意味計算
NLP2015 構成性に基づく関係パタンの意味計算
Sho Takase
Lexical Inference over Multi-Word Predicates
Lexical Inference over Multi-Word Predicates
Sho Takase
dont_count_predict_in_acl2014
dont_count_predict_in_acl2014
Sho Takase
More from Sho Takase
(14)
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
ニューラルネットワークを用いた自然言語処理
ニューラルネットワークを用いた自然言語処理
NeurIPS2020参加報告
NeurIPS2020参加報告
STAIR Lab Seminar 202105
STAIR Lab Seminar 202105
Rethinking Perturbations in Encoder-Decoders for Fast Training
Rethinking Perturbations in Encoder-Decoders for Fast Training
Robust Neural Machine Translation with Doubly Adversarial Inputs
Robust Neural Machine Translation with Doubly Adversarial Inputs
Breaking the Softmax Bottleneck via Learnable Monotonic Pointwise Non-lineari...
Breaking the Softmax Bottleneck via Learnable Monotonic Pointwise Non-lineari...
Harnessing Deep Neural Networks with Logic Rules
Harnessing Deep Neural Networks with Logic Rules
4thNLPDL
4thNLPDL
Learning Composition Models for Phrase Embeddings
Learning Composition Models for Phrase Embeddings
Retrofitting Word Vectors to Semantic Lexicons
Retrofitting Word Vectors to Semantic Lexicons
NLP2015 構成性に基づく関係パタンの意味計算
NLP2015 構成性に基づく関係パタンの意味計算
Lexical Inference over Multi-Word Predicates
Lexical Inference over Multi-Word Predicates
dont_count_predict_in_acl2014
dont_count_predict_in_acl2014
Enriching Word Vectors with Subword Information
1.
Enriching Word Vectors
with Subword Information Piotr Bojanowski, Edouard Grave, Armand Joulin, and Tomas Mikolov TACL2017 読む⼈:⾼瀬翔 http://www.kecl.ntt.co.jp/icl/lirg/members/takase/ 117/09/16 第9回最先端NLP勉強会 実験結果の表は[Bojanowski+ 17]から引⽤
2.
なぜこの論⽂を選んだか? • 最先端NLP勉強会論⽂投票で1位なので – 得票数:13(2位が7票,ほぼダブルスコア) – TACLの論⽂で次点は5票 – 論⽂選択締め切り⽇にまだ空いていた – ⼤⼈気論⽂だし読んでおくか〜という気持ち 17/09/16 第9回最先端NLP勉強会
2
3.
最先端? • 初稿がarXivに投稿されたのは1年以上前 (2016/7/15) – 引⽤数は既に86件(2017/9/13現在) • 最初期の実装も同時期に公開 – https://github.com/facebookresearch/fastText •
解説記事もちらほら – http://qiita.com/search?q=fasttext 17/09/16 第9回最先端NLP勉強会 3
4.
論⽂の概要 • ⽬標:単語のベクトル表現の質の向上 – 未知語,低頻度語に頑健なベクトル表現の獲得 •
単語をcharacter n-gramの集合で表現 – 開始/終了を表す記号(<,>)を単語に付与 – 3-gramの場合:where → <wh, whe, her, ere, re> • 単語のベクトル=character n-gramのベクトルの和 – 3-gramの場合:vwhere = v<wh + vwhe + vher + vere + vre> – 似た⽂字列を持つ → 似たベクトルとなる • 活⽤形の吸収:go, goes, goneは <go を持つ – 単語間で共有する⽂字列の情報を上⼿く利⽤できる • 低頻度語に対しても質の⾼いベクトルを構築可能 • 未知語のベクトルも計算可能 • 単語間の類似度評価,analogyで性能向上 • 実装はfastText 17/09/16 第9回最先端NLP勉強会 4
5.
準備:word embedding • 単語の特徴を低次元のベクトルで表現 –
単語間の類似性をベクトルの類似度で計算 • どのように得るか? – 次元圧縮(e.g., 単語共起⾏列をSVD) – コーパスから学習(e.g., word2vec) • 今回はコーパスから学習する⼿法をベースにする 5 peach penguin medicinedrug 17/09/16 第9回最先端NLP勉強会
6.
未知語・低頻度語問題 • 語彙に含まれない単語=ベクトルがない – コーパス中に出現しない単語に対応できない – 実⽤上は頻度5回以上の単語で語彙をつくる, などするため,ごく低頻度の単語は扱えない • 低頻度語のベクトルは質が低くなりがち – 頻度が低い=学習事例が少ない →⼗分な学習ができない 17/09/16
第9回最先端NLP勉強会 6
7.
解決策:単語を⼩さな単位に分割 • エクストリームな姿勢:語彙は⽂字のみ – ⽂字のベクトルから単語ベクトルを計算 •
Character-Aware Neural Language Models [Kim+ 15] • Mimicking Word Embeddings using Subword RNNs [Pinter+ 17] • 単語を適度なサイズの⽂字列に分ける – 形態素で分割 [Luong+ 13] • unfortunately → un + fortunate + ly – Byte Pair Encoding(BPE)の使⽤ [Sennrich+ 16] • ⾔語⽣成(特に翻訳)の⽂脈で⾒ることが多い • ⾼頻度語は単語のまま,低頻度語は⽂字で表現 • コーパスから語彙(部分⽂字列)を決定 – 本研究:character n-gramを使⽤ • 3-gramの場合:where → <wh, whe, her, ere, re> • 他に [Wieting+ 16] もcharacter n-gramの有⽤性を⽰している 17/09/16 第9回最先端NLP勉強会 7
8.
⼿法 817/09/16 第9回最先端NLP勉強会
9.
• Skip-gramモデル(word2vec)[Mikolov+ 13] •
⽬的関数:単語wtから周辺語wt+jの予測確率を最⼤化 – 周辺単語のベクトルに類似,それ以外と⾮類似となるよう学習 9 J = logP(wt+j | wt ) −c≤j≤c, j≠0 ∑ t=1 T ∑ ⽂中の単語数 ⽂脈の範囲 logP(wt+j | wt ) ≈ logσ (vwt ⋅uwt+j )+ Εz~Pn (w) i=1 k ∑ [logσ (−vwt ⋅uz )] σ:シグモイド関数 負例単語 z を k 回サンプリング 単語のEmbeddingの学習 … passive smoking cause lung cancer … 周辺単語を予測 vwt uwt+1 uwt+1 uw−1uw−2 17/09/16 第9回最先端NLP勉強会
10.
10 提案⼿法:character n-gramの利⽤ … passive
smoking cause lung cancer … 周辺単語を予測 (Skip-gramと同様の学習) vwt uwt+1 uwt+1 uw−1uw−2 17/09/16 第9回最先端NLP勉強会 Σ <ca cau aus use se> 単語ベクトル=単語を構成するcharacter n-gramのベクトルの和 (上はcharacter 3-gramの場合)
11.
実験 1117/09/16 第9回最先端NLP勉強会
12.
実験 • 設定 – 次元数:300 –
character n-gram:3, 4, 5, 6-gramを使⽤ • ⽬的:単語ベクトルの質がcharacter n-gramの利⽤によって 向上するか検証 • 評価 – 単語間の類似度 – analogy • 与えられた単語間と同じ関係の単語を予測 • (man, king, woman, ?)で ?=queenと答えられるか? 17/09/16 第9回最先端NLP勉強会 12 単語1 単語2 ⼈⼿で付与した類似度 単語ベクトル間のコサイン類似度 tiger cat 7 0.8 stock egg 2 0.3 …… スピアマンの順位相関係数 を計算
13.
単語間の類似度 17/09/16 第9回最先端NLP勉強会 13 アラビア語 ドイツ語 英語 スペイン語 フランス語 ルーマニア語 ロシア語 Skipgram Continuous Bag
of words Character n-gramを使⽤ 訓練に含まれない単語を 考慮しない/する Character n-gramを使うことで 性能(⼈との相関) が向上
14.
Analogy task 17/09/16 第9回最先端NLP勉強会
14 チェコ語 ドイツ語 英語 イタリア語 Character n-gramを使うことで Syntacticの 正解率が向上 n-gramのnを適切に 設定すれば Semanticの性能は もっと良いと主張 (例えば5-gramのみなら EN Semanticの正解率80)
15.
形態素から単語ベクトルを 計算する⼿法と⽐較 • 単語間の類似度データセットで評価 17/09/16 第9回最先端NLP勉強会
15
16.
学習データに対する性能 • 単語間の類似度データセットで評価 – 少量の学習データでも⾼い性能 17/09/16 第9回最先端NLP勉強会
16
17.
n-gramの n に対する性能 •
[i:j]-gramを使⽤ – 2⾏4列⽬:2, 3, 4-gramを使⽤ • nを⼤きく取ったほうが良い – 単語にすると性能が下がるのは何故? →(おそらく)部分的な特徴(部分⽂字列)を共有できないから 17/09/16 第9回最先端NLP勉強会 17
18.
まとめ • 単語をcharacter n-gramの集合で表現 – 単語ベクトル=character
n-gramベクトル和 • 未知語・低頻度語問題に有効 • 共有できるものは共有すると性能向上 – 最近流⾏のテクニック(?) – ⾔語モデル:Embeddingと最終層を共有 [Inan+ 17, Press+ 17] – 翻訳:subword化 + 原⾔語と対象⾔語で embeddingを共有 [Vaswani+ 17] 17/09/16 第9回最先端NLP勉強会 18
Editor's Notes
実装を見てみた(更新部分だけ)けど,targetの単語を分解していることはなかった(入力単語だけcharacter n-gramで表現),つまり,この図であっているハズ
Download now