Đồ Án HCMUTE: Xây Dựng Mô Hình Chatbot Tối Ưu

Đồ án nghiên cứu hcmute xây dựng mô hình chatbot, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán kỹ thuật., phục vụ nghiên cứu và ứng dụng thực tiễn

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2019

64
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

LỜI CẢM ƠN

TÓM TẮT

MỤC LỤC

DANH MỤC CÁC CHỮ VIẾT TẮT

DANH MỤC CÁC BẢNG BIỂU

DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ

1. CHƯƠNG 1: TỔNG QUAN

1.1. Giới thiệu tình hình nghiên cứu hiện nay

1.1.1. Giới thiệu chung

1.1.2. Tình hình nghiên cứu trong nước

1.1.3. Tình hình nghiên cứu ngoài nước

1.1.4. Tính cấp thiết của đề tài

1.1.5. Mục tiêu của đề tài

1.1.6. Phương pháp nghiên cứu

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

1.1.8. Bố cục của Đồ án

1.1.9. Mô hình Chatbot

1.1.9.1. Khái niệm về chatbot
1.1.9.2. Các loại mô hình Chatbot
1.1.9.3. Tổng quan về việc xây dựng một mô hình Máy học
1.1.9.4. Tiền xử lý cho dữ liệu dạng chuỗi
1.1.9.5. Lý thuyết về những thành phần đặc biệt trong mô hình mạng

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Mô hình Chatbot

2.1.1. Khái niệm về chatbot

2.1.2. Các loại mô hình Chatbot

Tóm tắt

I. Giới thiệu Mô hình Chatbot HCMUTE

Đồ án tốt nghiệp Chatbot HCMUTE tập trung vào việc xây dựng một mô hình chatbot hiệu quả, ứng dụng trí tuệ nhân tạo (AI)học máy (machine learning). Đề tài này giải quyết vấn đề hỗ trợ người dùng trong thủ tục cấp hộ chiếu lần đầu. Nó sử dụng kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) để hiểu và xử lý ngôn ngữ của người dùng. Mô hình chatbot HCMUTE được thiết kế như một hệ thống chatbot hội thoại trong phạm vi hẹp (closed domain), tập trung vào lĩnh vực hành chính công cụ thể này. Phát triển chatbot này đòi hỏi việc thu thập và tiền xử lý dữ liệu, thiết kế kiến trúc chatbot, huấn luyện mô hình máy học, và tích hợp với nền tảng Messenger. Đồ án chatbot này đánh giá hiệu quả dựa trên độ chính xác của việc nhận dạng ý định người dùng và chất lượng phản hồi. Các công nghệ cốt lõi bao gồm NLP, machine learning, và mạng nơ-ron (Neural Network), cụ thể là Bi-LSTM được sử dụng trong mô hình nhận dạng định danh (Intent Classification).

1.1 Thu thập và Tiền xử lý Dữ liệu

Giai đoạn này tập trung vào việc thu thập dữ liệu từ các nguồn khác nhau, bao gồm các trang web tư vấn về thủ tục hộ chiếu. Dữ liệu chatbot bao gồm 650 mẫu câu hỏi, được phân loại thành 13 nhãn. Tiền xử lý dữ liệu là bước quan trọng để chuẩn bị dữ liệu cho quá trình huấn luyện mô hình máy học. Các bước tiền xử lý bao gồm làm sạch dữ liệu, chuẩn hóa văn bản, và tạo bối cảnh dữ liệu (Word Embedding). Việc sử dụng Word Embedding giúp chuyển đổi văn bản thành dạng vector, dễ dàng cho mô hình học máy xử lý. Tập dữ liệu được chia thành tập huấn luyện và tập kiểm tra để đánh giá hiệu quả của mô hình chatbot. Chất lượng tập dữ liệu ảnh hưởng trực tiếp đến hiệu quả của chatbot, việc thu thập dữ liệu từ nhiều nguồn và đảm bảo tính khách quan là yếu tố then chốt. Bối cảnh dữ liệu (Word Embedding) sử dụng trong đồ án này đóng vai trò quan trọng trong việc tăng cường hiệu quả nhận dạng. Nhóm nghiên cứu cũng đã thực hiện xử lý ngôn ngữ tự nhiên (NLP) để chuẩn hóa và làm sạch dữ liệu thô.

