Gensim-トピックモデリング
この章では、Gensimに関するトピックモデリングについて説明します。
データに注釈を付けて文の構造を理解するには、計算言語アルゴリズムを使用するのが最善の方法の1つです。間違いなく、これらの計算言語アルゴリズムの助けを借りて、データに関する詳細を理解することができますが、
コーパス内で他の単語よりもどのような単語が頻繁に出現するかを知ることができますか?
データをグループ化できますか?
データの根底にあるテーマになることはできますか?
トピックモデリングの助けを借りて、これらすべてを達成することができます。それでは、トピックモデルの概念について詳しく見ていきましょう。
トピックモデルとは何ですか?
トピックモデルは、テキスト内のトピックに関する情報を含む確率モデルとして定義できます。しかし、ここでは、次の2つの重要な質問が発生します。
最初、 what exactly a topic is?
トピックは、名前が示すように、私たちのテキストで表されている基本的なアイデアまたはテーマです。例を挙げると、コーパスにはnewspaper articles に関連するトピックがあります finance, weather, politics, sports, various states news 等々。
第二に、 what is the importance of topic models in text processing?
ご存知のように、テキストの類似性を識別するために、単語を使用して情報検索と検索の手法を実行できます。しかし、トピックモデルの助けを借りて、単語ではなくトピックを使用してテキストファイルを検索および配置できるようになりました。
この意味で、トピックは単語の確率分布であると言えます。そのため、トピックモデルを使用することで、ドキュメントをトピックの確率分布として説明できます。
トピックモデルの目標
上で説明したように、トピックモデリングの焦点は、根底にあるアイデアとテーマに関するものです。その主な目標は次のとおりです-
トピックモデルは、テキストの要約に使用できます。
それらは、ドキュメントを整理するために使用できます。たとえば、トピックモデリングを使用して、ニュース記事をグループ化して、関連するすべてのニュース記事を整理するなど、整理された/相互接続されたセクションにまとめることができます。cricket。
検索結果を改善できます。どうやって?検索クエリの場合、トピックモデルを使用して、さまざまなキーワードが混在しているドキュメントを表示できますが、アイデアはほぼ同じです。
推奨の概念は、マーケティングに非常に役立ちます。さまざまなオンラインショッピングWebサイト、ニュースWebサイトなどで使用されています。トピックモデルは、何を購入するか、何を次に読むかなどについての推奨事項を作成するのに役立ちます。トピックモデルは、リストに共通のトピックがある資料を見つけることによってそれを行います。
Gensimのトピックモデリングアルゴリズム
間違いなく、Gensimは最も人気のあるトピックモデリングツールキットです。その無料の可用性とPythonであるため、人気が高まっています。このセクションでは、いくつかの最も一般的なトピックモデリングアルゴリズムについて説明します。ここでは、Gensimがそれらを非常にうまく抽象化するため、「方法」ではなく「何」に焦点を当てます。
潜在的ディリクレ配分(LDA)
潜在的ディリクレ配分(LDA)は、トピックモデリングに現在使用されている最も一般的で人気のある手法です。これは、Facebookの研究者が2013年に発表した研究論文で使用したものです。2003年にDavid Blei、Andrew Ng、MichaelJordanによって最初に提案されました。彼らは単に「単に」というタイトルの論文でLDAを提案しました。Latent Dirichlet allocation。
LDAの特徴
その特徴を通して、この素晴らしいテクニックについてもっと知りましょう-
Probabilistic topic modeling technique
LDAは、確率的トピックモデリング手法です。上で説明したように、トピックモデリングでは、相互に関連するドキュメント(学術論文、新聞記事、Facebook投稿、ツイート、電子メールなど)のコレクションには、各ドキュメントに含まれるトピックの組み合わせがいくつかあると想定しています。 。
確率的トピックモデリングの主な目標は、相互に関連するドキュメントを収集するための隠れたトピック構造を発見することです。トピック構造には、一般的に次の3つが含まれています。
Topics
ドキュメント間のトピックの統計的分布
トピックを構成するドキュメント全体の単語
Work in an unsupervised way
LDAは教師なしで機能します。これは、LDAが条件付き確率を使用して非表示のトピック構造を検出するためです。トピックは、相互に関連するドキュメントのコレクション全体に不均一に分散していることを前提としています。
Very easy to create it in Gensim
Gensimでは、LDAモデルの作成は非常に簡単です。コーパス、辞書マッピング、およびモデルで使用するトピックの数を指定するだけです。
Model=models.LdaModel(corpus, id2word=dictionary, num_topics=100)
May face computationally intractable problem
考えられるすべてのトピック構造の確率を計算することは、LDAが直面する計算上の課題です。考えられるすべてのトピック構造の下で観察されたすべての単語の確率を計算する必要があるため、これは困難です。トピックや単語が多数ある場合、LDAは計算上困難な問題に直面する可能性があります。
潜在意味索引付け(LSI)
Gensimで最初に実装されたトピックモデリングアルゴリズム Latent Dirichlet Allocation (LDA) です Latent Semantic Indexing (LSI)。とも呼ばれますLatent Semantic Analysis (LSA)。
1988年にスコット・ダーウェスター、スーザン・ドゥメイス、ジョージ・ファーナス、リチャード・ハーシュマン、トーマス・ランダー、カレン・ロックバウム、リン・ストリーターが特許を取得しました。このセクションでは、LSIモデルをセットアップします。LDAモデルを設定するのと同じ方法で行うことができます。からLSIモデルをインポートする必要がありますgensim.models。
LSIの役割
実際、LSIは、特に分散セマンティクスにおいて、NLPの手法です。一連のドキュメントとこれらのドキュメントに含まれる用語との関係を分析します。その動作について話すと、大きなテキストからドキュメントごとの単語数を含むマトリックスが作成されます。
構築されると、行数を減らすために、LSIモデルは特異値分解(SVD)と呼ばれる数学的手法を使用します。行数を減らすだけでなく、列間の類似構造も保持します。マトリックスでは、行は一意の単語を表し、列は各ドキュメントを表します。これは、分布仮説に基づいて機能します。つまり、意味が近い単語が同じ種類のテキストで発生することを前提としています。
Model=models.LsiModel(corpus, id2word=dictionary, num_topics=100)
階層的ディリクレプロセス(HDP)
LDAやLSIなどのトピックモデルは、手作業で分析することができないテキストの大規模なアーカイブを要約して整理するのに役立ちます。LDAとLSIとは別に、Gensimのもう1つの強力なトピックモデルはHDP(Hierarchical Dirichlet Process)です。これは基本的に、グループ化されたデータの教師なし分析のための混合メンバーシップモデルです。LDA(その有限の対応物)とは異なり、HDPはデータからトピックの数を推測します。
Model=models.HdpModel(corpus, id2word=dictionary