Hệ thống xây dựng dữ liệu huấn luyện từ hội thoại trong chatbot

Tài liệu nghiên cứu Hệ thống xây dựng dữ liệu huấn luyện từ hội thoại trong chatbot, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về kỹ thuật.

Trường đại học

Trường Đại Học

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2025

84
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM KẾT

LỜI CẢM ƠN

MỤC LỤC

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG

DANH MỤC CÁC TỪ VIẾT TẮT

DANH MỤC THUẬT NGỮ

1. CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1. Đặt vấn đề

1.2. Mục tiêu và phạm vi đề tài

1.3. Định hướng giải pháp

1.4. Bố cục đồ án

2. CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU

2.1. Kịch bản điển hình của chatbot

2.2. Khảo sát hiện trạng

2.3. Tổng quan chức năng

2.3.1. Biểu đồ use case tổng quan

2.3.2. Biểu đồ use case phân rã Quản lý đơn vị hội thoại

2.3.3. Biểu đồ use case phân rã Quản lý hội thoại

2.3.4. Biểu đồ use case phân rã Duyệt hội thoại

2.4. Đặc tả chức năng

2.4.1. Đặc tả use case Tạo hội thoại từ lịch sử chat

2.4.2. Đặc tả use case Tạo hội thoại qua chat tương tác

2.4.3. Đặc tả use case Chấp nhận hội thoại

2.4.4. Đặc tả use case Xuất báo cáo

2.5. Yêu cầu phi chức năng

2.5.1. Tính dễ dùng

2.5.2. Khả năng mở rộng

2.6. Kết chương

3. CHƯƠNG 3: CÔNG NGHỆ SỬ DỤNG

3.1. ReactJS và NextJS

3.2. NodeJS và ExpressJS

3.3. Kết chương

4. CHƯƠNG 4: PHÁT TRIỂN VÀ TRIỂN KHAI ỨNG DỤNG

4.1. Thiết kế kiến trúc

4.1.1. Kiến trúc tổng quan

4.1.2. Kiến trúc Frontend

4.1.3. Kiến trúc Backend

4.2. Thiết kế chi tiết Frontend

4.3. Thiết kế chi tiết Backend

4.3.1. Luồng hoạt động

4.3.2. Thiết kế API

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

4.4.1. Biểu đồ thực thể liên kết

4.4.2. Thiết kế tổng quan cơ sở dữ liệu

4.4.3. Thiết kế chi tiết collection

4.5. Xây dựng ứng dụng

4.5.1. Thư viện và công cụ sử dụng

4.5.2. Kết quả đạt được

4.5.3. Minh họa các chức năng chính

4.6. Kiểm thử và triển khai

4.7. Kết chương

5. CHƯƠNG 5: CÁC GIẢI PHÁP VÀ ĐÓNG GÓP NỔI BẬT

5.1. Thiết kế quy trình đảm bảo chất lượng dữ liệu huấn luyện

5.2. Quy trình xây dựng và phê duyệt dữ liệu huấn luyện

5.3. Xây dựng thành phần quản lý quyền linh hoạt

5.4. Giải pháp bóc tách và tạo dữ liệu huấn luyện từ lịch sử chat

5.5. Đề xuất hiển thị lịch sử chat theo đơn vị hội thoại

5.6. Quy trình xây dựng dữ liệu huấn luyện từ lịch sử chat thông qua các đơn vị hội thoại

5.7. Giải pháp tạo dữ liệu huấn luyện qua chat tương tác

5.8. Đánh giá tính hiệu quả của bot bằng dữ liệu huấn luyện từ hội thoại

5.9. Kết chương

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. Kết luận

6.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về hệ thống xây dựng dữ liệu huấn luyện chatbot từ hội thoại

Hệ thống xây dựng dữ liệu huấn luyện chatbot từ hội thoại là một giải pháp quan trọng trong việc phát triển chatbot hiệu quả. Chatbot ngày nay được sử dụng rộng rãi trong nhiều lĩnh vực như chăm sóc khách hàng, marketing và hỗ trợ kỹ thuật. Để chatbot hoạt động tốt, việc xây dựng dữ liệu huấn luyện từ hội thoại là rất cần thiết. Hệ thống này giúp thu thập và xử lý dữ liệu từ các cuộc hội thoại, từ đó cải thiện khả năng phản hồi của chatbot.

1.1. Khái niệm về dữ liệu huấn luyện chatbot

