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

Khóa luận tốt nghiệp "Developing an Intelligent PDF Chatbot Using OpenAI" (Phát triển Chatbot PDF thông minh sử dụng OpenAI) được thực hiện bởi sinh viên Phạm Trọng Khiêm (Mã sinh viên: 19071049, Lớp: MIS2019A), chuyên ngành Hệ thống thông tin quản lý (Management Information System) tại Trường Quốc tế – Đại học Quốc gia Hà Nội (VNU-IS), dưới sự hướng dẫn của TS. Trương Công Đoàn vào năm 2024.

Trong bối cảnh trí tuệ nhân tạo (AI) và xử lý ngôn ngữ tự nhiên (NLP) phát triển nhanh chóng, định dạng tài liệu số PDF (Portable Document Format) vẫn là phương tiện phổ biến hàng đầu để lưu trữ và trao đổi thông tin trong học tập và doanh nghiệp. Tuy nhiên, việc tương tác và tìm kiếm thủ công trong các tài liệu PDF dung lượng lớn thường tốn nhiều thời gian và kém linh hoạt. Đề tài được hình thành nhằm giải quyết rào cản này thông qua việc ứng dụng mô hình ngôn ngữ lớn (LLM) của OpenAI để xây dựng một chatbot hỗ trợ trích xuất, hiểu ngữ cảnh và truy vấn nội dung tài liệu PDF bằng ngôn ngữ tự nhiên.

Mục tiêu nghiên cứu của đồ án bao gồm:

  1. Xây dựng quy trình xử lý dữ liệu phục vụ phân tích cấu trúc, trích xuất nội dung văn bản và hiểu ngữ cảnh từ các tài liệu PDF có định dạng khác nhau.
  2. Tích hợp mô hình GPT của OpenAI thông qua API để cung cấp câu trả lời mạch lạc, chính xác theo ngữ cảnh tài liệu.
  3. Thiết kế giao diện người dùng trực quan, đơn giản, phù hợp cho người dùng không chuyên về kỹ thuật.
  4. Triển khai cơ chế xử lý ngữ cảnh động (dynamic context handling) nhằm duy trì tính liền mạch của cuộc hội thoại qua nhiều câu truy vấn liên tiếp.
  5. Mở rộng khả năng xử lý đồng thời nhiều tài liệu PDF với dung lượng hỗ trợ tối đa 200 MB cho mỗi tệp tin.
  6. Tối ưu hóa hiệu năng, tốc độ phản hồi và thiết lập cơ chế học hỏi thích ứng liên tục.
  7. Xây dựng khung đánh giá hệ thống dựa trên các chỉ số định lượng về thời gian thiết lập, tỷ lệ bối rối, hỗ trợ đa ngôn ngữ và khả năng xử lý câu hỏi mở rộng.

Phạm vi nghiên cứu tập trung vào việc phát triển ứng dụng chatbot chạy cục bộ (private chatbot) phục vụ nhu cầu cá nhân và văn phòng. Về mặt giới hạn, hệ thống phụ thuộc vào chất lượng định dạng của tài liệu đầu vào (gặp khó khăn với các tệp PDF phi cấu trúc hoặc định dạng bất thường), khả năng hiểu các biến thể ngôn ngữ phức tạp, vấn đề bảo mật dữ liệu nhạy cảm khi gửi qua API bên thứ ba, cùng yêu cầu người dùng phải tự cài đặt môi trường thực thi.

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

Khóa luận thiết lập nền tảng lý thuyết xoay quanh các khái niệm và công nghệ cốt lõi trong lĩnh vực trí tuệ nhân tạo và xử lý ngôn ngữ tự nhiên:

  • Lịch sử và phân loại chatbot: Tác giả điểm lại các mốc phát triển từ hệ thống ELIZA (1966), Dr. Sbaitso (1992), ALICE (1995), Smarterchild (2001), các trợ lý ảo Siri (2010), Google Assistant (2012), Cortana và Alexa (2014), cho đến sự ra đời của ChatGPT (11/2022). Chatbot được phân loại thành ba nhóm kỹ thuật: Chatbot theo kịch bản (Scripted/Rule-based), Chatbot dựa trên AI (AI-based sử dụng NLP/ML), và Chatbot lai (Hybrid).
  • Xử lý ngôn ngữ tự nhiên (NLP): Khung lý thuyết NLP được phân tích dựa trên sự kết hợp giữa học máy (Machine Learning), ngôn ngữ học (Linguistics) và thống kê (Statistics) nhằm thực hiện các nhiệm vụ như dịch máy, tóm tắt văn bản, phân tích cảm xúc và đối thoại tự động.
  • Thách thức phát triển chatbot: Dẫn xuất từ các nghiên cứu thực nghiệm và phân tích dữ liệu trên Stack Overflow, tác giả chỉ ra các nhóm vấn đề chính mà lập trình viên đối mặt gồm: Tích hợp (Integration), Phát triển (Development), Hiểu ngôn ngữ tự nhiên (NLU), Tương tác người dùng (User Interaction) và Xử lý dữ liệu đầu vào (User Input).

