(論文メモ) Automatically Extracting Polarity-Bearing Topics for Cross-Domain Sentiment Classification / ACL-HLT 2011

Share on:

ACL-HLT 2011から面白そうな論文5件目。


出典情報: P11-1013: Yulan He; Chenghua Lin; Harith Alani, Automatically Extracting Polarity-Bearing Topics for Cross-Domain Sentiment Classification, ACL-HLT 2011

情報検索(Information Retrieval, IR)における検索対象であるドキュメントを自然言語処理して少しでも意味を汲み取って精度良くマッチングさせるためのアプローチとして「単語極性を考慮」するらしい。

前置き

評判分析と極性判定

アンケート調査やAmazonのレビュー等のように、自由記述テキスト形式で書かれた文章集合から価値ある情報として評判情報を抽出することを評判分析(Sentiment Analysis)と言います。評判情報分析、コメント分析、口コミ分析等とも呼ばれています(参考:「テキストを対象とした評価情報の分析に関する研究動向」)。分析の仕方や分析結果にもいろんな切り口がありますが、単語の極性(Polarity)判定では「その単語がポジティブに使われているか、ネガティブに使われているか、それ以外(中立的)に使われているか」を判定することでその後の分析に活用します。

極性判定の難しさ

GoodとかBadのような直接的に良し悪しが判断しやすい単語もありますが、例えば「Small/小さい」という表現を例にとると、ノートPCに関するレビューで「小さくて持ち運びに便利」というニュアンスで書いた言葉ならpositiveと捉えるのが自然ですが、一方でスマートフォンに関するレビューで「液晶画面が小さくて使いづらい」というニュアンスで書いた言葉ならnegativeと捉えるのが自然でしょう。突き詰めると文章毎に判定する必要がありますが、計算コストや実験設定の都合上「分野毎に大まかに判定する」形で評価していることが多いようです。

ベースになる先行研究としてJoint sentiment-topic (JST)があるらしい。JSTは、Latent Dirichlet Allocation (LDA)をベースにした確率モデルになっている。そのLDAは、「全ドキュメントがトピック数Tに分類される前提(固定値)で、トピック毎の単語出現確率を表す確率分布と、文章毎のトピック確率分布の紐付け方(紐付けるためのパラメータ)を推定するというアプローチっぽい。多分。(参考:朱鷺の杜WikiLDA入門分野に依存しない単語極性を考慮した評判分析のための転移学習モデルLDA (Latent Dirichlet Allocation) の更新式の導出

この紐付けがうまくいけば、単語に対してトピックと極性情報の対からなる情報を付与することができる。この紐付けのためのパラメータを推定するのが大変というか工夫のしどころらしく、この論文ではLDA→JST→改善JSTという流れでその推定方法をより良くしようとしているのが主題っぽい。

JSTにおける2つの確率分布を紐付けるためのパラメータはいくつかあって、それらをうまく推定してやらないと精度が上がらない。その推定を(1)直接やる人もいれば、(2)バッファ的に何か別の処理を一度通すことで推定しやすくするという人もいれば、(3)パラメータに関与する因子を増やして精度高めようとする人等、様々なアプローチが試みられているようです。

例えば、大元のLDAではパラメータはαとβの2つなのに対し、LDAをベースにしたJSTではα・β・γの3つに増えています。これは、LDAではトピックzをパラメータαだけで分布を推定しようとしているのに対し、JSTでは単語の極性lを考慮するためにγパラメータを追加しているから。つまり、素朴に「トピック毎の単語出現確率を表す確率分布」と「文章毎のトピック確率分布」を直接紐付けることで文書集合を表現するだけでは不十分で、「単語の極性も考慮した方が文書がより適切に表現できるんじゃないの?」といった仮説を考え、前述の(3)のような考え方で因子を増やして対応したモデルを作りだしたのだろうと思います。(妄想で書いてます)

LDA→JSTは置いといて、この論文ではJSTをより改善するために、トピックが持つ語彙ベクトルφをパラメータβだけで分布推定するのではなく、極性ラベルSに基づいたパラメータλを導入することで単語極性をここでも考慮した分布になるように推定しようとしているっぽい。単純にまとめると、α側だけじゃなくβ側でも単語極性を考慮して推定したいらしい。それで「polarity-bearing」と呼んでいるかしら。

LDAからして「名前聞いたことある」ぐらいのレベルなんですが、自然言語処理に限らず特徴ベクトルを構成する要素にラベリングすることが必要で、そのラベリングが分野に応じて異なるケースでは汎用的に使えそうな枠組みですね。例えば、ドキュメント→画像として置き換えると、画像集合を特徴ベクトル集合で表現した上で、各特徴は何らかの概念的なトピックにおいてネガティブ/ポジティブ/中立な意味を有するものとして特徴毎に紐付けした解析しやすいモデリングができたりしないのかしら(妄想)。

一方、欠点というか気になる点としては、JSTでは「トピック」という言葉を使っていますが、これは概念的な用語であって実際にはそれが何を意味しているかは良く分かっていなさそうに見えます。ただ、文字通りのトピックとしても多義語とかいろんな問題でてくるだろうから、一概にこれが欠点という訳では無さそう。良し悪し置いといて、このあたりを俯瞰できる枠組みがあると面白そう。

Tags: , , ,