1.2 Thiết kế và Huấn luyện Mô hình

Mô hình sử dụng mạng nơ-ron tái diễn (RNN), cụ thể là Bi-LSTM, để thực hiện nhận dạng định danh (Intent Classification). Bi-LSTM hiệu quả trong xử lý chuỗi thời gian, phù hợp với việc hiểu ý định của người dùng từ các câu hỏi. Việc xây dựng mô hình bao gồm việc chọn lựa kiến trúc mạng, thiết lập các siêu tham số, và huấn luyện mô hình trên tập dữ liệu đã được xử lý. Huấn luyện chatbot được thực hiện thông qua việc tối ưu hóa hàm mất mát, nhằm đạt được độ chính xác cao nhất. Mô hình chatbot được đánh giá dựa trên độ chính xác trên tập kiểm tra. Độ chính xác đạt được từ 88% đến 94%, cho thấy hiệu quả của mô hình học máy trong việc nhận dạng ý định người dùng. Thiết kế chatbot chú trọng đến khả năng xử lý câu hỏi phức tạp và đa dạng của người dùng. Việc đào tạo chatbot cần được thực hiện cẩn thận, lựa chọn siêu tham số phù hợp để đảm bảo hiệu quả.

1.3 Tích hợp và Đánh giá Hệ thống

Sau khi hoàn thành việc xây dựng chatbot, hệ thống được tích hợp với nền tảng Facebook Messenger. Việc tích hợp này cho phép người dùng tương tác với chatbot một cách trực tiếp và thuận tiện. Ứng dụng chatbot trên Facebook Messenger cho phép tiếp cận đông đảo người dùng. Kiểm tra chatbot được thực hiện trên cả máy tính và ứng dụng Facebook Messenger, đảm bảo tính tương thích và khả năng hoạt động ổn định. Đánh giá chatbot dựa trên các chỉ số về độ chính xác, thời gian phản hồi và chất lượng tương tác. Ứng dụng chatbot trong giáo dục, kinh doanhchăm sóc khách hàng được đề cập trong nghiên cứu, mở ra tiềm năng ứng dụng rộng rãi. An ninh chatbotbảo mật chatbot là vấn đề cần quan tâm để đảm bảo an toàn thông tin. Thử nghiệm chatbot được tiến hành để đánh giá hiệu quả thực tế. Việc tối ưu chatbot vẫn cần tiếp tục được thực hiện để cải thiện hiệu suất và trải nghiệm người dùng.

01/02/2025

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

CHƯƠNG 1: TỔNG QUAN: Trong chương này nhóm thực hiện trình bày tổng quan về đề tài, tình hình nghiên cứu, động lực lựa chọn đề tài cũng như tính cấp thiết xoay quanh và trình bày cấu trúc của đề tài. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT: Giới thiệu khái niệm về những thuật toán máy học và kỹ thuật trong xử lý ngôn ngữ tự nhiên, quy trình và giải thuật để xây dựng mô hình máy học cho chatbot, cũng như các thư viện chính được sử dụng. CHƯƠNG 3: MÔ HÌNH MÁY HỌC TRONG CHATBOT: Trình bày phương pháp để xây dựng mô hình máy học, cách tối ưu mô hình máy học về bài toán nhận dạng định danh (Intent Classification). CHƯƠNG 4: XÂY DỰNG HỆ THỐNG PHẢN HỒI VÀ ỨNG DỤNG: Trình bày phương pháp mà nhóm thực hiện để xây dựng hệ thống phản hồi cho chatbot và cách ứng dụng hệ thống vào nền tảng Facebook Messenger.

4 do an CHƯƠNG 5: THỰC NGHIỆM VÀ ĐÁNH GIÁ: Trình bày kết quả huấn luyện mô hình nhận dạng định danh và kết quả thực nghiệm của ứng dụng chatbot. CHƯƠNG 6: NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN: Trình bày những nhận xét về mô hình máy học, mô hình chatbot, ưu nhược điểm, và hướng phát triển của đề tài. 5 do an CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2. Mô hình Chatbot 2.