Phương pháp nghiên cứu được áp dụng là phương pháp thiết kế và xây dựng hệ thống kỹ thuật phần mềm kết hợp thực nghiệm so sánh:

  • Phương pháp kỹ thuật: Lập trình bằng ngôn ngữ Python, sử dụng khung phát triển LangChain để quản lý chuỗi xử lý ngôn ngữ và Streamlit để xây dựng giao diện người dùng.
  • Phương pháp thực nghiệm so sánh: Đánh giá đối chuẩn giữa việc sử dụng API thương mại trực tuyến (OpenAI GPT-3.5-turbo và GPT-4) với mô hình mã nguồn mở chạy cục bộ (Instructor Embedding từ Hugging Face trên bảng xếp hạng MTEB).
  • Phương pháp thu thập dữ liệu và đánh giá: Đo lường các chỉ số vận hành kỹ thuật (thời gian nạp tệp, thời gian sinh câu trả lời, thời gian cài đặt) và thu thập phản hồi trải nghiệm thực tế từ nhóm người dùng kỹ thuật (nhân sự tại Viettel Digital Services) và người dùng phi kỹ thuật (nhân viên tiếp thị, biên tập nội dung).

Thiết kế và triển khai

Hệ thống được thiết kế theo quy trình hỏi đáp dựa trên tài liệu (Document-based Question Answering) với các thành phần công nghệ cụ thể:

Thành phần Công nghệ / Công cụ sử dụng Vai trò trong hệ thống
Ngôn ngữ lập trình Python Xử lý logic hệ thống, xử lý văn bản và kết nối thư viện
Framework LLM LangChain Quản lý chuỗi (chains), bộ nhớ ngữ cảnh và kết nối dữ liệu
Mô hình ngôn ngữ OpenAI GPT-3.5-turbo Xử lý suy luận, hiểu câu hỏi và sinh câu trả lời
Mô hình nhúng thay thế Hugging Face Instructor Embedding Thử nghiệm vector hóa văn bản cục bộ không tốn phí API
Giao diện người dùng Streamlit Cung cấp giao diện web cục bộ tương tác tệp và cửa sổ trò chuyện

Quy trình vận hành kỹ thuật của ứng dụng trải qua các bước:

  1. Nạp tài liệu (Document Ingestion): Tiếp nhận đồng thời nhiều tệp PDF từ người dùng với dung lượng tối đa 200 MB mỗi tệp.
  2. Trích xuất và chia nhỏ văn bản (Text Extraction & Chunking): Trích xuất toàn bộ chuỗi ký tự và phân đoạn thành các đoạn văn bản nhỏ (text chunks) để tối ưu hóa cửa sổ ngữ cảnh.
  3. Vector hóa và lưu trữ (Embedding & Vector Store): Chuyển đổi các đoạn văn bản thành các vector số học thông qua mô hình nhúng (OpenAI Embedding hoặc Hugging Face Instructor Embedding) và lưu vào cơ sở dữ liệu vector.
  4. Truy vấn ngữ nghĩa (Semantic Search): Khi người dùng đặt câu hỏi, hệ thống chuyển câu hỏi thành vector, thực hiện so khớp độ tương đồng ngữ nghĩa để chọn lọc các đoạn văn bản liên quan nhất.
  5. Sinh phản hồi (Response Generation): Các đoạn văn bản trích xuất kèm câu hỏi của người dùng được chuyển vào mô hình GPT-3.5-turbo để tạo câu trả lời hoàn chỉnh.

Giao diện Streamlit được bố cục thành ba khu vực: Khung trò chuyện trung tâm hiển thị lịch sử đối thoại và ô nhập liệu; thanh công cụ bên trái hỗ trợ tải tệp PDF bằng thao tác kéo-thả cùng nút lệnh xử lý (Process); thanh cấu hình bên phải cho phép tùy chỉnh giao diện (chiều rộng màn hình, chủ đề màu sắc, kiểu chữ) và hỗ trợ chụp/in màn hình.

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

