Đồ án tốt nghiệp đại học đề tài áp dụng phobert cho phân loại bình luận và xây dựng chatbot trong mua sắm quần áo trực tuyến

Đồ án kỹ thuật nghiên cứu tốt nghiệp đại học đề tài áp dụng phobert cho phân loại bình luận và xây dựng chatbot trong mua sắm, thiết kế chi tiết, tính toán kỹ thuật theo tiêu

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
81
5
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: MỘT SỐ MÔ HÌNH NLP VÀ CHATBOT

1.1. Khái niệm BERT

1.2. Phương pháp Transformer

1.3. Kiến trúc mô hình BERT

1.4. Các nhiệm vụ huấn luyện mô hình BERT

1.5. Các biến thể của BERT

1.6. Sự ra đời của PhoBERT

1.7. Khái niệm PhoBERT

1.8. Các phương pháp học sâu

1.8.1. Mạng bộ nhớ dài – ngắn (LSTM)

1.8.2. Mạng tích chập (Convolutional neural network)

1.8.3. Kỹ thuật Drop-out

1.8.4. Hàm kích hoạt (Activation functions)

1.9. Nền tảng xây dựng chatbot - Rasa

1.9.1. Tổng quan về Rasa

1.9.2. Một số khái niệm trong Rasa

2. CHƯƠNG 2: BÀI TOÁN PHÂN LOẠI BÌNH LUẬN

2.1. Phát biểu bài toán

2.2. Xây dựng mô hình phân loại

2.2.1. Các tập dữ liệu thực nghiệm

2.2.2. Dữ liệu bình luận của người dùng Shopee

2.2.3. Tiền xử lý và trực quan hóa dữ liệu

2.2.4. Xây dựng các mô hình huấn luyện

2.2.5. Đánh giá kết quả thực nghiệm

3. CHƯƠNG 3: XÂY DỰNG HỆ THỐNG CHATBOT

3.1. Giới thiệu bài toán

3.1.1. Khái niệm chatbot

3.1.2. Bài toán xây dựng chatbot cho cửa hàng quần áo

3.2. Xây dựng kịch bản

3.2.1. Xây dựng ý định (Intent)

3.2.2. Xây dựng các thực thể (Entity) và Slot

3.2.3. Xây dựng các câu trả lời

3.2.4. Xây dựng câu chuyện và các luật

3.2.5. Xây dựng các hành động của chatbot

3.3. Áp dụng PhoBERT xác định ý định của người dùng

3.4. Thử nghiệm chatbot

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về đồ án tốt nghiệp áp dụng PhoBERT trong phân loại bình luận

Đồ án tốt nghiệp này tập trung vào việc áp dụng mô hình PhoBERT để phân loại bình luận và xây dựng chatbot trong lĩnh vực mua sắm quần áo trực tuyến. Mô hình PhoBERT được phát triển nhằm cải thiện khả năng xử lý ngôn ngữ tự nhiên cho tiếng Việt, giúp nâng cao hiệu quả trong việc phân tích và hiểu các bình luận của người dùng. Việc áp dụng PhoBERT không chỉ giúp phân loại bình luận mà còn hỗ trợ trong việc xây dựng các hệ thống chatbot thông minh, phục vụ nhu cầu của khách hàng trong mua sắm trực tuyến.

1.1. Khái niệm về PhoBERT và ứng dụng trong NLP

PhoBERT là một biến thể của BERT, được tối ưu hóa cho ngôn ngữ tiếng Việt. Mô hình này được huấn luyện trên một tập dữ liệu lớn, giúp cải thiện khả năng phân loại và phân tích cảm xúc trong các bình luận của người dùng.

1.2. Tại sao cần xây dựng chatbot trong mua sắm trực tuyến

Chatbot giúp tự động hóa quy trình tương tác với khách hàng, từ việc tư vấn sản phẩm đến xử lý đơn hàng. Điều này không chỉ tiết kiệm thời gian mà còn nâng cao trải nghiệm mua sắm cho người tiêu dùng.