Khái niệm về chatbot Theo Wiki [7], chatbot (còn có nhiều tên gọi như conversational bot) là một chương trình máy tính hoặc một Trí thông minh nhân tạo (AI) tương tác với người dùng bằng ngôn ngữ tự nhiên dưới dạng âm thanh (Audiotory) hoặc dạng tin nhắn (Textual). Một cách tổng quan, nhóm thực hiện phân loại chatbot gồm 2 loại, tương ứng với việc ứng dụng cho 2 phạm vi khác nhau: - Phạm vi mở (Open domain): Những mô hình chatbot ở đây là một phần trong Hệ thống hội thoại (Dialogue system) và được gọi như là các trợ lý ảo (Virtual Assistance) như Siri (Apple), Google Assistant (Google)… Những trợ lý ảo này có thể trả lời người dùng về những câu hỏi liên quan đến những lĩnh vực khác nhau từ chính trị, tin tức,… Tuy nhiên, những trợ lý này không thể trả lời chuyên sâu về một lĩnh vực, ví dụ như yêu cầu về cách lựa chọn quần áo, đặt đồ ăn… - Phạm vi hẹp (Closed domain): Ngược lại với mô hình chatbot ở trên, những mô hình chatbot này có thể trả lời về những vấn đề chuyên sâu hơn về một lĩnh vực nào đó. Bot có thể hỗ trợ người dùng trong việc tư vấn về vấn đề lựa chọn quần áo, đặt đồ ăn… Ví dụ như: chatbot tư vấn quần áo (H&M), chatbot đặt order (Dominos Pizza)… 2. Các loại mô hình Chatbot Có rất nhiều cách để xây dựng một mô hình Chatbot mà có thể tương tác với con người.

Ở đây, nhóm thực hiện xin giới thiệu hai cách chính để thực hiện việc này: - Triển khai theo mô hình “Tuân theo nguyên tắc” (Rule – based model): Ở mô hình này, bot sẽ trả lời theo những “nguyên tắc” đã được định nghĩa trước, những “nguyên tắc” này có thể là những dòng yêu cầu từ đơn giản đến phức tạp. Với những nguyên tắc này, những nhà phát triển phải xác định các kịch bản phản hồi cho một tin nhắn phù hợp với mẫu quy định. Có thể hiểu nôm na rằng nhà phát triển sẽ dùng những lệnh if … else để xây dựng nên kịch bản cho một cuộc hội thoại. Tuy nhiên những mô hình triển khai theo cách này thường không trả lời được những câu hỏi mang tính phức tạp.

6 do an - Triển khai theo hướng “Sử dụng những thuật toán Máy học”: Những mô hình triển khai theo hướng này có hiệu quả hơn so với cách Tuân theo nguyên tắc ở trên. Mô hình triển khai theo cách này thường có 2 loại như sau: o Mô hình dựa trên sự thu hồi (Retrieval – based model): Bot sẽ được huấn luyện dựa trên tập câu hỏi và những câu trả lời khả thi. Đối với mỗi câu hỏi, bot có thể tìm ra những câu trả lời liên quan (relevant) nhất từ tập dữ các câu trả lời khả thi sau đó sẽ xuất một câu trả lời. Mặc dù mô hình bot này không có khả năng tạo ra những câu trả lời mới nhưng nếu mô hình được huấn luyện với một tập dữ liệu lớn, và những dữ liệu này được xử lý một cách thông minh thì bot vẫn có thể xử lý những câu hỏi một cách tốt nhất có thể.

Mô hình bot này sẽ không gặp vấn đề về việc trả lời những câu bị sai ngữ pháp bởi vì những câu trả lời đã được xác định trước. o Mô hình có khả năng tự tạo ra câu trả lời (Generative Model): Mô hình bot này sẽ tốt hơn mô hình trên về khả năng tự tạo ra những câu trả lời mới. Mô hình này sẽ lấy từng từ trong câu hỏi sau đó tạo ra những câu trả lời. Điều này cũng làm cho mô hình dễ dẫn tới lỗi về mặt cú pháp hoặc phát âm.

