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

Sự bùng nổ của mạng Internet và quá trình số hóa mạnh mẽ sau đại dịch COVID-19 đã làm gia tăng đáng kể nhu cầu tiếp cận và tra cứu thông tin nhanh chóng, chính xác của người dùng. Trong các nguồn lực phát triển xã hội, thông tin được xác định là nguồn tài nguyên quan trọng hàng đầu, đóng vai trò là tri thức phục vụ quá trình ra quyết định trong mọi hoạt động kinh tế - xã hội. Tuy nhiên, các phương thức tra cứu truyền thống qua công cụ tìm kiếm dần bộc lộ những rào cản về trải nghiệm tương tác khi người dùng phải tự sàng lọc khối lượng lớn kết quả trả về. Trong bối cảnh đó, hệ thống tương tác đàm thoại tự động (Chatbot) nổi lên như một giải pháp thay thế hiệu quả, cho phép người dùng giao tiếp với máy tính bằng ngôn ngữ tự nhiên để truy xuất dữ liệu có định hướng.

Khảo sát hiện trạng thị trường và công nghệ được tác giả tổng hợp từ nhiều nguồn dữ liệu uy tín cho thấy quy mô ứng dụng sâu rộng của Chatbot:

Chỉ số / Khảo sát Nguồn dữ liệu Giá trị ghi nhận
Số lượng người sử dụng Chatbot trên toàn cầu Chatbot.Net 1,4 tỷ người
Tỷ lệ doanh nghiệp đánh giá Chatbot tạo ra sự đổi mới kinh doanh Accenture 56%
Khối lượng yêu cầu từ khách hàng và chi phí xử lý thường niên Chatbots Journal 265 tỷ yêu cầu; 1,3 nghìn tỷ USD/năm
Tỷ lệ khách hàng rời bỏ thương hiệu do trải nghiệm giao tiếp kém OpenText 30%
Tỷ lệ tự động hóa giao tiếp khách hàng tại các ngân hàng vào năm 2022 Juniper Research / Chatbots Magazine Lên đến 90%
Tỷ lệ thời gian AI Chatbot dành để giải quyết các vấn đề phức tạp Salesforce 64%
Tỷ lệ khách hàng thuộc thế hệ Millennials có trải nghiệm tích cực Forbes 70%
Quy mô thị trường Chatbot giai đoạn 2019 – 2024 Business Insider Tăng từ 2,6 tỷ USD lên 9,4 tỷ USD (CAGR 29,7%)
Tỷ lệ dịch vụ khách hàng do hệ thống AI chủ động điều hành vào năm 2023 Gartner 30%
Tỷ lệ người tham gia đánh giá Cleverbot là người thật tại Techniche 2011 Techniche 2011 (IIT Guwahati) 59,3% (người thật đạt 63,3%; chuẩn đạt là 50,5%)
Thị phần lưu lượng yêu cầu tìm kiếm toàn cầu của Google Báo cáo thị phần tìm kiếm 92%

Mặc dù các nền tảng quốc tế như Google Assistant hay Cleverbot đã đạt được nhiều thành tựu vượt trội, việc triển khai các hệ thống này tại thị trường Việt Nam vẫn gặp phải nhiều rào cản:

  • Mức độ hỗ trợ ngôn ngữ tiếng Việt còn hạn chế và thiếu tự nhiên.
  • Năng lực duy trì các cuộc đối thoại thông thường (Small talk) chưa cao.
  • Chưa có cơ chế nhận diện và phân tích cảm xúc của người dùng qua tin nhắn văn bản.
  • Khả năng lưu trữ và kiểm soát ngữ cảnh hội thoại còn rời rạc.
  • Giao diện người dùng trên các nền tảng chưa thực sự tối ưu hóa cho người Việt.

