唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

論文感想: "TCSST: Transfer Classification of Short & Sparse Text Using External Data"(CIKM 2012)

概要

Twitterなどのマイクロブログや検索エンジンのスニペット、レビューなどの短くスパースな文章に対して、外部のリソースを使って転移学習を行うことで精度の向上をする。

関連研究はいろいろあるが、この論文では対象ドメインの少量のラベル(正解)付きデータ、外部ドメインの少量のラベル付きデータと大量のラベルなしデータが存在するという設定。

手法

  1. 半教師あり学習で外部データのラベルなしデータにラベルを付与する
    1. 論文中ではナイーブベイズをself-trainingとbaggingした結果を利用
      1. self-training: ラベル付きのデータで学習した識別器でラベルなしデータを識別し、その中で確度の高い事例をラベル付きのデータとみなして学習し直すのを繰り返す。
      2. バギング - 機械学習の「朱鷺の杜Wiki」
  2. ラベル付けした外部ドメインのデータを利用してTrAdaBoostで転移学習。
    1. ただしすべてのデータは使わずにサンプリングをする。またサンプリング確率の更新をする
    2. 元々のラベルなしデータを使わずに学習した識別器よりも、クロスバリデーションした精度がよいものを保存しておいて、精度で重み付けした識別結果を出力する。
    3. TrAdaBoost - 機械学習の「朱鷺の杜Wiki」

感想

先行研究としてあげられているLearning to Classify Short and Sparse Text & Web with Hidden Topics from Large-scale Data Collectionsを読んだことがあるので面白く読めた。
↑は外部のコーパスで学習したLDAの出力を、短いテキストの素性に追加するという話だった。
今回の手法は、外部ドメインに少量のラベル付きのデータを必要とするが、ベースラインよりも5から10ポイントぐらいと大きく精度向上している。

手法が複雑なのと、少量とはいえ外部ドメインのデータに対象ドメインと同様のラベルがついている必要があるのが大変そう。