Để xử lý những lỗi này, mô hình cần được huấn luyện một cách chính xác nhiều hơn nữa. Người ta thường sử dụng mô hình Dịch ngôn ngữ (Language translation models) để xây dựng mô hình Generative bot. Tuy nhiên, những bước phát triển cho mô hình chatbot này vẫn còn hạn chế do nhiều vấn đề về thuật toán, và chưa thể đạt hiệu quả như mong muốn. Với mong muốn thực hiện mô hình chatbot bằng những thuật toán máy học, và phạm vi đề tài còn hẹp, nhóm thực hiện chọn cách xây dựng một mô hình máy học mà có kết hợp các kỹ thuật giữa Rule – based model và Retrieval – based model.

Tổng quan về việc xây dựng một mô hình Máy học Nhìn chung, khi học về Machine Learning, người học sẽ được thực hiện những thuật toán máy học trên những tập dữ liệu có sẵn để huấn luyện và tối ưu mô hình,… Tuy nhiên, khi giải quyết các bài toán trong thực tế bằng Machine Learning, chúng ta sẽ cần phải làm rất nhiều việc, từ những khâu như thu thập dữ liệu, đánh giá dữ liệu, và sau đó chúng ta mới có thể thực hiện những bước như Tiền xử lý dữ liệu (Data Preprocessing),… và cuối cùng mới có thể áp dụng những thuật toán máy học để có huấn luyện ra những mô hình máy học tốt nhất có thể [8]. Sau đây là một bức tranh tổng quan về mô hình chung cho các bài toán Máy học: 7 do an Hình 2. Mô hình tổng quan giải quyết một bài toán Máy học Có hai giai đoạn (phases) lớn là giai đoạn Huấn luyện (Training phase) và giai đoạn Kiểm tra (Testing phase). - Training phase: Có hai khối có nền màu xanh lục chúng ta cần phải thiết kế: o Bộ trích chọn đặc trưng (Feature Extractor):  Đầu ra của khối này cũng như mục đích của việc trích chọn đặc trưng là tạo ra được một bộ trích chọn đặc trưng biến dữ liệu thô ban đầu thành dữ liệu phù hợp với từng mục đích khác nhau.

 Đầu vào của khối này gồm:  Dữ liệu thô (raw input) là tất cả các thông tin chúng ta biết về dữ liệu. Nếu là dữ liệu bán hàng, ta sẽ có các thông tin về sản phẩm được bán, ngày giờ bán, giá, thương hiệu… Dữ liệu thô này thường không ở dạng vector, không có số chiều như nhau. Hoặc có thể có số chiều như nhau, nhưng số chiều 8 do an quá lớn (ví dụ, ảnh màu 1000x1000 pixel), như vậy, sẽ không có lợi cho lưu trữ và tính toán.  Ngõ ra của tập dữ liệu (output of training set) (không bắt buộc): dữ liệu này thường không cần sử dụng.

Tuy nhiên, trong nhiều trường hợp, dữ liệu output của training set cũng được sử dụng để tạo ra Feature Extractor. Ví dụ: trong bài toán classification, ta không quan tâm nhiều đến việc mất thông tin hay không, ta chỉ quan tâm đến việc những thông tin còn lại có đặc trưng cho từng class hay không. Ví dụ, dữ liệu thô là các hình vuông và hình tam giác có màu đỏ và xanh. Trong bài toán phân loại đa giác, các output là tam giác và vuông, thì ta không quan tâm tới màu sắc mà chỉ quan tâm tới số cạnh của đa giác.

Ngược lại, trong bài toán phân loại màu, các class là xanh và đỏ, ta không quan tâm tới số cạnh mà chỉ quan tâm đến màu sắc thôi.  Những hiểu biết trước về dữ liệu (Prior knowledge about data) (Không bắt buộc): Đôi khi những giả thiết khác về dữ liệu cũng mang lại lợi ích. Ví dụ, trong bài toán phân loại (classification), nếu ta biết dữ liệu là (gần như) độc lập tuyến tính (linearly separable) thì ta sẽ đi tìm một ma trận chiếu sao cho ở trong không gian mới, dữ liệu vẫn đảm bảo tính linearly separable, việc này thuận tiện hơn cho phần classification vì các thuật toán linear, nhìn chung, đơn giản hơn. Sau khi xây dựng được feature extractor thì ta cũng sẽ thu được những Đặc trưng được trích chọn (extracted features) từ raw input data.