II. Thách thức trong việc phân loại bình luận và xây dựng chatbot

Việc phân loại bình luận và xây dựng chatbot trong mua sắm trực tuyến gặp nhiều thách thức. Một trong những vấn đề chính là sự đa dạng và phức tạp của ngôn ngữ tự nhiên. Các bình luận có thể chứa nhiều ý nghĩa khác nhau, và việc phân loại chính xác là rất quan trọng để cung cấp phản hồi đúng đắn cho người dùng. Hơn nữa, việc xây dựng chatbot cũng cần phải đảm bảo rằng nó có thể hiểu và xử lý các yêu cầu của khách hàng một cách hiệu quả.

2.1. Đặc điểm của bình luận người dùng trong mua sắm trực tuyến

Bình luận của người dùng thường mang tính chủ quan và có thể chứa nhiều yếu tố cảm xúc. Điều này làm cho việc phân loại trở nên khó khăn hơn, đòi hỏi mô hình phải có khả năng hiểu ngữ cảnh và cảm xúc.

2.2. Những khó khăn trong việc xây dựng chatbot hiệu quả

Chatbot cần phải được thiết kế để xử lý nhiều loại câu hỏi và yêu cầu khác nhau từ khách hàng. Việc này đòi hỏi một kịch bản rõ ràng và khả năng học hỏi từ các tương tác trước đó.

III. Phương pháp áp dụng PhoBERT cho phân loại bình luận

Để áp dụng PhoBERT cho việc phân loại bình luận, cần thực hiện một số bước quan trọng. Đầu tiên, dữ liệu bình luận cần được thu thập và tiền xử lý để đảm bảo chất lượng. Sau đó, mô hình PhoBERT sẽ được tinh chỉnh để phù hợp với bài toán phân loại cụ thể. Cuối cùng, kết quả phân loại sẽ được đánh giá để đảm bảo tính chính xác và hiệu quả của mô hình.

3.1. Quy trình thu thập và tiền xử lý dữ liệu

Dữ liệu bình luận sẽ được thu thập từ các nền tảng mua sắm trực tuyến và sau đó được tiền xử lý để loại bỏ các yếu tố không cần thiết, như ký tự đặc biệt và từ ngữ không liên quan.

3.2. Tinh chỉnh mô hình PhoBERT cho bài toán phân loại

Mô hình PhoBERT sẽ được tinh chỉnh bằng cách sử dụng các tập dữ liệu đã được chuẩn bị, giúp cải thiện khả năng phân loại và hiểu ngữ nghĩa của bình luận.

IV. Kết quả nghiên cứu và ứng dụng thực tiễn của chatbot

Kết quả nghiên cứu cho thấy việc áp dụng PhoBERT trong phân loại bình luận mang lại hiệu quả cao. Mô hình không chỉ cải thiện độ chính xác trong việc phân loại mà còn giúp xây dựng chatbot có khả năng tương tác tốt với khách hàng. Các ứng dụng thực tiễn của hệ thống này đã được triển khai trên nhiều nền tảng mua sắm trực tuyến, giúp nâng cao trải nghiệm người dùng.

4.1. Đánh giá hiệu quả của mô hình PhoBERT

Mô hình PhoBERT đã đạt được kết quả tốt trong các bài kiểm tra phân loại bình luận, với độ chính xác cao và khả năng xử lý ngữ nghĩa tốt.

4.2. Ứng dụng chatbot trong mua sắm quần áo trực tuyến

Chatbot được xây dựng trên nền tảng Rasa đã giúp cải thiện đáng kể quy trình mua sắm, từ việc tư vấn sản phẩm đến xử lý đơn hàng một cách nhanh chóng và hiệu quả.

V. Kết luận và hướng phát triển tương lai của đồ án

