add README
Browse files
README.md
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# デモ実装(トピックの可視化)
|
2 |
+
## 環境構築
|
3 |
+
今回は必要なライブラリはこちらです。
|
4 |
+
- gensim
|
5 |
+
- scikit-learn
|
6 |
+
- umap-learn
|
7 |
+
- matplotlib
|
8 |
+
- numpy
|
9 |
+
- pandas
|
10 |
+
|
11 |
+
Mecabは使用しません。
|
12 |
+
|
13 |
+
# 例題
|
14 |
+
- トピックモデルの各トピックからランダムに単語を生成する。top-pを実装してみる。
|
15 |
+
- 多項分布(単語分布)から単語をサンプリングする
|
16 |
+
- 各トピックから100個をサンプリングして、そのトピックをそのラベルとして、word2vecで単語ベクトルに変換して、2次元で可視化する
|
17 |
+
- 文書をトピック分布のベクトルとして、2次元で可視化する。
|
18 |
+
- ラベルはトピック番号(文書のトピック分布の中で最も確率の高いトピック)にしてみる
|
19 |
+
- ラベルを文書のカテゴリにしてみる
|
20 |
+
|
21 |
+
# 演習
|
22 |
+
Livedoorニュースコーパスを分析するUIを作りましょう。
|
23 |
+
app.pyにはpyLDAvisによるトピックの可視化のみが置いてあります。
|
24 |
+
|
25 |
+
- 生データを一覧で確認できる
|
26 |
+
- 記事のカテゴリの割合を確認できる
|
27 |
+
|
28 |
+
Huggingfaceのspaceで公開してみましょう。
|
29 |
+
https://huggingface.co/new-space
|
30 |
+
lfsを使って、データなどをアップロードしましょう。
|
31 |
+
下記を参考にしてください。
|
32 |
+
```
|
33 |
+
git lfs install
|
34 |
+
git lfs track '*.csv' '*.npy' '*.model' '*.id2word' '*.mm' '*.index' '*.dict' '*.state'
|
35 |
+
git add lda_*
|
36 |
+
git add word2vec.*
|
37 |
+
git add raw_corpus.csv livedoor_demo.dict corpus.mm*
|
38 |
+
git commit -m "add corpus, dict and mdel"
|
39 |
+
git push
|
40 |
+
```
|
41 |
+
|
42 |
+
その他、色んな機能を実装してみましょう。
|
43 |
+
下記を参考に、色んなデータの描画を行なってみてください。
|
44 |
+
- gensim: 類似文書・単語検索や
|
45 |
+
- pandas:記事のタイムスタンプの可視化
|
46 |
+
- nlplot:テキストデータの可視化
|
47 |
+
- https://www.takapy.work/entry/2020/05/17/192947
|
48 |
+
- https://speakerdeck.com/takapy/streamlittonlplotwoshi-tutezi-ran-yan-yu-wofen-xi-sitemita
|