Nhằm giải quyết các bất cập trên, đề tài khóa luận "Xây dựng Chatbot trợ lý ảo đa nền tảng" được thực hiện với các mục tiêu cụ thể:

  1. Nghiên cứu tổng quan về bài toán Chatbot và các công nghệ cốt lõi trong xử lý ngôn ngữ tự nhiên (NLU - thấu hiểu ngôn ngữ tự nhiên và NLG - cấu tạo ngôn ngữ tự nhiên), các cơ chế phân tích ngữ cảnh và lưu trữ dữ liệu.
  2. Khảo sát, đối chiếu ưu điểm và nhược điểm của các hướng tiếp cận xây dựng chatbot từ truyền thống đến học máy chuyên sâu.
  3. Nghiên cứu ứng dụng thư viện NLP.js và các mô hình Transformer tiếng Việt (PhoBERT, BARTpho) kết hợp với hệ sinh thái công nghệ Node.js, Express, React, Flutter, Dart, MongoDB và Python.
  4. Hiện thực hóa ứng dụng trợ lý ảo mang tên YourChatStarter hoạt động đa nền tảng (Web và Di động), phục vụ hiệu quả nhu cầu tra cứu thông tin thường nhật.

Về nhiệm vụ nghiên cứu, đồ án phân chia làm hai nhóm nhiệm vụ chính:

  • Nhiệm vụ nghiên cứu lý thuyết: Tìm hiểu cấu trúc hệ thống chatbot, các độ đo đánh giá chất lượng hội thoại; nghiên cứu cơ chế trích xuất thực thể và nhận diện ý định của thư viện NLP.js; tìm hiểu các Web API (SpeechSynthesis, SpeechRecognition, Push API).
  • Nhiệm vụ xây dựng hệ thống phần mềm: Thiết kế kiến trúc và triển khai phần mềm YourChatStarter với đầy đủ các phân hệ quản lý tài khoản, thanh toán nâng cấp gói dịch vụ, bảng quản trị hệ thống, module giao tiếp hội thoại, module phân tích cảm xúc, hệ thống thông báo đẩy (Push Notification) và các module truy vấn dữ liệu từ API bên thứ ba (thời tiết, chứng khoán, ngoại tệ, dịch thuật, tin tức, dịch bệnh COVID-19, bản đồ điều hướng).

Đối tượng nghiên cứu của đồ án bao gồm: các mô hình học máy, học sâu và thuật toán xử lý chuỗi (Levenshtein, Wagner-Fischer, Seller, mạng nơ-ron truyền thẳng, PhoBERT, BARTpho); hệ thống công nghệ phát triển ứng dụng (Node.js, Express, React, Flutter, MongoDB, Python, PyTorch); cùng đối tượng người dùng có nhu cầu tra cứu thông tin thời gian thực bằng tiếng Việt.

Phạm vi nghiên cứu: Đồ án tập trung vào ngôn ngữ tiếng Việt, được triển khai thực nghiệm tại Khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM trong khoảng thời gian từ ngày 17/02/2022 đến ngày 11/06/2022 (tương đương 15 tuần làm việc).

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

Khóa luận tiếp cận bài toán Chatbot dưới góc độ một hệ thống tương tác giữa người và máy tính (Human-Computer Interactive System), vận hành thông qua việc kết hợp hai bài toán trung tâm của xử lý ngôn ngữ tự nhiên (NLP):

  • Thấu hiểu ngôn ngữ tự nhiên (Natural Language Understanding - NLU): Chuyển đổi chuỗi văn bản đầu vào thành cấu trúc dữ liệu có ngữ nghĩa trong máy tính, bao gồm tiền xử lý, phân tích hình thái, phân tích cú pháp, phân tích ngữ nghĩa, phân tích ngữ dụng và diễn ngôn.
  • Cấu tạo ngôn ngữ tự nhiên (Natural Language Generation - NLG): Chuyển đổi dữ liệu có cấu trúc từ hệ thống thành văn bản ngôn ngữ tự nhiên mạch lạc, bao gồm các công đoạn xác định nội dung, cấu trúc thông tin, tổng hợp thông tin, lựa chọn từ vựng, tạo cú pháp tham chiếu và hiện thực hóa câu.

Nhóm tác giả tổng hợp 5 khía cạnh đánh giá hiệu quả của một hệ thống chatbot bao gồm:

  1. Trải nghiệm người dùng: Độ khả dụng (Usability), hiệu năng (Performance), tính tác động (Affect), độ hài lòng (Satisfactory).
  2. Thu thập thông tin: Độ chính xác (Accuracy), tính dễ tiếp cận (Accessibility), độ hiệu quả (Efficiency).
  3. Ngôn ngữ: Chất lượng (Quality), định lượng (Quantity), tính liên quan (Relation), thái độ (Manner), tính chính xác ngữ pháp (Grammatical Accuracy).
  4. Công nghệ: Tính giống người (Humanity) thông qua phép thử Turing.
  5. Kinh doanh: Giá trị kinh tế (Business Value).

