勉強の記録

機械学習、情報処理について勉強した事柄など

Multi-Task Label Embedding for Text Classification

これはEMLP2018から。

Multi-task learningを利用してLabelにembeddingを行うことで文書分類の精度が向上した、という話。 ここで言うmulti-taskは、複数のclassification task、という意味。

関連研究

本文中に挙げられていたembedding label in NLPの先行研究は下記。

[Bengio 2010] Label embedding trees for large multi-class tasks. In NIPS, pages 163–171.

[Norouzi 2013] Zero-shot learning by convex combination of semantic embeddings. CoRR, abs/1312.5650.

[Ma 2016] Label embedding for zero-shot fine-grained named entity typing. In COLING, pages 171–180.

概要

f:id:tmitani-tky:20190303020724p:plain

入力文側のLearning layer: LIとしてはbiLSTM, ラベル側のLearning layer: LLとしては単純なword embeddingの平均を使用.このようなネットワーク構造を用いることで、複数のtaskに対して1つのネットワークで同時に学習可能となった.

(先行研究の文献を読んでいないのだけど、label enbeddingを使用した先行研究と使い方がどう違うのだろうか。)

新たなtaskへの学習

Hot Update

Cold Update

Zero Update

Experiments

既存のテキスト分類データセット

・Multi-Cardinality

・Multi-Domain

・Multi-Objective

の切り口でまとめたものを学習させ、single task leraningによる学習結果と比較。 似たタスクのほうがgainが大きく、multi-objectiveのほうがgainは小さかったが、いずれでも精度が向上した。

感想

hyper-parameterやネットワーク構造を含めかなり丁寧に解説されている印象で、再現実装はできそう。医療テキストのタグ付コストを考えると、Label Enbeddingという概念は重要。たとえば病名タグ付けであればobjectiveは似ているので、個々の病名ごとに全く別のネットワークを学習させる必要がなくなるので、分野横断的な汎用性の高いモデルが組める。

BERTでは二文を[SEP]でつなげて入力とできるので、マルチラベル分類の小規模データセットを、ただ「target文+[SEP] + labelの単語」という形で入力してT/Fの二値分類器として解かせてみたことがあるが、single task learningとほぼ同等の結果が出ていた。このときは8タスクしかなかったのであまり優位性がでなかったが、ラベルが増えてくれば有用なのかも。

おまけ

Joint Embedding of Words and Labels for Text Classification - Paper Survey

↑で紹介されている研究も似たような切り口?