ナレッジ

PLSA(確率的潜在意味解析法)

行と列を同時にクラスタリングする新たな知識発見手法

複雑なビッグデータをシンプルに解釈可能にする、新しいクラスタリング技術を紹介します。

PLSAとは

ビッグデータから有用な知識を抽出する技術として、人工知能の分野でPLSAという手法が注目を集めている。PLSAとはProbabilistic Latent Semantic Analysisの略で、確率的潜在意味解析法と呼ばれている。Hofmanが1999年に発表した次元圧縮の手法であり、クラスタリングの手法としても使用される。次元圧縮とは、高次元のデータ(列の多いデータ)を低次元データに変換すること、つまりできるだけシンプルに表現しようとすることである。一方クラスタリングとは、類似するデータをまとめていくつかのグループに分類することである。

元々PLSAは、情報検索の分野で、膨大な文書データを分類するために開発された手法である。ここでいう文書データとは、図1(上)のように、行に文書の情報を持ち、列にその文書に出現する単語の情報を持つ「文書」×「単語」の行列データで、各文書における各単語の出現頻度が記録されている「共起行列」と呼ばれる形式のデータである。PLSAを適用すれば、図1(上)にあるような文書5,000件×単語10,000語という高次元のデータは、例えば5個のトピックで表現可能で、図1(下)にあるような文書5,000件×トピック5個という低次元のデータに変換することができる。

PLSAの考え方は図2のように図式化できる。PLSAは、文書dとそこに出現する単語wの間には、共通のトピックとなるような、潜在的な意味クラスzがあると想定し、この潜在クラスを確率的に抽出する手法であり、図2に示した3種類の確率変数P(z),P(w|z),P(d|z)を計算する。
 

図1 文書データにPLSAを適用した次元圧縮イメージ

図2  PLSAのグラフィカルモデル

従来の手法と比較したPLSAのメリット

データクラスタリングの観点から、従来の手法と比べてPLSAが特に優れている点をまとめると、表1に示した3点が挙げられる。

表1 PLSAのメリット

PLSAとLDA

昨今のビッグデータ時代の分析では高次元データを扱うことも多く、このような次元圧縮の技術が注目されているが、実際にはPLSAよりもそれと同様の手法であるLDAの方が世間的に認知されているといえるだろう。この手法はトピックモデルと呼ばれ、元々LSA (Latent Semantic Analysis)という手法があり(Deerwester et al, 1990)、それを確率的な処理をして改良したものがPLSAであり、さらにその拡張版として開発されたのがLDA (Latent Dirichlet Allocation)である(Blei et al, 2003)。

PLSAとLDAの基本的な考え方は同じだが、個々の文書における各トピックの現れやすさを表す確率が、PLSAではあくまで学習させた観測データから定義されるが、LDAではディリクレ分布という確率分布を仮定して生成させる。これによりPLSAでは、観測データに過剰に適合して他のデータの適合度が下がってしまうオーバーフィッティングという現象が生じ易く、新しい文書におけるトピックの生成確率は定義されないが、LDAではこれを推定できる。

情報検索の分野では、新しいデータがどのトピックに分類されるのかということが重要となるため、確かにPLSAよりもLDAがマッチしているといえる。またLDAはPythonやMahoutなどのオープンソースライブラリとして公開されていることもあり、適用事例も多く、注目されているのだろう。さらに、「文書」×「単語」の共起行列データに適用して文書分類するだけでなく、「画像」×「特徴量」という同様の共起行列データに適用して画像認識する技術としても使われている。

一方で、PLSAも特徴をふまえて活用することで有用性が高まり、最近再び注目を集めている。PLSAの適用事例を紹介しながら筆者の考えるPLSAの有用性の本質について後述したい。 

PLSAの適用事例の多様化

本来PLSAは「文書」×「単語」の共起行列データに適用して文書分類する手法であるが、最近では多様な適用事例が報告されている。例えばID-POSと呼ばれるポイントカードなどの購買履歴に関する「顧客」×「購買商品」データに適用して、商品の購買傾向に基づいた顧客分類を行ったり、Webでの閲覧履歴に関する「閲覧画面」×「閲覧時間帯」のデータに適用して、情報の閲覧傾向を把握したり、「個人識別ID」×「各属性情報」のデータに適用して、パーソナルデータをクラスタリングされたデータに変換するという、匿名化技術としての利用も検討され始めている。

