Vietnamese Voice UX Notes v0.1
Phiên bản: 0.1 DRAFT
Ngày: 28/09/2026
1. Mục tiêu Voice Interface
NCT Việt Nam nhiều người:
- Thị lực kém → khó đọc chữ nhỏ
- Ít quen sử dụng bàn phím điện thoại
- Nói tiếng Việt phương ngữ (Bắc/Trung/Nam)
- Quen giao tiếp bằng giọng nói
→ Voice-first design là ưu tiên cho MVP
2. STT (Speech-to-Text) Considerations
2.1 Engine Options
| Engine | Vietnamese | Accuracy | Cost | Latency |
|---|---|---|---|---|
| Google Cloud STT | ✅ (vi-VN) | Tốt | $0.006/15s | <1s |
| Azure Speech | ✅ (vi-VN) | Tốt | $1/h | <1s |
| Whisper (OpenAI) | ✅ | Rất tốt | Self-host | 2-5s |
| VAIS (VN) | ✅ | Chấp nhận | Liên hệ | 1-2s |
2.2 Vietnamese-specific Challenges
- Dấu thanh: "đau" vs "dau" vs "đâu" vs "đầu"
- Phương ngữ: "gối" (Bắc) vs "gối" (Nam, phát âm khác)
- Thuật ngữ y khoa: NCT hay nói "đau khớp" thay vì "thoái hóa khớp"
- Noise: NCT thường ở nhà, TV chạy nền
- Pace: NCT nói chậm hơn, cần timeout dài hơn
2.3 Pre-processing Pipeline
NCT nói → STT → Normalize diacritics → Synonym mapping → Intent extraction → KB query
Synonym mapping examples:
- "đau gối" → knee_pain → taxonomy: THK_GOI
- "xương giòn" → osteoporosis → taxonomy: LX
- "đau lưng" → low_back_pain → taxonomy: DTL
- "gút" / "gout" / "gut" → gout → taxonomy: GUT
3. TTS (Text-to-Speech) Considerations
3.1 Voice Persona
- Giới tính: Nữ (gần gũi với NCT)
- Tuổi giọng: 35-45 (trẻ quá → thiếu tin cậy, già quá → khó nghe)
- Giọng: Bắc chuẩn (phổ thông nhất)
- Tốc độ: 0.85x-0.9x tốc độ bình thường (NCT cần nghe chậm hơn)
- Tone: Ấm, nhẹ nhàng, kính trọng
3.2 Speaking Rules
- Câu ngắn (≤20 từ/câu)
- Dùng "Cô/Bác" thay "bạn"
- Nghỉ giữa các ý (0.5s pause)
- Nhấn mạnh từ khóa quan trọng
- KHÔNG dùng thuật ngữ y khoa khó hiểu
3.3 Response Format
[Greeting, if first turn]
[Direct answer — 1-2 câu]
[Key details — 2-3 bullet points, đọc chậm]
[Safety note if applicable]
[Disclaimer — ngắn gọn]
[Call to action — "Cô/Bác muốn hỏi thêm gì?"]
4. Accessibility Priorities
| Priority | Feature | For whom | Implementation |
|---|---|---|---|
| P0 | Voice input/output | Mắt kém | STT + TTS |
| P0 | Font ≥18px | Mắt kém | CSS min-font-size |
| P1 | High contrast | Mắt kém | Dark mode + high contrast |
| P1 | Simple navigation | Ít quen công nghệ | Max 3 tap to answer |
| P2 | Offline FAQ | Ở vùng xa | Cache top 20 FAQ |
| P2 | Family proxy mode | Người thân hỏi hộ | Switch persona |
5. Error Handling Voice
| Situation | AI Response |
|---|---|
| Không nghe rõ | "Xin lỗi, tôi chưa nghe rõ. Cô/Bác nói lại được không ạ?" |
| Ngoài phạm vi | "Câu hỏi này ngoài kiến thức của tôi. Cô/Bác hỏi bác sĩ sẽ tốt hơn ạ." |
| Multiple intents | "Cô/Bác hỏi nhiều vấn đề. Để tôi trả lời từng câu nhé." |
| Sensitive topic | "Đây là vấn đề cần bác sĩ đánh giá. Cô/Bác nên đi khám sớm ạ." |
Next steps: Prototype voice UI with Google Cloud STT + TTS for pilot testing.