Fioneのアシスタントから結合した学習データを作る

Fione v2の開発版では、同じプロジェクトにある表をアシスタントに調べてもらい、提案カードから結合ジョブを開始できます。たとえば解約の有無を記録した顧客表に、予測時点までの購入履歴を顧客単位でまとめて追加できます。

予測したい列を指定する

学習に使う表を同じプロジェクトに置き、設定済みのアシスタントに「churned を予測するために、このプロジェクトの表をどう結合すればよいですか」と聞きます。接続先の初期値は Ollama です。Claude やリモートの Ollama を使う場合は、管理者による初回の同意も必要です。アシスタントの接続設定

Fioneは予測したい列を持つ表を土台にし、片側がキーごとに1行になる候補から最初の結合を提案します。customers.id と orders.customer_id のように名前が異なる列も、名前の関係と値の重なりを手掛かりにできます。名前が無関係な列は、片側に100種類以上の一意なキーがある場合など、より厳しい条件で比較します。連番を値だけで照合するときは、相手の列がその連番の少なくとも30%を含む必要があります。

カードを確認して結合する

「データの結合の提案」カードで、土台と追加する表、キー、集約の有無、追加する列を確認します。プロジェクトを編集できる人が「結合したデータセットを作る」を押すとジョブが始まります。結果は新しいデータセットとして保存され、元の表はそのまま使えます。結合は1回に1表ずつです。

Joinは左結合なので、相手の表に一致するキーがない行も土台に残ります。手動のJoinでは summarize の初期値は false で、追加側のキーが重複する場合は true にしてキー単位にまとめます。最初の結合を自動提案するときは、追加する表がキーごとに複数行ならFioneが集約を選びます。集約では件数に加え、数値列の平均・最小・最大・合計を追加します。 columns を省略すると対象は追加側の全列です。購入金額など使う列に絞れば、識別子の平均や合計を結果に含めずに済みます。

学習に回す前に確認する

キーの候補を調べる対象は最大8データセットで、探索は30秒で打ち切ります。500万行を超えるデータセットはサンプルで調べるため、実際に結合できる組み合わせを見落とすことがあります。結果は行数×列数で1億5,000万セルまでです。カードに一致率の低さや容量超過が表示されたら、キーの意味を確認し、追加列を絞ります。購入履歴には予測時点より後の取引を含めないようにします。

関連PR

  • 結合方法の説明と列指定 #60、#61
  • 結合の提案カードと最初の結合の選定 #62、#64、#68
  • キー候補の検出と絞り込み #65、#66、#69、#70

Fessのクロール情報で実行中の件数と進捗率を見る

Fess 15.10の開発版では、管理画面の「クロール情報」に実行中のクロールが設定ごとに表示されます。ページを再読み込みすると最新の記録を確認できます。監視に組み込む場合は、権限のある管理APIクライアントから GET /api/admin/crawlinginfo/progress を呼びます。

前回の件数を目安にする

Webとファイルではアクセス結果の件数を、データストアでは索引登録の件数を表示します。割合は直前に完了した同じ設定の件数との比較で、上限は99%です。前回件数がなければ件数だけが表示されます。停止・失敗・0件完了では基準値を更新しません。強制終了などで最後の記録が残っても、通常は最後の更新から約30秒で表示対象外になります。

更新頻度を変える案

画面と管理APIはmainにマージ済みです。メモリー上のカウンターと fess_config.properties の crawler.progress.interval は追加提案です。提案時点の初期値は10秒で、空欄・不正値・0以下は10秒、1日を超える値は1日として扱います。実際の更新はクロール側の確認周期にも依存します。

Fess #3733 / Fess #3736 / Fess #3737 / fess-crawler #233 / 15.10ドキュメント #626

Fioneでデータと予測結果にアシスタントの自動コメントを表示する

Fione v2の開発版では、学習用データをアップロードした後の分析画面を開くと、アシスタントが欠損や少数クラス、正解を先取りするおそれのある列などを短いコメントで説明します。質問を入力せずに確認でき、予測対象の列が明確なら学習条件の提案も表示します。

どの画面で読めるか

  • 学習用データセットは、かんたんモードの分析画面とProモードのデータセット画面でコメントを読めます。テスト用や予測用のデータセットには、そのデータセット専用のコメントは付きません。
  • モデルの概要と詳細では、基準との比較や次に試すことを確認できます。学習に失敗したジョブでは、原因と見直し箇所が表示されます。
  • 完了した一括予測の結果画面では、分類の内訳や数値の範囲、予測を使う前に確認すべき点を読み取れます。

Proモードの学習フォームでは、目的変数の偏りなどを指摘し、初回表示の実行時間をデータ量から決めます。フォームの助言と初期値はFione側で計算し、送信済みの実行時間は上書きしません。

生成の条件と上限

プロジェクトのメンバーが対象画面を初めて開いたとき、その画面の言語でコメントを生成します。生成済みのコメントは同じ言語の画面でメンバーに共有され、誰も開いていない画面では生成が始まりません。生成は画面表示と並行して進み、失敗した場合は画面から再試行できます。利用者ごとに生成中または待機中の自動コメントは1件までで、通常の回答と同じ制限が適用されます。初期値では1回答あたり最大180秒、ツール呼び出しの往復は最大6回、サーバー全体で同時実行できる回答は2件です。

利用にはアシスタントが応答できる状態が必要です。接続先の初期値はOllamaで、Claudeまたは別マシンのOllamaでは管理者の同意が必要です。生成時にはチャットと同様に、列名や統計、例示値、失敗したジョブのメッセージなどが接続先のモデルへ渡る場合があります。チャットに質問を送らなくても、対象画面を開くと送信が始まる点を確認してください。

学習の提案が表示されたら、目的変数や除外列を確認します。プロジェクトを編集できる人は、最初にページを開いた人に限らず提案を確定または却下できます。閲覧権限のみのメンバーには操作ボタンが表示されず、学習は編集権限のある人が確定した時点で始まります。

Fione #54 / Fione #55 / Fione #56