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
350
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
640
ニューラル固有表現抽出器を実装してみる / PyNER
himkt
6
2k
Spacyでお手軽NLP / NLP with spacy
himkt
0
960
Deep Learning Book 10その2 / deep learning book 10 vol2
himkt
2
160
ふわふわ系列ラベリング / ner 2018
himkt
5
840
Other Decks in Research
See All in Research
Embers of Autoregression: Understanding Large Language Models Through the Problem They are Trained to Solve
eumesy
PRO
6
1.1k
自動運転・AIシステムの問題を賢く探す・賢く直す / Smart Search & Repair Techniques for Automated Driving Systems and AI Systems
ishikawafyu
0
210
Isotropy, Clusters, and Classifiers
hpprc
3
560
SNLP2024:Planning Like Human: A Dual-process Framework for Dialogue Planning
yukizenimoto
1
290
MIRU2024_招待講演_RALF_in_CVPR2024
udonda
1
320
CSER 2024 Keynote
tsantalis
0
180
アジャイルコミュニティが、宗教ポイと云われるのは何故なのか?
fujiihideo
0
400
JMED-LLM: 日本語医療LLM評価データセットの公開
fta98
4
1.1k
クラウドソーシングによる学習データ作成と品質管理(セキュリティキャンプ2024全国大会D2講義資料)
takumi1001
0
210
Y.Morita_20240726_JBUG_Fukuoka#18
ymorita613
0
250
第28回 著者ゼミ:Identification of drug responsible glycogene signature in liver carcinoma from meta-analysis using RNA-seq data
ktatsuya
2
250
LINEチャットボット「全力肯定彼氏くん(LuC4)」の 1年を振り返る
o_ob
0
2.2k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
296
20k
Designing Experiences People Love
moore
138
23k
Six Lessons from altMBA
skipperchong
26
3.4k
Thoughts on Productivity
jonyablonski
67
4.2k
How to train your dragon (web standard)
notwaldorf
87
5.6k
A Philosophy of Restraint
colly
203
16k
Mobile First: as difficult as doing things right
swwweet
222
8.8k
Robots, Beer and Maslow
schacon
PRO
157
8.2k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
Faster Mobile Websites
deanohume
304
30k
Adopting Sorbet at Scale
ufuk
73
9k
Become a Pro
speakerdeck
PRO
24
4.9k
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