読者です 読者をやめる 読者になる 読者になる

データサイエンスしてみる

新米エンジニアがデータサイエンスを勉強する。機械学習とかRとかPythonとか

トピックモデルについて簡単に考えてみる

自然言語処理

たまには解析ではなく解析モデルについて考えてみます。

今回考えるのは基本のトピックモデル。
トピックモデルとは種々の文章があったとき、それらがどのトピックに属するのか分類するためのモデルです。
クラスタリングの一種とも言えるでしょう。

例えば、ニュースには政治や経済、スポーツ、科学などの欄があるでしょう。
この「政治」とか「経済」とかによって、記事の中に出てくる単語に違いが出る、というのがトピックモデルの基本になります。
自然な仮定ですよね?
この考えにもとづいて分布を作って、文章がどのジャンルに属するのか分類するのがトピックモデルです。

具体的には政治のニュースを集めて政治のニュースに使われる単語の分布を作っておきます。
次にジャンルが未知のニュースが来た時、そのニュース中の単語の分布を調べます。
このときに政治の分布と近ければ、政治のニュースではないか?と推定することができます。
簡単ですね。

こんな感じにいろんなジャンルの分布を作っておけば、記事を簡単に分類することができます。
手法が単純なため、簡単に実装することができ、シンプルさに比べて高い効果を期待できる手法みたいです。
実装はpythonならgensimというライブラリで簡単に実装できるようです。

もちろん、モデルの作成や帰属には多くの手法が存在し、それぞれ特徴があります。
統計や数学が必要ですが難しくはなさそうなので、なるべく抽象的にでも理解したいとこです。

まずは実際に実装してその威力を確かめたいですね。