Nghiên cứu và xây dựng chatbot hỗ trợ người dùng trong ngân hàng

Luận văn thạc sĩ VNU UET nghiên cứu và xây dựng chatbot hỗ trợ người dùng trong ngân hàng, nâng cao trải nghiệm dịch vụ tài chính.

Chuyên ngành

Kỹ thuật phần mềm

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2019

71
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN HỆ THỐNG CHATBOT

1.1. Cấu trúc các thành phần hệ thống chatbot

1.2. Hiểu ngôn ngữ tự nhiên (NLU)

1.3. Quản lý hội thoại (DM)

1.3.1. Mô hình máy trạng thái hữu hạn FSA

1.3.2. Mô hình Frame-based

1.4. Thành phần sinh ngôn ngữ (NLG)

1.4.1. Template-based NLG

1.4.2. Plan-based NLG

1.4.3. Class-based NLG

2. CHƯƠNG 2: MỘT SỐ KỸ THUẬT SỬ DỤNG TRONG CHATBOT

2.1. Kiến trúc mạng nơ ron nhân tạo

2.2. Mạng nơ ron hồi quy RNN

2.3. Mạng Long short Term Memory (LSTM)

2.3.1. Vấn đề phụ thuộc quá dài

2.3.2. Kiến trúc mạng LSTM

2.3.3. Phân tích mô hình LSTM

2.5. Ứng dụng RNN vào quản lý hội thoại

2.5.1. Mô hình word-based DST

2.5.2. Mô hình Global-Locally Self-Attentive DST (GLAD)

3. CHƯƠNG 3: XÂY DỰNG CHATBOT HỖ TRỢ NGƯỜI DÙNG LĨNH VỰC NGÂN HÀNG

3.2. Xây dựng chatbot hỗ trợ người dùng lĩnh vực ngân hàng

3.3. Ứng dụng RASA xây dựng chatbot

3.4. Xây dựng dữ liệu chatbot

3.4.1. Xây dựng ý định

3.4.2. Xây dựng entity

3.4.3. Xây dựng câu trả lời cho bot

3.4.4. Xây dựng khung kịch bản (history)

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về nghiên cứu chatbot hỗ trợ người dùng ngân hàng

Chatbot đang trở thành một công cụ quan trọng trong ngành ngân hàng, giúp cải thiện trải nghiệm khách hàng và tối ưu hóa quy trình làm việc. Nghiên cứu này sẽ đi sâu vào các thành phần cấu tạo của chatbot, từ đó làm rõ vai trò của chúng trong việc hỗ trợ người dùng. Việc áp dụng công nghệ chatbot không chỉ giúp tiết kiệm thời gian mà còn nâng cao hiệu quả giao tiếp giữa ngân hàng và khách hàng.

1.1. Khái niệm và vai trò của chatbot trong ngân hàng

Chatbot là một ứng dụng phần mềm cho phép người dùng tương tác thông qua tin nhắn. Trong ngân hàng, chatbot có thể giúp khách hàng thực hiện các giao dịch đơn giản, cung cấp thông tin về sản phẩm và dịch vụ, cũng như giải đáp thắc mắc một cách nhanh chóng.

1.2. Lợi ích của việc sử dụng chatbot trong ngân hàng

Việc sử dụng chatbot trong ngân hàng mang lại nhiều lợi ích như giảm thiểu chi phí nhân sự, tăng cường khả năng phục vụ khách hàng 24/7, và cải thiện trải nghiệm người dùng thông qua việc cung cấp thông tin nhanh chóng và chính xác.

II. Những thách thức trong việc phát triển chatbot ngân hàng

Mặc dù chatbot mang lại nhiều lợi ích, nhưng việc phát triển chúng cũng gặp phải nhiều thách thức. Các vấn đề như hiểu ngôn ngữ tự nhiên, quản lý hội thoại và bảo mật thông tin là những yếu tố cần được xem xét kỹ lưỡng.

2.1. Vấn đề hiểu ngôn ngữ tự nhiên trong chatbot