トーマツのPLSA適用事例

トーマツではWeb上の口コミデータにPLSAを適用し、顧客目線のニーズを分析している。例えば、北海道の観光地の口コミデータから「観光地」×「口コミ表現」の共起行列を作成してPLSAを適用することで、観光客目線で観光地を分類した。その結果、数学的には7つのグループに集約することが最適となった。例として、そのうちの2つの観光地グループの結果を図3に示す。

また、「展望台等からの景色が綺麗な場所」の観光地グループの口コミに限定して、どのような話題をしているのかということもPLSAで抽出した。ここでは「名詞の単語」×「形容詞と動詞の単語」という共起行列を作成してPLSAを適用することで、観光客の評価や体験の話題を抽出した。その結果、数学的には14個の話題に集約することが最適となり、景色の話題だけでなく、お土産屋やレストラン、観光地までのアクセス、観光客の多さ、天気などが話題になっていることが分かった。例として3つの話題の結果を図4に示す。

また北海道とは異なる地域だが、同様の分析アプローチで観光客誘致による地域活性化を目指したプロジェクトも実施している。これは、自治体など地域関係者に向けたアドバイザリーサービスであり、PLSAによって観光の話題を抽出したところ、地域関係者からすると納得する結果もあれば、驚きの声も聞かれた。地域に散在していた観光資源が、観光客から見ると実は一つのテーマを形成しており、その地域の観光を象徴する価値となっていた。つまり地域関係者からすると変哲のないことでも、観光客はそこに潜む価値を見出していることが明らかとなり、新たな気づきが得られていた。このようにPLSAはデータの背後にある潜在的な要因を抽出する新たな知識発見手法としてビジネスでも有用であると思われる。
 

図3 観光地の口コミデータにPLSAを適用した観光地分類の例

図4 「展望台等からの景色が綺麗な場所」の口コミの話題抽出の例

PLSAの有用性の本質

ここまで紹介した事例では、PLSAが「文書」×「単語」のデータに適用する文書分類の手法としてではなく、行と列の2つの軸を同時にクラスタリングできる手法として、従来よりも結果の意味を解釈しやすいという機能の有用性が着目されているといえる。

また、確かにPLSAは観測データにオーバーフィットし、新しいデータの対応が難しいが、観測データのありのままの潜在要因を抽出できる。つまり、情報検索の分野では新しいデータへの対応が重要であるため確率分布を仮定したLDAが適しているが、純粋に観測されたデータだけに基づいた潜在要因を抽出したいときはPLSAが適していると考えられ、我々もあえてPLSAを適用している。しかしこのPLSAの機能の有用性はまだ十分に知られていない。
 

ビジネスにおけるPLSAの適用の広がり

PLSAを行と列の2つの軸を同時にクラスタリングできる手法として捉えれば、その適用範囲はとても広く、どのような軸を組み合わせたデータに適用するかということによって、多用なクラスタリングが実現できる。特に分析結果をどのようなアクションに結びつけるかを念頭に置きながら、2つの軸をカスタマイズしていくことで有用な知見を得ることができる。
例えば ID-POS系の購買履歴データと口コミデータに関して、アクションの狙いに応じたPLSAの適用の仕方の例を以下に検討してみた。

<ID-POS系の購買履歴データ>

■顧客にヒットする商品をレコメンドして売上を伸ばしたい

・「顧客」×「購買商品」のデータに適用して顧客をクラスタリングする

・各顧客グループの購買商品の傾向を把握する

■商品の仕入れや陳列の効率化、売上が伸びるタイムセールのタイミングを知りたい

・「商品」×「時間・曜日」のデータに適用する

・時間帯・曜日帯と商品の売れる傾向の関係性を把握する

■同時購買を誘って売上を伸ばしたい

・「Aコーナーの商品」×「Bコーナーの商品」という、売り場の異なる商品の同時購買データに適用する

・これは従来のバスケット分析のクラスタリング版と捉えることもできる