Đồ án tốt nghiệp này đã chứng minh được tính khả thi của việc áp dụng PhoBERT trong phân loại bình luận và xây dựng chatbot cho mua sắm quần áo trực tuyến. Hướng phát triển trong tương lai có thể bao gồm việc mở rộng mô hình để xử lý nhiều ngôn ngữ khác nhau và cải thiện khả năng tương tác của chatbot.

5.1. Định hướng nghiên cứu tiếp theo

Nghiên cứu có thể mở rộng sang các lĩnh vực khác như dịch máy và phân tích cảm xúc, nhằm nâng cao khả năng của mô hình.

5.2. Tương lai của chatbot trong thương mại điện tử

Chatbot sẽ ngày càng trở nên thông minh hơn, với khả năng hiểu và tương tác tự nhiên hơn với người dùng, góp phần nâng cao trải nghiệm mua sắm trực tuyến.

10/07/2025
Đồ án tốt nghiệp đại học đề tài áp dụng phobert cho phân loại bình luận và xây dựng chatbot trong mua sắm quần áo trực tuyến

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

CHƯƠNG 1: MỘT SỐ MÔ HÌNH NLP VÀ CHATBOT  Sử dụng AutoTokenizer và AutoModel từ thư viện Hugging Face Transformers để tải tokenizer và mô hình PhoBERT.  Câu văn được tokenize và chuyển đổi thành input IDs sử dụng tokenizer của PhoBERT.  Input IDs được đưa qua mô hình PhoBERT để nhận được các biểu diễn ngôn ngữ ẩn tại lớp cuối cùng.  Đầu ra của mô hình là một tensor chứa các biểu diễn ngôn ngữ cho mỗi từ trong câu.

 Lấy đặc trưng của lớp cuối cùng của mô hình và trích xuất biểu diễn của token [CLS] từ đặc trưng của toàn bộ câu.  Cuối cùng, in ra embedding của câu văn, đây là biểu diễn của toàn bộ câu dưới dạng vector. Kết quả in “cls_embedding” sẽ có kích thước là (1, 768), với 1 là số lượng câu và 768 là số chiều của biểu diễn. Mỗi phần tử trong vector này đại diện cho một đặc trưng của toàn bộ câu theo quan điểm của mô hình.

Kết quả biểu diễn nhúng câu của đoạn mã trên như sau: PhoBERT sử dụng kiến trúc Transformer cho khả năng biểu diễn sâu của ngôn ngữ. Điều này giúp nó hiểu được mối quan hệ giữa các từ trong câu và học được các đặc trưng phức tạp. Vì vậy, PhoBERT được sử dụng trong nhiều ứng dụng trong lĩnh vực xử lý ngôn ngữ tự nhiên tiếng Việt như phân loại văn bản, phân tích ý kiến, dịch máy, truy xuất thông tin, xây dựng chatbot… PhoBERT cũng cho phép người dùng dễ dàng tinh chỉnh để phù hợp với các tác vụ cụ thể. Để tinh chỉnh PhoBERT, có thể thực hiện xây dựng mô hình mới dựa trên kiến SVTH: Nguyễn Thị Diễm – D19CNPM7 10 Đồ án tốt nghiệp đại học CHƯƠNG 1: MỘT SỐ MÔ HÌNH NLP VÀ CHATBOT trúc của nó.

Thông thường, sẽ thêm một hoặc vài lớp trên cùng của PhoBERT để phù hợp với nhiệm vụ cụ thể.3 Các phương pháp học sâu Hiện nay, học sâu đã trở thành một phương pháp mạnh mẽ trong NLP, đặc biệt là khi kết hợp các kiến trúc mạng thần kinh sâu với các mô hình biểu diễn ngôn ngữ tiên tiến như PhoBERT. Quan hệ tương quan giữa PhoBERT và các mô hình mạng thần kinh sâu không chỉ là sự kết hợp cấu trúc mà còn là quá trình tối ưu hóa và tinh chỉnh tham số. Điều này giúp cải thiện khả năng hiểu ngôn ngữ và tạo ra các biểu diễn ngôn ngữ có chất lượng cao. Trong đồ án này, sẽ tìm hiểu lý thuyết cơ bản của các phương pháp học sâu để học cách tích hợp và tối ưu hóa chúng với PhoBERT.