Một trong những thách thức lớn nhất là khả năng hiểu ngôn ngữ tự nhiên của chatbot. Điều này đòi hỏi các thuật toán phức tạp để phân tích và xử lý ngôn ngữ, từ đó giúp chatbot hiểu được ý định của người dùng.

2.2. Quản lý hội thoại và duy trì ngữ cảnh

Quản lý hội thoại là một yếu tố quan trọng để đảm bảo rằng chatbot có thể duy trì ngữ cảnh trong cuộc trò chuyện. Điều này giúp chatbot cung cấp câu trả lời chính xác và phù hợp với yêu cầu của người dùng.

III. Phương pháp phát triển chatbot ngân hàng hiệu quả

Để phát triển một chatbot ngân hàng hiệu quả, cần áp dụng các phương pháp và công nghệ tiên tiến. Việc sử dụng trí tuệ nhân tạo và học máy sẽ giúp chatbot ngày càng thông minh và chính xác hơn trong việc xử lý thông tin.

3.1. Sử dụng trí tuệ nhân tạo trong chatbot

Trí tuệ nhân tạo giúp chatbot có khả năng học hỏi từ các tương tác trước đó, từ đó cải thiện khả năng phản hồi và cung cấp thông tin chính xác hơn cho người dùng.

3.2. Tối ưu hóa trải nghiệm người dùng với chatbot

Tối ưu hóa trải nghiệm người dùng là một yếu tố quan trọng trong việc phát triển chatbot. Cần thiết kế giao diện thân thiện và dễ sử dụng, đồng thời đảm bảo rằng chatbot có thể xử lý các yêu cầu của người dùng một cách nhanh chóng và hiệu quả.

IV. Ứng dụng thực tiễn của chatbot trong ngân hàng

Chatbot đã được áp dụng rộng rãi trong nhiều ngân hàng, giúp cải thiện dịch vụ khách hàng và tối ưu hóa quy trình làm việc. Các ứng dụng thực tiễn này không chỉ giúp tiết kiệm thời gian mà còn nâng cao sự hài lòng của khách hàng.

4.1. Chatbot trong dịch vụ khách hàng ngân hàng

Chatbot có thể giúp khách hàng thực hiện các giao dịch như kiểm tra số dư tài khoản, chuyển tiền, và giải đáp các thắc mắc liên quan đến sản phẩm và dịch vụ ngân hàng.

4.2. Chatbot hỗ trợ tư vấn tài chính

Ngoài việc cung cấp thông tin, chatbot còn có thể hỗ trợ khách hàng trong việc tư vấn tài chính, giúp họ đưa ra quyết định đúng đắn về các sản phẩm tài chính.

V. Kết luận và tương lai của chatbot trong ngân hàng

Tương lai của chatbot trong ngân hàng hứa hẹn sẽ tiếp tục phát triển mạnh mẽ với sự hỗ trợ của công nghệ tiên tiến. Việc cải thiện khả năng hiểu ngôn ngữ tự nhiên và quản lý hội thoại sẽ giúp chatbot ngày càng trở nên thông minh và hữu ích hơn cho người dùng.

5.1. Xu hướng phát triển chatbot trong ngân hàng

Các ngân hàng sẽ tiếp tục đầu tư vào công nghệ chatbot để nâng cao trải nghiệm khách hàng và tối ưu hóa quy trình làm việc. Sự phát triển của trí tuệ nhân tạo sẽ là động lực chính cho sự tiến bộ này.

5.2. Thách thức và cơ hội trong tương lai

Mặc dù có nhiều cơ hội, nhưng các ngân hàng cũng phải đối mặt với những thách thức như bảo mật thông tin và khả năng tương tác của chatbot. Việc giải quyết những vấn đề này sẽ quyết định sự thành công của chatbot trong tương lai.

22/07/2025

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