Về mặt giải thuật và mô hình, khóa luận nghiên cứu và ứng dụng các phương pháp:

  • Độ đo khoảng cách Levenshtein: Xác định số thao tác tối thiểu (thêm ký tự $a$, xóa ký tự $d$, thay thế ký tự $s$ kèm các trọng số $w_a, w_d, w_s$) để biến đổi xâu nguồn (source) thành xâu đích (target).
  • Thuật toán quy hoạch động Wagner-Fischer: Khởi tạo bảng ma trận kích thước $(m + 1) \times (n + 1)$ để tính khoảng cách chỉnh sửa giữa hai chuỗi ký tự với chi phí tính toán tối ưu.
  • Thuật toán Seller: Biến thể của thuật toán Wagner-Fischer thiết lập hàng đầu tiên bằng 0, cho phép tìm kiếm mờ chuỗi con mục tiêu trong một văn bản dài bằng cách tra cứu giá trị nhỏ nhất tại hàng cuối cùng của ma trận.
  • Cấu trúc dữ liệu Trie: Tối ưu hóa lưu trữ từ điển, phục vụ so khớp mờ từ khóa nhằm xử lý lỗi chính tả và nhận diện thực thể (Entity).
  • Mạng nơ-ron truyền thẳng (Feed-forward Neural Network - FNN): Tích hợp trong thư viện NLP.js để giải quyết bài toán phân loại ý niệm (Intent Classification).
  • Mô hình Transformer và cơ chế Attention: Nghiên cứu cấu trúc kiến trúc Transformer; thực hiện tinh chỉnh (fine-tuning) mô hình huấn luyện sẵn PhoBERT cho tác vụ phân tích cảm xúc của người dùng và mô hình BARTpho cho tác vụ cấu tạo câu phản hồi tự nhiên.

Phương pháp nghiên cứu thực tế được nhóm áp dụng gồm: phương pháp tổng hợp và phân tích tài liệu kỹ thuật chuyên ngành; phương pháp phân tích, đối sánh các hệ thống thương mại và dự án mã nguồn mở tương đồng; phương pháp thiết kế phần mềm hướng đối tượng theo chuẩn mô hình hóa UML; và phương pháp thực nghiệm kiểm thử phần mềm trên môi trường máy chủ và thiết bị di động thực tế.

Thiết kế và triển khai

Hệ thống YourChatStarter được xây dựng theo mô hình kiến trúc phân tầng kết hợp dịch vụ microservices nhằm tách biệt các luồng xử lý giao diện, nghiệp vụ và trí tuệ nhân tạo:

Thành phần kiến trúc Công nghệ sử dụng Vai trò và nhiệm vụ kỹ thuật
Giao diện Web (Frontend Web) React.js, React Suite Cung cấp giao diện người dùng tương tác, màn hình chat, cổng quản trị admin, tích hợp Web Speech API và Push API
Giao diện Di động (Frontend Mobile) Flutter, Dart Cung cấp ứng dụng di động đa nền tảng (Android và iOS), tích hợp tương tác giọng nói, bản đồ và tùy biến giao diện
Máy chủ xử lý (Backend Server) Node.js, Express.js Điều phối nghiệp vụ, xử lý phiên đàm thoại (session), điều hướng API, quản lý xác thực và kết nối dữ liệu
Xử lý ngôn ngữ tự nhiên (NLP Core) NLP.js, Duckling, VNCoreNLP Phân loại ý niệm bằng FNN, trích xuất thực thể bằng Regex, Duckling và đối sánh mờ từ điển Trie
Dịch vụ học sâu (Deep Learning Server) Python, PyTorch, Transformers Chạy dịch vụ cục bộ kết nối các mô hình tinh chỉnh PhoBERT (phân tích cảm xúc) và BARTpho (cấu tạo phản hồi)
Cơ sở dữ liệu (Database) MongoDB Lưu trữ dữ liệu người dùng, cấu hình phiên, lịch sử đàm thoại, ngữ cảnh, thông báo và hóa đơn thanh toán
Nguồn dữ liệu ngoài (External APIs) RESTful API, SPARQL Kết nối Google Knowledge Graph, Wikidata, dịch vụ thời tiết, chứng khoán, tỉ giá ngoại tệ, COVID-19, bản đồ

