Why Didn’t You Listen to Me? Comparing User Control of Human-in-the-Loop Topic Models (ACL2019)を読んだ

Why Didn’t You Listen to Me? Comparing User Control of Human-in-the-Loop Topic Models *1 を読んだので軽くまとめようかと。

読もうと思った理由はトピックモデルだったからです、自分の守備領域なのでさらっと読めるかなと。

本論文はACL2019のshort paperで、論文の流れに沿ってまとめます。 (出てくる図は論文からの引用です)

論文

  • タイトル: Why Didn’t You Listen to Me? Comparing User Control of Human-in-the-Loop Topic Models
  • 著者(所属): Varun Kumar(Amazon Alexa), Alison Smith-Renner(University of Maryland), Leah Findlater (University of Washington), Kevin Seppi(Brigham Young University), Jordan Boyd-Graber(University of Maryland)
  • コード: 公開無し

概要

  • Human-in-the-Loopなトピックモデル(HLTM)に関して3つのアプローチを試し、比較評価を行った
    • 知識の入れ込み方( 制約条件を入れ込む or 事前情報を入れ込む
    • 推論方法(Collapsed Gibbs Sampling or Variational Inference)
  • ユーザのFeedBackを反映できたかの指標の提案
  • 制約条件の追加と事前情報の加味による、トピックの質と操作性の違いに関して検証を行った

そもそもHLTMとは?

トピックモデルと言うと、Latent Dirichlet Allocation(LDA)を指すことが多いと思いますが、 LDAのような通常のトピックモデルを用いると一貫してないトピックを含むことが往々にしてあります。

(トピックの一貫性といった話題に興味がある方はMachine Reading Tea Leaves: Automatically Evaluating Topic Coherence and Topic Model Quality (EACL2014)*2 に一度は目を通すことをお勧めします。)

これを改善するために"人の知識"を入れ込むことを試みられています。 例えば以下のような操作を行うことが挙げられます。

  • トピックへの単語の追加
  • トピックのマージ
  • 文書の除去

一方でユーザのFeedBack(FB)の入れ込み方として

  • {つながる|つながらない}といった制約条件
  • 事前情報
  • 文書のラベル

などの活用が挙げられます。

しかし、上記のような操作や活用を適切に比較・評価できるような枠組みは存在していないので、本論文ではその部分に焦点を当てています。

このあたりの問題意識は "Interactive Topic Modeling (ACL2011)"*3が詳しかったりします。*4

比較アプローチ(3つ)

  1. モデルが学習したものを一部忘却させ、トピックからワードの割り当てを除く 2.新たな情報(ユーザFB)を挿入する

1の観点に関しては、ギブスサンプリング(Gibbs Sampling)と変分推論(Variational Inference)といった2つのアプローチが考えられる

2の観点に関しては、非対称な事前分布[informed](LDAに置ける\alpha\betaといったディリクレ分布のハイパーパラメータに相当)*5と制約の追加[constraint](この文書のこの単語はこのトピックに属するといった情報)が考えられる。

上記を踏まえて3つの比較手法を挙げている。

比較手法 知識の入れ方 推論方法
info-gibbs 事前情報 ギブスサンプリング
info-vb 事前情報 変分推論
const-gibbs 制約条件 ギブスサンプリング

ユーザの操作

ユーザがトピックモデルをいじる上で行う操作を既存研究にのっとり7つ挙げられています。

  • Remove word トピックtから単語wを除去する操作
  • Add word トピックtに単語wを割り当てる
  • Remove document トピックtから文書dを除去する
  • Merge topics トピックt1とトピックt2とトピックt1にする
  • Split topics トピックtとseed words sが与えられた時、sを含むトピックt _ nと含まないトピックtに分割する
  • Change word order トピックtにおける単語w2のランクをw1より上にする
  • Create topic seed words sが与えられた時にt _ nを作成する

操作性(Control)の評価尺度

トピックモデルの一般的な評価尺度は

などがあげられるけどこれらはモデル自体についての良さの指標であって、 人からのFBを反映できているかといった観点の評価としてみると不十分である。*6

なので新たな評価尺度(Control)を提案するというお話で上記7つの操作に関して各々提案されています。

単語レベルの操作に関しての評価

Remove word・Add word・Change word orderがこれに該当し、

  •  {r ^ {M _ 1}}  _ {w _ t} : モデルM1(ユーザのFB前)におけるトピックtのワードwのランク
  •  {r ^ {M _ 2}}  _ {w _ t} : モデルM2(ユーザのFB後)におけるトピックtのワードwのランク

とした時に  {r ^ {M _ 1}}  _ {w _ t} - {r ^ {M _ 2}}  _ {w _ t}といった実際の変化と、期待される変化の比率で計算される。

文書レベルの操作に関しての評価

Remove documentがこれに該当し、Remove wordとほぼほぼ同様であるが、トピックを文書のランクリストとして捉える

トピックレベルの操作に関しての評価

Create topic・Merge topic・Split topicがこれに該当し、

  • Create topic: seed wordsのうちどれだけの単語が新しいトピックに含まれるかの割合
  • Merge topic: 結合元のトピックの単語のうちどれだけ、マージされたトピックに含まれるかの割合
  • Split topic: 分離前後トピックにおけるcreate topicと同様の計算によって得られる指標の平均

比較実験と結果

コーパス

14のトピックについて各500文書、累計7000文書のニュース記事(ビジネス、法律、・・・)

ユーザシミュレーション

実際の人手を集めるのはコストがかかるので、

  • ランダムに操作するユーザ
  • 良い操作をするユーザ

をそれぞれシミュレーションで作り上げる*7

方法

元となるモデルはLDAでトピック数10・20で学習する。 評価に関しては上記のcontrolという指標とCoherenceに関して行う。

結果

f:id:cl_hair:20190721123653p:plain

  • remove wordとmerge topicはどのシステムでも良いcontrolである
  • informed priorにおいては add wordとcreate topicも良いcontrolである
  • change word orderの項目はどのシステムもcontrolに乏しい

実験結果からinformed priorの方がconstraintよりもcontrolabelであることがわかる。 (constraintはあくまで制約条件であり、十分に共起が起きていなければadd wordしてもトピックに含まれにくいが、 informed priorはそもそも事前分布をいじるので共起以上の関係をおりこめる(意訳))

所感

数年前にInteractive Topic Modelを読んだ時からHuman-in-the-Loopなトピックモデルは人が見るトピックモデルにおいては需要があるなと思っていたので、ちゃんと評価まで提案してくれて良い論文だと思った一方で、具体的な例が載ってないのが少し残念な論文だった。。。 (トピックモデルの論文はトピックをちゃんと例示してほしい・・・)

ちゃんとしたツールとして出てきたらもっと普及するのかなと思ったり、pyLDAvisみたいに視覚的に見れると嬉しいと思ったり・・・

*1:https://arxiv.org/abs/1905.09864

*2:https://www.aclweb.org/anthology/E14-1056

*3:https://www.aclweb.org/anthology/P11-1026

*4:日本語だとここで軽く解説されています。https://qiita.com/kenchin110100/items/4e4ba972fea4690bf9e8

*5:余談ですけど、gensimのLDAでも\alphaが更新できることはあまり知られていない・・・?

*6:だけど、上記の評価は行わない論文はトピックモデルにおいてはほぼほぼない気がする...

*7:具体的な方法はappendixに載ってる