トピックモデルは複数の文書データに共通のトピック群を探す手法で、文章の中で言語的に固定された単語や意味カテゴリではなく、複数の単語の共起性によって創発される潜在的意味を抽出してくれます。
前回までは、トピックモデルにおけるハイパーパラメタの解釈と最適なハイパーパラメタについて議論してきました。今回はトピックモデルの最終回として、トピックモデルにおける一番の疑問点である「最適なトピック数はいくつか?」についてSEEDATA Technologiesの広本と鳥居が議論していきます。
トピック分布のハイパーパラメータと単語分布の関係
最適なトピック数について議論する前に、トピック分布のハイパーパラメータalphaの値が対応するトピックの単語分布にどのように影響しているか明らかにしましょう。以前の記事で解説したように、トピック分布のハイパーパラメータは文字通りトピック分布を生成するディリクレ分布のパラメータなので、文書のトピック分布を決定付ける大きな要因となります。一方で、文書データが与えられた条件下では、ハイパーパラメータalphaとそれに対応するトピックの単語分布は独立でなくなることが下のグラフィカルモデルを見るとわかります。つまり、本来トピック分布にしか作用しないはずのハイパーパラメータalphaは、文書データが既知の条件下においては、単語分布にも作用するのです。また、最適なトピック数かどうかは、トピックの単語分布がどのような単語で構成されているかを見ればわかります。これらのことから、ハイパーパラメータalphaと単語分布がどのような関係にあるかを明らかにすれば、最適なトピック数となるハイパーパラメータalphaの特徴が分かるということです。
では実際に、ハイパーパラメータalphaがどのように単語分布に作用しているかを見ていきましょう。分析対象は、SEEDATAがこれまで社内で共有したニュース6000件の文書です。下のグラフは、この文書データを200個のトピックに分けたときのハイパーパラメータalphaの分布を表しています。ここでは、ハイパーパラメータの値の異なる3つのトピックに注目し、その値の大きさと対応する単語分布との関係について議論していきます。下の図中で、alphaの値が大きい(= 2.65)トピックであるtopic-8の単語分布を見てみると、比較的あらゆるジャンルの文書で出てくる汎用的な単語が多いことがわかります。一方で、alphaがある程度小さい値(= 0.47)になると、そのトピック(topic-71)の単語分布はある1つのジャンルの単語(ここではレストランに関する単語)によって構成されるようになります。さらにalphaの値が小さい(= 0.019)トピックになると、そのトピック(topic-156)の単語分布は、ある文書特有の単語のみで構成されるようになります。今回の場合では、topic-156の単語分布は完全に”Amazon”を表しています。
このようにハイパーパラメータalphaの値の大きさと単語分布を対応づけることができます。これは、ハイパーパラメータの値が大きいとそのトピックkはどの文書でも出現しやすく、その単語分布は汎用的な単語で構成され、値が小さいとそのトピックkはある文書でのみ稀に出現するため、その単語分布は特殊な単語で構成される、というディリクレ分布の性質のためです。このことから文書を対象としたLDAにおいてハイパーパラメータalphaは、そのトピックkの単語分布の特異性と解釈することもできます。
以上から、ハイパーパラメータalphaと単語分布の関係をまとめると以下のようになります。ただし、ハイパーパラメータの閾値となる2や0.2はおおよその値であり、対象とする文書によって異なります。
ここからは、最適なハイパーパラメータの分布について考えていきます。トピックモデルによって文書集合が上手く分類されるのは、多くのトピックの単語分布が真ん中の「あるジャンルの単語の集合」となっている時だと考えられます。前回の記事で述べたように、トピック数を大きくするほどハイパーパラメータの分布は最頻値が0に近づく分布となります。よって、トピック数が小さすぎると、値の大きなハイパーパラメータの割合が大きくなり、汎用的な単語集合が多くなります。これは、トピック数が小さすぎると、単語分布が全文書で共通の単語を選択しやすくなるという解釈に合致します。一方で、トピック数が大きすぎると、値の小さなハイパーパラメータの割合が大きくなり、ある文書特有の単語集合が多くなってしまいます。これは、トピック数が大きすぎると、ある文書でのみ出現するような単語を含む単語分布が存在するようになるという解釈に合致します。つまり、トピック数は小さすぎても大きすぎても駄目で最適な値が存在するということです。これは当たり前のことを言っていますが、このような背景があるということを理解しておくことも重要です。
最適なトピック数
では、最適なトピック数はいくつでしょうか?
完璧な答えはありませんが、今までの考察を踏まえればある程度範囲を決めることができそうです。今回の分析で対象とした文書データに関して考えた場合、上で示した最適なハイパーパラメータalphaの範囲(0.2 ~ 2)にある要素の割合が大きいトピック数が最適なトピック数であるとします。下の図にその結果を示します。このグラフを見るとトピック数がおおよそ25 ~ 75の範囲にある時、最適なハイパーパラメータの値が多くなることがわかります。よって、この分析ではトピック数25 ~ 75の範囲が最適解です。
このように、ハイパーパラメータalphaの分布を見ることによって最適なトピック数をある程度決めることができます。しかし、最適なハイパーパラメータの範囲は文書データによって異なることに注意しなければいけません。おそらく閾値となる値は、(1) 対象とする文書集合の文書数と、(2) 対象とする単語集合の構成と単語数、の二つの要因によって決まると考えられます。今回はこの二つの要因によってどのように閾値が決まるかについては触れませんが、考察する価値は十分あるので興味がある人は考えて見て下さい。
【この記事の作成者】
鳥居健次郎、広本拓麻:SEEDATA Technologies
↓↓SEEDATAの無料ホワイトペーパーができました↓↓
新規事業を立ち上げの際に担当者が陥りがちな失敗を項目ごとに解説(全25ページ・493KB)