Quy trình phân tích thiết kế hệ thống được chi tiết hóa thông qua 7 nhóm biểu đồ ca sử dụng (Use Case):

  1. Hệ thống xác thực người dùng (Đăng ký, đăng nhập, bảo mật tài khoản).
  2. Hệ thống Chatbot (Gửi nhận tin nhắn, kích hoạt nhận diện giọng nói, phát âm phản hồi).
  3. Hệ thống dịch vụ bổ trợ người dùng (Quản lý hồ sơ, cấu hình cá nhân hóa).
  4. Hệ thống quản lý nội dung (Quản lý và hiển thị danh mục bài viết công khai).
  5. Hệ thống quản lý hóa đơn thanh toán (Nâng cấp gói dịch vụ, xử lý giao dịch điện tử).
  6. Hệ thống truy vấn thông tin (Điều hướng kết nối các dịch vụ ngoài).
  7. Hệ thống quản lý thông báo (Đặt lịch thông báo, gửi thông báo đẩy qua Web Push và Mobile).

Mô hình dữ liệu của hệ thống được đặc tả chặt chẽ qua sơ đồ lớp (Class Diagram) bao gồm 18 lớp đối tượng: User, Service, Session, Bill, PendingBill, ConfirmBill, Context, ActiveContext, Message, Option, InformationKey, Utterance, Intent, Entity, Trait, Notification, Preference, Blog.

Hệ thống thiết kế chi tiết 10 luồng xử lý chức năng chính (Sequence Flowcharts): luồng đăng nhập; đăng ký; thu phí; giao tiếp hội thoại trường hợp thông thường; giao tiếp hội thoại cần truy vấn dữ liệu từ API bên thứ ba; phát âm đoạn chat bằng Text-to-Speech; gửi thông báo Push; gửi thông báo hẹn giờ theo lịch trình; cập nhật thông tin người dùng; và cập nhật thiết lập cá nhân / cấp bậc tài khoản.

Quy trình huấn luyện và tích hợp các module trí tuệ nhân tạo được thực hiện trên nền tảng Google Colaboratory (thông qua môi trường Jupyter Notebook) sử dụng phần cứng đồ họa (GPU):

  • Tác vụ nhận diện ý niệm: Huấn luyện mạng nơ-ron truyền thẳng qua thư viện NLP.js dựa trên tập ngữ cảnh định sẵn, cho phép ánh xạ phát biểu của người dùng vào các nhãn ý niệm cụ thể.
  • Tác vụ trích xuất thực thể đặt tên (NER): Kết hợp biểu thức quy tắc thường quy (Regex), thư viện Duckling và giải thuật tìm kiếm mờ Wagner-Fischer trên cấu trúc từ điển Trie để phát hiện thực thể thời gian, vị trí địa lý, tiền tệ và mã chứng khoán.
  • Tác vụ phân tích cảm xúc: Sử dụng mô hình tiền huấn luyện PhoBERT, đóng băng các tầng biểu diễn cơ sở và tinh chỉnh tầng phân loại đầu ra trên tập dữ liệu phân loại sắc thái cảm xúc tiếng Việt.
  • Tác vụ cấu tạo ngôn ngữ tự nhiên: Sử dụng mô hình ngôn ngữ sinh tạo BARTpho nhằm chuyển đổi dữ liệu thông tin thô thu thập được từ cơ sở dữ liệu và API thành câu phản hồi tiếng Việt tự nhiên, phù hợp với phong cách đàm thoại.

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

Chương 1: Mở đầu

