Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh bùng nổ thông tin và chuyển đổi số, tri thức đóng vai trò là nền tảng cốt lõi giúp con người giải quyết vấn đề, đưa ra quyết định và nâng cao năng suất lao động. Phương thức tiếp cận thông tin truyền thống qua tài liệu giấy, sách báo hoặc tìm kiếm dàn trải trên các công cụ duyệt web thông thường bộc lộ hạn chế lớn về thời gian và khả năng lọc thông tin chuyên biệt. Từ thực tiễn đó, việc phát triển các nền tảng hỏi đáp và chia sẻ kiến thức trực tuyến trở thành giải pháp thiết yếu. Các nền tảng này cho phép rút ngắn thời gian tìm kiếm câu trả lời nhờ cơ chế phân loại theo từ khóa và chuyên ngành, đồng thời nâng cao mức độ xác thực của thông tin thông qua cơ chế bình chọn và kiểm duyệt từ cộng đồng người dùng.

Khóa luận tốt nghiệp của tác giả Phan Hoàng Thanh Sơn (Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh) tập trung giải quyết bài toán xây dựng một hệ thống website chia sẻ kiến thức toàn diện, đáp ứng nhu cầu trao đổi học thuật và kỹ thuật. Các mục tiêu và nhiệm vụ nghiên cứu được phân định cụ thể cho hai nhóm đối tượng:

  1. Về phía người dùng hệ thống:

    • Xây dựng chức năng xác thực tài khoản: đăng ký, đăng nhập, đăng xuất và khôi phục mật khẩu thông qua thư điện tử (email).
    • Thiết lập không gian tương tác: đăng tải, chỉnh sửa câu hỏi; nhận thông báo khi có phản hồi mới; soạn thảo và cập nhật câu trả lời; gửi bình luận trao đổi.
    • Phát triển công cụ tìm kiếm và lọc nội dung theo từ khóa; hỗ trợ cơ chế bình chọn (upvote/downvote) để nâng cao chất lượng nội dung hiển thị; cho phép người đặt câu hỏi xác nhận câu trả lời chính xác nhất.
    • Tích hợp tính năng gợi ý 5 bài đăng liên quan nhất ngay trong quá trình người dùng soạn thảo tiêu đề câu hỏi nhằm hạn chế tình trạng trùng lặp dữ liệu.
    • Cung cấp tính năng gửi báo cáo vi phạm đối với tài khoản, câu hỏi hoặc câu trả lời có nội dung tiêu cực.
  2. Về phía người quản lý (Admin):

    • Quản trị tài khoản người dùng: tra cứu thông tin, thực hiện đóng hoặc mở khóa quyền truy cập của tài khoản.
    • Quản trị báo cáo vi phạm: tiếp nhận danh sách báo cáo từ người dùng, thực hiện phê duyệt (kèm phản hồi) hoặc từ chối xử lý (kèm lý do).
    • Theo dõi và thống kê các chỉ số vận hành: tỷ lệ phản hồi, số lượng câu hỏi, số lượng câu trả lời và tỷ lệ phần trăm biến động theo tuần.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Nhóm người dùng thường xuyên sử dụng trình duyệt web có nhu cầu tìm kiếm, trao đổi thông tin; các công nghệ kỹ thuật phục vụ phát triển ứng dụng web hiện đại (TypeScript, Node.js, ExpressJS, ReactJS, Redux, MongoDB) và các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) cơ bản.
  • Phạm vi nghiên cứu: Xây dựng hệ thống phần mềm web ứng dụng hoàn chỉnh cho bài toán hỏi đáp, chia sẻ kiến thức; phạm vi thời gian thực hiện đề tài từ ngày 03/03/2024 đến ngày 11/07/2024.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng hệ thống dựa trên nền tảng kiến trúc phần mềm hướng dịch vụ web kết hợp cơ sở dữ liệu tài liệu và kỹ thuật xử lý ngôn ngữ tự nhiên.