Dữ liệu huấn luyện chatbot là tập hợp các mẫu hội thoại được sử dụng để dạy cho chatbot cách hiểu và phản hồi các yêu cầu của người dùng. Việc xây dựng dữ liệu này cần phải đảm bảo tính chính xác và đa dạng để chatbot có thể hoạt động hiệu quả.

1.2. Tầm quan trọng của hệ thống xây dựng dữ liệu

Hệ thống xây dựng dữ liệu giúp tối ưu hóa quy trình tạo ra các mẫu hội thoại, từ đó nâng cao chất lượng phản hồi của chatbot. Điều này không chỉ giúp cải thiện trải nghiệm người dùng mà còn tăng cường hiệu quả hoạt động của doanh nghiệp.

II. Vấn đề và thách thức trong việc xây dựng dữ liệu huấn luyện chatbot

Mặc dù việc xây dựng dữ liệu huấn luyện từ hội thoại là cần thiết, nhưng vẫn tồn tại nhiều thách thức. Một trong những vấn đề lớn nhất là việc thu thập dữ liệu từ các nguồn khác nhau mà không làm giảm chất lượng. Ngoài ra, việc quản lý và phê duyệt dữ liệu cũng là một thách thức lớn trong quy trình này.

2.1. Khó khăn trong việc thu thập dữ liệu

Việc thu thập dữ liệu từ hội thoại có thể gặp khó khăn do thiếu nguồn dữ liệu phong phú hoặc không đồng nhất. Điều này có thể dẫn đến việc chatbot không hiểu đúng ý định của người dùng.

2.2. Quy trình phê duyệt dữ liệu chưa rõ ràng

Nhiều hệ thống hiện tại chưa có quy trình phê duyệt dữ liệu rõ ràng, dẫn đến việc dữ liệu không đạt chất lượng có thể được đưa vào huấn luyện, ảnh hưởng đến hiệu quả của chatbot.

III. Phương pháp xây dựng dữ liệu huấn luyện từ hội thoại hiệu quả

Để xây dựng dữ liệu huấn luyện hiệu quả, cần áp dụng các phương pháp khoa học và công nghệ hiện đại. Việc sử dụng các công cụ phân tích ngôn ngữ tự nhiên và học máy sẽ giúp tối ưu hóa quy trình này. Hệ thống cũng cần có khả năng tự động hóa trong việc thu thập và xử lý dữ liệu.

3.1. Sử dụng công nghệ xử lý ngôn ngữ tự nhiên

Công nghệ xử lý ngôn ngữ tự nhiên (NLP) giúp phân tích và hiểu các mẫu hội thoại, từ đó tạo ra dữ liệu huấn luyện chính xác hơn cho chatbot.

3.2. Tự động hóa quy trình thu thập dữ liệu

Việc tự động hóa quy trình thu thập dữ liệu từ các cuộc hội thoại sẽ giúp tiết kiệm thời gian và công sức, đồng thời đảm bảo tính chính xác của dữ liệu.

IV. Ứng dụng thực tiễn của hệ thống xây dựng dữ liệu huấn luyện chatbot

Hệ thống xây dựng dữ liệu huấn luyện từ hội thoại đã được áp dụng thành công trong nhiều lĩnh vực như ngân hàng và tài chính. Các doanh nghiệp đã thấy được sự cải thiện rõ rệt trong khả năng phản hồi của chatbot, từ đó nâng cao trải nghiệm khách hàng.

4.1. Ứng dụng trong lĩnh vực ngân hàng

Trong lĩnh vực ngân hàng, hệ thống này giúp chatbot trả lời nhanh chóng và chính xác các câu hỏi của khách hàng về tài khoản và dịch vụ.

4.2. Ứng dụng trong lĩnh vực tài chính

Chatbot trong lĩnh vực tài chính sử dụng dữ liệu huấn luyện để cung cấp thông tin về sản phẩm và dịch vụ, giúp khách hàng đưa ra quyết định tốt hơn.

V. Kết luận và tương lai của hệ thống xây dựng dữ liệu huấn luyện chatbot

Hệ thống xây dựng dữ liệu huấn luyện từ hội thoại là một bước tiến quan trọng trong việc phát triển chatbot. Tương lai của hệ thống này hứa hẹn sẽ mang lại nhiều cải tiến hơn nữa, với sự phát triển của công nghệ AI và NLP. Việc tối ưu hóa quy trình xây dựng dữ liệu sẽ giúp chatbot ngày càng thông minh và hiệu quả hơn.

5.1. Hướng phát triển trong tương lai

Trong tương lai, hệ thống sẽ tiếp tục được cải tiến với các công nghệ mới, giúp nâng cao khả năng tự động hóa và chính xác trong việc xây dựng dữ liệu.