Chương 1 trình bày tổng quan về định nghĩa và lược sử phát triển của chatbot từ các hệ thống nghiên cứu đời đầu (ELIZA, ALICE) đến các giải pháp ứng dụng hiện đại trong thương mại, giáo dục, tài chính và dịch vụ công. Tác giả phân tích nhu cầu tiếp cận thông tin như một nhu cầu thiết yếu, bậc cao của con người, minh họa thông qua tình huống thực tế của người dùng khi cần tra cứu thời tiết, tin tức, sức khỏe và mua sắm thiết bị. Chương này xác định rõ 4 mục tiêu nghiên cứu, 2 nhóm nhiệm vụ đề tài, phân định phạm vi công nghệ (Node.js, React, Flutter, MongoDB, Python) và kế hoạch thực hiện qua 5 giai đoạn từ 17/02/2022 đến 11/06/2022.

Chương 2: Tổng quan

Chương 2 tập trung khảo sát hiện trạng công nghệ và thị trường Chatbot với hệ thống số liệu trích dẫn chi tiết từ Accenture, Gartner, Salesforce, Drift và Forbes. Tác giả đi sâu phân tích hai trường hợp điển hình: CleverBot (cơ chế học từ các cuộc hội thoại quá khứ và kết quả bài thử Turing tại Techniche 2011) và Google Knowledge Graph (hạ tầng dữ liệu tri thức hỗ trợ Google Assistant với 92% thị phần tìm kiếm). Từ đó, chương này chỉ ra 5 hạn chế căn bản của các giải pháp hiện hành đối với thị trường nội địa: hạn chế về tiếng Việt, khả năng đàm thoại thân mật yếu, thiếu phân tích cảm xúc, thiếu cơ chế lưu trữ ngữ cảnh và giao diện chưa tối ưu; đồng thời xác định các bài toán trọng tâm mà đề tài cần giải quyết.

Chương 3: Nghiên cứu lý thuyết

Chương 3 xây dựng nền tảng toán học và kỹ thuật cho hệ thống chatbot. Nội dung đi sâu phân tích hai phân hệ NLU và NLG, giới thiệu các thước đo định tính và định lượng trong đánh giá chatbot, cùng các bộ khung tiêu chuẩn như TRAINS-95, PARADISE, SASSI, MIMIC. Về giải thuật, chương phân tích chi tiết công thức khoảng cách Levenshtein, ma trận quy hoạch động Wagner-Fischer, thuật giải Seller phục vụ tìm kiếm mờ xâu ký tự và cấu trúc dữ liệu Trie cho từ điển. Ngoài ra, chương làm rõ nguyên lý hoạt động của mạng nơ-ron truyền thẳng (FNN) trong NLP.js, kiến trúc Transformer với cơ chế Attention, quy trình tinh chỉnh mô hình PhoBERT cho tác vụ nhận diện cảm xúc và mô hình BARTpho cho tác vụ cấu tạo câu tiếng Việt kèm các tình huống xử lý thực tế.

Chương 4: Chatbot trợ lý ảo - YourChatStarter

Chương 4 là chương trọng tâm về mặt kỹ thuật phần mềm, trình bày toàn bộ quá trình phân tích, thiết kế và cài đặt hệ thống YourChatStarter. Nội dung bao gồm:

  • Đặc tả 7 biểu đồ ca sử dụng và các bảng mô tả Actor, thành phần chính.
  • Thiết kế kiến trúc tổng thể kết nối Frontend Web (React Suite), Frontend Di động (Flutter), Backend Server (Node.js/Express) và mô hình AI (Python).
  • Thiết kế mô hình dữ liệu chi tiết với 18 bảng đặc tả thuộc tính và phương thức của các lớp nghiệp vụ.
  • Thiết kế 10 sơ đồ luồng xử lý tuần tự và chi tiết các module truy vấn thông tin: thời tiết, tỉ giá ngoại tệ, dịch thuật, giá cổ phiếu, số liệu dịch COVID-19 và Google Knowledge Graph.
  • Thiết kế chi tiết giao diện người dùng trên Web và Di động (hơn 30 màn hình chức năng).
  • Quy trình huấn luyện, thực nghiệm và kết quả thực hiện của 4 tác vụ NLP cốt lõi (nhận diện ý niệm, trích xuất thực thể, phân tích cảm xúc và cấu tạo ngôn ngữ).

Chương 5: Kết luận

