LOGGET – MẠNG XÃ HỘI NHẬT KÝ ĐỜI SỐNG TÍCH HỢP TRÍ TUỆ NHÂN TẠO
#CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
#1.1.1 Bối cảnh
Sự phát triển của mạng xã hội đã làm thay đổi đáng kể cách con người ghi lại, lưu trữ và chia sẻ các hoạt động trong cuộc sống. Người dùng hiện nay có thể dễ dàng chụp ảnh, quay video, viết trạng thái hoặc chia sẻ hoạt động của mình lên các nền tảng trực tuyến.
Tuy nhiên, phần lớn các nền tảng mạng xã hội hiện nay tập trung vào việc:
- Chia sẻ nội dung đã được hoàn thiện.
- Tương tác thông qua lượt thích, bình luận và chia sẻ.
- Xây dựng hình ảnh cá nhân.
- Tối ưu hóa lượng tương tác và thời gian sử dụng.
Điều này tạo ra một khoảng trống đối với những nội dung rất ngắn và mang tính đời thường.
Một người có thể muốn lưu lại:
- Một bữa ăn với bạn bè.
- Một buổi học.
- Một trận bóng.
- Một buổi sinh hoạt câu lạc bộ.
- Một khoảnh khắc vui trong ngày.
- Một đoạn video vài giây.
- Một suy nghĩ ngắn.
- Một hoạt động bất chợt.
Nhưng không phải mọi khoảnh khắc đều đủ quan trọng để trở thành một bài đăng hoàn chỉnh.
Bên cạnh đó, người dùng thường có rất nhiều dữ liệu cá nhân nhưng ít khi thực sự xem lại chúng. Hàng trăm ảnh, video, ghi chú và hoạt động được tạo ra nhưng nhanh chóng bị trôi khỏi dòng thời gian.
#1.1.2 Vấn đề cần giải quyết
Đề tài tập trung giải quyết ba vấn đề chính.
Thứ nhất, việc ghi lại cuộc sống còn có nhiều thao tác.
Người dùng thường phải mở camera, chọn chế độ, chụp/quay, chỉnh sửa, viết caption và quyết định có đăng hay không.
Thứ hai, dữ liệu cuộc sống chưa được khai thác hiệu quả.
Ảnh, video và ghi chú không chỉ là dữ liệu để lưu trữ. Chúng có thể chứa nhiều thông tin về:
- Hoạt động người dùng đang thực hiện.
- Bối cảnh.
- Địa điểm.
- Thời gian.
- Con người xuất hiện trong khoảnh khắc.
- Mức độ tương tác xã hội.
- Sự thay đổi trong thói quen sử dụng ứng dụng.
Thứ ba, mạng xã hội hiện tại chủ yếu yêu cầu người dùng chủ động tạo nội dung.
Logget hướng tới mô hình ngược lại:
Người dùng chỉ cần sống, ghi lại một khoảnh khắc hoặc viết một dòng ngắn; hệ thống hỗ trợ người dùng biến các dữ liệu nhỏ đó thành một dòng nhật ký sống động và có thể trở thành nội dung xã hội.
#1.1.3 Ý tưởng đề tài
Logget là một mạng xã hội tập trung vào micro-journaling – nhật ký đời sống ngắn, cho phép người dùng:
- Chụp ảnh.
- Quay video ngắn.
- Viết note.
- Lưu lại các hoạt động.
- Xem lại những gì mình đã ghi lại.
- Nhận phân tích tự động từ AI.
- Nhận điểm đánh giá hoạt động theo thời gian.
- Nhận gợi ý hoạt động phù hợp.
- Trong các phiên bản tương lai, chia sẻ và tương tác với bạn bè.
Thay vì yêu cầu người dùng phải tạo một bài đăng hoàn chỉnh, Logget hướng tới việc biến những khoảnh khắc nhỏ thành dữ liệu xã hội và cá nhân.
#1.2.1 Mục tiêu chính
Mục tiêu chính của đề tài là xây dựng một mạng xã hội thế hệ mới dựa trên dữ liệu đời sống ngắn, trong đó AI đóng vai trò phân tích và hỗ trợ thay vì chỉ sinh văn bản.
Hệ thống hướng tới:
- Ghi lại khoảnh khắc nhanh.
- Lưu trữ ảnh, video và note.
- Tự động phân tích dữ liệu.
- Đánh giá hoạt động theo thời gian.
- Hỗ trợ người dùng xem lại cuộc sống của mình.
- Tạo nền tảng cho các tính năng xã hội trong tương lai.
#1.2.2 Mục tiêu phụ
Đề tài hướng tới ba mục tiêu dài hạn:
Mục tiêu kinh doanh
Xây dựng sản phẩm có khả năng phát triển thành một nền tảng thương mại và mạng xã hội quy mô lớn.
Mục tiêu xã hội
Khuyến khích việc ghi lại và chia sẻ những khoảnh khắc đời thường theo hướng tự nhiên, nhân văn hơn thay vì chỉ tập trung vào hình ảnh được chỉnh sửa và hoàn thiện.
Mục tiêu hệ sinh thái
Sau khi nền tảng có đủ người dùng và dữ liệu, Logget có thể mở rộng thành hệ sinh thái bao gồm:
- Mạng xã hội.
- Nhật ký cá nhân.
- AI cá nhân.
- Khám phá hoạt động.
- Kết nối bạn bè.
- Hồ sơ hoạt động.
- Dịch vụ dành cho cộng đồng.
#1.2.3 Đối tượng sử dụng
Đối tượng người dùng mục tiêu là người trẻ, đặc biệt:
- Học sinh.
- Sinh viên.
- Người thường xuyên tham gia hoạt động ngoại khóa.
- Thành viên câu lạc bộ.
- Người có nhiều nhóm bạn.
- Người thích chụp ảnh/quay video.
- Người thường xuyên chia sẻ hoạt động lên mạng xã hội.
- Những nhóm bạn thân có nhiều hoạt động chung.
#1.2.4 Phạm vi MVP
Phiên bản MVP/V1 tập trung vào:
- Chụp ảnh.
- Quay video ngắn.
- Lưu dữ liệu.
- Take note.
- Chat AI.
- Phân tích ảnh/video/note.
- Đánh giá hoạt động sau một khoảng thời gian.
- Xem lại dữ liệu đã upload.
- Gợi ý hoạt động cơ bản.
Các chức năng xã hội nâng cao chưa nằm trong MVP.
#1.3.1 Định hướng sản phẩm
Logget được xây dựng dựa trên ba lớp trải nghiệm:
CAPTURE
↓
UNDERSTAND
↓
CONNECT
Trong đó:
#Capture
Người dùng ghi lại cuộc sống:
- Ảnh.
- Video.
- Note.
#Understand
AI và hệ thống phân tích:
- Nội dung hình ảnh.
- Nội dung video.
- Hoạt động.
- Thời gian.
- Tần suất sử dụng.
- Các mẫu hành vi.
#Connect
Hệ thống trong tương lai cho phép:
- Chia sẻ.
- Kết nối bạn bè.
- Xem hoạt động của nhau.
- Thể hiện trạng thái.
- Tham gia hoạt động chung.
#1.3.2 Định hướng AI
Một nguyên tắc quan trọng của đề tài là:
AI không chỉ là chatbot sinh văn bản.
AI được sử dụng chủ yếu để nhận biết, phân loại, tính toán, dự đoán và đề xuất.
Các hướng AI đề xuất:
AI Computer Vision
Phân tích ảnh:
- Nhận diện cảnh.
- Nhận diện vật thể.
- Phân loại hoạt động.
- Nhận diện bối cảnh.
- Phát hiện nhiều người.
- Ước lượng mức độ hoạt động xã hội.
Ví dụ:
Ảnh:
5 người + sân bóng + ngoài trời
↓
AI Vision
↓
Activity:
"Team Sports"
Social Context:
"Group Activity"
Environment:
"Outdoor"
AI Video Understanding
Đối với video ngắn, hệ thống có thể:
- Lấy các frame đại diện.
- Phân tích từng frame.
- Theo dõi thay đổi theo thời gian.
- Tổng hợp thành một activity classification.
Ví dụ:
Video 8 giây
↓
Frame Sampling
↓
Vision Model
↓
Temporal Analysis
↓
"Playing Football"
AI Multimodal Embedding
Ảnh, video và note có thể được chuyển thành vector embedding.
Điều này cho phép hệ thống:
- Tìm các khoảnh khắc tương tự.
- Nhóm các hoạt động.
- Tìm lại ký ức liên quan.
- Phát hiện chủ đề lặp lại.
- Làm nền tảng cho hệ thống recommendation.
Đây là một hướng AI quan trọng vì nó không cần sinh văn bản.
AI Activity Classification
Hệ thống phân loại hoạt động:
Study
Sports
Travel
Food
Friends
Club
Entertainment
Work
Rest
Other
Kết quả có thể lưu dưới dạng:
{
"activity": "sports",
"confidence": 0.94,
"social_context": "group",
"environment": "outdoor"
}
AI Behavioral Analysis
Sau khi có dữ liệu trong một khoảng thời gian, hệ thống phân tích:
- Tần suất hoạt động.
- Sự đa dạng hoạt động.
- Mức độ xã hội.
- Thời gian hoạt động.
- Xu hướng thay đổi.
Ví dụ:
7 ngày gần nhất
Sports ████████
Friends ██████
Study █████████
Entertainment ███
Rest ██
AI có thể phát hiện pattern:
Người dùng có xu hướng tham gia nhiều hoạt động nhóm vào cuối tuần.
Đây là behavioral analytics, không phải chatbot.
AI Recommendation
Dựa trên:
- Hồ sơ người dùng.
- Lịch sử hoạt động.
- Hoạt động gần đây.
- Sở thích.
- Mức độ tương tác.
- Các hoạt động trước đây.
hệ thống đề xuất hoạt động.
Ví dụ:
User Profile
+
Activity History
+
Context
↓
Recommendation Model
↓
Possible Activities
Các hình thức đề xuất:
- Chọn một hoạt động.
- Danh sách 3–5 hoạt động.
- Random wheel.
- "Surprise me".
- Hoạt động dành cho nhóm bạn.
#1.3.3 Nguyên tắc an toàn
Điểm số AI không được trình bày như một chẩn đoán tâm lý hoặc y khoa.
Thay vì:
"Bạn đang bị stress."
hệ thống nên sử dụng:
"Tuần này bạn có xu hướng ghi nhận ít hoạt động xã hội hơn tuần trước."
Hoặc:
"Hoạt động của bạn trong 7 ngày qua tập trung nhiều vào học tập."
Điều này giúp hệ thống trở thành công cụ phản ánh hành vi thay vì đưa ra chẩn đoán sức khỏe.
Đồ án gồm 6 chương chính:
- Chương 1: Giới thiệu đề tài.
- Chương 2: Khảo sát và phân tích yêu cầu.
- Chương 3: Nền tảng lý thuyết và công nghệ.
- Chương 4: Phân tích thiết kế, triển khai và đánh giá hệ thống.
- Chương 5: Các giải pháp và đóng góp nổi bật.
- Chương 6: Kết luận và hướng phát triển.
Ngoài ra đồ án bao gồm:
- Tài liệu tham khảo.
- Phụ lục.
- Đặc tả Use Case.
#CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU
#2.1.1 Mạng xã hội truyền thống
Các nền tảng mạng xã hội phổ biến thường tập trung vào:
- Feed.
- Post.
- Like.
- Comment.
- Share.
- Follow.
- Story.
- Short video.
Mô hình phổ biến:
Create Content
↓
Edit
↓
Publish
↓
Social Interaction
Nhược điểm là người dùng thường phải chủ động tạo nội dung.
#2.1.2 Nhật ký cá nhân
Ứng dụng journal truyền thống thường tập trung vào:
- Text.
- Mood.
- Calendar.
- Personal reflection.
Tuy nhiên chúng thường thiếu yếu tố mạng xã hội.
#2.1.3 Các ứng dụng chia sẻ ảnh/video
Các ứng dụng hình ảnh/video giúp người dùng:
- Chụp ảnh.
- Quay video.
- Chỉnh sửa.
- Đăng bài.
- Tương tác.
Tuy nhiên, dữ liệu thường được tối ưu cho việc chia sẻ, không phải việc hiểu lại cuộc sống của người dùng.
#2.1.4 Khoảng trống của giải pháp
Logget kết hợp ba yếu tố:
| Đặc điểm | Mạng xã hội | Journal | Logget |
|---|---|---|---|
| Ảnh | Có | Có | Có |
| Video | Có | Hạn chế | Có |
| Note | Có | Có | Có |
| AI phân tích | Một phần | Một phần | Có |
| Phân tích hành vi | Hạn chế | Hạn chế | Có |
| Social | Có | Thấp | Có |
| Activity recommendation | Hạn chế | Hạn chế | Có |
| Micro-journaling | Hạn chế | Có | Trọng tâm |
#2.2 Tổng quan chức năng
Các Actor chính:
- User
- AI Service
- Database
- Notification/Scheduler Service
- Social Users trong các phiên bản sau.
Biểu đồ Use Case tổng quát:
#A. Nhóm Capture
Capture
├── Take Photo
├── Record Video
├── Preview Media
├── Save Media
└── Cancel Media
#B. Nhóm Journal
Journal
├── Create Note
├── Edit Note
├── Save Note
├── View Journal
├── Filter Journal
└── Search Memory
#C. Nhóm AI
AI
├── Analyze Image
├── Analyze Video
├── Analyze Note
├── Classify Activity
├── Calculate Activity Score
├── Analyze Behavior
└── Recommend Activity
#D. Nhóm Social
Social
├── Create Profile
├── Add Friend
├── Follow User
├── Share Activity
├── View Feed
├── React
└── Comment
Nhóm Social được triển khai từ Version 2 trở đi.
#User Flow mặc định
┌── Chụp/Quay ──> Lưu Media ──┐
Mở ứng dụng ─────┤ ├──> Trang/Tab tính năng
└── Không chụp/quay ───────────┘
Chi tiết:
START
↓
Open App
↓
Capture?
┌───────┴────────┐
YES NO
↓ ↓
Photo/Video Feature Tab
↓
Save
↓
Feature Tab
#User Flow Take Note
Take Note
↓
Input Text
↓
Optional Media
↓
Save
↓
Database
↓
AI Analysis
#User Flow AI
User Input
↓
AI Processing
↓
Wait for predefined period
↓
Automatic Analysis
↓
Score / Pattern / Recommendation
↓
User Review
#User Flow xem lại
View Again
↓
Timeline
↓
Filter
┌──────┼────┬──────┐
↓ ↓ ↓ ↓
Photo Video Note Activity
Luồng dữ liệu chính:
INPUT
│
┌───────┼────────┐
↓ ↓ ↓
Text Image Video
│ │ │
└───────┼────────┘
↓
Data Storage
↓
Services
↓
AI Processing
↓
Structured JSON
↓
Data Storage
↓
OUT
Ví dụ:
{
"media_id": "uuid",
"type": "image",
"activity": {
"label": "sports",
"confidence": 0.94
},
"context": {
"social": "group",
"environment": "outdoor"
},
"score": {
"activity": 82,
"social": 76
}
}
#2.3 Đặc tả chức năng
#Tên
Capture Activity
#Actor
User
#Mục tiêu
Cho phép người dùng nhanh chóng chụp ảnh hoặc quay video và lưu lại khoảnh khắc.
#Preconditions
- Ứng dụng đang hoạt động.
- Người dùng đã cấp quyền camera nếu cần.
#Main Flow
- User mở ứng dụng.
- Hệ thống hiển thị giao diện capture.
- User chụp ảnh hoặc quay video.
- Hệ thống hiển thị preview.
- User xác nhận lưu.
- Hệ thống upload dữ liệu.
- Media được lưu database/storage.
- AI analysis job được tạo.
- Hệ thống chuyển người dùng tới feature tab.
#Alternative Flow
Nếu người dùng hủy:
Preview
↓
Cancel
↓
Return Camera
#Output
Một media record mới được tạo.
#Tên
Create Journal Note
#Actor
User
#Mục tiêu
Cho phép người dùng lưu lại suy nghĩ hoặc thông tin ngắn.
#Main Flow
- User mở Take Note.
- Nhập nội dung.
- Có thể đính kèm media.
- Chọn Save.
- Backend validate dữ liệu.
- Note được lưu.
- AI analysis job được tạo.
- Hệ thống phân tích nội dung.
- Kết quả được lưu lại.
#Output
Journal entry.
#UC-03 – Phân tích Media
AI phân tích:
- Activity.
- Objects.
- Scene.
- Social context.
- Embedding.
#UC-04 – Tính Activity Score
Hệ thống tổng hợp:
- Activity signals.
- Frequency.
- Diversity.
- Social interaction.
- Temporal pattern.
#UC-05 – Xem lại Journal
User xem:
- Photo.
- Video.
- Note.
- Activity.
- Score.
- Timeline.
#UC-06 – Nhận Recommendation
Hệ thống sử dụng profile và lịch sử hoạt động để tạo danh sách hoạt động phù hợp.
#UC-07 – AI Conversation
Chat AI được sử dụng như một giao diện tương tác với dữ liệu cá nhân, thay vì trở thành tính năng AI duy nhất.
Ví dụ:
User:
"Tuần này tôi đã làm gì nhiều nhất?"
AI:
Data Retrieval
↓
Activity Aggregation
↓
Answer
Giá trị chính nằm ở data retrieval + reasoning trên dữ liệu của user, không phải việc viết văn bản.
#2.4 Yêu cầu phi chức năng
- Thao tác capture phải phản hồi nhanh.
- Upload media không được làm treo UI.
- AI processing có thể thực hiện bất đồng bộ.
- API response cho thao tác thông thường nên ở mức vài trăm mili giây khi không thực hiện AI inference trực tiếp.
Hệ thống phải có khả năng mở rộng:
MVP
↓
More Users
↓
More Media
↓
More AI Jobs
↓
Queue / Worker
↓
Distributed Services
- Authentication.
- Authorization.
- Password hashing.
- Token authentication.
- Validation input.
- Kiểm soát quyền truy cập media.
- Không cho phép user truy cập dữ liệu của user khác trái phép.
Do dữ liệu có thể chứa ảnh và video cá nhân, hệ thống cần:
- Có cơ chế private/public.
- Kiểm soát quyền chia sẻ.
- Cho phép xóa dữ liệu.
- Không sử dụng dữ liệu cá nhân cho mục đích khác nếu chưa có sự đồng ý phù hợp.
Ứng dụng phải:
- Dễ sử dụng.
- Capture nhanh.
- Không yêu cầu nhiều bước.
- UI trực quan.
- Phù hợp người dùng trẻ.
Nếu AI service thất bại:
Upload
↓
Database
↓
AI Failed
↓
Retry
Media vẫn phải được lưu thành công.
#CHƯƠNG 3. NỀN TẢNG LÝ THUYẾT VÀ CÔNG NGHỆ SỬ DỤNG
AI trong Logget được chia thành nhiều nhóm.
#Computer Vision
Sử dụng để hiểu ảnh/video.
Các bài toán:
- Image classification.
- Object detection.
- Scene recognition.
- Image embedding.
#Video Understanding
Video được xử lý thông qua:
Video
↓
Frame Extraction
↓
Vision Model
↓
Temporal Aggregation
↓
Activity Classification
#Natural Language Processing
NLP được sử dụng để:
- Phân tích note.
- Phân loại chủ đề.
- Trích xuất keyword.
- Embedding.
- Tìm kiếm ngữ nghĩa.
NLP không nhất thiết phải sử dụng LLM sinh văn bản.
#Recommendation System
Hệ thống đề xuất dựa trên:
User Profile
+
Activity History
+
Context
+
Similarity
↓
Recommendation
Mỗi media/note có thể được biểu diễn bằng vector:
Content
↓
Embedding Model
↓
Vector
Ví dụ:
"Đi đá bóng với bạn"
↓
[0.12, -0.34, 0.78, ...]
Khi user tìm:
"những lần đi chơi thể thao với bạn"
hệ thống có thể tìm các nội dung tương đồng về ngữ nghĩa thay vì chỉ tìm keyword chính xác.
Một khoảnh khắc riêng lẻ có giá trị hạn chế.
Nhưng:
Day 1
Day 2
Day 3
...
Day 7
tạo thành behavioral timeline.
Hệ thống có thể tính:
- Activity frequency.
- Activity diversity.
- Social activity ratio.
- Personal activity ratio.
- Active hours.
- Weekly change.
Hệ thống gồm:
Frontend
↓ HTTP/REST
Backend API
↓
Services
↓
Database / Storage
↓
AI Services
#Frontend
- React.
- JavaScript/TypeScript.
- Vite.
- CSS/Tailwind hoặc UI framework phù hợp.
#Backend
- Python.
- FastAPI.
- Pydantic.
- SQLAlchemy.
#Database
- PostgreSQL.
#Migration
- Alembic.
#AI
Có thể tích hợp:
- PyTorch.
- OpenCV.
- Librosa khi cần xử lý audio trong các module tương lai.
- Hugging Face Transformers.
- Sentence Transformers.
- Các model Computer Vision phù hợp.
#Storage
MVP có thể sử dụng:
Local File Storage
và có thể chuyển sang:
Object Storage
khi hệ thống mở rộng.
#CHƯƠNG 4. PHÂN TÍCH THIẾT KẾ, TRIỂN KHAI VÀ ĐÁNH GIÁ HỆ THỐNG
#4.1 Thiết kế kiến trúc
MVP sử dụng kiến trúc Layered Architecture kết hợp Service-Oriented Design.
Lý do:
- Dễ phát triển.
- Dễ kiểm thử.
- Tách business logic.
- Có thể mở rộng AI service.
- Phù hợp nhóm phát triển nhỏ.
Không nên triển khai microservices hoàn chỉnh ngay từ MVP vì sẽ tạo thêm:
- Network complexity.
- Deployment complexity.
- Monitoring complexity.
- Data consistency issues.
Do đó:
MVP dùng modular monolith, nhưng thiết kế module đủ độc lập để tách service khi cần.
┌──────────────────────────────┐
│ Frontend │
│ React │
└──────────────┬───────────────┘
│ REST API
┌──────────────▼───────────────┐
│ FastAPI │
├──────────────────────────────┤
│ API Layer │
│ Authentication │
│ Validation │
│ Business Services │
│ AI Orchestration │
└──────┬─────────────┬─────────┘
│ │
▼ ▼
┌────────────┐ ┌─────────────┐
│ PostgreSQL │ │ File Storage│
└────────────┘ └─────────────┘
│
▼
┌──────────────────────────────┐
│ AI Services │
├──────────────────────────────┤
│ Vision │
│ Video Analysis │
│ NLP │
│ Embedding │
│ Recommendation │
│ Behavioral Analysis │
└──────────────────────────────┘
Backend có thể tổ chức:
backend/
├── app/
│ ├── api/
│ │ ├── routes/
│ │ │ ├── auth.py
│ │ │ ├── media.py
│ │ │ ├── notes.py
│ │ │ ├── activities.py
│ │ │ ├── scores.py
│ │ │ └── recommendations.py
│ │
│ ├── config/
│ ├── database/
│ ├── models/
│ ├── schemas/
│ ├── services/
│ │ ├── media_service.py
│ │ ├── journal_service.py
│ │ ├── activity_service.py
│ │ ├── score_service.py
│ │ └── recommendation_service.py
│ │
│ ├── ai/
│ │ ├── vision/
│ │ ├── video/
│ │ ├── nlp/
│ │ ├── embedding/
│ │ └── recommendation/
│ │
│ ├── storage/
│ └── main.py
│
├── alembic/
├── tests/
└── requirements.txt
#4.2 Thiết kế chi tiết
#Màn hình Home/Capture
Đây là màn hình quan trọng nhất.
Các thành phần:
- Camera.
- Capture button.
- Gallery.
- Quick note.
- Navigation.
Mục tiêu:
Người dùng có thể ghi lại một khoảnh khắc với số thao tác tối thiểu.
#Feature Tab
Bao gồm:
Features
├── Take Note
├── AI
├── Score
├── Journal
└── More
#Take Note
Gồm:
- Text input.
- Add photo.
- Add video.
- Save.
#AI
Không nên thiết kế như một chatbot truyền thống duy nhất.
Có thể chia thành:
AI
├── Ask about my activities
├── Analyze my week
├── Find a memory
└── What should I do?
#Score
Hiển thị:
Your Week
Activity Score 82
Social Activity 76
Activity Diversity 88
Consistency 71
Điểm cần được giải thích bằng dữ liệu quan sát được.
#Journal
Timeline:
12 Sep
├── 08:30 Photo
├── 12:00 Note
├── 16:30 Football
└── 21:00 Photo
Các lớp chính:
User
├── id
├── username
└── profile
Media
├── id
├── user_id
├── type
├── path
└── created_at
JournalEntry
├── id
├── user_id
├── text
└── created_at
AIAnalysis
├── id
├── media_id
├── activity
├── confidence
└── embedding
ActivityScore
├── id
├── user_id
├── score
└── period
Recommendation
├── id
├── user_id
├── activity
└── reason
Quan hệ:
User
│
├────< Media
│
├────< JournalEntry
│
├────< ActivityScore
│
└────< Recommendation
Media
│
└──── AIAnalysis
#4.2.3 Thiết kế cơ sở dữ liệu
| Trường | Kiểu | Mô tả |
|---|---|---|
| id | UUID | Primary key |
| username | VARCHAR | Tên người dùng |
| VARCHAR | ||
| password_hash | VARCHAR | Password đã hash |
| created_at | TIMESTAMP | Ngày tạo |
| Trường | Kiểu | Mô tả |
|---|---|---|
| id | UUID | Primary key |
| user_id | UUID | Chủ sở hữu |
| type | VARCHAR | image/video |
| storage_path | TEXT | File location |
| created_at | TIMESTAMP | Thời gian |
| Trường | Kiểu | Mô tả |
|---|---|---|
| id | UUID | Primary key |
| user_id | UUID | Chủ sở hữu |
| content | TEXT | Nội dung |
| created_at | TIMESTAMP | Thời gian |
| Trường | Kiểu | Mô tả |
|---|---|---|
| id | UUID | Primary key |
| media_id | UUID | Media |
| activity_label | VARCHAR | Hoạt động |
| confidence | FLOAT | Độ tin cậy |
| social_context | VARCHAR | Ngữ cảnh xã hội |
| environment | VARCHAR | Môi trường |
| embedding | VECTOR | Vector embedding |
| Trường | Kiểu | Mô tả |
|---|---|---|
| id | UUID | Primary key |
| user_id | UUID | User |
| period_start | DATE | Bắt đầu |
| period_end | DATE | Kết thúc |
| activity_score | FLOAT | Điểm hoạt động |
| social_score | FLOAT | Điểm xã hội |
| diversity_score | FLOAT | Độ đa dạng |
#4.3 Xây dựng ứng dụng
| Thành phần | Công nghệ |
|---|---|
| Frontend | React |
| Build | Vite |
| Backend | FastAPI |
| Language | Python |
| Database | PostgreSQL |
| ORM | SQLAlchemy |
| Migration | Alembic |
| AI | PyTorch / Transformers |
| Vision | OpenCV / Vision Models |
| Embedding | Sentence Transformers |
| Testing | Pytest |
| API Testing | HTTPX |
| Version Control | Git |
| Containerization | Docker |
Phiên bản MVP hướng tới hoàn thành:
- Capture photo.
- Capture short video.
- Save media.
- Create note.
- Save journal.
- View uploaded content.
- AI analysis pipeline.
- Activity classification.
- Activity score.
- Basic recommendation.
- AI interaction.
Các chức năng social nâng cao được đưa vào roadmap.
#4.3.3 Minh họa các chức năng chính
Open App
↓
Camera
↓
Take Photo
↓
Preview
↓
Save
Take Note
↓
Write
↓
Save
↓
AI Processing
Photo
↓
Vision Model
↓
Activity
↓
Context
↓
Embedding
↓
Database
Activities
+
Frequency
+
Diversity
+
Social Context
↓
Scoring Engine
↓
Weekly Score
Kiểm thử:
- User service.
- Media service.
- Note service.
- Score calculation.
- Recommendation logic.
Ví dụ:
Input:
10 activities
Expected:
activity_score ∈ [0,100]
Các API cần kiểm thử:
POST /api/v1/media
GET /api/v1/media
POST /api/v1/notes
GET /api/v1/journal
GET /api/v1/scores
GET /api/v1/recommendations
Kiểm thử toàn bộ pipeline:
Upload
↓
Storage
↓
Database
↓
AI Job
↓
AI Analysis
↓
JSON
↓
Database
↓
Frontend
Kiến trúc triển khai:
Frontend
↓
Backend
↓
PostgreSQL
+
File Storage
+
AI Service
Trong giai đoạn đầu có thể triển khai trên một server.
Load Balancer
↓
┌────────┴────────┐
↓ ↓
API Server API Server
│ │
└────────┬────────┘
↓
PostgreSQL
│
┌────────────┴────────────┐
↓ ↓
Object Storage AI Queue
↓
AI Workers
#CHƯƠNG 5. CÁC GIẢI PHÁP VÀ ĐÓNG GÓP NỔI BẬT
Điểm nổi bật của Logget là thay đổi cách người dùng tạo nội dung.
Mạng xã hội truyền thống:
Think
↓
Create
↓
Edit
↓
Publish
Logget:
Live
↓
Capture
↓
Understand
↓
Share
Người dùng không cần biến mọi khoảnh khắc thành một bài đăng hoàn chỉnh.
Đây là đóng góp kỹ thuật quan trọng.
Thay vì:
User
↓
Chatbot
↓
Generated Text
Logget sử dụng:
Image ─────┐
Video ─────┤
Text ──────┤
Time ──────┤
History ───┘
↓
AI Understanding
↓
Structured Data
↓
Behavior Analysis
↓
Recommendation
AI trở thành lớp hiểu dữ liệu của mạng xã hội.
Một hướng phát triển quan trọng là xây dựng Life Graph.
Ví dụ:
User
│
├── Friend
│
├── Activity
│ ├── Football
│ ├── Study
│ └── Club
│
├── Place
│
├── Time
│
└── Memory
Qua thời gian, hệ thống có thể hiểu:
User
↓
Who they spend time with
↓
What they usually do
↓
When they do it
↓
What activities they enjoy
Điều này tạo nền tảng cho recommendation và social discovery.
Người dùng không nhất thiết phải nhập:
"Hôm nay tôi đi đá bóng với bạn."
Nếu ảnh/video đã chứa đủ tín hiệu, hệ thống có thể nhận diện:
Activity = Football
Participants = Group
Environment = Outdoor
Time = Evening
Như vậy dữ liệu được tạo ra với ít thao tác hơn.
Thay vì đánh giá ngay lập tức, hệ thống có thể đợi một khoảng thời gian:
Day 1
↓
Day 2
↓
Day 3
↓
...
Day 7
↓
AI Analysis
↓
Weekly Reflection
Điều này giúp tránh việc đưa ra kết luận chỉ dựa trên một khoảnh khắc.
Recommendation được thiết kế như một lựa chọn.
Ví dụ:
What do you want to do?
[Choose one]
[ Surprise me ]
[Spin the wheel]
Điều này biến AI từ một công cụ "ra lệnh" thành một công cụ hỗ trợ khám phá.
#Version 1 – Personal Logging
Mục tiêu:
Capture → Journal → AI → Score → Reflection
Chức năng:
- Chụp.
- Quay.
- Note.
- AI.
- Đánh giá.
- Journal.
- Recommendation cơ bản.
#Version 2 – Social
Mục tiêu:
Connect → Share → Interact
Chức năng:
- Friend.
- Follow.
- Share.
- Feed.
- Reaction.
- Comment.
#Version 3 – Activity Log
Mục tiêu:
Biến nhiều khoảnh khắc thành một hoạt động hoàn chỉnh.
Ví dụ:
14:00 Photo
14:20 Video
14:45 Photo
15:10 Note
AI nhận diện chúng thuộc cùng một activity:
14:00–15:10
Football with Friends
Tương tự mô hình setlog.
#Version 4 – Presence
Mục tiêu:
Cho phép người dùng thể hiện trạng thái hiện tại.
Ví dụ:
A
● Studying
B
● At Club Meeting
C
● Playing Football
Tương tự ý tưởng Presence của Discord nhưng tập trung vào hoạt động đời sống.
#Version 5 – AI Quality-of-Life Recommendation
Hệ thống xây dựng profile hành vi và sở thích.
Profile
+
History
+
Friends
+
Context
+
Time
↓
Recommendation Engine
Các chế độ:
- Recommended.
- Random.
- Surprise Me.
- Spin Wheel.
- With Friends.
- Nearby Activity.
- Weekend Mode.
Ví dụ:
"Bạn đã dành phần lớn tuần này cho học tập. Muốn thử một hoạt động nhóm vào cuối tuần không?"
Hoặc:
"Surprise me."
Hệ thống tự chọn một hoạt động phù hợp.
#CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
#6.1 Kết luận
Đề tài Logget hướng tới xây dựng một mô hình mạng xã hội khác với cách tiếp cận truyền thống.
Thay vì tập trung hoàn toàn vào việc tạo các bài đăng hoàn chỉnh, hệ thống bắt đầu từ những khoảnh khắc nhỏ trong cuộc sống:
Photo
Video
Note
↓
AI Understanding
↓
Activity
↓
Personal Memory
↓
Social Experience
Hệ thống MVP tập trung vào khả năng ghi lại, lưu trữ và phân tích dữ liệu người dùng. AI được sử dụng để nhận diện hoạt động, phân tích dữ liệu đa phương thức, xây dựng embedding, đánh giá xu hướng và tạo đề xuất.
Điểm quan trọng của đề tài là AI không bị giới hạn ở mô hình chatbot sinh văn bản. Thay vào đó, AI trở thành một lớp perception + analysis + recommendation của hệ thống.
Về lâu dài, Logget có khả năng phát triển từ một ứng dụng journal thành:
Một mạng xã hội hiểu được hoạt động và bối cảnh cuộc sống của người dùng.
#6.2 Hướng phát triển
Xây dựng:
- Friend graph.
- Follow graph.
- Interest graph.
- Activity graph.
Liên kết:
People
+
Places
+
Activities
+
Time
+
Memories
để tạo thành hồ sơ hoạt động động.
Kết hợp:
Text
Image
Video
Audio
Metadata
Behavior
để nâng cao khả năng hiểu ngữ cảnh.
AI có thể trở thành một lớp trợ lý cá nhân nhưng không nhất thiết phải giao tiếp bằng văn bản.
Ví dụ:
- Visual timeline.
- Activity map.
- Memory clusters.
- Automatic highlight.
- Pattern detection.
- Activity recommendation.
Tích hợp:
- Online status.
- Current activity.
- Group activity.
- Temporary status.
AI có thể phát hiện những người có hoạt động/sở thích tương đồng:
User A
↓
Activity Embedding
↓
Similarity Search
↓
User B
Từ đó gợi ý:
"Bạn và A thường tham gia các hoạt động tương tự."
Sau khi có lượng người dùng đủ lớn, hệ sinh thái có thể phát triển các nguồn doanh thu:
- Premium AI.
- Premium storage.
- Advanced analytics.
- Activity discovery.
- Brand collaboration.
- Event discovery.
- Local activity recommendation.
- Marketplace.
Mô hình thương mại cần được thiết kế sao cho không biến trải nghiệm cá nhân thành việc khai thác dữ liệu quá mức.
#TÀI LIỆU THAM KHẢO
- Ian Sommerville, Software Engineering, Pearson.
- Robert C. Martin, Clean Architecture, Prentice Hall.
- Martin Fowler, Patterns of Enterprise Application Architecture.
- PostgreSQL Documentation.
- FastAPI Documentation.
- SQLAlchemy Documentation.
- Alembic Documentation.
- React Documentation.
- PyTorch Documentation.
- OpenCV Documentation.
- Hugging Face Documentation.
- Sentence Transformers Documentation.
- Các tài liệu nghiên cứu về Computer Vision.
- Các tài liệu nghiên cứu về Multimodal Learning.
- Các tài liệu nghiên cứu về Recommendation Systems.
- Các tài liệu nghiên cứu về Human Activity Recognition.
#PHỤ LỤC
┌──────────────┐
│ OPEN APP │
└──────┬───────┘
↓
┌─────────────────────┐
│ Capture immediately?│
└──────┬────────┬─────┘
│ │
YES NO
│ │
↓ │
┌──────────────┐ │
│ Photo/Video │ │
└──────┬───────┘ │
↓ │
┌──────────────┐ │
│ Save Media │ │
└──────┬───────┘ │
│ │
└─────┬─────┘
↓
┌──────────────┐
│ Feature Tab │
└──────┬───────┘
│
┌──────────────────┼─────────────────┐
↓ ↓ ↓
Take Note Chat AI Score
↓ ↓ ↓
Save Note Auto Response Activity Data
↓ ↓ ↓
└──────────────────┼─────────────────┘
↓
┌──────────────┐
│ Journal │
└──────┬───────┘
↓
View Past Data
#ĐẶC TẢ USE CASE
| Thành phần | Nội dung |
|---|---|
| Use Case | Capture Photo |
| Actor | User |
| Mục tiêu | Chụp và lưu ảnh |
| Trigger | User nhấn capture |
| Preconditions | Camera available |
| Main Flow | Mở camera → chụp → preview → save |
| Alternative | Cancel |
| Postcondition | Media được lưu |
| Thành phần | Nội dung |
|---|---|
| Use Case | Record Video |
| Actor | User |
| Mục tiêu | Quay video ngắn |
| Main Flow | Camera → record → stop → preview → save |
| Postcondition | Video được lưu |
| Thành phần | Nội dung |
|---|---|
| Use Case | Create Note |
| Actor | User |
| Mục tiêu | Ghi journal |
| Main Flow | Open Note → Input → Save |
| Postcondition | Journal entry được tạo |
| Thành phần | Nội dung |
|---|---|
| Use Case | Analyze Media |
| Actor | AI Service |
| Input | Image/Video |
| Output | Activity + Context + Embedding |
| Trigger | Media được lưu |
| Execution | Asynchronous |
| Thành phần | Nội dung |
|---|---|
| Use Case | Analyze Journal |
| Actor | AI Service |
| Input | Text |
| Output | Topic + Embedding + Activity signals |
| Thành phần | Nội dung |
|---|---|
| Use Case | Calculate Score |
| Actor | AI/Scoring Service |
| Input | Historical Activities |
| Output | Score |
| Trigger | Đến kỳ đánh giá |
Các thành phần điểm có thể gồm:
Activity Score
Social Score
Diversity Score
Consistency Score
| Thành phần | Nội dung |
|---|---|
| Use Case | View Journal |
| Actor | User |
| Input | Date/filter |
| Output | Timeline |
| Main Flow | Open Journal → Load Entries → Display |
| Thành phần | Nội dung |
|---|---|
| Use Case | Find Memory |
| Actor | User |
| Input | Text/query |
| AI | Semantic Search |
| Output | Relevant memories |
Ví dụ:
Query:
"những lần đi chơi với bạn"
↓
Embedding
↓
Vector Search
↓
Relevant Media
| Thành phần | Nội dung |
|---|---|
| Use Case | Get Recommendation |
| Actor | User |
| Input | User profile + history |
| AI | Recommendation Engine |
| Output | Activity suggestions |
Triển khai từ Version 2.
| Thành phần | Nội dung |
|---|---|
| Actor | User |
| Input | Journal/Activity |
| Output | Social Post |
| Functions | Share, React, Comment |
Triển khai từ Version 3.
Hệ thống gom các media gần nhau về:
- thời gian;
- địa điểm;
- nội dung;
- embedding;
- activity classification.
Ví dụ:
18:00 Photo
18:05 Video
18:20 Photo
18:40 Note
AI:
Same Context
↓
Activity Clustering
↓
"Evening Football"
Triển khai từ Version 4.
Hệ thống sử dụng dữ liệu hoạt động để biểu diễn trạng thái:
● Studying
● Playing Sports
● At Club
● Hanging Out
● Travelling
Người dùng có quyền bật/tắt việc chia sẻ trạng thái.
Triển khai từ Version 5.
Hệ thống sử dụng:
Profile
+
Activity History
+
Preferences
+
Social Graph
+
Context
để đề xuất:
Recommended
Random
Surprise Me
With Friends
Weekend
#KIẾN TRÚC AI TỔNG THỂ ĐỀ XUẤT
Một kiến trúc AI có thể phát triển dần theo roadmap:
USER DATA
│
┌──────────────┼──────────────┐
↓ ↓ ↓
TEXT IMAGE VIDEO
│ │ │
↓ ↓ ↓
NLP VISION FRAME SAMPLING
│ │ │
│ │ ↓
│ │ VIDEO VISION
│ │ │
└──────────────┼──────────────┘
↓
MULTIMODAL FEATURES
↓
┌─────────┼──────────┐
↓ ↓ ↓
Activity Embedding Context
│ │ │
└─────────┼──────────┘
↓
USER ACTIVITY DB
↓
┌─────────┼──────────┐
↓ ↓ ↓
Scoring Behavioral Search
│ Analysis │
│ │ │
└─────────┼───────────┘
↓
Recommendation
↓
USER
Đây là phần có thể trở thành điểm nhấn kỹ thuật lớn nhất của đồ án: thay vì nói "ứng dụng có AI chatbot", Logget có một AI pipeline thực sự xử lý dữ liệu đa phương thức và biến dữ liệu thô thành structured behavioral data.
#ĐỊNH HƯỚNG PHÁT TRIỂN SẢN PHẨM
Có thể cô đọng toàn bộ tầm nhìn của Logget thành:
VERSION 1
Personal Logging
↓
VERSION 2
Social Network
↓
VERSION 3
Life Activity Timeline
↓
VERSION 4
Real-time Presence
↓
VERSION 5
AI-powered Quality of Life
↓
FUTURE
Life-oriented Social Ecosystem
Trong đó:
Mục tiêu cuối cùng không phải xây dựng một ứng dụng journal có tính năng mạng xã hội, mà là xây dựng một mạng xã hội trong đó các hoạt động đời sống là đơn vị nội dung cơ bản.
Điểm khác biệt cốt lõi:
Facebook / Instagram
Post → Social Interaction
Traditional Journal
Thought → Private Reflection
Logget
Moment → AI Understanding → Memory → Social Interaction