5.2. Tác động đến ngành công nghiệp

Sự phát triển của hệ thống này sẽ có tác động lớn đến ngành công nghiệp, giúp các doanh nghiệp tối ưu hóa quy trình chăm sóc khách hàng và nâng cao trải nghiệm người dùng.

10/07/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề Những năm gần đây, những thành tựu của trí tuệ nhân tạo cùng với sự bùng nổ của các ứng dụng nhắn tin đã và đang thúc đẩy sự tăng trưởng và phát triển của chatbot. Hiểu một cách đơn giản, chatbot là một chương trình máy tính mô phỏng cuộc trò chuyện của con người. Từ yêu cầu đầu vào, chatbot phán đoán ý định, mong muốn của người dùng, phản hồi hành động tương ứng. Chatbot có thể hỗ trợ doanh nghiệp trong nhiều lĩnh vực khác nhau như chăm sóc khách hàng, marketing trực tuyến, v.v Hoạt động của chatbot dựa trên giải thuật xử lý ngôn ngữ tự nhiên (Natural Language Processing – NLP).

Qua đó, chatbot có thể tự động trả lời từ dữ liệu con người đã dạy. Chatbot có hoạt động tốt hay không, có “thông minh” hay không, dữ liệu huấn luyện đóng vai trò quan trọng. Việc xây dựng và huấn luyện chatbot, hiện nay trên thế giới và Việt Nam, đã có một số nền tảng phổ biến như Chatfuel [1], Dialogflow [2] và FPT.v Tuy nhiên các nền tảng trên có một số hạn chế về tạo dữ liệu từ hội thoại để huấn luyện. Đó là chưa tận dụng được hoặc chưa tận dụng triệt để lịch sử hội thoại của người dùng, chưa có quy trình phê duyệt đảm bảo chất lượng dữ liệu, việc đánh giá chất lượng chatbot triển khai trong thực tế còn chưa rõ ràng.

Các vấn đề kể trên khiến việc tạo dữ liệu để huấn luyện còn gặp nhiều khó khăn, số lượng dữ liệu có thể ít, chất lượng không đảm bảo, dẫn tới khả năng bot có thể phản hồi không tốt với người dùng. Do đó, em chọn đề tài “Hệ thống xây dựng dữ liệu huấn luyện từ hội thoại trong chatbot” để cải tiến chất lượng, số lượng dữ liệu hội thoại huấn luyện, đánh giá và nâng cao độ hiệu quả của chatbot trong thực tế.2 Mục tiêu và phạm vi đề tài Dựa vào những vấn đề thực tiễn và mục đích nêu trên, đồ án tập trung vào các mục tiêu bao gồm i) xây dựng cơ chế tạo dữ liệu huấn luyện từ hội thoại, ii) thiết kế phương pháp đảm 1 bảo chất lượng dữ liệu để đưa vào huấn luyện, iii) cung cấp công cụ trực quan hóa hiệu quả hoạt động của chatbot trong thực tế sử dụng. Với mục tiêu như vậy, em phân tích, thiết kế và xây dựng hệ thống với những chức năng chính bao gồm người làm dữ liệu có thể tạo dữ liệu huấn luyện từ hội thoại một cách trực quan sinh động và dễ sử dụng, dữ liệu được xây dựng phải tuân theo một quy trình để được đưa vào huấn luyện. Các dữ liệu đã xây dựng cần phải theo một quy trình khắt khe để được chấp nhận đưa vào huấn luyện Ngoài ra, để quan sát tính hiệu quả của bot trong thực tế, hệ thống cung cấp các bảng biểu và các dạng báo cáo thích hợp.

Qua đó, công việc tạo và huấn luyện chatbot trở nên dễ dàng hơn và đạt hiệu quả mong muốn.3 Định hướng giải pháp Để đạt được mục tiêu như trên, em đề xuất và thiết kế một số giải pháp. Đầu tiên, do hệ thống dựa trên hội thoại để xây dựng dữ liệu huấn luyện nên nguồn hội thoại là vô cùng quan trọng. Để có được nguồn hội thoại phong phú và dồi dào, em đưa ra hai hướng giải quyết. Thứ nhất là hỗ trợ bóc tách lịch sử chat của người dùng để đưa vào xây dựng dữ liệu huấn luyện.

