Upload
hiroki-takanashi
View
269
Download
12
Embed Size (px)
DESCRIPTION
リクルートテクノロジーズさんで9月23日に開催されたKDD2014読み会で担当したやつ。 LDAのlifetime learningへの拡張で、教師ありクラスタリングで使われるmust-link, cannot-linkの形で過去の学習事例から制約条件を自動で抽出し、新しい文章ドメインにおけるトピック集合を作る際の性能向上を行おうという提案ですが、いろいろと面白いトリックが組み合わされているので参考になります。
Citation preview
KDD2014 読み会 @PCP“Mining Topics in
Documents: Standing on the Shoulders
of Big Data”Zhiyuan Chen & Bing Liu (University of Illinois at
Chicago) KDD2014 読み会 @2014/9/23
住まいカンパニー NB 室 R&D データマーケ GHiroki Takanashi
([email protected] / W+54219)
※ スライド中の図表、数式は原著論文から引用しました
要旨 • LDA をベースとした教師なしトピック抽出の改良の提案 (AMC モデル )• ドメインの文章数が少ないとき抽出されるトピック品質が下がる問題に
対して、過去のドメインの知識を利用 (lifetime learning)• must-link, cannot-link の形で、過去の知識を定式化。過去のトピック集合
から自動的に両者を抽出する方法を提案• 単語の意味に多様性がある場合を考慮して PMI を用いて must-link,
cannot-link を扱うことを提案• 品質の悪い must-link, cannot-link が含まれたり、ドメインにそぐわない知
識である場合に対応する Gibbs Sampling の手法を提案 (M-GPU)• Topic Coherence 指標と、人間による評価で、既存手法 (LTM, GK-LDK 他 )
を超えるトピック抽出の品質を達成
トピック抽出の課題• LDA, pLSA などのトピックモデルによる自動トピック抽出は、大きな
データセット ( ドメイン下の文章集合 ) が必要• 現実のデータは1つのトピックに少数の単語しかない• 少ないデータセットで LDAを適用すると品質の悪いトピックが抽出される
• これまでの改善方法• ① 良いトピックモデルを作る
• 限界がある• ② 利用者の持つドメイン知識を利用する
• 利用者の作業が発生するため、完全な自動化にはならない• 利用者がドメインに対する知識を持っているとは限らない
• ③人間のように学習する (lifetime learning)• 過去の学習で得た事前知識を利用する• 先行研究は LTM (Lifetime learning Topic Modeling)など
Lifetime learning 提案の背景• ドメインが異なってもトピックは共有される• battery, screen などは多くの電子機器について出現。 price は商品すべて• (price, cost) などの語の組み合わせは別のドメインであっても同じト
ピックに入ることが観察 → must-link• (price, picture) のように、どのドメインにおいても同じトピックに入ら
ない語の組み合わせがある → cannot-link
• 別のドメインに対する過去のトピック抽出で得られたトピック集合 (S) を利用することで、 must-link と cannot-link を自動的に発見し、それを新しいドメインにおけるトピック抽出に利用できると仮説
AMC による Lifetime learning の全体像• Phase-1 ( 初期化 )
• n 個の文書コレクション Di の集合 D を用意する ( D = {D1 ,D2 , … ,Dn} )• 各文章コレクション Di について LDA を適用し、トピック集合 Si を得る• Si の和集合を取り、すべての事前トピック集合 S を作る ( S = ∪i {Si })
• Phase-2 (AMC を使った生涯学習 )• 新しい文章コレクション Dt に対して、 S から作られた must-link の集合 M を用い
て、 Gibbs Sampling を適用し Dt に対する仮のトピック集合 At を作成する。• At と S を使って、 cannot-link を発見し、 cannot-link 集合 C を作成する。• [ 繰り返し ] M, C の両方を用いて Gibbs Sampling により At を更新し、さらに新しく
cannot-link を発見し C に追加する• 最終的に得られた At を S に追加し、 Dt に対する学習を終了する
AMC の疑似コード
Incorporate(At , S) は、 At のドメインがすでに S に存在していれば置き換え、そうでなければ和集合を取り追加する関数
Phase2 (AMC による生涯学習 )
自動抽出された事前知識の活用の課題• 自動抽出された must-link 、 cannot-link は間違いを含む。
• このまま、 DF-LDA や、 MC-LDA に投入すると品質の悪い結果になる• 単語は複数の意味を持ちうる
• Light( 光 ) 、 Light( 軽い ) など• DF-LDA のように単語 A- 単語 B のリンクと単語 B- 単語 C のリンクをそのまま使うと
すべての A, B, C を同じトピックに入れようとするので問題となる• MC-LDA のように、1つの単語について1つのみの must-link を用いる(他はすべて
捨てる)と、事前知識を十分活用できない• すべての事前知識を使うべきとは限らない
• 特定のドメインで有効な must-link が別のドメインでも有効とは限らない• cannot-link は must-link よりも数が膨大になる
• 過去の事例に「なかっただけ」なので本当に有効な cannot-link であるかわからない
must-link の利用方法• 有用な must-link の抽出
• 各トピック集合のトップ 15 単語のみを利用• Multiple Minimum Supports Frequent Itemset Mining (MIS-FIM) を使って、単語の2つ
組で must-link の事前知識として利用• multiple-sense への対応
• 各 must-link の組をノードとするグラフ G を作り、同じ単語が含まれる must-linkノードをエッジで接続する
• 任意のエッジでつながれた must-link(m1, m2) について、トピック集合 S のなかで、各 m1, m2 の組の共起数をもとに、閾値以下のものは枝刈り
• 不適切な事前知識への対応• must-link を構成する、 w1, w2 について、対象とする文章コレクション Dt におおける、
w1, w2 の Point-wise Mutual Information (PMI) を使って must-link の重みづけを行う
must-link の利用方法(補)must-link グラフ G の枝刈り基準
PMI を用いた must-link の重みづけ
cannot-link の利用方法•計算量の爆発への対応
• 対象とするドメイン Dt のトピック候補の集合 At のうち、注目するトピックの At
j に含まれる単語の組み合わせ w1, w2 のみを cannot-link の候補とする• 有用な cannot-link の発掘
• cannot-link の候補 w1, w2 の組に対して、過去のドメイン集合において、 w1, w2 があるトピックに共起した回数 Nshare と、 w1, w2 がそれぞれ別のトピックに現れた回数 Ndiff の比が閾値未満の場合利用しない : Ndiff /(Ndiff +Nshare) π≧ c
• 加えて、 Ndiff の回数自体が閾値未満の場合利用しない : Ndiff > πc
•不適切な事前知識への対応• 誤った cannot-link や、ドメインに対して適切ではない cannot-link が混入し
うるため、 Polya urn モデルを拡張し、 Multi-generalized Polya Urn(M-GPU)
Multi-Generalized Polya Urn モデルの提案•壺の定義• UK
d {1,…,Dt}∈ : 各文章を壺とし、各壺 UKd には K色のボール ( トピック )
が含まれる。文章に対するトピック分布に対応。• UW
k {1,…,K}∈ : 各トピックを壺とし、各壺 UWk には w色のボール(単語)
が含まれる。 w {1…V}∈ 。トピックに対する単語分布に対応。• PMI による重み行列• UW
k に含まれる単語 w に対して、 must-link の対となる w, w’ の単語の組の重みを PMI を用いて以下のように定義
Multi-Generalized Polya Urn モデルのサンプリングプロセス1. トピック k を壺UK
d から1つサンプリングし、続けて 壺UWk から単語 w を1つサン
プリングする。 (d は文章集合 Dt の d番目の文章 )
2. k と w を記録し、 k色のボールを壺UKd に2個戻し、同時に w色のボールを壺UW
kに2個戻す。
3. 事前知識から w を含む must-link を1つサンプリングし (=m) 、 m 自身と must-link グラフ G上の全ての隣接ノード m’ からなる集合 {m’} を作る
4. {m’} に含まれるすべての must-link {w, w’} について、 w’色のボールをそれぞれ λw’, w
個だけ UKd に戻す
5. w と cannot-link を共有するすべての単語 wc について以下を行うa) wc色のボール qc を1つ UW
k から取り除く。ここで、 qc が含まれていた文章を dc で表す。もし、 UW
k に wc色のボールが1つも含まれない場合、以下の b), c) をスキップする。b) 以下の条件を満たす壺の集合 {Uw
k’ } を作るi. k’ ≠ kii. Uw
k’ に wc色のボールが含まれる割合は、 Uwk に wc色のボールが含まれる割合より大きい
c) 集合 {Uwk’ } が空でなければ、ランダムに1つの壺Uw
k’ を選び、 qc をその中に戻す。同時に、k色のボールを壺UK
dc から1つ取り除き、代わりに k’色のボールを戻す。もし、 {Uwk’ } が空
であれば、 qc を UWk に戻す。
Sampling DistributionsM-GPU モデルの単語の非可換性による計算量の増大を抑えるため、 Gibbs Sampling 分布を各単語が最後に取り出されたものと扱うことで近似
must-link のサンプリング
wi に対してトピック k が紐づけられる条件付き確率 zi
α, β はディクリレハイパーパラメータ
Sampling Distributions(2)トピック zi から wc色のボール qc がサンプリングされる条件付き確率
qc について、 k以外のトピックがサンプリングされる条件付確率
実験設定• Electric Products と、 Non-Electric Products の各2つのデータセットについて、それぞれ 50 ドメイン・各ドメイン 1000記事のレビューを用意
• LDA, DF-LDA, MC-LDA, GK-LDA, LTM との比較実験• DF-LDA, MC-LDA, GK-LDA については、人が作った事前知識ではなく、提案手法で作られた
must-link, cannot-link を事前知識として利用• 各トピックモデルで共通の LDAハイパーパラメータは α=1, β=1, トピック数 K = 15
• モデルごとに共通のパラメータは各手法の原著論文に従う• Topic Coherence 指標と、人間による評価の2つで評価実験を実施
E
NE
Topic Coherence による評価• Electric Products に対する Topic Coherence• テストする 1 ドメイン以外の 49 ドメインを事前知識の学習に用いて、各ドメインに対
する Topic Coherence の平均を計算• ACM は must-link, cannot-link の両方を使ったもの (ACM) と、 must-link のみをつかったも
の (ACM-M) の両方をテスト• DF-LDA と MC-LDA は自動生成された cannot-link を使うと破綻するため、 must-link のみを
利用
人間による評価• Topic Labelling と、 Word Labelling の2つを使って、各モデルを評価• Topic Labelling は、ドメインから得られた 15 個のトピックについて、各トピックに含まれる単語
をエキスパートが判断して、対象ドメインについて各トピックが Coherent か否かを判断• Word Labelling は、 Coherent だと判断されたトピックのみに対して、各トピックに含まれる単語
をエキスパートが判断し、対象トピックについて各単語が Coherent か否かを判断• Word Labelling は、 Precision@n (p@n) によって、トピックに含まれる上位n件までの単語につい
て評価
並び順は ACM(赤 ), LTM(青 ), LDA(緑 )
2つのデータセットを利用した学習• テスト対象とする Electric Products のデータセットだけでなく、 Non-electric
Products のデータセットも事前知識の学習に利用した場合の性能をテスト• ALL = (Electric + Non-electric の全て ), E = (Electric Products データセットのみ ),
NE = (Non-Electric Producs データセット ), LDA = (比較対象 )• 各ドメインごとのレビュー数を 100 と 1,000 でと変えて比較
まとめ&感想• まとめ
• 過去の学習を must-link, cannot-link の形で自動で抽出し、事前知識として利用する lifetime learningとして LDA を拡張した提案
• 単語の意味の多義性、 must-link 、 cannot-link の品質の問題や、別ドメインへの当てはめや不適切な事前知識など、各問題を解決するようなトリックを導入
• 既存の LDA拡張における問題であった、矛盾する事前知識や、 cannot-link の活用などを解決して性能を向上させている
• 感想• 提案を構成する各要素の発想は非常に明快で、直観的な納得感もある• Gibbs Sampling の Distribution の話になってから導出が追い付かなくなった(すみません)• 各問題を一度に解決するのではなく、細かなトリックを加えて緩和していこうという方向性が非常にエンジニアリング的で、各アイディアだけでも別の形で実システムへ生かしていけそう
• 一方で、各アイディア (must-link グラフの枝刈りなど ) が、それぞれどれだけ性能向上に寄与しているのかが不明瞭なので、各段階での性質を追えるような実装がほしい