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.4k
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
440
RoBERTa: paper reading
himkt
1
320
自然言語処理 @ クックパッド / nlp at cookpad
himkt
1
500
Interpretable Machine Learning 6.3 - Prototypes and Criticisms
himkt
2
150
ニューラル固有表現抽出 / Neural Named Entity Recognition
himkt
3
690
ニューラル固有表現抽出器を実装してみる / PyNER
himkt
6
2.1k
Spacyでお手軽NLP / NLP with spacy
himkt
0
1k
Deep Learning Book 10その2 / deep learning book 10 vol2
himkt
2
180
ふわふわ系列ラベリング / ner 2018
himkt
5
850
Other Decks in Research
See All in Research
移動ビッグデータに基づく地理情報の埋め込みベクトル化
tam1110
0
240
インドネシアのQA事情を紹介するの
yujijs
0
110
20250226 NLP colloquium: "SoftMatcha: 10億単語規模コーパス検索のための柔らかくも高速なパターンマッチャー"
de9uch1
0
110
한국어 오픈소스 거대 언어 모델의 가능성: 새로운 시대의 언어 이해와 생성
inureyes
PRO
0
230
Weekly AI Agents News! 12月号 論文のアーカイブ
masatoto
0
200
CoRL2024サーベイ
rpc
2
1.6k
Tiaccoon: コンテナネットワークにおいて複数トランスポート方式で統一的なアクセス制御
hiroyaonoe
0
450
情報処理学会関西支部2024年度定期講演会「自然言語処理と大規模言語モデルの基礎」
ksudoh
10
2.6k
コーパスを丸呑みしたモデルから言語の何がわかるか
eumesy
PRO
9
2.6k
LLM 시대의 Compliance: Safety & Security
huffon
0
610
EBPMにおける生成AI活用について
daimoriwaki
0
280
ラムダ計算の拡張に基づく 音楽プログラミング言語mimium とそのVMの実装
tomoyanonymous
0
410
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Docker and Python
trallard
44
3.3k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
GraphQLとの向き合い方2022年版
quramy
44
14k
It's Worth the Effort
3n
184
28k
Code Review Best Practice
trishagee
67
18k
Designing Experiences People Love
moore
140
23k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
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