Khung công nghệ và nền tảng lý thuyết

  • Node.js và ExpressJS: Node.js hoạt động trên nền tảng V8 JavaScript Engine của Google Chrome, sử dụng mô hình kiến trúc đơn luồng (single-threaded), bất đồng bộ (asynchronous) và hướng sự kiện (event-driven) không chặn I/O, tối ưu cho các dịch vụ mạng và xây dựng API. Framework ExpressJS cung cấp hệ thống middleware linh hoạt hỗ trợ xử lý định tuyến HTTP, xác thực quyền truy cập và tạo lập RESTful API.
  • ReactJS và Redux: Thư viện giao diện ReactJS xây dựng ứng dụng dựa trên các thành phần (components) độc lập, kết hợp cơ chế Virtual DOM và cú pháp JSX cùng mô hình ràng buộc dữ liệu một chiều (One-Way Data Binding) giúp tối ưu hiệu năng hiển thị. Redux đóng vai trò quản lý tập trung trạng thái (state management) tại client.
  • MongoDB: Hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu (document-oriented), lưu trữ dữ liệu dưới dạng tài liệu JSON/BSON linh hoạt, loại bỏ các ràng buộc cấu trúc bảng cứng nhắc của cơ sở dữ liệu quan hệ, giúp tăng tốc độ truy vấn đối với dữ liệu phi cấu trúc và bán cấu trúc.
  • TypeScript & Python: TypeScript được triển khai đồng bộ ở cả tầng Frontend và Backend nhằm kiểm soát chặt chẽ kiểu dữ liệu của đối tượng, giảm thiểu lỗi runtime. Ngôn ngữ Python (phiên bản 3.x) được sử dụng để nghiên cứu và hiện thực các module xử lý dữ liệu ngôn ngữ.
  • Lý thuyết Xử lý ngôn ngữ tự nhiên (NLP): Đề tài tiếp cận quy trình xử lý ngôn ngữ văn bản qua 5 giai đoạn: (1) Phân tích hình thái (phân tách ký tự đặc biệt, dấu câu và thực hiện tách từ tiếng Việt dựa trên đặc thù âm tiết thay vì dấu cách đơn thuần như tiếng Anh); (2) Phân tích cú pháp; (3) Phân tích ngữ nghĩa; (4) Tích hợp văn bản; (5) Phân tích thực nghĩa. Kỹ thuật tách từ tiếng Việt được ứng dụng trực tiếp vào công cụ tìm kiếm và cơ chế gợi ý bài viết liên quan.

Phương pháp nghiên cứu và khảo sát thực tế

  • Phương pháp khảo sát hiện trạng: Tác giả tiến hành khảo sát và đánh giá thực nghiệm diễn đàn trao đổi kiến thức daynhauhoc.com. Kết quả khảo sát chỉ ra ưu điểm của hệ thống này là giao diện phổ biến, nội dung được kiểm duyệt chặt chẽ; tuy nhiên nhược điểm cốt lõi là người quản lý phải mất nhiều thời gian tìm kiếm thủ công nội dung liên quan để điều hướng trước khi đóng các bài đăng trùng lặp.
  • Phương pháp phân tích và thiết kế phần mềm: Áp dụng phương pháp phân tích hướng đối tượng với ngôn ngữ mô hình hóa thống nhất (UML), xây dựng hệ thống sơ đồ ca sử dụng (Use Case Diagram), sơ đồ tuần tự (Sequence Diagram) và sơ đồ lớp (Class Diagram) để mô hình hóa hành vi và cấu trúc của hệ thống.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình phân tầng rõ ràng, đảm bảo tính độc lập giữa giao diện người dùng, hệ thống API xử lý nghiệp vụ và tầng lưu trữ dữ liệu.

Thành phần hệ thống Công nghệ / Kỹ thuật sử dụng Vai trò và chức năng chính
Frontend ReactJS, TypeScript, Redux Xây dựng giao diện tương tác động, quản lý trạng thái luồng dữ liệu phía người dùng
Backend Node.js, ExpressJS, TypeScript Xây dựng hệ thống RESTful API, định tuyến middleware, xác thực và kiểm soát dữ liệu
Database MongoDB Lưu trữ toàn bộ dữ liệu người dùng, bài viết, bình chọn, phản hồi và thông báo
Search & NLP Module Python, Mô hình tách từ tiếng Việt Xử lý hình thái câu từ, thực hiện tách từ tiếng Việt và hỗ trợ thuật toán tìm kiếm/gợi ý

Thiết kế cơ sở dữ liệu