Phương pháp này giúp người làm dữ liệu có nguồn hội thoại khách quan từ người dùng. Thứ hai là cung cấp công cụ chat cho chính người làm dữ liệu để tương tác, chỉnh sửa hành vi của bot trong quá trình chat trực tiếp. Cách này giúp người làm dữ liệu có được những đoạn hội thoại một cách chủ quan theo mong muốn của mình. Để đảm bảo chất lượng dữ liệu huấn luyện, em thiết kế quy trình xây dựng và phê duyệt dữ liệu một cách nghiêm ngặt.

Dữ liệu được phân chia theo nhóm và theo các cấp bậc quản lý. Cấp bậc quản lý được chia làm hai cấp: quản trị dữ liệu và biên tập dữ liệu. Dữ liệu sẽ được trải qua năm trạng thái: đang xây dựng, chờ phê duyệt, đang phê duyệt, trả lại, chấp nhận. Khi đó, chỉ những dữ liệu ở trạng thái chấp nhận mới được đưa vào huấn luyện.

Quy trình như vậy sẽ rất thích hợp với các công ty lớn, nhiều phòng ban, nhiều nhân viên cùng làm dữ liệu cho chatbot. Để xây dựng được quy trình như vậy, giao diện hệ thống cũng đòi hỏi phải thể hiện phù hợp theo từng vai trò. Nếu không giải quyết khéo léo, việc mở rộng mã nguồn sau này sẽ gặp khó khăn khi phát sinh các yêu cầu mới, vai trò mới. Do vậy, em xây dựng một thành phần quản lý quyền một cách linh hoạt và tập trung.

Cách xử lý logic về quyền hiển thị được tập trung tập trung tại một chỗ. Sau này khi có thay đổi, ta chỉ cần chỉnh sửa tại một chỗ mà không ảnh hưởng nhiều tới các thành phần khác trong mã nguồn. Cuối cùng, hệ thống sẽ thiết kế tính năng thống kê và báo cáo tình hình xây dựng dữ liệu và hoạt động của bot trong thực tế. Tính năng này sẽ đưa ra các dạng biểu đồ và báo cáo thích hợp cho người quản trị dễ dàng xem xét và đánh giá.

Với nhiều người sử dụng trên nhiều máy tính khác nhau, chức năng cần giao diện phức tạp như vậy, em đề xuất triển khai hệ thống trên nền tảng web. Hệ thống được chia làm 2 phần 2 frontend và backend riêng biệt tương tác với nhau qua REST API giúp quá trình mở rộng hệ thống sau này dễ dàng hơn. Phần frontend em sử dụng framework của React là NextJS. NextJS có ưu điểm dễ dàng cấu hình dự án, tối ưu tải Javascript cho từng đường dẫn, tăng tốc độ tải trang.

Phần backend em sử dụng framework ExpressJS của NodeJS. NodeJS có ưu điểm bất đồng bộ, hướng sự kiện, có hiệu năng tốt. Ngoài ra, cùng một hệ sinh thái Javascript, việc phát triển ứng dụng sẽ nhanh hơn, ít lỗi hơn. Phần cơ sở dữ liệu em sử dụng cơ sở dữ liệu MongoDB.

Nó là cơ sở dữ liệu có tính mở rộng cao, thích hợp với dữ liệu lớn, tùy biến cao như lịch sử trò chuyện, hội thoại.4 Bố cục đồ án Phần còn lại của báo cáo đồ án tốt nghiệp này được tổ chức như sau. Chương 2, em sẽ khảo sát các nền tảng tạo và huấn luyện chatbot sẵn có trên thị trường. Qua quá trình khảo sát, em sẽ phân tích yêu cầu, trình bày tổng quan chức năng và làm rõ các chức năng chính của hệ thống. Tiếp theo, chương 3, em sẽ mô tả về những công nghệ áp dụng trong đồ án này, lý do lựa chọn công nghệ đó để giải quyết bài toán.

Chương 4 mô tả chi tiết kiến trúc phát triển và triển khai ứng dụng bao gồm các quá trình thiết kế, xây dựng, kiểm thử và triển khai. Trong chương 5, em sẽ trình bày tất cả những đóng góp, giải pháp mà em thấy tâm đắc nhất trong suốt quá trình làm ĐATN. Đó là những kinh nghiệm, bài học giúp em phát triển bản thân trên con đường kỹ sư sau này. Cuối cùng, chương 6 là kết luận, ưu điểm, nhược điểm, những gì đã làm được và chưa làm được của em.