Chương 5 tổng kết toàn bộ kết quả đạt được của khóa luận sau 15 tuần nghiên cứu và phát triển. Tác giả đánh giá mức độ hoàn thành so với các mục tiêu đề ra ban đầu, tổng hợp những khó khăn kỹ thuật phát sinh trong quá trình tích hợp mô hình học sâu với hệ thống web thời gian thực, đồng thời đề xuất các định hướng nâng cấp hệ thống trong tương lai nhằm hoàn thiện một trợ lý ảo chuyên sâu cho người dùng tiếng Việt.

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

Khóa luận hoàn thành toàn diện các mục tiêu đề ra với khối lượng công việc và sản phẩm cụ thể được ghi nhận trong biên bản đánh giá của hội đồng chấm khóa luận tốt nghiệp:

Tiêu chí định lượng / Đánh giá Chi tiết ghi nhận trong văn bản
Quy mô báo cáo tốt nghiệp 227 trang nội dung
Số lượng chương 5 chương chuyên môn hoàn chỉnh
Số lượng bảng số liệu kỹ thuật 58 bảng
Số lượng hình vẽ và sơ đồ thiết kế 78 hình
Số lượng tài liệu tham khảo 74 tài liệu
Sản phẩm phần mềm hoàn chỉnh 01 hệ thống trợ lý ảo đa nền tảng mang tên YourChatStarter
Kết quả đánh giá của Cán bộ hướng dẫn (ThS. Trần Anh Dũng) Điểm số: 10/10 (Mười) đối với cả 2 sinh viên; Xếp loại: Xuất sắc
Kết quả đánh giá của Cán bộ phản biện (TS. Nguyễn Trịnh Đông) Điểm số: 9.5/10 đối với cả 2 sinh viên; Xếp loại: Giỏi

Các kết quả kỹ thuật và chức năng đạt được của sản phẩm phần mềm YourChatStarter:

  • Xây dựng thành công hệ thống chatbot đa nền tảng, cho phép người dùng truy cập đồng bộ qua trình duyệt web máy tính (React.js) và ứng dụng di động (Flutter trên cả hệ điều hành Android và iOS).
  • Phản hồi tự động và chính xác các câu hỏi của người dùng về thông tin thời gian thực đa lĩnh vực: cập nhật thời tiết, theo dõi tỉ giá ngoại tệ, tra cứu chỉ số chứng khoán, tổng hợp tin tức điểm báo, tra cứu định nghĩa thực thể qua Wikidata và Google Knowledge Graph, thống kê dữ liệu dịch COVID-19 và hỗ trợ dịch thuật tự động.
  • Tích hợp thành công mô hình mạng nơ-ron truyền thẳng (FNN) trong thư viện NLP.js để giải quyết bài toán nhận diện ý niệm (Intent Classification).
  • Ứng dụng giải thuật tìm kiếm mờ Levenshtein qua thuật toán quy hoạch động Wagner-Fischer kết hợp cấu trúc Trie để sửa lỗi chính tả và nhận dạng thực thể đặt tên (NER).
  • Ứng dụng mô hình Transformer tiên tiến cho tiếng Việt: tinh chỉnh thành công PhoBERT để phân loại cảm xúc người dùng từ câu chat và tinh chỉnh BARTpho phục vụ bài toán cấu tạo câu phản hồi tự nhiên (NLG).
  • Khai thác hiệu quả các API trình duyệt và thiết bị di động: tính năng nhận diện giọng nói (SpeechRecognition), phát âm văn bản thành giọng nói (SpeechSynthesis), và cơ chế gửi thông báo đẩy (Push Notification) tức thời hoặc hẹn giờ theo lịch trình.
  • Hoàn thiện cổng thông tin quản trị cho phép phân quyền tài khoản, quản lý người dùng, quản trị gói dịch vụ, cấu hình thanh toán trực tuyến và biên tập bài viết công khai.