Hệ thống tổ chức lưu trữ dữ liệu thông qua 8 bảng/tập hợp (collections) chính:

  • users: Lưu trữ thông tin định danh, tài khoản người dùng và vai trò truy cập.
  • tokens: Quản lý mã định danh bảo mật phục vụ quá trình xác thực và khôi phục mật khẩu.
  • questions: Lưu trữ thông tin chi tiết các bài đăng câu hỏi, tiêu đề, nội dung và trạng thái.
  • answers: Lưu thông tin các câu trả lời do người dùng gửi lên hệ thống.
  • answerDetails: Lưu trữ chi tiết nội dung, phiên bản và thông số liên quan đến câu trả lời.
  • Votes: Ghi nhận trạng thái và số lượng đánh giá bình chọn (upvote/downvote) của người dùng.
  • comments: Lưu trữ chuỗi các bình luận trao đổi phụ thuộc vào từng câu trả lời.
  • notifications: Quản lý và chuyển tiếp các thông báo trạng thái hoạt động đến tài khoản.

Thiết kế luồng nghiệp vụ và giao diện

Hệ thống thiết lập 25 ca sử dụng (use case) cơ bản, được mô hình hóa bằng các lược đồ tuần tự chi tiết:

  • Luồng đăng ký, đăng nhập và đổi mật khẩu bảo mật qua liên kết gửi về email người dùng.
  • Luồng gửi câu hỏi kèm theo cơ chế kích hoạt tự động (luồng mở rộng): khi người dùng hoàn tất nhập tiêu đề, hệ thống phân tích và hiển thị danh sách 5 câu hỏi liên quan nhất.
  • Luồng duyệt/từ chối báo cáo vi phạm dành riêng cho quản trị viên với giao diện nhập nội dung phản hồi tương ứng.
  • Giao diện được thiết kế chuyên biệt cho từng tác vụ: trang chủ hiển thị bảng tin, khung soạn thảo Markdown/HTML, trang quản trị người dùng, khung điều hành báo cáo vi phạm.

Quy trình cài đặt và kiểm thử

Kế hoạch triển khai được thực hiện theo 8 giai đoạn tuần tự từ tháng 3/2024 đến tháng 7/2024:

  1. Giai đoạn 1 (03/03 - 10/03/2024): Khảo sát hiện trạng hệ thống daynhauhoc.com, thiết kế use case và mô hình hóa yêu cầu.
  2. Giai đoạn 2 (11/03 - 25/03/2024): Nghiên cứu MongoDB, ExpressJS kết hợp TypeScript và thiết kế cơ sở dữ liệu.
  3. Giai đoạn 3 (26/03 - 24/04/2024): Xây dựng giao diện người dùng bằng ReactJS với TypeScript.
  4. Giai đoạn 4 (25/04 - 09/05/2024): Phát triển API Backend, liên kết tích hợp giao diện, API và cơ sở dữ liệu.
  5. Giai đoạn 5 (10/05 - 17/05/2024): Nghiên cứu lý thuyết và các mô hình xử lý ngôn ngữ tự nhiên.
  6. Giai đoạn 6 (18/05 - 16/06/2024): Hiện thực và tích hợp module tách từ tiếng Việt vào công cụ tìm kiếm và gợi ý.
  7. Giai đoạn 7 (17/06 - 24/06/2024): Thiết lập tập dữ liệu giả lập và tiến hành kiểm thử các module.
  8. Giai đoạn 8 (25/06 - 08/07/2024): Kiểm thử toàn diện hệ sinh thái phần mềm và hoàn thiện báo cáo khóa luận.

Nội dung chính theo từng chương

Phần mở đầu

Phần mở đầu trình bày tính cấp thiết của đề tài xuất phát từ nhu cầu chia sẻ tri thức trực tuyến. Văn bản xác định rõ đối tượng nghiên cứu gồm người dùng nền tảng web và hệ thống công nghệ fullstack kết hợp NLP. Tác giả vạch rõ phạm vi nghiên cứu, mục tiêu chức năng cho cả hai nhóm người dùng (thành viên và người quản lý), đồng thời phân tích ý nghĩa khoa học trong việc phân tích hành vi tương tác xã hội và ý nghĩa thực tiễn trong việc hỗ trợ tự học, giải quyết vấn đề kỹ thuật.

Chương 1: Cơ sở lý thuyết

