トピックモデル:最適なハイパーパラメタとは?

 トピックモデルは複数の文書データに共通のトピック群を探す手法で、文章の中で言語的に固定された単語や意味カテゴリではなく、複数の単語の共起性によって創発される潜在的意味を抽出してくれます。このページではSEEDATA Technologiesの広本と鳥居が、前回に引き続きトピックモデルにおけるハイパーパラメタの解釈について説明していきます。今回は実際の文書データを用いて、最適なハイパーパラメタが、(1) 各要素の値が0.1 ~ 5の範囲にある(2) 各要素の相対差が大きすぎない、という2つの条件を満たすものであるという主張の妥当性を評価します。

■ 分析対象

今回は、SEEDATAがこれまで社内で共有したニュース6000件の本文を対象とし、鳥居が周辺化ギブスサンプリングに基づいて実装したアルゴリズムを用いて分析を行いました。

■ 評価方法

 最適なハイパーパラメタは最適なトピック数(最適なモデル)に対応しているので、トピック数を変化させて分析し、トピックが上手く分かれている結果とそうでない結果について、それらのハイパーパラメタを比較することで最適なハイパーパラメタの条件を評価します。

分析結果

■ 最適なトピック数

 まず、トピック数が12のときのあるトピックにおける出現確率上位20個の単語を以下に示します。

トピック数:12 ['データ', 'ロボット', '技術', '人工知能', '人間', 'システム', '開発', 'ドローン', '画像', '自動運転', '移動', 'クルマ', '解析', '自動車', 'ドライバー', 'コンピューター', 'アルゴリズム', '可能', '自動', 'タクシー']

”人工知能”や”自動車”に関する単語が多く含まれていることから、これは自動運転についてのトピックのようです。一方で、トピック数を50に増やした場合についても下のように同じようなトピックを見つけることができました。

 次に、トピック数が50のときのある2つのトピックにおける出現確率上位20個の単語をそれぞれ以下に示します。

トピック数:50
 ['ロボット', '人間', 'テクノロジー', '人類', '人工知能', '機械', 'コンピューター', '宇宙', '未来', '生命', '知性', 'ヒト', '物体', '進歩', '進化', '知能', '自動化', '動物', '案内', '雇用']
 ['自転車', '自動運転', 'クルマ', '移動', '自動車', 'タクシー', '車両', 'ドライバー', '運転', 'バス', '配車', '交通', '駐車場', '走行', '乗客', '車内', '電車', '自動運転車', '運行', 'バイク']

 このようにトピック数を増やすと、1つのトピックで表されていたものが”人工知能”と”移動”という2つのトピックに分かれました。ここで、LDAの文書生成過程では、文書が複数のトピックから構成されているという仮定を置いていることを思い出すと、1つのトピックは1つの潜在的意味を持つことが望ましいので、後者の結果の方が良いと言えます。つまり、トピック数がある程度大きい方がトピックを上手く分けられそうです。

■ ハイパーパラメタとトピック数の関係

 では次に、トピック数が増えるとハイパーパラメタの値はどう変化するのか見てみましょう。下の図はトピック数が10, 50, 200個のそれぞれの場合について、ハイパーパラメタの値がどのような分布をしているかを表したものです。トピック数が大きくなると大きくなるとハイパーパラメタの値が全体として小さくなる傾向にあることがわかります。さらに、ハイパーパラメタの各要素同士の相対差もトピック数の増加とともに小さくなっています。

 上のグラフではハイパーパラメタの値の分布を示し、トピック数によってその分布がどうなるか考察しました。次に視点を変えて、ハイパーパラメタのL1ノルム(単純和)とL2ノルム(二乗和)がトピック数によってどう変化するのか見てみましょう。ここで、L1ノルムは単純和なのでハイパーパラメタの値の大きさに対応し、L2ノルムは二乗和なのでハイパーパラメタの要素同士の相対差に対応します。下のグラフは標準化されたL1ノルム、L2ノルムとトピック数の関係を表したグラフになります。グラフを見て分かるように、L1ノルム、L2ノルムどちらもトピック数に対して対数的に単調減少しています。つまり、トピック数の増加に伴い、ハイパーパラメタの値は減少し、各要素同士の相対差も減少していることがL1ノルム、L2ノルムを見ることによっても確認できます。ここでは深く考察しませんが、対数的に減少している点も興味深く、トピックモデルの評価指標の1つであるperplexityとトピック数の関係を表すグラフの形に似ています。

まとめ

 実際の文書データを分析し、前回の記事の最後に示した最適なハイパーパラメタが満たすべき、(1) 各要素の値が0.1 ~ 5の範囲にある、(2) 各要素の相対差が大きすぎない、という2つの条件の妥当性を評価しました。分析の結果、トピック数が大きいほど”良い”モデルであり、この2つの条件をより満たすようになることがわかりました。よって、上に示した最適なハイパーパラメタが満たすべき条件はおおよそ妥当であると言えそうです。

 しかしここで注意しなければいけないのは、ここで言う”良い”モデルとは機械にとって”良い”のであって、人間が理解したり、活用したりする上で良いとは必ずしも言えないということです。極端なことを言えば、6000件の文書データを6000個のトピックに分ければ機械的には”良い”モデルとなってしまいますが、それをやっても意味がありません。トピックモデルの本質は、膨大な文書データから人間が理解できるような潜在的意味を見出すことにあります。そのため、できる限り少ないトピック数で最適なもの(人間的にも機械的にも良いモデル)を探索する必要があります。次回はこれについて考察しようと思います。

【この記事の作成者】

鳥居健次郎、広本拓麻:SEEDATA Technologies

↓↓SEEDATAの無料ホワイトペーパーができました↓↓

失敗しない新規事業部の立ち上げ方(ホッキョクグマ)

新規事業を立ち上げの際に担当者が陥りがちな失敗を項目ごとに解説(全25ページ・493KB)

SD/T
Written by
SD/T