MỞ ĐẦU: Giới thiệu và đưa ra hướng nghiên cứu bài toán chatbot CHƢƠNG I: Tổng quan hệ thống chatbot: Giới thiệu tổng quan hệ thống chatbot. Cấu tạo và nhiệm vụ các thành phần hệ thống chatbot. CHƢƠNG II: Một số kỹ thuật sử dụng trong chatbot: Hiểu và nắm được một số kỹ thuật hay thuật toán cơ bản sử dụng trong chatbot để từ đó có thể điều chỉnh phù hợp với ngôn ngữ tiếng việt, giúp chatbot xử lý thông minh hơn. CHƢƠNG III: Xây dựng chatbot lĩnh vực ngân hàng : Xây dựng ứng dụng chatbot cho ngân hàng trên nền tảng mã nguồn mở Rasa.

Đưa ra những kết luận và đánh giá, cải tiến hệ thống. KẾT LUẬN : Đưa ra những kết luận, đánh giá và định hướng nghiên cứu tiếp theo PHỤ LỤC: Danh sách các đoạn hội thoại với bot được đính kèm ở phần thử nghiệm 4 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com CHƢƠNG 1 : TỔNG QUAN HỆ THỐNG CHATBOT Chương này sẽ giới thiệu tổng quan về hệ thống chatbot, cấu trúc các thành phần và những vấn đề khi xây dựng hệ thống chatbot.1 Giới thiệu Hệ thống đối thoại người máy hay còn gọi với thuật ngữ là chatbot ChatBot là một chương trình máy tính tiến hành cuộc trò chuyện thông qua nhắn tin nhanh, nó có thể tự động trả lời những câu hỏi hoặc xử lý tình huống. Phạm vi và sự phức tạp của ChatBot được xác định bởi thuật toán của người tạo nên chúng. ChatBot thường được ứng dụng trong nhiều lĩnh vực như thương mại điện tử, dịch vụ khách hàng, y tế, tài chính ngân hàng, các dịch vụ giải trí… Chatbot có thể được chia thành 2 loại: - Hệ thống hướng mục tiêu trên một miền ứng dụng (Task-Oriented) - Hệ thống không có định hướng mục tiêu (chit-chat) Miền mở (Open Domain): Mô hình trả lời tự động trên miền mở cho phép người dùng có thể tham gia trò chuyện với một chủ đề bất kỳ, không nhất thiết phải có một mục tiêu rõ ràng hay một ý định cụ thể nào.

Các cuộc trò chuyện trên mạng xã hội như Facebook, Twitter thường là miền mở, chúng có thể đi vào tất cả các chủ đề. Số lượng các chủ đề thảo luận được đề cập đến là không giới hạn, do đó, tri thức yêu cầu được tạo ra để trả lời các câu đối thoại thuộc miền mở trở nên khó hơn. Tuy nhiên, việc thu thập trích rút dữ liệu từ miền này khá phong phú và đơn giản. Miền đóng (Close Domain): Mô hình trả lời tự động thuộc miền đóng thường tập trung vào trả lời các câu hỏi đối thoại liên quan đến một miền cụ thể, ví dụ như: Y tế, Giáo dục, Du lịch, Mua sắm,.

Trong một miền đóng cụ thể, không gian các mẫu hỏi input và output là có giới hạn, bởi vì các hệ thống này đang cố gắng để đạt được một mục tiêu rất cụ thể. Hệ thống hỗ trợ kỹ thuật (Technical Customer Support) hay tư vấn và hỗ trợ mua hàng (Shopping Assistants) là các ứng dụng thuộc miền đóng. Các hệ thống này không thể đối thoại về “Chính trị” hay “Pháp luật”, chúng chỉ cần thực hiện các nhiệm vụ cụ thể một cách hiệu quả nhất có thể. Chắc chắn, người dùng vẫn có thể hỏi đáp bất cứ gì, nhưng hệ thống không yêu cầu phải xử lý những trường hợp ngoại lệ này.