Chương 1 hệ thống hóa toàn bộ các nền tảng lý thuyết và công nghệ được sử dụng trong đồ án:

  • Phân tích chi tiết đặc tính kỹ thuật của môi trường Node.js (V8 engine, kiến trúc đơn luồng, xử lý I/O bất đồng bộ, hệ thống npm, khả năng mở rộng quy mô).
  • Giới thiệu framework ExpressJS cùng cơ chế middleware xử lý HTTP request/response.
  • Trình bày thư viện ReactJS với các khái niệm cốt lõi: Components, Virtual DOM, JSX và cơ chế ràng buộc dữ liệu một chiều (One-Way Data Binding).
  • Phân tích đặc điểm cơ sở dữ liệu NoSQL MongoDB, cấu trúc lưu trữ tài liệu JSON linh hoạt.
  • Tổng quan ngôn ngữ Python (phiên bản 3.x), các ưu điểm về cú pháp, hệ sinh thái thư viện (NumPy, Pandas, TensorFlow, Django) và tính ứng dụng đa nền tảng.
  • Trình bày cơ sở lý thuyết xử lý ngôn ngữ tự nhiên (NLP) qua 5 cấp độ: phân tích hình thái, phân tích cú pháp, phân tích ngữ nghĩa, tích hợp văn bản và phân tích thực nghĩa. Nêu rõ sự khác biệt của tiếng Việt khi đơn vị cơ sở là tiếng (âm tiết) thay vì từ phân tách bằng khoảng trắng như tiếng Anh.

Chương 2: Khảo sát hiện trạng và mô hình hóa yêu cầu

Chương 2 tập trung vào việc đánh giá hiện trạng và xác định quy chuẩn hệ thống:

  • Phân tích khảo sát diễn đàn daynhauhoc.com, đánh giá chi tiết chức năng, ưu điểm về giao diện và kiểm duyệt, cùng nhược điểm về việc tiêu tốn thời gian xử lý các bài đăng trùng lặp.
  • Xác định hệ thống yêu cầu chức năng (quản lý câu hỏi, câu trả lời, bình chọn, thông báo, thông tin cá nhân, tìm kiếm từ khóa, quản trị người dùng, quản trị báo cáo) và các yêu cầu phi chức năng (giao diện thân thiện, tốc độ phản hồi nhanh, độ chính xác cao khi tìm kiếm/sắp xếp).
  • Mô hình hóa chi tiết 25 ca sử dụng (use case) bằng biểu đồ use case tổng thể và hệ thống bảng đặc tả chi tiết từ Bảng 2.1 đến Bảng 2.25 (bao gồm mô tả, tác nhân, tiền điều kiện, hậu điều kiện, luồng cơ bản, luồng thay thế và luồng mở rộng).

Chương 3: Thiết kế phần mềm

Chương 3 trình bày các giải pháp thiết kế cấu trúc và giao diện ứng dụng:

  • Xây dựng sơ đồ lớp (Class Diagram) tổng thể biểu diễn mối quan hệ giữa các thực thể trong hệ thống.
  • Thiết lập hệ thống 24 lược đồ tuần tự (Sequence Diagram) từ Hình 3.2 đến Hình 3.25 mô tả chi tiết tương tác thông điệp giữa các đối tượng (Người dùng/Admin - Giao diện - Controller - Cơ sở dữ liệu) cho từng chức năng: Đăng nhập, Đăng xuất, Quên mật khẩu, Đăng/sửa câu hỏi, Bình luận, Bình chọn, Đổi mật khẩu, Xử lý báo cáo, Khóa tài khoản...
  • Thiết kế lược đồ cơ sở dữ liệu chi tiết cho 8 bảng dữ liệu (users, tokens, questions, answers, answerDetails, Votes, comments, notifications).
  • Thiết kế và mô tả chi tiết hệ thống giao diện người dùng và quản trị viên gồm 24 màn hình chức năng (từ Hình 3.27 đến Hình 3.50).

Chương 4: Cài đặt và kiểm thử

Chương 4 mô tả quá trình hiện thực hóa thiết kế:

  • Liệt kê và cấu hình các công cụ phát triển phần mềm được áp dụng trong đồ án.
  • Cài đặt và tích hợp module tách từ tiếng Việt dựa trên lý thuyết NLP vào công cụ tìm kiếm hệ thống.
  • Tiến hành kiểm thử các chức năng của ứng dụng trên tập dữ liệu giả lập (mock data) nhằm thẩm định tính chính xác của các luồng xử lý và độ ổn định của hệ thống.

Phần kết luận

Đánh giá tổng quan mức độ hoàn thành so với mục tiêu đề ra, tổng kết các kết quả đạt được về mặt tính năng và công nghệ, chỉ ra các nhược điểm còn tồn đọng trong quá trình cài đặt thực tế và đề xuất các hướng phát triển nâng cấp tiếp theo cho đề tài.


