3.4 KiB
Phase 7 統合イベント・解析テーブル仕様
1. Phase 7の目的
既存ログを維持し、イベント、人物解析行、セッション集計、整合性issueをPhase 8向けに追加する。因果関係は断定しない。
2. システム構成
Track/Turn/Voice/Person State event→UnifiedEventBuilder→Logger。PersonStateSummary→AnalysisTableBuilder→SessionSummaryBuilder/ConsistencyChecker。
3. UnifiedEvent
experiment/session/event ID、source、track/frame/time、人物・Voice・Turn・response・除外・severity・JSON metadataを固定列で持つ。
4. UnifiedEventBuilder
既存イベントをsource付きschemaへ変換し、session/frame/source/sequence形式の衝突しにくいIDを生成する。elapsed/frame/sourceで安定ソートし、important onlyにも対応する。
5. UnifiedEventLogger
4 CSVをUTF-8 BOMで保存し、event ID、track分析行、session summaryの重複を防ぐ。metadataは ensure_ascii=False JSON。
6. AnalysisTableBuilder
Person State summaryを中心にprompt/control/disabled共通の人物解析行を生成する。Turn falseとTurn評価不能を別列で保持する。
7. SessionSummaryBuilder
track数、除外、分析可能数、prompt/pseudo、response、reaction平均・中央値、Turn level、FPS、issue数を集計する。
8. LogConsistencyChecker
promptなしresponse、負reaction、turnなしresponse、windowなしprompt、不正pseudo mode、unknown condition、理由なしexcluded、重複summaryをwarning化し停止しない。
9. CSV仕様
unified_events、person_analysis_table、session_summary、log_consistency_issuesを data/logs/unified に追加する。既存CSVは置換しない。
10. response_rate定義
response_detected_count / valid_voice_analysis_tracks。分母0では空値(None)。全trackや評価不能者を分母へ入れない。
11. 顔向き評価不能の扱い
turn_confirmed=false AND valid_for_turn_analysis=trueは評価可能な非反応、valid_for_turn_analysis=falseは評価不能として分離する。
12. prompt / control比較
prompt condition、prompt played、pseudo prompt、window、response、reaction、Turn、validityを同一列で保存する。
13. camera_position_note
設定またはCLIから人物解析行とsession summaryへ保存する。カメラ位置、サイネージとの角度、顔可視性を記述する。
14. 既存ログとの関係
Detection、Tracking、Face、Turn、Voice、Person Stateログはすべて維持する。face frameは既定でunified eventへ入れない。
15. 例外処理
unified無効時はPhase 6相当。person state無効時は解析表を生成せずevent統合だけ可能。tracker無効時は人物解析不能の警告対象となる。
16. テスト
実モデルなしで4モデル、各source変換、stable sort/filter、prompt/control/disabled行、分母、平均/中央値、issue、4 CSV/BOM/JSON/dedupを検証する。
17. 実機確認手順
prompt/control双方でcamera noteを指定し、該当イベント、condition、reaction、集計を確認する。正常時issueが重大でないこと、無効時にunified CSVが出ないことを確認する。
18. Phase 8への引き継ぎ
session ID、condition、prompt/pseudo、response/reaction、Turn level/delta、分析可否、status、excluded/reasonとsession response rateを安定して提供する。