Chapter 1: Introduction

Chương mở đầu trình bày tổng quan về sự phát triển của AI và nhu cầu chuyển đổi phương thức tương tác tĩnh với tài liệu PDF sang dạng đối thoại thông minh. Tác giả xác định động lực nghiên cứu, nêu chi tiết 7 mục tiêu phát triển hệ thống, xác định phạm vi xử lý đa tài liệu cục bộ, phân tích các rào cản kỹ thuật tiềm ẩn và nhấn mạnh ý nghĩa của đề tài đối với việc nâng cao hiệu suất làm việc văn phòng.

Chapter 2: Literature Review and Theoretical Framework

Chương 2 tổng hợp cơ sở lý thuyết toàn diện về công nghệ chatbot và xử lý ngôn ngữ tự nhiên. Nội dung bao gồm lịch sử tiến hóa của các hệ thống hội thoại từ năm 1960 đến năm 2024, dự báo thị trường AI tạo sinh của GlobalData (tăng trưởng từ 10,16 tỷ USD năm 2022 lên 103 tỷ USD), và kết quả khảo sát của LivePerson (57% người tiêu dùng muốn tránh hệ thống IVR truyền thống). Tác giả phân tích chi tiết cơ chế hoạt động của ba mô hình chatbot (Rule-based, AI-based, Hybrid), kiến trúc NLP, cũng như các thách thức phát triển trích xuất từ dữ liệu Stack Overflow (trong đó 61,8% bài viết tìm kiếm hướng dẫn giải quyết lỗi kỹ thuật thực tế).

Chapter 3: Research Design and Implementation

Chương 3 đi sâu vào kiến trúc kỹ thuật và thiết kế triển khai phần mềm. Tác giả giải thích lý do lựa chọn Python và khung phát triển LangChain (gồm 4 thành phần: Libraries, Templates, LangServe, LangSmith). Phân tích chi phí cho thấy mô hình GPT-3.5-turbo có mức giá $0,002 cho 1.000 tokens (rẻ hơn 22,5 lần so với GPT-4 8k context có mức chi phí $0,09 cho 2.000 tokens). Chương này cũng trình bày thực nghiệm thay thế OpenAI bằng mô hình Instructor Embedding của Hugging Face (xếp hạng 16/182 trên bảng chuẩn MTEB), đồng thời mô tả chi tiết thiết kế giao diện bằng thư viện Streamlit.

Chapter 4: Evaluation and Results

Chương 4 công bố kết quả kiểm thử hệ thống dựa trên các tiêu chí vận hành:

  • Thời gian kích hoạt (Activation Time): Tối ưu hóa việc cài đặt thông qua một tệp requirements.txt duy nhất, hoàn thành toàn bộ môi trường trong khoảng 1 phút.
  • Tỷ lệ bối rối (Confusion Rate): Thử nghiệm phản hồi khi người dùng liên tục báo "Tôi không hiểu" cho thấy chatbot có khả năng diễn giải lại thông tin chi tiết và đưa ra lời xin lỗi ở lần tương tác thứ ba.
  • Hỗ trợ đa ngôn ngữ và câu hỏi mở: Chatbot kế thừa khả năng xử lý đa ngữ của OpenAI và trả lời được các câu hỏi rộng ngoài nội dung tệp tin.
  • So sánh hiệu năng nạp tệp: OpenAI hoàn thành nạp tài liệu trong 10 giây, trong khi Instructor Embedding mất 30 giây (chậm hơn gấp 3 lần) do phụ thuộc trực tiếp vào năng lực tính toán của CPU/GPU máy trạm.
  • So sánh tốc độ sinh câu trả lời: Instructor Embedding mất 1–2 giây cho câu hỏi ngắn và 4–5 giây cho câu hỏi dài, trong khi OpenAI phản hồi gần như tức thì.
  • Đánh giá từ người dùng: Nhận phản hồi tích cực từ nhân viên marketing và content writer về tính tiện dụng; tiếp nhận góp ý từ kỹ sư tại Viettel Digital Services về việc bổ sung nút chuyển đổi đa mô hình trên giao diện.

Chapter 5: Conclusion and Recommendations

