# デモ実装(トピックの可視化) ## 環境構築 今回は必要なライブラリはこちらです。 - gensim - scikit-learn - umap-learn - matplotlib - numpy - pandas Mecabは使用しません。 # 例題 - トピックモデルの各トピックからランダムに単語を生成する。top-pを実装してみる。 - 多項分布(単語分布)から単語をサンプリングする - 各トピックから100個をサンプリングして、そのトピックをそのラベルとして、word2vecで単語ベクトルに変換して、2次元で可視化する - 文書をトピック分布のベクトルとして、2次元で可視化する。 - ラベルはトピック番号(文書のトピック分布の中で最も確率の高いトピック)にしてみる - ラベルを文書のカテゴリにしてみる # 演習 Livedoorニュースコーパスを分析するUIを作りましょう。 app.pyにはpyLDAvisによるトピックの可視化のみが置いてあります。 - 生データを一覧で確認できる - 記事のカテゴリの割合を確認できる Huggingfaceのspaceで公開してみましょう。 https://huggingface.co/new-space lfsを使って、データなどをアップロードしましょう。 下記を参考にしてください。 ``` git lfs install git lfs track '*.csv' '*.npy' '*.model' '*.id2word' '*.mm' '*.index' '*.dict' '*.state' git add lda_* git add word2vec.* git add raw_corpus.csv livedoor_demo.dict corpus.mm* git commit -m "add corpus, dict and mdel" git push ``` その他、色んな機能を実装してみましょう。 下記を参考に、色んなデータの描画を行なってみてください。 - gensim: 類似文書・単語検索や - pandas:記事のタイムスタンプの可視化 - nlplot:テキストデータの可視化 - https://www.takapy.work/entry/2020/05/17/192947 - https://speakerdeck.com/takapy/streamlittonlplotwoshi-tutezi-ran-yan-yu-wofen-xi-sitemita