Mạng bộ nhớ dài – ngắn (LSTM) Bộ nhớ dài-ngắn hạn hay Bộ nhớ ngắn-dài hạn (tiếng Anh: Long short-term memory, viết tắt LSTM [11]) là một mạng thần kinh tái phát (RNN - Recurrent Neural Network) được sử dụng trong lĩnh vực học sâu. LSTM là một dạng đặc biệt của RNN, nó được thiết kế để giải quyết các bài toán về phụ thuộc xa trong mạng RNN (các mạng RNN cơ bản không thể thực hiện các khả năng ghi nhớ ở khoảng cách xa, do đó những phần tử đầu tiên của chuỗi không ảnh hưởng nhiều đến kết quả tính toán) [12]. Một đơn vị LSTM thông thường bao gồm: một tế bào, một cổng vào, một cổng ra và một cổng quên. Tế bào sẽ ghi nhớ các giá trị trong khoảng thời gian bất kỳ và ba cổng sẽ điều chỉnh luồng thông tin ra vào của tế bào.

Cấu trúc LSTM giúp nó giữ lại thông tin quan trọng, loại bỏ thông tin không quan trọng, và xử lý hiệu quả các chuỗi dài trong quá trình huấn luyện mô hình [13]. Bi-LSTM (Bidirectional Long Short-Term Memory) là một loại kiến trúc mạng nơ-ron hồi quy (RNN) được thiết kế để xử lý chuỗi dữ liệu trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) và nhiều ứng dụng khác liên quan đến chuỗi thời gian. "Bi-" trong Bi- LSTM đề cập đến sự kết hợp của hai hướng: từ trái sang phải (forward) và từ phải sang trái (backward). Một Bi-LSTM có hai phần, mỗi phần là một LSTM chạy theo một hướng khác nhau.

Một phần xử lý dữ liệu từ trái sang phải và phần còn lại xử lý từ phải sang trái. Cả hai kết quả đầu ra được kết hợp để tạo ra biểu diễn cuối cùng. SVTH: Nguyễn Thị Diễm – D19CNPM7 11 Đồ án tốt nghiệp đại học CHƯƠNG 1: MỘT SỐ MÔ HÌNH NLP VÀ CHATBOT Bi-LSTM thường được sử dụng trong các ứng dụng NLP như phân loại cảm xúc, dịch máy, và tác vụ dự đoán chuỗi. Sự kết hợp của hai hướng trong Bi-LSTM giúp mô hình "nhìn" được cả hai phía của mỗi từ trong chuỗi, tạo ra một biểu diễn mạnh mẽ cho các tác vụ liên quan đến chuỗi dữ liệu.

Mạng tích chập (Convolutional neural network) Convolutional Neural Network (CNN) [14] - mạng nơ ron tích chập, là một mô hình học sâu tiên tiến và phổ biến, giúp xây dựng những hệ thống có độ chính xác cao. Mạng CNN [15] là một tập hợp các lớp Convolution (nếp cuộn ) chồng lên nhau và sử dụng các hàm kích hoạt phi tuyến tính như ReLU và tanh để kích hoạt các trọng số trong các nút. Mỗi lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo. Các lớp được liên kết được với nhau thông qua cơ chế tích chập.

Lớp tiếp theo là kết quả từ lớp trước đó, nhờ vậy mà ta có được các kết nối cục bộ. Tính kết hợp cục bộ cho các cấp độ biểu diễn thông tin từ mức độ thấp đến mức độ cao và trừu tượng thông qua tích chập từ các bộ lọc. 3: Ví dụ kiến trúc mô hình CNN [14] Với xử lý văn bản, tầng đầu tiên gồm các ma trận có kích thước n x k, biểu diễn câu có n từ, mỗi từ có k chiều. Lớp này mã hóa các từ trong câu thành vector từ.