Chương cuối tóm lược các kết quả đạt được so với mục tiêu ban đầu. Tác giả dẫn số liệu từ báo cáo của McKinsey & Company chỉ ra công nghệ tự động hóa có thể giúp doanh nghiệp tiết kiệm 20% thời gian và tăng năng suất 60%. Khóa luận khẳng định đóng góp của hệ thống trong việc tự động hóa tra cứu, giảm thiểu sai sót do con người và tối ưu chi phí vận hành, đồng thời đề xuất các định hướng nâng cấp giao diện và tính năng cho các phiên bản tiếp theo.

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

Kết quả thử nghiệm và so sánh kỹ thuật

Dữ liệu thực nghiệm thu được từ quá trình kiểm thử hệ thống được tổng hợp trong bảng đối chuẩn dưới đây:

Tiêu chí đánh giá Cấu hình OpenAI (GPT-3.5-turbo) Cấu hình Hugging Face (Instructor Embedding)
Chi phí bản quyền API $0,002 / 1.000 tokens (tiết kiệm 22,5 lần so với GPT-4) Hoàn toàn miễn phí (Open-source)
Tài nguyên xử lý Điện toán đám mây (Online Model) CPU và GPU cục bộ của máy tính người dùng
Thời gian nạp tài liệu 10 giây 30 giây (chậm hơn 3 lần)
Thời gian phản hồi Gần như tức thì sau khi tải tệp 1–2 giây (câu hỏi ngắn), 4–5 giây (câu hỏi dài)
Sắc thái phản hồi Tự nhiên, thân thiện, có biểu cảm Thiếu sắc thái cảm xúc, phản hồi mang tính khuôn mẫu
Vị trí bảng xếp hạng MTEB Nhóm đầu bảng thương mại Xếp hạng 16 / 182 mô hình

Đóng góp thực tiễn và giải pháp đề xuất

  • Giải pháp tự động hóa quy trình tra cứu: Thay thế việc đọc và tìm kiếm thủ công từng trang tài liệu bằng cơ chế truy vấn ngôn ngữ tự nhiên, giúp trích xuất thông tin chính xác trong vài giây.
  • Đóng gói cài đặt tinh gọn: Giải quyết rào cản kỹ thuật cho người dùng không có nền tảng CNTT bằng cách tích hợp toàn bộ thư viện phụ thuộc vào tệp cấu hình duy nhất, rút ngắn thời gian thiết lập xuống xấp xỉ 1 phút.
  • Cân bằng giữa chi phí và tính năng: Chứng minh tính khả thi của việc sử dụng mô hình GPT-3.5-turbo kết hợp Streamlit để tạo ra một ứng dụng có giao diện hoàn chỉnh, tiết kiệm chi phí vận hành hơn nhiều so với việc sử dụng GPT-4 hoặc triển khai các hệ thống phần mềm doanh nghiệp phức tạp.

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

Khóa luận thẳng thắn ghi nhận các hạn chế kỹ thuật trong quá trình thực hiện:

  • Độ ổn định xử lý định dạng: Khả năng trích xuất nội dung bị giảm hiệu quả rõ rệt khi xử lý các tài liệu PDF phi cấu trúc, tệp scan chất lượng thấp hoặc có bảng biểu phức tạp.
  • Mô hình triển khai: Ứng dụng chỉ hoạt động dưới dạng phần mềm cá nhân chạy trên môi trường máy tính cục bộ, chưa hỗ trợ nền tảng web trực tuyến đa người dùng.
  • Tính năng giao diện: Giao diện Streamlit dừng ở mức cơ bản, chưa hỗ trợ các thao tác nâng cao như chuyển đổi linh hoạt giữa nhiều mô hình ngôn ngữ khác nhau thông qua nút bấm trực quan.
  • Bảo mật thông tin: Việc gửi dữ liệu văn bản qua API đám mây tiềm ẩn lo ngại về quyền riêng tư đối với các tài liệu mang tính bảo mật cao của tổ chức.

Hướng nghiên cứu tiếp theo được tác giả đề xuất:

  • Nâng cấp giao diện người dùng, bổ sung thanh công cụ cho phép lựa chọn và chuyển đổi linh hoạt giữa các LLM thương mại và mô hình mã nguồn mở.
  • Tối ưu hóa các thuật toán tiền xử lý văn bản và phân đoạn (chunking) để xử lý tốt hơn các cấu trúc PDF phức tạp.
  • Phát triển phiên bản triển khai trên nền tảng đám mây (Web-based) để người dùng có thể sử dụng trực tiếp qua trình duyệt mà không cần cài đặt môi trường.

Giá trị tham khảo