5 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Mỗi cách tiếp cận bài toán đều có hướng giải quyết khác nhau dẫn tới các kỹ thuật sử dụng khác nhau. Trong luận văn này, tôi sẽ tập trung vào giải quyết trƣờng hợp thứ nhất là bài toán hƣớng mục tiêu trên một miền ứng dụng đóng.2 Cấu trúc các thành phần hệ thống chatbot Hình 1.1: Cấu trúc các thành phần cơ bản hệ thống chatbot [12] Chatbot có 3 thành phần chính là hiểu ngôn ngữ tự nhiên (NLU), quản lý hội thoại (DM), thành phần sinh ngôn ngữ (NLG). Các thành phần nhận dạng giọng nói Speech Recognition (text to speech hay speech to text) là các thành phần tăng cường. Mỗi thành phần trong chatbot đều có vai trò riêng:  NLU: bao gồm việc xử lý ngôn ngữ tự nhiên (NLP) có nhiệm vụ xác định được ý định câu hỏi(intent classification) và trích chọn thông tin (slots filter)  DM: Quản lý hội thoại có nhiệm vụ xác định được hành động (action) tiếp theo dựa vào trạng thái hành động trước đó hay ngữ cảnh hội thoại.

Các ngữ cảnh này phải được đối chiếu trong các kịch bản dựng sẵn (history) đã đào tạo cho bot. Thành phần này cũng đảm nhiệm việc lấy dữ liệu từ hệ thống khác qua các API gọi trong action  NLG: là thành phần sinh ngôn ngữ dựa vào chính sách (policy) và hành động được xác định trong DM thông qua các tập hội thoại. NGL có thể được sinh ra 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com câu trả lời dựa vào tập mẫu câu trả lời (pre-defined template) đã đào tạo cho bot. Để rõ chi tiết luồng xử lý tin nhắn từ các thành phần chatbot ta xem mô hình 1.2: Mô hình các thành phần xử lý trong chatbot [1] 1.3 Hiểu ngôn ngữ tự nhiên (NLU) Đây có thể nói là thành phần quan trọng nhất của chatbot.

Chatbot có thông minh hay không thì đây là thành phần quyết định. Mục tiêu của thành phần này là trích xuất ra 3 thành phần thông tin từ câu nói của người dùng:  Đầu tiên là phân loại lĩnh vực (domain classification), nó có thể là lĩnh vực ngân hàng, y tế hay bảo hiểm. Nếu trong trường hợp chỉ có một lĩnh vực thì không cần thiết cho bước phân loại này.  Tiếp đến là phân loại ý định (intent classification), ví dụ như xác định được ý định tra cứu thông tin tài khoản hoặc ý định kiểm tra số dư.

 Cuối cùng là bước trích xuất thông tin (slot fillter hay entity extraction) trong câu hỏi người dùng. Ví dụ ta phải trích chọn được thông tin số tháng trong câu hỏi người dùng: “lãi xuất kỳ hạn 3 tháng là bao nhiêu”. Từ việc trích xuất được thông tin 3 tháng thì chatbot mới có cơ sở trả lời cho người dùng. 7 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com NLU xử lý tin nhắn người dùng bằng một đường ống (pipeline) nơi mà cấu hình các bước xử lý liên tiếp theo tuần tự : Phân loại tên Phân loại ý Trích chọn miền (Domain định (intent thông tin (Entity Classification) Classification) Extraction) Hình 1.3: Các bước xử lý chính trong pipeline của NLU [1] Trong đường ống này thì bạn có thể tùy chỉnh các thành phần từ bước tiền xử lý dữ liệu, mô hình hóa ngôn ngữ, các thuật toán dùng để tách từ và trích xuất thông tin thực thể… Để chi tiết các bước xử lý ta xem trong mô hình 1.4: Trong đó bước entity extraction chính là bước slot filling ở hình 1.3 Phân loại ý định trong pipelined “Lãi suất vay 12 tháng?” {intent:” interest”} Vector hóa ngôn ngữ Phân loại ý định (Vectorrization) (intent classification) Lãi suất vay Hiểu ngôn ngữ 12 tháng? tự nhiên (NLU) Trích xuất thông tin trong pipelined “Lãi suất vay 12 tháng?” {“loan”:”vay”,“term”:”12 tháng”} Thuật toán tách từ Trích xuất thông tin thực (Tokenizer) thể (entity extraction) Phân tích cú pháp Nhận dạng tên thực thể (chunker) (Name entity recognition) Gán nhãn từ loại (Part of Speech Tagger) Hình 1.4: Các bước xử lý trong NLU [2] 8 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Để phân loại được ý định câu người dùng thì ta cần mô hình hóa ngôn ngữ tức là việc biểu diễn ngôn ngữ dưới dạng vector số học cho máy có thể hiểu được (vectorization).

