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