Kết quả và đóng góp

Kết quả kỹ thuật đạt được

Khóa luận đã hoàn thành việc xây dựng một hệ thống website chia sẻ kiến thức trực tuyến hoạt động hoàn chỉnh theo đúng thiết kế đề cương, với các kết quả cụ thể:

Nhóm chức năng Kết quả thực hiện thực tế
Xác thực & Tài khoản Đăng ký, đăng nhập, khôi phục mật khẩu thông qua mã token xác thực gửi về email; chỉnh sửa thông tin cá nhân và thay đổi mật khẩu.
Tương tác Hỏi - Đáp Đăng bài viết câu hỏi, cập nhật nội dung; gửi phản hồi câu trả lời, chỉnh sửa câu trả lời; đăng và sửa bình luận phụ; chọn câu trả lời chính xác nhất.
Đánh giá & Gợi ý Đánh giá nội dung thông qua hệ thống Upvote / Downvote; tự động phân tích và hiển thị gợi ý 5 bài viết liên quan nhất khi người dùng nhập tiêu đề câu hỏi.
Tìm kiếm & Phân loại Tìm kiếm bài viết theo từ khóa có tích hợp kỹ thuật tách từ tiếng Việt, sắp xếp và lọc dữ liệu tương ứng.
Quản trị hệ thống Tra cứu danh sách người dùng, đóng/mở khóa tài khoản; tiếp nhận báo cáo nội dung tiêu cực, thực hiện duyệt hoặc từ chối báo cáo kèm lý do phản hồi.

Đóng góp thực tiễn của đề tài

So với các mô hình diễn đàn truyền thống được khảo sát (điển hình là daynhauhoc.com), đề tài đã giải quyết được nhược điểm xử lý thủ công bài đăng trùng lặp thông qua giải pháp kỹ thuật: tự động gợi ý danh sách 5 câu hỏi có nội dung tương đồng ngay tại thời điểm người dùng nhập tiêu đề bài đăng mới. Đề tài cũng đóng góp giải pháp ứng dụng TypeScript đồng bộ ở cả Frontend và Backend kết hợp cơ sở dữ liệu MongoDB, tạo ra một kiến trúc ứng dụng web có cấu trúc dữ liệu rõ ràng, dễ bảo trì và mở rộng.


Hạn chế và hướng nghiên cứu tiếp

Căn cứ vào nội dung được trình bày trong văn bản khóa luận, các hạn chế và định hướng phát triển được xác định như sau:

  • Hạn chế của đề tài:

    • Tập dữ liệu dùng cho quá trình kiểm thử phần mềm chủ yếu là dữ liệu giả lập (mock data), chưa được thử nghiệm vận hành trên quy mô người dùng thực tế lớn với lưu lượng truy cập cao.
    • Kỹ thuật xử lý ngôn ngữ tự nhiên mới dừng lại ở bước xử lý tách từ tiếng Việt phục vụ tìm kiếm và gợi ý câu hỏi cơ bản, chưa mở rộng các thuật toán phân tích ngữ nghĩa chuyên sâu hoặc nhận diện tự động nội dung tiêu cực để tự động hóa hoàn toàn khâu kiểm duyệt.
  • Hướng nghiên cứu và phát triển tiếp theo:

    • Nâng cấp và tích hợp các mô hình xử lý ngôn ngữ tự nhiên nâng cao nhằm cải thiện độ chính xác của cơ chế gợi ý bài viết và tự động phát hiện, ngăn chặn bài đăng vi phạm tiêu chuẩn cộng đồng.
    • Tối ưu hóa hiệu năng hệ thống cơ sở dữ liệu và mở rộng chức năng báo cáo thống kê chuyên sâu hơn về các chỉ số tương tác người dùng theo chu kỳ thời gian dài.

Giá trị tham khảo

Báo cáo khóa luận tốt nghiệp này có giá trị tham khảo hữu ích đối với:

  • Sinh viên ngành Công nghệ phần mềm và Công nghệ thông tin: Là tài liệu mẫu hoàn chỉnh về quy trình phân tích, thiết kế và cài đặt một hệ thống web fullstack hiện đại sử dụng kiến trúc ReactJS - Node.js - ExpressJS - MongoDB với TypeScript.
  • Người nghiên cứu và phát triển các hệ thống diễn đàn / hỏi đáp trực tuyến: Cung cấp tài liệu tham khảo chi tiết về hệ thống 25 bảng đặc tả ca sử dụng (Use Case Specification), sơ đồ tuần tự (Sequence Diagram) và cấu trúc thiết kế cơ sở dữ liệu đặc thù cho các bài toán tương tác cộng đồng (hệ thống vote, đa cấp trả lời - bình luận, báo cáo vi phạm).
  • Nhà phát triển muốn ứng dụng NLP vào web: Tham khảo quy trình phân tích và ứng dụng kỹ thuật tách từ tiếng Việt vào chức năng tìm kiếm và gợi ý nội dung tránh trùng lặp.

