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
390
RoBERTa: paper reading
himkt
1
310
自然言語処理 @ クックパッド / nlp at cookpad
himkt
1
480
Interpretable Machine Learning 6.3 - Prototypes and Criticisms
himkt
2
140
ニューラル固有表現抽出 / Neural Named Entity Recognition
himkt
3
660
ニューラル固有表現抽出器を実装してみる / 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
The many faces of AI and the role of mathematics
gpeyre
1
1.4k
[ECCV2024読み会] 衛星画像からの地上画像生成
elith
1
910
marukotenant01/tenant-20240826
marketing2024
0
520
論文紹介: COSMO: A Large-Scale E-commerce Common Sense Knowledge Generation and Serving System at Amazon (SIGMOD 2024)
ynakano
1
210
ニューラルネットワークの損失地形
joisino
PRO
36
18k
Weekly AI Agents News! 8月号 プロダクト/ニュースのアーカイブ
masatoto
1
210
湯村研究室の紹介2024 / yumulab2024
yumulab
0
350
Large Vision Language Model (LVLM) に関する最新知見まとめ (Part 1)
onely7
22
4.9k
ソフトウェア研究における脅威モデリング
laysakura
0
960
精度を無視しない推薦多様化の評価指標
kuri8ive
1
290
[依頼講演] 適応的実験計画法に基づく効率的無線システム設計
k_sato
0
180
LLM時代にLabは何をすべきか聞いて回った1年間
hargon24
1
530
Featured
See All Featured
Done Done
chrislema
182
16k
Thoughts on Productivity
jonyablonski
68
4.4k
Optimising Largest Contentful Paint
csswizardry
33
3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Invisible Side of Design
smashingmag
298
50k
What's in a price? How to price your products and services
michaelherold
243
12k
Speed Design
sergeychernyshev
25
670
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
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