# LDA 計画: 03 UI 改造

[計画トップ](lda.md)

---

LDA を「切り替えて使う」「規定 128 次元・ユーザー指定で再構成」するため、**設定 UI の改造**を計画に含める。既存の [06 UI 仕様](../../specification/06_ui_design_spec.md)（ハイコントラスト・ミニマリズム）に合わせる。

## 3.1 設定パネルに追加する項目

| 項目 | 内容 |
|------|------|
| **ベクトル化の選択** | **LSA** と **LDA** の**単一選択**（ラジオまたはドロップダウン）。選択した方式で学習・検索を行う。Community 版の設定パネルに表示する。 |
| **LDA 次元数（K）** | LDA 選択時のみ表示。**規定値 128**。数値入力またはスライダーでユーザーが K を指定可能。許容範囲（例: 16〜512）は実装時に決め、範囲外はバリデーションで弾く。 |
| **再構成** | K を変更したあと、または「LDA で再構築したい」ときに実行する**再構成ボタン**（例: 「LDA を再構築」）。押下で LDA の再学習と items_lda の再構築を開始し、進捗を表示する。既存の RE-INDEX（lsa_retrain）と同様にバックグラウンド実行＋SSE で状態通知を検討する。 |
| **表示条件** | これらは **Community 版のときのみ**表示する。Pro 版では「ベクトル化」は埋め込み固定のため、LSA/LDA の選択・K の設定は出さない。 |

## 3.2 画面フロー

```mermaid
flowchart TB
  subgraph 設定パネル_Community
    A[設定を開く] --> B[ベクトル化: LSA / LDA]
    B --> C{LDA 選択?}
    C -->|Yes| D[LDA 次元数 K 表示]
    D --> E[K 入力 規定 128]
    E --> F[再構成ボタン]
    F --> G[再学習・items_lda 再構築]
    C -->|No| H[LSA のまま]
  end
```

## 3.3 設定の永続化

- **ベクトル化方式**（LSA / LDA）と **LDA の K** は、既存の `telosdb_settings`（localStorage）に含めるか、別キーで保存する。起動時に読み込み、検索・再学習で参照する。
- K を変更して保存しただけでは即座に再構成は走らせず、「再構成」を実行したタイミングで items_lda を更新する設計とする（任意で「K 変更時に確認ダイアログで再構成を促す」も可）。

## 3.4 仕様書の更新

- **06_ui_design_spec.md**: Community 版の設定パネルに「ベクトル化（LSA / LDA）」および「LDA 次元数 K」「再構成」を追加する旨を追記する。
- **ステータス表示**: ヘッダーやステータスで「LSA インデックス構築の状態」と同様に、「LDA 選択時は LDA インデックス構築の状態」を表示するか検討する。