Câu hỏi thường gặp

1. Khóa luận sử dụng những công nghệ và ngôn ngữ lập trình nào để xây dựng hệ thống?
Khóa luận sử dụng TypeScript cho cả Frontend và Backend. Tầng Frontend được xây dựng bằng ReactJS kết hợp Redux để quản lý trạng thái. Tầng Backend sử dụng Node.js và framework ExpressJS. Cơ sở dữ liệu sử dụng MongoDB. Ngoài ra, ngôn ngữ Python và các mô hình xử lý ngôn ngữ tự nhiên (NLP) được dùng để nghiên cứu và tích hợp tính năng tách từ tiếng Việt cho công cụ tìm kiếm và gợi ý.

2. Giải pháp nào được tác giả đưa ra để giải quyết nhược điểm bài đăng trùng lặp của diễn đàn Daynhauhoc?
Tác giả thiết lập một luồng mở rộng trong ca sử dụng "Đăng câu hỏi": ngay khi người dùng hoàn tất việc nhập tiêu đề câu hỏi, hệ thống sẽ tự động phân tích và hiển thị danh sách 5 câu hỏi có nội dung liên quan nhất hiện có trên hệ thống để người dùng tham khảo trước khi quyết định đăng bài mới.

3. Đặc điểm đặc thù của tiếng Việt trong xử lý ngôn ngữ tự nhiên được tác giả nêu ra trong cơ sở lý thuyết là gì?
Trong phần phân tích hình thái học của NLP, tác giả chỉ ra rằng trong khi tiếng Anh và nhiều ngôn ngữ khác sử dụng dấu cách để phân tách các từ, thì trong tiếng Việt, dấu cách được sử dụng để phân tách các tiếng (âm tiết) chứ không phải từ. Do đó, hệ thống cần áp dụng mô hình tách từ chuyên biệt cho tiếng Việt.

4. Cơ sở dữ liệu MongoDB của hệ thống bao gồm những bảng/tập hợp (collections) nào?
Cơ sở dữ liệu của đồ án được thiết kế gồm 8 bảng: users (thông tin người dùng), tokens (mã xác thực), questions (câu hỏi), answers (câu trả lời), answerDetails (chi tiết câu trả lời), Votes (thông tin bình chọn upvote/downvote), comments (bình luận), và notifications (thông báo).

5. Người quản trị (Admin) trong hệ thống có những quyền hạn và chức năng cụ thể nào?
Người quản trị có các chức năng: tra cứu danh sách người dùng, thực hiện đóng hoặc mở khóa tài khoản; xem danh sách báo cáo vi phạm, thực hiện phê duyệt báo cáo kèm nội dung phản hồi hoặc từ chối báo cáo kèm lý do; đồng thời theo dõi các số liệu thống kê như tỷ lệ trả lời, số lượng câu hỏi/trả lời và biến động theo tuần.


Kết luận

Khóa luận tốt nghiệp của tác giả Phan Hoàng Thanh Sơn đã hoàn thành mục tiêu xây dựng một hệ thống website chia sẻ kiến thức hoàn chỉnh, kết hợp đồng bộ giữa kiến trúc web fullstack TypeScript (ReactJS, Node.js, ExpressJS, MongoDB) và kỹ thuật xử lý ngôn ngữ tự nhiên tiếng Việt. Đề tài giải quyết hiệu quả bài toán tương tác hỏi đáp đa chiều, quản trị nội dung cộng đồng và hạn chế trùng lặp bài viết thông qua cơ chế gợi ý tự động 5 câu hỏi liên quan. Hệ thống tài liệu phân tích, đặc tả use case, sơ đồ tuần tự và thiết kế cơ sở dữ liệu trong khóa luận cung cấp nguồn tư liệu học thuật và kỹ thuật chuẩn mực cho các nghiên cứu phát triển ứng dụng phần mềm tương tự.