Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NLP SoTA 勉強会 / ner_2019
Search
himkt
September 18, 2019
Research
2
1.3k
NLP SoTA 勉強会 / ner_2019
第 3 回 NLP/CV 最先端勉強会の発表資料です.
https://nlpaper-challenge.connpass.com/event/146540/
himkt
September 18, 2019
Tweet
Share
More Decks by himkt
See All by himkt
Linformer: paper reading
himkt
0
370
RoBERTa: paper reading
himkt
1
300
自然言語処理 @ クックパッド / nlp at cookpad
himkt
1
480
Interpretable Machine Learning 6.3 - Prototypes and Criticisms
himkt
2
130
ニューラル固有表現抽出 / Neural Named Entity Recognition
himkt
3
650
ニューラル固有表現抽出器を実装してみる / PyNER
himkt
6
2k
Spacyでお手軽NLP / NLP with spacy
himkt
0
980
Deep Learning Book 10その2 / deep learning book 10 vol2
himkt
2
170
ふわふわ系列ラベリング / ner 2018
himkt
5
840
Other Decks in Research
See All in Research
医療支援AI開発における臨床と情報学の連携を円滑に進めるために
moda0
0
110
文化が形作る音楽推薦の消費と、その逆
kuri8ive
0
160
外積やロドリゲスの回転公式を利用した点群の回転
kentaitakura
1
650
12
0325
0
190
Weekly AI Agents News!
masatoto
25
24k
言語処理学会30周年記念事業留学支援交流会@YANS2024:「学生のための短期留学」
a1da4
1
240
Isotropy, Clusters, and Classifiers
hpprc
3
630
データサイエンティストをめぐる環境の違い 2024年版〈一般ビジネスパーソン調査の国際比較〉
datascientistsociety
PRO
0
580
Active Adaptive Experimental Design for Treatment Effect Estimation with Covariate Choices
masakat0
0
220
秘伝:脆弱性診断をうまく活用してセキュリティを確保するには
okdt
PRO
3
740
Global Evidence Summit (GES) 参加報告
daimoriwaki
0
160
大規模言語モデルのバイアス
yukinobaba
PRO
4
710
Featured
See All Featured
Facilitating Awesome Meetings
lara
50
6.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
GraphQLとの向き合い方2022年版
quramy
43
13k
4 Signs Your Business is Dying
shpigford
180
21k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Transcript
Surveys of Sequence Labeling Makoto Hiramatsu @himkt Yasuhiro Yamaguchi @altescy
Koga Kobayashi @kajyuuen Tatsuya Hiraoka @mentaiko_guma
/30 発表の概要 •内容: ここ数年の自然言語処理系の国際会議に採択された 系列ラベリングに関する論文の調査 •リポジトリ: GitHub: himkt/survey (tentative) •対象:
ACL, NAACL, EMNLP, COLING, LREC 2
/30 担当的なもの •@himkt: 言語モデルを使ったニューラル固有表現抽出 •@altescy: 転移学習・敵対的学習を用いた固有表現抽出 •@kajyuuen: 完全なアノテーションが得られない状況下での固有表現抽出 •@mentaiko_guma: @himkt
が面白そうと思ったやつ 3
/30 担当的なもの •@himkt: 言語モデルを使ったニューラル固有表現抽出 •@altescy: 転移学習・敵対的学習を用いた固有表現抽出 •@kajyuuen: 完全なアノテーションが得られない状況下での固有表現抽出 •@mentaiko_guma: @himkt
が面白そうと思ったやつ 4
/30 自己紹介 Makoto Hiramatsu Twitter/GitHub: himkt クックパッド 研究開発部 (2019-20??) 5
/30 系列ラベリング • 入力の系列 (X) は所与,出力の系列 (Y) を予測 (e.g.
単語分割, 品詞タグ付け, 固有表現抽出…) 6 X Y P(Y ∣ X)
/30 • テキストからあらかじめ定められたカテゴリ (NE カテゴリ) を 認識・抽出するタスク (抽出されたものを Entity と呼ぶ)
• 系列ラベリングの問題として定式化されることが多い • 各単語に対して NE タグ を予測 -> span に変換して Entity に変換 (in https://explosion.ai/demos/displacy-ent) 固有表現抽出 7
/30 NE タグ -> NE 8 例. だし巻き卵 (F: Food),
皿 (T: Tool) Prefix によって span を表現する
/30 LSTM-CRF [Huang+, 2015] • LSTM-CRF を NER に適用した初めての (?)
研究 • 単語の分散表現 + context/spelling 特徴を使っている • 後者の離散的な特徴量を直接 CRF に入力している (最近はそういうやり方をしている論文をみない気がする) 9 図は論文より抜粋
/30 LSTM-CRF [Lample+, 2016] 10 • 学習済みの分散表現 + 文字の分散表現を用いて単語の特徴量を獲得 •
学習済みの分散表現は Skip-N-Gram [Ling+, 2015] • 文字の BiLSTM 部分が CNN な手法も存在する [Ma+, 2016] Pre-trained Word Embedding Character Embedding Character BiLSTM Word Representation CRF BiLSTM
/30 2014 ~ 2016 • LSTM-CRF ベースのモデルがデファクト化 • 離散的な特徴量 ->
単語 (文字) の分散表現へのシフト • 使う学習済みの単語分散表現に色々な流派が存在 • SENNA [Collobert+, 2011] • Skip-Gram [Mikolov+, 2013] • Skip-N-Gram [Ling+, 2015] • GloVe [Pennington+, 2014] • …etc • 関連: https://speakerdeck.com/himkt/ner-2018 11
/30 2017~ [ここまで 3 分で話しているはず] •学習済みの言語モデルを使う研究が現れる 12
/30 Leaderboard on CoNLL2003 13
/30 Use ELMo, BERT or Flair 14
/30 学習済み言語モデル • 単語の分散表現 (E1) -> 言語モデルベースの単語の分散表現 (E2) • 入力文を言語モデルに入力し,得られた出力を単語ベクトルにする
• 異なる文脈で単語 w が出現してきたとき… • E1 -> 同じ単語ベクトルが割り当てられる • E2 -> 異なる単語ベクトルが割り当てられる • NER で使われているものとして ELMo, BERT, Flair がある (GPT を使っている論文を知っていたら教えてくださいmm) • BERT [Delvin+, 2018] の話はしません • GitHub: yoheikikuta/paper-reading issue#18 を読んでください • [Baevski+, 2019] も話しません • EMNLP-IJCNLP の proceedings がまだなので 15
/30 TagLM [Peters+, 2017] • 2 層の双方向の言語モデルを用いて単語特徴を獲得 • 1 Billion
Benchmark [Chelba+, 2014] で学習した言語モデルを利用 • 順方向: 既存の学習済みモデル [Jozefowicz+, 2016] • LSTM hidden_dim: 8192 (!!), Linear projection: 1024 • 逆方向: 著者らが学習 • LSTM hidden_dim: 2048, Linear projection: 512 16 図は論文より抜粋
/30 ELMo [Peters+, 2018] • TagLM と同一著者 (所属は AllenAI) •
公式実装 -> GitHub: allenai/allennlp • 双方向の言語モデルを同時に学習する • CNN を使って単語レベルの特徴を獲得 17
/30 ELMo Training 18 Token Representation Token Representation Token Representation
Next Word Prediction Prev Word Prediction • TagLM と同一著者 (所属は AllenAI) • 公式実装 -> GitHub: allenai/allennlp • 双方向の言語モデルを同時に学習する • CNN を使って単語レベルの特徴を獲得 (TagLM も)
/30 ELMo Training • 順方向言語モデル + 逆方向言語モデル の対数尤度を 最大化することで学習を行う •
Token Representation の重み ( CNN の重み) と Fully-connected layer の重みは共通 19 N ∑ k=1 log p(tk ∣ p1 , …, pk−1 ) + log p(tk ∣ p1+1 , …, pN )
/30 ELMo Feature Extractor 20 Token Representation BiLSTM BiLSTM Output
ELMo feature • 特徴抽出の際は入力文を ELMo に入力 -> 単語の特徴量と LSTM の出力の重み付き和を計算 ELMotask k = γtask L ∑ j=0 stask j hLM k,j Trainable parameters (allennlp issue#1149)
/30 ELMo Tips • Token Representation は文字分散表現を CNN で 畳み込み
-> Max-Pooling -> ReLu したもの • 二層目の BiLSTM への入力には Token Representation との Residual Connection もある • Target タスクの学習データで Fine-Tuning すると タスクでの性能が向上するらしい (see appendix) • ELMo 自身の学習は allennlp には存在しない • GitHub: allenai/bilm-tf • Transformer ELMo [Peters+, 2018] は allennlp にある 21
/30 Flair [Akbik+, 2018] • COLING2018 で発表された論文 • Zalando Research
の研究 -> 実装あり 公式実装 -> GitHub: zalandoresearch/flair • Contextual STRING embeddings • 文字レベルの言語モデルを 1B Benchmark コーパスで学習 • Ablation study がしっかりしている 22
/30 String Embeddings? • 文字から文字を予測する言語モデル • Whitespace も1つの文字として, 入力文を「文字列」としてモデリング •
続きの研究が NAACL Full [Akbik+, 2019] にあります • GitHub: xxx/surveys issue#19 • zalandoresearch/flair 自体も NAACL Demo [Akbik+, 2019] に通っています (すごい) 23
/30 Flair Architecture 24 I <s> h a v e
<a> a Char Embedding LSTM Next Character Prev Character • 順方向言語モデルと逆方向モデルは別々に学習する • 言語モデル自体の学習は 1 GPU で 1 週間 (TagLM は 32 GPU で 3 週間) • (文脈窓幅は 250)
/30 Flair Feature Extractor 25 図は論文より抜粋
/30 Flair Feature Extractor 26 図は論文より抜粋 • 文字言語モデルに入力して,単語の直前・直後の 言語モデルの隠れ層を concat
したものを特徴量にする
/30 Performance Comparison 27 表は論文より抜粋
/30 Ablation study • LSTM/CRF をモデルから除去して評価実験を行なっている • 提案手法は LSTM を除去した際の
F 値の低下が少ない => 大域的な情報を言語モデルの段階で獲得できている • Q: ELMo も似たような結果になる? 28 表は論文より抜粋
/30 Flair まとめ • 大規模コーパスで学習した文字レベル言語モデルを 特徴抽出器として利用する手法の提案 (文を文字列とみなして直接モデリング) • BiLSTM/CRF なしでも性能の劣化が少ないことから,
大域的な特徴を獲得していることが示唆される • ELMo よりも学習に時間がかからない • ELMo: 3 week / 32 GPU • Flair: 1 week / 1 GPU • 文字ベースの言語モデルなので語彙サイズが小さい 29
/30 発表まとめ • NER の SoTA な手法で標準的に利用されている 学習済み言語モデルベースの特徴抽出器について 紹介しました •
BERT は日本語の詳しい解説がたくさんある一方, ELMo と Flair (特に Flair) の資料は少なく感じたので ELMo と Flair を取り上げました • 説明した論文・および他の論文のまとめは GitHub: himkt/survey へ (誤りを見つけたら教えてください) 30