Tài liệu khóa luận mang lại giá trị tham khảo thiết thực cho các đối tượng:

  • Sinh viên ngành Hệ thống thông tin quản lý, Khoa học dữ liệu và Công nghệ thông tin: Là tài liệu tham khảo chi tiết về quy trình xây dựng ứng dụng RAG (Retrieval-Augmented Generation) cơ bản sử dụng LangChain, Streamlit và OpenAI API.
  • Chuyên viên phát triển ứng dụng AI: Cung cấp dữ liệu thực nghiệm so sánh cụ thể giữa việc gọi API đám mây thương mại và vận hành mô hình nhúng cục bộ trên phần cứng máy trạm.
  • Nhân viên văn phòng, tiếp thị và nghiên cứu: Minh họa cách thức ứng dụng công cụ AI cá nhân hóa nhằm tự động hóa việc đọc hiểu, tóm tắt và khai thác khối lượng lớn tài liệu PDF trong công việc hàng ngày.

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

1. Khóa luận sử dụng mô hình ngôn ngữ và mô hình nhúng nào để xây dựng chatbot?
Hệ thống sử dụng mô hình GPT-3.5-turbo của OpenAI làm mô hình ngôn ngữ chính để sinh câu trả lời. Đồng thời, tác giả thực hiện thử nghiệm đối chuẩn với mô hình nhúng mã nguồn mở Instructor Embedding của Hugging Face (xếp hạng 16/182 trên MTEB) để so sánh hiệu năng.

2. Dung lượng tối đa của tệp PDF mà ứng dụng có thể tiếp nhận là bao nhiêu?
Ứng dụng cho phép tải lên đồng thời nhiều tệp tài liệu PDF với dung lượng hỗ trợ tối đa là 200 MB cho mỗi tệp tin.

3. Sự khác biệt về thời gian nạp tệp và phản hồi giữa OpenAI và Hugging Face Instructor Embedding là gì?
Khi nạp cùng một tệp tài liệu, cấu hình OpenAI mất 10 giây trong khi Instructor Embedding mất 30 giây (chậm hơn 3 lần). Về thời gian trả lời, OpenAI phản hồi gần như tức thì, còn Instructor Embedding mất 1–2 giây đối với câu hỏi ngắn và 4–5 giây đối với câu hỏi dài do phải tính toán trực tiếp trên CPU/GPU của máy tính cá nhân.

4. Tại sao tác giả lựa chọn GPT-3.5-turbo thay vì GPT-4?
Tác giả lựa chọn GPT-3.5-turbo nhằm đảm bảo tính kinh tế và khả năng tiếp cận cho người dùng phổ thông. Với chi phí $0,002 cho 1.000 tokens, API GPT-3.5-turbo rẻ hơn 22,5 lần so với phiên bản GPT-4 8k context ($0,09 cho 2.000 tokens), trong khi vẫn đáp ứng đầy đủ các yêu cầu xử lý văn bản thuần túy của tài liệu PDF.

5. Giao diện người dùng của chatbot được xây dựng bằng công nghệ nào và có những chức năng gì?
Giao diện được xây dựng hoàn toàn bằng thư viện Streamlit trên nền Python. Giao diện gồm 3 phân vùng: khung hội thoại và nhập câu hỏi ở trung tâm, thanh tải tệp PDF kèm nút xử lý ở bên trái, cùng thanh cài đặt giao diện (chủ đề, độ rộng màn hình, phông chữ, in/chụp màn hình) ở bên phải.

Kết luận

Khóa luận tốt nghiệp của sinh viên Phạm Trọng Khiêm đã hoàn thành việc thiết kế, cài đặt và đánh giá một hệ thống chatbot thông minh hỗ trợ truy vấn tài liệu PDF bằng cách kết hợp khung phát triển LangChain, giao diện Streamlit và mô hình OpenAI GPT-3.5-turbo. Thông qua các thực nghiệm đo lường định lượng và so sánh với mô hình nhúng cục bộ Instructor Embedding, nghiên cứu đã chứng minh tính hiệu quả vượt trội về tốc độ xử lý và chi phí vận hành của giải pháp tích hợp API thương mại. Mặc dù còn một số hạn chế về xử lý PDF phi cấu trúc và phương thức triển khai cục bộ, đề tài đã cung cấp một giải pháp ứng dụng AI thực tế, đóng góp giá trị tham khảo rõ ràng cho việc tối ưu hóa năng suất xử lý dữ liệu số trong quản lý thông tin.