NAACL 2015の論文のLCCT: A Semi-supervised Model for Sentiment Classificationを読んだ。メモと気になった部分を軽く実装して試してみた。
感情分析で、コーパスベースのアプローチと辞書ベースのアプローチでco-trainingする話。
コーパスベースのアプローチだと、精度は高いが再現率が低い。逆に辞書ベースのアプローチだと再現率は高いが精度が低いのでこれを解決したいというもの。
ドメインに依存しない汎用的な素性をコーパスベースのアプローチで取得し、ドメインに依存するような素性は辞書ベースのアプローチでカバーする。
ドメイン依存の単語はSemi-supervised Sentiment-aware LDAというアプローチを使って獲得する。ポジティブ、ネガティブ、ニュートラルの3分類でそれぞれに対していくつかシードを与えてることでドメイン依存の単語を獲得して、これを素性として利用。
Semi-supervised Sentiment-aware LDA
半教師ありLDAは使い勝手よさそうだなーと感じたので、適当に実装して実験してみた。
LDA部分については以下の論文のほうがより詳しかった。
ギブスサンプリングで適当な新聞記事を入力として試す。
シードとしては単語感情極性対応表の0.95以上の単語をポジティブのシードとして、-0.95以下の単語をネガティブのシードとして使った。
結果としては、
- ポジティブの上位50単語
- 優等、高見、気品、栄誉、腕前、思いがけない、縁起物、プライド、褒める、ノミネート
- 栄冠、絶賛、OK、定評、名画、顕彰、佳作、快い、歌人、名手
- 天才、殿堂、マドンナ、志す、功績、男らしい、味わい、淵、祐、神様、キング
- 歓声、エール、大作、ロング、傑作、名門、鍛える、感激、温、チャリティー
- いける、大城、ひろい、好き、治虫、きょうだい、ゴマ、切り取る、入来、ルーキー
- ネガティブの上位50単語
- 汚水、凍死、持病、汚れ、陥没、天災、絞殺、病巣、悪性、ダメージ
- 症例、腫瘍、因果、泥、難易、病死、寒、発熱、害、伝染、排水
- 重症、渋る、恐喝、荒天、損壊、吸入、ひき逃げ、かもめ、配属、谷間、冨
- 日食、鋼材、宮野、大寒、七キロ、中ごろ、名勝、杉田、参与、磯村
- バレリー、こびりつく、行商、領海、受、内臓、はがす、値ごろ、吉井、転覆
- ニュートラルの上位50単語
データセット適当だし、チューニング特にしてない割には結構いい感じに取れてる気がする。
ちゃんとシード整理したり、チューニングしたりしたら結構よくなるんじゃないかという期待が持てる感じだった。