LDA 計画: 04 実装ステップ
計画トップ
実装ステップ(案)
| 段階 |
内容 |
v0.3.3 Community |
| Phase 1 |
LDA 学習・推論のモジュールを用意する。既存語彙(LSA と共通)で BoW を組み、LDA を学習して θ・φ を取得。クエリの θ 推定と、θ 同士の類似度計算まで。DB は触らない。 |
✅ 含める |
| Phase 2 |
items_lda テーブルを追加し、学習後の θ を保存。起動時・再学習時の同期(heal / retrain)で LDA ベクトルを更新する。 |
✅ 含める |
| Phase 3 |
検索パスで「LSA / LDA の切り替え」を反映。設定が LSA なら既存の LSA 検索、LDA なら items_lda とクエリ θ で類似度検索。再学習(retrain)も選択中の方式のみ実行する。 |
✅ 含める |
| Phase 4 |
UI 改造(03 UI 改造)。設定パネルに「ベクトル化: LSA / LDA」の単一選択、LDA 時のトピック数 K(規定 128、ユーザー指定可)、再構成ボタン。K 変更時の再構成実行。設定の永続化。 |
✅ 含める |
| Phase 5(任意) |
トピックラベル表示(各トピックの代表語から φ で取得)、文書の主トピック表示。 |
以降 |
v0.3.3 の範囲: Community 版で Phase 1〜4 までを実装する。LSA と LDA の切り替え、規定 128 次元・ユーザー指定での再構成、およびそれに必要な UI 改造を含める。
テスト・検証
| 種別 |
内容 |
| 単体 |
LDA モジュール(学習・θ/φ 取得・クエリの θ 推定・類似度計算)を、既存の LSA テスト(src/backend/src/utils/lsa.rs の test_lsa_variance 相当)と同様にユニットテストする。固定 BoW で学習し、クエリを投げて類似度の順序や範囲が妥当か検証。 |
| 結合 |
items_lda への θ 保存と、検索パスで「LDA 選択時」に items_lda を参照してランキングする流れを、テスト用 DB で検証。LSA 切り替え時は従来どおり items_lsa/vec_items が使われることも確認。 |
| 手動 |
Community 版で「ベクトル化: LDA」に切り替え、再学習(再構成)後に検索クエリを実行し、結果が返ること・類似度が付与されることを確認。K を変更して再構成したあとも同様に動作することを確認。 |
| UI / E2E |
設定パネルで「LSA / LDA」の切り替えと「LDA 次元数 K」「再構成」ボタンが表示・操作できることを、12 UI テスト方針 や既存 E2E に沿って検証する(実装後にスペック追加)。 |
| 既存 KPI との関係 |
Community の既存テスト(test-and-heal、検索ヒット確認)が LDA 導入後も壊れないことを確認。LSA 選択時は従来どおりのパスを通るため、LSA の KPI はそのまま使える。LDA 選択時用の KPI を追加するかは必要に応じて検討。 |