デモ実装(トピックの可視化)
環境構築
今回は必要なライブラリはこちらです。
- 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:テキストデータの可視化