refactor: organize design documents and consolidate AI function specifications
- Move ai-algorithm-specs.md to common specifications - Move content-management-specs.md and ui-ux-guidelines.md to common - Add new common specifications: pragmatic-analysis-specs.md, progressive-stage-system.md, speaking-evaluation-specs.md, user-flow-diagrams.md - Update business rules with comprehensive payment system, user roles, and progressive learning mechanics - Consolidate business logic rules into common business rules - Archive deprecated ai-algorithm-specs.md to maintain version history - Improve document organization for better cross-platform reference 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
f8b47bdf5a
commit
32cc10ffd5
|
|
@ -24,6 +24,34 @@
|
|||
- 用戶可透過客服申請帳戶刪除後重新註冊
|
||||
```
|
||||
|
||||
|
||||
#### BR-USER-01: 付費用戶分級規則
|
||||
```yaml
|
||||
規則名稱: 用戶付費等級與權益管理
|
||||
適用範圍: 所有付費用戶類別
|
||||
用戶等級定義:
|
||||
試用用戶:
|
||||
- 期限: 7天免費體驗訂閱用戶
|
||||
- 權益: 完整功能體驗
|
||||
- 限制: 試用期結束後自動轉訂閱用戶
|
||||
- 轉換: 若不訂閱,需自行到設定取消訂閱
|
||||
訂閱用戶:
|
||||
- 定價: NT$600/月 或 NT$6,000/年 (8.3折優惠)
|
||||
- 權益: 無限制學習次數,進階統計報告
|
||||
- 特權: 每日3次免費限時挑戰,命條恢復加速
|
||||
- 期限: 按月/年自動續訂,可隨時取消
|
||||
進階用戶(第二階段功能開放後提供):
|
||||
- 定價: NT$900/月 或 NT$9,000/年 (8.3折優惠)
|
||||
- 權益: 訂閱用戶所有功能 + 進階自訂學習功能 + 更優質的學習體驗(tts)
|
||||
- 特權: 更多命條上限,更快回復速度,專屬學習模式
|
||||
- 階段: 第二階段功能開放後提供
|
||||
高價值用戶(第三階段功能開放後提供):
|
||||
- 定義: 累計購買鑽石超過NT$3,000的用戶
|
||||
- 權益: VIP客服支援,專屬活動邀請
|
||||
- 特權: 新功能優先體驗,限定道具折扣,獲得限定道具
|
||||
```
|
||||
|
||||
|
||||
#### BR-AUTH-02: 密碼安全規則
|
||||
```yaml
|
||||
規則名稱: 密碼複雜度要求
|
||||
|
|
@ -111,9 +139,8 @@
|
|||
- 用戶初始生命值為5條
|
||||
- 答錯或失敗會消耗1條生命
|
||||
- 生命值為0時無法進行新的學習活動
|
||||
- 每6小時自動回復1條生命,最多回復到5條
|
||||
- 每4小時自動回復1條生命,最多回復到5條
|
||||
生命恢復:
|
||||
- 付費用戶生命回復速度提升至4小時1條
|
||||
- 可使用鑽石立即購買生命(50鑽石=1條生命)
|
||||
- 完成每日任務獎勵1條生命
|
||||
- 觀看廣告可獲得1條生命(每日最多3次)
|
||||
|
|
@ -158,14 +185,12 @@
|
|||
規則名稱: 詞彙掌握度評估
|
||||
適用範圍: 所有詞彙學習活動
|
||||
規則內容:
|
||||
- 新詞彙初始掌握度為0%
|
||||
- 正確使用一次增加20%掌握度
|
||||
- 錯誤使用一次減少10%掌握度
|
||||
- 掌握度80%以上視為已掌握
|
||||
- 起始點: 新詞彙 0% 掌握度
|
||||
- 成功獎勵: +20% 掌握度
|
||||
- 錯誤懲罰: -5% 掌握度
|
||||
- 掌握標準: 80% 以上視為已掌握
|
||||
複習機制:
|
||||
- 掌握度<50%: 24小時後複習
|
||||
- 掌握度50-79%: 3天後複習
|
||||
- 掌握度80%+: 7天後複習
|
||||
- 複習時間 = 最近複習日期 + (2^成功次數) 天
|
||||
- 連續3次正確可延長複習間隔
|
||||
```
|
||||
|
||||
|
|
@ -201,38 +226,18 @@
|
|||
- 專精(C2): 學術表達與文化語境
|
||||
```
|
||||
|
||||
### ⏰ 時間與限制
|
||||
|
||||
#### BR-TIME-01: 限時挑戰規則
|
||||
```yaml
|
||||
規則名稱: 300秒挑戰機制
|
||||
適用範圍: 限時挑戰模式
|
||||
規則內容:
|
||||
- 每次挑戰固定300秒(5分鐘)
|
||||
- 需要消耗1張挑戰門票
|
||||
- 時間結束立即停止,不可延長
|
||||
- 成績根據正確率和剩餘時間計算
|
||||
門票機制:
|
||||
- 免費用戶每日獲得2張門票
|
||||
- 付費用戶每日獲得5張門票
|
||||
- 可用鑽石購買額外門票(100鑽石/張)
|
||||
- 門票不累積,當日未用完隔日重置
|
||||
```
|
||||
|
||||
#### BR-TIME-02: 學習會話時限
|
||||
```yaml
|
||||
規則名稱: 學習會話超時處理
|
||||
適用範圍: 所有學習活動會話
|
||||
規則內容:
|
||||
- 單次學習會話最長2小時
|
||||
- 30分鐘無操作自動暫停
|
||||
- 暫停狀態保持30分鐘後自動結束
|
||||
- 會話結束自動保存當前進度
|
||||
- 單次學習會話最長5分鐘
|
||||
- 5分鐘後自動結束
|
||||
- 會話結束會自動結算,並存到紀錄
|
||||
數據保存:
|
||||
- 已完成的練習立即保存
|
||||
- 進行中的練習保存狀態
|
||||
- 學習時間準確記錄
|
||||
- 經驗值和獎勵延遲結算
|
||||
- 經驗值和獎勵結算
|
||||
```
|
||||
|
||||
### 🤝 社群互動
|
||||
|
|
@ -258,15 +263,14 @@
|
|||
規則名稱: 競爭排名計算
|
||||
適用範圍: 所有排行榜功能
|
||||
規則內容:
|
||||
- 排行榜分為好友榜和全球榜
|
||||
- 排行榜分為好友榜
|
||||
- 每週一凌晨重置週排行榜
|
||||
- 每月1號重置月排行榜
|
||||
- 年度排行榜保持全年累積
|
||||
排名計算:
|
||||
- 主要依據: 學習時間 × 正確率 × 連續天數加成
|
||||
- 主要依據: 遊玩關卡所獲得的經驗值
|
||||
- 相同分數按學習開始時間排序
|
||||
- 作弊或異常數據將被排除
|
||||
- 排行榜前10名獲得特殊獎勵
|
||||
```
|
||||
|
||||
### 🛡️ 安全與隱私
|
||||
|
|
|
|||
|
|
@ -16,8 +16,9 @@
|
|||
- **進階者** - 語言程度C1-C2,精進專業溝通
|
||||
|
||||
#### 💰 付費用戶 (Premium User)
|
||||
- **試用用戶** - 7天免費體驗期間
|
||||
- **試用用戶** - 7天免費體驗訂閱期間
|
||||
- **訂閱用戶** - 月費/年費訂閱會員
|
||||
- **進階用戶** - 除了基礎功能,還有更多自訂學習功能可使用
|
||||
- **高價值用戶** - 大量購買鑽石和道具
|
||||
|
||||
#### 🎯 目標導向用戶
|
||||
|
|
|
|||
|
|
@ -64,6 +64,8 @@ https://docs.google.com/spreadsheets/d/1HiiqBKFF3cw73TNaCb0Xf3fTmg8Wefi5qVEVrXIy
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
時光關卡
|
||||
時光關卡
|
||||
依照順序挑選前階未玩過對話訓練關卡,若都玩過則隨機挑選,點選「我要挑戰」,則消耗一張時光卷
|
||||
|
|
|
|||
|
|
@ -1,300 +0,0 @@
|
|||
# 商業邏輯與營收規則
|
||||
|
||||
## 概述
|
||||
基於實際 UI 設計,定義 Drama Ling 的遊戲化商業模式,以鑽石貨幣系統為主的道具購買機制,搭配簡潔的訂閱服務。
|
||||
|
||||
## 鑽石貨幣系統 (主要營收機制)
|
||||
|
||||
### 鑽石獲得方式
|
||||
- [ ] **初始贈送**: 新用戶註冊贈送1500鑽石
|
||||
- [ ] **每日登入**: 登入獎勵鑽石
|
||||
- [ ] **學習成就**: 完成關卡獲得鑽石獎勵
|
||||
- [ ] **現金購買**: 直接購買鑽石包
|
||||
- [ ] **廣告獎勵**: 觀看廣告獲得少量鑽石
|
||||
|
||||
### 道具商店系統
|
||||
|
||||
#### 加時道具 🕰️
|
||||
**功能**: 為對話訓練加時1分3秒
|
||||
- [ ] **單個購買**: 1個 = 300鑽石
|
||||
- [ ] **組合包**: 5個 = 1,200鑽石 (節省20%)
|
||||
- [ ] **使用情境**: 挑戰關卡時間不夠時使用
|
||||
- [ ] **效果**: 獲得更長的思考和組織時間
|
||||
|
||||
#### 補命道具 ❤️
|
||||
**功能**: 為對話學習的時間卡復活1次機會
|
||||
- [ ] **單個購買**: 1個 = 100鑽石
|
||||
- [ ] **組合包**: 5個 = 400鑽石 (節省20%)
|
||||
- [ ] **使用情境**: 對話練習失敗時使用
|
||||
- [ ] **效果**: 可重新挑戰失敗的關卡
|
||||
|
||||
#### 時光卷 ✨ *(更新基於最新規格)*
|
||||
**功能**: 可挑戰1次前階段關卡或獲得失敗安慰獎勵
|
||||
- [ ] **獲得方式**:
|
||||
- 詞彙認識關卡失敗獲得1張
|
||||
- 詞彙熟悉關卡失敗獲得1張
|
||||
- 對話訓練失敗獲得1張
|
||||
- 複習詞彙失敗安慰獎勵
|
||||
- [ ] **使用情境**:
|
||||
- 挑戰時光關卡(前階段未玩過的對話訓練)
|
||||
- 若前階段都已完成則隨機挑選關卡
|
||||
- [ ] **消費機制**: 點擊「我要挑戰」消耗1張時光卷
|
||||
- [ ] **特殊效果**: 成功通關的詞彙一樣加入詞彙複習清單
|
||||
|
||||
#### 回覆提示道具 💡 *(更新基於最新規格)*
|
||||
**功能**: 當用戶在扮演角色遇到卡關,不知道該講什麼或怎麼講時提供協助
|
||||
- [ ] **單個購買**: 1個 = 30鑽石
|
||||
- [ ] **組合包**: 10個 = 250鑽石 (節省17%)
|
||||
- [ ] **觸發條件**: 用戶主動請求回覆協助時使用
|
||||
- [ ] **效果**: 根據對話室中最後一句話生成三層引導內容
|
||||
|
||||
**回覆引導內容** (消耗道具):
|
||||
- [ ] **對方意圖分析**: 分析對方說這句話的意圖
|
||||
- [ ] **回應思緒引導**: 分析用戶聽到這句話的反應及可能的回覆方向
|
||||
- [ ] **回覆範例生成**: 生成一句具體的回覆範例
|
||||
|
||||
**免費輔助功能** (不消耗道具):
|
||||
- [ ] **劇情任務範例**: 點擊任務提示按鈕顯示「這樣說可以完成任務」的範例
|
||||
- [ ] **指定詞彙範例**: 展示指定詞彙的正確使用方式
|
||||
- [ ] **中翻英翻譯**: 直接將使用者的中文以Google翻譯轉譯成英文
|
||||
|
||||
**使用規則**:
|
||||
- [ ] **任務完成狀態**: 當任務已經完成時,不會顯示任務提示按鈕
|
||||
- [ ] **使用限制**: 每次對話合理使用,避免過度依賴
|
||||
- [ ] **學習導向**: 鼓勵用戶從輔助逐步過渡到獨立表達
|
||||
|
||||
## 關卡命條系統 *(新增核心機制)*
|
||||
|
||||
### 命條管理機制
|
||||
基於最新規格的闖關生命值系統:
|
||||
|
||||
#### 命條基本規則
|
||||
- [ ] **初始設定**: 新用戶預設5個命條(上限為5)
|
||||
- [ ] **闖關門檻**: 開始闖關前檢查命條是否大於1
|
||||
- [ ] **自動回復**: 每5小時自動獲得1個命條
|
||||
- [ ] **命條歸零**: 當命條扣完歸零時即闖關失敗
|
||||
|
||||
#### 命條消耗規則
|
||||
- [ ] **詞彙認識關卡**: 答錯題目扣除1個命條
|
||||
- [ ] **詞彙熟悉關卡**: 答錯題目扣除1個命條
|
||||
- [ ] **對話訓練關卡**: 通關失敗扣除1個命條
|
||||
- [ ] **重複答題**: 答錯的題目需在最後重新回答,再次答錯繼續扣命條
|
||||
|
||||
#### 命條不足處理
|
||||
- [ ] **闖關阻擋**: 命條不足時無法開始新的關卡挑戰
|
||||
- [ ] **購買機制**: 命條不足時可使用鑽石購買命條
|
||||
- 1個命條 = 100鑽石
|
||||
- 5個命條組合包 = 400鑽石(節省20%)
|
||||
- [ ] **等待恢復**: 用戶可選擇等待5小時自然恢復命條
|
||||
- [ ] **視覺提示**: 金錢不夠時購買按鈕顯示為disable狀態
|
||||
|
||||
### 關卡結構系統 *(新增基於最新規格)*
|
||||
基於13階段的完整學習路徑:
|
||||
|
||||
#### 階段化學習架構
|
||||
- [ ] **學習階層**: 第x階段 > 第x劇本 > 某某關卡
|
||||
- [ ] **總體規劃**: 共13個學習階段
|
||||
- [ ] **劇本數量**: 每階段包含20個以上劇本(持續增加)
|
||||
- [ ] **關卡類型**: 每個劇本固定包含三種關卡
|
||||
- 詞彙認識關卡
|
||||
- 詞彙熟悉關卡
|
||||
- 對話訓練關卡
|
||||
|
||||
#### 關卡解鎖機制
|
||||
- [ ] **順序闖關**: 必須按照關卡順序進行,不可跳關
|
||||
- [ ] **解鎖條件**: 完成前一關卡才能解鎖下一關
|
||||
- [ ] **通關標準**: 即使獲得零顆星,成功通關仍會解鎖下一關
|
||||
- [ ] **星級獎勵**: 詞彙認識和詞彙熟悉關卡通關直接給予三顆星
|
||||
|
||||
#### 連續學習獎勵
|
||||
- [ ] **連續學習天數**: 追蹤用戶連續學習的天數
|
||||
- [ ] **每日學習判定**: 當日完成至少一個關卡即計為學習一天
|
||||
- [ ] **連續獎勵機制**: 基於連續天數給予額外獎勵
|
||||
- 7天連續: 額外經驗值獎勵
|
||||
- 14天連續: 免費命條補充
|
||||
- 30天連續: 特殊成就徽章
|
||||
|
||||
## 情境對話核心商業機制 *(新增功能)*
|
||||
|
||||
### 雙重通關條件獎勵系統
|
||||
基於最新規格的結構化通關獎勵機制:
|
||||
|
||||
#### 劇情任務完成獎勵
|
||||
- [ ] **基礎完成獎勵**: 完成劇情任務獲得 +10 鑽石 + 10 閃電能量
|
||||
- [ ] **任務品質加成**: 高品質完成劇情任務額外 +5 鑽石
|
||||
- [ ] **即時獎勵機制**: 任務完成立即觸發獎勵通知和發放
|
||||
- [ ] **進度追蹤獎勵**: 連續完成劇情任務的連擊獎勵機制
|
||||
|
||||
#### 指定詞彙使用獎勵
|
||||
- [ ] **詞彙掌握獎勵**: 正確使用指定詞彙獲得 +5 鑽石 + 5 閃電能量
|
||||
- [ ] **自然使用加成**: 詞彙使用自然且符合語境額外 +3 鑽石
|
||||
- [ ] **即時反饋獎勵**: 使用詞彙時立即觸發成功通知
|
||||
- [ ] **詞彙精通獎勵**: 單次對話使用多個指定詞彙的組合獎勵
|
||||
|
||||
#### 結算獎勵系統 *(更新基於最新規格)*
|
||||
**過關獎勵** (同時滿足劇情任務和詞彙要求):
|
||||
- [ ] **基礎通關獎勵**: 獲得金幣和經驗值
|
||||
- [ ] **星級獎勵系統**: 基於三維度評分獲得1-3顆星
|
||||
- 語意合適分數 > 60 (滿分100) = 1顆星
|
||||
- 語法錯誤率 = 0 (所有句子正確或訂正後正確) = 1顆星
|
||||
- 表達流暢平均分數 > 60 (滿分100) = 1顆星
|
||||
- [ ] **訂正後獎勵**: 選擇立即訂正後獲得訂正後的獎勵數值
|
||||
|
||||
**失敗安慰獎勵**:
|
||||
- [ ] **安慰獎**: 獲得時光卷一張(可重新挑戰關卡)
|
||||
- [ ] **鼓勵機制**: 提供重新挑戰的動機和資源
|
||||
|
||||
### 300秒限時挑戰機制
|
||||
基於最新規格的時間管理商業系統:
|
||||
|
||||
#### 限時挑戰入場機制
|
||||
- [ ] **挑戰門票**: 參與300秒限時挑戰需消耗 50鑽石 入場費
|
||||
- [ ] **免費次數**: 每日首次限時挑戰免費,後續挑戰需付費
|
||||
- [ ] **VIP特權**: 付費用戶每日3次免費限時挑戰機會
|
||||
- [ ] **好友邀請**: 邀請好友一同挑戰可減免入場費用
|
||||
|
||||
#### 時間相關道具系統
|
||||
- [ ] **時間暫停道具**: 暫停倒數計時30秒,消耗 100鑽石
|
||||
- [ ] **時間加成道具**: 增加額外60秒挑戰時間,消耗 150鑽石
|
||||
- [ ] **快速完成獎勵**: 在180秒內完成獲得 +15 鑽石時間獎勵
|
||||
- [ ] **壓力測試獎勵**: 在最後30秒完成挑戰獲得 +25 鑽石壓力獎勵
|
||||
|
||||
#### 限時結算獎勵機制
|
||||
- [ ] **基礎完成獎勵**: 300秒內完成對話獲得 +30 鑽石 + 30 閃電能量
|
||||
- [ ] **時間效率獎勵**: 基於完成時間給予 1.2x - 2.0x 獎勵倍數
|
||||
- [ ] **雙重條件加成**: 限時環境下達成雙重條件額外 +50 鑽石
|
||||
- [ ] **排行榜獎勵**: 每週限時挑戰排行榜前10名特殊獎勵
|
||||
|
||||
## 簡化訂閱系統 (次要營收)
|
||||
|
||||
### 訂閱服務設計
|
||||
- [ ] **7天免費體驗**: 新用戶可免費使用7天完整功能
|
||||
- [ ] **目標**: 與靈兔一起闖關學英文,玩出一口流利的口說英文
|
||||
- [ ] **成功頁面**: 可愛外星人角色設計增加親切感
|
||||
- [ ] **續約提醒**: "還在等什麼?先來7天免費體驗看看!"
|
||||
|
||||
### 資源不足機制
|
||||
- [ ] **提醒彈窗**: "任務提示需要消耗30資石,但你目前資石不足"
|
||||
- [ ] **引導購買**: 直接引導用戶到道具商店
|
||||
- [ ] **清楚的需求說明**: 顯示具體需要的資源數量
|
||||
- [ ] **一鍵解決**: 提供"了解"按鈕引導至購買頁面
|
||||
|
||||
## 道具購買流程設計
|
||||
|
||||
### 購買確認機制
|
||||
|
||||
#### 加時道具購買確認
|
||||
- [ ] **視覺化設計**: 大型時鐘圖示加上加號圖示
|
||||
- [ ] **清楚的價值說明**: "用加時道具去玩出更高的分數吧!"
|
||||
- [ ] **遊戲化設計**: 對話式的遊戲要求,而非單純交易
|
||||
- [ ] **即時購買**: "立即購買 300鑽石"按鈕
|
||||
- [ ] **取消選項**: 簡單的"不,謝謝"選項
|
||||
|
||||
#### 補命道具購買確認
|
||||
- [ ] **心形圖示**: 愛心加號的視覺設計
|
||||
- [ ] **功能說明**: 明確告知為學習時間復活用途
|
||||
- [ ] **價格透明**: 直接顯示100鑽石的明確價格
|
||||
- [ ] **低價格策略**: 相對低廉的價格降低購買的障礙感
|
||||
|
||||
#### 回覆提示道具購買確認
|
||||
- [ ] **燈泡圖示**: 智慧提示的視覺設計
|
||||
- [ ] **功能說明**: "獲得AI智慧引導,突破對話卡關!"
|
||||
- [ ] **價格透明**: 直接顯示30鑽石的低門檻價格
|
||||
- [ ] **價值展示**: 強調包含四合一功能(意圖分析+思維引導+回覆範例+翻譯)
|
||||
- [ ] **即時解決**: "立即獲得對話靈感"的行動導向按鈕
|
||||
- [ ] **低價策略**: 最低價道具降低首次付費心理障礙
|
||||
|
||||
### 購買成功機制
|
||||
- [ ] **即時生效**: 購買後立即可在遊戲中使用
|
||||
- [ ] **清楚的庫存顯示**: 在主界面右上角顯示目前鑽石數量(1500)
|
||||
- [ ] **使用指引**: 在需要使用道具時提供明確的使用方式
|
||||
|
||||
## 訂閱成功體驗設計
|
||||
|
||||
### 成功頁面設計理念
|
||||
- [ ] **可愛風格**: 使用外星人角色創造親切感
|
||||
- [ ] **清楚的價值主張**: "和靈兔一起闖關學英文!玩出一口流利的口說英文!"
|
||||
- [ ] **緊迫性設計**: "還在等什麼?先來7天免費體驗看看!"
|
||||
- [ ] **行動導向**: 大型明顯的CTA按鈕"領取7天體驗資格"
|
||||
|
||||
### 用戶心理設計
|
||||
- [ ] **降低抵觸**: 免費體驗降低初次購買的心理障礙
|
||||
- [ ] **社交證明**: 使用外星人形象增加記憶點
|
||||
- [ ] **成就感**: 體驗成功的成就感與滿意度
|
||||
- [ ] **持續動機**: 透過可愛設計建立情感連結
|
||||
|
||||
## 鑽石購買套餐設計
|
||||
|
||||
### 推薦套餐結構
|
||||
- [ ] **新手包**: 500鑽石 = NT$30 (首次購買優惠)
|
||||
- [ ] **基礎包**: 1,200鑽石 = NT$60
|
||||
- [ ] **價值包**: 2,500鑽石 = NT$99 (最受歡迎)
|
||||
- [ ] **豪華包**: 5,000鑽石 = NT$190
|
||||
- [ ] **至尊包**: 12,000鑽石 = NT$390
|
||||
|
||||
### 定價策略考量
|
||||
- [ ] **低門檻**: NT$30的新手包降低進入的障礙
|
||||
- [ ] **價值感**: 每1鑽石約NT$0.04的合理價格
|
||||
- [ ] **組合購買優惠**: 5個裝比單購節省20-25%
|
||||
- [ ] **心理定位**: 道具價格設定在100-1200鑽石區間
|
||||
|
||||
## 付費轉換優化
|
||||
|
||||
### 轉換漏斗設計
|
||||
- [ ] **無縫體驗**: 從免費使用到需要購買的自然過渡
|
||||
- [ ] **第一次付費**: 通常為最低價的道具(回覆提示道具30鑽石)
|
||||
- [ ] **漸進式需求**:
|
||||
- **入門級**: 回覆提示道具(30鑽石) - 解決即時卡關問題
|
||||
- **成長級**: 限時挑戰門票(50鑽石) - 體驗競技式學習
|
||||
- **進階級**: 補命道具(100鑽石) - 提供重新挑戰機會
|
||||
- **專家級**: 時間相關道具(100-150鑽石) - 優化限時挑戰表現
|
||||
- **大師級**: 加時道具(300鑽石) - 獲得更充裕練習時間
|
||||
- [ ] **成就動機**: 通過道具使用獲得更好成績和雙重通關的成就感
|
||||
- [ ] **學習進步感**: 回覆提示功能和即時獎勵讓用戶感受到明顯的學習支援
|
||||
- [ ] **競技驅動**: 300秒限時挑戰創造緊張感和競爭動機
|
||||
- [ ] **社交壓力**: 好友排行榜和限時挑戰排名驅動持續消費
|
||||
|
||||
## 簡化廣告系統
|
||||
|
||||
### 廣告展示策略
|
||||
- [ ] **非強制性**: 主要用於獲得額外鑽石獎勵
|
||||
- [ ] **獎勵導向**: 觀看廣告獲得25-50鑽石
|
||||
- [ ] **頻率控制**: 避免影響核心遊戲體驗
|
||||
- [ ] **品質篩選**: 優先顯示教育和遊戲相關廣告
|
||||
|
||||
## 技術實現考量
|
||||
|
||||
### 支付系統整合
|
||||
- [ ] **第三方支付串接**: 整合多種支付方式API
|
||||
- [ ] **交易安全**: PCI DSS合規的支付安全機制
|
||||
- [ ] **即時到帳**: 購買後立即可使用的鑽石發放
|
||||
- [ ] **退款處理**: 簡化的退款處理流程
|
||||
|
||||
### 道具系統管理
|
||||
- [ ] **即時庫存**: 即時更新用戶鑽石和道具庫存
|
||||
- [ ] **使用追蹤**: 追蹤道具使用情況和效果
|
||||
- [ ] **防作弊機制**: 防止道具被不正當獲得或使用
|
||||
- [ ] **數據分析**: 道具使用率和購買轉換率分析
|
||||
|
||||
---
|
||||
|
||||
## 關鍵差異與實際設計對齊
|
||||
|
||||
### 與原規劃的主要不同
|
||||
1. **簡化商業模式**: 從複雜的4層訂閱制改為鑽石道具+簡單訂閱
|
||||
2. **遊戲化貨幣**: 使用鑽石取代直接台幣定價
|
||||
3. **低門檻策略**: 最低100鑽石的道具降低付費門檻
|
||||
4. **視覺化購買**: 可愛的確認彈窗而非複雜的訂閱頁面
|
||||
5. **即時獎勵**: 購買後立即可用,增加滿足感
|
||||
|
||||
### 實際應用案例
|
||||
- **道具商店頁面**: 清楚的分類和價格顯示
|
||||
- **購買確認彈窗**: 遊戲化的對話式確認
|
||||
- **資源不足提醒**: 直接引導到解決方案
|
||||
- **訂閱成功頁**: 可愛外星人增加品牌親和力
|
||||
|
||||
---
|
||||
|
||||
**最後更新**: 2024年9月5日
|
||||
**基於實際設計**: 05_views 目錄中的商業相關UI設計
|
||||
**審查週期**: 與實際UI設計保持同步更新
|
||||
|
|
@ -0,0 +1,425 @@
|
|||
# AI 對話分析算法規格
|
||||
|
||||
## 概述
|
||||
定義 Drama Ling 應用中 AI 對話分析系統的具體實現方案,整合語法評分與共用的口說評分、語用分析模組。
|
||||
|
||||
## 共用模組引用
|
||||
|
||||
本規格依賴以下共用模組,請參閱對應規格文件:
|
||||
|
||||
- **[口說評分系統](./speaking-evaluation-specs.md)** - 五維度口說表達評估
|
||||
- **[語用分析系統](./pragmatic-analysis-specs.md)** - 六維語用標準建議系統
|
||||
|
||||
## 核心評分維度
|
||||
|
||||
基於 UI_LevelResult_ScoreSummary.png 的實際設計,採用三維對話評估指標顯示:
|
||||
|
||||
### 三維對話評估系統
|
||||
**目標**: 提供清楚的學習反饋,觸發對應成就獎勵
|
||||
|
||||
#### 三維對話評分指標
|
||||
- [ ] **語法評分**: 評估語法正確性
|
||||
- 所有對話皆正確時即為完美表現,若有藉由錯誤訂正功能將全部錯誤訂正完畢,則一樣給予完美表現
|
||||
- 獲得完美表現則過關獎勵雙倍
|
||||
- 過關獎勵: +1 鑽石 + 10 XP
|
||||
|
||||
- [ ] **口說評分**: 評估口說表現的自然度和流暢性
|
||||
- 詳細規格請參閱 → **[口說評分系統規格](./speaking-evaluation-specs.md)**
|
||||
|
||||
- [ ] **語用分析**: 評估內容理解和表達適切性(只建議,不評分)
|
||||
- 詳細規格請參閱 → **[語用分析系統規格](./pragmatic-analysis-specs.md)**
|
||||
|
||||
#### 技術實現方案
|
||||
- [ ] **AI 模型選擇**: 待決定 (GPT-4/Claude/自建模型)
|
||||
- [ ] **即時分析**: 目標響應時間 < 2秒
|
||||
- [ ] **成就觸發機制**: 於遊戲結束時,自動檢測並發放對應獎勵
|
||||
|
||||
## AI 對話分析功能
|
||||
|
||||
### 即時分析機制
|
||||
基於最新規格的詳細分析系統:
|
||||
|
||||
- [ ] **每句話即時分析**: 用戶說出的每句話都進行即時判斷
|
||||
- 語法正確性分析(即時顯示於對話功能欄)
|
||||
- 口說評分(即時顯示於對話功能欄)→ 使用 [口說評分系統](./speaking-evaluation-specs.md)
|
||||
- 任務完成狀態檢測
|
||||
- 指定詞彙使用檢測
|
||||
|
||||
- [ ] **即時成功通知**: 當用戶提及詞彙或完成任務時立即回饋
|
||||
|
||||
## 情境對話核心系統
|
||||
|
||||
### 情境對話通關檢測系統 *(核心功能)*
|
||||
基於最新規格的結構化通關和評分機制:
|
||||
|
||||
#### 劇情任務識別系統
|
||||
|
||||
##### 意圖表達任務機制
|
||||
每個劇本包含多個**情境意圖表達任務**,玩家需要在對話中適切地表達出指定意圖:
|
||||
|
||||
**三級完成標準**:
|
||||
- 🔴 **未完成** (0%) - 完全沒有表達該意圖
|
||||
- 🟡 **部分完成** (50%) - 有表達意圖但不夠清楚或完整
|
||||
- 🟢 **完美完成** (100%) - 清楚、自然地表達了該意圖
|
||||
|
||||
**⭐ 任務星獲得條件**:當劇本中**所有意圖任務都達到完美完成**時獲得任務星
|
||||
|
||||
##### 技術實現
|
||||
- [ ] **任務目標解析**:
|
||||
- 解析每個劇本的具體意圖表達要求
|
||||
- 定義每個意圖的完成判定標準
|
||||
- 例如:"預約餐廳" → 必須包含時間、人數、聯絡方式等要素
|
||||
|
||||
- [ ] **意圖完成度評估**:
|
||||
- AI即時分析用戶對話是否達成意圖目標
|
||||
- 按三級標準評估完成程度 (未完成/部分完成/完美完成)
|
||||
- 即時顯示任務進度給用戶參考
|
||||
|
||||
- [ ] **任務進度追蹤及即時反饋機制**:
|
||||
- 即時監控所有意圖任務的完成狀態
|
||||
- 當任務達成時觸發即時成功通知
|
||||
- 記錄每個任務的完成品質評分
|
||||
|
||||
#### 指定詞彙檢測系統
|
||||
- [ ] **詞彙識別引擎**:
|
||||
- 精準識別用戶是否使用指定的關鍵詞彙
|
||||
- 支援詞彙的不同變化形式(單複數、時態等)
|
||||
- 處理同義詞和相關變體的檢測
|
||||
|
||||
- [ ] **即時反饋機制**:
|
||||
- 使用詞彙時立即觸發成功通知
|
||||
- 提供詞彙使用品質的評分
|
||||
- 記錄詞彙掌握程度的學習數據
|
||||
|
||||
### 回覆卡關輔助系統
|
||||
|
||||
#### 回覆協助功能 (消耗寶石)
|
||||
**觸發時機**: 用戶在扮演角色遇到卡關,不知道該講什麼或怎麼講時
|
||||
|
||||
**三層引導內容**:
|
||||
- [ ] **對方意圖分析**: 根據對話室中最後一句話,分析對方說這句話的意圖
|
||||
- [ ] **回應思緒引導**: 分析用戶聽到這句話的反應及可能的回覆方向
|
||||
- [ ] **回覆範例生成**: 生成一句具體的回覆範例
|
||||
|
||||
#### 任務輔助功能 (免費)
|
||||
- [ ] **劇情任務範例**:
|
||||
- 點擊任務提示按鈕後,先跳出警示,確認後即顯示一句範例
|
||||
- 說明「這樣說可以完成任務」
|
||||
- 當任務已完成時不顯示此按鈕
|
||||
- 完全免費,不消耗任何道具
|
||||
- 使用後,當前任務將不會獲得「⭐ 任務星」
|
||||
|
||||
- [ ] **指定詞彙範例**:
|
||||
- 展示指定詞彙的正確使用方式
|
||||
- 提供詞彙在不同語境下的使用示例
|
||||
- 包含詞彙變化形式的學習支援
|
||||
|
||||
### 中翻英輔助功能
|
||||
- [ ] **Google翻譯整合**: 直接將使用者的中文以Google翻譯轉譯成英文 (訂閱用戶)
|
||||
- [ ] **情境翻譯優化**: AI分析對話情境後調整翻譯結果 (進階用戶)
|
||||
- 根據角色身份調整語氣 (正式/非正式/友善/專業)
|
||||
- 考慮文化背景提供更自然的表達方式
|
||||
- 修正直譯問題,提供更符合英語習慣的說法
|
||||
- 例如:「不好意思」→ 商務場合「I apologize」vs 日常「Sorry」
|
||||
|
||||
### 語音處理系統
|
||||
- [ ] **語音轉文字**: 以語音輸入為主,文字輸入為輔的對話方式
|
||||
- [ ] **中文檢測**: 當用戶講中文或輸入中文時,角色表示聽不懂
|
||||
- [ ] **語音品質檢測**: 如果聽不到聲音,顯示「抱歉,好像沒有聲音,請重新錄製」
|
||||
- [ ] **口說表現分析**: 整合 [口說評分系統](./speaking-evaluation-specs.md) 進行分析
|
||||
|
||||
## 闖關學習系統整合 *(重構為四關線性闖關)*
|
||||
|
||||
本AI算法系統整合到 [線性闖關學習系統](./progressive-stage-system.md) 的四關架構中。
|
||||
|
||||
### 四關AI算法支援
|
||||
|
||||
#### 第1關:詞彙學習 (Vocabulary Learning)
|
||||
基於詞彙認知的AI輔助學習機制:
|
||||
|
||||
- [ ] **詞彙展示功能**:
|
||||
- 顯示詞彙本身、詞義、例句和示意圖
|
||||
- 協助用戶初步記住詞彙的核心資訊
|
||||
- 為後續關卡做準備
|
||||
- [ ] **詞彙選擇題**:
|
||||
- 根據示意圖選出正確的英文詞彙
|
||||
- 4選1的單選題形式
|
||||
- 答錯時,將題目在最後重新測試
|
||||
- [ ] **通關機制**: 所有詞彙題目都答對才算通關,自動獲得3顆星,解鎖第2關
|
||||
|
||||
#### 第2關:詞彙熟悉 (Vocabulary Mastery)
|
||||
基於語境應用的AI練習系統:
|
||||
|
||||
- [ ] **例句重組功能**:
|
||||
- 從單字選取區點選組出示意圖的原句
|
||||
- 訓練詞彙在語境中的使用能力
|
||||
- 強化語法結構理解
|
||||
- [ ] **詞彙配對功能**:
|
||||
- 左邊示意圖與右邊詞彙進行配對
|
||||
- 全部配對正確才算完成
|
||||
- 提升詞彙識別和記憶連結
|
||||
- [ ] **通關機制**: 所有配對和重組正確才算通關,自動獲得3顆星,解鎖第3關
|
||||
|
||||
#### 第2+關:口說練習特別關卡 (Speaking Practice Bonus)
|
||||
基於 [口說評分系統](./speaking-evaluation-specs.md) 的付費訓練關卡:
|
||||
|
||||
**關卡機制**:
|
||||
- [ ] **付費模式**: 消耗5鑽石開始遊戲
|
||||
- [ ] **特別機制**: 唯一可跳過的關卡,不影響主線闖關進度
|
||||
- [ ] **關卡流程**: 逐一展示詞彙例句,用戶需朗讀每個例句
|
||||
- [ ] **五維即時評分**: 發音/流暢度/韻律/完整度/準確度即時評估
|
||||
|
||||
**通關與獎勵**:
|
||||
- [ ] **通關條件**: 所有詞彙例句平均分數達到70分以上
|
||||
- [ ] **星級與獎勵機制**:
|
||||
- 70-79分:1星,獲得1鑽石 + 10 XP (回收部分成本)
|
||||
- 80-89分:2星,獲得3鑽石 + 10 XP (略有虧損但有進步)
|
||||
- 90-100分:3星,獲得5鑽石 + 20 XP (獲利且大幅經驗值)
|
||||
- [ ] **解鎖效果**: 通關後解鎖第3關
|
||||
|
||||
**AI學習支援**:
|
||||
- [ ] **發音精進**: 針對特定詞彙的精確發音訓練
|
||||
- [ ] **記憶強化**: 透過語音輸出深化詞彙印象
|
||||
- [ ] **個性化反饋**: 每個詞彙提供詳細的發音改善建議
|
||||
|
||||
#### 第3關:情境對話 (Situational Dialogue)
|
||||
基於AI對話分析的綜合應用關卡:
|
||||
|
||||
**關卡機制**:
|
||||
- [ ] **免費模式**: 免費進入,失敗扣1命條
|
||||
- [ ] **AI角色對話**: 與AI角色進行劇本情境對話
|
||||
- [ ] **雙重任務系統**: 完成劇情意圖 + 使用前三關學習的5個指定詞彙
|
||||
|
||||
**通關與星級系統**:
|
||||
- [ ] **基本通關**: 所有意圖任務≥50%完成 + 所有詞彙至少提及一次
|
||||
- [ ] **三星評分標準**:
|
||||
- ⭐ 任務星:所有意圖任務100%完成
|
||||
- ⭐ 語法星:語法錯誤率 = 0
|
||||
- ⭐ 口說星:口說平均分數 > 80
|
||||
- [ ] **解鎖效果**: 通關後解鎖下一劇本第1關
|
||||
|
||||
**AI分析支援**:
|
||||
- [ ] **即時分析**: 語法、口說、任務完成三維度即時分析
|
||||
- [ ] **語用建議**: 使用 [語用分析系統](./pragmatic-analysis-specs.md) 提供學習建議
|
||||
- [ ] **回覆輔助**: 三層引導內容 (對方意圖分析/回應思緒引導/回覆範例生成)
|
||||
|
||||
### 共用詞彙設計標準
|
||||
四關共用的詞彙組合設計:
|
||||
- [ ] **詞彙組合**: 每個劇本包含5個詞彙
|
||||
- 3個常用單字
|
||||
- 1個常用片語
|
||||
- 1個常用俚語
|
||||
- [ ] **詞彙範例結構**:
|
||||
- 買菜小冒險: market, vegetables, price + "ask for a discount" + "a steal"
|
||||
- 遲到的咖啡約會: coffee, late, apologize + "run into traffic" + "my bad"
|
||||
- 失而復得的手機: phone, lost, find + "look around for" + "lucky break"
|
||||
|
||||
### 間隔複習系統 *(Spaced Repetition)*
|
||||
基於遺忘曲線的智慧複習機制:
|
||||
|
||||
#### 複習清單管理
|
||||
- [ ] **自動加入機制**:
|
||||
- 詞彙認識、詞彙熟悉、對話訓練通關後自動加入詞彙
|
||||
- 避免重複加入已存在的詞彙
|
||||
- 維護個人化的複習詞彙庫
|
||||
- [ ] **複習時機計算**:
|
||||
- 下次複習時間 = 當日 + (2^複習次數)
|
||||
- 首次加入當日即為第一次複習時間
|
||||
- 例如:3/4學習 → 3/6複習 → 3/10複習 → 3/18複習
|
||||
|
||||
#### 每日複習排程
|
||||
- [ ] **待複習詞彙判定**:
|
||||
- 複習日期為當日或已過期的詞彙
|
||||
- 未準時複習的詞彙持續標記為待複習
|
||||
- 延遲複習時重新計算下次複習時間
|
||||
- [ ] **複習關卡執行**:
|
||||
- 以「詞彙熟悉」關卡形式進行複習
|
||||
- 答錯題目複製到當前最後一題
|
||||
- 直到所有題目都答對才完成複習
|
||||
|
||||
#### 進度保存機制
|
||||
- [ ] **中途離開處理**:
|
||||
- 保留用戶當前複習進度和狀態
|
||||
- 再次進入時繼續上次未完成的複習
|
||||
- [ ] **完成獎勵機制**:
|
||||
- 全部複習完成後給予經驗值獎勵
|
||||
- 更新詞彙複習次數和下次複習時間
|
||||
- 強化學習動機和持續性
|
||||
|
||||
## 情境對話關卡結算系統 *(專屬於情境對話訓練)*
|
||||
|
||||
### 情境對話關卡表現結算
|
||||
**觸發時機**:
|
||||
- 當劇本時間用完
|
||||
- 任務已完成後,使用者自行離開
|
||||
- 任務未完成,使用者自行離開不會觸發關卡表現結算
|
||||
|
||||
#### 情境對話過關判斷標準
|
||||
- [ ] **基本通關條件**:
|
||||
- 所有意圖任務至少達到🟡部分完成(50%)
|
||||
- 所有指定詞彙至少被提及一次
|
||||
- **過關標準**: 完成基本對話要求,可獲得通關獎勵
|
||||
|
||||
- [ ] **星星獲得條件**:
|
||||
- 依據上述三星評分標準 (任務星/語法星/口說星)
|
||||
- 每顆星星獨立計算,玩家可獲得0-3顆星星
|
||||
|
||||
#### 情境對話表現評分系統
|
||||
|
||||
##### 星星獲得標準 ⭐
|
||||
每達成一項條件即可獲得一顆星,最多3顆星:
|
||||
|
||||
- [ ] **⭐ 任務星** - **所有意圖任務完美完成**
|
||||
- 劇本中每個意圖表達任務都達到🟢完美完成(100%)
|
||||
- 玩家成功在對話中自然表達出所有指定意圖
|
||||
- **獲得條件**: 所有意圖任務完成度 = 100%
|
||||
|
||||
- [ ] **⭐ 語法星** - **語法錯誤率 = 0**
|
||||
- 用戶說的每句話經過語法判定都正確
|
||||
- 或者透過訂正功能將全部錯誤訂正完畢亦可
|
||||
- **獲得條件**: 完全無語法錯誤
|
||||
|
||||
- [ ] **⭐ 口說星** - **口說評分 > 80** (滿分100)
|
||||
- 使用 [口說評分系統](./speaking-evaluation-specs.md) 評估
|
||||
- 計算用戶所有句子的口說平均分數
|
||||
- **獲得條件**: 口說平均分數超過80分
|
||||
|
||||
##### 學習建議系統 💡
|
||||
不影響星星獲得,僅提供改善建議:
|
||||
|
||||
- [ ] **💡 語用建議** - **對話語用分析**
|
||||
- 使用 [語用分析系統](./pragmatic-analysis-specs.md) 分析
|
||||
- 提供六維語用標準的具體改善建議
|
||||
- **用途**: 幫助用戶理解更自然的溝通方式
|
||||
|
||||
### 情境對話結算流程系統
|
||||
#### 過關流程
|
||||
- [ ] **成功宣告**: 恭喜過關訊息
|
||||
- [ ] **表現結算**: 顯示詳細評分和星級
|
||||
- [ ] **訂正選擇**:
|
||||
- 如果點擊「立即訂正」→ 執行訂正流程 → 完成後領取訂正後獎勵
|
||||
- 如果點擊「不訂正」→ 直接領獎
|
||||
- [ ] **獎勵發放**: 領取通關獎勵
|
||||
|
||||
#### 失敗流程
|
||||
- [ ] **失敗宣告**: 顯示失敗原因
|
||||
- [ ] **安慰獎勵**: 領取時光卷一張
|
||||
|
||||
### 情境對話AI訂正系統
|
||||
#### 語法錯誤訂正
|
||||
- [ ] **錯誤收集**: 系統收集該劇本對話中所有語法錯誤的句子
|
||||
- [ ] **依序訂正**: 讓用戶依序對每個錯誤句子進行訂正
|
||||
- [ ] **進度追蹤**: 分子=訂正次數,分母=語法錯誤句數+表達不順句數
|
||||
- [ ] **語音練習**: 點擊練習按鈕後播放說話動畫,再次點擊送出錄音
|
||||
- [ ] **結果反饋**: 檢查完成後回饋正確或錯誤
|
||||
|
||||
#### 口說錯誤訂正
|
||||
- [ ] **口說評估**: 使用 [口說評分系統](./speaking-evaluation-specs.md) 進行評估
|
||||
- [ ] **口說錯誤收集**: 收集口說錯誤的句子進行訂正
|
||||
- [ ] **語音重錄**: 使用語音方式重新錄製和練習
|
||||
- [ ] **品質提升**: 透過重複練習提升口說表現
|
||||
|
||||
### 技術實現重點
|
||||
- [ ] **快速響應**: 優先保證系統響應速度
|
||||
- [ ] **準確評估**: 確保評分的一致性和準確性
|
||||
- [ ] **獎勵整合**: 與遊戲化系統無縫整合
|
||||
|
||||
## 技術架構設計
|
||||
|
||||
### 核心技術需求 *(更新基於最新規格)*
|
||||
- [ ] **AI 服務選擇**: 確定主要 AI 模型供應商
|
||||
- [ ] **語法評分算法**: 建立語法正確性評分的具體邏輯
|
||||
- [ ] **雙重檢測引擎**: 實現劇情任務和詞彙檢測的AI系統
|
||||
- [ ] **即時反饋系統**: 任務完成和詞彙使用的立即通知機制
|
||||
- [ ] **回覆輔助引擎**: 實現意圖分析和回應引導的AI模型
|
||||
- [ ] **翻譯服務整合**: Google翻譯API的無縫整合
|
||||
- [ ] **限時系統整合**: 300秒計時和結算觸發機制
|
||||
- [ ] **訂正系統AI**: 語法錯誤和表達流暢度的訂正引擎
|
||||
- [ ] **成就系統整合**: 自動觸發獎勵機制
|
||||
- [ ] **性能優化**: 確保響應時間 < 2秒
|
||||
- [ ] **共用模組整合**:
|
||||
- 整合 [口說評分系統](./speaking-evaluation-specs.md)
|
||||
- 整合 [語用分析系統](./pragmatic-analysis-specs.md)
|
||||
|
||||
### 數據來源架構 *(新增基於最新規格)*
|
||||
#### 預先準備的數據 (事前手動生成)
|
||||
- [ ] **開場對話**: 包含場景描述的4-8句開場對話
|
||||
- [ ] **任務定義**: 中文描述、完成範例、範例翻譯
|
||||
- [ ] **詞彙數據**: 包含翻譯、圖片、題庫等完整詞彙資料
|
||||
- [ ] **劇情大綱**: 完整的劇本背景和角色設定
|
||||
- [ ] **獎勵設定**: 關卡經驗值獎勵、寶石獎勷、訂正後獎勵數目
|
||||
|
||||
#### 即時生成的數據 (關卡進行當下)
|
||||
- [ ] **AI角色對話**: 基於劇情和用戶回應的AI動態生成
|
||||
- [ ] **用戶對話**: 語音轉文字後存入資料庫
|
||||
- [ ] **語法錯誤評估**: AI即時分析每句話的語法正確性
|
||||
- [ ] **語意合適度評估**: AI評估對話的語境適應性
|
||||
- [ ] **任務完成評估**: AI判斷劇情任務的完成狀態
|
||||
- [ ] **口說分析**: 使用 [口說評分系統](./speaking-evaluation-specs.md) 分析
|
||||
- [ ] **語用建議**: 使用 [語用分析系統](./pragmatic-analysis-specs.md) 生成建議
|
||||
- [ ] **回覆引導**: AI生成的三層輔助內容
|
||||
- [ ] **對話翻譯**: Google翻譯提供的中翻英服務
|
||||
|
||||
#### 詞彙檢測系統
|
||||
- [ ] **詞彙變化形式**: 資料庫儲存詞彙所有型態供模糊比對
|
||||
- 例如:eat, ate, eats, eaten
|
||||
- [ ] **即時比對機制**: 每次對話結束後進行模糊比對
|
||||
- [ ] **語境適配**: 確保詞彙使用的自然性和合理性
|
||||
|
||||
### 情境對話技術架構 *(新增)*
|
||||
- [ ] **劇情解析引擎**: 理解和追蹤劇本任務的完成狀態
|
||||
- [ ] **詞彙監控系統**: 即時檢測指定詞彙的使用情況
|
||||
- [ ] **雙重成功判定**: 同時滿足劇情任務和詞彙要求的邏輯
|
||||
- [ ] **時間管理核心**: 精確的300秒倒數計時系統
|
||||
|
||||
### 回覆輔助技術架構
|
||||
- [ ] **意圖識別模型**: 基於context理解對方話語意圖
|
||||
- [ ] **回應策略生成**: 提供多元化的回應思路建議
|
||||
- [ ] **範例生成算法**: 根據使用者等級生成適當的回覆範例
|
||||
- [ ] **情境適應性**: 確保建議符合對話場景和文化背景
|
||||
|
||||
### 基本品質控制
|
||||
- [ ] **準確性測試**: 驗證評分結果的一致性
|
||||
- [ ] **用戶體驗**: 確保獎勵系統運作順暢
|
||||
- [ ] **資料隱私**: 基本的用戶資料保護
|
||||
|
||||
---
|
||||
|
||||
## 待完成任務
|
||||
|
||||
### 高優先級 *(更新基於最新規格)*
|
||||
1. [ ] 建立每句話的即時分析系統(語法、任務、詞彙三重檢測)
|
||||
2. [ ] 實現劇情任務完成狀態的AI檢測引擎
|
||||
3. [ ] 建立指定詞彙模糊比對系統(支援詞彙變化形式)
|
||||
4. [ ] 開發詞彙學習關卡系統(詞彙認識和詞彙熟悉)
|
||||
5. [ ] 實現間隔複習算法(2^複習次數的遺忘曲線計算)
|
||||
6. [ ] 開發即時成功通知機制(任務完成和詞彙使用立即反饋)
|
||||
7. [ ] 實現三維度結算評分系統(語意60+、語法0錯、流暢60+)
|
||||
8. [ ] 建立語音轉文字和中文檢測系統
|
||||
9. [ ] 整合共用模組:口說評分系統和語用分析系統
|
||||
10. [ ] 開發回覆輔助的三層引導AI(意圖分析、思緒引導、範例生成)
|
||||
|
||||
### 中優先級
|
||||
1. [ ] 建立雙重通關條件的邏輯驗證系統
|
||||
2. [ ] 優化時間壓力下的AI分析準確性
|
||||
3. [ ] 設計三類輔助工具的智能推薦機制
|
||||
4. [ ] 建立意圖分析模型的準確性測試
|
||||
5. [ ] 優化回覆範例生成的品質控制
|
||||
6. [ ] 建立評分一致性的測試機制
|
||||
7. [ ] 優化與遊戲化系統的整合
|
||||
8. [ ] 確保基本的資料隱私保護
|
||||
|
||||
### 新增功能優先級
|
||||
1. [ ] 設計劇情任務的複雜度分級系統
|
||||
2. [ ] 建立指定詞彙的學習進度追蹤
|
||||
3. [ ] 優化限時環境下的用戶體驗
|
||||
4. [ ] 設計回覆卡關的觸發時機和條件
|
||||
5. [ ] 建立輔助功能使用的數據追蹤
|
||||
6. [ ] 優化中翻英結果的情境適應性
|
||||
7. [ ] 設計輔助功能的學習成效測量
|
||||
|
||||
---
|
||||
|
||||
**最後更新**: 2025-09-11 - 重構:拆分共用模組並建立引用機制
|
||||
**版本**: 2.0 - 模組化版本:整合口說評分和語用分析共用模組
|
||||
**維護者**: Drama Ling 開發團隊
|
||||
|
|
@ -13,79 +13,300 @@
|
|||
|
||||
### 基本規則
|
||||
- **初始命條**: 新用戶獲得5個命條
|
||||
- **最大命條**: 普通用戶5個,訂閱用戶10個
|
||||
- **恢復機制**: 每30分鐘自動恢復1個命條
|
||||
- **命條消耗**: 答錯題目扣除1個命條
|
||||
- **最大命條**:
|
||||
- 免費用戶: 5個
|
||||
- 訂閱用戶: 30個
|
||||
- 進階用戶: 50個
|
||||
- **恢復機制**:
|
||||
- 免費用戶: 每5小時自動恢復1個命條
|
||||
- 訂閱用戶: 每小時自動恢復3個命條
|
||||
- 進階用戶: 每小時自動恢復5個命條
|
||||
- **命條消耗**: 1、2、3關啟動時消耗命條(第2+關不消耗)
|
||||
|
||||
### 消耗場景
|
||||
| 場景 | 命條消耗 | 說明 |
|
||||
|------|----------|------|
|
||||
| 答錯選擇題 | 1個 | 詞彙學習、對話練習 |
|
||||
| 跳過題目 | 1個 | 視為答錯處理 |
|
||||
| 對話失敗 | 2個 | 情境對話完全失敗 |
|
||||
| 挑戰失敗 | 3個 | 特殊挑戰任務失敗 |
|
||||
### 消耗場景 (四關闖關系統)
|
||||
| 場景 | 命條消耗 | 說明 |
|
||||
| -------------- | -------- | ---------------------------- |
|
||||
| 第1關:詞彙學習 | 1個 | 啟動關卡時消耗,無論答對答錯 |
|
||||
| 第2關:詞彙熟悉 | 1個 | 啟動關卡時消耗,無論答對答錯 |
|
||||
| 第2+關:口說練習特別關卡 | 0個 | 付費關卡,不消耗命條 |
|
||||
| 第3關:情境對話 | 1個 | 啟動關卡時消耗,無論成功失敗 |
|
||||
| 對話有辱罵情形 | 3個 | 額外扣除懲罰 |
|
||||
|
||||
### 獲得命條方式
|
||||
- **自動恢復**: 每30分鐘恢復1個
|
||||
- **自動恢復**: 依用戶等級不同恢復速度(見上方基本規則)
|
||||
- **廣告觀看**: 觀看廣告恢復1個命條 (每日3次)
|
||||
- **道具購買**: 使用鑽石購買命條補充包
|
||||
- **訂閱獎勵**: 訂閱用戶命條上限提升至10個
|
||||
|
||||
## 💎 經濟系統 (Economy System)
|
||||
## 💰 付費與虛擬貨幣系統
|
||||
|
||||
### 貨幣類型
|
||||
### 💎 鑽石購買與管理規則
|
||||
|
||||
#### BR-PAY-01: 鑽石購買規則
|
||||
```yaml
|
||||
規則名稱: 虛擬貨幣交易規則
|
||||
適用範圍: 所有鑽石購買交易
|
||||
技術實現:
|
||||
- 鑽石最小購買單位為100顆
|
||||
- 單次購買上限為10000顆
|
||||
- 24小時內購買總額不超過1000美金等值
|
||||
- 未成年用戶需要監護人授權
|
||||
支付處理:
|
||||
- 支援Apple Pay、Google Pay、信用卡
|
||||
- 交易記錄完整保存
|
||||
- 實時風險評估和反欺詐檢測
|
||||
退款政策:
|
||||
- 購買後24小時內可申請退款
|
||||
- 已使用的鑽石不予退還
|
||||
- 退款處理時間為3-7個工作日
|
||||
- 惡意退款用戶將被列入黑名單
|
||||
購買套餐:
|
||||
- 新手包: 500鑽石 = NT$30 (首次購買優惠)
|
||||
- 基礎包: 1,200鑽石 = NT$60
|
||||
- 價值包: 2,500鑽石 = NT$99 (最受歡迎)
|
||||
- 豪華包: 5,000鑽石 = NT$190
|
||||
- 至尊包: 12,000鑽石 = NT$390
|
||||
```
|
||||
|
||||
#### BR-PAY-02: 鑽石消費規則
|
||||
```yaml
|
||||
規則名稱: 虛擬貨幣使用限制
|
||||
適用範圍: 所有鑽石消費行為
|
||||
技術實現:
|
||||
- 鑽石只能用於平台內購買
|
||||
- 不可轉讓給其他用戶
|
||||
- 不可兌換現金
|
||||
- 帳戶停用後鑽石餘額凍結
|
||||
消費順序:
|
||||
1. 優先使用即將到期的鑽石
|
||||
2. 按照獲得時間先進先出
|
||||
3. 贈送鑽石優先於購買鑽石使用
|
||||
獲得方式:
|
||||
- 初始贈送: 新用戶註冊贈送1500鑽石
|
||||
- 每日登入: 登入獎勵鑽石
|
||||
- 學習成就: 完成關卡獲得鑽石獎勵
|
||||
- 現金購買: 直接購買鑽石包
|
||||
- 廣告獎勵: 觀看廣告獲得25-50鑽石
|
||||
```
|
||||
|
||||
#### BR-PAY-03: 道具商店系統
|
||||
```yaml
|
||||
規則名稱: 遊戲內道具購買機制
|
||||
適用範圍: 所有道具消費行為
|
||||
道具定價:
|
||||
- 回覆提示道具: 30鑽石/個,250鑽石/10個包 (節省17%)
|
||||
- 補命道具: 100鑽石/個,400鑽石/5個包 (節省20%)
|
||||
- 加時道具: 300鑽石/個,1200鑽石/5個包 (節省20%)
|
||||
- 時間暫停道具: 100鑽石/個 (限時挑戰專用)
|
||||
- 時間加成道具: 150鑽石/個 (限時挑戰專用)
|
||||
- 限時挑戰門票: 50鑽石/次 (首次每日免費)
|
||||
道具功能:
|
||||
- 回覆提示道具: 提供AI智慧對話引導,包含四合一功能 (消耗5鑽石/次使用)
|
||||
* 對方意圖分析: 分析對方說話意圖
|
||||
* 回應思緒引導: 分析用戶反應及可能回覆方向
|
||||
* 回覆範例生成: 生成具體回覆範例
|
||||
* 翻譯功能: 中文轉英文翻譯輔助
|
||||
- 補命道具: 對話學習失敗時復活機會,重新挑戰失敗關卡
|
||||
- 加時道具: 對話訓練增加1分3秒思考時間,提升成績表現
|
||||
- 時光卷: 失敗安慰獎勵,可重新挑戰前階段關卡或隨機挑選
|
||||
* 獲得方式: 詞彙認識/熟悉關卡失敗、對話訓練失敗
|
||||
* 使用機制: 點擊「我要挑戰」消耗1張時光卷
|
||||
- 時間管理道具組:
|
||||
* 時間暫停道具: 限時挑戰中暫停倒數計時30秒
|
||||
* 時間加成道具: 限時挑戰中增加額外60秒挑戰時間
|
||||
免費輔助功能:
|
||||
- 劇情任務範例: 點擊任務提示顯示完成範例
|
||||
- 指定詞彙範例: 展示詞彙正確使用方式
|
||||
- Google翻譯: 直接中文轉英文翻譯
|
||||
```
|
||||
|
||||
#### BR-PAY-04: 訂閱服務規則
|
||||
```yaml
|
||||
規則名稱: 簡化訂閱服務設計
|
||||
適用範圍: 所有訂閱用戶
|
||||
訂閱服務設計:
|
||||
- 7天免費體驗: 新用戶可免費使用完整功能【7天
|
||||
- 目標: 與靈兔一起闖關學英文,玩出一口流利的口說英文
|
||||
- 成功頁面: 可愛外星人角色設計增加親切感
|
||||
- 續約提醒: "還在等什麼?先來7天免費體驗看看!"
|
||||
資源不足機制:
|
||||
- 提醒彈窗: "任務提示需要消耗資石,但你目前資石不足"
|
||||
- 引導購買: 直接引導用戶到道具商店
|
||||
- 清楚的需求說明: 顯示具體需要的資源數量
|
||||
- 一鍵解決: 提供"了解"按鈕引導至購買頁面
|
||||
權益管理:
|
||||
- 訂閱期間享有所有付費功能
|
||||
- VIP特權: 每日3次免費限時挑戰機會
|
||||
- 命條優惠: 訂閱用戶命條上限30個、每小時恢復3個命條
|
||||
- 完整記錄保存: 暫停或取消訂閱後學習資料保留
|
||||
```
|
||||
|
||||
#### BR-PAY-05: 道具購買流程設計
|
||||
```yaml
|
||||
規則名稱: 道具購買確認和体驗設計
|
||||
適用範圍: 所有道具購買流程
|
||||
加時道具購買確認:
|
||||
- 視覺化設計: 大型時鐘圖示加上加號圖示
|
||||
- 清楚的價值說明: "用加時道具去玩出更高的分數吧!"
|
||||
- 遊戲化設計: 對話式的遊戲要求,而非單純交易
|
||||
- 即時購買: "立即購買 300鑽石"按鈕
|
||||
- 取消選項: 簡單的"不,謝謝"選項
|
||||
補命道具購買確認:
|
||||
- 心形圖示: 愛心加號的視覺設計
|
||||
- 功能說明: 明確告知為學習時間復活用途
|
||||
- 價格透明: 直接顯示100鑽石的明確價格
|
||||
- 低價格策略: 相對低廉的價格降低購買的障礙感
|
||||
回覆提示道具購買確認:
|
||||
- 燈泡圖示: 智慧提示的視覺設計
|
||||
- 功能說明: "獲得AI智慧引導,突破對話卡關!"
|
||||
- 價格透明: 直接顯示30鑽石的低門檻價格
|
||||
- 價值展示: 強調包含四合一功能(意圖分析+思維引導+回覆範例+翻譯)
|
||||
- 即時解決: "立即獲得對話靈感"的行動導向按鈕
|
||||
- 低價策略: 最低價道具降低首次付費心理障礙
|
||||
購買成功機制:
|
||||
- 即時生效: 購買後立即可在遊戲中使用
|
||||
- 清楚的庫存顯示: 在主界面右上角顯示目前鑽石數量
|
||||
- 使用指引: 在需要使用道具時提供明確的使用方式
|
||||
```
|
||||
|
||||
#### BR-PAY-06: 付費轉換優化系統
|
||||
```yaml
|
||||
規則名稱: 漸進式付費轉換機制
|
||||
適用範圍: 全平台付費流程
|
||||
轉換漏斗設計:
|
||||
- 無縫體驗: 從免費使用到需要購買的自然過渡
|
||||
- 第一次付費: 通常為最低價的道具(回覆提示道具30鑽石)
|
||||
- 漸進式需求:
|
||||
* 入門級: 回覆提示道具(30鑽石) - 解決即時卡關問題
|
||||
* 成長級: 限時挑戰門票(50鑽石) - 體驗競技式學習
|
||||
* 進階級: 補命道具(100鑽石) - 提供重新挑戰機會
|
||||
* 專家級: 時間相關道具(100-150鑽石) - 優化限時挑戰表現
|
||||
* 大師級: 加時道具(300鑽石) - 獲得更充裕練習時間
|
||||
動機設計:
|
||||
- 成就動機: 通過道具使用獲得更好成績和雙重通關的成就感
|
||||
- 學習進步感: 回覆提示功能和即時獎勵讓用戶感受到明顯的學習支援
|
||||
- 競技驅動: 300秒限時挑戰創造緊張感和競爭動機
|
||||
- 社交壓力: 好友排行榜和限時挑戰排名驅動持續消費
|
||||
```
|
||||
|
||||
### 💎 經濟系統概覽
|
||||
|
||||
#### 貨幣類型
|
||||
1. **鑽石 (Diamonds)**: 高級貨幣,可購買道具和服務
|
||||
2. **經驗值 (XP)**: 學習進度貨幣,用於解鎖內容
|
||||
3. **學習幣 (Learning Coins)**: 日常活動貨幣,購買基礎道具
|
||||
2. **經驗值 (XP)**: 學習進度貨幣,用於解鎖內容,達成成就,達成任務,排行榜排名依據
|
||||
|
||||
### 經驗值獲得規則
|
||||
| 活動類型 | 經驗值獲得 | 條件 |
|
||||
|----------|------------|------|
|
||||
| 完成詞彙學習 | 50-100 XP | 根據準確率調整 |
|
||||
| 完成對話練習 | 100-200 XP | 根據對話質量調整 |
|
||||
| 連續學習 | 額外20% XP | 連續學習天數獎勵 |
|
||||
| 完美通關 | 雙倍 XP | 全部答對且用時短 |
|
||||
| 每日任務 | 50 XP | 完成每日學習目標 |
|
||||
#### 經驗值與閃電能量獲得規則
|
||||
| 活動類型 | 經驗值獲得 | XP | 條件 |
|
||||
| ------------ | ---------- | ----- | -------------------------------- |
|
||||
| 完成詞彙學習 | 100 XP | 5 | 根據準確率調整 |
|
||||
| 完成對話練習 | 200 XP | 10-30 | 根據對話質量和雙重通關條件調整 |
|
||||
| 連續學習 | 額外20% XP | 額外5 | 連續學習天數獎勵 |
|
||||
| 完美通關 | 50 XP | 10 | 全部答對 |
|
||||
| 劇情任務完成 | - | 10 | 完成對話劇情任務 |
|
||||
| 指定詞彙使用 | - | 5-8 | 正確使用指定詞彙,自然使用有加成 |
|
||||
| 每日任務 | 50 XP | 5 | 完成任務 |
|
||||
|
||||
### 鑽石獲得與消費
|
||||
#### 鑽石獲得與消費
|
||||
**獲得方式**:
|
||||
- 初始贈送: 新用戶註冊贈送300鑽石
|
||||
- 每日登入獎勵: 2鑽石
|
||||
- 完成成就: 10-50鑽石
|
||||
- 觀看廣告: 1鑽石 (每日5次)
|
||||
- 觀看廣告: 25-50鑽石 (每日5次)
|
||||
- 學習成就: 完成關卡獲得鑽石獎勵
|
||||
- 內購: 實際貨幣購買
|
||||
|
||||
**消費項目**:
|
||||
- 命條補充包 (5個): 20鑽石
|
||||
- 時光卷道具: 10鑽石
|
||||
- 提示道具: 5鑽石
|
||||
- 解鎖高級內容: 100-500鑽石
|
||||
**消費管道**:
|
||||
- 道具購買: 回覆提示(30)、補命(100)、加時(300)等
|
||||
- 時間管理道具: 暫停(100)、加成(150)鑽石
|
||||
|
||||
## 📈 學習進度系統
|
||||
|
||||
### 掌握度分級
|
||||
- **初識 (Beginner)**: 0-25% 掌握度
|
||||
- **熟悉 (Familiar)**: 26-60% 掌握度
|
||||
- **應用 (Applied)**: 61-85% 掌握度
|
||||
- **掌握 (Mastered)**: 86-100% 掌握度
|
||||
### 🎯 線性闖關系統 (Progressive Stage System)
|
||||
|
||||
### 難度自適應算法
|
||||
基於 [線性闖關學習系統規格](./progressive-stage-system.md) 的核心業務規則:
|
||||
|
||||
#### 四關闖關架構
|
||||
- **13階段×20劇本×4關卡** 的完整學習架構
|
||||
- **四關順序**: 詞彙學習 → 詞彙熟悉 → 口說練習特別關卡 → 情境對話
|
||||
- **線性解鎖**: 除第2+關外必須按順序完成,口說練習特別關卡可跳過
|
||||
- **學習階層**: 第x階段 > 第x劇本 > 第x關卡
|
||||
|
||||
#### 關卡類型與規則
|
||||
| 關卡類型 | 收費模式 | 命條消耗 | 星級獲得 | 解鎖條件 | 通關條件 |
|
||||
|---------|---------|----------|----------|----------|----------|
|
||||
| 詞彙學習 | 免費 | 啟動扣1條 | 自動3星 | 無 | 全部答對 |
|
||||
| 詞彙熟悉 | 免費 | 啟動扣1條 | 自動3星 | 完成第1關 | 全部答對 |
|
||||
| 口說練習特別關卡 | 5鑽石 | 不扣命條 | 1-3星 | 完成第2關 | 平均70分+ |
|
||||
| 情境對話 | 免費 | 啟動扣1條 | 1-3星 | 完成第2+關或跳過 | 雙重通關條件 |
|
||||
|
||||
### 舊版關卡結構系統
|
||||
#### BR-LEARN-01: 階段化學習架構
|
||||
```yaml
|
||||
規則名稱: 13階段學習路徑
|
||||
適用範圍: 整體學習進度管理
|
||||
結構設計:
|
||||
- 學習階層: 第x階段 > 第x劇本 > 某某關卡
|
||||
- 總體規劃: 共13個學習階段
|
||||
- 劇本數量: 每階段包含20個以上劇本(持續增加)
|
||||
- 關卡類型: 每個劇本固定包含三種關卡
|
||||
* 詞彙認識關卡
|
||||
* 詞彙熟悉關卡
|
||||
* 對話訓練關卡
|
||||
關卡解鎖機制:
|
||||
- 順序闖關: 必須按照關卡順序進行,不可跳關
|
||||
- 解鎖條件: 完成前一關卡才能解鎖下一關
|
||||
- 通關標準: 即使獲得零顆星,成功通關仍會解鎖下一關
|
||||
- 星級獎勵: 詞彙認識和詞彙熟悉關卡通關直接給予三顆星
|
||||
```
|
||||
新難度 = 基礎難度 + 表現調整係數
|
||||
表現調整係數 = (正確率 - 0.7) × 0.5 + (平均反應時間調整)
|
||||
|
||||
若正確率 > 85%: 提升一個難度級別
|
||||
若正確率 < 40%: 降低一個難度級別
|
||||
若連續3次滿分: 跳過下一個同類題目
|
||||
### 🏆 情境對話核心商業機制
|
||||
#### BR-LEARN-02: 雙重通關條件獎勵系統
|
||||
```yaml
|
||||
規則名稱: 結構化通關獎勵機制
|
||||
適用範圍: 所有對話練習關卡
|
||||
劇情任務完成獎勵:
|
||||
- 基礎完成獎勵: +10 鑽石 + 10 閃電能量
|
||||
- 任務品質加成: 高品質完成額外 +5 鑽石
|
||||
- 即時獎勵機制: 任務完成立即觸發獎勵通知和發放
|
||||
- 進度追蹤獎勵: 連續完成劇情任務的連擊獎勵機制
|
||||
指定詞彙使用獎勵:
|
||||
- 詞彙掌握獎勵: 正確使用指定詞彙獲得 +5 鑽石 + 5 閃電能量
|
||||
- 自然使用加成: 詞彙使用自然且符合語境額外 +3 鑽石
|
||||
- 即時反饋獎勵: 使用詞彙時立即觸發成功通知
|
||||
- 詞彙精通獎勵: 單次對話使用多個指定詞彙的組合獎勵
|
||||
結算獎勵系統:
|
||||
- 過關獎勵: 同時滿足劇情任務和詞彙要求獲得金幣和經驗值
|
||||
- 星級獎勵系統: 基於三維度評分獲得1-3顆星
|
||||
* 語意合適分數 > 60 (滿分100) = 1顆星
|
||||
* 語法錯誤率 = 0 (所有句子正確或訂正後正確) = 1顆星
|
||||
* 表達流暢平均分數 > 60 (滿分100) = 1顆星
|
||||
- 訂正後獎勵: 選擇立即訂正後獲得訂正後的獎勵數值
|
||||
- 失敗安慰獎勵: 獲得時光卷一張(可重新挑戰關卡)
|
||||
```
|
||||
|
||||
### ⚡ 連續學習獎勵機制
|
||||
#### BR-LEARN-04: 連續學習激勵系統
|
||||
```yaml
|
||||
規則名稱: 連續學習天數追蹤與獎勵
|
||||
適用範圍: 所有學習活動
|
||||
連續學習規則:
|
||||
- 連續學習天數: 追蹤用戶連續學習的天數
|
||||
- 每日學習判定: 當日完成至少一個關卡即計為學習一天
|
||||
- 連續獎勵機制: 基於連續天數給予額外獎勵
|
||||
* 7天連續: 額外經驗值獎勵
|
||||
* 14天連續: 免費命條補充
|
||||
* 30天連續: 特殊成就徽章
|
||||
斷線處理:
|
||||
- 寬限期: 24小時內補完可維持連續記錄
|
||||
- 保護機制: VIP用戶享有3天的連續中斷保護
|
||||
```
|
||||
|
||||
### 間隔複習機制
|
||||
基於艾賓浩斯遺忘曲線:
|
||||
- **第1次複習**: 學習後1小時
|
||||
- **第2次複習**: 學習後1天
|
||||
- **第3次複習**: 學習後3天
|
||||
- **第4次複習**: 學習後7天
|
||||
- **第5次複習**: 學習後15天
|
||||
- **後續複習**: 每30天一次
|
||||
參考艾賓浩斯遺忘曲線:
|
||||
- 第1次成功: 1天後複習 (2¹ = 2天)
|
||||
- 第2次成功: 4天後複習 (2² = 4天)
|
||||
- 第3次成功: 8天後複習 (2³ = 8天)
|
||||
- 第4次成功: 16天後複習 (2⁴ = 16天)
|
||||
- 依此類推...
|
||||
|
||||
## 🏆 成就與獎勵系統
|
||||
|
||||
|
|
@ -97,34 +318,122 @@
|
|||
|
||||
### 獎勵機制
|
||||
| 成就等級 | 鑽石獎勵 | 經驗值獎勵 | 特殊獎勵 |
|
||||
|----------|----------|------------|----------|
|
||||
| 青銅 | 10鑽石 | 100 XP | 稱號 |
|
||||
| 白銀 | 25鑽石 | 250 XP | 頭像框 |
|
||||
| 黃金 | 50鑽石 | 500 XP | 特殊主題 |
|
||||
| 鉑金 | 100鑽石 | 1000 XP | 高級功能 |
|
||||
| -------- | -------- | ---------- | -------- |
|
||||
| 青銅 | 10鑽石 | 100 XP | 稱號 |
|
||||
| 白銀 | 25鑽石 | 250 XP | 稱號 |
|
||||
| 黃金 | 50鑽石 | 500 XP | 稱號 |
|
||||
| 鉑金 | 100鑽石 | 1000 XP | 稱號 |
|
||||
|
||||
## 🔐 權限控制系統
|
||||
## 🔐 用戶認證與權限系統
|
||||
|
||||
### 用戶角色
|
||||
### 🔑 用戶註冊與認證規則
|
||||
|
||||
#### BR-AUTH-01: 帳戶註冊規則
|
||||
```yaml
|
||||
規則名稱: 帳戶唯一性驗證
|
||||
適用範圍: 新用戶註冊
|
||||
技術實現:
|
||||
- 一個信箱地址只能註冊一個帳戶
|
||||
- Apple ID 和 Google 帳戶不能與已註冊信箱重複
|
||||
- 用戶名稱必須唯一且長度3-20字符
|
||||
- 不允許使用系統保留關鍵字作為用戶名
|
||||
驗證機制:
|
||||
- 註冊時即時檢查Email唯一性
|
||||
- 用戶名黑名單過濾
|
||||
- 第三方登入綁定檢查
|
||||
例外處理:
|
||||
- 管理員可手動合併重複帳戶
|
||||
- 用戶可透過客服申請帳戶刪除後重新註冊
|
||||
```
|
||||
|
||||
#### BR-AUTH-02: 密碼安全規則
|
||||
```yaml
|
||||
規則名稱: 密碼複雜度要求
|
||||
適用範圍: 所有密碼設定和更改
|
||||
技術實現:
|
||||
- 最小長度8字符,最大長度128字符
|
||||
- 必須包含大小寫字母和數字
|
||||
- 不能包含用戶名或常見弱密碼
|
||||
- bcrypt加密存儲,不可逆
|
||||
安全措施:
|
||||
- 連續5次錯誤輸入將鎖定帳戶15分鐘
|
||||
- 密碼重設連結24小時內有效
|
||||
- 密碼歷史記錄防止重複使用最近5組密碼
|
||||
- 90天後系統建議更換密碼
|
||||
```
|
||||
|
||||
#### BR-AUTH-03: 會話管理規則
|
||||
```yaml
|
||||
規則名稱: 用戶會話控制
|
||||
適用範圍: 用戶登入狀態管理
|
||||
技術實現:
|
||||
- 標準會話有效期為7天
|
||||
- JWT Token自動續期機制
|
||||
- 30天內無活動自動登出
|
||||
- 同一帳戶最多允許3個設備同時登入
|
||||
會話延長:
|
||||
- 付費用戶會話有效期延長至30天
|
||||
- 記住登入狀態最長可保持90天
|
||||
- 異地登入需要進行安全驗證
|
||||
```
|
||||
|
||||
### 👥 用戶角色分級系統
|
||||
|
||||
#### BR-USER-ROLES: 用戶角色定義
|
||||
```yaml
|
||||
規則名稱: 用戶等級與權益管理
|
||||
適用範圍: 所有用戶類別
|
||||
用戶角色定義:
|
||||
免費用戶 (FREE_USER):
|
||||
- 狀態: 默認用戶類型
|
||||
- 權益: 基礎學習功能、有限的學習次數
|
||||
- 限制: 每日3次對話練習、基礎詞庫
|
||||
試用用戶 (TRIAL_USER):
|
||||
- 期限: 7天免費體驗訂閱用戶權益
|
||||
- 權益: 完整功能體驗、無廣告、無限制學習
|
||||
- 轉換: 試用期結束後自動轉訂閱用戶(需手動取消)
|
||||
訂閱用戶 (SUBSCRIBER):
|
||||
- 定價: NT$600/月 或 NT$6,000/年
|
||||
- 權益: 無限制學習、進階統計報告、命條上限30個、每小時恢復3個命條
|
||||
- 特權: 每日3次免費限時挑戰、優先客服支援
|
||||
進階用戶 (PREMIUM_USER):
|
||||
- 階段: 第二階段功能開放後提供
|
||||
- 定價: NT$900/月 或 NT$9,000/年
|
||||
- 權益: 訂閱用戶所有功能 + 進階自訂學習功能 + 更優質學習體驗(TTS)
|
||||
- 特權: 命條上限50個、每小時恢復5個命條、專屬學習模式
|
||||
高價值用戶 (HIGH_VALUE_USER):
|
||||
- 階段: 第三階段功能開放後提供
|
||||
- 定義: 累計購買鑽石超過NT$3,000的用戶
|
||||
- 權益: VIP客服支援、專屬活動邀請、新功能優先體驗
|
||||
- 特權: 限定道具折扣、獲得限定道具、專屬客戶經理
|
||||
管理員 (ADMIN):
|
||||
- 權益: 系統管理、用戶管理、內容管理
|
||||
- 特權: 完整系統訪問權限、數據分析功能
|
||||
```
|
||||
|
||||
#### 用戶角色枚舉定義
|
||||
```typescript
|
||||
enum UserRole {
|
||||
FREE_USER = "free_user", // 免費用戶
|
||||
SUBSCRIBER = "subscriber", // 訂閱用戶
|
||||
ADMIN = "admin" // 管理員
|
||||
FREE_USER = "free_user", // 免費用戶
|
||||
TRIAL_USER = "trial_user", // 試用用戶 (7天)
|
||||
SUBSCRIBER = "subscriber", // 訂閱用戶
|
||||
PREMIUM_USER = "premium_user", // 進階用戶 (第2階段)
|
||||
HIGH_VALUE_USER = "high_value_user", // 高價值用戶 (第3階段)
|
||||
ADMIN = "admin" // 管理員
|
||||
}
|
||||
```
|
||||
|
||||
### 功能權限矩陣
|
||||
| 功能 | 免費用戶 | 訂閱用戶 | 管理員 |
|
||||
|------|----------|----------|---------|
|
||||
| 基礎對話練習 | 3次/日 | 無限制 | 無限制 |
|
||||
| 高級對話功能 | ❌ | ✅ | ✅ |
|
||||
| 詞彙學習 | 基礎詞庫 | 完整詞庫 | 完整詞庫 |
|
||||
| AI分析報告 | 簡化版 | 詳細版 | 完整版 |
|
||||
| 離線模式 | ❌ | ✅ | ✅ |
|
||||
| 數據匯出 | ❌ | ✅ | ✅ |
|
||||
| 管理功能 | ❌ | ❌ | ✅ |
|
||||
|
||||
| 功能 | 試用用戶 | 訂閱用戶 | 進階用戶 | 高價值用戶 | 管理員 |
|
||||
| ------------ | ----------- | -------- | -------- | ---------- | -------- |
|
||||
| 基礎對話練習 | 無限制(7天) | 無限制 | 無限制 | 無限制 | 無限制 |
|
||||
| 詞彙學習 | 完整詞庫 | 完整詞庫 | 完整詞庫 | 完整詞庫 | 完整詞庫 |
|
||||
| AI分析報告 | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 自訂學習功能 | ❌ | ❌ | ✅ | ✅ | ✅ |
|
||||
| 優質TTS體驗 | ❌ | ❌ | ✅ | ✅ | ✅ |
|
||||
| 命條恢復 | ✅ | ✅ | ✅+ | ✅++ | 無限 |
|
||||
| 口說練習關卡 | 消耗鑽石 | 消耗鑽石 | ✅ | ✅ | 無限 |
|
||||
| 管理功能 | ❌ | ❌ | ❌ | ❌ | ✅ |
|
||||
## ⚡ 防作弊機制
|
||||
|
||||
### 答題時間檢查
|
||||
|
|
@ -155,7 +464,114 @@ enum UserRole {
|
|||
- **貨幣顯示**: 根據用戶所在地區顯示本地貨幣
|
||||
- **時區處理**: 自動根據用戶時區調整時間顯示
|
||||
|
||||
## 📊 數據分析規則
|
||||
## 📺 簡化廣告系統
|
||||
|
||||
### 廣告展示策略
|
||||
```yaml
|
||||
規則名稱: 非強制性廣告獎勵系統
|
||||
適用範圍: 所有平台廣告展示
|
||||
展示策略:
|
||||
- 非強制性: 主要用於獲得額外鑽石獎勵
|
||||
- 獎勵導向: 觀看廣告獲得25-50鑽石
|
||||
- 頻率控制: 每日最多5次觀看,避免影響核心遊戲體驗
|
||||
- 品質篩選: 優先顯示教育和遊戲相關廣告
|
||||
廣告類型:
|
||||
- 鑽石獎勵廣告: 觀看30秒廣告獲得25-50鑽石
|
||||
- 命條恢復廣告: 觀看廣告恢復1個命條 (每日3次)
|
||||
- 道具試用廣告: 觀看廣告獲得道具試用機會
|
||||
技術實現:
|
||||
- 廣告SDK整合: AdMob、Unity Ads等
|
||||
- 廣告載入預處理: 避免用戶等待時間
|
||||
- 廣告完成驗證: 確保用戶完整觀看才給予獎勵
|
||||
```
|
||||
|
||||
## 🤝 社群互動系統
|
||||
|
||||
### 👥 好友系統規則
|
||||
|
||||
#### BR-SOCIAL-01: 好友關係管理
|
||||
```yaml
|
||||
規則名稱: 好友關係管理
|
||||
適用範圍: 所有社群互動功能
|
||||
技術實現:
|
||||
- 每個用戶最多可添加100個好友
|
||||
- 好友邀請有效期為7天
|
||||
- 雙方確認後建立好友關係
|
||||
- 可設定好友可見性(學習進度、排名等)
|
||||
互動限制:
|
||||
- 每日最多發送20個好友邀請
|
||||
- 拒絕好友邀請後30天內不可重複邀請
|
||||
- 刪除好友後48小時內不可重新添加
|
||||
- 封鎖用戶無法看到任何相關信息
|
||||
數據同步:
|
||||
- 好友狀態變更即時通知
|
||||
- 好友學習動態推送設定
|
||||
- 隱私設定優先級管理
|
||||
```
|
||||
|
||||
#### BR-SOCIAL-02: 排行榜規則
|
||||
```yaml
|
||||
規則名稱: 競爭排名計算
|
||||
適用範圍: 所有排行榜功能
|
||||
技術實現:
|
||||
- 排行榜分為好友榜、全球榜、地區榜
|
||||
- 每週一凌晨重置週排行榜
|
||||
- 每月1號重置月排行榜
|
||||
- 年度排行榜保持全年累積
|
||||
排名計算:
|
||||
- 主要依據: 遊玩關卡所獲得的經驗值
|
||||
- 相同分數按學習開始時間排序
|
||||
- 作弊或異常數據將被排除
|
||||
- 反作弊演算法實時監控
|
||||
顯示規則:
|
||||
- 顯示前100名和用戶周圍排名
|
||||
- 匿名用戶可選擇隱藏排名
|
||||
- 排名變化趨勢圖表顯示
|
||||
```
|
||||
|
||||
## 📊 數據分析與隱私保護
|
||||
|
||||
### 🔒 安全與隱私規則
|
||||
|
||||
#### BR-SEC-01: 數據隱私保護
|
||||
```yaml
|
||||
規則名稱: 用戶數據處理規範
|
||||
適用範圍: 所有用戶數據收集與使用
|
||||
技術實現:
|
||||
- 僅收集學習相關的必要數據
|
||||
- 用戶可隨時查看和下載個人數據
|
||||
- 帳戶刪除後90天內完全清除數據
|
||||
- 不與第三方分享個人識別信息
|
||||
數據加密:
|
||||
- 敏感數據採用AES-256加密
|
||||
- 傳輸過程使用HTTPS/TLS 1.3
|
||||
- 密碼使用bcrypt不可逆加密
|
||||
- 定期進行安全稽核和測試
|
||||
合規要求:
|
||||
- 符合GDPR、CCPA等隱私法規
|
||||
- 提供數據可攜帶權和被遺忘權
|
||||
- 定期隱私影響評估
|
||||
```
|
||||
|
||||
#### BR-SEC-02: 內容審核規則
|
||||
```yaml
|
||||
規則名稱: 用戶生成內容管理
|
||||
適用範圍: 所有用戶輸入和分享內容
|
||||
技術實現:
|
||||
- 禁止發布違法、暴力、色情內容
|
||||
- 禁止惡意攻擊或騷擾其他用戶
|
||||
- 禁止發布廣告或垃圾信息
|
||||
- 系統自動檢測+人工審核雙重把關
|
||||
審核機制:
|
||||
- AI內容識別系統24/7運行
|
||||
- 用戶舉報機制和快速回應
|
||||
- 內容分級和年齡適宜性檢查
|
||||
處置措施:
|
||||
- 輕微違規: 警告並刪除內容
|
||||
- 嚴重違規: 暫停帳戶1-30天
|
||||
- 極嚴重違規: 永久封禁帳戶
|
||||
- 申訴機制: 7天內可申請複審
|
||||
```
|
||||
|
||||
### 學習分析維度
|
||||
1. **學習效率**: 單位時間掌握詞彙數/對話完成數
|
||||
|
|
@ -163,19 +579,119 @@ enum UserRole {
|
|||
3. **學習偏好**: 用戶偏愛的學習模式和時間
|
||||
4. **難點識別**: 用戶容易犯錯的知識點
|
||||
|
||||
### 隱私保護
|
||||
### 隱私保護執行
|
||||
- **數據匿名化**: 個人識別信息在分析前移除
|
||||
- **本地計算**: 敏感數據優先在本地處理
|
||||
- **用戶同意**: 數據使用需要用戶明確同意
|
||||
- **數據保留**: 學習數據保留期限不超過2年
|
||||
|
||||
## 📱 技術限制與相容性
|
||||
|
||||
### 💻 平台相容性規則
|
||||
|
||||
#### BR-TECH-01: 設備支援標準
|
||||
```yaml
|
||||
規則名稱: 設備支援標準
|
||||
適用範圍: 所有平台版本
|
||||
技術實現:
|
||||
- iOS 12.0以上版本
|
||||
- Android 8.0以上版本
|
||||
- Chrome 80+, Safari 13+, Firefox 75+
|
||||
- 記憶體需求最低2GB
|
||||
硬體需求:
|
||||
- 儲存空間最低500MB可用空間
|
||||
- 網路連接要求穩定3G以上
|
||||
- 麥克風權限用於語音功能
|
||||
- 相機權限用於掃描功能(可選)
|
||||
功能降級:
|
||||
- 低配設備自動關閉視覺特效
|
||||
- 網路狀況差時啟用離線模式
|
||||
- 儲存空間不足時清理快取
|
||||
- 不支援的功能給予明確提示
|
||||
```
|
||||
|
||||
#### BR-TECH-02: 數據同步規則
|
||||
```yaml
|
||||
規則名稱: 跨設備數據同步
|
||||
適用範圍: 多設備用戶體驗
|
||||
技術實現:
|
||||
- 學習進度即時同步到雲端
|
||||
- 離線學習數據聯網時自動上傳
|
||||
- 數據衝突時以時間戳較新為準
|
||||
- 每日自動備份用戶數據
|
||||
同步頻率:
|
||||
- 學習完成後立即同步
|
||||
- 每10分鐘檢查一次更新
|
||||
- 應用啟動時強制同步一次
|
||||
- 網路恢復時補傳離線資料
|
||||
衝突解決:
|
||||
- 同步衝突優先保留本地較新數據
|
||||
- 關鍵學習數據採用合併策略
|
||||
- 提供手動解決衝突選項
|
||||
- 異常同步自動回滾機制
|
||||
```
|
||||
|
||||
#### BR-TECH-03: 效能監控規則
|
||||
```yaml
|
||||
規則名稱: 應用效能標準
|
||||
適用範圍: 所有平台和功能
|
||||
技術實現:
|
||||
- 應用啟動時間不超過3秒
|
||||
- 頁面切換響應時間不超過500ms
|
||||
- API請求超時設定為30秒
|
||||
- 記憶體使用監控和自動清理
|
||||
效能指標:
|
||||
- CPU使用率持續監控
|
||||
- 記憶體洩漏自動檢測
|
||||
- 網路請求成功率追蹤
|
||||
- 崩潰率控制在0.1%以下
|
||||
降級策略:
|
||||
- 效能不足時自動降低畫質
|
||||
- 網路慢時優先載入核心功能
|
||||
- 電量不足時減少背景處理
|
||||
- 儲存空間不足時清理暫存
|
||||
```
|
||||
|
||||
## 🔄 業務規則衝突處理
|
||||
|
||||
### 優先級管理
|
||||
1. **用戶安全和隱私** - 最高優先級
|
||||
2. **法律合規要求** - 法規優先於商業需求
|
||||
3. **付費用戶權益** - 既得權益保護
|
||||
4. **產品核心邏輯** - 學習機制一致性
|
||||
5. **用戶體驗優化** - 可動態調整項目
|
||||
|
||||
### 規則變更流程
|
||||
1. **影響評估** - 技術、用戶、商業三維度分析
|
||||
2. **合規審查** - 法務和隱私合規檢查
|
||||
3. **A/B測試** - 小範圍驗證變更影響
|
||||
4. **分階段實施** - 漸進式推出降低風險
|
||||
5. **監控回饋** - 實時監控和快速回應
|
||||
|
||||
---
|
||||
|
||||
**文檔狀態**: 🟢 已完成
|
||||
**最後更新**: 2025-09-09
|
||||
**版本**: v1.0
|
||||
**📝 備註**:
|
||||
- 本文檔已整合原有的 `business-logic-rules.md` 中的詳細實現規格
|
||||
- 統一了跨平台的業務規則和商業模式定義
|
||||
- 確保各平台開發團隊基於一致的業務邏輯進行實現
|
||||
|
||||
**🔄 整合完成內容**:
|
||||
- ✅ **鑽石貨幣系統**: 完整的獲得方式、消費管道和套餐設計
|
||||
- ✅ **道具商店系統**: 詳細的道具功能、定價和購買流程
|
||||
- ✅ **關卡結構系統**: 13階段學習路徑和解鎖機制
|
||||
- ✅ **雙重通關條件**: 劇情任務和指定詞彙的獎勵機制
|
||||
- ✅ **限時挑戰系統**: 300秒限時挑戰的商業化設計
|
||||
- ✅ **連續學習獎勵**: 天數追蹤和獎勵機制
|
||||
- ✅ **付費轉換優化**: 漸進式付費漏斗和動機設計
|
||||
- ✅ **訂閱服務簡化**: 7天免費體驗和可愛UI設計
|
||||
- ✅ **廣告系統**: 非強制性獎勵廣告策略
|
||||
|
||||
**文檔狀態**: 🟢 整合完成
|
||||
**最後更新**: 2025-09-10
|
||||
**版本**: v2.0 (已整合詳細業務邏輯)
|
||||
**相關文檔**:
|
||||
- `數據模型.md` - 數據結構定義
|
||||
- `API規格.md` - API接口設計
|
||||
- `mobile/` - 移動端功能規格
|
||||
- `web/` - Web端功能規格
|
||||
- **平台對應表**: [平台功能對應表.md](../平台功能對應表.md)
|
||||
- **數據模型**: [數據模型.md](./數據模型.md)
|
||||
- **API規格**: [API規格.md](./API規格.md)
|
||||
- **Mobile端規格**: [mobile/README.md](../mobile/README.md)
|
||||
- **Web端規格**: [web/README.md](../web/README.md)
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
# 語用分析系統規格 (Pragmatic Analysis System)
|
||||
|
||||
## 概述
|
||||
Drama Ling 應用中的語用分析系統,評估對話的內容理解和表達適切性。提供六維度語用標準評估,用於情境對話訓練、學習建議和溝通改善指導。
|
||||
|
||||
**注意**: 語用分析只提供建議,不進行評分,重點在於教學指導和溝通改善。
|
||||
|
||||
## 六維語用標準
|
||||
|
||||
### 1. 😊 日常寒暄 (Small Talk)
|
||||
- **定義**: 不以傳遞實質資訊為主要目的,而是用於建立或維持社交關係的言談
|
||||
- **用途**:
|
||||
- 建立對話氛圍與人際連結
|
||||
- 作為開場、轉場或緩和氣氛的策略
|
||||
- 在客服或 AI 助手中,用來提升「人性化」感
|
||||
|
||||
### 2. 🌀 間接表達 (Indirectness)
|
||||
- **定義**: 透過暗示、委婉語或迂迴方式表達意圖,避免直接衝突
|
||||
- **用途**:
|
||||
- 避免冒犯,維持人際和諧
|
||||
- 展現禮貌或文化上的尊重
|
||||
- 在跨文化溝通中,辨識不同社會的表達習慣
|
||||
|
||||
### 3. 🤔 填充語 (Fillers)
|
||||
- **定義**: 非必要詞語,用來填補語流空隙、保持連續或爭取思考時間
|
||||
- **用途**:
|
||||
- 提示對方「話還沒說完」
|
||||
- 增加口語自然度(模擬真實對話)
|
||||
- 作為語音辨識或對話系統的特徵,用於偵測自然口語
|
||||
|
||||
### 4. 🙆 同理回應 (Backchanneling)
|
||||
- **定義**: 聽話者以簡短語言或聲音表達注意、理解或支持,不打斷主要話輪
|
||||
- **用途**:
|
||||
- 提供傾聽與理解的訊號,維持互動流暢
|
||||
- 增強情感支持與共鳴
|
||||
- 在對話系統中,提升使用者「被理解」的感受
|
||||
|
||||
### 5. 🤷 模糊語 (Hedging)
|
||||
- **定義**: 降低語氣確定性,避免過度斷言的語言策略
|
||||
- **用途**:
|
||||
- 顯示謹慎,降低爭議風險
|
||||
- 表達禮貌,避免武斷或冒犯
|
||||
- 在學術或專業語境中,用來維持客觀或彈性
|
||||
|
||||
### 6. 🐉 文化慣用語 (Idioms)
|
||||
- **定義**: 文化群體中固定的表達方式,通常無法逐字翻譯
|
||||
- **用途**:
|
||||
- 增加語言的自然性與文化深度
|
||||
- 強化群體認同感
|
||||
- 作為語言學習與跨文化理解的重要素材
|
||||
|
||||
## 語用評分範例
|
||||
|
||||
```
|
||||
--- Dialogue
|
||||
|
||||
👨(Client):How is Mr. Davies feeling about our upcoming meeting?
|
||||
|
||||
👨(Business Professional):Wow, you know what he is very anxious to meet you
|
||||
|
||||
The client is responding to the business professional's statement about Mr. Davies being anxious to meet him. He acknowledges the information and expresses his own anticipation for the meeting, maintaining a professional and engaged tone....
|
||||
|
||||
👨(Client):Anxious, you say? That's good to hear. I'm looking forward to it as well.
|
||||
|
||||
--- Overall Comment
|
||||
|
||||
【分數】:✅ 通過
|
||||
【評論】:客戶在本次對話中展現了良好的專業溝通能力。他能夠清晰、直接地回應對方的信息,並有效使用附和語來維持對話的參與感。
|
||||
【建議】:建議客戶在未來的對話中,根據情境需要,可以考慮適度運用間接表達和模糊語,以增加語氣的彈性與委婉度,尤其是在面對敏感話題或需要更細緻溝通的場合。持續保持積極的傾聽和回應,將有助於建立更良好的互動關係。
|
||||
|
||||
--- Intent Achievement Evaluation
|
||||
|
||||
🌍 Scenario:
|
||||
A professional setting where a person is informing another about a third party's eagerness to meet them, possibly before an introduction or a significant meeting. The man in the suit suggests a formal context.
|
||||
|
||||
🎯 Intent:
|
||||
Inform about someone's eagerness to meet.
|
||||
|
||||
🎯 是否實踐意圖:
|
||||
|
||||
【分數】:Yes
|
||||
【評論】:客戶成功地表達了對對方所提供信息的理解,並明確傳達了他對即將到來的會議的期待。
|
||||
【建議】:意圖已完全達成,表現良好,無需改進。
|
||||
|
||||
--- Pragmatic Evaluation
|
||||
|
||||
😊 日常寒暄 (Small Talk)
|
||||
|
||||
【分數】:4分
|
||||
【評論】:客戶的應答簡潔專業,直接表達了對會面的期待,符合商務情境。
|
||||
【建議】:在此情境下,客戶的表現良好,無需特別改進。如果想在開場時增加一點點寒暄,可以簡短地說 "It's a pleasure to finally connect, I hear great things."
|
||||
|
||||
🌀 間接表達 (Indirectness)
|
||||
|
||||
【分數】:0分
|
||||
【評論】:客戶的回應直接且清晰,沒有使用間接表達。在此情境下,直接性是可接受的,因此此項得分0分並非表示表現不佳,而是因為間接表達在此情境中並非必要且客戶未採用。
|
||||
【建議】:如果想讓語氣更委婉或在某些情況下顯得更為謹慎,可以使用間接句型,例如 "I appreciate you sharing that. It sounds like he's quite keen, and I share that sentiment." 或 "It's certainly encouraging to hear his eagerness; I'm equally enthusiastic."
|
||||
|
||||
🤔 填充語 (Fillers)
|
||||
|
||||
【分數】:0分
|
||||
【評論】對話中沒有使用語氣詞。在此情境下,不使用語氣詞保持了專業和清晰度。此項得分0分,因其在本次對話中屬於非必要項目且未被使用。
|
||||
【建議】:保持清晰流暢的表達是良好的習慣。若未來在需要思考或組織語言時,可適度使用一些無害的填充詞如 "Well," 或 "You know," 來避免冷場,但應避免過度使用。例如:"Well, that's good to hear. I'm looking forward to it as well."
|
||||
|
||||
🙆 同理回應 (Backchanneling)
|
||||
|
||||
【分數】:5分
|
||||
【評論】:客戶有效地使用了附和語 "Anxious, you say?",這表明他專注於對話並確認了對方提供的信息,有助於維持對話的流暢性與參與感。
|
||||
【建議】:繼續保持這種積極的傾聽和回應。在其他情況下,也可以使用 "I see what you mean," "Right," 或 "Exactly," 等來表示理解和附和。
|
||||
|
||||
🤷 模糊語 (Hedging)
|
||||
|
||||
【分數】:2分
|
||||
【評論】:客戶的表達比較直接,沒有使用模糊語來軟化語氣或預留彈性。在這種專業且直接的語境下,雖然直接表達沒問題,但適度的模糊語可以使語氣更溫和或為未來討論留下空間。
|
||||
【建議】:在某些情境下,尤其是在討論尚未確定的事項或表達個人看法時,適當使用模糊語(hedging)可以讓語氣更委婉,避免過於武斷。例如,可以說 "I suppose that's good to hear" 或 "I'm certainly looking forward to it as well, assuming everything goes according to plan."
|
||||
|
||||
🐉 文化慣用語 (Idioms)
|
||||
|
||||
【分數】:0分
|
||||
【評論】:對話中沒有使用慣用語。在正式的商務場合,避免使用過多的慣用語有助於保持溝通的清晰度,尤其是在面對不同文化背景的對話者時。此項得分0分,因其在本次對話中屬於非必要項目且未被使用。
|
||||
【建議】:在正式場合,直接清晰的表達比慣用語更受青睞。如果希望增加語言的豐富性,可以在非正式場合適度使用,但務必確保對方能理解。
|
||||
```
|
||||
|
||||
## 技術實現
|
||||
|
||||
### 分析引擎
|
||||
- [ ] **即時分析**: 用戶說出的每句話都進行即時語用判斷
|
||||
- [ ] **語用建議生成**: 當用戶點擊對話查看語用建議,生成對應建議
|
||||
- [ ] **情境適應性**: 根據對話場景調整語用評估標準
|
||||
- [ ] **文化背景考量**: 辨識不同文化的表達習慣和語用規範
|
||||
|
||||
### 意圖分析系統
|
||||
- [ ] **情境識別**: 自動識別對話的情境和背景
|
||||
- [ ] **意圖解析**: 分析對話雙方的溝通意圖
|
||||
- [ ] **完成度評估**: 判斷意圖是否成功傳達和達成
|
||||
- [ ] **改善建議**: 提供具體的溝通改善方向
|
||||
|
||||
### 輸出格式
|
||||
- [ ] **整體評論**: 通過/不通過 + 綜合評論和建議
|
||||
- [ ] **意圖達成評估**: 情境分析 + 意圖識別 + 完成狀態
|
||||
- [ ] **六維詳細分析**: 每維度的評分、評論和具體改善建議
|
||||
- [ ] **實用建議**: 提供可行的替代表達方式和溝通策略
|
||||
|
||||
## 應用場景
|
||||
|
||||
### 情境對話訓練
|
||||
- 對話結束後提供語用建議
|
||||
- 幫助用戶理解不同語用策略的使用時機
|
||||
|
||||
### 回覆輔助系統
|
||||
- 分析對方話語的意圖
|
||||
- 提供合適的回應策略建議
|
||||
|
||||
### 學習反饋系統
|
||||
- 識別用戶的語用弱點
|
||||
- 提供個性化的學習建議
|
||||
|
||||
### 文化理解教學
|
||||
- 解釋不同文化背景下的語用差異
|
||||
- 培養跨文化溝通能力
|
||||
|
||||
## 品質控制
|
||||
|
||||
### 分析準確性
|
||||
- [ ] **語境理解測試**: 驗證系統對不同情境的識別能力
|
||||
- [ ] **文化適應性**: 確保建議符合目標文化的語用規範
|
||||
- [ ] **建議實用性**: 測試建議的可操作性和有效性
|
||||
|
||||
### 用戶體驗
|
||||
- [ ] **建議清晰度**: 確保語用建議易於理解和實施
|
||||
- [ ] **個性化程度**: 根據用戶水平調整建議的深度和複雜度
|
||||
- [ ] **學習效果**: 追蹤語用建議對用戶溝通能力的改善效果
|
||||
|
||||
---
|
||||
|
||||
**最後更新**: 2025-09-11 - 獨立拆分語用分析系統規格
|
||||
**版本**: 1.0 - 初版:從AI算法規格中獨立模組化
|
||||
**維護者**: Drama Ling 開發團隊
|
||||
|
|
@ -0,0 +1,257 @@
|
|||
# 線性闖關學習系統規格 (Progressive Stage System)
|
||||
|
||||
## 概述
|
||||
Drama Ling 的核心闖關學習機制,採用線性順序闖關設計,確保用戶循序漸進地掌握語言技能。每個劇本包含4個必須順序完成的關卡,形成完整的學習閉環。
|
||||
|
||||
## 📚 闖關架構
|
||||
|
||||
### 三層架構設計
|
||||
```
|
||||
13個階段 (Stage)
|
||||
├── 每階段 20+ 劇本 (Script)
|
||||
│ ├── 第1關:詞彙學習 (Vocabulary Learning)
|
||||
│ ├── 第2關:詞彙熟悉 (Vocabulary Mastery)
|
||||
│ ├── 第2+關:口說練習特別關卡 (Speaking Practice Bonus)
|
||||
│ └── 第3關:情境對話 (Situational Dialogue)
|
||||
```
|
||||
|
||||
### 關卡順序與依賴關係
|
||||
1. **第1關:詞彙學習** → 解鎖第2關
|
||||
2. **第2關:詞彙熟悉** → 解鎖第2+關和第3關
|
||||
3. **第2+關:口說練習** → 可跳過的付費特別關卡
|
||||
4. **第3關:情境對話** → 解鎖下一劇本第1關
|
||||
|
||||
### 特別關卡機制
|
||||
- **第2+關可跳過**: 完成第2關後可直接進入第3關,無需通過口說練習
|
||||
- **付費特別體驗**: 口說練習為可選的付費強化訓練
|
||||
- **獨立獎勵系統**: 不影響主線闖關進度,但提供額外學習價值
|
||||
|
||||
## 🎮 主線+特別關卡機制
|
||||
|
||||
### 第1關:詞彙學習 (Vocabulary Learning)
|
||||
**功能目的**: 學習劇本相關的5個核心詞彙
|
||||
**關卡類型**: 免費關卡
|
||||
|
||||
#### 關卡內容
|
||||
- [ ] **詞彙展示**: 顯示詞彙、詞義、例句、示意圖
|
||||
- [ ] **選擇題測試**: 根據示意圖選擇正確詞彙 (4選1)
|
||||
- [ ] **錯誤重測**: 答錯的題目在最後重新測試
|
||||
|
||||
#### 通關條件
|
||||
- **基本要求**: 所有詞彙題目都答對
|
||||
- **獎勵標準**: 通關自動獲得3顆星
|
||||
- **資源消耗**: 完全免費,答錯扣1命條
|
||||
- **解鎖效果**: 開啟第2關
|
||||
|
||||
#### 詞彙組合設計
|
||||
每個劇本包含5個詞彙:
|
||||
- 3個常用單字
|
||||
- 1個常用片語
|
||||
- 1個常用俚語
|
||||
|
||||
**範例組合**:
|
||||
- 買菜小冒險: market, vegetables, price + "ask for a discount" + "a steal"
|
||||
- 遲到的咖啡約會: coffee, late, apologize + "run into traffic" + "my bad"
|
||||
|
||||
### 第2關:詞彙熟悉 (Vocabulary Mastery)
|
||||
**功能目的**: 加深詞彙理解,訓練語境應用能力
|
||||
**關卡類型**: 免費關卡
|
||||
|
||||
#### 關卡內容
|
||||
- [ ] **例句重組**: 從單字選取區組出示意圖的原句
|
||||
- [ ] **詞彙配對**: 左邊示意圖與右邊詞彙進行配對
|
||||
- [ ] **語法結構訓練**: 強化詞彙在句子中的使用
|
||||
|
||||
#### 通關條件
|
||||
- **基本要求**: 所有配對和重組都正確
|
||||
- **獎勵標準**: 通關自動獲得3顆星
|
||||
- **資源消耗**: 完全免費,答錯扣1命條
|
||||
- **解鎖效果**: 開啟第3關
|
||||
|
||||
### 第2+關:口說練習特別關卡 (Speaking Practice Bonus)
|
||||
**功能目的**: 針對詞彙進行發音和流暢度訓練
|
||||
**關卡類型**: 付費特別關卡 (5鑽石)
|
||||
**特別機制**: 唯一可跳過的關卡,不影響主線闖關進度
|
||||
|
||||
#### 關卡內容
|
||||
- [ ] **詞彙例句朗讀**: 逐一展示詞彙例句,用戶朗讀
|
||||
- [ ] **五維口說評分**: 使用 [口說評分系統](./speaking-evaluation-specs.md)
|
||||
- [ ] **即時發音反饋**: 每個詞彙提供詳細改善建議
|
||||
|
||||
#### 通關條件與獎勵
|
||||
- **通關條件**: 所有詞彙例句平均分數≥70分
|
||||
- **獎勵階梯**:
|
||||
- 70-79分:1鑽石 + 10XP (回收部分成本)
|
||||
- 80-89分:3鑽石 + 10XP (略有虧損但有進步)
|
||||
- 90-100分:5鑽石 + 20XP (獲利且大幅經驗值)
|
||||
- **解鎖效果**: 開啟第3關
|
||||
|
||||
#### 學習價值
|
||||
- **發音精進**: 針對特定詞彙的精確發音訓練
|
||||
- **記憶強化**: 透過語音輸出深化詞彙印象
|
||||
- **個性化指導**: 基於五維評分的具體改善建議
|
||||
|
||||
### 第3關:情境對話 (Situational Dialogue)
|
||||
**功能目的**: 在真實情境中綜合應用所學詞彙和語言技能
|
||||
**關卡類型**: 免費關卡
|
||||
|
||||
#### 關卡內容
|
||||
- [ ] **AI角色對話**: 與AI角色進行劇本情境對話
|
||||
- [ ] **雙重任務系統**: 完成劇情意圖 + 使用指定詞彙
|
||||
- [ ] **即時分析反饋**: 語法、口說、語用三維度分析
|
||||
|
||||
#### 通關條件
|
||||
- **基本通關**: 所有意圖任務≥50%完成 + 所有詞彙至少提及一次
|
||||
- **星星獲得**:
|
||||
- ⭐ 任務星:所有意圖任務100%完成
|
||||
- ⭐ 語法星:語法錯誤率 = 0
|
||||
- ⭐ 口說星:口說平均分數 > 80
|
||||
- **資源消耗**: 免費進入,失敗扣1命條
|
||||
- **解鎖效果**: 開啟下一劇本第1關
|
||||
|
||||
## 🔒 關卡解鎖機制
|
||||
|
||||
### 順序解鎖規則
|
||||
1. **劇本內順序**: 第1關 → 第2關 → (第2+關) → 第3關
|
||||
2. **劇本間順序**: 完成第3關才能進入下一劇本
|
||||
3. **階段解鎖**: 完成本階段所有劇本才能進入下一階段
|
||||
4. **不可跳關**: 除第2+關外,其他關卡都必須按順序完成
|
||||
|
||||
### 關卡狀態管理
|
||||
- **🔒 鎖定狀態**: 前置條件未滿足,顯示解鎖要求
|
||||
- **⏳ 可進行狀態**: 前置條件滿足,可以開始挑戰
|
||||
- **🔄 進行中狀態**: 關卡已開始但未完成
|
||||
- **✅ 已完成狀態**: 關卡已通關,顯示獲得星數
|
||||
|
||||
### 進度保存機制
|
||||
- [ ] **自動保存**: 每關完成後立即保存進度
|
||||
- [ ] **斷點續玩**: 關卡中途離開可從斷點繼續
|
||||
- [ ] **雲端同步**: 跨設備進度同步
|
||||
- [ ] **回滾保護**: 防止進度意外丟失
|
||||
|
||||
## 💎 資源管理系統
|
||||
|
||||
### 命條系統 (Life System)
|
||||
> 詳細規格請參閱 → **[共同業務規則 - 命條系統](./business-rules.md#🎮-命條系統-life-points-system)**
|
||||
|
||||
- **消耗機制**: 所有關卡在啟動時消耗1個命條(除第2+關)
|
||||
- **用戶等級差異**: 不同用戶等級擁有不同的命條上限和恢復速度
|
||||
- **額外懲罰**: 對話辱罵情形額外扣除3個命條
|
||||
|
||||
### 鑽石消耗
|
||||
- **第2+關口說練習**: 固定消耗5鑽石
|
||||
- **輔助工具**: 情境對話中的回覆協助功能
|
||||
- **加速道具**: 命條回復加速、關卡重置等
|
||||
|
||||
## 🎯 學習進度追蹤
|
||||
|
||||
### 階段進度指標
|
||||
- **完成劇本數**: 當前階段已完成的劇本數量
|
||||
- **總關卡數**: 階段內所有關卡的完成情況
|
||||
- **星級統計**: 各類型關卡獲得的星級總數
|
||||
- **學習時間**: 累計學習時間和平均關卡耗時
|
||||
|
||||
### 個人成就系統
|
||||
- **連續學習天數**: 每日至少完成1個關卡
|
||||
- **完美通關**: 單劇本4關全部獲得滿星
|
||||
- **詞彙大師**: 口說練習關卡高分通關
|
||||
- **對話專家**: 情境對話獲得三星
|
||||
|
||||
## 🔄 特殊機制
|
||||
|
||||
### 時光關卡系統
|
||||
**觸發條件**: 使用時光卷道具
|
||||
**關卡來源**:
|
||||
1. 優先選擇前階段未玩過的對話訓練關卡
|
||||
2. 若都玩過則隨機選擇對話訓練關卡
|
||||
|
||||
**獎勵機制**:
|
||||
- 成功通關照常獲得星級和經驗值
|
||||
- 詞彙自動加入複習清單
|
||||
- 不影響正常闖關進度
|
||||
|
||||
### 複習系統整合
|
||||
- [ ] **自動加入**: 每關完成後詞彙自動加入複習清單
|
||||
- [ ] **間隔算法**: 基於遺忘曲線的智慧複習排程
|
||||
- [ ] **複習形式**: 以詞彙熟悉關卡形式進行
|
||||
- [ ] **進度維護**: 複習不影響主線闖關進度
|
||||
|
||||
## 📊 數據追蹤需求
|
||||
|
||||
### 關卡表現數據
|
||||
- 每關完成時間、嘗試次數、最終星級
|
||||
- 詞彙學習的錯誤分布和改善軌跡
|
||||
- 口說練習的五維評分趨勢
|
||||
- 情境對話的意圖完成率和語用表現
|
||||
|
||||
### 學習行為分析
|
||||
- 關卡間停留時間和跳離率
|
||||
- 資源消耗模式和付費轉換率
|
||||
- 輔助功能使用頻率和效果
|
||||
- 長期學習留存和成就解鎖
|
||||
|
||||
## 🚀 技術實現要點
|
||||
|
||||
### 前端狀態管理
|
||||
- [ ] **關卡狀態樹**: 階段→劇本→關卡的嵌套狀態管理
|
||||
- [ ] **解鎖邏輯**: 前置條件檢查和UI狀態更新
|
||||
- [ ] **進度可視化**: 進度條、解鎖動畫、成就提示
|
||||
- [ ] **離線支持**: 關卡數據本地快取和同步機制
|
||||
|
||||
### 後端架構需求
|
||||
- [ ] **進度服務**: 用戶闖關進度的CRUD操作
|
||||
- [ ] **解鎖服務**: 關卡解鎖條件驗證和狀態更新
|
||||
- [ ] **統計服務**: 學習數據收集和分析報告
|
||||
- [ ] **同步服務**: 多端進度同步和衝突解決
|
||||
|
||||
### 數據庫設計
|
||||
```sql
|
||||
-- 用戶闖關進度表
|
||||
user_stage_progress (
|
||||
user_id, stage_id, script_id, level_type,
|
||||
status, stars, completion_time, attempts
|
||||
)
|
||||
|
||||
-- 關卡解鎖狀態表
|
||||
level_unlock_status (
|
||||
user_id, stage_id, script_id, level_type,
|
||||
is_unlocked, unlock_time, prerequisites_met
|
||||
)
|
||||
|
||||
-- 學習統計表
|
||||
learning_analytics (
|
||||
user_id, date, levels_completed,
|
||||
stars_earned, time_spent, resources_used
|
||||
)
|
||||
```
|
||||
|
||||
## 📝 開發檢查清單
|
||||
|
||||
### 核心功能實現
|
||||
- [ ] 三關+特別關卡闖關邏輯
|
||||
- [ ] 關卡狀態管理和UI更新
|
||||
- [ ] 進度保存和加載機制
|
||||
- [ ] 資源消耗和獎勵分發
|
||||
- [ ] 解鎖條件驗證
|
||||
|
||||
### 用戶體驗優化
|
||||
- [ ] 清楚的進度指示和引導
|
||||
- [ ] 流暢的關卡間切換動畫
|
||||
- [ ] 直觀的鎖定狀態說明
|
||||
- [ ] 及時的成就和獎勵反饋
|
||||
|
||||
### 性能和穩定性
|
||||
- [ ] 大量關卡數據的載入優化
|
||||
- [ ] 進度同步的錯誤恢復機制
|
||||
- [ ] 關卡切換的內存管理
|
||||
- [ ] 離線模式的數據一致性
|
||||
|
||||
---
|
||||
|
||||
**最後更新**: 2025-09-11 - 建立線性闖關學習系統規格
|
||||
**版本**: 1.0 - 初版:四關闖關機制設計
|
||||
**維護者**: Drama Ling 開發團隊
|
||||
**相關文檔**:
|
||||
- [口說評分系統](./speaking-evaluation-specs.md)
|
||||
- [語用分析系統](./pragmatic-analysis-specs.md)
|
||||
- [AI算法規格](./ai-algorithm-specs.md)
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
# 口說評分系統規格 (Speaking Evaluation System)
|
||||
|
||||
## 概述
|
||||
Drama Ling 應用中的口說評分系統,提供五維度的語音表達評估,適用於對話訓練、詞彙學習、發音練習等多個功能模組。
|
||||
|
||||
## 核心評分維度
|
||||
|
||||
### 五維度評分系統
|
||||
- 🗣️ **發音評分 (Pronunciation)**: 音素準確度、尾音收口、鼻音共鳴
|
||||
- ✅ **完整度評分 (Completeness)**: 句子完整性、遺漏詞彙檢測
|
||||
- 📈 **流暢度評分 (Fluency)**: 語速自然度、停頓合理性
|
||||
- 🎶 **韻律評分 (Prosody)**: 語調變化、重音位置、節奏感
|
||||
- 🎯 **準確度評分 (Accuracy)**: 整體表達精準度
|
||||
|
||||
### 分數標準
|
||||
- **96~100**:完美
|
||||
- **81~95**:優秀
|
||||
- **71~80**:尚可
|
||||
- **0~70**:不合格
|
||||
|
||||
### 獎勵機制
|
||||
- **96~100**:+3 鑽石 + 30 XP
|
||||
- **81~95**:+2 鑽石 + 20 XP
|
||||
- **71~80**:+1 鑽石 + 10 XP
|
||||
- **0~70**:時光卷
|
||||
|
||||
## 評分顯示範例
|
||||
|
||||
```
|
||||
📊 Speaking Score
|
||||
|
||||
【Sentence】91.9分:
|
||||
Please make sure you have all the necessary documents before submitting your application.
|
||||
|
||||
🗣️ Pronunciation:91.9
|
||||
📈 Fluency:97
|
||||
🎶 Prosody:83.3
|
||||
✅ Completeness:100
|
||||
🎯 Accuracy:96
|
||||
|
||||
【單字需要加強❌】
|
||||
application ⭐⭐:
|
||||
🟡 n
|
||||
|
||||
【建議改善】
|
||||
• 🔚 尾音收口明確(-m, -n, -l, -k, -t),避免吞音。
|
||||
🎯 針對音素練習:n
|
||||
🤧 鼻音(m/n/ŋ):軟顎下放,確保鼻腔共鳴與口型到位。
|
||||
```
|
||||
|
||||
## 技術實現
|
||||
|
||||
### 語音處理系統
|
||||
- [ ] **語音轉文字**: 以語音輸入為主,文字輸入為輔的對話方式
|
||||
- [ ] **中文檢測**: 當用戶講中文或輸入中文時,角色表示聽不懂
|
||||
- [ ] **語音品質檢測**: 如果聽不到聲音,顯示「抱歉,好像沒有聲音,請重新錄製」
|
||||
- [ ] **表達流暢度分析**: 使用Speakace等第三方平台分析精準度、流利度、韻律
|
||||
|
||||
### 核心技術需求
|
||||
- [ ] **AI 服務選擇**: 確定主要 AI 模型供應商
|
||||
- [ ] **評分算法**: 建立五維度評分的具體邏輯
|
||||
- [ ] **即時反饋系統**: 目標響應時間 < 2秒
|
||||
- [ ] **成就觸發機制**: 於遊戲結束時,自動檢測並發放對應獎勵
|
||||
- [ ] **性能優化**: 確保響應時間穩定
|
||||
|
||||
### 品質控制
|
||||
- [ ] **準確性測試**: 驗證評分結果的一致性
|
||||
- [ ] **用戶體驗**: 確保獎勵系統運作順暢
|
||||
- [ ] **資料隱私**: 基本的用戶資料保護
|
||||
|
||||
## 應用場景
|
||||
|
||||
### 情境對話訓練
|
||||
- 即時評分每句對話的口說表現
|
||||
- 結算時提供詳細的改善建議
|
||||
|
||||
### 詞彙學習口說關卡
|
||||
- 評估詞彙例句的發音準確度
|
||||
- 消耗5鑽石進行口說評分訓練
|
||||
|
||||
### 發音練習功能
|
||||
- 針對特定音素提供專項練習
|
||||
- 追蹤發音改善進度
|
||||
|
||||
### AI訂正系統
|
||||
- 表達不順的句子重錄和練習
|
||||
- 透過重複練習提升表達流暢度
|
||||
|
||||
---
|
||||
|
||||
**最後更新**: 2025-09-11 - 獨立拆分口說評分系統規格
|
||||
**版本**: 1.0 - 初版:從AI算法規格中獨立模組化
|
||||
**維護者**: Drama Ling 開發團隊
|
||||
|
|
@ -18,17 +18,17 @@
|
|||
- [ ] **即時回饋**: 提供即時的視覺和互動回饋
|
||||
- [ ] **個人化體驗**: 基於用戶偏好和程度調整介面
|
||||
- [ ] **無障礙設計**: 確保不同能力用戶都能順利使用
|
||||
- [ ] **智慧輔助** *(新增)*: 在適當時機提供非侵入性的學習輔助
|
||||
- [ ] **漸進引導** *(新增)*: 從輔助學習逐步過渡到獨立表達
|
||||
- [ ] **雙重任務可視化** *(新增)*: 清晰展示劇情任務和詞彙要求的完成狀態
|
||||
- [ ] **時間壓力管理** *(新增)*: 300秒限時挑戰的直觀計時和警告系統
|
||||
- [ ] **即時成就反饋** *(新增)*: 任務完成和詞彙使用的立即慶祝動畫
|
||||
- [ ] **開場對話體驗** *(新增)*: 4-8句開場對話的漸進顯示效果
|
||||
- [ ] **語音優先設計** *(新增)*: 以語音輸入為主、文字輸入為輔的交互設計
|
||||
- [ ] **即時語法反饋** *(新增)*: 每句話的語法正確性即時顯示於對話功能欄
|
||||
- [ ] **詞彙學習流程** *(新增)*: 詞彙展示→選擇題→例句重組→配對練習的漸進式學習
|
||||
- [ ] **命條生命系統** *(新增)*: 直觀的生命值顯示和消耗反饋
|
||||
- [ ] **間隔複習提醒** *(新增)*: 智慧提醒用戶進行詞彙複習的時機
|
||||
- [ ] **智慧輔助** : 在適當時機提供非侵入性的學習輔助
|
||||
- [ ] **漸進引導** : 從輔助學習逐步過渡到獨立表達
|
||||
- [ ] **雙重任務可視化** : 清晰展示劇情任務和詞彙要求的完成狀態
|
||||
- [ ] **時間壓力管理** : 300秒對話挑戰的直觀計時和警告系統
|
||||
- [ ] **即時成就反饋** : 任務完成和詞彙使用的立即慶祝動畫
|
||||
- [ ] **開場對話體驗** : 4-8句開場對話的漸進顯示效果
|
||||
- [ ] **語音優先設計** : 以語音輸入為主、文字輸入為輔的交互設計
|
||||
- [ ] **即時語法反饋** : 每句話的語法正確性即時顯示於對話功能欄
|
||||
- [ ] **詞彙學習流程** : 詞彙展示→選擇題→例句重組→配對練習的漸進式學習
|
||||
- [ ] **命條生命系統** : 直觀的生命值顯示和消耗反饋
|
||||
- [ ] **間隔複習提醒** : 智慧提醒用戶進行詞彙複習的時機
|
||||
|
||||
## 視覺設計系統
|
||||
|
||||
|
|
@ -0,0 +1,779 @@
|
|||
# Drama Ling 完整用戶流程圖
|
||||
|
||||
**文檔名稱**: 基於現行規格的完整用戶流程設計
|
||||
**建立日期**: 2025-09-10
|
||||
**基於規格**: `/docs/02_design/function-specs/` 完整規格
|
||||
**涵蓋平台**: Mobile App + Web App
|
||||
|
||||
## 🎯 總體用戶流程概覽
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
START([用戶訪問應用]) --> AUTH_CHECK{已登入?}
|
||||
|
||||
AUTH_CHECK -->|否| AUTH_FLOW[認證流程]
|
||||
AUTH_CHECK -->|是| MAIN_APP[主應用程序]
|
||||
|
||||
AUTH_FLOW --> REGISTER[註冊流程]
|
||||
AUTH_FLOW --> LOGIN[登入流程]
|
||||
AUTH_FLOW --> FORGOT[忘記密碼]
|
||||
|
||||
REGISTER --> PROFILE_SETUP[個人資料設定]
|
||||
LOGIN --> MAIN_APP
|
||||
FORGOT --> RESET_PASSWORD[密碼重設]
|
||||
|
||||
PROFILE_SETUP --> ONBOARDING[新手引導]
|
||||
RESET_PASSWORD --> LOGIN
|
||||
|
||||
ONBOARDING --> MAIN_APP
|
||||
|
||||
MAIN_APP --> LEARNING_MAP[學習地圖]
|
||||
MAIN_APP --> VOCAB[詞彙學習]
|
||||
MAIN_APP --> DIALOGUE[情境對話]
|
||||
MAIN_APP --> SHOP[道具商店]
|
||||
MAIN_APP --> PROFILE[個人資料]
|
||||
|
||||
style START fill:#e1f5fe
|
||||
style MAIN_APP fill:#c8e6c9
|
||||
style AUTH_FLOW fill:#fff3e0
|
||||
style LEARNING_MAP fill:#f3e5f5
|
||||
style VOCAB fill:#e8f5e8
|
||||
style DIALOGUE fill:#fff9c4
|
||||
style SHOP fill:#fce4ec
|
||||
```
|
||||
|
||||
## 🔐 用戶認證流程
|
||||
|
||||
### 完整認證流程圖
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
LANDING[Landing Page] --> LOGIN_CHOICE{選擇登入方式}
|
||||
|
||||
LOGIN_CHOICE -->|新用戶| REGISTER_START[開始註冊]
|
||||
LOGIN_CHOICE -->|舊用戶| LOGIN_START[開始登入]
|
||||
LOGIN_CHOICE -->|第三方| OAUTH[第三方認證]
|
||||
|
||||
%% 註冊流程
|
||||
REGISTER_START --> EMAIL_INPUT[輸入Email]
|
||||
EMAIL_INPUT --> EMAIL_VERIFY[Email驗證]
|
||||
EMAIL_VERIFY --> PASSWORD_SET[設定密碼]
|
||||
PASSWORD_SET --> PROFILE_INFO[基本資料]
|
||||
PROFILE_INFO --> LEARNING_LEVEL[學習程度設定]
|
||||
LEARNING_LEVEL --> TRIAL_OFFER[試用方案選擇]
|
||||
|
||||
%% 登入流程
|
||||
LOGIN_START --> CREDENTIALS[輸入帳密]
|
||||
CREDENTIALS --> LOGIN_VERIFY[驗證登入]
|
||||
LOGIN_VERIFY -->|成功| CHECK_SUBSCRIPTION[檢查訂閱狀態]
|
||||
LOGIN_VERIFY -->|失敗| LOGIN_ERROR[登入錯誤處理]
|
||||
LOGIN_ERROR --> FORGOT_PASSWORD[忘記密碼?]
|
||||
|
||||
%% 第三方登入
|
||||
OAUTH --> OAUTH_VERIFY[第三方驗證]
|
||||
OAUTH_VERIFY --> ACCOUNT_LINK[帳戶關聯]
|
||||
|
||||
%% 最終導向
|
||||
TRIAL_OFFER --> WELCOME_SCREEN[歡迎頁面]
|
||||
CHECK_SUBSCRIPTION --> WELCOME_SCREEN
|
||||
ACCOUNT_LINK --> WELCOME_SCREEN
|
||||
FORGOT_PASSWORD --> PASSWORD_RESET[密碼重設流程]
|
||||
PASSWORD_RESET --> LOGIN_START
|
||||
|
||||
WELCOME_SCREEN --> MAIN_DASHBOARD[主控制台]
|
||||
|
||||
style REGISTER_START fill:#e8f5e8
|
||||
style LOGIN_START fill:#fff3e0
|
||||
style OAUTH fill:#f3e5f5
|
||||
style WELCOME_SCREEN fill:#c8e6c9
|
||||
```
|
||||
|
||||
### 用戶角色與權限流程
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
USER_LOGIN[用戶登入] --> ROLE_CHECK{檢查用戶角色}
|
||||
|
||||
ROLE_CHECK -->|免費用戶| FREE_USER[免費用戶權限]
|
||||
ROLE_CHECK -->|試用用戶| TRIAL_USER[試用用戶權限]
|
||||
ROLE_CHECK -->|訂閱用戶| SUBSCRIBER[訂閱用戶權限]
|
||||
ROLE_CHECK -->|管理員| ADMIN[管理員權限]
|
||||
|
||||
FREE_USER --> FREE_LIMITS[基礎對話練習 3次/日<br/>基礎詞庫<br/>簡化版報告]
|
||||
TRIAL_USER --> TRIAL_LIMITS[無限對話練習(7天)<br/>完整詞庫<br/>詳細版報告<br/>離線模式]
|
||||
SUBSCRIBER --> SUB_LIMITS[無限制存取<br/>完整功能<br/>詳細分析<br/>數據匯出]
|
||||
ADMIN --> ADMIN_LIMITS[完整管理功能<br/>系統監控<br/>用戶管理]
|
||||
|
||||
style FREE_USER fill:#ffebee
|
||||
style TRIAL_USER fill:#fff3e0
|
||||
style SUBSCRIBER fill:#e8f5e8
|
||||
style ADMIN fill:#e3f2fd
|
||||
```
|
||||
|
||||
## 🗺️ 學習地圖流程
|
||||
|
||||
### 學習路徑導航流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
MAP_ENTRY[進入學習地圖] --> PROGRESS_LOAD[載入學習進度]
|
||||
PROGRESS_LOAD --> MAP_OVERVIEW[地圖總覽顯示]
|
||||
|
||||
MAP_OVERVIEW --> LEVEL_SELECT{選擇關卡}
|
||||
|
||||
LEVEL_SELECT -->|已解鎖| LEVEL_AVAILABLE[可用關卡]
|
||||
LEVEL_SELECT -->|未解鎖| LEVEL_LOCKED[鎖定關卡]
|
||||
LEVEL_SELECT -->|已完成| LEVEL_COMPLETED[已完成關卡]
|
||||
|
||||
LEVEL_AVAILABLE --> LEVEL_DETAILS[關卡詳情頁]
|
||||
LEVEL_LOCKED --> UNLOCK_CONDITION[解鎖條件說明]
|
||||
LEVEL_COMPLETED --> REVIEW_OPTION{重複練習?}
|
||||
|
||||
LEVEL_DETAILS --> DIFFICULTY_SELECT[選擇難度]
|
||||
UNLOCK_CONDITION --> PROGRESS_NEEDED[需要完成的前置關卡]
|
||||
REVIEW_OPTION -->|是| LEVEL_DETAILS
|
||||
REVIEW_OPTION -->|否| ACHIEVEMENT_CHECK[查看成就]
|
||||
|
||||
DIFFICULTY_SELECT --> LEARNING_TYPE{學習類型}
|
||||
PROGRESS_NEEDED --> MAP_OVERVIEW
|
||||
|
||||
LEARNING_TYPE -->|詞彙學習| VOCAB_FLOW[進入詞彙學習]
|
||||
LEARNING_TYPE -->|情境對話| DIALOGUE_FLOW[進入對話練習]
|
||||
|
||||
ACHIEVEMENT_CHECK --> BADGE_DISPLAY[徽章展示]
|
||||
BADGE_DISPLAY --> MAP_OVERVIEW
|
||||
|
||||
style MAP_ENTRY fill:#f3e5f5
|
||||
style LEVEL_AVAILABLE fill:#e8f5e8
|
||||
style LEVEL_LOCKED fill:#ffebee
|
||||
style LEVEL_COMPLETED fill:#fff3e0
|
||||
```
|
||||
|
||||
### 成就系統流程
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
ACHIEVEMENT_TRIGGER[成就觸發事件] --> ACHIEVEMENT_CHECK{檢查成就條件}
|
||||
|
||||
ACHIEVEMENT_CHECK -->|達成| ACHIEVEMENT_UNLOCK[解鎖成就]
|
||||
ACHIEVEMENT_CHECK -->|未達成| PROGRESS_UPDATE[更新進度]
|
||||
|
||||
ACHIEVEMENT_UNLOCK --> REWARD_GRANT[發放獎勵]
|
||||
REWARD_GRANT --> NOTIFICATION[成就通知]
|
||||
|
||||
NOTIFICATION --> BADGE_ADD[添加徽章]
|
||||
BADGE_ADD --> XP_REWARD[經驗值獎勵]
|
||||
XP_REWARD --> DIAMOND_REWARD[鑽石獎勵]
|
||||
|
||||
DIAMOND_REWARD --> ACHIEVEMENT_GALLERY[成就畫廊更新]
|
||||
PROGRESS_UPDATE --> ACHIEVEMENT_GALLERY
|
||||
|
||||
style ACHIEVEMENT_UNLOCK fill:#e8f5e8
|
||||
style REWARD_GRANT fill:#fff3e0
|
||||
style BADGE_ADD fill:#f3e5f5
|
||||
```
|
||||
|
||||
## 📚 詞彙學習流程
|
||||
|
||||
### 完整詞彙學習流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
VOCAB_START[開始詞彙學習] --> VOCAB_TYPE{選擇學習模式}
|
||||
|
||||
VOCAB_TYPE -->|新詞學習| NEW_VOCAB[新詞彙介紹]
|
||||
VOCAB_TYPE -->|複習模式| REVIEW_VOCAB[複習詞彙]
|
||||
VOCAB_TYPE -->|測驗模式| TEST_VOCAB[詞彙測驗]
|
||||
|
||||
%% 新詞學習流程
|
||||
NEW_VOCAB --> VOCAB_INTRO[詞彙介紹頁面]
|
||||
VOCAB_INTRO --> PRONUNCIATION[發音播放]
|
||||
PRONUNCIATION --> EXAMPLES[例句展示]
|
||||
EXAMPLES --> MEMORY_TIPS[記憶提示]
|
||||
MEMORY_TIPS --> PRACTICE_START[開始練習]
|
||||
|
||||
%% 複習模式流程
|
||||
REVIEW_VOCAB --> DUE_CHECK[檢查待複習詞彙]
|
||||
DUE_CHECK -->|有待複習| REVIEW_SESSION[複習會話]
|
||||
DUE_CHECK -->|無待複習| NO_REVIEW[沒有待複習詞彙]
|
||||
NO_REVIEW --> NEW_VOCAB
|
||||
|
||||
%% 測驗模式流程
|
||||
TEST_VOCAB --> TEST_TYPE{選擇測驗類型}
|
||||
TEST_TYPE -->|選擇題| CHOICE_TEST[選擇題測驗]
|
||||
TEST_TYPE -->|配對題| MATCHING_TEST[配對測驗]
|
||||
TEST_TYPE -->|填空題| FILL_BLANK[填空測驗]
|
||||
|
||||
%% 練習流程
|
||||
PRACTICE_START --> PRACTICE_TYPE{練習類型}
|
||||
REVIEW_SESSION --> PRACTICE_TYPE
|
||||
CHOICE_TEST --> PRACTICE_TYPE
|
||||
MATCHING_TEST --> PRACTICE_TYPE
|
||||
FILL_BLANK --> PRACTICE_TYPE
|
||||
|
||||
PRACTICE_TYPE -->|選擇題練習| CHOICE_PRACTICE[選擇題練習]
|
||||
PRACTICE_TYPE -->|流暢度配對| FLUENCY_MATCHING[流暢度配對]
|
||||
PRACTICE_TYPE -->|句子重組| SENTENCE_REORG[句子重組]
|
||||
|
||||
%% 答題處理
|
||||
CHOICE_PRACTICE --> ANSWER_CHECK{答案檢查}
|
||||
FLUENCY_MATCHING --> ANSWER_CHECK
|
||||
SENTENCE_REORG --> ANSWER_CHECK
|
||||
|
||||
ANSWER_CHECK -->|正確| CORRECT_FEEDBACK[正確回饋]
|
||||
ANSWER_CHECK -->|錯誤| INCORRECT_FEEDBACK[錯誤回饋]
|
||||
|
||||
CORRECT_FEEDBACK --> XP_GAIN[經驗值獲得]
|
||||
INCORRECT_FEEDBACK --> LIFE_CONSUME[消耗命條]
|
||||
|
||||
XP_GAIN --> PROGRESS_UPDATE[更新學習進度]
|
||||
LIFE_CONSUME --> LIFE_CHECK{命條檢查}
|
||||
|
||||
LIFE_CHECK -->|命條>0| PROGRESS_UPDATE
|
||||
LIFE_CHECK -->|命條=0| LIFE_DEPLETED[命條耗盡]
|
||||
|
||||
PROGRESS_UPDATE --> MASTERY_CHECK{掌握度檢查}
|
||||
|
||||
MASTERY_CHECK -->|未掌握| CONTINUE_PRACTICE[繼續練習]
|
||||
MASTERY_CHECK -->|已掌握| MASTERY_ACHIEVED[詞彙掌握]
|
||||
|
||||
CONTINUE_PRACTICE --> PRACTICE_TYPE
|
||||
MASTERY_ACHIEVED --> SESSION_COMPLETE[學習會話完成]
|
||||
LIFE_DEPLETED --> LIFE_RECOVER[命條恢復選項]
|
||||
|
||||
LIFE_RECOVER --> WATCH_AD[觀看廣告]
|
||||
LIFE_RECOVER --> BUY_LIVES[購買命條]
|
||||
LIFE_RECOVER --> WAIT_TIMER[等待恢復]
|
||||
|
||||
WATCH_AD --> PRACTICE_TYPE
|
||||
BUY_LIVES --> SHOP_FLOW[前往商店]
|
||||
WAIT_TIMER --> END_SESSION[結束會話]
|
||||
|
||||
SESSION_COMPLETE --> RESULTS_DISPLAY[結果展示]
|
||||
END_SESSION --> RESULTS_DISPLAY
|
||||
|
||||
style NEW_VOCAB fill:#e8f5e8
|
||||
style REVIEW_VOCAB fill:#fff3e0
|
||||
style TEST_VOCAB fill:#f3e5f5
|
||||
style CORRECT_FEEDBACK fill:#c8e6c9
|
||||
style INCORRECT_FEEDBACK fill:#ffcdd2
|
||||
style LIFE_DEPLETED fill:#ffebee
|
||||
```
|
||||
|
||||
### 間隔複習算法流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
WORD_REVIEW[詞彙複習] --> ANSWER_QUALITY{回答品質評估}
|
||||
|
||||
ANSWER_QUALITY -->|Again(1)| RESET_INTERVAL[重置間隔 = 1天]
|
||||
ANSWER_QUALITY -->|Hard(2)| HARD_INTERVAL[間隔 × 1.2]
|
||||
ANSWER_QUALITY -->|Good(3)| GOOD_INTERVAL[間隔 × ease_factor]
|
||||
ANSWER_QUALITY -->|Easy(4)| EASY_INTERVAL[間隔 × ease_factor × 1.3]
|
||||
|
||||
RESET_INTERVAL --> UPDATE_EASE_FACTOR[更新容易度因子]
|
||||
HARD_INTERVAL --> UPDATE_EASE_FACTOR
|
||||
GOOD_INTERVAL --> UPDATE_EASE_FACTOR
|
||||
EASY_INTERVAL --> UPDATE_EASE_FACTOR
|
||||
|
||||
UPDATE_EASE_FACTOR --> CALCULATE_NEXT[計算下次複習時間]
|
||||
CALCULATE_NEXT --> UPDATE_MASTERY[更新掌握度]
|
||||
|
||||
UPDATE_MASTERY --> MASTERY_CHECK{掌握度 ≥ 80%?}
|
||||
MASTERY_CHECK -->|是| MASTERED[標記為已掌握]
|
||||
MASTERY_CHECK -->|否| SCHEDULE_NEXT[安排下次複習]
|
||||
|
||||
MASTERED --> GRADUATION[從複習池移除]
|
||||
SCHEDULE_NEXT --> REVIEW_QUEUE[加入複習佇列]
|
||||
|
||||
style RESET_INTERVAL fill:#ffcdd2
|
||||
style HARD_INTERVAL fill:#fff3e0
|
||||
style GOOD_INTERVAL fill:#e8f5e8
|
||||
style EASY_INTERVAL fill:#c8e6c9
|
||||
style MASTERED fill:#a5d6a7
|
||||
```
|
||||
|
||||
## 💬 情境對話流程
|
||||
|
||||
### 完整對話練習流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
DIALOGUE_START[開始對話練習] --> SCENARIO_SELECT[選擇對話場景]
|
||||
SCENARIO_SELECT --> CHARACTER_INTRO[角色介紹]
|
||||
CHARACTER_INTRO --> CONTEXT_SETUP[情境背景說明]
|
||||
CONTEXT_SETUP --> KEYWORDS_PREVIEW[關鍵詞預覽]
|
||||
|
||||
KEYWORDS_PREVIEW --> DIALOGUE_BEGIN[開始對話]
|
||||
DIALOGUE_BEGIN --> AI_RESPONSE[AI角色回應]
|
||||
AI_RESPONSE --> USER_INPUT{用戶輸入方式}
|
||||
|
||||
USER_INPUT -->|文字輸入| TEXT_INPUT[文字輸入框]
|
||||
USER_INPUT -->|語音輸入| VOICE_INPUT[語音輸入]
|
||||
USER_INPUT -->|選擇回應| QUICK_REPLY[快速回應選項]
|
||||
|
||||
TEXT_INPUT --> INPUT_ANALYSIS[輸入分析]
|
||||
VOICE_INPUT --> SPEECH_RECOGNITION[語音識別]
|
||||
QUICK_REPLY --> INPUT_ANALYSIS
|
||||
|
||||
SPEECH_RECOGNITION --> PRONUNCIATION_CHECK[發音檢查]
|
||||
PRONUNCIATION_CHECK --> INPUT_ANALYSIS
|
||||
|
||||
INPUT_ANALYSIS --> AI_EVALUATION[AI評估回應]
|
||||
AI_EVALUATION --> GRAMMAR_CHECK[語法檢查]
|
||||
GRAMMAR_CHECK --> SEMANTIC_CHECK[語意檢查]
|
||||
SEMANTIC_CHECK --> CONTEXT_CHECK[情境適配檢查]
|
||||
|
||||
CONTEXT_CHECK --> FEEDBACK_GENERATE[生成回饋]
|
||||
FEEDBACK_GENERATE --> RESPONSE_QUALITY{回應品質}
|
||||
|
||||
RESPONSE_QUALITY -->|優秀| EXCELLENT_FEEDBACK[優秀回饋]
|
||||
RESPONSE_QUALITY -->|良好| GOOD_FEEDBACK[良好回饋]
|
||||
RESPONSE_QUALITY -->|需改進| IMPROVEMENT_FEEDBACK[改進建議]
|
||||
RESPONSE_QUALITY -->|不當| INAPPROPRIATE_FEEDBACK[不當回應處理]
|
||||
|
||||
EXCELLENT_FEEDBACK --> HIGH_XP[高經驗值獲得]
|
||||
GOOD_FEEDBACK --> MEDIUM_XP[中等經驗值]
|
||||
IMPROVEMENT_FEEDBACK --> LOW_XP[低經驗值]
|
||||
INAPPROPRIATE_FEEDBACK --> NO_XP[無經驗值]
|
||||
|
||||
HIGH_XP --> DIALOGUE_CONTINUE{對話繼續?}
|
||||
MEDIUM_XP --> DIALOGUE_CONTINUE
|
||||
LOW_XP --> CORRECTION_OPTION[提供修正建議]
|
||||
NO_XP --> LIFE_CONSUME[消耗命條]
|
||||
|
||||
CORRECTION_OPTION --> DIALOGUE_CONTINUE
|
||||
LIFE_CONSUME --> LIFE_CHECK{命條檢查}
|
||||
|
||||
LIFE_CHECK -->|命條>0| DIALOGUE_CONTINUE
|
||||
LIFE_CHECK -->|命條=0| DIALOGUE_END[對話結束]
|
||||
|
||||
DIALOGUE_CONTINUE -->|是| NEXT_TURN[下一輪對話]
|
||||
DIALOGUE_CONTINUE -->|否| DIALOGUE_COMPLETE[對話完成]
|
||||
|
||||
NEXT_TURN --> AI_RESPONSE
|
||||
DIALOGUE_COMPLETE --> DIALOGUE_ANALYSIS[對話分析]
|
||||
DIALOGUE_END --> DIALOGUE_ANALYSIS
|
||||
|
||||
DIALOGUE_ANALYSIS --> PERFORMANCE_REPORT[表現報告]
|
||||
PERFORMANCE_REPORT --> GRAMMAR_ANALYSIS[語法分析]
|
||||
GRAMMAR_ANALYSIS --> VOCABULARY_USAGE[詞彙使用分析]
|
||||
VOCABULARY_USAGE --> FLUENCY_SCORE[流暢度評分]
|
||||
FLUENCY_SCORE --> IMPROVEMENT_SUGGESTIONS[改進建議]
|
||||
|
||||
IMPROVEMENT_SUGGESTIONS --> RESULTS_DISPLAY[結果展示]
|
||||
|
||||
style EXCELLENT_FEEDBACK fill:#c8e6c9
|
||||
style GOOD_FEEDBACK fill:#e8f5e8
|
||||
style IMPROVEMENT_FEEDBACK fill:#fff3e0
|
||||
style INAPPROPRIATE_FEEDBACK fill:#ffcdd2
|
||||
style LIFE_CONSUME fill:#ffebee
|
||||
```
|
||||
|
||||
### 對話AI分析流程
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
USER_INPUT[用戶輸入] --> NLP_PROCESSING[NLP處理]
|
||||
NLP_PROCESSING --> TOKENIZATION[詞元化]
|
||||
TOKENIZATION --> POS_TAGGING[詞性標註]
|
||||
POS_TAGGING --> SYNTAX_ANALYSIS[語法分析]
|
||||
|
||||
SYNTAX_ANALYSIS --> GRAMMAR_CHECK[語法檢查]
|
||||
SYNTAX_ANALYSIS --> SEMANTIC_ANALYSIS[語意分析]
|
||||
SYNTAX_ANALYSIS --> CONTEXT_MATCHING[情境匹配]
|
||||
|
||||
GRAMMAR_CHECK --> SCORE_GRAMMAR[語法分數]
|
||||
SEMANTIC_ANALYSIS --> SCORE_SEMANTIC[語意分數]
|
||||
CONTEXT_MATCHING --> SCORE_CONTEXT[情境分數]
|
||||
|
||||
SCORE_GRAMMAR --> OVERALL_SCORE[總體評分]
|
||||
SCORE_SEMANTIC --> OVERALL_SCORE
|
||||
SCORE_CONTEXT --> OVERALL_SCORE
|
||||
|
||||
OVERALL_SCORE --> FEEDBACK_GENERATION[回饋生成]
|
||||
FEEDBACK_GENERATION --> AI_RESPONSE[AI回應生成]
|
||||
|
||||
style NLP_PROCESSING fill:#e1f5fe
|
||||
style OVERALL_SCORE fill:#e8f5e8
|
||||
style AI_RESPONSE fill:#f3e5f5
|
||||
```
|
||||
|
||||
## 🛒 道具商店流程
|
||||
|
||||
### 完整商店購買流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
SHOP_ENTER[進入商店] --> SHOP_CATEGORIES[商品分類]
|
||||
SHOP_CATEGORIES --> CATEGORY_SELECT{選擇分類}
|
||||
|
||||
CATEGORY_SELECT -->|命條道具| LIFE_ITEMS[命條相關道具]
|
||||
CATEGORY_SELECT -->|學習道具| LEARNING_ITEMS[學習增效道具]
|
||||
CATEGORY_SELECT -->|裝飾道具| COSMETIC_ITEMS[裝飾道具]
|
||||
CATEGORY_SELECT -->|訂閱服務| SUBSCRIPTION_PLANS[訂閱方案]
|
||||
|
||||
LIFE_ITEMS --> ITEM_DETAILS[道具詳情頁]
|
||||
LEARNING_ITEMS --> ITEM_DETAILS
|
||||
COSMETIC_ITEMS --> ITEM_DETAILS
|
||||
SUBSCRIPTION_PLANS --> PLAN_DETAILS[方案詳情頁]
|
||||
|
||||
ITEM_DETAILS --> PURCHASE_CHECK{購買檢查}
|
||||
PLAN_DETAILS --> SUBSCRIPTION_CHECK{訂閱檢查}
|
||||
|
||||
PURCHASE_CHECK -->|鑽石足夠| CONFIRM_PURCHASE[確認購買]
|
||||
PURCHASE_CHECK -->|鑽石不足| INSUFFICIENT_DIAMONDS[鑽石不足]
|
||||
|
||||
SUBSCRIPTION_CHECK -->|可訂閱| SUBSCRIPTION_PAYMENT[訂閱付款]
|
||||
SUBSCRIPTION_CHECK -->|已訂閱| ALREADY_SUBSCRIBED[已有訂閱]
|
||||
|
||||
INSUFFICIENT_DIAMONDS --> DIAMOND_PURCHASE[購買鑽石]
|
||||
ALREADY_SUBSCRIBED --> MANAGE_SUBSCRIPTION[管理訂閱]
|
||||
|
||||
CONFIRM_PURCHASE --> PAYMENT_PROCESS[處理付款]
|
||||
SUBSCRIPTION_PAYMENT --> PAYMENT_GATEWAY[付款閘道]
|
||||
DIAMOND_PURCHASE --> PAYMENT_GATEWAY
|
||||
|
||||
PAYMENT_PROCESS --> DIAMOND_DEDUCTION[扣除鑽石]
|
||||
PAYMENT_GATEWAY --> PAYMENT_VERIFY[驗證付款]
|
||||
|
||||
DIAMOND_DEDUCTION --> ITEM_DELIVERY[道具發放]
|
||||
PAYMENT_VERIFY -->|成功| PAYMENT_SUCCESS[付款成功]
|
||||
PAYMENT_VERIFY -->|失敗| PAYMENT_FAILED[付款失敗]
|
||||
|
||||
PAYMENT_SUCCESS --> DIAMOND_CREDIT[鑽石入帳/訂閱啟用]
|
||||
PAYMENT_FAILED --> PAYMENT_RETRY[重試付款]
|
||||
|
||||
DIAMOND_CREDIT --> PURCHASE_COMPLETE[購買完成]
|
||||
ITEM_DELIVERY --> INVENTORY_UPDATE[更新道具庫存]
|
||||
PAYMENT_RETRY --> PAYMENT_GATEWAY
|
||||
|
||||
INVENTORY_UPDATE --> PURCHASE_COMPLETE
|
||||
PURCHASE_COMPLETE --> TRANSACTION_RECORD[交易記錄]
|
||||
TRANSACTION_RECORD --> SHOP_RETURN[返回商店]
|
||||
|
||||
MANAGE_SUBSCRIPTION --> CANCEL_SUBSCRIPTION[取消訂閱]
|
||||
MANAGE_SUBSCRIPTION --> UPGRADE_SUBSCRIPTION[升級訂閱]
|
||||
|
||||
style INSUFFICIENT_DIAMONDS fill:#ffebee
|
||||
style PAYMENT_SUCCESS fill:#e8f5e8
|
||||
style PAYMENT_FAILED fill:#ffcdd2
|
||||
style PURCHASE_COMPLETE fill:#c8e6c9
|
||||
```
|
||||
|
||||
### 虛擬貨幣經濟流程
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
CURRENCY_SOURCES[貨幣來源] --> EARN_DIAMONDS{鑽石獲得}
|
||||
CURRENCY_SOURCES --> EARN_XP{經驗值獲得}
|
||||
CURRENCY_SOURCES --> EARN_COINS{學習幣獲得}
|
||||
|
||||
EARN_DIAMONDS -->|每日登入| DAILY_LOGIN[每日獎勵: 2鑽石]
|
||||
EARN_DIAMONDS -->|完成成就| ACHIEVEMENT_REWARD[成就獎勵: 10-50鑽石]
|
||||
EARN_DIAMONDS -->|觀看廣告| AD_REWARD[廣告獎勵: 1鑽石/次 max 5]
|
||||
EARN_DIAMONDS -->|內購| IAP[應用內購買]
|
||||
|
||||
EARN_XP -->|詞彙學習| VOCAB_XP[100 XP]
|
||||
EARN_XP -->|對話練習| DIALOGUE_XP[200 XP]
|
||||
EARN_XP -->|連續學習| STREAK_BONUS[20% 加成]
|
||||
EARN_XP -->|完美表現| PERFECT_BONUS[50 XP]
|
||||
|
||||
EARN_COINS -->|每日任務| DAILY_TASK[50 學習幣]
|
||||
EARN_COINS -->|學習活動| STUDY_REWARD[基於表現]
|
||||
|
||||
DAILY_LOGIN --> DIAMOND_WALLET[鑽石錢包]
|
||||
ACHIEVEMENT_REWARD --> DIAMOND_WALLET
|
||||
AD_REWARD --> DIAMOND_WALLET
|
||||
IAP --> DIAMOND_WALLET
|
||||
|
||||
VOCAB_XP --> XP_COUNTER[經驗值計數]
|
||||
DIALOGUE_XP --> XP_COUNTER
|
||||
STREAK_BONUS --> XP_COUNTER
|
||||
PERFECT_BONUS --> XP_COUNTER
|
||||
|
||||
DAILY_TASK --> COIN_WALLET[學習幣錢包]
|
||||
STUDY_REWARD --> COIN_WALLET
|
||||
|
||||
DIAMOND_WALLET --> SPENDING[消費項目]
|
||||
XP_COUNTER --> LEVEL_SYSTEM[等級系統]
|
||||
COIN_WALLET --> SPENDING
|
||||
|
||||
style DAILY_LOGIN fill:#e8f5e8
|
||||
style ACHIEVEMENT_REWARD fill:#fff3e0
|
||||
style IAP fill:#f3e5f5
|
||||
style LEVEL_SYSTEM fill:#e1f5fe
|
||||
```
|
||||
|
||||
## 🔄 命條系統流程
|
||||
|
||||
### 命條管理流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
LIFE_SYSTEM[命條系統] --> LIFE_CHECK{當前命條狀態}
|
||||
|
||||
LIFE_CHECK -->|充足 5個| FULL_LIVES[命條充足]
|
||||
LIFE_CHECK -->|部分 1-4個| PARTIAL_LIVES[命條部分]
|
||||
LIFE_CHECK -->|耗盡 0個| NO_LIVES[命條耗盡]
|
||||
|
||||
FULL_LIVES --> LEARNING_ACTIVITY[學習活動]
|
||||
PARTIAL_LIVES --> RECOVERY_OPTION{恢復選項}
|
||||
NO_LIVES --> FORCED_RECOVERY[強制恢復選項]
|
||||
|
||||
LEARNING_ACTIVITY --> ACTIVITY_RESULT{活動結果}
|
||||
|
||||
ACTIVITY_RESULT -->|成功| SUCCESS_REWARD[成功獎勵]
|
||||
ACTIVITY_RESULT -->|失敗| LIFE_CONSUME[消耗命條]
|
||||
|
||||
SUCCESS_REWARD --> XP_GAIN[經驗值獲得]
|
||||
LIFE_CONSUME --> LIFE_DEDUCTION[命條 -1]
|
||||
|
||||
LIFE_DEDUCTION --> LIFE_CHECK
|
||||
XP_GAIN --> LEARNING_ACTIVITY
|
||||
|
||||
RECOVERY_OPTION -->|自然恢復| AUTO_RECOVERY[4小時自動恢復]
|
||||
RECOVERY_OPTION -->|觀看廣告| WATCH_AD[觀看廣告恢復]
|
||||
RECOVERY_OPTION -->|鑽石購買| BUY_LIVES[購買命條]
|
||||
RECOVERY_OPTION -->|繼續學習| LEARNING_ACTIVITY
|
||||
|
||||
FORCED_RECOVERY -->|觀看廣告| AD_RECOVERY[廣告恢復 +1命條]
|
||||
FORCED_RECOVERY -->|鑽石購買| DIAMOND_RECOVERY[鑽石恢復 +5命條]
|
||||
FORCED_RECOVERY -->|等待| WAIT_TIMER[等待4小時]
|
||||
|
||||
AUTO_RECOVERY --> TIMER_CHECK{恢復計時器}
|
||||
WATCH_AD --> AD_LIMIT_CHECK{廣告次數檢查}
|
||||
BUY_LIVES --> DIAMOND_COST[50鑽石/命條]
|
||||
|
||||
TIMER_CHECK -->|時間到| ADD_LIFE[+1命條]
|
||||
TIMER_CHECK -->|未到時間| CONTINUE_TIMER[繼續計時]
|
||||
|
||||
AD_LIMIT_CHECK -->|次數內 <3次/日| AD_REWARD_LIFE[+1命條]
|
||||
AD_LIMIT_CHECK -->|超過次數| AD_LIMIT_REACHED[廣告次數已滿]
|
||||
|
||||
DIAMOND_COST --> DIAMOND_CHECK{鑽石是否足夠}
|
||||
DIAMOND_CHECK -->|足夠| PURCHASE_LIVES[購買成功 +1命條]
|
||||
DIAMOND_CHECK -->|不足| INSUFFICIENT_DIAMONDS[鑽石不足]
|
||||
|
||||
ADD_LIFE --> LIFE_CHECK
|
||||
AD_REWARD_LIFE --> LIFE_CHECK
|
||||
PURCHASE_LIVES --> LIFE_CHECK
|
||||
AD_RECOVERY --> LIFE_CHECK
|
||||
DIAMOND_RECOVERY --> LIFE_CHECK
|
||||
|
||||
AD_LIMIT_REACHED --> FORCED_RECOVERY
|
||||
INSUFFICIENT_DIAMONDS --> BUY_DIAMONDS[前往購買鑽石]
|
||||
CONTINUE_TIMER --> AUTO_RECOVERY
|
||||
WAIT_TIMER --> AUTO_RECOVERY
|
||||
|
||||
style NO_LIVES fill:#ffebee
|
||||
style LIFE_CONSUME fill:#ffcdd2
|
||||
style SUCCESS_REWARD fill:#e8f5e8
|
||||
style ADD_LIFE fill:#c8e6c9
|
||||
style PURCHASE_LIVES fill:#a5d6a7
|
||||
```
|
||||
|
||||
## 📊 學習分析與統計流程
|
||||
|
||||
### 學習數據收集與分析
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
LEARNING_EVENT[學習事件發生] --> EVENT_CAPTURE[事件捕捉]
|
||||
EVENT_CAPTURE --> DATA_CLASSIFICATION{數據分類}
|
||||
|
||||
DATA_CLASSIFICATION -->|學習行為| BEHAVIOR_DATA[行為數據]
|
||||
DATA_CLASSIFICATION -->|學習成果| PERFORMANCE_DATA[表現數據]
|
||||
DATA_CLASSIFICATION -->|時間數據| TIME_DATA[時間數據]
|
||||
DATA_CLASSIFICATION -->|錯誤數據| ERROR_DATA[錯誤數據]
|
||||
|
||||
BEHAVIOR_DATA --> BEHAVIOR_ANALYSIS[行為分析]
|
||||
PERFORMANCE_DATA --> PERFORMANCE_ANALYSIS[表現分析]
|
||||
TIME_DATA --> TIME_ANALYSIS[時間分析]
|
||||
ERROR_DATA --> ERROR_ANALYSIS[錯誤分析]
|
||||
|
||||
BEHAVIOR_ANALYSIS --> LEARNING_PATTERN[學習模式識別]
|
||||
PERFORMANCE_ANALYSIS --> PROGRESS_TRACKING[進度追蹤]
|
||||
TIME_ANALYSIS --> EFFICIENCY_CALC[效率計算]
|
||||
ERROR_ANALYSIS --> WEAKNESS_IDENTIFICATION[弱點識別]
|
||||
|
||||
LEARNING_PATTERN --> PERSONALIZED_RECOMMENDATION[個人化推薦]
|
||||
PROGRESS_TRACKING --> ACHIEVEMENT_TRACKING[成就追蹤]
|
||||
EFFICIENCY_CALC --> OPTIMIZATION_SUGGESTION[優化建議]
|
||||
WEAKNESS_IDENTIFICATION --> TARGETED_PRACTICE[針對性練習]
|
||||
|
||||
PERSONALIZED_RECOMMENDATION --> DASHBOARD_UPDATE[儀表板更新]
|
||||
ACHIEVEMENT_TRACKING --> DASHBOARD_UPDATE
|
||||
OPTIMIZATION_SUGGESTION --> DASHBOARD_UPDATE
|
||||
TARGETED_PRACTICE --> DASHBOARD_UPDATE
|
||||
|
||||
DASHBOARD_UPDATE --> USER_INSIGHTS[用戶洞察展示]
|
||||
|
||||
style LEARNING_EVENT fill:#e1f5fe
|
||||
style DASHBOARD_UPDATE fill:#e8f5e8
|
||||
style USER_INSIGHTS fill:#c8e6c9
|
||||
```
|
||||
|
||||
## 🌍 跨平台功能流程差異
|
||||
|
||||
### Mobile vs Web 平台特有流程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
PLATFORM_CHECK[平台檢測] --> MOBILE{Mobile App}
|
||||
PLATFORM_CHECK --> WEB{Web App}
|
||||
|
||||
MOBILE -->|專有功能| MOBILE_FEATURES[Mobile專有功能]
|
||||
WEB -->|專有功能| WEB_FEATURES[Web專有功能]
|
||||
|
||||
MOBILE_FEATURES -->|觸覺回饋| HAPTIC_FEEDBACK[震動回饋]
|
||||
MOBILE_FEATURES -->|推播通知| PUSH_NOTIFICATION[學習提醒]
|
||||
MOBILE_FEATURES -->|相機掃描| CAMERA_SCAN[掃描書籍]
|
||||
MOBILE_FEATURES -->|離線學習| OFFLINE_MODE[完全離線]
|
||||
MOBILE_FEATURES -->|語音喚醒| VOICE_WAKE["Hey Drama"]
|
||||
|
||||
WEB_FEATURES -->|多標籤| MULTI_TAB[多標籤學習]
|
||||
WEB_FEATURES -->|快捷鍵| KEYBOARD_SHORTCUTS[鍵盤快捷鍵]
|
||||
WEB_FEATURES -->|數據匯出| DATA_EXPORT[CSV/PDF匯出]
|
||||
WEB_FEATURES -->|列印| PRINT_OPTIMIZE[學習報告列印]
|
||||
WEB_FEATURES -->|多螢幕| MULTI_SCREEN[多顯示器支援]
|
||||
WEB_FEATURES -->|即時協作| REAL_TIME_COLLAB[多人學習]
|
||||
|
||||
%% 共同功能適配
|
||||
MOBILE -->|適配| MOBILE_ADAPT[Mobile適配]
|
||||
WEB -->|適配| WEB_ADAPT[Web適配]
|
||||
|
||||
MOBILE_ADAPT -->|觸控操作| TOUCH_INTERFACE[觸控介面]
|
||||
MOBILE_ADAPT -->|小螢幕優化| SMALL_SCREEN[小螢幕布局]
|
||||
MOBILE_ADAPT -->|原生感受| NATIVE_FEEL[原生體驗]
|
||||
|
||||
WEB_ADAPT -->|滑鼠操作| MOUSE_INTERFACE[滑鼠介面]
|
||||
WEB_ADAPT -->|大螢幕優化| LARGE_SCREEN[大螢幕布局]
|
||||
WEB_ADAPT -->|瀏覽器整合| BROWSER_INTEGRATION[瀏覽器功能]
|
||||
|
||||
style MOBILE_FEATURES fill:#e8f5e8
|
||||
style WEB_FEATURES fill:#f3e5f5
|
||||
style MOBILE_ADAPT fill:#fff3e0
|
||||
style WEB_ADAPT fill:#e1f5fe
|
||||
```
|
||||
|
||||
## 🎯 完整用戶旅程地圖
|
||||
|
||||
### 新用戶完整學習旅程
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
NEW_USER[新用戶訪問] --> FIRST_IMPRESSION[首次印象]
|
||||
FIRST_IMPRESSION --> TRIAL_REGISTRATION[試用註冊]
|
||||
TRIAL_REGISTRATION --> ONBOARDING[新手引導]
|
||||
|
||||
ONBOARDING --> LEVEL_ASSESSMENT[程度評估]
|
||||
LEVEL_ASSESSMENT --> LEARNING_PATH[學習路徑規劃]
|
||||
LEARNING_PATH --> FIRST_LESSON[第一堂課]
|
||||
|
||||
FIRST_LESSON --> VOCABULARY_INTRO[詞彙介紹]
|
||||
VOCABULARY_INTRO --> DIALOGUE_PRACTICE[對話練習]
|
||||
DIALOGUE_PRACTICE --> IMMEDIATE_FEEDBACK[即時回饋]
|
||||
|
||||
IMMEDIATE_FEEDBACK --> SUCCESS_FEELING[成功感建立]
|
||||
SUCCESS_FEELING --> HABIT_FORMATION[習慣養成]
|
||||
|
||||
HABIT_FORMATION --> DAILY_PRACTICE{每日練習}
|
||||
DAILY_PRACTICE -->|堅持| PROGRESS_VISIBLE[進度可見]
|
||||
DAILY_PRACTICE -->|中斷| RE_ENGAGEMENT[重新參與]
|
||||
|
||||
PROGRESS_VISIBLE --> ACHIEVEMENT_UNLOCK[成就解鎖]
|
||||
ACHIEVEMENT_UNLOCK --> SOCIAL_SHARING[社交分享]
|
||||
|
||||
RE_ENGAGEMENT --> PUSH_NOTIFICATION[推播提醒]
|
||||
RE_ENGAGEMENT --> EMAIL_REMINDER[郵件提醒]
|
||||
PUSH_NOTIFICATION --> COMEBACK_INCENTIVE[回歸獎勵]
|
||||
EMAIL_REMINDER --> COMEBACK_INCENTIVE
|
||||
|
||||
SOCIAL_SHARING --> COMMUNITY_ENGAGEMENT[社群參與]
|
||||
COMEBACK_INCENTIVE --> DAILY_PRACTICE
|
||||
|
||||
COMMUNITY_ENGAGEMENT --> LONG_TERM_ENGAGEMENT[長期參與]
|
||||
LONG_TERM_ENGAGEMENT --> SUBSCRIPTION_CONSIDERATION[考慮訂閱]
|
||||
|
||||
SUBSCRIPTION_CONSIDERATION --> PREMIUM_TRIAL[高級試用]
|
||||
PREMIUM_TRIAL --> CONVERSION_DECISION{轉換決策}
|
||||
|
||||
CONVERSION_DECISION -->|訂閱| PREMIUM_USER[付費用戶]
|
||||
CONVERSION_DECISION -->|不訂閱| FREE_USER_JOURNEY[免費用戶旅程]
|
||||
|
||||
PREMIUM_USER --> ADVANCED_FEATURES[高級功能體驗]
|
||||
ADVANCED_FEATURES --> RETENTION[長期留存]
|
||||
|
||||
FREE_USER_JOURNEY --> LIMITED_FEATURES[功能限制體驗]
|
||||
LIMITED_FEATURES --> UPGRADE_PROMPTS[升級提示]
|
||||
UPGRADE_PROMPTS --> CONVERSION_DECISION
|
||||
|
||||
style NEW_USER fill:#e1f5fe
|
||||
style SUCCESS_FEELING fill:#c8e6c9
|
||||
style ACHIEVEMENT_UNLOCK fill:#fff3e0
|
||||
style PREMIUM_USER fill:#a5d6a7
|
||||
style RETENTION fill:#4caf50
|
||||
```
|
||||
|
||||
## 📈 性能與監控流程
|
||||
|
||||
### 系統監控與錯誤處理
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
SYSTEM_MONITOR[系統監控] --> METRICS_COLLECTION[指標收集]
|
||||
METRICS_COLLECTION --> PERFORMANCE_ANALYSIS[性能分析]
|
||||
PERFORMANCE_ANALYSIS --> THRESHOLD_CHECK{閾值檢查}
|
||||
|
||||
THRESHOLD_CHECK -->|正常| NORMAL_OPERATION[正常運行]
|
||||
THRESHOLD_CHECK -->|異常| ALERT_TRIGGER[告警觸發]
|
||||
|
||||
ALERT_TRIGGER --> ERROR_CLASSIFICATION{錯誤分類}
|
||||
ERROR_CLASSIFICATION -->|輕微| LOG_ERROR[記錄錯誤]
|
||||
ERROR_CLASSIFICATION -->|嚴重| IMMEDIATE_ACTION[立即響應]
|
||||
ERROR_CLASSIFICATION -->|致命| SYSTEM_RECOVERY[系統恢復]
|
||||
|
||||
LOG_ERROR --> ERROR_TRACKING[錯誤追蹤]
|
||||
IMMEDIATE_ACTION --> USER_NOTIFICATION[用戶通知]
|
||||
SYSTEM_RECOVERY --> FALLBACK_MODE[降級模式]
|
||||
|
||||
NORMAL_OPERATION --> CONTINUOUS_MONITORING[持續監控]
|
||||
ERROR_TRACKING --> IMPROVEMENT_PLAN[改進計劃]
|
||||
USER_NOTIFICATION --> ERROR_RESOLUTION[錯誤解決]
|
||||
FALLBACK_MODE --> SERVICE_RESTORATION[服務恢復]
|
||||
|
||||
style ALERT_TRIGGER fill:#fff3e0
|
||||
style IMMEDIATE_ACTION fill:#ffcdd2
|
||||
style SYSTEM_RECOVERY fill:#ffebee
|
||||
style SERVICE_RESTORATION fill:#e8f5e8
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 總結
|
||||
|
||||
本文檔基於 `/docs/02_design/function-specs/` 完整規格,繪製了Drama Ling語言學習應用的全套用戶流程圖,涵蓋:
|
||||
|
||||
### ✅ **已包含的完整流程**
|
||||
1. **認證系統流程** - 註冊、登入、角色權限管理
|
||||
2. **學習地圖流程** - 關卡導航、成就系統
|
||||
3. **詞彙學習流程** - 學習模式、間隔複習算法
|
||||
4. **情境對話流程** - AI對話分析、表現評估
|
||||
5. **道具商店流程** - 購買流程、虛擬貨幣經濟
|
||||
6. **命條系統流程** - 生命值管理、恢復機制
|
||||
7. **分析統計流程** - 數據收集、個人化推薦
|
||||
8. **跨平台差異** - Mobile vs Web 功能適配
|
||||
9. **用戶旅程地圖** - 從新用戶到長期留存
|
||||
10. **系統監控流程** - 性能監控、錯誤處理
|
||||
|
||||
### 📊 **規格一致性確認**
|
||||
- ✅ 完全對應 5個核心功能模組
|
||||
- ✅ 涵蓋 Mobile + Web 雙平台特性
|
||||
- ✅ 整合共同業務規則和API規格
|
||||
- ✅ 包含完整的用戶角色權限邏輯
|
||||
- ✅ 反映平台功能對應表的差異化設計
|
||||
|
||||
**文檔狀態**: 🟢 已完成
|
||||
**基於版本**: function-specs v1.1
|
||||
**最後更新**: 2025-09-10
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
- **詞彙學習系統**: 整合指定詞彙到對話情境中
|
||||
- **學習地圖系統**: 提供情境對話的關卡和進度管理
|
||||
- **道具商店系統**: 回覆提示道具、加時道具的商業整合
|
||||
- **命條系統**: 對話失敗消耗命條的生命管理機制
|
||||
- **命條系統**: 關卡啟動消耗命條的生命管理機制
|
||||
- **排行榜系統**: 限時挑戰成績和社交競爭功能
|
||||
|
||||
## 📱 涉及的UI畫面
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
#### 功能說明
|
||||
- **畫面目的**: 提供沉浸式的情境對話體驗,支援多模態交互和即時反饋
|
||||
- **進入條件**: 從學習地圖選擇關卡,或通過任務系統進入
|
||||
- **退出條件**: 完成對話任務、主動退出、或命條歸零失敗
|
||||
- **退出條件**: 完成對話任務、主動退出、或資源不足
|
||||
|
||||
#### 畫面欄位細節
|
||||
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
| 劇情任務顯示區 | Object | 是 | - | 任務物件格式 | 有活躍任務時 |
|
||||
| 指定詞彙顯示區 | Array | 否 | [] | 詞彙陣列 | 有指定詞彙時 |
|
||||
| 300秒倒數計時器 | Number | 否 | 300 | 0-300秒 | 限時挑戰模式 |
|
||||
| 命條顯示 | Number | 是 | 用戶當前命條 | 0-5 | 始終顯示 |
|
||||
| 命條顯示 | Number | 是 | 用戶當前命條 | 依用戶等級而定 | 始終顯示 |
|
||||
| 鑽石數量顯示 | Number | 是 | 用戶當前鑽石 | ≥0 | 始終顯示 |
|
||||
|
||||
#### 互動元素
|
||||
|
|
@ -90,8 +90,8 @@
|
|||
|
||||
#### 異常狀況處理
|
||||
- **網路中斷**: 顯示重新連接提示 → 嘗試恢復對話狀態 → 保存當前進度
|
||||
- **輸入超時**: 限時模式下顯示時間警告 → 自動提交空回覆 → 扣除命條
|
||||
- **命條歸零**: 顯示失敗畫面 → 提供購買命條選項 → 或返回主畫面
|
||||
- **輸入超時**: 限時模式下顯示時間警告 → 自動提交空回覆
|
||||
- **命條不足**: 無法進入關卡 → 提供購買命條選項 → 或返回主畫面
|
||||
- **語音識別失敗**: 顯示錯誤提示 → 提供重新錄音選項 → 或切換文字輸入
|
||||
- **鑽石不足**: 回覆輔助功能時顯示不足提示 → 引導到商店購買 → 或提供免費替代方案
|
||||
|
||||
|
|
@ -213,7 +213,7 @@
|
|||
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|
||||
|---------|---------|------|--------|----------|----------|
|
||||
| 警告標題 | String | 是 | "確認退出挑戰?" | - | 始終顯示 |
|
||||
| 後果說明 | String | 是 | "退出將失去當前進度並消耗1個命條" | - | 始終顯示 |
|
||||
| 後果說明 | String | 是 | "退出將失去當前進度" | - | 始終顯示 |
|
||||
| 剩餘時間 | Number | 是 | 當前剩餘秒數 | 0-300 | 限時模式顯示 |
|
||||
| 確認退出按鈕 | Button | 是 | - | - | 始終顯示 |
|
||||
| 取消按鈕 | Button | 是 | - | - | 始終顯示 |
|
||||
|
|
@ -238,7 +238,7 @@
|
|||
### 分支流程
|
||||
- **回覆卡關**: 需要輔助 → UI_Reply_Assistance → 獲得引導 → 繼續對話
|
||||
- **限時挑戰**: 300秒倒數 → 時間不足 → 使用加時道具 → 延長時間
|
||||
- **命條不足**: 闖關失敗 → 提供購買補命道具 → 或等待自然恢復
|
||||
- **命條不足**: 無法進入關卡 → 提供購買補命道具 → 或等待自然恢復
|
||||
- **任務失敗**: 重新嘗試 → 或使用時光卷 → 挑戰前階段關卡
|
||||
|
||||
### 錯誤流程
|
||||
|
|
@ -252,7 +252,7 @@
|
|||
- **回覆提示道具**: 30鑽石/次,提供三層式智慧引導
|
||||
- **300秒限時挑戰**: 首次免費,後續50鑽石/次入場費
|
||||
- **加時道具**: 300鑽石,增加63秒挑戰時間
|
||||
- **命條購買**: 100鑽石/個,最多持有5個命條
|
||||
- **命條系統**: 詳細規格請參閱 → **[共同業務規則 - 命條系統](../common/business-rules.md#🎮-命條系統-life-points-system)**
|
||||
|
||||
### 遊戲化機制
|
||||
- **雙重任務系統**: 劇情任務+指定詞彙使用,同時完成獲得雙倍獎勵
|
||||
|
|
@ -273,7 +273,7 @@
|
|||
- [ ] 三維度評分算法驗證
|
||||
- [ ] 任務完成判定邏輯測試
|
||||
- [ ] 詞彙使用檢測準確性
|
||||
- [ ] 命條消耗和恢復機制
|
||||
- [ ] 命條消耗機制(參考業務規則)
|
||||
- [ ] 道具購買和使用流程
|
||||
- [ ] 限時模式倒數計時精確性
|
||||
|
||||
|
|
@ -309,7 +309,7 @@
|
|||
- WebRTC語音功能需要HTTPS環境
|
||||
- 對話數據需要即時同步到學習記錄
|
||||
- 道具使用需要防重複消費機制
|
||||
- 命條系統需要跨模組數據一致性
|
||||
- 命條系統需要跨模組數據一致性(參考共同業務規則)
|
||||
|
||||
## 📚 參考資源
|
||||
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@
|
|||
| 選項按鈕A-D | 單選按鈕 | 選擇答案選項 | 未選->已選 | 只能選擇一個選項 |
|
||||
| 確認答案按鈕 | 按鈕 | 提交當前選擇 | 正常->已提交 | 選擇選項後啟用 |
|
||||
| 題目發音按鈕 | 按鈕 | 播放題目中的詞彙 | 正常->播放中 | 聽力輔助功能 |
|
||||
| 跳過題目按鈕 | 按鈕 | 跳過當前題目 | - | 記為答錯,扣命條 |
|
||||
| 跳過題目按鈕 | 按鈕 | 跳過當前題目 | - | 允許跳過題目 |
|
||||
| 暫停練習按鈕 | 按鈕 | 暫停當前練習 | 進行中->暫停 | 保存當前進度 |
|
||||
| 退出練習按鈕 | 按鈕 | 退出練習模式 | - | 需要二次確認 |
|
||||
|
||||
|
|
@ -182,8 +182,8 @@
|
|||
- **相關擴展**: 學習相關詞彙 → 詞彙族群學習 → 主題式詞彙掌握
|
||||
|
||||
### 錯誤流程
|
||||
- **答題錯誤**: 顯示正確答案 → 提供解釋說明 → 加入錯題複習 → 扣除命條
|
||||
- **命條不足**: 學習中止 → 提供命條購買 → 或等待自然恢復 → 重新開始學習
|
||||
- **答題錯誤**: 顯示正確答案 → 提供解釋說明 → 加入錯題複習
|
||||
- **命條不足**: 學習無法啟動 → 提供命條購買 → 或等待自然恢復 → 重新開始學習
|
||||
- **網路問題**: 保存學習進度 → 提供離線模式 → 同步恢復功能
|
||||
|
||||
## 📊 商業邏輯規則
|
||||
|
|
@ -194,9 +194,10 @@
|
|||
- **難度自適應**: 根據用戶表現自動調整後續詞彙難度
|
||||
|
||||
### 命條消耗機制
|
||||
- **答錯題目**: 扣除1個命條
|
||||
- **跳過題目**: 視為答錯,扣除1個命條
|
||||
- **重複錯誤**: 同一詞彙反覆答錯繼續扣除命條
|
||||
> 詳細規格請參閱 → **[共同業務規則 - 命條系統](../common/business-rules.md#🎮-命條系統-life-points-system)**
|
||||
|
||||
- **啟動關卡**: 進入詞彙學習關卡時消耗1個命條,無論答對答錯
|
||||
- **跳過題目**: 允許跳過,不額外扣除命條
|
||||
|
||||
### 獎勵機制
|
||||
- **完美通關**: 全對且用時短,獲得額外經驗值和鑽石獎勵
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@
|
|||
**負責團隊**: 產品/設計/開發
|
||||
|
||||
### 主要功能
|
||||
- 階段化學習路徑:13階段×20劇本×3關卡的完整學習架構
|
||||
- 順序解鎖機制:必須按順序完成前置關卡才能解鎖後續內容
|
||||
- 關卡選擇系統:支援詞彙認識、詞彙熟悉、對話訓練三種關卡類型
|
||||
- 進度可視化:清楚顯示當前學習進度和成就狀態
|
||||
- 星級評價系統:基於三維度表現給予1-3星評價
|
||||
- 階段化學習路徑:13階段×20劇本×4關卡的完整學習架構
|
||||
- 線性闖關機制:必須按 詞彙學習→詞彙熟悉→口說練習特別關卡→情境對話 順序闖關,特別關卡可跳過
|
||||
- 進度導航系統:地圖直接顯示當前可進行的關卡,無需選擇彈窗
|
||||
- 關卡狀態管理:🔒鎖定/⏳可進行/🔄進行中/✅已完成 四種狀態
|
||||
- 星級評價系統:基於各關卡特定標準給予1-3星評價
|
||||
|
||||
### 適用場景
|
||||
- 新用戶學習路徑規劃和引導
|
||||
|
|
@ -21,83 +21,89 @@
|
|||
- 關卡成就的展示和炫耀
|
||||
|
||||
### 與其他功能的關聯
|
||||
- **情境對話系統**: 地圖關卡跳轉到具體對話場景
|
||||
- **詞彙學習系統**: 地圖關卡跳轉到詞彙練習模組
|
||||
- **命條系統**: 關卡挑戰前檢查命條資源狀態
|
||||
- **線性闖關系統**: 依循 [線性闖關學習系統規格](../common/progressive-stage-system.md) 的四關順序
|
||||
- **詞彙學習系統**: 第1、2關的詞彙學習和熟悉訓練
|
||||
- **口說評分系統**: 第2+關的口說練習特別關卡評估
|
||||
- **情境對話系統**: 第3關的綜合對話應用
|
||||
- **命條系統**: 關卡啟動時的資源消耗管理
|
||||
- **成就系統**: 關卡完成觸發成就和徽章解鎖
|
||||
- **訂閱系統**: VIP用戶可解鎖專屬關卡內容
|
||||
|
||||
## 📱 涉及的UI畫面
|
||||
|
||||
### 主要畫面
|
||||
1. **UI_Level_Map** - 學習地圖主畫面
|
||||
2. **UI_Level_Selection_Modal** - 關卡選擇彈窗
|
||||
3. **UI_Level_Selection_Modal_A** - 基礎關卡選擇界面
|
||||
4. **UI_Level_Selection_Modal_B** - 進階關卡選擇界面
|
||||
1. **UI_Level_Map** - 學習地圖主畫面 (線性闖關版)
|
||||
2. **UI_Current_Level_Info** - 當前可進行關卡資訊面板
|
||||
3. **UI_Level_Progress_Detail** - 關卡進度詳情頁面
|
||||
4. **UI_Stage_Overview** - 階段總覽和劇本選擇
|
||||
5. **UI_Level_Locked_Modal** - 關卡鎖定提示彈窗
|
||||
|
||||
### 輔助畫面
|
||||
1. **UI_Cost_Confirm_Popup** - 關卡成本確認彈窗
|
||||
1. **UI_Cost_Confirm_Popup** - 口說練習特別關卡付費確認彈窗
|
||||
2. **UI_Insufficient_Resources** - 資源不足提示頁面
|
||||
3. **UI_Task_Display** - 任務進度顯示組件
|
||||
3. **UI_Level_Status_Indicator** - 關卡狀態指示器組件
|
||||
4. **UI_Progress_Path_Visual** - 闖關路徑可視化組件
|
||||
|
||||
## 🎯 詳細畫面規格
|
||||
|
||||
### UI_Level_Map - 學習地圖主畫面
|
||||
### UI_Level_Map - 學習地圖主畫面 (線性闖關版)
|
||||
|
||||
#### 功能說明
|
||||
- **畫面目的**: 為用戶提供完整的學習路徑導航,清楚展示13階段學習進度和關卡狀態
|
||||
- **畫面目的**: 展示線性闖關學習路徑,清楚標示13階段×20劇本×4關卡的進度狀態
|
||||
- **進入條件**: 完成用戶註冊和等級評估,或從底部導航進入
|
||||
- **退出條件**: 選擇具體關卡進入學習,或切換到其他功能模組
|
||||
- **退出條件**: 直接進入當前可進行的關卡,或切換到其他功能模組
|
||||
- **核心變化**: 取消關卡選擇彈窗,地圖直接顯示下一個可進行的關卡
|
||||
|
||||
#### 畫面欄位細節
|
||||
|
||||
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|
||||
|---------|---------|------|--------|----------|----------|
|
||||
| 當前階段編號 | Number | 是 | 1 | 1-13 | 始終顯示 |
|
||||
| 當前劇本編號 | Number | 是 | 1 | 1-20+ | 始終顯示 |
|
||||
| 當前關卡類型 | String | 是 | "詞彙學習" | 關卡枚舉 | 始終顯示 |
|
||||
| 階段名稱 | String | 是 | - | 5-50字 | 始終顯示 |
|
||||
| 劇本標題 | String | 是 | - | 3-30字 | 始終顯示 |
|
||||
| 階段背景圖 | Image URL | 是 | - | 有效圖片格式 | 始終顯示 |
|
||||
| 階段完成度 | Number | 是 | 0 | 0-100% | 始終顯示 |
|
||||
| 可用劇本數量 | Number | 是 | 0 | 0-20+ | 始終顯示 |
|
||||
| 劇本完成度 | Number | 是 | 0 | 0-100% | 始終顯示 |
|
||||
| 已完成關卡數 | Number | 是 | 0 | ≥0 | 始終顯示 |
|
||||
| 總關卡數 | Number | 是 | 60 | ≥60 | 始終顯示 |
|
||||
| 總關卡數 | Number | 是 | 80 | ≥80 | 始終顯示 (4關×20劇本) |
|
||||
| 累積星數 | Number | 是 | 0 | ≥0 | 始終顯示 |
|
||||
| 連續學習天數 | Number | 是 | 0 | ≥0 | 始終顯示 |
|
||||
| 用戶命條數量 | Number | 是 | 5 | 0-5 | 始終顯示 |
|
||||
| 用戶鑽石數量 | Number | 是 | 0 | ≥0 | 始終顯示 |
|
||||
| 今日推薦關卡 | Object | 否 | null | 關卡物件 | 有推薦時顯示 |
|
||||
| 特殊活動關卡 | Array | 否 | [] | 活動陣列 | 有活動時顯示 |
|
||||
| 下一關卡資訊 | Object | 是 | - | 關卡物件 | 始終顯示 |
|
||||
| 四關進度狀態 | Array | 是 | [] | 狀態陣列 | 始終顯示 |
|
||||
|
||||
#### 互動元素
|
||||
|
||||
| 元素名稱 | 元素類型 | 點擊行為 | 狀態變化 | 備註 |
|
||||
|---------|---------|----------|----------|------|
|
||||
| 關卡節點 | 六角形按鈕 | 開啟關卡選擇彈窗 | 正常->選中 | 不同狀態有不同顏色 |
|
||||
| 上一階段按鈕 | 按鈕 | 切換到上一學習階段 | - | 第1階段時禁用 |
|
||||
| 下一階段按鈕 | 按鈕 | 切換到下一學習階段 | - | 未解鎖時禁用 |
|
||||
| 階段選擇下拉 | 下拉選單 | 快速跳轉到指定階段 | - | 只顯示已解鎖階段 |
|
||||
| 進度總覽按鈕 | 按鈕 | 查看整體學習統計 | - | 跳轉到個人中心 |
|
||||
| 每日任務按鈕 | 按鈕 | 查看今日學習任務 | - | 跳轉到任務系統 |
|
||||
| 好友排行按鈕 | 按鈕 | 查看好友學習排名 | - | 跳轉到排行榜 |
|
||||
| 設定按鈕 | 按鈕 | 開啟學習設定選項 | - | 個人化學習參數 |
|
||||
| 當前可進行關卡 | 大型卡片按鈕 | 直接進入關卡 | - | 清楚標示關卡類型和要求 |
|
||||
| 四關進度指示器 | 進度條組件 | 查看劇本四關進度 | - | 🔒鎖定/⏳可進行/🔄進行中/✅已完成 |
|
||||
| 劇本選擇區域 | 水平滾動列表 | 查看其他劇本進度 | - | 只顯示已解鎖劇本 |
|
||||
| 階段切換按鈕 | 按鈕組 | 切換到其他階段 | - | 未解鎖階段禁用 |
|
||||
| 學習統計面板 | 資訊卡片 | 查看詳細學習數據 | - | 展開/收合統計資訊 |
|
||||
| 時光關卡按鈕 | 特殊按鈕 | 使用時光卷挑戰 | - | 需要時光卷道具 |
|
||||
| 每日任務指示 | 提示標誌 | 查看今日學習任務 | - | 跳轉到任務系統 |
|
||||
| 成就通知 | 浮動提示 | 查看新獲得成就 | - | 自動消失或手動關閉 |
|
||||
|
||||
#### 使用者操作流程
|
||||
1. **地圖瀏覽**: 進入地圖 → 查看當前階段 → 瀏覽可用關卡 → 查看學習進度
|
||||
2. **關卡選擇**: 點擊關卡節點 → 確認關卡類型 → 檢查資源需求 → 確認進入
|
||||
3. **階段切換**: 使用階段按鈕 → 或下拉選單 → 快速跳轉到目標階段 → 查看新階段內容
|
||||
4. **進度查看**: 檢查完成度 → 查看星級評價 → 確認下一個目標 → 規劃學習計劃
|
||||
#### 使用者操作流程 (線性闖關版)
|
||||
1. **進度確認**: 進入地圖 → 查看當前階段和劇本 → 確認四關進度狀態
|
||||
2. **直接闖關**: 點擊當前可進行關卡 → 確認資源需求 → 直接進入關卡
|
||||
3. **劇本瀏覽**: 查看四關進度指示器 → 了解完成狀況 → 規劃後續學習
|
||||
4. **階段導航**: 完成劇本後 → 自動解鎖下一劇本 → 或切換到其他階段
|
||||
|
||||
#### 異常狀況處理
|
||||
- **資源不足**: 顯示資源不足提示 → 引導到商店購買 → 或提供免費獲得方式
|
||||
- **網路中斷**: 顯示離線模式 → 載入快取內容 → 恢復連線時同步進度
|
||||
- **關卡載入失敗**: 顯示載入錯誤 → 提供重試選項 → 或跳到其他可用關卡
|
||||
|
||||
### UI_Level_Selection_Modal - 關卡選擇彈窗
|
||||
### UI_Current_Level_Info - 當前可進行關卡資訊面板
|
||||
|
||||
#### 功能說明
|
||||
- **畫面目的**: 當用戶點擊地圖關卡時,顯示該關卡的詳細資訊和不同類型的學習選項
|
||||
- **進入條件**: 從學習地圖點擊任意關卡節點
|
||||
- **退出條件**: 選擇具體關卡類型進入學習,或取消關閉彈窗
|
||||
- **畫面目的**: 清楚展示當前可進行關卡的詳細資訊,引導用戶直接進入學習
|
||||
- **進入條件**: 學習地圖主畫面的核心組件,始終可見
|
||||
- **顯示邏輯**: 根據四關線性闖關進度,自動顯示下一個可進行的關卡資訊
|
||||
|
||||
#### 畫面欄位細節
|
||||
|
||||
|
|
@ -189,8 +195,12 @@
|
|||
- **連續獎勵**: 7天連續、14天連續、30天連續分別給予不同獎勵
|
||||
|
||||
### 資源消耗規則
|
||||
- **詞彙關卡**: 免費進入,答錯扣命條
|
||||
- **對話訓練**: 免費進入,失敗扣命條
|
||||
> 詳細命條系統規格請參閱 → **[共同業務規則 - 命條系統](../common/business-rules.md#🎮-命條系統-life-points-system)**
|
||||
|
||||
- **詞彙學習**: 啟動關卡消耗1個命條
|
||||
- **詞彙熟悉**: 啟動關卡消耗1個命條
|
||||
- **口說練習特別關卡**: 付費進入(5鑽石),不扣命條,可跳過
|
||||
- **情境對話**: 啟動關卡消耗1個命條
|
||||
- **限時挑戰**: 首次免費,後續50鑽石/次
|
||||
- **命條不足**: 無法開始新關卡,需要購買或等待恢復
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
### 與其他功能的關聯
|
||||
- **情境對話系統**: 回覆提示道具、加時道具的直接使用場景
|
||||
- **命條系統**: 補命道具購買和消費的核心機制
|
||||
- **命條系統**: 補命道具購買和消費的核心機制,詳見 [共同業務規則](../common/business-rules.md#🎮-命條系統-life-points-system)
|
||||
- **學習地圖系統**: 道具購買入口和使用場景整合
|
||||
- **訂閱系統**: 與VIP訂閱的差異化定位和互補
|
||||
- **支付系統**: 鑽石購買和第三方支付整合
|
||||
|
|
@ -75,7 +75,7 @@
|
|||
##### ❤️ 生命管理類道具
|
||||
| 道具名稱 | 價格 | 組合包價格 | 功能說明 | 使用場景 |
|
||||
|---------|------|------------|----------|----------|
|
||||
| 補命道具 | 100鑽石/個 | 400鑽石/5個 | 補充1個命條,上限5個 | 命條不足時購買 |
|
||||
| 補命道具 | 100鑽石/個 | 400鑽石/5個 | 補充1個命條,依用戶等級上限 | 命條不足時購買 |
|
||||
| 生命保護罩 | 200鑽石/個 | 900鑽石/5個 | 一次闖關失敗不扣命條 | 重要挑戰前使用 |
|
||||
|
||||
##### ⏰ 時間控制類道具
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
**對應Mobile規格**: `../mobile/04_道具商店功能規格.md`
|
||||
|
||||
### 主要功能
|
||||
- 多層次道具系統,涵蓋命條、提示、加速、裝飾等類型
|
||||
- 多層次道具系統,涵蓋生命管理、提示、加速、裝飾等類型
|
||||
- 靈活的定價策略,包含鑽石、學習幣、真實貨幣支付
|
||||
- 組合優惠機制,促進多道具購買和長期訂閱
|
||||
- 個人化推薦,基於學習習慣推薦合適道具
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
### 與其他功能的關聯
|
||||
- **學習系統**: 道具使用提升學習效率和體驗
|
||||
- **命條系統**: 命條相關道具的購買和補充
|
||||
- **命條系統**: 命條相關道具的購買和補充,詳見 [共同業務規則](../common/business-rules.md#🎮-命條系統-life-points-system)
|
||||
- **成就系統**: 購買特殊道具解鎖成就
|
||||
- **用戶系統**: 付費狀態影響功能權限
|
||||
- **分析系統**: 購買行為數據用於商品推薦
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
- **詞彙學習系統**: 整合指定詞彙到對話情境中
|
||||
- **學習地圖系統**: 提供情境對話的關卡和進度管理
|
||||
- **道具商店系統**: 回覆提示道具、加時道具的商業整合
|
||||
- **命條系統**: 對話失敗消耗命條的生命管理機制
|
||||
- **命條系統**: 關卡啟動消耗命條的生命管理機制,詳見 [共同業務規則](../common/business-rules.md#🎮-命條系統-life-points-system)
|
||||
- **排行榜系統**: 限時挑戰成績和社交競爭功能
|
||||
|
||||
## 💻 涉及的Web頁面
|
||||
|
|
|
|||
|
|
@ -35,11 +35,11 @@
|
|||
#### 核心成就系統 ✅ (已實現)
|
||||
- [x] **過關獎勵** (通關寶箱) ✅ (已實現於 `api/daily-missions.md`)
|
||||
- 完成對話場景即可獲得
|
||||
- 獎勵: +10 鑽石 + 10 閃電能量
|
||||
- 獎勵: 請參考/Users/jettcheng1018/code/dramaling-app/docs/02_design/function-specs/common/business-rules.md
|
||||
|
||||
- [x] **完美語法** ✅ (已實現於 成就系統)
|
||||
- 語法評分達到優秀標準
|
||||
- 獎勵: +10 鑽石 + 10 閃電能量
|
||||
- 獎勵: 請參考/Users/jettcheng1018/code/dramaling-app/docs/02_design/function-specs/common/business-rules.md
|
||||
|
||||
- [x] **表達流利** ✅ (已實現於 成就系統)
|
||||
- 流暢度評分達到優秀標準
|
||||
|
|
@ -95,12 +95,11 @@
|
|||
- [x] **通關標準**: 成功完成即解鎖下一關(即使0星) ✅ (已實現於 解鎖系統)
|
||||
|
||||
#### 命條生命系統 ✅ (已實現於 `api/gamification.md`)
|
||||
- [x] **命條機制**: 新用戶預設5命條,上限5條 ✅ (已實現於 Life Points API)
|
||||
- [x] **命條消耗**: ✅ (已實現於 遊戲邏輯)
|
||||
- 詞彙認識答錯 -1命條
|
||||
- 詞彙熟悉答錯 -1命條
|
||||
- 對話訓練失敗 -1命條
|
||||
- [x] **命條回復**: 每5小時自動回復1命條 ✅ (已實現於 自動回復系統)
|
||||
> 詳細規格請參閱 → **[共同業務規則 - 命條系統](./function-specs/common/business-rules.md#🎮-命條系統-life-points-system)**
|
||||
|
||||
- [x] **命條機制**: 依用戶等級不同命條上限和恢復速度 ✅ (已實現於 Life Points API)
|
||||
- [x] **命條消耗**: 關卡啟動時消耗(1、2、3關) ✅ (已實現於 遊戲邏輯)
|
||||
- [x] **命條回復**: 依用戶等級自動回復 ✅ (已實現於 自動回復系統)
|
||||
- [x] **命條購買**: 1命條=100鑽石,5命條=400鑽石 ✅ (已實現於 購買系統)
|
||||
|
||||
#### 連續學習獎勵系統 ✅ (已實現於 用戶進度系統)
|
||||
|
|
@ -108,7 +107,7 @@
|
|||
- [x] **學習判定**: 當日完成至少1個關卡即計為學習 ✅ (已實現於 進度邏輯)
|
||||
- [x] **階段性獎勵**: ✅ (已實現於 獎勵系統)
|
||||
- 7天連續: +100經驗值 + 特殊徽章
|
||||
- 14天連續: +200經驗值 + 2命條補充
|
||||
- 14天連續: +200經驗值 + 命條補充
|
||||
- 30天連續: +500經驗值 + 特殊成就徽章 + 100鑽石
|
||||
|
||||
### 詞彙學習成就系統 *(新增功能)*
|
||||
|
|
@ -167,66 +166,6 @@
|
|||
- [ ] **表達流利**: 流暢度表現優秀時獲得額外獎勵
|
||||
- [ ] **輔助功能成就** *(新增)*: 智慧使用回覆輔助功能的學習進步獎勵
|
||||
|
||||
## 300秒限時挑戰系統 *(新增核心功能)*
|
||||
|
||||
### 限時挑戰機制設計
|
||||
基於最新規格的競技式學習系統:
|
||||
|
||||
#### 倒數計時系統
|
||||
- [ ] **精準計時**: 300秒(5分鐘)的精確倒數顯示
|
||||
- [ ] **視覺化時間**: 動態進度條和數字倒數的雙重顯示
|
||||
- [ ] **時間警告**: 剩餘60秒和30秒時的視覺和音效提醒
|
||||
- [ ] **自動結算**: 時間歸零時自動觸發結算流程
|
||||
|
||||
#### 限時挑戰獎勵機制
|
||||
- [ ] **時間效率獎勵**:
|
||||
- 180秒內完成: 1.5x 基礎獎勵倍數
|
||||
- 120秒內完成: 2.0x 基礎獎勵倍數
|
||||
- 60秒內完成: 2.5x 基礎獎勵倍數
|
||||
- [ ] **雙重條件加成**: 限時環境下達成雙重通關額外 +50 鑽石
|
||||
- [ ] **壓力挑戰獎勵**: 最後30秒內完成額外 +25 鑽石壓力獎勵
|
||||
- [ ] **完美限時成就**: 限時內達成完美對話獲得特殊限時徽章
|
||||
|
||||
#### 限時挑戰排行榜
|
||||
- [ ] **每日排行榜**: 每日限時挑戰最佳成績排名
|
||||
- [ ] **每週冠軍賽**: 週末特殊限時挑戰競賽
|
||||
- [ ] **好友競技**: 好友間的限時挑戰比較和挑戰
|
||||
- [ ] **全球排名**: 全體用戶的限時挑戰成績排行
|
||||
|
||||
### 限時挑戰成就系統
|
||||
基於時間壓力下的特殊成就機制:
|
||||
|
||||
#### 時間相關成就
|
||||
- [ ] **閃電戰士**
|
||||
- 首次在180秒內完成限時挑戰
|
||||
- 獎勵: +30 鑽石 + 30 閃電能量 + 速度徽章
|
||||
|
||||
- [ ] **時間大師**
|
||||
- 累計完成10次限時挑戰且平均時間<4分鐘
|
||||
- 獎勵: +50 鑽石 + 50 閃電能量 + 時間掌控徽章
|
||||
|
||||
- [ ] **壓力之王**
|
||||
- 在最後30秒內完成5次限時挑戰
|
||||
- 獎勵: +75 鑽石 + 75 閃電能量 + 壓力專家徽章
|
||||
|
||||
#### 限時雙重通關成就
|
||||
- [ ] **限時劇情大師**
|
||||
- 在限時挑戰中完成劇情任務且時間<4分鐘
|
||||
- 獎勵: +40 鑽石 + 40 閃電能量 + 限時劇情徽章
|
||||
|
||||
- [ ] **限時詞彙專家**
|
||||
- 在限時挑戰中正確使用所有指定詞彙且時間<3分鐘
|
||||
- 獎勵: +35 鑽石 + 35 閃電能量 + 限時詞彙徽章
|
||||
|
||||
- [ ] **限時完美對話**
|
||||
- 在限時挑戰中達成雙重通關且時間<2.5分鐘
|
||||
- 獎勵: +100 鑽石 + 100 閃電能量 + 限時完美徽章 + 3個回覆提示道具
|
||||
|
||||
### 獎勵統一標準
|
||||
- [ ] **統一獎勵**: 每項成就固定給予 +10 鑽石 + 10 閃電能量
|
||||
- [ ] **即時反饋**: 完成對話後立即顯示獲得的成就
|
||||
- [ ] **視覺化展示**: 使用寶箱和貨幣圖示清楚顯示獎勵
|
||||
|
||||
## 闖關系統設計
|
||||
|
||||
### 關卡結構
|
||||
|
|
|
|||
|
|
@ -575,12 +575,443 @@ public class WebApiResponse<T>
|
|||
2. **Week 10**: 效能和安全性評估,決定微服務遷移時機
|
||||
3. **Week 18**: 全面評估,決定生產環境部署策略
|
||||
|
||||
## 📚 詞彙學習系統API實施計畫
|
||||
|
||||
### 階段一:核心詞彙API開發 (Week 1-3)
|
||||
|
||||
#### 1.1 資料庫架構建立
|
||||
```sql
|
||||
-- 詞彙基礎表設計 (基於database-schema.md)
|
||||
CREATE TABLE vocabulary_bank (
|
||||
vocab_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
word VARCHAR(100) NOT NULL,
|
||||
phonetic VARCHAR(200),
|
||||
part_of_speech VARCHAR(50),
|
||||
definition_en TEXT,
|
||||
definition_native JSONB,
|
||||
category VARCHAR(50),
|
||||
difficulty_level VARCHAR(10),
|
||||
frequency_rank INTEGER,
|
||||
audio_url TEXT,
|
||||
example_sentences JSONB,
|
||||
synonyms JSONB,
|
||||
antonyms JSONB,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
UNIQUE(word, part_of_speech)
|
||||
);
|
||||
|
||||
-- 用戶詞彙進度表
|
||||
CREATE TABLE user_vocabulary_progress (
|
||||
progress_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
user_id UUID REFERENCES users(user_id) ON DELETE CASCADE,
|
||||
vocab_id UUID REFERENCES vocabulary_bank(vocab_id) ON DELETE CASCADE,
|
||||
mastery_level VARCHAR(20) DEFAULT 'learning',
|
||||
mastery_score INTEGER DEFAULT 0,
|
||||
review_count INTEGER DEFAULT 0,
|
||||
correct_count INTEGER DEFAULT 0,
|
||||
ease_factor DECIMAL(4,2) DEFAULT 2.50,
|
||||
interval_days INTEGER DEFAULT 1,
|
||||
next_review_date DATE,
|
||||
first_encountered TIMESTAMPTZ DEFAULT NOW(),
|
||||
last_reviewed TIMESTAMPTZ,
|
||||
UNIQUE(user_id, vocab_id)
|
||||
);
|
||||
```
|
||||
|
||||
#### 1.2 核心服務層實現
|
||||
```csharp
|
||||
// IVocabularyService 介面設計
|
||||
public interface IVocabularyService
|
||||
{
|
||||
// 基本詞彙CRUD
|
||||
Task<VocabularyDto> GetByIdAsync(Guid vocabId);
|
||||
Task<PagedResult<VocabularyDto>> GetVocabularyListAsync(VocabularyFilter filter);
|
||||
Task<List<VocabularyDto>> SearchVocabularyAsync(string query, int limit = 20);
|
||||
|
||||
// 用戶學習進度
|
||||
Task<UserVocabularyProgressDto> GetUserProgressAsync(Guid userId, Guid vocabId);
|
||||
Task UpdateProgressAsync(Guid userId, UpdateProgressRequest request);
|
||||
Task<List<VocabularyDto>> GetDueForReviewAsync(Guid userId);
|
||||
|
||||
// 間隔重複演算法
|
||||
Task<SpacedRepetitionResult> ProcessReviewResultAsync(
|
||||
Guid userId, Guid vocabId, ReviewQuality quality);
|
||||
|
||||
// 學習分析
|
||||
Task<LearningAnalyticsDto> GetLearningAnalyticsAsync(Guid userId);
|
||||
}
|
||||
|
||||
// 間隔重複演算法實現
|
||||
public class SpacedRepetitionService : ISpacedRepetitionService
|
||||
{
|
||||
public SpacedRepetitionResult CalculateNextReview(
|
||||
double easeFactor, int interval, ReviewQuality quality)
|
||||
{
|
||||
// SuperMemo SM-2 算法實現
|
||||
var newEaseFactor = Math.Max(1.3, easeFactor +
|
||||
(0.1 - (5 - (int)quality) * (0.08 + (5 - (int)quality) * 0.02)));
|
||||
|
||||
int newInterval = quality switch
|
||||
{
|
||||
ReviewQuality.Again => 1,
|
||||
ReviewQuality.Hard => (int)(interval * 1.2),
|
||||
ReviewQuality.Good => (int)(interval * newEaseFactor),
|
||||
ReviewQuality.Easy => (int)(interval * newEaseFactor * 1.3),
|
||||
_ => 1
|
||||
};
|
||||
|
||||
return new SpacedRepetitionResult
|
||||
{
|
||||
NextInterval = newInterval,
|
||||
NewEaseFactor = newEaseFactor,
|
||||
NextReviewDate = DateTime.UtcNow.AddDays(newInterval)
|
||||
};
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 1.3 API控制器實現
|
||||
```csharp
|
||||
// 移動端詞彙API控制器
|
||||
[ApiController]
|
||||
[Route("api/v1/mobile/vocabulary")]
|
||||
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
|
||||
public class MobileVocabularyController : MobileBaseController
|
||||
{
|
||||
private readonly IVocabularyService _vocabularyService;
|
||||
|
||||
[HttpGet("daily-review")]
|
||||
public async Task<ActionResult<MobileApiResponse<List<MobileVocabularyDto>>>> GetDailyReview()
|
||||
{
|
||||
var userId = GetCurrentUserId();
|
||||
var vocabularyList = await _vocabularyService.GetDueForReviewAsync(userId);
|
||||
var mobileDtos = Mapper.Map<List<MobileVocabularyDto>>(vocabularyList);
|
||||
|
||||
return MobileSuccess(mobileDtos);
|
||||
}
|
||||
|
||||
[HttpPost("{vocabId}/review")]
|
||||
public async Task<ActionResult<MobileApiResponse<ReviewResultDto>>> SubmitReview(
|
||||
Guid vocabId, [FromBody] SubmitReviewRequest request)
|
||||
{
|
||||
var userId = GetCurrentUserId();
|
||||
var result = await _vocabularyService.ProcessReviewResultAsync(
|
||||
userId, vocabId, request.Quality);
|
||||
|
||||
return MobileSuccess(new ReviewResultDto
|
||||
{
|
||||
NextReviewDate = result.NextReviewDate,
|
||||
MasteryLevelChange = result.MasteryLevelChange,
|
||||
PointsEarned = result.PointsEarned
|
||||
});
|
||||
}
|
||||
|
||||
[HttpGet("search")]
|
||||
public async Task<ActionResult<MobileApiResponse<List<MobileVocabularyDto>>>> Search(
|
||||
[FromQuery] string query, [FromQuery] int limit = 10)
|
||||
{
|
||||
var results = await _vocabularyService.SearchVocabularyAsync(query, limit);
|
||||
var mobileDtos = Mapper.Map<List<MobileVocabularyDto>>(results);
|
||||
|
||||
return MobileSuccess(mobileDtos);
|
||||
}
|
||||
}
|
||||
|
||||
// Web端詞彙API控制器
|
||||
[ApiController]
|
||||
[Route("api/v1/web/vocabulary")]
|
||||
[Authorize]
|
||||
public class WebVocabularyController : WebBaseController
|
||||
{
|
||||
[HttpGet("{id}")]
|
||||
public async Task<ActionResult<WebApiResponse<WebVocabularyDto>>> GetVocabulary(Guid id)
|
||||
{
|
||||
var vocabulary = await _vocabularyService.GetByIdAsync(id);
|
||||
var webDto = Mapper.Map<WebVocabularyDto>(vocabulary);
|
||||
|
||||
return WebSuccess(webDto, new {
|
||||
RelatedWords = await _vocabularyService.GetRelatedWordsAsync(id),
|
||||
LearningTips = await _vocabularyService.GetLearningTipsAsync(id),
|
||||
UsageExamples = await _vocabularyService.GetUsageExamplesAsync(id)
|
||||
});
|
||||
}
|
||||
|
||||
[HttpGet("analytics")]
|
||||
public async Task<ActionResult<WebApiResponse<LearningAnalyticsDto>>> GetAnalytics(
|
||||
[FromQuery] DateTime? from, [FromQuery] DateTime? to)
|
||||
{
|
||||
var userId = GetCurrentUserId();
|
||||
var analytics = await _vocabularyService.GetLearningAnalyticsAsync(
|
||||
userId, from, to);
|
||||
|
||||
return WebSuccess(analytics);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 階段二:智能學習功能 (Week 4-6)
|
||||
|
||||
#### 2.1 AI驅動的詞彙推薦系統
|
||||
```csharp
|
||||
public interface IVocabularyRecommendationService
|
||||
{
|
||||
Task<List<VocabularyDto>> GetPersonalizedRecommendationsAsync(
|
||||
Guid userId, int count = 10);
|
||||
Task<List<VocabularyDto>> GetContextualVocabularyAsync(
|
||||
string context, DifficultyLevel level);
|
||||
Task<List<VocabularyDto>> GetRelatedVocabularyAsync(Guid vocabId);
|
||||
}
|
||||
|
||||
public class AIVocabularyRecommendationService : IVocabularyRecommendationService
|
||||
{
|
||||
private readonly IOpenAIService _openAiService;
|
||||
private readonly IVocabularyRepository _vocabularyRepo;
|
||||
|
||||
public async Task<List<VocabularyDto>> GetPersonalizedRecommendationsAsync(
|
||||
Guid userId, int count = 10)
|
||||
{
|
||||
// 獲取用戶學習歷史和偏好
|
||||
var userProfile = await GetUserLearningProfileAsync(userId);
|
||||
|
||||
// 使用GPT-4o-mini分析用戶需求
|
||||
var prompt = $@"
|
||||
Based on user learning profile:
|
||||
- Current level: {userProfile.Level}
|
||||
- Weak categories: {string.Join(',', userProfile.WeakCategories)}
|
||||
- Interests: {string.Join(',', userProfile.Interests)}
|
||||
|
||||
Recommend 10 vocabulary words that would be most beneficial
|
||||
for this learner's progression.";
|
||||
|
||||
var aiResponse = await _openAiService.GetCompletionAsync(prompt);
|
||||
|
||||
// 解析AI回應並匹配資料庫詞彙
|
||||
return await MatchWordsFromDatabase(aiResponse, count);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 2.2 自適應複習系統
|
||||
```csharp
|
||||
public class AdaptiveReviewService : IAdaptiveReviewService
|
||||
{
|
||||
public async Task<AdaptiveReviewSession> CreateReviewSessionAsync(Guid userId)
|
||||
{
|
||||
var dueWords = await _vocabularyService.GetDueForReviewAsync(userId);
|
||||
var userStats = await GetUserStatisticsAsync(userId);
|
||||
|
||||
// 根據用戶表現調整複習策略
|
||||
var strategy = DetermineReviewStrategy(userStats);
|
||||
|
||||
// 智能排序複習詞彙
|
||||
var optimizedOrder = OptimizeReviewOrder(dueWords, strategy);
|
||||
|
||||
return new AdaptiveReviewSession
|
||||
{
|
||||
SessionId = Guid.NewGuid(),
|
||||
UserId = userId,
|
||||
Words = optimizedOrder,
|
||||
Strategy = strategy,
|
||||
EstimatedDuration = CalculateEstimatedDuration(optimizedOrder.Count)
|
||||
};
|
||||
}
|
||||
|
||||
private ReviewStrategy DetermineReviewStrategy(UserStatistics stats)
|
||||
{
|
||||
// 基於用戶統計數據選擇最佳複習策略
|
||||
if (stats.AccuracyRate < 0.7)
|
||||
return ReviewStrategy.Reinforcement; // 加強練習
|
||||
else if (stats.ReviewStreak > 7)
|
||||
return ReviewStrategy.Challenging; // 挑戰模式
|
||||
else
|
||||
return ReviewStrategy.Balanced; // 平衡模式
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 階段三:高級分析與遊戲化 (Week 7-9)
|
||||
|
||||
#### 3.1 學習分析API
|
||||
```csharp
|
||||
[ApiController]
|
||||
[Route("api/v1/mobile/vocabulary/analytics")]
|
||||
public class MobileVocabularyAnalyticsController : MobileBaseController
|
||||
{
|
||||
[HttpGet("dashboard")]
|
||||
public async Task<ActionResult<MobileApiResponse<DashboardData>>> GetDashboard()
|
||||
{
|
||||
var userId = GetCurrentUserId();
|
||||
var data = new DashboardData
|
||||
{
|
||||
TodayProgress = await _analyticsService.GetTodayProgressAsync(userId),
|
||||
WeeklyStreak = await _analyticsService.GetWeeklyStreakAsync(userId),
|
||||
MasteryDistribution = await _analyticsService.GetMasteryDistributionAsync(userId),
|
||||
RecentAchievements = await _analyticsService.GetRecentAchievementsAsync(userId)
|
||||
};
|
||||
|
||||
return MobileSuccess(data);
|
||||
}
|
||||
|
||||
[HttpGet("progress-chart")]
|
||||
public async Task<ActionResult<MobileApiResponse<ProgressChartData>>> GetProgressChart(
|
||||
[FromQuery] ChartPeriod period = ChartPeriod.Month)
|
||||
{
|
||||
var userId = GetCurrentUserId();
|
||||
var chartData = await _analyticsService.GetProgressChartDataAsync(userId, period);
|
||||
|
||||
return MobileSuccess(chartData);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 3.2 遊戲化系統整合
|
||||
```csharp
|
||||
public interface IVocabularyGamificationService
|
||||
{
|
||||
Task<AchievementResult> CheckAchievementsAsync(Guid userId, LearningActivity activity);
|
||||
Task<List<BadgeDto>> GetUserBadgesAsync(Guid userId);
|
||||
Task<LeaderboardPosition> GetLeaderboardPositionAsync(Guid userId);
|
||||
Task<int> CalculateExperiencePointsAsync(ReviewResult result);
|
||||
}
|
||||
|
||||
public class VocabularyGamificationService : IVocabularyGamificationService
|
||||
{
|
||||
public async Task<int> CalculateExperiencePointsAsync(ReviewResult result)
|
||||
{
|
||||
var basePoints = result.Quality switch
|
||||
{
|
||||
ReviewQuality.Again => 1,
|
||||
ReviewQuality.Hard => 3,
|
||||
ReviewQuality.Good => 5,
|
||||
ReviewQuality.Easy => 8,
|
||||
_ => 0
|
||||
};
|
||||
|
||||
// 連續正確答案加成
|
||||
var streakMultiplier = Math.Min(result.StreakCount / 5.0 + 1, 2.0);
|
||||
|
||||
// 詞彙難度加成
|
||||
var difficultyMultiplier = result.Difficulty switch
|
||||
{
|
||||
"A1" => 1.0,
|
||||
"A2" => 1.2,
|
||||
"B1" => 1.5,
|
||||
"B2" => 1.8,
|
||||
"C1" => 2.0,
|
||||
"C2" => 2.5,
|
||||
_ => 1.0
|
||||
};
|
||||
|
||||
return (int)(basePoints * streakMultiplier * difficultyMultiplier);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 階段四:效能優化與快取 (Week 10-12)
|
||||
|
||||
#### 4.1 Redis快取策略
|
||||
```csharp
|
||||
public class CachedVocabularyService : IVocabularyService
|
||||
{
|
||||
private readonly IVocabularyService _baseService;
|
||||
private readonly IRedisCache _cache;
|
||||
|
||||
public async Task<VocabularyDto> GetByIdAsync(Guid vocabId)
|
||||
{
|
||||
var cacheKey = $"vocabulary:{vocabId}";
|
||||
var cached = await _cache.GetAsync<VocabularyDto>(cacheKey);
|
||||
|
||||
if (cached != null)
|
||||
return cached;
|
||||
|
||||
var vocabulary = await _baseService.GetByIdAsync(vocabId);
|
||||
await _cache.SetAsync(cacheKey, vocabulary, TimeSpan.FromHours(6));
|
||||
|
||||
return vocabulary;
|
||||
}
|
||||
|
||||
public async Task<List<VocabularyDto>> GetDueForReviewAsync(Guid userId)
|
||||
{
|
||||
var cacheKey = $"user:{userId}:due-review";
|
||||
var cached = await _cache.GetAsync<List<VocabularyDto>>(cacheKey);
|
||||
|
||||
if (cached != null)
|
||||
return cached;
|
||||
|
||||
var dueWords = await _baseService.GetDueForReviewAsync(userId);
|
||||
await _cache.SetAsync(cacheKey, dueWords, TimeSpan.FromMinutes(15));
|
||||
|
||||
return dueWords;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 4.2 資料庫查詢優化
|
||||
```sql
|
||||
-- 高效能索引設計
|
||||
CREATE INDEX CONCURRENTLY idx_user_vocab_due_review
|
||||
ON user_vocabulary_progress(user_id, next_review_date)
|
||||
WHERE next_review_date <= CURRENT_DATE;
|
||||
|
||||
CREATE INDEX CONCURRENTLY idx_vocabulary_search
|
||||
ON vocabulary_bank USING gin(to_tsvector('english', word || ' ' || definition_en));
|
||||
|
||||
-- 用戶學習統計物化視圖
|
||||
CREATE MATERIALIZED VIEW user_vocabulary_stats AS
|
||||
SELECT
|
||||
user_id,
|
||||
COUNT(*) as total_words,
|
||||
COUNT(*) FILTER (WHERE mastery_level = 'mastered') as mastered_count,
|
||||
AVG(mastery_score) as average_mastery,
|
||||
COUNT(*) FILTER (WHERE last_reviewed >= CURRENT_DATE - INTERVAL '7 days') as weekly_reviews
|
||||
FROM user_vocabulary_progress
|
||||
GROUP BY user_id;
|
||||
|
||||
CREATE UNIQUE INDEX ON user_vocabulary_stats(user_id);
|
||||
```
|
||||
|
||||
### 詞彙學習API端點總結
|
||||
|
||||
#### 移動端API端點
|
||||
| 端點 | 方法 | 描述 | 快取策略 |
|
||||
|------|------|------|----------|
|
||||
| `/api/v1/mobile/vocabulary/daily-review` | GET | 獲取每日複習詞彙 | 15分鐘 |
|
||||
| `/api/v1/mobile/vocabulary/{id}/review` | POST | 提交複習結果 | 無快取 |
|
||||
| `/api/v1/mobile/vocabulary/search` | GET | 詞彙搜尋 | 30分鐘 |
|
||||
| `/api/v1/mobile/vocabulary/recommendations` | GET | 個人化推薦 | 1小時 |
|
||||
| `/api/v1/mobile/vocabulary/analytics/dashboard` | GET | 學習儀表板 | 10分鐘 |
|
||||
|
||||
#### Web端API端點
|
||||
| 端點 | 方法 | 描述 | 快取策略 |
|
||||
|------|------|------|----------|
|
||||
| `/api/v1/web/vocabulary/{id}` | GET | 詞彙詳細資訊 | 6小時 |
|
||||
| `/api/v1/web/vocabulary/analytics` | GET | 學習分析報告 | 30分鐘 |
|
||||
| `/api/v1/web/vocabulary/batch` | GET | 批量詞彙資料 | 1小時 |
|
||||
| `/api/v1/web/vocabulary/export` | POST | 匯出學習資料 | 無快取 |
|
||||
|
||||
### 實施優先級
|
||||
|
||||
#### 高優先級 (Week 1-6)
|
||||
1. 基礎詞彙CRUD API
|
||||
2. 用戶學習進度追蹤
|
||||
3. 間隔重複演算法
|
||||
4. 移動端基礎API
|
||||
|
||||
#### 中優先級 (Week 7-9)
|
||||
1. AI推薦系統
|
||||
2. 學習分析功能
|
||||
3. 遊戲化元素
|
||||
4. Web端豐富功能
|
||||
|
||||
#### 低優先級 (Week 10-12)
|
||||
1. 效能優化
|
||||
2. 進階快取策略
|
||||
3. 資料匯出功能
|
||||
4. 管理後台API
|
||||
|
||||
---
|
||||
|
||||
**最後更新**: 2025-09-10
|
||||
**版本**: 1.0 - 初始架構分離計劃
|
||||
**版本**: 1.1 - 新增詞彙學習系統實施計畫
|
||||
**維護者**: Drama Ling 開發團隊
|
||||
|
||||
<function_calls>
|
||||
<invoke name="TodoWrite">
|
||||
<parameter name="todos">[{"content": "\u64b0\u5beb\u5f8c\u7aef\u67b6\u69cb\u5206\u96e2\u8a08\u5283\u6587\u4ef6", "status": "completed", "activeForm": "\u64b0\u5beb\u5f8c\u7aef\u67b6\u69cb\u5206\u96e2\u8a08\u5283\u6587\u4ef6\u4e2d"}, {"content": "\u898f\u5283API Gateway\u5fae\u670d\u52d9\u67b6\u69cb", "status": "completed", "activeForm": "\u898f\u5283API Gateway\u5fae\u670d\u52d9\u67b6\u69cb\u4e2d"}, {"content": "\u8a2d\u8a08\u79fb\u52d5\u7aef\u548cWeb\u7aefAPI\u5dee\u7570\u5316", "status": "completed", "activeForm": "\u8a2d\u8a08\u79fb\u52d5\u7aef\u548cWeb\u7aefAPI\u5dee\u7570\u5316\u4e2d"}, {"content": "\u5236\u5b9a\u9077\u79fb\u6b65\u9a5f\u548c\u6642\u7a0b", "status": "in_progress", "activeForm": "\u5236\u5b9a\u9077\u79fb\u6b65\u9a5f\u548c\u6642\u7a0b\u4e2d"}]
|
||||
|
|
@ -1,33 +1,67 @@
|
|||
# AI 對話分析算法規格
|
||||
|
||||
## 概述
|
||||
定義 Drama Ling 應用中 AI 對話分析系統的具體實現方案,包含語法、語意、流暢度三維度評分邏輯。
|
||||
定義 Drama Ling 應用中 AI 對話分析系統的具體實現方案,包含語法、語用、口說三維度評分邏輯。
|
||||
|
||||
## 核心評分維度
|
||||
|
||||
基於 UI_LevelResult_ScoreSummary.png 的實際設計,採用簡化的三維評分顯示:
|
||||
基於 UI_LevelResult_ScoreSummary.png 的實際設計,採用三維對話評估指標顯示:
|
||||
|
||||
### 簡化評分系統
|
||||
### 三維對話評估系統
|
||||
**目標**: 提供清楚的學習反饋,觸發對應成就獎勵
|
||||
|
||||
#### 三項評分指標
|
||||
#### 三維對話評分指標
|
||||
- [ ] **語法評分**: 評估語法正確性
|
||||
- 達到優秀標準時觸發「完美語法」成就
|
||||
- 獎勵: +10 鑽石 + 10 閃電能量
|
||||
- 所有對話皆正確時即為完美表現,若有藉由錯誤訂正功能將全部錯誤訂正完畢,則一樣給予完美表現
|
||||
- 獲得完美表現則過關獎勵雙倍
|
||||
- 過關獎勵: +1 鑽石 + 10 XP
|
||||
|
||||
- [ ] **語意評分**: 評估內容理解和表達適切性
|
||||
- 作為整體表現參考
|
||||
- 不單獨觸發特定成就
|
||||
- [ ] **語用分析**: 評估內容理解和表達適切性(只建議,不評分)
|
||||
|
||||
- [ ] **流暢度評分**: 評估表達的自然度和流暢性
|
||||
- 達到優秀標準時觸發「表達流利」成就
|
||||
- 獎勵: +10 鑽石 + 10 閃電能量
|
||||
- [ ] **口說評分**: 評估口說表達的自然度和流暢性
|
||||
- 評分標準:
|
||||
- 🗣️ **發音評分 (Pronunciation)**: 音素準確度、尾音收口、鼻音共鳴
|
||||
- ✅ **完整度評分 (Completeness)**: 句子完整性、遺漏詞彙檢測
|
||||
- 📈 **流暢度評分 (Fluency)**: 語速自然度、停頓合理性
|
||||
- 🎶 **韻律評分 (Prosody)**: 語調變化、重音位置、節奏感
|
||||
- 🎯 **準確度評分 (Accuracy)**: 整體表達精準度
|
||||
- 分數標準
|
||||
- 96~100:完美
|
||||
- 81~95:優秀
|
||||
- 71~80:尚可
|
||||
- 0~70:不合格
|
||||
- 過關獎勵:
|
||||
- 96~100:+3 鑽石 + 30 XP
|
||||
- 81~95:+2 鑽石 + 20 XP
|
||||
- 71~80:+1 鑽石 + 10 XP
|
||||
- 0~70:時光卷
|
||||
- **詳細評分顯示範例**:
|
||||
```
|
||||
📊 Speaking Score
|
||||
|
||||
【Sentence】91.9分:
|
||||
Please make sure you have all the necessary documents before submitting your application.
|
||||
|
||||
🗣️ Pronunciation:91.9
|
||||
📈 Fluency:97
|
||||
🎶 Prosody:83.3
|
||||
✅ Completeness:100
|
||||
🎯 Accuracy:96
|
||||
|
||||
【單字需要加強❌】
|
||||
application ⭐⭐:
|
||||
🟡 n
|
||||
|
||||
【建議改善】
|
||||
• 🔚 尾音收口明確(-m, -n, -l, -k, -t),避免吞音。
|
||||
🎯 針對音素練習:n
|
||||
🤧 鼻音(m/n/ŋ):軟顎下放,確保鼻腔共鳴與口型到位。
|
||||
```
|
||||
|
||||
#### 技術實現方案
|
||||
- [ ] **AI 模型選擇**: 待決定 (GPT-4/Claude/自建模型)
|
||||
- [ ] **評分閾值設定**: 定義「優秀」標準的具體分數
|
||||
- [ ] **即時分析**: 目標響應時間 < 2秒
|
||||
- [ ] **成就觸發機制**: 自動檢測並發放對應獎勵
|
||||
- [ ] **成就觸發機制**: 於遊戲結束時,自動檢測並發放對應獎勵
|
||||
|
||||
## AI 對話分析功能
|
||||
|
||||
|
|
@ -36,13 +70,16 @@
|
|||
|
||||
- [ ] **每句話即時分析**: 用戶說出的每句話都進行即時判斷
|
||||
- 語法正確性分析(即時顯示於對話功能欄)
|
||||
- 口說評分(即時顯示於對話功能欄)
|
||||
- 任務完成狀態檢測
|
||||
- 指定詞彙使用檢測
|
||||
- [ ] **每句話點擊後分析**:用戶說出的每句話,點擊後才觸發
|
||||
- 語用建議(當用戶點擊對話查看語用建議,則生成當前對話相對於整體對話的語用建議)
|
||||
- [ ] **即時成功通知**: 當用戶提及詞彙或完成任務時立即回饋
|
||||
- [ ] **三維度結算評分**: 對話結束後的綜合評分
|
||||
- 對話語意合適分數(滿分100,>60為合格)
|
||||
- 語法錯誤率(必須=0,所有句子都正確或訂正後正確)
|
||||
- 表達流暢平均分數(滿分100,>60為合格)
|
||||
- 語法錯誤率:整個劇本對話語法錯誤清單
|
||||
- 語用建議:整個劇本對話的語用建議
|
||||
- 口說整體的平均分數
|
||||
|
||||
## 情境對話核心系統
|
||||
|
||||
|
|
@ -91,7 +128,7 @@
|
|||
- [ ] **回應思緒引導**: 分析用戶聽到這句話的反應及可能的回覆方向
|
||||
- [ ] **回覆範例生成**: 生成一句具體的回覆範例
|
||||
|
||||
#### 免費輔助工具
|
||||
#### 免費輔助功能
|
||||
- [ ] **劇情任務範例**:
|
||||
- 點擊任務提示按鈕後顯示一句範例
|
||||
- 說明「這樣說可以完成任務」
|
||||
|
|
@ -128,7 +165,7 @@
|
|||
- [ ] **詞彙選擇題**:
|
||||
- 根據示意圖選出正確的英文詞彙
|
||||
- 4選1的單選題形式
|
||||
- 答錯會扣除命條(-1)並在最後重新測試
|
||||
- 答錯時,將題目並在最後重新測試
|
||||
- [ ] **通關機制**: 所有詞彙題目都答對才算通關,直接獲得三顆星
|
||||
|
||||
#### 詞彙熟悉關卡
|
||||
|
|
@ -142,6 +179,26 @@
|
|||
- 提升詞彙識別和記憶連結
|
||||
- [ ] **通關機制**: 所有配對和重組正確才算通關,直接獲得三顆星
|
||||
|
||||
#### 詞彙口說關卡
|
||||
- 這關如果要玩,是要消耗5鑽石,
|
||||
- 一一秀出詞彙例句,用戶要念出例句,系統會進行口說評分
|
||||
-
|
||||
- [ ] **口說評分**: 評估口說表達的自然度和流暢性
|
||||
- 評分標準:整體評分 = 發音評分 & 完整度評分 & 流暢度評分
|
||||
- 發音評分
|
||||
- 完整度評分
|
||||
- 流暢度評分
|
||||
- 分數標準
|
||||
- 96~100:完美
|
||||
- 81~95:優秀
|
||||
- 71~80:尚可
|
||||
- 0~70:不合格
|
||||
- 過關獎勵:
|
||||
- 96~100:+3 鑽石 + 30 XP
|
||||
- 81~95:+2 鑽石 + 20 XP
|
||||
- 71~80:+1 鑽石 + 10 XP
|
||||
- 0~70:時光卷
|
||||
|
||||
#### 詞彙內容設計標準
|
||||
基於劇本的5詞彙組合設計:
|
||||
- [ ] **詞彙組合**: 每個劇本包含5個詞彙
|
||||
|
|
@ -186,38 +243,6 @@
|
|||
- 更新詞彙複習次數和下次複習時間
|
||||
- 強化學習動機和持續性
|
||||
|
||||
## 限時對話系統 *(新增功能)*
|
||||
|
||||
### 300秒倒數計時機制
|
||||
基於最新規格的時間管理系統:
|
||||
|
||||
#### 時間控制引擎
|
||||
- [ ] **精準計時系統**:
|
||||
- 300秒(5分鐘)的精確倒數計時
|
||||
- 支援暫停和恢復功能(特殊情況下)
|
||||
- 時間剩餘的視覺化顯示
|
||||
|
||||
- [ ] **時間壓力分析**:
|
||||
- 分析時間壓力對用戶表現的影響
|
||||
- 記錄不同時間段的對話品質變化
|
||||
- 優化時間分配的學習建議
|
||||
|
||||
- [ ] **結算觸發機制**:
|
||||
- 時間歸零自動觸發結算
|
||||
- 支援用戶主動點擊「結算表現」
|
||||
- 確保數據完整保存和分析
|
||||
|
||||
#### 時間效率優化
|
||||
- [ ] **進度加權評分**:
|
||||
- 基於完成時間給予額外評分
|
||||
- 鼓勵高效但準確的對話完成
|
||||
- 平衡速度與品質的評分機制
|
||||
|
||||
- [ ] **時間管理指導**:
|
||||
- 提供時間分配的策略建議
|
||||
- 分析用戶的時間使用模式
|
||||
- 協助提升對話效率
|
||||
|
||||
## 關卡結算與訂正系統 *(新增基於最新規格)*
|
||||
|
||||
### 關卡表現結算
|
||||
|
|
@ -230,16 +255,121 @@
|
|||
|
||||
#### 表現評分系統
|
||||
- [ ] **評分標準** (每合格一項獲得一顆星):
|
||||
1. **對話語意合適分數 > 60** (滿分100)
|
||||
- 根據上下文一致性進行評分
|
||||
- 語境適應性評估
|
||||
- 意圖匹配度分析
|
||||
2. **語法錯誤率 = 0**
|
||||
1. **語法錯誤率 = 0**
|
||||
- 用戶說的每句話經過語法判定都正確
|
||||
- 或者訂正後都正確亦可
|
||||
3. **表達流暢平均分數 > 60** (滿分100)
|
||||
2. **表達流暢平均分數 > 60** (滿分100)
|
||||
- 用戶說的每句話都會有流暢度分數
|
||||
- 所有分數平均即為表達流暢平均分數
|
||||
3. **對話語用評估分數 只建議不評分**
|
||||
- 語用標準定義與用途:
|
||||
1. **日常寒暄 (Small Talk)**
|
||||
- 定義:不以傳遞實質資訊為主要目的,而是用於建立或維持社交關係的言談
|
||||
- 用途:
|
||||
- 建立對話氛圍與人際連結
|
||||
- 作為開場、轉場或緩和氣氛的策略
|
||||
- 在客服或 AI 助手中,用來提升「人性化」感
|
||||
2. **間接表達 (Indirectness)**
|
||||
- 定義:透過暗示、委婉語或迂迴方式表達意圖,避免直接衝突
|
||||
- 用途:
|
||||
- 避免冒犯,維持人際和諧
|
||||
- 展現禮貌或文化上的尊重
|
||||
- 在跨文化溝通中,辨識不同社會的表達習慣
|
||||
3. **填充語 (Fillers)**
|
||||
- 定義:非必要詞語,用來填補語流空隙、保持連續或爭取思考時間
|
||||
- 用途:
|
||||
- 提示對方「話還沒說完」
|
||||
- 增加口語自然度(模擬真實對話)
|
||||
- 作為語音辨識或對話系統的特徵,用於偵測自然口語
|
||||
4. **同理回應 (Backchanneling)**
|
||||
- 定義:聽話者以簡短語言或聲音表達注意、理解或支持,不打斷主要話輪
|
||||
- 用途:
|
||||
- 提供傾聽與理解的訊號,維持互動流暢
|
||||
- 增強情感支持與共鳴
|
||||
- 在對話系統中,提升使用者「被理解」的感受
|
||||
5. **模糊語 (Hedging)**
|
||||
- 定義:降低語氣確定性,避免過度斷言的語言策略
|
||||
- 用途:
|
||||
- 顯示謹慎,降低爭議風險
|
||||
- 表達禮貌,避免武斷或冒犯
|
||||
- 在學術或專業語境中,用來維持客觀或彈性
|
||||
6. **文化慣用語 (Idioms)**
|
||||
- 定義:文化群體中固定的表達方式,通常無法逐字翻譯
|
||||
- 用途:
|
||||
- 增加語言的自然性與文化深度
|
||||
- 強化群體認同感
|
||||
- 作為語言學習與跨文化理解的重要素材
|
||||
|
||||
- **語用評分範例**:
|
||||
```
|
||||
--- Dialogue
|
||||
|
||||
👨(Client):How is Mr. Davies feeling about our upcoming meeting?
|
||||
|
||||
👨(Business Professional):Wow, you know what he is very anxious to meet you
|
||||
|
||||
The client is responding to the business professional's statement about Mr. Davies being anxious to meet him. He acknowledges the information and expresses his own anticipation for the meeting, maintaining a professional and engaged tone....
|
||||
|
||||
👨(Client):Anxious, you say? That's good to hear. I'm looking forward to it as well.
|
||||
|
||||
--- Overall Comment
|
||||
|
||||
【分數】:✅ 通過
|
||||
【評論】:客戶在本次對話中展現了良好的專業溝通能力。他能夠清晰、直接地回應對方的信息,並有效使用附和語來維持對話的參與感。
|
||||
【建議】:建議客戶在未來的對話中,根據情境需要,可以考慮適度運用間接表達和模糊語,以增加語氣的彈性與委婉度,尤其是在面對敏感話題或需要更細緻溝通的場合。持續保持積極的傾聽和回應,將有助於建立更良好的互動關係。
|
||||
|
||||
--- Intent Achievement Evaluation
|
||||
|
||||
🌍 Scenario:
|
||||
A professional setting where a person is informing another about a third party's eagerness to meet them, possibly before an introduction or a significant meeting. The man in the suit suggests a formal context.
|
||||
|
||||
🎯 Intent:
|
||||
Inform about someone's eagerness to meet.
|
||||
|
||||
🎯 是否實踐意圖:
|
||||
|
||||
【分數】:Yes
|
||||
【評論】:客戶成功地表達了對對方所提供信息的理解,並明確傳達了他對即將到來的會議的期待。
|
||||
【建議】:意圖已完全達成,表現良好,無需改進。
|
||||
|
||||
--- Pragmatic Evaluation
|
||||
|
||||
😊 日常寒暄 (Small Talk)
|
||||
|
||||
【分數】:4分
|
||||
【評論】:客戶的應答簡潔專業,直接表達了對會面的期待,符合商務情境。
|
||||
【建議】:在此情境下,客戶的表現良好,無需特別改進。如果想在開場時增加一點點寒暄,可以簡短地說 "It's a pleasure to finally connect, I hear great things."
|
||||
|
||||
🌀 間接表達 (Indirectness)
|
||||
|
||||
【分數】:0分
|
||||
【評論】:客戶的回應直接且清晰,沒有使用間接表達。在此情境下,直接性是可接受的,因此此項得分0分並非表示表現不佳,而是因為間接表達在此情境中並非必要且客戶未採用。
|
||||
【建議】:如果想讓語氣更委婉或在某些情況下顯得更為謹慎,可以使用間接句型,例如 "I appreciate you sharing that. It sounds like he's quite keen, and I share that sentiment." 或 "It's certainly encouraging to hear his eagerness; I'm equally enthusiastic."
|
||||
|
||||
🤔 填充語 (Fillers)
|
||||
|
||||
【分數】:0分
|
||||
【評論】對話中沒有使用語氣詞。在此情境下,不使用語氣詞保持了專業和清晰度。此項得分0分,因其在本次對話中屬於非必要項目且未被使用。
|
||||
【建議】:保持清晰流暢的表達是良好的習慣。若未來在需要思考或組織語言時,可適度使用一些無害的填充詞如 "Well," 或 "You know," 來避免冷場,但應避免過度使用。例如:"Well, that's good to hear. I'm looking forward to it as well."
|
||||
|
||||
🙆 同理回應 (Backchanneling)
|
||||
|
||||
【分數】:5分
|
||||
【評論】:客戶有效地使用了附和語 "Anxious, you say?",這表明他專注於對話並確認了對方提供的信息,有助於維持對話的流暢性與參與感。
|
||||
【建議】:繼續保持這種積極的傾聽和回應。在其他情況下,也可以使用 "I see what you mean," "Right," 或 "Exactly," 等來表示理解和附和。
|
||||
|
||||
🤷 模糊語 (Hedging)
|
||||
|
||||
【分數】:2分
|
||||
【評論】:客戶的表達比較直接,沒有使用模糊語來軟化語氣或預留彈性。在這種專業且直接的語境下,雖然直接表達沒問題,但適度的模糊語可以使語氣更溫和或為未來討論留下空間。
|
||||
【建議】:在某些情境下,尤其是在討論尚未確定的事項或表達個人看法時,適當使用模糊語(hedging)可以讓語氣更委婉,避免過於武斷。例如,可以說 "I suppose that's good to hear" 或 "I'm certainly looking forward to it as well, assuming everything goes according to plan."
|
||||
|
||||
🐉 文化慣用語 (Idioms)
|
||||
|
||||
【分數】:0分
|
||||
【評論】:對話中沒有使用慣用語。在正式的商務場合,避免使用過多的慣用語有助於保持溝通的清晰度,尤其是在面對不同文化背景的對話者時。此項得分0分,因其在本次對話中屬於非必要項目且未被使用。
|
||||
【建議】:在正式場合,直接清晰的表達比慣用語更受青睞。如果希望增加語言的豐富性,可以在非正式場合適度使用,但務必確保對方能理解。
|
||||
```
|
||||
|
||||
### 結算流程系統
|
||||
#### 過關流程
|
||||
Loading…
Reference in New Issue