# 正念 APP|用戶畫像打分標準(User Profile Scoring Spec · V1) > **用途**: > 本文件定義「問卷完成後,如何將答案轉換為可計算的用戶畫像(User Profile)」; > 該畫像將用於後續的 **個性化內容推薦 / 推送排序**。 > > **設計原則**: > > * 不做心理診斷,只描述「此刻允許被如何對待」 > * 區分 **身份(離散)** 與 **狀態(連續)** > * 允許「通用」與「高個性化」內容並存 --- ## 一、整體結構概覽 問卷完成後,系統需生成一個用戶畫像 **U**,包含四個維度: 1. **mom_stage**(母職階段|離散型) 2. **emotion**(當下情緒|連續型) 3. **context**(影響來源|離散型) 4. **need**(當下最需要的支持|離散型) 該畫像將與內容畫像 **Cᵢ** 進行匹配,計算推薦分數。 ### V1.1 工程補充欄位(用於不確定性控制/可觀測) > 目的:在 Push 等高風險場景,當用戶畫像可能過期或不可靠時,自動「降個性化 / 降風險」。 建議在 U 中補充以下元資訊(不影響原有四維度打分): * `profile_version`:如 `"v1.1"` * `profile_source`:`questionnaire`(後續可擴展 `behavior` / `mixed`) * `profile_generated_at`:ISO8601 時間戳 * `profile_confidence`(= `conf_U`):`0–1` `profile_confidence` 建議規則(V1.1 默認,可調參): * 問卷剛完成:`conf_U = 1.0` * 隨時間衰減(避免用過期狀態強個性化推送): * 0–7 天:`conf_U = 1.0` * 7–30 天:線性衰減到 `0.7` * 30 天以上:`conf_U = 0.5`(除非用戶重新做問卷或有行為信號更新) > Push 推送時若 `conf_U` 偏低,推薦系統需啟用 `P_uncertainty` 並限制 `personalization_power` 上限(見「個性化推薦算法規則」V1.1)。 --- ## 二、mom_stage(母職階段)— 離散型 ### 問卷題目 **Which stage of motherhood are you in?** 選項與對應標籤: * Pregnant / Preparing → `mom_stage: expecting` * Parenting → `mom_stage: parenting` * Prefer not to say → `mom_stage: unknown` ### 打分方式(One-Hot) | 欄位 | 值 | | ----------------- | ----- | | U.stage.expecting | 1 或 0 | | U.stage.parenting | 1 或 0 | | U.stage.unknown | 1 或 0 | > **說明**: > > * `mom_stage` 是「身份 / 階段」,不是強度,不做連續軸線 > * `unknown` 的語義是:**不希望被母職身份定義**(不是「沒有孩子」) ### 推送原則(高層) * `unknown`:避免任何「你應該怎麼當媽媽」的內容 * `expecting`:避免「已經有孩子」的育兒細節 * `parenting`:可接受具體育兒壓力、現實困境相關內容 --- ## 三、emotion(當下情緒)— 連續型(0–1) ### 問卷題目 **How are you feeling right now?** ### 映射為數值軸(能量/情緒穩定度) | 選項 | tag | emotion_score | | ----------- | -------------------- | ------------- | | Low | emotion: low | 0.0 | | Overwhelmed | emotion: overwhelmed | 0.2 | | Tired | emotion: tired | 0.4 | | Okay | emotion: neutral | 0.6 | | Calm | emotion: calm | 0.8 | | Joyful | emotion: joyful | 1.0 | 生成:`U.emotion_score ∈ [0,1]` ### 語義說明 * 這不是「快樂程度」,而是 **可承受刺激與吸收內容的能力** * 分數越低,內容越需要「減壓、陪伴、允許停下」 * 分數越高,才適合「慶祝、提醒珍惜」 --- ## 四、context(影響來源)— 離散型 ### 問卷題目 **What’s been influencing how you feel?** | 選項 | tag | | ------------- | --------------------- | | Family | context: family | | Work or study | context: work | | Relationship | context: relationship | | Friends | context: friends | | Health | context: health | ### 打分方式(One-Hot) | 欄位 | 值 | | ----------------------------------------------------- | ----- | | U.ctx.family / work / relationship / friends / health | 1 或 0 | ### 語義說明 * context **不是情緒**,而是情緒的「觸發場景」 * 用於提升內容共感(語境命中),而非硬性過濾 --- ## 五、need(最需要的支持)— 離散型(最關鍵) ### 問卷題目 **What kind of support do you need most right now?** | 選項 | tag | | ------------------ | ------------------------ | | Emotional support | need: emotional_support | | Parenting pressure | need: parenting_pressure | | Self-worth | need: self_worth | | Anxiety relief | need: anxiety_relief | | Rest & balance | need: rest_balance | ### 打分方式(One-Hot) | 欄位 | 值 | | ------------------------------------------------------------------------------------------ | ----- | | U.need.emotional_support / parenting_pressure / self_worth / anxiety_relief / rest_balance | 1 或 0 | ### 語義說明 * `need` 是 **推薦權重最高的維度** * 表示「她現在最缺的是哪一種心理資源」 --- ## 六、跨維度約束(Hard Rules) 以下規則在推薦時 **優先於任何分數計算**: ### 核心禁推規則(V1) 1. **mom_stage = unknown** * ❌ 禁推:`need: parenting_pressure`(強指向) 2. **mom_stage = parenting** * ❌ 禁推:明確懷孕 / 孕期 / 胎動等內容 3. **emotion_score ≤ 0.2(low / overwhelmed)** * ❌ 禁推:高能量慶祝型(joyful 調性)內容 > 原則: > > * 這些不是「不準」,而是「會造成反感或退出」 --- ## 七、用戶畫像最終輸出結構(示例) ```json { "profile_version": "v1.1", "profile_source": "questionnaire", "profile_generated_at": "2026-01-30T00:00:00Z", "profile_confidence": 1.0, "stage": { "expecting": 0, "parenting": 1, "unknown": 0 }, "emotion_score": 0.4, "context": { "work": 1 }, "need": { "rest_balance": 1 } } ``` --- ## 八、設計總結(給產品/工程/AI Reviewer) * **mom_stage / context / need**:描述「你現在允許我用什麼身份、從哪個角度對你說話」 * **emotion_score**:描述「你現在能承受多強的刺激與建議」 * 推薦的本質不是猜你是誰,而是 **避免用錯語氣對你說話** > 本文件為 V1,後續可疊加: > > * 多選 context / need > * 行為信號(點擊、收藏)對 emotion 的動態修正