Về mặt đóng góp khoa học và kỹ thuật, đồ án đã chứng minh tính khả thi của mô hình kết hợp lai (hybrid approach) giữa các giải thuật xử lý chuỗi truyền thống (Wagner-Fischer, Seller) với các mạng nơ-ron học sâu hiện đại nhất cho tiếng Việt (PhoBERT, BARTpho). Toàn bộ hệ thống cung cấp một tài liệu thiết kế phần mềm hoàn chỉnh với hệ thống biểu đồ UML chi tiết (Use Case, Class Diagram, Sequence Diagram), làm cơ sở tham khảo có giá trị cao cho bài toán tích hợp trí tuệ nhân tạo vào sản phẩm phần mềm thực tế.

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

Dựa trên nhận xét phản biện của TS. Nguyễn Trịnh Đông và đánh giá tự thân của nhóm tác giả trong văn bản, đồ án ghi nhận một số hạn chế kỹ thuật:

  • Bộ suy diễn của hệ thống còn tương đối hạn chế khi phụ thuộc chủ yếu vào một thuật toán Wagner-Fischer trong tác vụ so khớp từ khóa mờ.
  • Tập dữ liệu dùng để huấn luyện các mô hình học máy và học sâu còn ở quy mô nhỏ, chưa bao phủ hết tính đa dạng trong phương ngữ và ngữ cảnh giao tiếp đời sống.
  • Ứng dụng hiện tại mới chỉ xử lý và phản hồi tốt nhất đối với những mẫu câu hỏi ngắn, câu hỏi đơn lập; khả năng hiểu các câu văn phức tạp hoặc các đoạn đối thoại dài chứa nhiều mệnh đề lồng nhau còn hạn chế.
  • Hệ thống phụ thuộc nhiều vào tính ổn định và giới hạn truy vấn (rate limit) của các dịch vụ API bên thứ ba khi lấy dữ liệu thời gian thực.

Các hướng phát triển tiếp theo được nhóm tác giả đề xuất:

  • Mở rộng quy mô và chuẩn hóa bộ dữ liệu huấn luyện đàm thoại tiếng Việt nhằm nâng cao độ chính xác cho mô hình nhận diện ý niệm và phân tích cảm xúc.
  • Bổ sung nội dung và mở rộng phạm vi tri thức vào cơ sở dữ liệu nội bộ của Chatbot, hướng tới xây dựng một trợ lý ảo chuyên biệt sâu cho ngôn ngữ tiếng Việt.
  • Tích hợp công nghệ nhận diện vân tay âm thanh (Audio Fingerprinting) cho phép xác định thông tin ca khúc từ một đoạn nhạc người dùng ghi âm trực tiếp.
  • Mở rộng năng lực trích xuất thông tin đa phương tiện từ hình ảnh (nhận diện nguồn gốc hình ảnh, đọc ký tự quang học qua hình ảnh do người dùng gửi vào khung chat).

Giá trị tham khảo

Tài liệu khóa luận tốt nghiệp này mang lại giá trị tham khảo thiết thực cho nhiều đối tượng trong môi trường học thuật và nghiên cứu ứng dụng:

  • Dành cho sinh viên và học viên ngành Kỹ thuật Phần mềm, Hệ thống Thông tin: Khóa luận là tài liệu mẫu mực về quy trình kỹ thuật phần mềm chuẩn chỉ. Phần đặc tả chi tiết 7 biểu đồ ca sử dụng, sơ đồ lớp với 18 thực thể dữ liệu rõ ràng thuộc tính và phương thức, cùng 10 sơ đồ tuần tự (Sequence Diagram) là tài liệu tham khảo trực quan cho các môn học Phân tích thiết kế hệ thống và Kiến trúc phần mềm.
  • Dành cho sinh viên và kỹ sư phát triển ứng dụng Xử lý ngôn ngữ tự nhiên tiếng Việt: Đồ án cung cấp quy trình toàn diện từ việc sử dụng các thư viện NLU cơ bản (NLP.js) đến các bước tinh chỉnh mô hình học sâu tiền huấn luyện chuyên dụng cho tiếng Việt (PhoBERT, BARTpho) trên môi trường Google Colaboratory.
  • Dành cho các nhóm phát triển ứng dụng đa nền tảng: Cung cấp giải pháp kiến trúc thực tế kết hợp giữa máy chủ Backend Node.js/Express, dịch vụ AI microservice bằng Python, Frontend Web bằng React Suite và ứng dụng di động bằng Flutter / Dart, kèm theo cách thức tích hợp Web Speech API và Web Push Notification.

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

