# ✅ Checklist Bài Toán Web + AI Phổ Biến tại Doanh Nghiệp Việt Nam

> **Mục đích:** Tham khảo khi chọn project portfolio | Đánh giá mức độ hoàn thiện sản phẩm AI

---

## 1. 🤖 Chatbot Khách Hàng

> **Bối cảnh:** TMĐT, ngân hàng, bảo hiểm, logistics — cần phản hồi 24/7, giảm tải CSKH

### Checklist Tính Năng Cần Có

- [ ] **Hiểu tiếng Việt tự nhiên** — xử lý được viết tắt, teen code, lỗi chính tả thường gặp (`k` = không, `dc` = được, `ship` = giao hàng)
- [ ] **Phân loại ý định (Intent Classification)** — phân biệt hỏi giá / tra đơn hàng / khiếu nại / tư vấn sản phẩm
- [ ] **Trích xuất thực thể (NER)** — nhận diện mã đơn hàng, tên sản phẩm, địa chỉ, số điện thoại từ tin nhắn
- [ ] **Tích hợp dữ liệu thời gian thực** — kết nối API tra cứu đơn hàng, tồn kho, lịch sử mua hàng
- [ ] **Fallback & Leo thang (Escalation)** — tự động chuyển nhân viên khi bot không trả lời được hoặc khách yêu cầu
- [ ] **Đa kênh** — hoạt động trên Zalo OA, Facebook Messenger, Web Widget, App cùng một luồng logic
- [ ] **Dashboard phân tích** — theo dõi tỷ lệ giải quyết thành công, câu hỏi thường gặp chưa có câu trả lời, CSAT

### Điểm Cộng Portfolio

```
✦ Có demo live trên Zalo / Web
✦ Xử lý được hội thoại nhiều lượt (multi-turn)
✦ Có cơ chế học từ feedback của nhân viên CSKH
```

---

## 2. 📚 Trợ Lý Nội Bộ RAG (Retrieval-Augmented Generation)

> **Bối cảnh:** Doanh nghiệp có kho tài liệu lớn (quy trình, hợp đồng, SOP, báo cáo) — nhân viên mất thời gian tìm kiếm thủ công

### Checklist Setup

- [ ] **Thu thập & chuẩn hóa tài liệu** — hỗ trợ PDF, DOCX, Excel, PowerPoint; xử lý font tiếng Việt, bảng biểu, header/footer
- [ ] **Chunking thông minh** — chia đoạn theo ngữ nghĩa (semantic chunking), không cắt giữa câu; chunk size phù hợp (~500–800 tokens)
- [ ] **Embedding tiếng Việt** — dùng model phù hợp (`bge-m3`, `multilingual-e5-large`, hoặc fine-tune trên domain)
- [ ] **Vector Database** — setup Qdrant / Weaviate / Chroma với metadata filtering (lọc theo phòng ban, ngày tạo, loại tài liệu)
- [ ] **Retrieval có đánh giá độ tin cậy** — trả về score similarity, chỉ đưa vào context khi vượt ngưỡng; tránh hallucination
- [ ] **Trích dẫn nguồn** — câu trả lời phải kèm tên file, số trang, đoạn văn gốc để nhân viên kiểm chứng
- [ ] **Phân quyền tài liệu** — nhân viên chỉ hỏi được tài liệu thuộc phạm vi quyền hạn của họ (HR ≠ Finance)

### Checklist Kỹ Thuật Nâng Cao

```
✦ Hybrid Search = Dense (vector) + Sparse (BM25) → tăng recall
✦ Reranking với cross-encoder sau bước retrieval
✦ Query rewriting khi câu hỏi mơ hồ
✦ Đánh giá pipeline bằng RAGAS (faithfulness, relevancy, context recall)
```

---

## 3. 🔍 Tìm Kiếm Ngữ Nghĩa (Semantic Search)

> **Bối cảnh:** Sàn TMĐT, tuyển dụng, bất động sản, thư viện số — tìm kiếm từ khóa truyền thống không hiểu được ý định người dùng

### Checklist Các Bước Triển Khai