Tầng Convolution sử dụng phép tích chập để xử lý dữ liệu bằng cách trượt cửa sổ trượt (slide windows) có kích thước cố định (còn gọi là kernel) trên ma trận dữ liệu đầu vào để có thể thu được kết quả đã được tinh chỉnh. Tầng Max-over-time pooling (Tổng hợp tối đa theo thời gian) sẽ tổng hợp các vector kết quả từ tầng Convolution và giữ lại những vector quan trọng nhất. Tầng full-connected là một neural network sử dụng những vector còn SVTH: Nguyễn Thị Diễm – D19CNPM7 12 Đồ án tốt nghiệp đại học CHƯƠNG 1: MỘT SỐ MÔ HÌNH NLP VÀ CHATBOT lại ở các lớp trên làm đầu vào để tạo ra kết quả cuối cùng thông qua quá trình huấn luyện với dropout và kết quả softmax [16]. FastText FastText [17] là thư viện để học cách nhúng từ và phân loại văn bản do phòng thí nghiệm Nghiên cứu AI (FAIR) của Facebook tạo ra.

Mô hình này cho phép người ta tạo ra một thuật toán học không giám sát hoặc học có giám sát để thu được các biểu diễn vectơ cho các từ. Một điểm mạnh của FastText là khả năng biểu diễn cả sub-words, tức là các phần nhỏ hơn của từ. Điều này giúp FastText thực hiện tốt với các từ mới, từ nằm ngoài từ điển, và các từ có các biến thể chính tả. FastText sử dụng hai kiến trúc chính là CBOW và Skip-gram.

CBOW cố gắng dự đoán từ giữa một ngữ cảnh xung quanh, trong khi Skip- gram cố gắng dự đoán các từ xung quanh từ đích. Cả hai kiến trúc này đều được FastText sử dụng để học biểu diễn từ. Dựa trên kiến trúc Bi-LSTM và nhúng từ FastText cho bài toán phân tích bình luận là một ứng dụng trong lĩnh vực xử lý ngôn ngữ tự nhiên và học máy: Đầu vào là các từ trong câu sẽ được đưa qua FastText để biểu diễn thành vectơ. Sau đó, các vectơ đi qua một tầng Bi-LSTM, giúp mô hình học được các đặc trưng phức tạp từ chuỗi.

Kết quả từ Bi-LSTM có thể được kết hợp để dự đoán cảm xúc toàn bộ câu, thường thông qua một tầng kết hợp hoặc một lớp đầu ra softmax. Kỹ thuật Drop-out Kỹ thuật Dropout là một phương pháp được sử dụng để ngăn chặn overfitting (học tủ) trong quá trình huấn luyện mô hình học máy, đặc biệt là trong các mô hình nơ-ron như mạng nơ-ron sâu. Trong quá trình huấn luyện, các nơ-ron được chọn ngẫu nhiên để bị tắt dựa trên một xác suất dropout đã được chỉ định. SVTH: Nguyễn Thị Diễm – D19CNPM7 13 Đồ án tốt nghiệp đại học CHƯƠNG 1: MỘT SỐ MÔ HÌNH NLP VÀ CHATBOT Hình 1.

4: Mô tả hoạt động của Dropout [18] Dropout thường giúp cải thiện khả năng tổng quát hóa của mô hình, đặc biệt là khi có ít dữ liệu huấn luyện. Tuy nhiên, việc sử dụng dropout quá mức có thể làm giảm hiệu suất của mô hình hoặc gây ra underfitting, do đó cần tinh chỉnh tham số dropout sao cho phù hợp với bài toán cụ thể. Hàm kích hoạt (Activation functions) ReLU (Rectified Linear Unit - Đơn vị tuyến tính được chỉnh lưu) và Softmax là hai hàm kích hoạt thường được sử dụng trong mạng nơ-ron, đặc biệt là trong các tầng của các mô hình học sâu. ReLU là một hàm kích hoạt không tuyến tính, được đặc trưng bởi công thức: f(x)=max(0,x).

