NLP30/2024の発表論文「LDA を使った専門用語の教師なしクラスタリング」の元になった解析データと解析スクリプト
Excel 作業本
- 医学用語集 (.xslx データ)
- 医療縮約表現集 (.xslx データ)
- 政治経済用語集 (.xslx データ)
- 法律用語集 (.xslx データ)
- 法律用語集 (.xslx データ)
- 出版用語集 (.xslx データ)
- 料理用語集 (.xslx データ)
Jupyter Notebook
- 分野混合用語データの別解析用の Jupyter notebook (FastText の処理を追加済み)
- 論文の解析結果の再現用の Jupyter notebook (FastText の処理は未追加)
Python 3.9, 3.10, and 3.11 (Anaconda 3上) での作動を確認済み
重要な実行パラメター:
0a use_LDA: LDA をエンコーディングで(FastText と併用して)実行するかどうか 0b use_FastText: FastText を(LDA と併用して)エンコーディングで実行するかどうか 0c use_UMAP: t-SNE の代わりに UMAP を使うかどうか
- n_topics [integer]: LDAのtopic数
- term_type [string]: LDA 用のterm のタイプで "1gram", "2gram", "3gram", "skippy2gram", "skippy3gram"のどれか
- max_doc_length [integer]: 語 (= doc) の最大文字数
- ngram_is_inclusive [boolean]: LDA 用のterm に使う n-gram を包括的にするかどうか
- max_gap_val [int, depending on max_doc_size]: LDA 用のterm に使う 不連続 n-gram の連結距離
- minfreq_val_ [integer]: 有効 term 最低頻度 (gensim のminfreq に渡す値)
- abuse_threshold [float: 0~1.0]: 頻出 term の濾過指数 (gensim のabuse_therehold に渡す値)
他のパラメターを変更するのはお勧めできない.やっても良いが,自分でコードが読めない場合には,対処不能になる可能性大.
2 の使い方:
まず 1 を実行し,saves/ に新たに保存された .p ファイルを 2 で読み込む.
実行に必要な Python packages
- pyLDAvis [最初に導入すると良い. gensim を道入してくれる]
- WordCloud
- plotly
- adjustText
実行結果の .html ファイル