Những extracted features này được dùng để đem vào những mô hình, giải thuật ở khối tiếp theo. o Những giải thuật chính sử dụng (Main Algorithms): Ở đây tùy vào bài toán là phân loại hay hồi quy mà chúng ta sẽ có những lựa chọn giải thuật khác nhau. o Có một số lưu ý sau về giai đoạn này:  Trong một số thuật toán cao cấp hơn, việc huấn luyện feature extractor và main algorithm được thực hiện cùng lúc với nhau chứ không phải từng bước như trên. 9 do an  Đặc biệt là, khi xây dựng bộ feature extractor và main algorithms, chúng ta không được sử dụng bất kỳ thông tin nào trong tập test data.

Ta phải giả sử rằng những thông tin trong test data chưa được nhìn thấy bao giờ. - Testing phase: Bước này đơn giản hơn nhiều. Với raw input mới, ta sử dụng feature extractor đã tạo được ở trên (tất nhiên không được sử dụng output của nó vì output là cái ta đang đi tìm) để tạo ra feature vector tương ứng. Feature vector được đưa vào main algorithms đã được học ở training phase để dự đoán output.

Tiền xử lý cho dữ liệu dạng chuỗi - Túi đựng từ (Bag of Words/BoW): o Mô hình bag-of-words là một biểu diễn đơn giản hóa được sử dụng trong xử lý ngôn ngữ tự nhiên và truy xuất thông tin (Information Retrieval). Trong mô hình này, một văn bản (chẳng hạn như một câu hoặc một tài liệu) được thể hiện dưới dạng túi (bag) của các từ của nó, không quan tâm đến ngữ pháp và thậm chí trật tự từ nhưng vẫn giữ tính đa dạng. [7] Ví dụ: Ta có 2 đoạn văn như sau (1) John likes to watch movies. Mary likes movies too.

(2) John also likes to watch football games.

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

Bài viết "Mô Hình Chatbot HCMUTE: Đồ Án Xây Dựng Hiệu Quả" trình bày một mô hình chatbot được phát triển tại HCMUTE, nhấn mạnh vào quy trình xây dựng và ứng dụng của nó trong việc cải thiện trải nghiệm người dùng. Bài viết không chỉ cung cấp cái nhìn tổng quan về công nghệ chatbot mà còn chỉ ra những lợi ích mà nó mang lại, như khả năng tự động hóa giao tiếp và hỗ trợ khách hàng 24/7. Độc giả sẽ tìm thấy thông tin hữu ích về cách mà mô hình này có thể được áp dụng trong các lĩnh vực khác nhau, từ giáo dục đến dịch vụ khách hàng.

Nếu bạn muốn mở rộng kiến thức về các ứng dụng công nghệ trong lĩnh vực khoa học máy tính, hãy tham khảo bài viết Luận văn thạc sĩ khoa học máy tính hỗ trợ suy luận trong điều khiển truy xuất dữ liệu gis, nơi bạn có thể tìm hiểu về các phương pháp điều khiển dữ liệu. Ngoài ra, bài viết Luận văn thạc sĩ khoa học máy tính nghiên cứu các phương pháp trích xuất thông tin trong ảnh tài liệu và ứng dụng sẽ giúp bạn khám phá thêm về việc trích xuất thông tin từ hình ảnh, một lĩnh vực liên quan mật thiết đến công nghệ chatbot. Cuối cùng, bài viết Luận văn thạc sĩ khoa học máy tính sử dụng active learning trong việc lựa chọn dữ liệu gán nhãn cho bài toán speech recognition sẽ cung cấp cái nhìn sâu sắc về cách mà học máy có thể được áp dụng trong nhận diện giọng nói, một ứng dụng tiềm năng của chatbot.