Phương pháp phổ biến nhất hiện tại là word embedding (nhúng từ). Tập nhúng từ là tên chung cho một tập hợp các mô hình ngôn ngữ và các phương pháp học đặc trưng trong xử lý ngôn ngữ tự nhiên (NLP), nơi các từ hoặc cụm từ từ vựng được ánh xạ tới vectơ số thực. Về mặt khái niệm, nó liên quan đến việc nhúng toán học từ một không gian với một chiều cho mỗi từ vào một không gian vectơ liên tục với kích thước thấp hơn nhiều. Một số phương pháp biểu diễn phổ biến như Word2Vec, GloVe hay mới hơn là FastText sẽ được giới thiệu trong phần sau.

Sau khi mô hình hóa ngôn ngữ bao gồm dữ liệu đầu vào training cho bot thì việc xác định ý định người dùng từ câu hỏi người dùng dựa trên tập đã training là bước phân loại ý định (intent classification) hay phân loại văn bản. Ở bước này ta có thể dùng một số kỹ thuật như: Naive Bayes, Decision Tree (Random Forest), Vector Support Machine (SVM), Convolution Neural Network (CNN), Recurrent Neural Network (RNN), Long Short-Term Memory (LSTM, Bi-LSTM). Hầu hết các chatbot hiện tại đều ứng dụng mô hình deep learning như RNN và LSTM để phân loại ý định người dùng. Bài toán thách thức lớn nhất cho các chatbot ở bước này là xác định nhiều ý định(multiple intents) trong một câu nói người dùng.

Ví dụ nếu bạn nói “xin chào, kiểm tra cho tôi số dư tài khoản” thì bot phải xác định được 2 ý định “chào hỏi” và “kiểm tra số dư” trong câu nói người dùng. Nếu bot có thể hiểu và trả lời được câu hỏi loại này sẽ giúp việc tương tác với bot trở nên tư nhiên hơn. Tiếp đến là việc trích xuất thông tin trong câu hội thoại người dùng. Các thông tin cần trích xuất thường dưới dạng số, chuỗi hoặc thời gian và chúng phải được khai báo và huấn luyện trước.

Phân tách các từ (Tokenization hay word segmention): Tách từ là một quá trình xử lý nhằm mục đích xác định ranh giới của các từ trong câu văn, cũng có thể hiểu đơn giản rằng tách từ là quá trình xác định các từ đơn, từ ghép… có trong câu. Đối với xử lý ngôn ngữ, để có thể xác định cấu trúc ngữ pháp của câu, xác định từ loại của một từ trong câu, yêu cầu nhất thiết đặt ra là phải xác định được đâu là từ trong câu. Vấn đề này tưởng chừng đơn giản với con người nhưng đối với máy tính, đây là bài toán rất khó giải quyết. Thông thường thì các ngôn ngữ phân tách các từ bởi khoảng trắng nhưng đối với ngôn ngữ tiếng việt thì có rất nhiều từ ghép và cụm từ.

Ví dụ từ ghép “tài khoản” được tạo bởi 2 từ đơn “tài” và “khoản”. Có một số thuật toán hỗ trợ giải quyết bài toán này như mô hình so khớp từ dài nhất (longest matching), so khớp cực 9 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.1 Xác định ý định ngƣời dùng Hình 1.

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