質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.04%

トピックモデルを用いた文書分析のコードに関する疑問点

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 620

harunouta

score 121

 前提・実現したいこと

トピックモデルを用いた文書分析を以下の参考記事に沿って行おうとしています。
参考記事

 発生している問題・エラーメッセージ

参考記事では、題材として青空文庫の夏目漱石の作品を使ったと書いてありましたが、
前処理が肝心のコードに反映されていないので、データセットがどれくらい必要で、
ソースコードのどこに分析したいファイルをおけばいいのか見当がつきません。

また、引数のtitlesの具体例がないので、何を示しているのか、わかりません。

 該当のソースコード

以下、参考記事より。

import gensim

def make_lda_model(texts, titles):
  dic = gensim.corpora.Dictionary(texts)
  dic.filter_extremes(no_below=1, no_above=0.05)
  dic.filter_n_most_frequent(100)
  corpus = [dic.doc2bow(text) for text in texts]
  lda = gensim.models.ldamodel.LdaModel(corpus=corpus, num_topics=TOPICS, id2word=dic)                                                                                                                             
  # Topicの表示
  for x in lda.show_topics(-1, 5):
    print(x)

  # 各文書の所属Topic
  for t, s in zip(titles, lda[corpus]):                                                                                                                                                                           
    print(t, max(s, key=(lambda x:x[1]))) 

 補足情報(FW/ツールのバージョンなど)

Python3.6

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • wwbQzhMkhhgEmhU

    2018/10/15 07:07

    書いた本人に聞かないと分からないのでしょうが、多分青空文庫にある夏目漱石の全作品とかじゃないかと思います。それらを形態素解析して諸々した結果を作品ごとにtextsに入れてるんじゃないでしょうか。

    キャンセル

  • harunouta

    2018/10/15 14:43

    ご質問いただきましてありがとうございます。もしご存知であれば、このコードにこだわりはないので、似たようなトピックモデルを用いた分析に関する参考サイトなどを教えていただけますと助かります。

    キャンセル

  • wwbQzhMkhhgEmhU

    2018/10/15 19:14

    gensim mecabで検索すれば出てきそうな気がします。まぁ別に夏目漱石でも形態素解析して自立語だけ取れば問題ないと思いますが…

    キャンセル

回答 1

checkベストアンサー

+1

データセットがどれくらい必要

やりたいことによりますが、分析対象の文書群にどのようなトピックで構成されているのかを明らかにしたいのであれば、それほどのボリュームは必要ありません。一方、あらかじめ学習したモデルに未知の文章を適用するような使い方をする場合は、それなりのボリュームが必要です。
質問に記載の参考記事は、gensimの使い方を示すことが目的なので、特定の小説(例えば、坊ちゃん)のみであろうと、複数の小説であろうと何らかの結果は得られるかと思います。
個人的な経験からすると、ある程度似たジャンルを扱った文書を扱う場合は意外を少ないボリュームでも役に立つモデルになります。なのでご自身が頻繁に閲覧しているブログなどを対象にしたほうが結果に手触り感が出ていいかと思います。

前処理などを含めた実装のサンプル

個人的には以下がお薦めです。
https://qiita.com/icoxfog417/items/7c944cb29dd7cdf5e2b1
(全コードはリンク先のgithubにあります)
ただし、上記は形態素解析のコードが含まれていませんので、別に調べてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.04%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る