1. Hệ thống YourChatStarter áp dụng những công nghệ và mô hình nào để giải quyết 4 bài toán NLP cốt lõi?
Hệ thống sử dụng mạng nơ-ron truyền thẳng (FNN) tích hợp trong NLP.js cho bài toán nhận diện ý niệm (Intent Recognition); kết hợp biểu thức chính quy (Regex), thư viện Duckling và giải thuật Wagner-Fischer trên cấu trúc Trie cho bài toán trích xuất thực thể (NER); sử dụng mô hình tiền huấn luyện PhoBERT tinh chỉnh cho bài toán phân tích cảm xúc (Sentiment Analysis); và sử dụng mô hình tiền huấn luyện BARTpho tinh chỉnh cho bài toán cấu tạo câu phản hồi tự nhiên (NLG).

2. Điểm số và đánh giá chính thức của hội đồng chấm dành cho khóa luận này như thế nào?
Khóa luận được Hội đồng đánh giá rất cao. Cán bộ hướng dẫn ThS. Trần Anh Dũng chấm điểm 10/10 (xếp loại Xuất sắc) cho cả hai sinh viên Nguyễn Ngọc Đăng và Bề Hải Long. Cán bộ phản biện TS. Nguyễn Trịnh Đông chấm điểm 9.5/10 (xếp loại Giỏi) cho cả hai sinh viên.

3. Cơ sở lý thuyết đằng sau cơ chế sửa lỗi chính tả và tìm kiếm mờ trong hệ thống là gì?
Hệ thống dựa trên độ đo khoảng cách Levenshtein (tính tổng chi phí thao tác chèn, xóa, thay thế) và sử dụng thuật toán quy hoạch động Wagner-Fischer với ma trận kích thước $(m+1) \times (n+1)$ để tìm khoảng cách chỉnh sửa nhỏ nhất. Ngoài ra, thuật giải Seller (đặt hàng đầu tiên của ma trận bằng 0) được áp dụng để tìm kiếm vị trí kết thúc của chuỗi con gần trùng khớp nhất trong văn bản.

4. Ứng dụng YourChatStarter hỗ trợ tra cứu thông tin thời gian thực từ những nguồn dữ liệu nào?
Chatbot hỗ trợ truy vấn tự động dữ liệu từ các API bên thứ ba cho 6 nhóm dịch vụ chính gồm: thời tiết, tỉ giá ngoại tệ, chỉ số giá cổ phiếu, thông tin dịch bệnh COVID-19, bản dịch ngôn ngữ và tri thức bách khoa từ Google Knowledge Graph kết hợp với Wikidata qua giao thức SPARQL.

5. Những nhược điểm kỹ thuật chính được cán bộ phản biện chỉ ra đối với sản phẩm là gì?
Theo nhận xét của TS. Nguyễn Trịnh Đông, bộ suy diễn của hệ thống còn đơn giản khi chỉ phụ thuộc vào một thuật toán Wagner-Fischer; tập dữ liệu huấn luyện các mô hình còn nhỏ; và phần mềm mới chủ yếu phản hồi tốt đối với các câu hỏi ngắn của người dùng.

Kết luận

Khóa luận tốt nghiệp "Xây dựng Chatbot trợ lý ảo đa nền tảng" của hai tác giả Nguyễn Ngọc Đăng và Bề Hải Long là một công trình kỹ thuật phần mềm hoàn chỉnh, dung hòa thành công giữa nghiên cứu thuật toán xử lý ngôn ngữ tự nhiên và quy trình phát triển sản phẩm công nghệ đa nền tảng. Hệ thống YourChatStarter đã chứng minh tính ứng dụng cao khi vận hành ổn định trên cả môi trường Web (React) và Di động (Flutter), cung cấp giải pháp tra cứu dữ liệu thời gian thực và đàm thoại tiếng Việt thông minh thông qua việc tích hợp các mô hình tiên tiến như PhoBERT, BARTpho và NLP.js. Với cấu trúc báo cáo 227 trang mẫu mực, kết quả đánh giá Xuất sắc từ hội đồng chuyên môn khẳng định giá trị học thuật và thực tiễn vững chắc của đề tài.