・有名な「ビール」と「おむつ」の同時購買は、PLSAでは「酒類」と「乳幼児商品」として一つのトピックに所属し、そのトピックは「小さな子どもを持つ父親がお使いで買物をする商品」という潜在意味を持つ

<口コミデータ>

■顧客目線での商品・サービスの整理や有効なレコメンドがしたい

・図3の適用事例のように、「商品・サービス」×「口コミの表現」のデータに適用して顧客目線で商品・サービスをクラスタリングする

・過去の購買商品に基づいて、同じグループに属する他の商品をレコメンドする

■口コミの内容を話題単位に集約して、顧客の口コミの観点を把握したい

・図4の適用事例のように、「単語」×「単語」という単語同士のデータに適用することで、より意味解釈しやすいトピックを抽出できる

・例えば、評価のトピックを抽出したければ「名詞」×「形容詞」、行動や体験のトピックを抽出したければ「名詞」×「動詞」のデータに適用することが有効である

PLSA×モデリング

最近のPLSAの先進的な適用事例では、クラスタリングした結果にさらにモデリング技術を適用する事例がある。つまり、PLSAによって高次元データを低次元データに圧縮し、そこで抽出された潜在的要因を一つの変数として扱ってモデリングをすることで、意味解釈が容易でシンプルなモデルを構築することができる。高次元データのままモデリングを行ってしまうと変数の数が多すぎて、解釈不能な複雑なモデルができてしまう。

例えばPLSAにベイジアンネットワークというモデリング手法を組み合わせてID-POSデータに適用し、顧客の購買行動を予測する事例もある。我々も、口コミデータにPLSAとベイジアンネットワークを組み合わせて適用しており、宿泊施設の口コミデータに適用した事例を図5に示す。図5はPLSAで抽出した口コミの評価トピックと投稿者が付けた各項目の得点の関係をベイジアンネットワークでモデル化したものである。このモデルを使うことで、図6のように、どのような話題がされると満足度がどのように変化するのか確率的にシミュレーションでき、施策の優先順位をつけられたり、施策後の効果を定量的に推論できる。

こうした新たな分析アプローチは、テキストデータに関していえば口コミに限らず、例えば、コールセンターのログデータに適用して、問合せや苦情のトピックと解約の発生確率の関係をモデル化すれば、解約件数を抑制する施策を検討することができる。また営業の日報データに適用して、営業・接客のトピックと契約の獲得率の関係をモデル化すれば、契約獲得を促進させるポイントを把握することができる。また商品の印象調査などのアンケートの自由記述データに適用して、商品の特徴と印象トピックとの関係をモデル化すれば、商品特徴からどのような話題がされるのか予測して、狙った印象を与える商品企画を検討できる。なお我々は、この「テキストマイニング」「PLSA」「ベイジアンネットワーク」を統合した一連の分析方法を特許出願している(特願2014-174500 )。
 

図5 宿泊施設の口コミ×PLSA×ベイジアンネットワークによって構築されるモデル

図6 宿泊施設の評価トピックから満足度得点を確率推論した例

まとめ

最近注目を集めているPLSAというクラスタリング技術を紹介した。特に、データの行と列という2つの軸を同時にクラスタリングできる機能に本質的な有用性があると考えており、これに着目した適用事例が本来の使い方とは異なる場面で近年報告され始めていることを述べた。ビジネスの課題に応じてデータにおける行と列の2つの軸をカスタマイズしてPLSAを適用すれば、ビジネスに有用な知識を抽出することができる。

ビッグデータはデータの件数の多さだけでなく、列(変数)の多さという高次元性がもたらす複雑さが扱いにくいものにしている。最近では高度な自動処理アルゴリズムも開発されており、結果の精度さえ良ければその中身を解釈できなくても良しとするケースがあるが、人間が解釈可能な分析結果を出すことこそ、データ分析というものが経験豊かなビジネス現場の人の武器になるのではないだろうか。

トーマツにおけるPLSAの適用事例を発表した資料はこちら

Deloitte Analyticsトップページへ戻る

サービス内容等に関するお問い合わせは、下記のお問い合わせフォームにて受付いたします。お気軽にお問い合わせください。

オンラインフォームより問い合わせを行う

お役に立ちましたか?