- [ ] **Phân tích bài toán** — xác định rõ: tìm kiếm sản phẩm / hồ sơ / tài liệu / bài viết; dữ liệu có cấu trúc hay phi cấu trúc
- [ ] **Chuẩn bị & làm sạch dữ liệu** — chuẩn hóa tên sản phẩm, xử lý từ đồng nghĩa tiếng Việt (`áo thun` = `áo phông` = `áo cotton`)
- [ ] **Chọn & fine-tune Embedding Model** — baseline với multilingual model → fine-tune trên domain nếu có >1000 cặp query-document
- [ ] **Xây dựng index** — tạo vector index với HNSW; cấu hình `ef_construction`, `m` phù hợp với tốc độ/độ chính xác mong muốn
- [ ] **Kết hợp Semantic + Keyword (Hybrid)** — dùng RRF (Reciprocal Rank Fusion) để merge kết quả; không bỏ hoàn toàn full-text search
- [ ] **Đánh giá chất lượng** — đo Precision@K, Recall@K, MRR; so sánh A/B với hệ thống tìm kiếm cũ
- [ ] **Tối ưu UX** — gợi ý tìm kiếm (autocomplete), hiển thị lý do kết quả phù hợp, filter kết hợp (giá, khu vực, danh mục)

### Bộ Công Cụ Gợi Ý

| Thành phần | Lựa chọn phổ biến |
|---|---|
| Vector DB | Qdrant, Elasticsearch (dense), Meilisearch |
| Embedding | `bge-m3`, `VietAI/vit5`, OpenAI `text-embedding-3` |
| Reranker | `bge-reranker-v2-m3`, Cohere Rerank |
| Framework | LlamaIndex, Haystack, LangChain |

---

## 4. 📄 Tự Động Hóa Nhập Liệu OCR

> **Bối cảnh:** Kế toán, logistics, ngân hàng, y tế — xử lý hóa đơn, hợp đồng, phiếu xuất nhập kho, CMND/CCCD dạng ảnh/scan

### Checklist Triển Khai

- [ ] **Xác định loại tài liệu cần xử lý** — hóa đơn VAT / hợp đồng / phiếu giao nhận / giấy tờ cá nhân; mỗi loại cần pipeline khác nhau
- [ ] **Tiền xử lý ảnh** — căn chỉnh góc nghiêng (deskew), tăng độ tương phản, khử nhiễu, xử lý ảnh chụp điện thoại chất lượng thấp
- [ ] **OCR Engine phù hợp** — `PaddleOCR` hoặc `VietOCR` cho tiếng Việt; `Google Document AI` / `Azure Form Recognizer` nếu có ngân sách
- [ ] **Trích xuất trường thông tin có cấu trúc** — mapping vị trí text → trường dữ liệu (ngày, số tiền, tên người, mã số thuế) bằng layout model hoặc LLM
- [ ] **Hậu xử lý & validation** — kiểm tra định dạng (MST 10 số, ngày hợp lệ, tổng tiền khớp với chi tiết), highlight lỗi để người dùng review
- [ ] **Luồng Review của Con Người (Human-in-the-loop)** — UI cho phép nhân viên chỉnh sửa kết quả OCR sai; dữ liệu sửa dùng để cải thiện model
- [ ] **Xuất dữ liệu & tích hợp** — đẩy kết quả vào ERP (MISA, SAP), Google Sheets, database; hỗ trợ export JSON/CSV/XML

### Metrics Đánh Giá Chất Lượng

```
✦ Field Accuracy Rate ≥ 95% trên tài liệu chuẩn
✦ End-to-end processing time < 5 giây / tài liệu
✦ Tỷ lệ cần human review < 10%
✦ Đo riêng accuracy theo từng loại tài liệu
```

---

## 📊 Ma Trận Ưu Tiên Chọn Project Portfolio

| Bài Toán | Độ phức tạp | Giá trị thị trường VN | Phù hợp fresher | Phù hợp senior |
|---|:---:|:---:|:---:|:---:|
| Chatbot khách hàng | ⭐⭐⭐ | 🔥🔥🔥 | ✅ | ✅ |
| Trợ lý nội bộ RAG | ⭐⭐⭐⭐ | 🔥🔥🔥🔥 | ⚠️ | ✅ |
| Tìm kiếm ngữ nghĩa | ⭐⭐⭐ | 🔥🔥🔥 | ✅ | ✅ |
| OCR nhập liệu | ⭐⭐⭐⭐ | 🔥🔥🔥🔥🔥 | ⚠️ | ✅ |

---

> 💡 **Gợi ý:** Fresher nên bắt đầu với **Chatbot + Semantic Search** để build nền tảng. Senior hướng đến **RAG System + OCR Pipeline** vì gần với bài toán enterprise thực tế và có thể tính ROI rõ ràng cho doanh nghiệp.