Ngoài ra, em đề xuất các định hướng phát triển cho hệ thống trong tương lai để hệ thống hoàn thiện hơn. Sau đây, em sẽ đi vào chi tiết từng phần của đồ án. 3 Chương 2 Khảo sát và phân tích yêu cầu Chương 2 em sẽ mô tả cách thức hoạt động của chatbot để làm rõ các khái niệm liên quan. Sau đó, em sẽ khảo sát các nền tảng tương tự trên thị trường để phân tích yêu cầu cho hệ thống.1 Kịch bản điển hình của chatbot Trước khi khảo sát các nền tảng khác, em sẽ trình bày rõ ràng hơn về các khái niệm, cách thức, kịch bản hoạt động của chatbot.

Chatbot là chương trình máy tính có khả năng tương tác với người dùng bằng cách giao tiếp tự nhiên [4]. Hình 1 Các thành phần của chatbot [4] Hình 1 mô tả thứ tự xử lý và các thành phần trong một hệ thống chatbot. Người dùng đưa yêu cầu đầu vào qua các dạng như văn bản, giọng nói. Khi đó, thành phần hiểu ngôn ngữ tự nhiên trích xuất ra thông tin bao gồm ý định của người dùng và các thông tin quan trọng trong câu hay còn gọi là các thực thể.

Các thông tin này sẽ được ghi lại vào bộ lưu trữ lịch sử hội thoại ở bước 2. Đến bước 3, khối dự đoán hành động nhận thông tin các trạng thái từ bộ lưu trữ để đưa ra các hành động tiếp theo sao cho phù hợp và thực thi hành động đó ở bước 4. Hành động đã dự đoán sẽ được ghi chép lại ở bộ lưu trữ hội thoại tại bước 5 và trả về phản hồi cho người dùng ở bước 6. Ý định (intent) là những mong muốn, mục đích của người dùng.

Ý định gắn với những nghiệp vụ của doanh nghiệp. Ví dụ với chatbot về ngân hàng đó là hỏi thông tin thẻ, thông 4 tin tài khoản, tra cứu ATM. Còn với chatbot về bán hàng, ý định có thể là tra cứu sản phẩm, mua bán sản phẩm, v.v Thực thể (entity) là những thông tin có ý nghĩa được trích xuất từ yêu cầu đầu vào người dùng. Ví dụ trong câu “Cho mình hỏi địa điểm ATM quận cầu giấy”, “quận cầu giấy” là một thực thể chỉ địa điểm.

Để huấn luyện cho bot hiểu ý định và trích xuất được thực thể, người làm dữ liệu phải cung cấp cho bot tập câu mẫu. Câu mẫu là những câu có sẵn phù hợp với ý định và đã được đánh dấu thực thể nếu có. Ví dụ với với ý định “Hướng dẫn sử dụng ngân hàng điện tử” thì tập câu mẫu có thể là “làm sao để đổi mật khẩu trên mobile banking”, “hướng dẫn tôi cách hủy dịch vụ khác trên internet banking”, “chuyển tiền trong internet banking như thế nào”, v.v Hành động (action) mô tả phản hồi của của bot sau khi phân tích yêu cầu. Hành động có thể gồm nhiều dạng như chữ, hình ảnh, video, audio phản hồi lại người dùng hay các lệnh thực thi như gửi email, tắt đèn, v.v để tác động vào bên thứ ba.

Để thuận tiện cho việc đánh giá và chỉnh sửa, em đề xuất hiển thị hội thoại thành các đơn vị hội thoại. Đơn vị hội thoại bao gồm một câu đầu vào của người dùng đi kèm với thông tin về ý định, thực thể được trích xuất, tiếp theo là những hành động phản hồi của bot.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu với tiêu đề Hệ thống xây dựng dữ liệu huấn luyện chatbot từ hội thoại cung cấp cái nhìn sâu sắc về cách thức xây dựng và tối ưu hóa dữ liệu huấn luyện cho chatbot thông qua các cuộc hội thoại thực tế. Nội dung chính của tài liệu nhấn mạnh tầm quan trọng của việc thu thập và phân tích dữ liệu từ các cuộc trò chuyện để cải thiện khả năng hiểu và phản hồi của chatbot. Điều này không chỉ giúp nâng cao trải nghiệm người dùng mà còn tối ưu hóa hiệu suất của hệ thống chatbot trong việc xử lý các yêu cầu phức tạp.

Để mở rộng kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo tài liệu Hệ thống xây dựng chatbot theo kịch bản, nơi cung cấp cái nhìn chi tiết về cách xây dựng chatbot dựa trên các kịch bản cụ thể, giúp bạn hiểu rõ hơn về các phương pháp và công nghệ liên quan. Những tài liệu này sẽ giúp bạn nắm bắt được các khía cạnh khác nhau trong việc phát triển chatbot, từ lý thuyết đến thực tiễn.