Khi đầu vào x là dương, ReLU trả về giá trị x. Khi đầu vào x là âm, ReLU trả về 0. ReLU thường được sử dụng trong các tầng ẩn để giúp mô hình học các đặc trưng phức tạp. 5: Mô tả ReLU Softmax là một hàm kích hoạt thường được sử dụng trong tầng đầu ra của mạng nơ- ron cho bài toán phân loại.

Công thức hàm Softmax như sau: SVTH: Nguyễn Thị Diễm – D19CNPM7 14 Đồ án tốt nghiệp đại học CHƯƠNG 1: MỘT SỐ MÔ HÌNH NLP VÀ CHATBOT  z là vector đầu vào có K chiều (hoặc số lớp trong bài toán phân loại). 6: Mô tả của Softmax Tổng của các xác suất đầu ra của Softmax luôn bằng 1, điều này làm cho nó lý tưởng để biểu diễn xác suất. Softmax thường được sử dụng trong tầng đầu ra để chuyển đầu ra thành xác suất và thực hiện phân loại.4 Nền tảng xây dựng chatbot - Rasa 1. Tổng quan về Rasa Rasa [19] là một nền tảng mã nguồn mở được sử dụng để phát triển các ứng dụng trò chuyện và chatbot.

Nó cung cấp các công cụ và thư viện cho việc xây dựng các hệ thống trò chuyện thông minh, cho phép chatbot hiểu và tương tác tự nhiên với người dùng. Rasa cung cấp hai thành phần chính là Rasa NLU và Rasa Core để xây dựng một hệ thống chatbot hoàn chỉnh. Rasa NLU (Natural Language Understanding): Rasa NLU giúp chatbot hiểu và phân tích ngôn ngữ tự nhiên, dịch các câu truy vấn của người dùng thành các ý nghĩa và thông tin cụ thể.

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

Tài liệu này cung cấp cái nhìn tổng quan về các nghiên cứu và ứng dụng trong lĩnh vực phân tích ngôn ngữ tự nhiên, đặc biệt là trong ngữ cảnh tiếng Việt. Một trong những điểm nổi bật là việc xây dựng và đánh giá hiệu suất của các chương trình phân tích cảm xúc, điều này không chỉ giúp cải thiện khả năng hiểu ngữ nghĩa mà còn nâng cao trải nghiệm người dùng trong các ứng dụng thực tế.

Để mở rộng kiến thức của bạn, bạn có thể tham khảo thêm tài liệu Luận văn thạc sĩ khoa học máy tính xây dựng và đánh giá hiệu suất chương trình phân tích cảm xúc tiếng việt kết hợp khía cạnh bằng vietnamese treebank, nơi bạn sẽ tìm thấy những phương pháp cụ thể trong việc phân tích cảm xúc. Ngoài ra, tài liệu Xây dựng chatbot dựa trên ai techniques sẽ giúp bạn hiểu rõ hơn về cách áp dụng AI trong việc phát triển các ứng dụng tương tác. Cuối cùng, tài liệu Luận văn các vấn đề xử lý tiếng việt để nâng cao hiệu năng của công cụ tìm kiếm sẽ cung cấp cái nhìn sâu sắc về các thách thức và giải pháp trong việc xử lý ngôn ngữ tự nhiên, đặc biệt là trong lĩnh vực tìm kiếm thông tin.

Những tài liệu này không chỉ mở rộng kiến thức của bạn mà còn cung cấp những góc nhìn đa dạng về các ứng dụng của công nghệ ngôn ngữ trong thực tiễn.